Understanding Infrastructure Edge Computing. Alex Marcham
Чтение книги онлайн.
Читать онлайн книгу Understanding Infrastructure Edge Computing - Alex Marcham страница 18
Another approach is resource reservation. This approach aims to reserve a specific path through the network for data in transit. Although this approach may seem preferable (and is in some cases), historically it has been challenging to implement as the act of resource reservation across a network requires additional state to be maintained for each traffic flow at each network endpoint in the path from source to destination to ensure that the resource allocation is operating as expected. In cases where the entire network path between the source and destination is under the control of a single network operator, this methodology is more likely to be successful; a resource reservation scheme is easier to implement in this case as the network operator can be aware of all of the resources that are available on the path, compared to a path which involves multiple network operators who may not provide that level of transparency or may not wish to allocate available resources to the traffic.
Both of these approaches seek to achieve best path routing, where traffic is sent from its source to its destination using the combination of network endpoints and links, which results in the optimal balance of resource usage, cost, and performance. If both approaches have the same aim, why are there two approaches to begin with? First, the definition of what would make a particular path from source to destination the best path is not always as simple as the lowest number of hops or using the lowest latency links in the network; once factors such as cost are introduced, business logic and related considerations begin to influence the routing process, which is where resource reservation becomes more favourable in many cases. Second, there is a trade‐off between the ability of a single system which oversees the network to identify and reserve specific paths in a manner that provides enhanced functionality or performance compared to a hop‐by‐hop routing approach. Across a large network such as the internet, it is not uncommon for traffic to pass through a number of networks, many of which use hop‐by‐hop routing alongside others which use resource reservation internally.
One consideration is when a router receives traffic for which it does not know a specific route on which to send the traffic to reach its destination. In this case, a router will typically have a default route configured. This is a catch‐all route for destination networks that the router is unaware of, which often directs the traffic back to another router within the network in the hope that a route will be found for the traffic. The alternative is for the traffic to be dropped and a message be sent back to the source of the traffic indicating this. Should a situation arise where two routers are each other’s default route, traffic will not bounce between them forever; both IPv4 and IPv6 feature a time to live (TTL) field in their packet headers, which will result in the traffic being discarded if it becomes stuck in such a routing loop for a considerable period of time, protecting the network against unnecessary congestion caused by routing misconfiguration or any temporary conditions.
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