MTU值配置不当导致CE12800与C厂家ASR9K的ISIS邻居无法建立

发布时间:  2015-07-21 浏览次数:  1495 下载次数:  0
问题描述


 

如图,CE12800和C厂家ASR9K设备通过链路聚合进行互联,互联接口配置了ISIS协议。ISIS邻居建立不成功。

处理过程
1. 检查CE12808与ASR9K互联端口的状态,聚合端口协商正常,两端直连接口的IP地址互ping正常,排除端口问题;

2. 检查ISIS的配置,常见的协商参数,如开销类型、网络实体名等都配置无误,排除了ISIS参数配置错误的可能;

3. 对ISIS的Hello报文进行抓包分析,发现是MTU值设置问题,仔细查看两端设备的配置文件:

CE12808上的ISIS相关配置:
isis 1
is-level level-2
cost-style wide
network-entity 49.X.X.X.X.00
#
interface Vlanif1001
mtu 9126
ip address X.X.X.146 255.255.255.252
isis enable 1
#
interface Vlanif1002
mtu 9126
ip address X.X.X.150 255.255.255.252
isis enable 1
ASR9K的ISIS配置:
router isis XXXX
net 49. X.X.X.X.00
log adjacency changes
address-family ipv4 unicast
metric-style wide
ispf level 2
#
interface TenGigE0/1/0/0
mtu 9126
circuit-type level-2-only
address-family ipv4 unicast

因为CE12800设备上配置的MTU值指的是三层报文的MTU,而C厂家设备配置的默认是二层报文的MTU,现场CE12800设置的MTU值为9126,加上二层以太帧头总共MTU为9140,超出了对端接口MTU值。
解决方案
该问题有以下两种解决办法:

1. 在12800上配置MTU值为9126(对端设备二层MTU)-14(以太帧头长度)=9112。

2. 在12800设备上配置isis small-hello命令,并且在对端ASR9K设备上配置hello-padding disable level 2命令。实现双方在交互HELLO报文的时候不进行MTU值的检查。
建议与总结
各个设备商配置MTU的命令含义有区别,在进行设备对接,或者网络规划时,需要考虑这个因素。

END