What is Internet routing?

Source: Internet
Author: User

Route Overview

The routing process can be outlined to find the path to each possible destination for a node. The route appears in each layer from the first layer to the seventh layer. The routes that people are familiar with appear on the layer 3 (Network Layer). Therefore, we only discuss the Layer 3 IP routing.

The protocols used to exchange route information are connected to many vrouters in the world. Although these routers are not similar, they can still provide their common network views through the route table. The route table stores all necessary information for the router to reach any destination of the network.

Routing Protocol

Various routing protocols are used to enter route tables in the network. Protocols such as BGP, OSPF, RIP, and ISIS can be transmitted to all routers in a correct and consistent network view.

The routing protocol wants to achieve the target

You can imagine that if every vro stores the information required for each target point that can be reached from its nodes, it is likely that the vro will accumulate a huge route table. Because of the physical (cpu, memory) limitations, it is difficult for a router to handle a large route table sometimes. Therefore, we need to minimize the route table without affecting the ability to reach each destination. For example, if a vro connects to another vro1 and a DS1 link to the Internet, the vro can store the information of all nodes on the Internet, or it can store non-local information outside the DS1 serial link. That is to say, the router does not store any information about the non-local network destination to be searched for by the Data "package" in its routing table, but sends these "packets" to the router at the other end of the serial link, this router provides necessary information. In this example, the router at the other end of the serial DS1 link is called "Gateway of Last Resort ". This simple trick can save 30 orders of magnitude for the route table. There is no need to exchange route information between routers too frequently. Generally, the mixer in the route table puts a lot of unnecessary pressure on the poor memory and CPU that any router can provide. Information replication should not affect router forwarding. Although it is not necessary to refresh the route table every millisecond, the route table cannot be refreshed every week. An important goal of a route is to provide a route table for the host to accurately reflect the current network status.

The most important operation of a router is to send the received packets to the correct path. Unrouted packets may cause data loss. The inconsistency of the route table will cause the routing loop and send a packet cyclically between two adjacent interfaces.

It is hoped that all routers will have fast convergence. Convergence can be informal defined as the unit of measuring the speed at which all routers obtain a consistent network view. People want a very small convergence time, because every router on the network can accurately reflect the current network topology even if the network topology (that is, the network view) is seriously changed. When the network topology is changed, each vro must transmit data to help other vrouters converge to the correct network view. However, there is also a problem of fast convergence when refreshing the route table. If a link is rapidly vibrating (disconnected and closed later), it will generate a large number of installation and Revocation requests. This link will eventually consume the resources of each vro on the network, because other vrouters are forced to quickly install or cancel the route. Therefore, even if fast convergence is the goal of the routing protocol, it is not a panacea for all network problems.

Distance Vector Routing

The Distance Vector Routing Protocol distributes a list of records in the form of <target, overhead> to all neighbors of the router. These records assign the overhead value to each non-current node in the network. It is worth noting that this information is only distributed to the neighbor router of the source router. The neighboring routers here are often physical, but they also apply to logical conditions in eBGP. Overhead refers to the total link overhead from the source router to the target node. The source router regularly refresh its distance vector record and distribute the record to its neighboring routers. The neighboring router compares the received records with the existing ones. If the previous overhead is small, the router sends the output records along the path indicated by the distance vector records received in the past.

Many distance vectors will encounter an infinite number in actual use. For example, assume that all links have an overhead unit and each pair of adjacent nodes corresponds to one unit. If vrox X is connected to vroy Y and vroy Y is connected to vroz1 Z1, we will find the problem of infinity. Y knows that Z has 1 unit overhead and X knows that Z has 2 units overhead. If the link YZ is disabled, the overhead of this link becomes infinite (2 ). Now Y knows that the overhead to Z is infinite, and it sends this distance vector route to X. Assume that X is sent to Y at this time, and a Distance Vector Route claims that it has two units of overhead to reach Z. Now Y will think that it can reach Z through X, and it will send to X a refreshed Distance Vector Route claiming that its overhead to Z is three units (as shown in figure 3 ). Note that X does not think that the Distance Vector Route sent by Y is calculated by the Distance Vector Route sent to Y. This is a serious defect of distance vector routing. They do not contain information about routing barriers in their unimproved structure. As shown in the preceding example, the router will constantly change the path to Z. The routers X and Y will always exchange the path information about the Z router or wait until the value of the overhead unit reaches a predefined infinity value (for example, 15 In RIP ).

X--------------------Y--------------------Z

Y: 1 X: 1 X: 2
Z: 2 Z: 1 Y: 1

[Figure 1]

X--------------------Y -------- ** --------- Z

Y: 1 <------------- Z: infinity
Z: 2 -------------> X: 1

[Figure 2]

X--------------------Y -------- ** --------- Z

Z: infinity (from Y)-> X: 1
Y: 1 <------------- Z: 3

[Figure 3]

Path vector routing can solve the problem of infinity. Each distance vector also includes its path (4 ). If the router receives a path vector containing its own refresh record, the router will not refresh the record (5 ). The Border Gateway Protocol uses The above method to solve The infinite problem. Obviously, if you want the route table to contain the AS (Autonomous Systems on the internet) path information transmitted by the router, you must add more information to the route table. Therefore, the designers of BGP decide to sacrifice the storage space and processing capability that the router can afford.

X--------------------Y--------------------Z

Y: 1 (Y) X: 1 (X) X: 2 (YX)
Z: 2 (YZ) Z: 1 (Z) Y: 1 (Y)

[Figure 4]

X--------------------Y -------- ** --------- Z

Y: 1 (Y) X: 1 (X)
Z: 2 (y z) Z: infinity

[Figure 5]

Another solution to the infinite problem is the separation scope. The main idea is that if the neighboring router is on the second node in the path to the destination, the router will not broadcast the path to the neighboring router. The solution can be illustrated in the previous example. Because the path to Z is from X through Y to Z, and Y is a neighboring router of X, this path is not broadcast when X is broadcast.

Link Status Routing

When a router uses a link-state route, it will distribute it to all other routers on the network to its neighboring routers. Therefore, each vro can generate a route table without having to know the overhead from a source node to the target node. Loop issues do not occur, because each router has the entire network topology. The main idea is that a vro generates three records containing the overhead of the source router (itself), the adjacent router, and the route to the adjacent router. Therefore, if router A connects to router B through A link with A 3 overhead and router A connects to router C through A link with A 5 overhead, then, the router broadcasts the link status packets (LSPs) and to all routers on the network. Each router can calculate a shortest path to the target node from the received LSPs.

Obviously, LSP is an integral part of the convergence process. If an error LSP is added to the network. This will cause incorrect routing information (which may Route packets along a longer path than the original one) and even cause a routing black hole. If vroc C broadcasts a route entry to another vro, but when the link is disconnected, vroc C withdraws the broadcast. Unfortunately, the second LSP is first served and the first LSP is first served. At this time, the route tables of other routers cannot correctly reflect the network topology, but can only wait until another correct LSP comes.

To solve this problem, the LSP introduces a sequence code. Therefore, all vrouters on the network initialize their serial codes with some values as the starting values, and then broadcast their LSP. This solves the problem just now.

When sequence code is used, the space of sequence code is limited. All the serial codes available for LSPs are set to a limited value. Therefore, when the sequence code reaches the maximum value, it must start from the minimum value. This makes it difficult for the router to compare the current records and refresh records of the link status, because priority is given to the large serial codes. To solve this problem, you can define a maximum aging time for LSP. That is to say, if the router does not receive a refresh record within X, it will discard the existing record and wait for the record to be updated. Note that the path to the destination must be invalid. For example, when vroy Y is disconnected from a local network, vroy Y broadcasts the link information to Vroz Z, at this time, the routers in the local network still think that they can still reach Z. If they do not receive refresh records within the maximum aging time, they will assume that the link to Y is no longer reachable. In this way, the route tables of all vrouters will be consistent, and vrouters Y and Z can also use limited serial codes.

The initialization of the sequence code is another important aspect of this issue. Assume that vroy Y is restarted, and the network begins to recalculate the path again. When the Link Status Protocol of the router starts to work, it must know the value of the serial code for re-initializing it to make it consistent with other routers. Therefore, it broadcasts the path information with a special initialization set. This record tells other routers that they need the serial code and other routers will tell them.

[1]

Article entry: csh responsible editor: csh

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.