1. IS-IS是什么
IS-IS是一种基于链路状态并使用最短路径优先算法进行路由计算的一种IGP协议。IS-IS属于内部网关协议,用于自治系统内部。IS-IS是一种链路状态协议,使用最短路径优先算法进行路由计算。
2. 应用场景(园区网和骨干网)
园区网特点:区域多样、策略多变、调度精细。
骨干网特点:区域扁平、收敛极快、承载庞大。
3. 基本原理
邻居关系建立:邻居关系建立主要是通过HELLO包交互并协商各种参数,包括电路类型(level-1/level-2),Hold time,网络类型,支持协议,区域号,系统ID,PDU长度,接口IP等。
链路信息交换:与OSPF不同,ISIS交互链路状态的基本载体不是LSA(link state advertisement),而是LSP(link state PDU);交互的过程没有OSPF协议那样经历了多个阶段,主要是通过CSNP和PSNP两种协议报文来同步,请求以及确认链路状态信息(承载的是链路状态信息摘要),而链路状态信息的详细拓扑和路由信息是由LSP报文传递。
路由计算:SPF计算和OSPF基本一样的,但ISIS算法分离了拓扑结构和IP网段,加快了网络收敛速度。
4. P2P ISIS邻居建立机制
两次握手机制:两次握手只要路由器收到对端发来的Hello报文,就单方面宣布邻居为up状态,建立邻居关系,不过容易存在单通风险。
三次握手机制:通过三次发送P2P的IS-IS Hello PDU最终建立起邻居关系,与广播链路邻居关系的建立情况相同。
5. NSAP地址
NSAP:是一种用于唯一标识网络中设备的地址格式。40字节的标准地址格式来表示一个网络节点
- AFI:占1个字节,用于标识地址的家族类型,例如IPv4或IPv6。
- IDI:占1个字节,用于标识地址的区域性域(区域ID)。
- ADI:占1个字节,用于标识地址的区域(区域ID)。
- DFI:占1个字节,用于标识地址的域特定部分(如子网或接口)。
- AA:占13个字节,用于标识地域内的特定范围。
- SEL:占6个字节,用于标识特定系统内的实体。
6. IS-IS路由器分类:
Level-1路由器:Level-1只能和level-1建立邻接关系,相同区域只能使用level-1建立邻接关系
Level-2路由器:Level-2只能和level-2建立邻接关系,不同区域只能使用level-2建立邻接关系
Level-1-2路由器:level1-2既可以和level-1建立邻接关系也可以和level-2建立邻接关系,
7. IS-IS报文包
hello报文:邻居发现,协商对等体参数,邻居建立,邻居保持。
广播网中的Level-1 IS-IS使用Level-1 LAN IIH,目的组播MAC为:0180-c200-0014。
广播网中的Level-2 IS-IS使用Level-2 LAN IIH,目的组播MAC为:0180-c200-0015。
非广播网络中则使用P2P IIH。但是其没有表示DIS(虚节点)的相关字段。
8. IS-IS支持的网络类型
点对点网络类型(P2P)。
广播多路访问网络类型(Broadcast Multiple Access)。
在帧中继等特殊环境下,可以通过创建子接口支持P2P的网络类型。
9. DIS和伪节点
DIS:是指指定中间系统(Designated IS)。
伪节点:是指在广播网络中由DIS创建的虚拟路由器
DIS特点:
在广播网络,需要选举DIS,所以在邻居关系建立后,路由器会等待两个Hello报文间隔再进行DIS的选举。Hello报文中包含Priority 字段,Priority值最大的将被选举为该广播网的DIS。若优先级相同,接口MAC地址较大的被选举为DIS。IS-IS中DIS发送Hello时间间隔默认为10/3秒,而其他非DIS路由器发送Hello间隔为10秒
10. DIS和DR不同
- DIS中优先级为0也可以参与选举。OSPF中优先级为0不参与选举DR
- OSPF选举DR/BDR需要waiting time达40秒,过程也较为复杂,而ISIS选举DIS等待两个Hello报文间隔就可以,简单快捷。
- 选举结果ISIS只有一个DIS,但是OSPF除了有DR,还有一个BDR用做备份。
- 选举结束后,后期有新的Router加入到链路进来,如果优先级比DIS高是可抢占的,但是DR是不可抢占的。
- 选举完成后,ISIS网络链路内所有的路由器之间都建立的是邻接关系。OSPF中DRothers只与DR/BDR形成full邻接关系, DRothers之间只有2-way的关系。
11. DIS和DR作用
- 进行SPF计算时,都把它当成虚节点,简化MA网络的逻辑拓扑(相同点)。
- 都是为了减少LSP/LSA的泛洪(相同点)。
- 在ISIS中还可以由DIS发送CSNP来同步链路的LSDB(ISIS扩展作用)
- 链路状态信息载体:
LSP PDU:用于交换链路状态信息。实节点LSP;伪节点LSP(只在广播链路存在)
SNP PDU:用于维护LSDB 的完整与同步,且为摘要信息。CSNP(用于同步LSP);PSNP(用于请求和确认LSP)
12. P2P网络LSDB同步过程
建立邻居关系之后,RTA与RTB会先发送CSNP给对端设备。如果对端的LSDB与CSNP没有同步,则发送PSNP请求索取相应的LSP。
假定RTB向RTA索取相应的LSP,此时向RTA发送PSNP。RTA发送RTB请求的LSP的同时启动LSP重传定时器,并等待RTB发送PSNP作为收到LSP的确认。
如果在接口LSP重传定时器超时后,RTA还没有收到RTB发送的PSNP报文作为应答,则重新发送该LSP直至收到RTB的PSNP报文作为确认。
13. MA网络中新加入的路由器与DIS 的LSDB同步交互过程
假设新加入的路由器RTC已经与RTB(DIS)和RTA建立了邻居关系。
建立邻居关系之后,RTC将自己的LSP发往组播地址(Level-1:01-80-C2-00-00-14;Level-2:01-80-C2-00-00-15)。这样网络上所有的邻居都将收到该LSP。
该网段中的DIS会把收到RTC的LSP加入到LSDB中,并等待CSNP报文定时器超时(DIS每隔10秒发送CSNP报文)并发送CSNP 报文,进行该网络内的LSDB同步。
RTC收到DIS发来的CSNP报文,对比自己的LSDB数据库,然后向DIS发送PSNP报文请求自己没有的LSP(如RTA和RTB的LSP就没有)。
RTB作为DIS收到该PSNP报文请求后向RTC发送对应的LSP进行LSDB 的同步。
13. 路由算法
路由计算的开销方式:
Narrow模式(设备默认模式开销都是10,手工配置接口开销取值范围为1~63)。
Wide模式(设备默认模式开销都是10,手工配置接口开销取值范围是1~16777215)。
14. IS-IS与OSPF的差异
15. 配置命令
基础命令:
创建IS-IS进程:IS-IS 1
配置网络实体名称:network-entity 49.0001.0000.0000.0001.00 (49.0001:代表区域;0000.0000.0001:systemID,每个路由器的唯一标识)
进入接口:interface GigabitEthernet0/0/1
接口开启IS-IS:IS-IS enable
其他命令:
配置全局level级别:is-level ( level-1 | level-1-2 | level-2 )
配置接口Level级别:isis circuit-level ( level-1 | level-1-2 | level-2 )
设置接口类型为P2P:isis circuit-type p2p
修改接口DIS优先级:isis dis-priority 20
路由渗透:默认level1没有level2的路由,要想有路由,需要在level1-2中配置:Import-route isis level-2 into level-1
查询命令:
查看IS-IS邻接关系:display is-is peer
查看IS-IS路由表:display is-is route