一种二层路径最大传输单元发现方法和节点技术

技术编号:6616846 阅读:277 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种二层路径最大传输单元发现方法,包括:源节点发送到目标媒体接入控制(MAC)的链路跟踪消息报文,建立二层PMTU,其初始值为源节点出接口MTU值;中间节点接收到链路跟踪消息报文时,转发报文,返回链路跟踪回复报文给源节点,携带出接口MTU值;源节点接收到各中间节点返回的链路跟踪回复报文时,根据其中携带的出接口MTU值确定所述源节点到所述目标MAC的二层PMTU。本发明专利技术还提供一种节点。本发明专利技术对以太网OAM协议进行了有效的补充,提高了以太运营网络的可靠性和可维护性。

【技术实现步骤摘要】
一种二层路径最大传输单元发现方法和节点
本专利技术涉及数据通信领域,特别涉及二层路径最大传输单元(PathMaximumTransmissionUnit,PMTU)的发现方法和节点。
技术介绍
在网络设备上,每一个接口都有一个最大传输单元(MaximumTransmissionUnit,MTU),也就是报文从该接口发出去的时候,如果报文长度大于该接口的MTU,报文就会发送失败。在网络中进行报文转发的时候,总会有一些报文因为长度大于转发出接口的MTU,导致报文丢弃,转发失败。本来这个问题在二层转发的时表现不明显,现在随着技术的进步,网络上可以传输的数据单元越来越大,特别是在一些采用新的硬件技术的网络节点和采用老的硬件技术的网络节点混接的环境中,就表现的比较突出了。比如老的以太网络,最大可以传输1526个字节的报文,现在可以传输9k大小的报文。针对这种问题,目前在IP层提出了PMTU的概念。所谓PMTU,就是IP数据包从源端发出时,数据包的长度必须小于整个路径的MTU,这样报文经过中间节点的时就不用分片,提高了网络设备的报文转发效率。PMTU的实现原理如附图1所示,报文从源节点发出时,按照路由的MTU分片(路由默认MTU值就是出接口的MTU),在中间节点转发时,如果发现出接口MTU比报文长度小,则丢弃报文,并向源节点发送一个包过大的ICMP(互联网控制报文协议)差错报文,携带出接口的MTU值。源节点收到包过大报文后,如果不存在一条目的地址的主机路由,用发包的目的地址创建一条主机路由,路由的MTU值就是报文中携带的MTU值;存在这样一条路由,就直接修改路由的MTU值。经过几轮交互,就可以学习到了整个路径的最小MTU,即PMTU,下一次再发报文时,就会根据PMTU进行分片,保证了中间节点尽量不分片,以提高报文转发效率。二层的转发环境比较复杂,传输链路有多种,有以太、POS(PacketoverSONET/SDH,同步光纤网/同步数字体系上的分组数据包)、ATM(AsynchronousTransferMode,异步传输模式)等,POS链路、ATM链路传输其实对于接口MTU不敏感,因此本专利技术主要适用于以太链路。以太链路中源节点如果按照老硬件的1526的MTU发包,而实际链路支持更大的MTU传输,则浪费了硬件带宽,降低了实际的数据转发效率;如果按照新的MTU传输,有可能导致二层报文转发因为MTU问题而丢包。目前问题主要如附图2所示,报文传输过程中,如果经过二层交换环境,如L2VPN(Layer2VirtualPrivateNetwork,二层虚拟专用网络)隧道等,因为这些设备不会处理其透传的报文,所以源节点发出去的三层IP报文,在进行L2VPN隧道转发的时候,如果报文长度大于出接口的MTU,对于IPv4报文就不能分片继续转发,也不能触发路径MTU学习;对于IPv6报文也不能触发路径MTU学习;对于二层协议报文,报文也转发不了。报文就会被丢弃,也不会给源节点回应任何差错报文。该情形下,报文不停的被丢弃,导致实际转发不通,但源节点感知不到这一点,还在源源不断的发送报文,网络故障比较难定位。
技术实现思路
本专利技术要解决的技术问题是提供一种二层PMTU发现方法和节点,避免报文二层转发过程中因为出接口MTU太小丢包。为了解决上述问题,本专利技术提供了一种二层路径最大传输单元发现方法,包括:源节点发送到目标媒体接入控制(MAC)的链路跟踪消息报文,建立所述源节点到所述目标MAC的二层路径最大传输单元(PMTU),其初始值为源节点出接口最大传输单元(MTU)值;中间节点接收到所述链路跟踪消息报文时,转发所述链路跟踪消息报文,返回链路跟踪回复报文给所述源节点,所述链路跟踪回复报文中携带出接口MTU值;所述源节点接收到各中间节点返回的链路跟踪回复报文时,根据所述链路跟踪回复报文中携带的出接口MTU值确定所述源节点到所述目标MAC的二层PMTU。进一步的,上述方法还可具有以下特点,通过如下方式携带所述出接口MTU值:所述链路跟踪回复报文增加一MTU选项,通过所述MTU选项携带所述出接口MTU值,所述MTU选项为类型长度数据(TLV)结构。进一步的,上述方法还可具有以下特点,所述源节点根据所述链路跟踪回复报文中携带的出接口MTU值确定所述源节点到所述目标MAC的二层PMTU包括:所述源节点接收到所述中间节点返回的链路跟踪回复报文后,取出所述链路跟踪回复报文中的MTU值,查找对应的二层PMTU,当所述取出的MTU值小于所述二层PMTU时,用所述取出的MTU值替换所述二层PMTU,否则不处理。进一步的,上述方法还可具有以下特点,所述方法还包括,所述目标MAC对应的节点接收到中间节点转发的链路跟踪消息报文时,返回链路跟踪回复报文给所述源节点,所述链路跟踪回复报文中携带的MTU值为一指定值,该指定值不同于正常MTU值,所述源节点接收到所述链路跟踪回复报文时,如果所述链路跟踪回复报文中携带的MTU值为所述指定值,则忽略该链路跟踪回复报文。进一步的,上述方法还可具有以下特点,所述源节点使用MAC转发表的一新增MAC条目记录所述二层PMTU,并根据所述MAC转发表的老化机制老化所述二层PMTU。进一步的,上述方法还可具有以下特点,所述源节点发送IP报文时,将所述二层PMTU转换为三层PMTU后,根据所述三层PMTU进行组包发送;所述将二层PMTU转换为三层PMTU包括:根据所述IP报文的目的地址查找转发路由,找到出接口和下一跳,根据所述出接口和下一跳查找地址解析协议条目,取出地址解析条目保存的下一跳MAC地址,根据该下一跳MAC地址查找对应的二层PMTU,将查找到的二层PMTU减去二层数据帧封装长度,作为三层PMTU。本专利技术还提供一种节点,包括:以太操作管理维护模块、MAC管理模块和收发包模块,其中:所述以太操作管理维护模块用于:在所述节点作为源节点时,产生发送到目标媒体接入控制(MAC)的链路跟踪消息报文,发送给收发包模块;以及,处理收发包模块接收到的链路跟踪回复报文,取出所述链路跟踪回复报文中携带的出接口MTU值,发送给MAC管理模块;所述MAC管理模块用于:建立所述源节点到所述目标MAC的二层路径最大传输单元(PMTU),其初始值为源节点出接口最大传输单元(MTU)值;以及,根据从所述以太操作管理维护模块接收到的各出接口MTU值确定所述节点到所述目标MAC的二层路径最大传输单元(PMTU);所述收发包模块用于:将待发送的链路跟踪消息报文进行封装后发送,以及,接收中间节点返回的链路跟踪回复报文,进行解封装后发送给所述以太操作管理维护模块。进一步的,上述节点还可具有以下特点,所述MAC管理模块是用于:根据所述链路跟踪回复报文中的MTU值,查找对应的二层PMTU,当所述链路跟踪回复报文中的MTU值小于所述二层PMTU时,用所述链路跟踪回复报文中的MTU值替换所述二层PMTU,否则不处理。进一步的,上述节点还可具有以下特点,所述MAC管理模块还用于使用MAC转发表的一新增MAC条目记录所述二层PMTU,并根据所述MAC转发表的老化机制老化所述二层PMTU。进一步的,上述节点还可具有以下特点,所述MAC管理模块还用于:根据如下方式将所述将二层PMTU本文档来自技高网
...
一种二层路径最大传输单元发现方法和节点

【技术保护点】
1.一种二层路径最大传输单元发现方法,其特征在于,包括:源节点发送到目标媒体接入控制(MAC)的链路跟踪消息报文,建立所述源节点到所述目标MAC的二层路径最大传输单元(PMTU),其初始值为源节点出接口最大传输单元(MTU)值;中间节点接收到所述链路跟踪消息报文时,转发所述链路跟踪消息报文,返回链路跟踪回复报文给所述源节点,所述链路跟踪回复报文中携带出接口MTU值;所述源节点接收到各中间节点返回的链路跟踪回复报文时,根据所述链路跟踪回复报文中携带的出接口MTU值确定所述源节点到所述目标MAC的二层PMTU。

【技术特征摘要】
1.一种二层路径最大传输单元发现方法,其特征在于,包括:源节点发送到目标媒体接入控制(MAC)的链路跟踪消息报文,建立所述源节点到所述目标MAC的二层路径最大传输单元(PMTU),其初始值为源节点出接口最大传输单元(MTU)值;中间节点接收到所述链路跟踪消息报文时,转发所述链路跟踪消息报文,返回链路跟踪回复报文给所述源节点,所述链路跟踪回复报文中携带出接口MTU值;所述源节点接收到各中间节点返回的链路跟踪回复报文时,根据所述链路跟踪回复报文中携带的出接口MTU值确定所述源节点到所述目标MAC的二层PMTU;所述源节点发送IP报文时,将所述二层PMTU转换为三层PMTU后,根据所述三层PMTU进行组包发送;所述将二层PMTU转换为三层PMTU包括:根据所述IP报文的目的地址查找转发路由,找到出接口和下一跳,根据所述出接口和下一跳查找地址解析协议条目,取出地址解析条目保存的下一跳MAC地址,根据该下一跳MAC地址查找对应的二层PMTU,将查找到的二层PMTU减去二层数据帧封装长度,作为三层PMTU;所述目标MAC对应的节点接收到中间节点转发的链路跟踪消息报文时,返回链路跟踪回复报文给所述源节点,所述链路跟踪回复报文中携带的MTU值为一指定值,该指定值不同于正常MTU值,所述源节点接收到所述链路跟踪回复报文时,如果所述链路跟踪回复报文中携带的MTU值为所述指定值,则忽略该链路跟踪回复报文。2.如权利要求1所述的方法,其特征在于,通过如下方式携带所述出接口MTU值:所述链路跟踪回复报文增加一MTU选项,通过所述MTU选项携带所述出接口MTU值,所述MTU选项为类型长度数据(TLV)结构。3.如权利要求1所述的方法,其特征在于,所述源节点根据所述链路跟踪回复报文中携带的出接口MTU值确定所述源节点到所述目标MAC的二层PMTU包括:所述源节点接收到所述中间节点返回的链路跟踪回复报文后,取出所述链路跟踪回复报文中的MTU值,查找对应的二层PMTU,当所述取出的MTU值小于所述二层PMTU时,用所述取出的MTU值替换所述二层PMTU,否则不处理。4.如权利要求1所述的方法,其特征在于,所述源节点使用MAC转发表的一新增MAC条目记录所述二层PM...

【专利技术属性】
技术研发人员:李洪涛吴涛于海燕
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1