ICMP报文的8021p不正确导致ping通

发布时间:  2012-12-12 浏览次数:  60 下载次数:  0
问题描述
 


NE80E-2为VPLS转发,用户上网的业务报文从Router发出,到达NE80E-2时有三层Vlan,在NE80E-2上经过VPLS转发后,去掉两层Vlan,变成一层Vlan,然后交给ME60。Router路由器有个特点,处理的报文优先级必须为1,否则将会不处理该报文。

问题现象:

(1)从NE80E-1设备PING Router无法PING通;

(2)从ME60设备PING Router可以PING通;

处理过程
 

1.从NE80E-1设备PING Router,然后在NE80E-2的出接口抓包如下:

观察抓包结果,可以发现报文带有三层VLAN,只有最内层的VLAN优先级为1,靠外的两层VLAN优先级都是0。

2.从ME60上PING Router,然后在NE80E-2的出接口抓包如下:

观察抓包结果,发现报文带有三层VLAN,并且内层的VLAN的优先级为0,而外两层VLAN的优先级都是1。而PING的结果是ME60上可以PING通,而NE80E-1上无法PING通,从这个抓包结果可以确定,在NE80E-1上无法PING通的原因就是外层VLAN的优先级是0导致的。

3.查看NE80E-2的配置如下:

通过该配置分析,当进入NE80E-2的报文带有一层VLAN,并且VLAN的优先级为1时,明显不会命中流策略,但是接口配置了trust upstream qinq和trust 8021p,所以从NE80E-2发出的报文应该将内层VLAN的优先级映射到外层VLAN去。而当进入NE80E-2的报文带有一层VLAN,并且VLAN的优先级为0时,会命中流策略,而命中流策略后,根据流动作,会将内层VLAN的优先级映射到外层VLAN去 。根据结果分析,当命中流策略后,确实将内层VLAN的优先级映射到了外层VLAN中(间ME60 PING的抓包结果),所以从ME60 PING是可以PING通的。而当没有命中流策略时,trust upstream qinq和trust 8021p明显存在问题,无法正常映射,结果是NE80E-1上无法PING通。

4.最后分析一下为什么从NE80E-1发出的报文到达NE80E-2后,VLAN的优先级为1,而从ME60发出的报文到达NE80E-2后,VLAN的优先级为0。分析ME60的配置,发现ME60在出口做了策略,将发出的报文优先级都统一映射为1了。这样,从NE80E-1发出的报文,经过ME60转发后,优先级变为1,而从ME60发出的报文,由于是本机发出的,ME60的映射不会生效,所以优先级为0.

根因
 

8021P不能满足Router路由器要求导致。

解决方案
 

修改NE80E-2的流策略如下,这样到达NE80E-2的报文都可以命中流策略,暂时规避了该问题。

END