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