IS-IS报文详情

IS-IS(Intermediate System to Intermediate System)协议是一种链路状态路由协议,主要用于自治系统内部的路由选择。其报文交互过程涉及多种协议数据单元(PDU),以下是详细的报文交互流程:


1. 报文类型

IS-IS协议主要使用以下三种报文类型:

  • Hello PDU(IIH):用于邻居发现和邻接关系维护。
  • LSP(Link State PDU):携带链路状态信息(如邻居、接口、度量值)。
  • SNP(Sequence Number PDU):分为CSNP和PSNP,用于同步链路状态数据库(LSDB)。
    • CSNP(Complete SNP):摘要所有LSP的列表,用于广播网络的数据库同步。
    • PSNP(Partial SNP):用于请求或确认特定LSP,常见于点对点网络。

2. 报文交互流程

步骤1:邻居发现(Hello报文交互)

  • 作用:发现直连的IS-IS邻居并协商参数(如区域ID、层级、认证等)。
  • 过程
    • 路由器周期性发送IIH报文(广播网络分Level 1和Level 2 Hello,点到点网络使用通用Hello)。
    • 收到Hello的邻居检查参数(如System ID、区域地址、层级)。若匹配,则建立邻居关系。
    • 定时器HelloInterval(默认10秒)和HoldTime(默认30秒)。

步骤2:邻接关系建立

  • 条件:参数匹配后,邻居进入UP状态,形成邻接关系。
  • 广播网络特殊处理:选举DIS(Designated IS),负责生成伪节点LSP并周期发送CSNP。

步骤3:数据库同步(LSP与SNP交互)

  • LSP泛洪

    • 每个路由器生成自身LSP(含链路状态信息),发送给所有邻居。
    • 邻居收到LSP后,检查序列号。若更新,则存储并继续泛洪,同时发送PSNP确认(点到点网络)或等待DIS的CSNP(广播网络)。
  • SNP机制

    • 广播网络
      • DIS周期发送CSNP(包含所有LSP的摘要),非DIS路由器对比自身LSDB,通过PSNP请求缺失的LSP。
    • 点到点网络
      • 直接使用PSNP确认收到的LSP或请求缺失的LSP。

步骤4:链路状态数据库维护

  • LSP更新:当拓扑变化时,路由器生成新LSP(序列号+1),触发泛洪。
  • 老化机制:LSP生存时间(默认为20分钟)超时后,通过发送携带相同序列号的LSP进行刷新。

3. 网络类型差异

  • 广播网络(如以太网)

    • 使用Level 1或Level 2 IIH报文。
    • 选举DIS(无备份DIS),DIS负责周期发送CSNP(默认10秒)。
    • 非DIS路由器通过PSNP请求缺失的LSP。
  • 点到点网络(如PPP链路)

    • 使用通用IIH报文。
    • 直接使用PSNP确认LSP,无需CSNP。
    • 双方周期性发送Hello维护邻接。

4. 层级划分(Level 1和Level 2)

  • Level 1(L1):区域内路由,维护本区域的LSDB。
  • Level 2(L2):骨干区域路由,负责区域间通信。
  • L1/L2路由器:作为区域边界路由器,同时维护L1和L2的LSDB。

5. 报文结构(TLV字段)

IS-IS报文通过TLV(Type-Length-Value)扩展灵活性,常见TLV包括:

  • Hello报文:区域地址TLV(Area Address)、认证TLV(Authentication)。
  • LSP报文:IS邻居TLV(IS Neighbors)、IP接口地址TLV(IP Interface Address)。
  • SNP报文:LSP条目摘要(LSP Entries)。

6. 关键定时器

  • HelloInterval:默认10秒(广播)/3秒(点到点)。
  • HoldTime:默认30秒(广播)/9秒(点到点)。
  • LSP刷新间隔:默认15分钟。
  • CSNP发送间隔:默认10秒(由DIS在广播网络发送)。

总结流程图

邻居发现(Hello) → 邻接建立 → LSP泛洪 + SNP同步 → 维护LSDB一致性
  • 在广播网络中,DIS通过CSNP驱动同步;在点到点网络中,PSNP直接用于确认和请求。

通过上述流程,IS-IS确保所有路由器的链路状态数据库一致,最终通过SPF算法计算出最短路径树。

posted @ 2025-03-31 10:10  再熬夜是狗呀  阅读(12)  评论(0)    收藏  举报