Название | Understanding Infrastructure Edge Computing |
---|---|
Автор произведения | Alex Marcham |
Жанр | Программы |
Серия | |
Издательство | Программы |
Год выпуска | 0 |
isbn | 9781119763253 |
3.6.2 Routing Protocols
The majority of network and internet routing is performed by using the hop‐by‐hop approach today. As this approach relies on each router using its own knowledge of the network in order to make any routing decisions, it stands to reason that each router must have a means by which to generate its own map of the network so that it can make the optimal routing decision for a given piece of data. Routing protocols are used to allow a router to generate this network map. Using a routing protocol, routers exchange information between themselves across the network including the state of their local links and the locations of any IP address ranges that they are aware of. These pieces of data, combined with cost metrics and best path calculations which the particular routing protocol in use provides, are then used by each router to generate its own picture of what the network looks like from its perspective. When each router in the network has generated this picture or map of what the network looks like, hop‐by‐hop routing can be performed with each router using this map to route data to its destination according to the best route of which it is aware using this information.
Routing protocols can be organised into two categories: Interior Gateway Protocols (IGPs), as well as Exterior Gateway Protocols (EGPs). The former is concerned with routing data in transit across the network using layer 3 information within a single network. In this context, a network is defined as the administrative domain of a single network operator, even if the networks within that domain consist of multiple segments of layer 3 devices. In comparison, EGP protocols provide the means to route data between the networks of different network operators. Whether a network is internal or external is typically not a major technical distinction; rather it is one of administration, as each of the network operators agree to establish what is referred to as a peering between their networks by means of their EGP of choice to route data between them. This is the combination of an agreement at the business level between two network operators to accept traffic from and send traffic to each other’s networks as peers, as well as the establishment of a peering session using their agreed EGP.
Routing traffic through a network to its destination relies on an effective way of calculating the best path to that destination. There are many ways of determining what that best path is and which set of metrics should be used to characterise the desirability of each endpoint to endpoint connection which, combined, creates the network as a whole. Early examples of IGP protocols such as Routing Information Protocol (RIP) used a simple metric of hop count to determine the best path for traffic from its source to its destination. In this context, a hop was defined as a layer 3 endpoint, and the lower the number of hops on a network path, the faster it was assumed the path would be. In reality this simplistic metric does not capture the details of the network such as link speed, the use at that time of the links between endpoints, available endpoint routing capability, or other factors.
These limitations led the early routing protocols such as RIP to provide suboptimal routing decisions. This issue spurred the development of routing protocols which used more sophisticated measures of understanding the status of each link in the network and calculating the optimal path from source to destination for traffic. Edsger W. Dijkstra created the Shortest Path First (SPF) algorithm in 1956 [2]. This algorithm rapidly finds the shortest path between two given nodes in a graph, and its use in communications networks was studied since shortly after its inception to improve their efficiency.
Two examples of commonly used modern IGPs are Open Shortest Path First (OSPF) and Intermediate System to Intermediate System (IS‐IS). Both of these protocols are used today on large‐scale internal networks, and both use the SPF algorithm. The choice of which specific IGP to use on a network is a decision to be made based on the individual requirements of the specific network, which draws on a wide range of criteria that will not be fully described in this book; but for large‐scale internal networks IS‐IS is often preferred over OSPF. Regardless, both of these protocols perform the same function in the network and allow efficient routing to be performed that takes into account a more realistic and detailed view of the network topology than other preceding protocols were capable of, such as RIP.
As has been previously described, the internet is a network of networks and so as traffic is routed to its destination, it is likely to cross several different networks, each of which are operated by different entities. While an IGP provides the internal network of one of these network operator entities with information on the topology of the network, when the traffic must egress to an external network, an EGP is required. Much like how an IGP uses information from each router on an internal network to create a topological view of the network, such as the status of each router’s interfaces and the many subnetworks that each router may be connected to, an EGP allows a router in one network to inform a router in another network of the destinations that are reachable through that network and various characteristics of paths that it can provide to peer networks to deliver traffic to those destinations.
Without an EGP, each internal network along the multi‐network path between the source and the destination of a particular traffic flow would be flying blind. An EGP provides each network with an understanding of the paths available to it through external networks. With this information, each network can make an informed decision on which path to send traffic, optimising for performance, cost, additional services, or any key preference that the network operator has due to business need.
The most common EGP in use is the Border Gateway Protocol (BGP). The BGP was originally introduced to the internet in 1994 and has seen several iterations over time, resulting in the current version (Border Gateway Protocol version 4 (BGP4)), which forms the underpinning of the global IPv4 and IPv6 routing system the internet relies on to function. Although considerably older than many of the users of the internet today, BGP has proven to be a scalable protocol and a large part of the ongoing success of the modern internet.
One of the key aspects of BGP is its routing table. Although all routing protocols maintain a routing table of some type, which is a store of known destination networks and the metrics of the various paths which can be used to reach them that are known to that network endpoint, BGP is unique in that as it is the dominant EGP in use today, the size of the total routing table is orders of magnitude larger than that encountered by instances of IGPs, even compared to very large internal networks. Separate routing tables are maintained for IPv4 and IPv6, despite BGP being used for both protocols.
This is typically not an issue but has in some cases resulted in the BGP routing table exhausting the memory resources available in some routers. One technique to address this is route summarisation, where many more specific routes can be addressed as a single summary route, similar to how in a library all book titles starting with E can be used to represent all the books starting with Ea, Ex, or Es. During this section, the term subnetwork is used; this refers to a specific range of routable address space, such as books starting with Ex, to continue our library example, rather than everything titled E.
Another key concept in BGP is that of the autonomous system (AS). Each AS represents a single and unique administrative network domain that is owned and operated by a specific network operator, distinct from any other network domain. An AS is identified by a unique number which is assigned to it and which is used to differentiate one AS from another. Interoperation between networks using BGP uses these AS numbers for exactly that purpose, and people who spend a lot of time arranging internetwork connectivity will typically refer to external networks by their BGP AS numbers as well.
As BGP is used to route traffic between networks that are under the control of different operators, the protocol includes a set of capabilities to route traffic based not only