IS-IS LSP flooding synchronization process

Overview:

IS-IS implements the link state synchronization process by flooding LSPs. How to ensure the reliability of the flooding process and the integrity of the LSP requires the assistance of SNP packets. It is divided into two categories:

  1. CSNP (Complete Sequence Number Packet: Complete Sequence Number Packet).
  2. PSNP (Partial Sequence Number Packet: Partial Sequence Number Packet).

The message format of CSNP and PSNP is the same, and both carry the summary information of the LSP. The difference is that the CSNP message carries the summary information of all LSPs in the link state database of the current router, similar to OSPF's DD (database description) message; while the PSNP message carries the summary of some LSPs in the database. information. This summary includes the LSP ID, sequence number, checksum, and remaining lifetime.

Because the link state database has LI type and L2 type, so CSNP and PSNP two kinds of messages also have L1 type and L2 type. Under the broadcast link: L1 is sent to the multicast address 01-80-C2-00-00-14, and L2 is sent to the multicast address 01-80-C2-00-00-15. And in the broadcast network and P2P network, there is this difference in the use of these two types of messages.

The message format analysis is as follows:
https://blog.csdn.net/tushanpeipei/article/details/112557014

Flooding mechanism:

Mechanism overview:
As a link state routing protocol, IS-IS is the same as OSPF. Before learning and calculating routes, routers in the area must first exchange link state information, and finally the link state databases of all routers reach a consistent state , This is like every router has the same network topology. Then, each router uses its own SPF algorithm to calculate the optimal route to any other network in the area.

After the router generates an LSP, it is scattered from all interfaces running IS-IS. After receiving the LSP from an interface, other routers in the area load a copy of this LSP into the L1 or L2 database. Then, this LSP will continue to be diffused from all other interfaces running IS-IS.

All routers in the IS-IS routing domain will generate LSPs. The following events will trigger a new LSP:

  1. Neighbor Up or Down
  2. IS-IS related interface Up or Down
  3. The imported IP route changes
  4. IP routing between areas changes
  5. The interface is assigned a new metric value
  6. Periodic update

When the router receives an LSP, the processing flow is as follows:

  1. The IS-IS router receives the LSP and searches for the corresponding record in the database. If there is no such LSP, add it to the database and multicast the content of the new database.
  2. If the serial number of the received LSP is greater than the serial number of the local LSP, it will be replaced with a new message and the new database content will be multicast; if the serial number of the received LSP is less than the serial number of the local LSP, the local LSP will be sent to the incoming interface Message.
  3. If the two serial numbers are equal, compare the Remaining Lifetime. If the Remaining Lifetime of the received LSP is less than the Remaining Lifetime of the local LSP, it will be replaced with a new message and the new database content will be multicast; if the Remaining Lifetime of the received LSP is greater than the Remaining Lifetime of the local LSP, it will be sent to the incoming interface Local LSP packets.
  4. If the two serial numbers and Remaining Lifetime are equal, compare Checksum. If the Checksum of the received LSP is greater than the Checksum of the local LSP, it will be replaced with a new message and the new database content will be multicast; if the Checksum of the received LSP is less than the Checksum of the local LSP, the local LSP message will be sent to the ingress interface .
  5. If the two sequence numbers, Remaining Lifetime and Checksum are all equal, the message is not forwarded.

Note the difference with OSPF.

SRM and SSN signs:
SRM and SSN signs play an important role in the flooding process of link state information. The SRM flag is used to track the status of the router sending LSPs from an interface to neighbors. In the broadcast network, the SSN mark is used to track the complete LSP status from neighbors; in the point-to-point network, the SSN mark is used to track the confirmation status of the LSP.

The SRM and SSN flags can help routers send LSP and PSNP in a more optimized manner, thereby reducing bandwidth and CPU overhead, and improving link state database synchronization. Detailed information will be introduced in the content of the database synchronization of the broadcast network and the point-to-point network respectively.

Timer:
IS-IS protocol uses multiple timers in the process of link state information flooding. Some of these timers are used to control the interval of LSP refresh, and some are used to limit the frequency of LSP generation. In an unstable network, these timers ensure that LSP flooding will not cause excessive network resource overhead, and also provide a way to ensure the integrity of the database. This section will explain the use of these timers. And the configuration commands in the Huawei VRP system.

  1. Maximum survival time
    • The maximum survival time refers to the longest time that an LSP can experience from the birth of "life" to "death in old age". The maximum survival time of an LSP defined by IS010589 is 1200s. The "Yang Life" of an LSP decreases downward from the maximum survival time. When the "Yang Life" of an LSP is equal to 0, it is removed from the database. In the Huawei VRP system, the remaining survival time is used to identify the "positive life" of an LSP. Under normal circumstances, the originating router of an LSP will periodically update its LSP (LSP update time is described below). After the router receives the new LSP, it replaces the old LSP and resets the remaining lifetime of the LSP to the maximum survival time. time. If the remaining lifetime of the LSP is reduced to 0 and the source router has not yet been refreshed, the LSP will be cleared. The router will wait before clearing it-a "Zero Age Life Time" (Zero Age Life Time), which is defined by ISO 10589 as 60s.
    • Under normal circumstances, it is not recommended to modify the default maximum lifetime of LSPs, because the maximum lifetime of LSPs used by routers in the network must be the same. If the router receives an LSP, the residual lifetime is greater than the local maximum lifetime. Then it will be considered that the LSP has been destroyed and discarded, thereby affecting the stability of the network.

  2. LSP refresh interval The
    LSP originating router will regenerate a new instance of the LSP at regular intervals before the "positive life" of the LSP is exhausted (before the remaining lifetime of the LSP is reduced to 0). This interval is 900s by default. Periodic refresh is beneficial to the integrity of the link state database of all routers in the network. The Huawei VRP system uses timer lsp-refresh to modify the LSP refresh interval. Properly setting the refresh interval to be larger can reduce the consumption of network resources, but does not use network convergence.

  3. LSP Continuous Generation Interval The
    LSP continuous generation interval refers to the time interval for the router to continuously generate two LSPs. In some unstable networks, you can set the LSP generation interval to be larger. For example, if a link in the network continues to roll, it will cause the router to continuously generate new LSPs, which will cause the SPF process of other routers in the network. Frequent routing calculations increase the CPU overhead. In order to avoid the impact of frequent LSP generation on the network, there is a minimum interval limit for LSP generation, that is, the same LSP is not allowed to be generated repeatedly within the minimum interval. Generally, the default minimum interval is Ss. After this restriction is made , The route convergence speed is greatly affected. In IS-IS, when local routing information changes, routers need to generate new LSPs to advertise these changes. When local routing information changes frequently, generating a new LSP immediately will consume a lot of system resources. On the other hand, if the delay time for LSP generation is too long, changes in local routing information cannot be notified to neighbors in time, resulting in slower network convergence. You can use the timerlsp-generation command to set the delay time for generating LSPs (these LSPs have the same LSP ID).

  4. LSP transmission interval The
    LSP transmission interval refers to the interval between consecutive transmission of two LSPs. By default, the minimum interval for sending LSPs on the interface is 50ms. If the resources of the neighboring router are limited, and other routers can not confirm it on time after passing an LSP to it, other routers will retransmit the LSP, which may worsen the situation. In order to protect such neighbors, the LSP transmission interval must be set bigger.

  5. CSNP sending interval
    In the broadcast network, in order to maintain the integrity of the link state database, DIS sends CSNP periodically, the default interval is 10s. Huawei VRP system can modify the default value through the interface command isis timer csnp. Setting this value to a small value is conducive to rapid network convergence, but at the same time increases bandwidth overhead. If a network is relatively stable, you can increase this value appropriately to reduce bandwidth overhead.

The above timers provide some methods to optimize and control the flooding of link state information. In general, it is not recommended to modify the default values ​​of these timers unless the corresponding results can be predicted after the modification. If the network is large, the way to speed up the convergence is to upgrade the router. In addition, during network planning, high availability of the network must be ensured.

LSDB synchronization process under the broadcast link:

Overview:

In the broadcast network, the router first floods its own LSP after the adjacency is initialized. The LSP of L1 is sent to the multicast address 01-80-C2-00-00-14 (L1 IS), and the LSP of L2 is sent to the multicast Address 01-80-C2-00-00-15 (L2 IS). After other L1 or L2 neighbors receive the LSP, they do not need to confirm. Therefore, in the broadcast network, LSP flooding is unreliable. In this case, for the originating router of the LSP, how to ensure that all neighbors have received its own LSP? IS-IS protocol uses DIS to periodically send CSNP to ensure the synchronization of the link state database in the broadcast network.

One of the functions of DIS is that the IS-IS protocol is used to control the flooding and synchronization of database information in the broadcast network. In the broadcast network, routers have established adjacency relations with DIS (of course, all routers have established adjacency relations), which means that the database of DIS has database information of all other routers. Based on this premise, DIS uses a Or multiple CSNPs describe their entire link state database information, and then periodically (every 10 seconds) spread to the network.

The reason why PSNP packets are not used for confirmation under the broadcast link is that the broadcast link is more complicated than the P2P environment. If there are multiple neighbors in a network, the PSNP packet flooded by multicast will affect the entire link bandwidth and other factors. Neighbors make an impact.

After receiving the CSNP of DIS, other routers compare with the content in their own database. After the comparison, they will find that they have missing or newer LSPs, and then send PSNP to request the corresponding LSP.

After receiving the request, the DIS in the network or the neighbor with this LSP will respond to the corresponding LSP. On the broadcast link, an SRM flag is set on the interface before sending the LSP, and the flag is cleared immediately after sending the LSP. If the router checks the content of the CSNP sent by the DIS and finds that it has LSPs in its database but the DIS does not or the DIS has older, then it will actively flood its own LSPs. Through the above process, it is ensured that the databases of all routers in the broadcast network are consistent. There may be multiple routers in a broadcast network. During the synchronization of the link state database, if each received LSP needs to be confirmed, the sending router needs to track the reception of all other neighbors. Make the whole process more complicated. Although the periodic flooding of CSNP by DIS will bring a certain bandwidth overhead, this method is relatively simple.

Specific steps:
Insert picture description here

  1. As shown in the figure above, the newly joined router RouterC first sends a Hello message to establish a neighbor relationship with routers in the broadcast domain.
  2. After establishing a neighbor relationship, Router C waits for the LSP refresh timer to expire, and then sends its LSP to the multicast address (Level-1: 01-80-C2-00-00-14; Level-2: 01-80-C2- 00-00-15). In this way, all neighbors on the network will receive the LSP.
  3. The DIS in this network segment will add the LSP received from RouterC to the LSDB, and wait for the CSNP packet timer to expire and send CSNP packets to synchronize the LSDB in the network. When other neighbors receive the LSP from RouterC, they will directly discard it, because in the broadcast environment, routers in the area can only interact with the DIS.
  4. RouterC receives the CSNP packet from DIS, compares its own LSDB database, and finds that there are many LSPs that are not available in the local database, so it sends a PSNP packet to DIS to request LSPs that it does not have.
  5. After receiving the PSNP packet request, the DIS sends the corresponding LSP to RouterC to synchronize the LSDB.

LSDB synchronization process under P2P link:

Overview:

Unlike the broadcast network, the IS-IS protocol needs to be confirmed after receiving the neighbor's LSP during the database synchronization process in the P2P network (reliable way). Because on the P2P link, each router has only one neighbor, it is confirmed that it will not bring too much resource overhead.

In a P2P network, when two routers establish an adjacency, they first exchange CSNP. As described in the previous article, the router determines the missing LSPs in the local database by comparing the content of the received CSNP, and compares the old and new LSPs in its own database and the neighbor database according to the old and new comparison rules of the LSP introduced above; for missing or outdated If the router finds that the neighbor router is missing or has an older LSP, it will actively send the LSP
to the neighbor.

If the sent LSP is not confirmed by the neighbor's PSNP, after the retransmission interval expires, the router will retransmit the previous LSP until it receives the neighbor's PSNP confirmation. After receiving an LSP on the P2P link, an SSN flag will be set on the interface to indicate the need to send a PSNP confirmation to the interface. After receiving the confirmation, the SSN flag will be cleared; at the same time, if you need to send a copy of the LSP from an interface When going out, the SRM flag will be set on the interface, and the flag will be cleared immediately after sending.

Specific steps:
Insert picture description here

  1. After R2 receives R1's CSNP (describes an LSP: R1.00-00), it sends PSNP to request.
  2. After R1 receives the request, it sends the corresponding copy of the LSP to the network.
  3. After R2 receives the requested LSP, it stores a copy of it in the database, and sets the SSN flag on interface 2 and the SRM flag on interface 3.
  4. R2 forwards a copy of this LSP to R3 and sends PSNP to R1 for confirmation.
  5. R2 clears the SSN mark on the interface.
  6. After R3 receives this LSP from R2, it stores it in the database and sets the SSN flag on interface 4 at the same time.
  7. R4 sends a PSNP confirmation to R2 and clears the SSN flag on interface 4.
  8. After R2 receives the PSNP confirmation of R3, it clears the SRM flag of interface 3.

In summary, PSNP has two functions on the P2P link: (In the broadcast environment, it only has the function of requesting LSP)

  1. As an Ack response to confirm the received LSP.
  2. Used to request the required LSP.

Source of information: "HCIE Routing and Exchange Learning Guide", Huawei Hedex Guide

Guess you like

Origin blog.csdn.net/tushanpeipei/article/details/112654114