报文转换过程中的超长报文的处理方法

文档序号:7594257阅读:233来源:国知局
专利名称:报文转换过程中的超长报文的处理方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种IPv4与IPv6报文相互转换过程中的超长报文处理方法。
背景技术
随着互联网技术的发展,IPv6(第六版互联网协议)将成为Internet(互联网)的发展方向。在IPv6网络的整个发展过程中,在很长一段时间内将会是IPv6网络和IPv4(第四版互联网协议)网络共同存在的阶段。这是因为,一方面IPv4网络已经被广泛应用,在网络中已经布置大量的IPv4网络设备,另一方面IPv6又将以其优越的性能成为技术发展的方向。因此,为了更好地利用网络资源,并不断地吸纳新的性能优越的技术,IPv6网络和IPv4网络的互通将是必然的选择。在现有的IPv6网络和IPv4网络互通的过程中,实现NAT-PT(网络地址转换-协议传输)尤其重要。
在NAT-PT技术中,具有NAT-PT功能的网络节点将相关的IPv6报文转换成IPv4报文,或者将IPv4报文转换成IPv6报文,使得IPv6网络的用户与IPv4网络的用户能够进行相互通信,所述的网络节点包括路由器或交换机等,简称为路由器。所述的NAT-PT技术即为一种利用网络地址转换技术实现IPv4网络和IPv6网络节点之间能够透明互通。具体处理过程是将IPv4地址和IPv6地址分别当作NAT(网络地址转换)技术中的内部地址和全局地址,在IPv4分组和IPv6分组之间进行基于会话的报头地址转换处理。在NAT-PT实现过程中,仅关注报文的报头信息,并不检查或修改报文的传输载荷,因而NAT-PT技术对于IPv4与IPv6间交互的报文的载荷来说是透明的。
同时,由于在实际网络应用中的需要进行报文交换的网络可能存在PMTU各不相同的情况,这样,在IPv6报文和IPv4报文的相互转换过程中,由于受到通信网络中的PMTU(Path MTU,路径最大传输单元)的实际影响,可能会出现待转换的IPv6报文或者IPv4报文的长度大于PMTU的情况,此时,将导致进行正常的NAT-PT转换后的报文由于网络的PMTU的不同而无法进行传输,影响到IPv4网络与IPv6网络的互通,从而使得网络通信的可靠性无法得到保证;或者导致在网络间报文交互过程中产生不必要的报文分片,导致占用更多的路由器等网络处理资源。
目前,还没有一种技术方案保证当出现长度大于PMTU的IPv6报文或IPv4报文(即超长报文)时,IPv4网络与IPv6网络间仍可以进行可靠地报文转换传输处理。

发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一种报文转换过程中的超长报文的处理方法,以保证IPv4网络与IPv6网络互通时,不会因为超长报文的出现而影响报文在两网之间的可靠传输。
本发明的目的是通过以下技术方案实现的本发明提供了一种报文转换过程中的超长报文的处理方法,包括A、进行报文转换处理的网络设备对收到的报文进行转换处理;B、判断转换处理后的报文的长度是否大于将要传输该报文的网络的路径最大传输单元,如果是,则丢弃该报文,同时向发送所述报文的网络返回报文超长错误消息,否则,将该报文发送到传输该报文的网络中进行传输;C、发送所述报文的网络设备收到报文超长错误消息,将减小所发送报文的长度。
所述的步骤A包括基于NAT-PT对报文进行转换处理。
本发明中,步骤A所述的进行报文转换处理的网络设备可以为路由器。
本发明中,步骤A所述的对收到的报文进行转换处理为对收到的IPv4报文转换为IPv6报文的处理,或者对收到的IPv6报文转换为IPv4报文的处理。
所述的步骤B还包括如果转换后的报文的长度大于传输该报文的网络的路径最大传输单元,则继续判断是否需要对该报文进行分片处理,如果需要,则直接对转换后的报文进行分片处理,并将分片后的报文发送到传输该报文的网络中进行传输,否则,将丢弃该报文。
所述的步骤B进一步包括B1、判断由IPv6报文转换获得的IPv4报文长度是否大于IPv4网络的路径最大传输单元值,如果大于,则执行步骤B3,否则,执行步骤B2;B2、将所述的IPv4报文发送到IPv4网络中进行传输;B3、判断IPv6网络中的路径最大传输单元值是否为最小值,如果是,则对所述的IPv4报文进行分片处理后发送到IPv4网络中进行传输,否则,丢弃该IPv4报文,并向IPv6网络发送报文超长错误消息。
所述的IPv6网络中的路径最大传输单元值的最小值为1280字节。
所述的步骤B进一步包括B4、判断由IPv4报文转换获得的IPv6报文长度是否大于IPv6网络的路径最大传输单元值,如果大于,则执行步骤B3,否则,执行步骤B2;B5、将所述的IPv6报文发送到IPv6网络中进行传输;B6、丢弃该IPv6报文,并向IPv4网络发送报文超长错误消息。
本发明中,步骤B所述的报文超长错误消息可以为基于ICMP(互联网控制消息协议)的消息或基于ICMPv6(第六版互联网控制消息协议)的消息。
所述的执行步骤C之后还包括步骤DD、继续执行步骤A、步骤B和步骤C。
由上述本发明提供的技术方案可以看出,本发明中使用ICMP和ICMPv6报文为PMTU不同的实际情况提供辅助的处理,从而使得本发明的整个实现过程较为简单。同时,本发明的实现还可以有效地避免在实际通信中IPv6网络和IPv4网络由于PMTU的不同而无法通信,或者产生不必要的报文分片的情况出现。


图1为本发明应用的网络组网结构示意图;图2为本发明所述的方法的流程图1;图3为本发明所述的方法的流程图2。
具体实施例方式
本发明的核心思想是在IPv6报文与IPv4报文间进行转换的过程中,如果转换后的报文大于相应网络的PMTU时,则向另一网络的上一跳发送ICMP报文或ICMPv6报文,报告报文超长错误“Packet Too Big Error”,要求上一跳主机减小其发送的报文长度,以保证报文在IPv4网络与IPv6网络间可靠地进行传输。
由于IPv4和IPv6在网络中处于三层,而二层网络有多种,因此,本发明仅以以太网为基础作进一步的描述,其他网络类型与下述描述相似。
如图1所示,为了在IPv6网络和IPv4网络中的互通,需要在两网络间的路由器中增设NAT-PT功能,图1中的IPv4网络或IPv6网络中的主机也可以是网络中的路由器。
图1中,IPv6主机同IPv4主机的互访有两种情况一种情况为当IPv6主机访问IPv4主机时,首先需要将IPv4主机的地址20.1.2.1映射成IPv6地址,比如映射成的IPv6地址为0::20.1.2.1,当路由器(即图1中的Router)收到源地址(即SA,Source Address)是3001::1,目的地址(即DA,Destination Address)是0::20.1.2.1的IPv6报文时,用IPv4地址来替代报文中的目的地址,转换后的报文的源地址是30.1.1.2,目的地址是20.1.2.1,这样,IPv4主机收到该IPv4报文后就可以正常进行相应的处理了。
另一种情况为当IPv4主机访问IPv6主机时,首先IPv4主机发送源地址是20.1.2.1,目的地址是30.1.1.2的报文,当Router(即路由器)收到该报文后,进行NAT-PT转换,转换后报文的源地址是0::20.1.2.1,目的地址是3001::1,这样IPv6的主机收到转换后的IPv6报文后就可以进行正常的处理了。
为实现本发明则需要对上述两种情况分别进行特殊的处理,下面将结合附图对本发明的具体处理方式分别进行描述。
首先,对本发明中由IPv6报文转换为IPv4报文的处理过程进行详细的描述,如图2所示,具体包括步骤21IPv4网络与IPv6网络互通的过程中,路由器收到IPv6网络发来的需要发送给IPv4网络的IPv6报文时,需要将所述的IPv6报文转换为可以在IPv4网络中传输的IPv4报文;步骤22在路由器中,判断转换处理获得的IPv4报文的长度是否大于IPv4网络的PMTU值,如果超过,则执行步骤24,否则,执行步骤23;步骤23确定所述的IPv4报文可以通过IPv4网络进行传输,并将所述的IPv4报文发送到IPv4网络中进行传输。
步骤24发现转换后的IPv4报文的长度大于IPv4网络的PMTU,此时,路由器需要进一步判断发送IPv6报文的IPv6网络中的PMTU值是否为最小值,即1280Bytes(字节,8bit),如果是,则执行步骤26,否则,执行步骤25;该步骤的目的是判断IPv6网络中是否还可以进一步减小所发送的IPv6报文的长度,如果IPv6网络中的PMTU已经为最小值,则不可以,否则,还可以进一步减小所发送的IPv6报文的长度;步骤25如果IPv6网络的PMTU大于1280Bytes,则路由器将抛弃所述的IPv4报文,并向IPv6网络中的主机或者相应的路由器发送一个ICMPv6(第六版互联网控制消息协议)报文,即发送一个“Packet Too Big Error,报文超长错误”消息,IPv6主机收到该ICMPv6报文后,将减小发送的IPv6报文的长度,并执行步骤21,直到所述的IPv6报文转换后的IPv4报文的PMTU适合IPv4网络。
步骤26如果IPv6网络的PMTU为1280Bytes,即为IPv6报文的最小长度1280Bytes,则说明IPv6网络不可能再减小发送的IPv6报文的长度,此时,则路由器将转换后的IPv4报文进行分片处理后再发送给IPv4主机或相应的路由器,即将所述的IPv4报文通过IPv4网络进行传输。
之后,再对本发明中由IPv4报文转换为IPv6报文的处理过程进行详细的描述,如图3所示,具体包括步骤31IPv4网络与IPv6网络互通的过程中,路由器收到IPv4网络发来的需要发送给IPv6网络的IPv4报文时,需要将所述的IPv4报文转换为可以在IPv6网络中传输的IPv6报文;步骤32判断转换获得的IPv6报文的长度值是否大于IPv6网络的PMTU值,如果是,则执行步骤34,否则,执行步骤33;
步骤33将所述的IPv6报文发送给IPv6网络的主机或路由器,即通过IPv6网络传输所述的IPv6报文。
步骤34确定转换后的IPv6报文的长度大于IPv6网络的PMTU值,此时,路由器需要将抛弃报文,并向IPv4主机或者相应的路由器发送ICMP(互联网控制消息协议)报文,即发送一个“Packet Too Big Error,报文超长错误”消息,通知IPv4主机减小发送报文的长度,IPv4主机收到所述的ICMP报文后,将减小发送报文的长度,进行IPv4报文的发送,并执行步骤31,直到所述IPv4报文转换后的IPv6报文的PMTU适合IPv6网络。
可以看出,本发明实现了对IPv4网络与IPv6网络互通过程中的超长报文的有效处理,提高了网络传输的可靠性。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
权利要求
1.一种报文转换过程中的超长报文的处理方法,其特征在于,包括A、进行报文转换处理的网络设备对收到的报文进行转换处理;B、判断转换处理后的报文的长度是否大于将要传输该报文的网络的路径最大传输单元,如果是,则丢弃该报文,同时向发送所述报文的网络返回报文超长错误消息,否则,将该报文发送到传输该报文的网络中进行传输;C、发送所述报文的网络设备收到报文超长错误消息,将减小所发送报文的长度。
2.根据权利要求1所述的报文转换过程中的超长报文的处理方法,其特征在于,所述的步骤A包括基于网络地址转换-协议传输NAT-PT对报文进行转换处理。
3.根据权利要求1所述的报文转换过程中的超长报文的处理方法,其特征在于,步骤A所述的进行报文转换处理的网络设备可以为路由器。
4.根据权利要求1所述的报文转换过程中的超长报文的处理方法,其特征在于,步骤A所述的对收到的报文进行转换处理为对收到的IPv4报文转换为IPv6报文的处理,或者对收到的IPv6报文转换为IPv4报文的处理。
5.根据权利要求1所述的报文转换过程中的超长报文的处理方法,其特征在于,所述的步骤B还包括如果确定转换后的报文的长度大于传输该报文的网络的路径最大传输单元,则根据所述路径最大传输单元是否可调判断是否需要对该报文进行分片处理,如果需要,则直接对转换后的报文进行分片处理,并将分片后的报文发送到传输该报文的网络中进行传输,否则,将丢弃该报文。
6.根据权利要求1、2、3、4或5所述的报文转换过程中的超长报文的处理方法,其特征在于,所述的步骤B进一步包括B1、判断由IPv6报文转换获得的IPv4报文长度是否大于IPv4网络的路径最大传输单元值,如果大于,则执行步骤B3,否则,执行步骤B2;B2、将所述的IPv4报文发送到IPv4网络中进行传输;B3、判断IPv6网络中的路径最大传输单元值是否为最小值,如果是,则对所述的IPv4报文进行分片处理后发送到IPv4网络中进行传输,否则,丢弃该IPv4报文,并向IPv6网络发送报文超长错误消息。
7.根据权利要求6所述的报文转换过程中的超长报文的处理方法,其特征在于,所述的IPv6网络中的路径最大传输单元值的最小值为1280字节。
8.根据权利要求1、2、3、4或5所述的报文转换过程中的超长报文的处理方法,其特征在于,所述的步骤B进一步包括B4、判断由IPv4报文转换获得的IPv6报文长度是否大于IPv6网络的路径最大传输单元值,如果大于,则执行步骤B3,否则,执行步骤B2;B5、将所述的IPv6报文发送到IPv6网络中进行传输;B6、丢弃该IPv6报文,并向IPv4网络发送报文超长错误消息。
9.根据权利要求1、2、3、4或5所述的报文转换过程中的超长报文的处理方法,其特征在于,步骤B所述的报文超长错误消息可以为基于互联网控制消息协议ICMP的消息或基于第六版互联网控制消息协议ICMPv6的消息。
10.根据权利要求1、2、3、4或5所述的报文转换过程中的超长报文的处理方法,其特征在于,步骤C之后进一步包括步骤DD、继续执行步骤A、步骤B和步骤C。
全文摘要
本发明涉及一种报文转换过程中的超长报文的处理方法。该方法主要包括路由器判断确定转换处理后的报文的长度大于将要传输该报文的网络的路径最大传输单元时,则丢弃该报文,同时向发送所述报文的网络返回报文超长错误消息,所述网络收到报文超长错误消息,将减小所发送报文的长度,直到转换处理后的报文的长度不再大于传输该报文的网络的路径最大传输单元。本发明的实现还可以有效地避免在实际通信中IPv6网络和IPv4网络由于PMTU的不同而无法通信,或者产生不必要的报文分片的情况出现。
文档编号H04L29/06GK1744561SQ20041005538
公开日2006年3月8日 申请日期2004年9月1日 优先权日2004年9月1日
发明者管红光, 牛琨 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1