拓扑图
实验需求
配置ISIS多区域
配置ISIS接口级别与设备级别
AR2与AR3之间的ISIS网络类型为P2P
AR2和AR3互联地址不在同一网段,AR2与AR3可建立邻居
保证P2P链路的可靠性,修改建立邻居时采用的模式
P2P链路发送更小的Hello包
修改DIS路由器
配置
1)ISIS多区域
sysname AR1
#
isis 1
network-entity 49.0001.0000.0000.0001.00
#
interface GigabitEthernet0/0/0
ip address 12.1.1.1 255.255.255.0
isis enable 1
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
isis enable 1
sysname AR2
#
isis 1
network-entity 49.0001.0000.0000.0002.00
#
interface GigabitEthernet0/0/0
ip address 12.1.1.2 255.255.255.0
isis enable 1
#
interface GigabitEthernet0/0/1
ip address 23.1.1.2 255.255.255.0
isis enable 1
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
isis enable 1
sysname AR3
#
isis 1
network-entity 49.0000.0000.0000.0003.00
#
interface GigabitEthernet0/0/0
ip address 32.1.1.3 255.255.255.0
isis enable 1
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
isis enable 1
2)配置ISIS接口级别及设备级别
配置AR1为Level-1路由器
isis
is-level level-1
interface GigabitEthernet0/0/0
isis circuit-level level-1
#
配置AR2为Level-1-2路由器(缺省即为Level-1-2路由器),配置AR2的G0/0/0接口级别为Level-1,G0/0/1接口级别为Level-2
interface GigabitEthernet0/0/0
isis circuit-level level-1
#
interface GigabitEthernet0/0/1
isis circuit-level level-2
#
配置AR3为Level-2路由器
isis 1
is-level level-2
interface GigabitEthernet0/0/0
isis circuit-level level-2
#
3)配置ISIS网络类型
ISIS仅支持MA和P2P网络
修改AR2和AR3之间的网络类型为P2P
interface GigabitEthernet0/0/1
isis circuit-type p2p
#
interface GigabitEthernet0/0/0
isis circuit-type p2p
#
4)配置ISIS邻居建立参数
修改P2P握手机制
参数 | 参数说明 | 取值 |
2-way | 建立邻接关系时使用二次握手(2-Way Handshake)的协商模型。 | - |
3-way | 建立邻接关系时使用三次握手(3-Way Handshake)的协商模型。 | 三次握手模型为后向兼容,如果对方只支持二次握手,则建立二次握手模型下的邻接关系。 |
only | 建立邻接关系时只使用三次握手的协商模型,不支持后向兼容。 |
- 两次握手机制存在明显的缺陷。当路由器间存在两条及以上的链路时,如果某条链路上到达对端的单向状态为Down,而另一条链路同方向的状态为Up,路由器之间还是能建立起邻接关系。SPF在计算时会使用状态为UP的链路上的参数,这就导致没有检测到故障的路由器在转发报文时仍然试图通过状态为Down的链路。三次握手机制解决了上述不可靠点到点链路中存在的问题。这种方式下,路由器只有在知道邻居路由器也接收到它的报文时,才宣布邻居路由器处于Up状态,从而建立邻居关系。
P2P默认建立邻居为2次握手,修改为更可靠的3次握手
interface GigabitEthernet0/0/1
isis ppp-negotiation 3-way only
#
interface GigabitEthernet0/0/0
isis ppp-negotiation 3-way only
#
Small-Hello包
配置不带填充的Hello包,减小链路开销
isis padding-hello命令与isis small-hello命令互斥,不能在接口上同时配置。
接口上没有配置这两条命令时,发送Hello报文的规则如下:
- P2P接口
-
- P2P邻居建立之前,发送带有填充字段的标准Hello报文。
- P2P邻居建立之后,发送不带有填充字段的小型Hello报文。
- 广播接口
-
- 发送带有填充字段的标准Hello报文。
interface GigabitEthernet0/0/1
isis small-hello
#
interface GigabitEthernet0/0/0
isis small-hello
#
对端地址检查
- 链路两端IS-IS接口的地址必须处于同一网段。
-
- 由于IS-IS是直接运行在数据链路层上的协议,并且最早设计是给CLNP使用的,IS-IS邻居关系的形成与IP地址无关。但在实际的实现中,由于只在IP上运行IS-IS,所以是要检查对方的IP地址的。如果接口配置了从IP,那么只要双方有某个IP(主IP或者从IP)在同一网段,就能建立邻居,不一定要主IP相同。
- 当链路两端IS-IS接口的地址不在同一网段时,如果配置接口对接收的Hello报文不作IP地址检查,也可以建立邻居关系。对于P2P接口,可以配置接口忽略IP地址检查;对于以太网接口,需要将以太网接口模拟成P2P接口,然后才可以配置接口忽略IP地址检查。
由于AR2和AR3的直连接口地址不在同一网段,无法建立邻居关系,需要配置忽略对端地址检查,才可以正常建立邻居关系。
interface GigabitEthernet0/0/1
isis peer-ip-ignore
#
interface GigabitEthernet0/0/0
isis peer-ip-ignore
#
5)配置修改DIS路由器
在广播网络中,IS-IS需要在所有的路由器中选举一个路由器作为DIS(Designated Intermediate System)。DIS用来创建和更新伪节点(Pseudonode),并负责生成伪节点的链路状态协议数据单元LSP(Link state Protocol Data Unit),用来描述这个网络上有哪些网络设备。
伪节点是用来模拟广播网络的一个虚拟节点,并非真实的路由器。在IS-IS中,伪节点用DIS的System ID和一个字节的Circuit ID(非0值)标识。
Level-1和Level-2的DIS是分别选举的,用户可以为不同级别的DIS选举设置不同的优先级。DIS优先级(默认64)数值最大的被选为DIS。如果优先级数值最大的路由器有多台,则其中MAC地址最大的路由器会被选中。不同级别的DIS可以是同一台路由器,也可以是不同的路由器。
查看AR1与AR2之间的MA网络选举的DIS
可以看出AR1的G0/0/0接口为Level-1的DIS
修改接口优先级,使AR2的G0/0/0接口为Level-1的DIS
interface GigabitEthernet0/0/0
isis dis-priority 65 level-1
#
再次查看Level-1的DIS
可以看到通过修改优先级,使AR2的G0/0/0接口成为了Level-1的DIS
查看伪节点生成的LSP详情