报文类型:
ISIS与OSPF一样都是IP网络中重要的内部网关协议,同时ISIS协议的TLV特此那个,使其具有很强的拓展性和生命力,ISIS作为一种高扩展性的IGP协议,其使用场景已不局限于传统IP网络,还包括数据中心,IPv6等各种IP场景。
TLV:类型(Type)、长度(Length)、值(value)
因为有这种特性,所以拓展性很强,有新东西,新开发一个新的TLV即可
常用的TLV:
区域号(t=1),IP地址(t=132),传播IPv4前缀(t=128),通告支持IPv6(t=129),传播IPv6地址(t=232),传播IPv6前缀(t=236)
OSPF报文 | ISIS报文 |
---|---|
hello | IIH(ISIS-hello) |
DBD | CSNP |
LSR | PSNP |
LSack | PSNP |
LSU | LSP |
ISIS所有报文都会有L1、L2两种,IIH会针对P2P网络有不同的IIH,所以IIH有3种
与OSPF的差别还有,OSPF是封装在IP之后的,而ISIS是封装在链路层后的
路由器类型:
L1:仅能收发L1的hello,也仅能创建L1的LSDB
L2:仅能收发L2的hello,也仅能创建L2的LSDB
L1 2:路由器的默认类型,既能收发L1也能收发L2,能够同时创建L1、L2的LSDB
L1的路由器不能跨区域建立邻居关系
例如修改为L1↓
[] isis 1
[ISIS-1] is-level level-1
修改路由器某接口发出的isis报文类型,仅在Level12上生效,因为只有L12会发出两种报文,比如一侧对接的L1,那我就让对接L1的接口只发出L1的报文
[] int gi 0/0/0
[gi 0/0/0] isis circuit-level level-1
NET的结构:
全称为网络实体标识(16进制)
49.0001 .0000.0000.0001 .00
区域号 系统ID
最早的时候是为OSI模型网络层CLNP协议设计的,其中的NSAP地址类似现在的IP的地址,而NET可以看作是一个最后两位为00的特殊NSAP地址,他与NSAP长度相同,再路由器上雷之ISIS时,只需要考虑NET即可
给路由器添加网络实体标识(NET)↓
[] isis 1
[ISIS-1] network-entity 49.0001.0000.0000 0001.00
49.0001是区域号,0000.0000.0001是系统ID类似于RouterID,.00是协议选择符00代表选择IP协议
系统ID定长,区域号可变长最少8bit也就是最前面的两位数(如:aa.0000 .0000.0000 0001.00)
一个路由器能够配置多个NET,但系统ID要相同
ISIS的简单性:
① 报文简单ISIS相对OSPF简单很多,OSPF要用到多种LSA,各种LSA各司其职,期间还要转换
而ISIS只用LSP
② ISIS报文结构简单:都是基于TLV结构的,不像OSPF报文差异很大
③ 区域简单只有L1和L2(L1末节区域,L2骨干区域),ISIS更像一个带末节区域的单区域OSPF,L1像是OSPF的totally stub
④ ISIS没有虚链路,由于骨干区域和非骨干区域并不依靠区域号划分,区域号对于ISIS不是那么重要
⑤ 由于区域信息简单、isis网络地址不参与拓扑构建,所以ISIS路由算法收敛快
⑥ ISIS仅支持广播和P2P
⑦ 仅有DIS没有备份,并且可以抢占,所有路由器都是邻接关系,优先级为0也可以选举
⑧ OSPF靠区域号和RouterID标记一台路由器,ISIS只用NET即可
⑨ ISIS互建邻接,只需要交换hello,不再有OSPF那么多状态变化
⑩ 唯一确定一条LSP只需要LSP-ID,ospf中需要type、adv router、link-id三要素确定一条LSA