ISIS protocol Analysis __isis Protocol

Source: Internet
Author: User
Tags iso documentation
1 Introduction of the Protocol 1.1 Protocol Overview

The intermediate system to the intermediate system Is-is (intermediate system to Intermediatesystem) belongs to the Internal Gateway Protocol IGP (Interior Gateway Protocol) for internal autonomous systems. Is-is is also a link state protocol that uses the shortest path priority SPF (shortest Path First) algorithm for routing calculations, similar to the OSPF protocol. 1.2 Message Classifications

(1) Hello

Hello is used to build a neighbor, the second handshake will check the packets received, if the configuration is wrong, the handshake will fail. The Hello package after the connection is used to maintain the neighbor relationship.


(2) Lsp_dis

Lsp_dis is used to advertise the IS neighbor information to the broadcast network without responding.

(3) LSP

LSP is a packet carrying link state information and routing information, and the other party receives the information and then discards or forwards the LSP according to its own LSDB. and carries on the SPF algorithm, updates the route information.


(4) CSNP

CSNP is a pseudo node notification broadcast network itself found in the LSP Information Digest, the test router will view the CSNP information, for the lack of LSP to request, for the inside of the forwarding of their own LSP.


(5) PSNP

PSNP is used to request LSP, and when the other person receives it, it is forwarded or discarded for what it has sent.

At the point-to-point point, PSNP also has the capability to confirm the received LSP. 1.3 Interactive Process

(1) A-terminal router sends the first hello to the B-side router, does not carry the neighbor information, and then receives the neighbor a hello,a-side router that carries its own information to reply to a hello that carries the measured router information, and then the neighbor establishes it.

(2) After the establishment of the neighbor, there are two cases: first, a terminal router is promoted as a pseudo node (each broadcast segment must have a pseudo node), pseudo-node in addition to driving the general is router function, but also send Lsp_dis and csnp two kinds of special messages to the network to notify some information. Where Lsp_dis advertises the list of is neighbors in the broadcast network; CSNP The LSP information that is collected by the Notification Digest. Second, the B-terminal router is promoted as a pseudo node, at which point a router can send PSNP requests for a specific LSP, but cannot send Lsp_dis and CSNP messages.

(3) There is no pseudo node in point to point, so there is no lsp_dis message, and the content of Hello message is different. The approximate test status can be summarized from the following diagram, depending on the test status, may be adjusted to the actual modeling as prevail.

1.4 Verification and function of LSP message

The ISIS protocol adheres to ISO documentation standards, and its packet checksum functions are based on the checksum algorithm specified in the rfc994 document, which is specified as follows:

If the function is selected by the originating network-entity, the
   value of the checksum field causes the following fo  Rmulae to is sa-
   tisfied:

        (the sum from I=1 to L of a (i)) (mod  255) = 0

        (the sum from I=1 to L of (L-i + 1) * A (i)) (mod  255) = 0


   where L = the number of octets in the PDU header, and a (i) = the
   value of the octet At position i. The octet in the PDU header is
   considered to occupy position i = 0.

   When the ' function is ' in use, neither octet of the checksum field may be
   set to zero.


The Python implementation code is as follows:

def lspchecksum (ref):
    GetData = Ref. Internalvalue
    data = Convertblobtostr (GetData)
    datalen = len (data)
    C0 = 0
    C1 = 0
    i = 0 while
    i< ;d atalen:
       byte = Convertstrtonum (Data[i])
       C0 = (C0 +  byte)%255 c1
       = (C0 +  C1)%255
       i = i + 1
   #Checksum从被校验数据的第13个字节开始 
    ck0 = ((datalen-13) *c0-c1+255)%255 ck1 =
    255-(c0+ck0)%255 str1
    = Convertnumtostr (ck0)
    str2 = Convertnumtostr (ck1)
    strchecksum = str1 + str2
    numchecksum = Convertstrtonum (strchecksum) return
    numchecksum  


Reference:

https://tools.ietf.org/html/rfc994#section-6.11

Huawei Router Product AR1200 Product description (here is very detailed)
Http://www.2cto.com/os/201405/297778.html
Http://jingyan.baidu.com/article/c275f6bae15003e33d7567a2.html

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.