It may be 24 years old, but that doesn't mean the concepts have changed much. After you read those, you could read about AS Path Prepending (you need to know why people do it so that you can decide not to do it):
UOregon's Network Startup Resource Center (NSRC) has a good series of video tutorials on BGP / routing:
> The Network Startup Resource Center (NSRC) is a non-profit group that helps develop Internet infrastructure and network engineering expertise throughout the Asia-Pacific region, Africa, Latin America/Caribbean, and the Middle East. NSRC collaborates with network operator groups, universities, and government agencies to provide engineering assistance, training, and equipment to improve Internet access and services.
Unfortunately, this article seems quite incorrect. It makes it look like iBGP and eBGP are different protocols while they are the same with a slightly different set of rules. Notably, prefixes exchanged by iBGP definitely have an AS path (which can be empty, but usually it is not as most of the routes come from outside the AS). This is not the only error. The definition for iBGP/eBGP is incorrect too: iBGP let's two routers in the same AS exchange routes, while eBGP does the same for two routers in different AS.
Totally agree that the iBGP vs eBGP thing is very confusing, even in some vendor documentation there are some assumptions on what an internal vs external session should do instead of leaving it up to the user to decide how to operate. I get that this is probably for simplicity but it would be nice to give the user the full flexibility of the protocol.
If you're thinking of the restriction that prevents the forwarding of routes in one iBGP connection and out another, I think that's a requirement of the standard rather than something vendors have imposed. Because iBGP hops don't prepend anything to the AS path, there would be no mechanism to prevent routing loops if multi-hop iBGP route forwarding were enabled. (I'm just a CCNP sprog, not an expert.)
The pseudo formal notation says “look but don’t touch” when an actual example of the advertisement or message would clarify things. Additionally, providing context on BGP with respect to other routing protocols would be useful
I’ll never forget back in the day when we had terrible problems with setting up routing to multiple providers and with a single call to some guy a thousand miles away he SSH’ed into our router and spent the most amazing next 30 minutes setting everything to right.
25 years later, I consider any expert with BGP - like a magical wizard.
BGP is called the swiss army knife of networking for a reason.
I have used it for so many aspects of different solutions, from things to distributed load balancing without actual load balancers to ddos mitigation to building redundant networks.
bgp is complex but for good reason, it can be used to solve issue no other routing protocol is able to.
Multihoming with and without BGP http://freedman.net/bw/may97.html
and then http://freedman.net/bw/jun97.html
and then
Ethel The Aardvark Goes BGP Routing http://freedman.net/bw/jul97.html
It may be 24 years old, but that doesn't mean the concepts have changed much. After you read those, you could read about AS Path Prepending (you need to know why people do it so that you can decide not to do it):
https://blog.apnic.net/2019/10/25/as-prepending-in-bgp/
and why you should register your routes at
https://www.radb.net/
and why you should both sign your announcements and validate inbound:
https://blog.cloudflare.com/rpki-details/