IS-IS报文是直接封装在数据链路层的帧结构中的。PDU可以分为两个部分,报文头和变长字段部分。其中头部又可分为通用头部和专用头部。对于所有PDU来说,通用报头都是相同的,但专用报头根据PDU类型不同而有所差别。
IS-IS的PDU有4种类型:Hello报文,LSP,CSNP,PSNP
PDU中的变长字段部分是多个CLV(Code-Length-Value)三元组。CLV也称为TLV(Type-Length-Value)。
Hello报文用于建立和维持邻居关系,也称为IIH(IS-to-IS Hello PDUs)。其中,广播网中的Level-1路由器使用Level-1 LAN IIH;广播网中的Level-2路由器使用Level-2 LAN IIH;非广播网络中则使用P2P IIH。它们的报文格式有所不同。
链路状态报文LSP(Link State PDUs)用于交换链路状态信息。LSP分为两种:Level–1 LSP和Level–2 LSP。Level–1 LSP由Level-1路由器传送,Level–2 LSP由Level-2路由器传送,Level-1-2路由器则可传送以上两种LSP。两类LSP有相同的报文格式。
时序报文SNP(Sequence Number PDUs)通过描述全部或部分数据库中的LSP来同步各LSDB(Link-State DataBase),从而维护LSDB。
SNP包括CSNP(Complete SNP,全时序报文)和PSNP(Partial SNP,部分时序报文),进一步又可分为L1 CSNP、L2 CSNP、L1 PSNP和L2 PSNP。
CSNP包括LSDB中所有LSP的摘要信息,从而可以在相邻路由器间保持LSDB的同步。在广播网络上,CSNP由DIS定期发送(缺省的发送周期为10秒);在点到点链路上,CSNP只在第一次建立邻接关系时发送。
主要字段的解释如下:
(1)Source ID:发出SNP报文的路由器的System ID。
(2)Start LSP ID:CSNP报文中第一个LSP的ID值。
(3) End LSP ID:CSNP报文中最后一个LSP的ID值。
PSNP只列举最近收到的一个或多个LSP的序号,它能够一次对多个LSP进行确认,当发现LSDB不同步时,也用PSNP来请求邻居发送新的LSP。