握手报文

握手报文

    路由器的接口一旦启动 IS-IS 进程,就会发出 Hello 报文,用以发现邻居并形成邻接关系。Hello 报文中除了包含
发送路由器的 System-ID 之外,还包含了发送端全局和接口的一系列参数,这些参数如果被邻居路由器接受了,那么就
能形成邻接关系,否则不建立邻接关系。

    在 LAN (广播网络) 和 P2P (点对点网络) 中形成邻接关系的过程稍有不同,使用的 Hello 报文也有些区别,下面
是三种 IIH:
    点到点 IIH:用于点到点网络
    L1 LAN IIH:用于广播网络 Level-1 邻接
    L2 LAN IIH:用于广播网络 Level-2 邻接

Hello 报文格式各字段解释

    和所有的 IS-IS 报文一样,Hello 报文由报头和 TLV 构成,LAN Hello 和 P2P Hello 携带的信息及 TLV 略有不同,
下图显示了 LAN 中 Hello 报文格式。

    LAN Hello 报文各字段解释如下。
    
    Circuit Type (接口类型):标识发送端接口的层次
    System-ID (系统 ID):标识发送端路由器的系统 ID。
    Holding Timer (保持计时器):表示发送端路由器宣告邻接关系失效的超时时间,默认是发送 Hello 间隔时间的 3 倍
    PDU Length (报文长度):表示整个 IS-IS 报文的长度。
    Priotity (优先级):标识发送端接口的优先级,用来在 LAN 中选举 DIS,默认值=64.
    System-ID {DIS}:标识了发送端接口对应的链路上的 DIS 的系统 ID。
    Area Address (区域地址):标识了发送端路由器的区域,使用类型 1 的 TLV。
    IS Neighbor (邻居列表):标识了发送端路由器的邻居,使用类型 6 的 TLV。
    IP Interface Address (es) (接口 IP 地址):标识了发送端路由器所有已经启动了 IS-IS 进程的接口 IP 地址,
使用类型为 132 的 TLV。
    Protocols Supported (支持的协议):标识发送端路由器所支持的网络层协议,使用类型 129 的 TLV。
    Restart Signaling (重启信令):标识发送端路由器是否支持 GR。
    Multi Tpology (多拓扑):表示发送端路由器是否支持多拓扑。
    Padding (填充):填充字段,用于将 Hello 包填充至 MTU 大小,使用类型 8 的 TLV。

    ISIS 在点对点网络中使用的 Hello 和 LAN 有些区别,下图显示了点对点网络中的 Hello 报文的格式。
    
    通过对比 LAN 和 P2P 网络的 Hello 报文,可以发现,P2P Hello 报头中没有 Priority 和 System-ID {DIS} 这两
个字段,原因是 P2P 网络中不需要 DIS;同时 P2P Hello 报头中新增了一个 Local Circuit ID (本地电路 ID) 字段,
用来标识发送端接口。此外,在 TLV 字段中,P2P Hello 携带了一个点对点邻接状态:Point-topoint Adjacency State,
这个字段携带了发送端路由器所有邻居 System-ID 及其邻接状态,用来保证建立邻接关系的可靠性,适用类型 240 的 TLV
来承载信息;在 LAN Hello 报文中,等价的字段是 IS Neighbor 字段,这个字段只表明了发送端路由器的所有邻居 MAC
地址。

    不管在哪一种网络中,Hello 报文都是周期性发送的,用于位置邻接关系。如果等待时间到达时还没收到邻居的 Hello,
就宣告邻接关系失效。默认发送 Hello 的时间间隔为 10s,邻接关系的超时时间 (Hold-timer) 是 Hello 间隔的 3 倍。
但是在广播量路上,DIS 发送 Hello 的频率是普通路由器的 1/3 倍 (每3.3333 秒发送一次 Hello)。接口下可以修改
Hello 间隔时间及超时时间。

相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页