CN101217540A - 报文隧道分片的自适应调整方法、装置和系统 - Google Patents
报文隧道分片的自适应调整方法、装置和系统 Download PDFInfo
- Publication number
- CN101217540A CN101217540A CNA2008100001511A CN200810000151A CN101217540A CN 101217540 A CN101217540 A CN 101217540A CN A2008100001511 A CNA2008100001511 A CN A2008100001511A CN 200810000151 A CN200810000151 A CN 200810000151A CN 101217540 A CN101217540 A CN 101217540A
- Authority
- CN
- China
- Prior art keywords
- message
- ipv6
- tunnel
- ipv4
- length
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种报文隧道分片的自适应调整方法和装置,应用于IPv6 in IPv4隧道。该方法包括:在隧道终结点接收到IPv4分片报文时,识别首片IPv4报文所封装的IPv6报文长度并提取所封装的IPv6报文的源地址;向该源地址设备发送携带有该IPv6报文长度的调整指令,使其根据该IPv6报文长度调整出口的IPv6 PMTU,以避免后续的报文隧道分片。本发明还公开了一种报文隧道分片的自适应调整系统。通过本发明,减少了IPv6 in IPv4隧道中报文的隧道分片,提高了隧道转发性能和隧道起始点和终结点设备的处理性能,同时具有实时性,简单易行。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种报文隧道分片的自适应调整方法和自适应调整装置,以及一种报文隧道分片的自适应调整系统。
背景技术
IPv6 in IPv4隧道技术的使用,能够跨越IPv4(Internet Protocol Version 4,互联网协议第4版)网络实现IPv6(Internet Protocol Version 6,互联网协议第6版)网络的互通,其工作原理为:将IPv6数据报文前封装IPv4的报文头,通过隧道(Tunnel)使IPv6报文穿越IPv4网络,从而实现IPv6网络的互通。
图1A和图1B分别显示了IPv6 in IPv4手动隧道和IPv6 in IPv4自动隧道的组网情况,其隧道报文的处理过程如下:
(1)入隧道:在隧道起始点,对IPv6报文进行隧道加封装,即加IPv4报文头作为隧道封装转发头;进行路由,找到IPv4物理出接口并发送到IPv4公网上;
在此过程中,隧道报文需要经过两个接口,一是IPv6协议的Tunnel虚接口,一是IPv4协议的物理出接口。因此,共涉及两次MTU(MaximumTransfer Unit,最大传输单元)的比较,一是IPv6报文从Tunnel虚接口发送时的MTU比较,如果IPv6报文长度大于Tunnel虚接口的MTU,则该IPv6报文按照该MTU进行第一次分片(Fragment);一是IPv4报文从IPv4物理出接口发送时的MTU比较,该IPv4报文可能为加封装的IPv6分片,如果该IPv4报文长度大于IPv4物理出接口的MTU,则进行二次分片即隧道分片。
(2)隧道转发:隧道报文从隧道起始点开始,经过IPv4网络到达隧道终结点;
(3)出隧道:在隧道终结点,对接收到的IPv4报文进行隧道解封装,还原为原始入隧道的IPv6报文;进行路由,找到IPv6目的结点。
在此过程中,如果接收到的IPv4报文为分片报文,则该IPv4报文只能上送CPU进行软件重组(Defragment)和解封装;而如果接收到的IPv4报文不是分片报文,则该IPv4报文可由硬件芯片直接解封装。
对于软件解封装的情况,在解封装后只能进行到目的节点的隧道软转发;而对于硬件解封装的情况,如果还原完整的IPv6报文,则硬件直接通过查找IPv6路由表转发到目的结点即可;当然,如果还原后的IPv6报文是分片报文的情况,则还需要硬件上送上层协议进行到目的结点的软转发。
从上述应用场景可以看出,由于报文隧道分片情况的存在,无论是对隧道起始点还是隧道终结点来说,其性能都会因分片/重组处理而降低。尤其是对于支持隧道硬转发的路由器和交换机设备,由于IPv4报文隧道分片的存在,使终结点设备的硬件芯片无法执行转发,这严重降低了隧道流量的转发性能。
针对上述隧道分片的问题,互联网草案RFC2893提供了IPv6 in IPv4隧道加封装时的分片检测机制,可以在加封装结点通过IPv4 path MTU(IPv4路径最大传输单元,简称IPv4 PMTU),正确设置数据源的IPv6 path MTU(IPv6路径最大传输单元,简称IPv6 PMTU),从而避免加封装后的报文在IPv4转发路径上发生隧道分片。但是,这种分片检测机制要求加封装结点针对每条入隧道数据流维护其转发路径的IPv4 PMTU表项。由于当入隧道转发路径很多时,IPv4 PMTU表将变得十分庞大,这对于自动隧道来说尤其明显--其隧道报文在IPv4网络中的目的地址取自入隧道的IPv6报文目的地址中内嵌的IPv4地址,也就是说自动隧道的IPv4 PMTU表并不是固定的;同时,又由于IPv4网络的转发路径随时可能变化;因此,在加封装节点处进行IPv4PMTU的维护不但占据了大量的空间,难以进行该表的及时更新。
在现有技术中,对于IPv6 in IPv4隧道分片乃至隧道之外的分片的问题,也从其他角度进行了解决方案的探讨。专利申请CN1716944提供了一种网络路径最大传输长度发现方法,构造路径最大传输长度探测报文;由源节点向目的节点发送探测报文;目的节点根据收到的探测报文获取探测报文的分片信息并返回给源节点;源节点根据探测报文的分片信息获取路径最大传输长度。专利申请CN1647454也提供了一种类似的方案,通过构造PMTU发现分组并发送给目的结点来改变PMTU即路径最大传输单元。但是,上述由隧道起始点主动探测的方案必需周期性进行探测报文的发送,才能接近真实的了解隧道MTU,但无法在真正意义上实现实时响应;同时,周期性的进行报文发送处理和报文响应处理,将给隧道起始点和隧道终结点的性能带来影响。
综上所述,有必要实现一种简便易行且能够自适应调整数据源IPv6PMTU的技术方案,以减少报文隧道分片。
发明内容
本发明的实施例旨在提供一种报文隧道分片的自适应调整方案,以简便易行地实现数据源IPv6 PMTU的自适应调整。
为实现上述目的,本发明的实施例提供了一种报文隧道分片的自适应调整方法,应用于IPv6 in IPv4隧道,包括以下步骤:
在隧道终结点接收到IPv4分片报文时,识别首片IPv4报文所封装的IPv6报文长度并提取所封装的IPv6报文的源地址;
向该源地址设备发送携带有该IPv6报文长度的调整指令,使其根据该IPv6报文长度调整出口的IPv6 PMTU,以避免后续的报文隧道分片。
本发明的实施例还提供了一种报文隧道分片的自适应调整装置,适用于IPv6 in IPv4隧道,包括:
终结点分片报文检测单元,用于检测隧道终结点接收到的报文,并在接收到IPv4分片报文的情况下触发分片报文信息提取单元;
分片报文信息提取单元,用于根据该终结点分片报文检测单元的触发,识别首片IPv4报文所封装的IPv6报文长度并提取所封装的IPv6报文的源地址;
分片调整指令发送单元,与该分片报文信息提取单元连接,用于向该源地址设备发送携带有该IPv6报文长度的调整指令;
IPv6 PMTU调整单元,与该分片调整指令发送单元连接,用于接收调整指令,根据该IPv6报文长度调整源地址设备出口的IPv6 PMTU,以避免后续的报文隧道分片。
本发明的实施例还提供了一种报文隧道分片的自适应调整系统,包括IPv6报文源设备、IPv6 in IPv4隧道起始点、IPv6 in IPv4隧道和IPv6 in IPv4隧道终结点,还包括上述的报文隧道分片的自适应调整装置,用于根据隧道终结点IPv4分片报文的情况,自动调整IPv6报文源设备出口的IPv6 PMTU,以避免后续发生IPv4报文分片。
由上述技术方案可知,本发明的实施例通过监控隧道终结点接收到的分片报文,自动调整IPv6报文源设备出口的IPv6 PMTU,具有以下有益效果:
1、减少了IPv6 in IPv4隧道中报文的隧道分片,提高了隧道转发性能和隧道起始点和终结点设备的处理性能;
2、能够根据隧道报文状态随时调整,具有实时性;
3、无需周期性的探测工作和复杂PMTU表的维护,简单易行。
通过以下参照附图对优选实施例的说明,本发明的上述以及其它目的、特征和优点将更加明显。
附图说明
图1A显示了现有技术中IPv6 in IPv4手动隧道的组网情况;
图1B显示了现有技术中IPv6 in IPv4自动隧道的组网情况;
图2为本发明所提供的报文隧道分片的自适应调整方法一实施例的流程图;
图3为本发明所提供的报文隧道分片的自适应调整方法另一实施例的流程图;
图4A和图4B为采取了本发明所提供的报文隧道分片的自适应调整方法后,IPv6报文的处理流程;
图5为本发明所提供的报文隧道分片的自适应调整装置一实施例的框图;
图6为本发明所提供的报文隧道分片的自适应调整装置另一实施例的框图。
具体实施方式
下面将详细描述本发明的具体实施例。应当注意,这里描述的实施例只用于举例说明,并不用于限制本发明。
首先,应予说明的是,本发明所提供的技术方案用于克服IPv6报文在IPv6 in IPv4隧道中分片的问题,而对于IPv6报文具体的入隧道、转发和出隧道的操作则沿用现有技术加以处理。同时需要指出,以下描述中所称的隧道都是指IPv6 in IPv4隧道。
对于隧道中分片问题的存在,使隧道终结点必须处理IPv4分片重组,影响隧道转发性能。由于判断报文经隧道加封装后是否分片对于隧道起始点来说需要付出很大代价甚至是不支持的,但是对于隧道终结点来说,这个判断确实很容易实现并且能够唯一确定的,因此,可以通过隧道终结点进行报文是否被分片的判断工作。
进一步的,为了避免构建和周期性发送探测报文所带来的设备和隧道的额外开销,以及保证实时克服隧道分片问题,可以通过根据监视实际转发报文的分片情况并加以后续调整实现。
基于上述考量,本发明提供了通过在隧道终结点监测分片情况并相应调整数据源IPv6 PMTU的技术方案,下面结合具体实施例加以说明。
参见图2,显示了本发明所提供的报文隧道分片的自适应调整方法一实施例的流程图。该实施例应用于IPv6 in IPv4隧道,包括以下步骤:
S1、隧道终结点接收到IPv4报文;
从图1A和图1B可以看出,隧道终结点接收到的是封装有IPv6报文的IPv4报文,以实现跨越IPv4网络的通信,使不连续的IPv6孤岛网络可以通过IPv4网络进行互联。
具体的,报文到达隧道终结点之前,如果该隧道是手动隧道,即需要手工配置指定隧道源地址和目的地址的隧道,经过以下步骤:
SA1、建立隧道源地址和目的地址的隧道;
SA2、IPv6网络中的数据源设备将IPv6报文按照IPv6 PMTU进行分片操作,并将其发送至隧道的起始点;
SA3、该起始点设备根据路由表判定该报文要通过隧道进行转发,相应的在该IPv6报文前封装上IPv4的报文头;
SA4、该起始点设备将封装后的IPv4报文通过隧道转发到隧道终结点,在此过程中,如果该IPv4报文长度超过了隧道的IPv4 PMTU,则进行隧道分片转发。
相应的,该隧道可能是自动隧道,即只需配置隧道源地址,无需手工配置指定隧道目的地址的隧道,报文入隧道加封装时根据IPv6目的地址自动获取内嵌的IPv4地址作为隧道目的地址,比如,ISATAP(Intra-Site AutomaticTunnel Addressing Protocol)隧道、6to4隧道和IPv4-Compatible隧道,都是IPv6 in IPv4自动隧道。这种情况下,数据源设备是IPv4/IPv6双栈主机。
在报文到达自动隧道终结点之前,经过以下步骤:
SB1、IPv4/IPv6双栈主机在IPv6报文前封装上IPv4的报文头;
SB2、IPv4/IPv6双栈主机根据内嵌的IPv4地址,与相应的路由器/交换机自动建立隧道;IPv4/IPv6双栈主机作为隧道起始点,路由器/交换机是隧道终结点;
SB3、IPv4/IPv6双栈主机将封装后的IPv4报文通过隧道转发到隧道终结点,在此过程中,如果该IPv4报文长度超过了隧道的IPv4 PMTU,则进行隧道分片转发。
S2、识别隧道终结点接收到的报文,如果是分片报文,则执行步骤S3,如果不是分片报文,则执行后续的硬件解封装和转发操作;
S3、识别首片IPv4报文所封装的IPv6报文长度;
具体的,本步骤S3可以包括:
S31、记录首片IPv4报文的总长度;由于超出了隧道IPv4 PMTU才进行分片,因此其首片长度就是隧道的IPv4 PMTU;
S32、识别该首片IPv4报文中IPv4报文头的长度;
S33、计算首片IPv4报文所封装的IPv6报文长度,为该首片IPv4报文的总长度与其中IPv4报文头的长度之差。
S4、提取所封装的IPv6报文的源地址;
具体的,本步骤S4可以包括:
S41、隧道终结点的硬件芯片将分片报文上送CPU,以软件方式进行隧道解封装,获得IPv6报文;
S42、提取所获得的IPv6报文中携带的源地址信息。
S5、向所述源地址设备发送携带有该IPv6报文长度的调整指令,使其根据所述IPv6报文长度调整出口的IPv6 PMTU,以避免后续的报文隧道分片;
在本步骤S5中,该调整指令可以为携带有该IPv6报文长度的IPv6网际控制信息协议(Internet Control Message Protocol,简称ICMP)的“packet too big”(报文超长)信息,这样,接收到该指令的源地址设备就能够相应设置PMTU。
具体的,设置IPv6 PMTU的步骤可以包括:调整出口的IPv6 PMTU为该IPv6报文长度。或者,调整出口的IPv6 PMTU小于该IPv6报文长度。
在本实施例中,采用调整出口的IPv6 PMTU为该IPv6报文长度的方案时,不仅使此后继续发送的IPv6报文都按照新的PMTU分片,封装后恰好能被隧道承载,不致发生隧道分片;同时能够最大程度的降低源地址设备进行IPv6报文分片的可能性。
通过上述步骤S1~S5可以看出,通过本发明所提供的报文隧道分片的自适应调整方法,每当发现隧道报文首包发生分片时,就可以即时进行相应的调整工作,既无需维护庞大的PMTU表,又无需周期性的进行探测报文的发送识别,及时准确的实现数据源的MTU调整,避免后续隧道分片的出现。
上述步骤S1~S5发生在隧道转发的过程当中,但并不影响报文隧道转发的进行。
具体来说,对于上述首包发生隧道分片的情况,步骤S41之后还包括:
SC1、隧道终结点识别解封装后的IPv6报文的目的地址,如果是本设备,即隧道终结点也是一个IPv4/IPv6双栈主机,则执行步骤SC2,如果不是本设备,则执行步骤SC3;
SC2、将IPv6报文转给上层协议进行处理;
SC3、将该IPv6报文在IPv6网络中转发到目的地址。
需要注意的是,对于首包发生隧道分片的情况,上述步骤SC1~SC3由隧道终结点CPU软件实现。相应的,对于上述首包未发生隧道分片的情况,步骤S2之后执行步骤SC0:以硬件方式进行报文解封装,以及对解封装后的报文执行上述步骤SC1~SC3,其可由隧道终结点的硬件芯片直接实现。
进一步的,上述实施例提供的报文隧道分片的自适应调整方法所使用的条件是源地址设备的IPv6 PMTU可以任意调整。但在实际使用中,往往该IPv6 PMTU具有最小阈值,如1280。这种情况下,如果隧道分片中IPv6报文长度已经小于该最小阈值,那么向数据源发送调整指令是不会产生效果的,IPv6 PMTU已经无法进一步进行数值的缩小调整了。这也就意味着,即使不断的发送调整指令,后续的报文仍然会被隧道分片。
为了克服这一问题,本发明的实施例提供了改进的技术方案,请参见图3,在图2所示实施例的步骤S5之前还包括:
S00、对IPv6报文长度与预设的IPv6 PMTU所允许的最小阈值进行比较,如果该IPv6报文长度不小于该最小阈值,则执行步骤S5。
本领域技术人员可以了解,上述步骤S00也可以发生在步骤S4之前,只要已经计算得出IPv6的报文长度即可。当S00发生在步骤S4之前时,如果该IPv6报文长度不小于该最小阈值,则执行步骤S4。
通过上述改进的技术方案,可以避免调整指令的无益发送处理工作。
同时,在IPv6 PMTU已经无法继续调整的情况下,还可以通过其它机制或者手工调整IPv4网络中各节点的IPv4 PMTU的方式来避免后续的IPv4报文隧道分片,即在步骤S00该IPv6报文长度小于该最小阈值的情况下,执行步骤S01:调整IPv4网络中各节点的IPv4 PMTU不小于所述首片IPv4报文的总长度。
请参见图4A和图4B,显示了采取了本发明所提供的报文隧道分片的自适应调整方法后,IPv6报文的处理流程,可以看出,当源地址设备的IPv6 PMTU调整之后,后续的IPv6报文将按照调整后的IPv6 PMTU进行IPv6报文分片。
下面通过一个具体实施例对本发明所提供的报文隧道分片的自适应调整方法加以描述,以图1B所示的自动隧道组网情况为例。
其中,IPv4/IPv6双栈主机需要跨越IPv4网络和IPv6网络中的IPv6主机通讯,IPv4/IPv6双栈主机和Router之间建立了IPv6 in IPv4自动隧道,例如建立的是ISATAP隧道。IPv4/IPv6双栈主机采用默认的MTU 1500,当该主机的上层协议发送了一个长度为2000字节的IPv6三层报文需要通过IPv6in IPv4隧道转发时,过程描述如下:
(1)由于IPv6报文长度大于1500,则IPv6报文先被分成两个分片A和B;在本实施例中,以分片A长度为1500,分片B长度为560,即IPv6报文静载荷+40字节的IPv6报文头+分片信息为例加以说明。需要说明的是,随着源设备厂商的区别,实际分片的长度可能存在细微的差别。比如,在IPv6PMTU为1500的情况下,很有可能前一分片数值稍小,如1496;但是这种实际应用中的调整并不影响本发明提供的技术方案,为了便于说明,本实施例取整值1500的情况加以说明。
(2)对这两个IPv6分片报文分别加隧道封装;
对于IPv6首片A,加封装之前长度为1500,封装后的长度为1520,增加的20字节为IPv4封装头长度;
对于IPv6第二分片B,加封装之前的长度为560,封装后的长度为580,命名为E;
(3)将上述加封装后的报文由物理出口(网卡)发送:
由于IPv4报文A长度大于1500,该报文被第2次分片,这两个IPv4分片分别命名为C和D,然后转发到IPv4网络中;
由于IPv4报文E长度小于1500,在IPv4物理出口不会分片,直接转发到IPv4网络中。
(4)分片报文C、D和完整报文E经IPv4网络转发到隧道终结点设备;
(5)隧道终结点设备进行隧道解封装和转发;
其中,由于C、D为分片报文,隧道终结点设备的硬件无法完成C和D的报文重组,将C、D上送CPU重组;
分片重组前,记录三层IPv4报文分片的首片C长度,命名该长度为Len4,Len4即为隧道报文转发路径中的IPv4 PMTU;
分片重组后,进行隧道解封装还原为IPv6报文A,此时隧道终结点设备已获知IPv6数据源地址,如果(Len4-20)>=1280,则向IPv6数据源发送IPv6 ICMP″packet too big″消息,携带MTU=(Len4-20),本例中MTU=(1500-20)=1480,然后将IPv6报文A转发到IPv6网络的目的主机;
由于E为完整的隧道报文,直接由硬件解封装还原为IPv6报文并转发到IPv6网络的目的主机;
(6)IPv6目的主机完成报文A和B的重组并上送上层协议进行处理。
在上述步骤(1)~(6)过程中,IPv4/IPv6双栈主机发送的首包经过上述转发过程,已经接收到隧道终结点设备发送来的too big消息,自动调整IPv6 PMTU,在本例中调整为1480,可以理解,如果调整为小于1480的值也是可行的。这样,后续IPv4/IPv6双栈主机发送的IPv6入隧道报文都会先做合适的分片,然后加隧道封装并直接从IPv4物理出口发送,不会进行2次分片,发送到IPv4网络的IPv4报文都是完整的隧道报文。
综上所述,通过本发明实施例所提供的报文隧道分片的自适应调整方法,可以在隧道终结点检测出报文分片情况并通知IPv6数据源调整IPv6PMTU为一个合适的值,解决隧道报文在IPv4网络转发过程中再次被分片的问题,使得到达隧道终结点的报文都是完整的IPv4报文,可实现完全的隧道硬转发,并直接硬件解隧道封装,提高转发性能。同时,是针对实际出现的分片报文进行处理,不但具有实时性,而且简单易行。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如下步骤:
在隧道终结点接收到IPv4分片报文时,识别首片IPv4报文所封装的IPv6报文长度并提取所封装的IPv6报文的源地址;
向所述源地址设备发送携带有所述IPv6报文长度的调整指令,使其根据所述IPv6报文长度调整出口的IPv6路径最大传输单元PMTU,以避免后续的报文隧道分片。
所述的存储介质包括:ROM/RAM(Read Only Memory/Random-AccessMemory,只读存储器/随机访问内存)、磁碟或者光盘等。
本发明的实施例还提供了一种报文隧道分片的自适应调整装置100,适用于IPv6 in IPv4隧道,请参见图5,包括:
终结点分片报文检测单元101,用于检测隧道终结点接收到的报文,并在接收到IPv4分片报文的情况下触发分片报文信息提取单元102;在实际应用中,该终结点分片报文检测单元101即可以设置在隧道终结点设备中,也可以独立设置;
分片报文信息提取单元102,用于根据终结点分片报文检测单元101的触发,识别首片IPv4报文所封装的IPv6报文长度并提取所封装的IPv6报文的源地址;
具体的,该分片报文信息提取单元102可以包括:
IPv6报文长度提取模块1021,用于计算首片IPv4报文所封装的IPv6报文长度,为首片IPv4报文的总长度与其中IPv4报文头的长度之差;
IPv6报文源地址提取模块1022,用于识别隧道解封装后重组的IPv6报文,从中提取所携带的源地址信息。
分片调整指令发送单元103,与分片报文信息提取单元102连接,用于向该源地址设备发送携带有IPv6报文长度的调整指令,可以为ICMP的“packet too big”消息;
IPv6 PMTU调整单元104,与分片调整指令发送单元103连接,用于接收调整指令,根据该IPv6报文长度调整源地址设备出口的IPv6PMTU,以避免后续的报文隧道分片。在实际应用中,该IPv6 PMTU调整单元104可以通过数据源设备固有的功能实现,也可以单独设置;其具体的调整操作可以包括将IPv6 PMTU调整为该IPv6报文长度,也可以将IPv6 PMTU调整为小于该IPv6报文长度的值。
通过上述实施例提供的报文隧道分片的自适应调整装置100,只要数据源设备发送的报文发生隧道分片的情况,就能够自动调整数据源设备的IPv6PMTU,从而由该数据源设备发出并通过同一隧道的后续报文都不会再发生分片现象,能够减少隧道起始点的报文分片次数和隧道终结点的报文重组次数,也避免因为需要处理IPv4分片而采取的软件处理,充分利用硬件能力进行报文转发,提高了隧道转发能力。
但需要指出的是,上述实施例所提供的技术方案在IPv6 PMTU存在最小阈值的情况下,会存在难以适用的情况。为了解决这一问题,请结合图6,本发明还提供了较佳的报文隧道分片的自适应调整装置100,在图5所示实施例的基础上,还包括:
长度比较单元105,连接在分片报文信息提取单元102和分片调整指令发送单元103之间,用于对IPv6报文长度与IPv6 PMTU所允许的最小阈值进行比较,并在IPv6报文长度不小于该最小阈值的情况下,触发分片调整指令发送单元103。
这样,当IPv6报文长度小于最小阈值的时候,分片调整指令发送单元103不会被触发,因此不会导致调整指令的重复且无益的发送。
进一步的,还包括:
IPv4 PMTU调整单元106,接受长度比较单元105在IPv6报文长度小于所述最小阈值情况下的触发,调整IPv4网络中各节点的IPv4 PMTU不小于首片IPv4报文的总长度。
这是在IPv6 PMTU无法调整的情况下,为了避免隧道分片所采取的补充方案,比如,如果IPv6 PMTU已经调整到了最小阈值,那么通过将IPv4 PMTU调整到1300,即可保证后续的报文不被隧道分片。
本发明的实施例还提供了一种报文隧道分片的自适应调整系统,包括IPv6报文源设备、IPv6 in IPv4隧道起始点、IPv6 in IPv4隧道和IPv6 in IPv4隧道终结点,还包括上述的报文隧道分片的自适应调整装置100。
该报文隧道分片的自适应调整装置100用于根据隧道终结点IPv4分片报文的情况,自动调整IPv6报文源设备出口的IPv6 PMTU,以避免后续发生IPv4报文分片。
本领域普通技术人员可以理解,上述报文隧道分片的自适应调整装置100的各功能块可以集中设置,也可以广泛分布于IPv6报文源设备、IPv6 inIPv4隧道起始点和IPv6 in IPv4隧道终结点中。例如,IPv6 PMTU调整单元104设置在IPv6报文源设备中,而终结点分片报文检测单元101、分片报文信息提取单元102、分片调整指令发送单元103和长度比较单元105设置在IPv6 in IPv4隧道终结点中,IPv4 PMTU调整单元106设置在IPv6 in IPv4隧道起始点。上述分布方式仅作为一个具体实施例,自适应调整装置100的各功能块具有多样性的设置方式,可根据实际需要加以设置。
虽然已参照几个典型实施例描述了本发明,但应当理解,所用的术语是说明和示例性、而非限制性的术语。由于本发明能够以多种形式具体实施而不脱离发明的精神或实质,所以应当理解,上述实施例不限于任何前述的细节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。
Claims (10)
1.一种报文隧道分片的自适应调整方法,应用于IPv6 in IPv4隧道,其特征在于,包括以下步骤:
在隧道终结点接收到IPv4分片报文时,识别首片IPv4报文所封装的IPv6报文长度并提取所封装的IPv6报文的源地址;
向所述源地址设备发送携带有所述IPv6报文长度的调整指令,使其根据所述IPv6报文长度调整出口的IPv6路径最大传输单元PMTU,以避免后续的报文隧道分片。
2.根据权利要求1所述的报文隧道分片的自适应调整方法,其特征在于,所述识别首片IPv4报文所封装的IPv6报文长度的步骤包括:
记录所述首片IPv4报文的总长度;
识别所述首片IPv4报文中IPv4报文头的长度;
计算首片IPv4报文所封装的IPv6报文长度,为所述首片IPv4报文的总长度与其中IPv4报文头的长度之差;
所述提取IPv6报文的源地址的步骤包括:
对所述分片IPv4报文进行隧道解封装,重组为IPv6报文;
提取所述IPv6报文携带的源地址信息。
3.根据权利要求1或2所述的报文隧道分片的自适应调整方法,其特征在于,所述发送调整指令的步骤之前还包括:对所述IPv6报文长度与预设的IPv6 PMTU所允许的最小阈值进行比较,如果所述IPv6报文长度不小于该最小阈值,则执行所述发送调整指令的步骤。
4.根据权利要求3所述的报文隧道分片的自适应调整方法,其特征在于,如果所述IPv6报文长度小于所述最小阈值,则调整IPv4网络中各节点的IPv4 PMTU不小于所述首片IPv4报文的总长度。
5.根据权利要求1或2所述的报文隧道分片的自适应调整方法,其特征在于,所述根据IPv6报文长度调整出口的IPv6路径最大传输单元PMTU的步骤包括:调整出口的IPv6路径最大传输单元PMTU为所述IPv6报文长度。
6.一种报文隧道分片的自适应调整装置,适用于IPv6 in IPv4隧道,其特征在于,包括:
终结点分片报文检测单元,用于检测隧道终结点接收到的报文,并在接收到IPv4分片报文的情况下触发分片报文信息提取单元;
分片报文信息提取单元,用于根据所述终结点分片报文检测单元的触发,识别首片IPv4报文所封装的IPv6报文长度并提取所封装的IPv6报文的源地址;
分片调整指令发送单元,与所述分片报文信息提取单元连接,用于向所述源地址设备发送携带有所述IPv6报文长度的调整指令;
IPv6 PMTU调整单元,与所述分片调整指令发送单元连接,用于接收调整指令,根据所述IPv6报文长度调整源地址设备出口的IPv6 PMTU,以避免后续的报文隧道分片。
7.根据权利要求6所述的报文隧道分片的自适应调整装置,其特征在于,所述分片报文信息提取单元包括:
IPv6报文长度提取模块,用于计算首片IPv4报文所封装的IPv6报文长度,为首片IPv4报文的总长度与其中IPv4报文头的长度之差;
IPv6报文源地址提取模块,用于识别隧道解封装后重组的IPv6报文,从中提取所携带的源地址信息。
8.根据权利要求6或7所述的报文隧道分片的自适应调整装置,其特征在于,还包括:
长度比较单元,连接在所述分片报文信息提取单元和分片调整指令发送单元之间,用于对所述IPv6报文长度与IPv6 PMTU所允许的最小阈值进行比较,并在所述IPv6报文长度不小于该最小阈值的情况下,触发所述分片调整指令发送单元。
9.根据权利要求8所述的报文隧道分片的自适应调整装置,其特征在于,还包括:
IPv4 PMTU调整单元,接受所述长度比较单元在所述IPv6报文长度小于所述最小阈值情况下的触发,调整IPv4网络中各节点的IPv4 PMTU不小于所述首片IPv4报文的总长度。
10.一种报文隧道分片的自适应调整系统,包括IPv6报文源设备、IPv6 in IPv4隧道起始点、IPv6 in IPv4隧道和IPv6 in IPv4隧道终结点,其特征在于,还包括如权利要求6~9任一所述的报文隧道分片的自适应调整装置,用于根据隧道终结点IPv4分片报文的情况,自动调整IPv6报文源设备出口的IPv6 PMTU,以避免后续发生IPv4报文分片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100001511A CN101217540A (zh) | 2008-01-04 | 2008-01-04 | 报文隧道分片的自适应调整方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100001511A CN101217540A (zh) | 2008-01-04 | 2008-01-04 | 报文隧道分片的自适应调整方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101217540A true CN101217540A (zh) | 2008-07-09 |
Family
ID=39623903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008100001511A Pending CN101217540A (zh) | 2008-01-04 | 2008-01-04 | 报文隧道分片的自适应调整方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101217540A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102036304A (zh) * | 2009-09-28 | 2011-04-27 | 华为技术有限公司 | 为终端提供最大传输单元长度的方法及分组交换网关 |
CN101552728B (zh) * | 2009-05-12 | 2012-05-23 | 北京师范大学 | 一种面向IPv6的路径MTU发现方法及系统 |
CN102957590A (zh) * | 2011-08-29 | 2013-03-06 | 盛科网络(苏州)有限公司 | 报文分片方法及装置 |
CN104618275A (zh) * | 2015-01-21 | 2015-05-13 | 大唐移动通信设备有限公司 | 一种分片处理的方法和设备 |
CN102821051B (zh) * | 2012-08-21 | 2015-11-18 | 神州数码网络(北京)有限公司 | 通用路由封装隧道中路径最大传输单元更改方法 |
WO2016192402A1 (zh) * | 2015-06-03 | 2016-12-08 | 中兴通讯股份有限公司 | 一种调整IPv6隧道最大传输单元的方法和装置 |
CN106411791A (zh) * | 2016-09-05 | 2017-02-15 | 上海斐讯数据通信技术有限公司 | Icmp分片报文重组方法及转发方法、控制器及交换机 |
CN106713170A (zh) * | 2016-12-30 | 2017-05-24 | 杭州迪普科技股份有限公司 | 一种vsm通道的报文分片方法及装置 |
CN107493260A (zh) * | 2016-06-09 | 2017-12-19 | 苹果公司 | 用于数据传输的自适应段尺寸的装置、系统和方法 |
WO2018121257A1 (zh) * | 2016-12-30 | 2018-07-05 | 中兴通讯股份有限公司 | 报文发送方法、装置、系统以及存储介质 |
CN110177052A (zh) * | 2019-04-30 | 2019-08-27 | 佛山易识科技有限公司 | 一种隧道报文的分片处理方法及装置 |
CN117201128A (zh) * | 2023-09-11 | 2023-12-08 | 泉城省实验室 | 一种基于流量感知的隧道预防分片攻击的方法和装置 |
CN117376272A (zh) * | 2023-12-08 | 2024-01-09 | 广州通则康威科技股份有限公司 | 一种报文长度调整方法、装置、系统和存储介质 |
-
2008
- 2008-01-04 CN CNA2008100001511A patent/CN101217540A/zh active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101552728B (zh) * | 2009-05-12 | 2012-05-23 | 北京师范大学 | 一种面向IPv6的路径MTU发现方法及系统 |
CN102036304B (zh) * | 2009-09-28 | 2013-12-18 | 华为技术有限公司 | 为终端提供最大传输单元长度的方法及分组交换网关 |
CN102036304A (zh) * | 2009-09-28 | 2011-04-27 | 华为技术有限公司 | 为终端提供最大传输单元长度的方法及分组交换网关 |
CN102957590A (zh) * | 2011-08-29 | 2013-03-06 | 盛科网络(苏州)有限公司 | 报文分片方法及装置 |
CN102957590B (zh) * | 2011-08-29 | 2015-03-11 | 盛科网络(苏州)有限公司 | 报文分片方法及装置 |
CN102821051B (zh) * | 2012-08-21 | 2015-11-18 | 神州数码网络(北京)有限公司 | 通用路由封装隧道中路径最大传输单元更改方法 |
CN104618275A (zh) * | 2015-01-21 | 2015-05-13 | 大唐移动通信设备有限公司 | 一种分片处理的方法和设备 |
WO2016192402A1 (zh) * | 2015-06-03 | 2016-12-08 | 中兴通讯股份有限公司 | 一种调整IPv6隧道最大传输单元的方法和装置 |
CN107493260A (zh) * | 2016-06-09 | 2017-12-19 | 苹果公司 | 用于数据传输的自适应段尺寸的装置、系统和方法 |
CN107493260B (zh) * | 2016-06-09 | 2021-06-29 | 苹果公司 | 用于数据传输的自适应段尺寸的装置、系统和方法 |
CN106411791A (zh) * | 2016-09-05 | 2017-02-15 | 上海斐讯数据通信技术有限公司 | Icmp分片报文重组方法及转发方法、控制器及交换机 |
WO2018121257A1 (zh) * | 2016-12-30 | 2018-07-05 | 中兴通讯股份有限公司 | 报文发送方法、装置、系统以及存储介质 |
CN108270673A (zh) * | 2016-12-30 | 2018-07-10 | 中兴通讯股份有限公司 | 报文发送方法、装置以及系统 |
CN108270673B (zh) * | 2016-12-30 | 2019-08-13 | 中兴通讯股份有限公司 | 报文发送方法、装置以及系统 |
CN106713170A (zh) * | 2016-12-30 | 2017-05-24 | 杭州迪普科技股份有限公司 | 一种vsm通道的报文分片方法及装置 |
CN110177052A (zh) * | 2019-04-30 | 2019-08-27 | 佛山易识科技有限公司 | 一种隧道报文的分片处理方法及装置 |
CN117201128A (zh) * | 2023-09-11 | 2023-12-08 | 泉城省实验室 | 一种基于流量感知的隧道预防分片攻击的方法和装置 |
CN117201128B (zh) * | 2023-09-11 | 2024-03-15 | 泉城省实验室 | 一种基于流量感知的隧道预防分片攻击的方法和装置 |
CN117376272A (zh) * | 2023-12-08 | 2024-01-09 | 广州通则康威科技股份有限公司 | 一种报文长度调整方法、装置、系统和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101217540A (zh) | 报文隧道分片的自适应调整方法、装置和系统 | |
US11477106B2 (en) | Data packet sending method and apparatus in IPV6 network | |
US7471681B2 (en) | Determining network path transmission unit | |
CN104618194B (zh) | 软件定义网络报文监控方法和sdn控制器、交换设备 | |
US20090310663A1 (en) | Systems and methods for data streaming | |
US11689501B2 (en) | Data transfer method and virtual switch | |
CN102769869A (zh) | 无线接入点的控制和配置报文快速转发系统 | |
JP2013537009A5 (ja) | データの送信方法、送信機、受信機、並びにプログラム | |
US11509749B2 (en) | Data processing method and apparatus, and computer | |
WO2018188663A1 (zh) | 信息通告方法及装置 | |
CN112653634A (zh) | 一种流量控制方法、装置、设备及可读存储介质 | |
CN104521220A (zh) | 报文处理方法及设备 | |
CN101808107A (zh) | 一种存储设备与用户二层互通的方法、装置及系统 | |
JP3808079B2 (ja) | ゲートウェイ装置及びその制御方法 | |
CN107809385B (zh) | 一种Packet-In消息的触发与控制方法 | |
CN105162657A (zh) | 一种网络测试性能优化的方法 | |
US9985926B2 (en) | Address acquiring method and network virtualization edge device | |
WO2015010514A1 (zh) | 一种信号转换方法、装置及系统 | |
CN114598675A (zh) | 基于arp实现主机阻断的控制方法、装置、设备及介质 | |
KR102087735B1 (ko) | 중계 프록시 서버, 이를 이용한 데이터 전송 중계 방법 및 데이터 전송시스템 | |
US20160087934A1 (en) | Communication system, communication method, and transmission apparatus | |
CN108632898B (zh) | 一种通信设备以及封包传送的方法 | |
JP2003244251A (ja) | トンネル経路を再構成するパケット通信方法 | |
CN107204889A (zh) | 服务器的封包过滤方法及基板管理控制器 | |
JP2011249922A (ja) | ネットワーク装置、tcpパケット受信装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080709 |