扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
一、网络概述
图1:某地市政务网原有网络拓扑
图2:某地市政务网改造后网络拓扑
某地市政务网采用MPLS/VPN技术为各个行政部门构建VPN,与省一级VPN实现互通。原有网络采用CISCO7206作为PE,与省政务网的PE(CISCO GSR12000)建立MP-BGP。 为了提升网络性能同时实现省、地市、县三级MPLS VPN网络,采用BH6808作为地市级PE设备,建立与省PE的MP-BGP邻居关系,同时BH6808作为路由反射器,建立与该地市所辖的各个县的PE的MP-BGP邻居关系。
注:以上拓扑仅仅是现实网络环境的一个抽象。
二、问题描述
某地区的政务网MPLS/VPN网络经过改造之后, SITE B的用户反映无法访问SITE A内的WWW服务器的主页。
三、问题分析及处理过程
1、经过验证,上述现象确实存在。
2、在SITE B的PC上PING SITE A内的WWW 服务器,不通,PING SITEA的VPN1的VRF接口地址,可以通。
3、将SITEB的CE设备重新连接到CISCO7206,在SITE B的PC上PING SITE A内的WWW 服务器,不通,但是可以访问WWW服务器的主页。可以断定SITE A内部网络中启用了ICMP的过滤功能。问题不一定出在VPN内部的路由上。
4、因为无法通过PING来定位问题,因此希望通过抓包来找到一些蛛丝马迹。重新将SITEB的CE设备连接到BH6808上,在SITE B的PC上访问SITE A内的WWW 服务器的同时使用SNIFFER工具抓包。
5、从抓包结果来看,从SITE A的WWW 服务器返回了几个报文,证明VPN内部路由没有问题。仔细观察发现IP报文的分片字段一项被设置为不允许分片。由此可以推断该WWW服务器网卡作了报文不分片的设置。正常的HTTP报文最大为1500BYTE,由于在MPLS/VPN传递,封装两层MPLS标签(在倒数第二跳弹出的情况下,外层标签被弹出,只封装一层VPN标签)之后,报文长度超过了默认的MTU,即1500BYTE。如果MPLS网络中的设备不支持超长帧的传递,并且该报文不允许分片的情况下,那么该报文就会被丢弃,并向该报文的源发送一个ICMP报文,指明设备收到的报文超过MTU但是该报文却被设置了不允许分片。
6、问题初步定位为MPLS VPN数据转发路径上MTU小于MPLS FRAME的长度所致。那么MTU的瓶颈位于MPLS域内哪个设备上呢?由于BH6808的新的NP芯片支持超长MPLS FRAME转发。因此排除了自身设备出问题的可能。由于CISCO GSR设备也支持超长MPLS FRAME转发,问题最终定位在CISCO7206上。通知代理商修改CISCO7206接口的MTU为1544,问题解决。
7、那么如何解释原有网络中SITE B可以访问SITE A的WEB服务器,而改造后却无法访问呢?下面从HTTP访问的流量模型来逐步分析:
A、在原有网络中,从SITE B内PC发送到SITE A内WEB SERVER的HTTP请求报文或者TCP确认报文,正常情况下都是很小的报文,即使封装两层MPLS标签也不会超过1500 BYTE,因此CISCO7206上与CISCO GSR相连的接口即使使用默认MTU也没有问题;
B、从SITE A的WEB SERVER发送到SITE B内PC的HTTP报文通常是1500BYTE,加上两层MPLS标签之后必然超过默认的MTU值,即1500BYTE。CISCO GSR设备也支持超长MPLS FRAME转发。因此问题GSR当CISCO7206收到这个超长MPLS FRAME之后,由于它本身是PE,从VRF接口转发出去的报文就是普通的IP报文,MPLS头部信息已经被剥离,因此不会超过1500BYTE。所以SITE B的PC可以正常SITE A的WEB SERVER。
C、改造之后的网络,BH6808作为PE,而CISCO7206作为P设备。从SITE A到SITE B的HTTP报文长度如果为1500 BYTE,那么该报文被转发到CISCO7206时,由于BH6808默认启动PHP(MPLS 标签倒数第二跳弹出)所以CISCO7206继续转发给BH6808的报文需要携带一层MPLS标签,即VPN标签,这样1500BYTE长度的HTTP加上一层标签之后就超过了默认的MTU值,所以就被丢弃了。SITE B的PC无法访问SITE A的WEB SERVER的主页的现象的原因就在于此。
四、总结
解决问题的过程就是逐步缩小问题范围的过程。
面对一个复杂问题,首先要冷静分析,将可能导致问题的诸多因素列出来,通过各种手段逐一进行验证排除。在此过程中,不放过任何蛛丝马迹,并善于运用联想和推理分析,逐步缩小问题范围,问题的症结一定会被最终锁定。
较为复杂的网络问题往往可能涉及到很多互连的网络设备,部分的网络设备配置情况我们可以获得,其余部分对于我们来说可能就是一个“黑盒子”,在我们没有确凿的证据或充分合理的理由的情况下,提出查看或修改其他设备的配置进行验证的要求,用户很难接受,甚至有的用户对自己的整体网络环境也说不清楚。在这种信息不充分的情况下,善于联想和推理分析的能力尤其重要,联想可以使我们思路发散,找出各种可能的因素;推理可以帮助我们更为准确地锁定问题,找到根源。
面对现场问题,急噪对于问题的解决不但没有任何帮助,反而会让用户首先对我们失去信心。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者