This lecture notes by Hari Balakrishnan and Nick Feamster entitled “Interdomain Internet Routing” is about the Internet's routing process and architecture. The author tried to explain the concept that even non computer science (or computer science related) people can understand it. In this blog entry I will only briefly summarize and cite important details on the different topics on the paper.
The Internet is composed of different Autonomous Systems, or AS, which are connected by routers to exchange information. These ASs are controlled by Internet Service Providers, or ISP (ISPs are the one that provide us internet services!), or by large corporations. The Routing protocols within an AS are called Interior Gateway Protocols while the routing between ASs are controlled by the Border Gateway Protocol. BGP is created to provide reachability announcements of an AS (AS<-->AS reachability). BGP can also have its own routing policy in choosing the optimal or best route. A provider gives internet connectivity to a customer, and the customer pays the transit cost (transit is the provider->customer relationship. A provider can be an ISP or a university while the customers are the home users or other small ISPs). But a customer does not need to pay transit cost to two providers if the customer needs the services of the two providers. Instead, the two providers can negotiate to each other for exchange of traffic to allow the customer to access the services of the other provider for free. This is called peering (peering between two providers).
The BGP protocol runs on top of TCP protocol and is usually a router-to-router connection. It operates by first establishing a TCP connection on the BGP port. After that a router can now send update messages which is either announcements (add/modify new routes) or withdrawals (delete routes). An announcement update is constructed by an IP prefix plus an attribute. The attribute is primarily used for route selection. The router also sends keep-alive or heartbeat messages to maintain the BGP connection.
BGP uses attributes to decide in which route to select (AS<-->AS routing). I will only show the top 3 attributes used for route preference. One is the local preference attribute. It used to prefer directly an exit point from the local AS for a specific route, and is the top priority in route preference. Another is ASPATH attribute. Before an announcement from an AS source leaves the AS to search the best route, it appends an ASPATH code from the AS it left behind to its ASPATH. Through this the optimal route is the announcement with the shortest ASPATH. Last is the MED attribute or the Multi-Exit Discriminator. MED is used by an AS (eg. Customer AS) to suggest another AS (eg. Provider AS) what route to select usually in order to the (customer) to cut cost.
PS(The blogger hopes to add pictures so the readers could fully understand what the blogger is writing LOL)
No comments:
Post a Comment