报文隧道分片的自适应调整方法、装置和系统的制作方法

文档序号:7682024阅读:230来源:国知局
专利名称:报文隧道分片的自适应调整方法、装置和系统的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种报文隧道分片的自适应调整方 法和自适应调整装置,以及一种报文隧道分片的自适应调整系统。
背景技术
IPv6 in IPv4隧道技术的使用,能够跨越IPv4(Internet Protocol Version 4, 互联网协议第4版)网络实现IPv6 (Internet Protocol Version 6,互联网协议 第6版)网络的互通,其工作原理为将IPv6数据报文前封装IPv4的报文 头,通过隧道(Tunnel)使IPv6报文穿越IPv4网络,从而实现IPv6网络的互通。图1A和图IB分别显示了 IPv6 in IPv4手动隧道和IPv6 in IPv4自动隧 道的组网情况,其隧道报文的处理过程如下(1) 入隧道在隧道起始点,对IPv6报文进行隧道加封装,即加IPv4 报文头作为隧道封装转发头;进行路由,找到IPv4物理出接口并发送到IPv4 公网上;在此过程中,隧道报文需要经过两个接口, 一是IPv6协议的Tunnel虚 接口, 一是IPv4协议的物理出接口。因此,共涉及两次MTU (Maximum TransferUnit,最大传输单元)的比较, 一是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网络的转发路径随时可能变化;因此,在加封装节点处进行IPv4 PMTU的维护不但占据了大量的空间,难以进行该表的及时更新。在现有技术中,对于IPv6 in IPv4隧道分片乃至隧道之外的分片的问题, 也从其他角度进行了解决方案的探讨。专利申请CN1716944提供了一种网络 路径最大传输长度发现方法,构造路径最大传输长度探测报文;由源节点向 目的节点发送探测报文;目的节点根据收到的探测报文获取探测报文的分片 信息并返回给源节点;源节点根据探测报文的分片信息获取路径最大传输长 度。专利申请CN1647454也提供了一种类似的方案,通过构造PMTU发现 分组并发送给目的结点来改变PMTU即路径最大传输单元。但是,上述由隧道起始点主动探测的方案必需周期性进行探测报文的发送,才能接近真实的了解隧道MTU,但无法在真正意义上实现实时响应;同时,周期性的进行 报文发送处理和报文响应处理,将给隧道起始点和隧道终结点的性能带来影 响。综上所述,有必要实现一种简便易行且能够自适应调整数据源IPv6 PMTU的技术方案,以减少报文隧道分片。发明内容本发明的实施例旨在提供一种报文隧道分片的自适应调整方案,以简便 易行地实现数据源IPv6 PMTU的自适应调整。为实现上述目的,本发明的实施例提供了一种报文隧道分片的自适应调 整方法,应用于IPv6 in IPv4隧道,包括以下步骤在隧道终结点接收到IPv4分片报文时,识别首片IPv4报文所封装 的IPv6报文长度并提取所封装的IPv6报文的源地址;向该源地址设备发送携带有该IPv6报文长度的调整指令,使其根据该 IPv6报文长度调整出口的IPv6 PMTU,以避免后续的报文隧道分片。本发明的实施例还提供了一种报文隧道分片的自适应调整装置,适用于 IPv6 in IPv4隧道,包括终结点分片报文检测单元,用于检测隧道终结点接收到的报文,并 在接收到IPv4分片报文的情况下触发分片报文信息提取单元;分片报文信息提取单元,用于根据该终结点分片报文检测单元的触 发,识别首片IPv4报文所封装的IPv6报文长度并提取所封装的IPv6报 文的源地址;分片调整指令发送单元,与该分片报文信息提取单元连接,用于向 该源地址设备发送携带有该IPv6报文长度的调整指令;IPv6PMTU调整单元,与该分片调整指令发送单元连接,用于接收调整 指令,根据该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显示了现有技术中IPv6inlPv4自动隧道的组网情况; 图2为本发明所提供的报文隧道分片的自适应调整方法一实施例的流程图;图3为本发明所提供的报文隧道分片的自适应调整方法另一实施例的流 程图;图4A和图4B为采取了本发明所提供的报文隧道分片的自适应调整方法 后,IPv6报文的处理流程;图5为本发明所提供的报文隧道分片的自适应调整装置一实施例的框图;图6为本发明所提供的报文隧道分片的自适应调整装置另一实施例的框图。
具体实施方式
下面将详细描述本发明的具体实施例。应当注意,这里描述的实施例只 用于举例说明,并不用于限制本发明。首先,应予说明的是,本发明所提供的技术方案用于克服IPv6报文在IPv6 in IPv4隧道中分片的问题,而对于IPv6报文具体的入隧道、转发和出 隧道的操作则沿用现有技术加以处理。同时需要指出,以下描述中所称的隧 道都是指IPv6 in IPv4隧道。对于隧道中分片问题的存在,使隧道终结点必须处理IPv4分片重组,影 响隧道转发性能。由于判断报文经隧道加封装后是否分片对于隧道起始点来 说需要付出很大代价甚至是不支持的,但是对于隧道终结点来说,这个判断 确实很容易实现并且能够唯一确定的,因此,可以通过隧道终结点进行报文 是否被分片的判断工作。进一步的,为了避免构建和周期性发送探测报文所带来的设备和隧道的 额外开销,以及保证实时克服隧道分片问题,可以通过根据监视实际转发报 文的分片情况并加以后续调整实现。基于上述考量,本发明提供了通过在隧道终结点监测分片情况并相应调 整数据源IPv6 PMTU的技术方案,下面结合具体实施例加以说明。参见图2,显示了本发明所提供的报文隧道分片的自适应调整方法一实 施例的流程图。该实施例应用于IPv6 in IPv4隧道,包括以下步骤Sl、隧道终结点接收到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 Automatic Tunnel 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,则进行隧道分片转发。52、 识别隧道终结点接收到的报文,如果是分片报文,则执行步骤S3, 如果不是分片报文,则执行后续的硬件解封装和转发操作;53、 识别首片IPv4报文所封装的IPv6报文长度; 具体的,本步骤S3可以包括531、 记录首片IPv4报文的总长度;由于超出了隧道IPv4PMTU才 进行分片,因此其首片长度就是隧道的IPv4PMTU;532、 识别该首片IPv4报文中IPv4报文头的长度;533、 计算首片IPv4报文所封装的IPv6报文长度,为该首片IPv4 报文的总长度与其中IPv4报文头的长度之差。54、 提取所封装的IPv6报文的源地址; 具体的,本步骤S4可以包括541、 隧道终结点的硬件芯片将分片报文上送CPU,以软件方式进行 隧道解封装,获得IPv6报文;542、 提取所获得的IPv6报文中携带的源地址信息。55、 向所述源地址设备发送携带有该IPv6报文长度的调整指令,使 其根据所述IPv6报文长度调整出口的IPv6 PMTU,以避免后续的报文隧 道分片;在本步骤S5中,该调整指令可以为携带有该IPv6报文长度的IPv6网际控制信息协议(Internet Control Message Protocol ,简称ICMP)的 "packet too big"(报文超长)信息,这样,接收到该指令的源地址设备 就能够相应设置PMTU。具体的,设置IPv6PMTU的步骤可以包括调整出口的IPv6PMTU 为该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可以任意调整。但在实际使用中, 往往该IPv6PMTU具有最小阈值,如1280。这种情况下,如果隧道分片 中IPv6报文长度已经小于该最小阈值,那么向数据源发送调整指令是不 会产生效果的,IPv6 PMTU已经无法进一步进行数值的縮小调整了。这 也就意味着,即使不断的发送调整指令,后续的报文仍然会被隧道分片。为了克服这一问题,本发明的实施例提供了改进的技术方案,请参 见图3,在图2所示实施例的步骤S5之前还包括SOO、对IPv6报文长度与预设的IPv6 PMTU所允许的最小阈值进行 比较,如果该IPv6报文长度不小于该最小阈值,则执行步骤S5。本领域技术人员可以了解,上述步骤S00也可以发生在步骤S4之前, 只要已经计算得出IPv6的报文长度即可。当SOO发生在步骤S4之前时, 如果该IPv6报文长度不小于该最小阈值,则执行步骤S4。通过上述改进的技术方案,可以避免调整指令的无益发送处理工作。同时,在IPv6PMTU已经无法继续调整的情况下,还可以通过其它 机制或者手工调整IPv4网络中各节点的IPv4 PMTU的方式来避免后续的 IPv4报文隧道分片,即在步骤SOO该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三层报文需要通过IPv6 inlPv4隧道转发时,过程描述如下(1)由于IPv6报文长度大于1500,则IPv6报文先被分成两个分片A和B;在本实施例中,以分片A长度为1500,分片B长度为560,即IPv6 报文静载荷+40字节的IPv6报文头+分片信息为例加以说明。需要说明的是, 随着源设备厂商的区别,实际分片的长度可能存在细微的差别。比如,在IPv6 PMTU为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 "packettoo 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数据源调整IPv6 PMTU为一个合适的值,解决隧道报文在IPv4网络转发过程中再次被分片的 问题,使得到达隧道终结点的报文都是完整的IPv4报文,可实现完全的隧道 硬转发,并直接硬件解隧道封装,提高转发性能。同时,是针对实际出现的 分片报文进行处理,不但具有实时性,而且简单易行。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤 可以通过程序指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如下步骤在隧道终结点接收到IPv4分片报文时,识别首片IPv4报文所封装 的IPv6报文长度并提取所封装的IPv6报文的源地址;向所述源地址设备发送携带有所述IPv6报文长度的调整指令,使其根据 所述IPv6报文长度调整出口的IPv6路径最大传输单元PMTU,以避免后续 的报文隧道分片。所述的存储介质包括ROM/RAM (Read Only Memory/Random-Access Memory,只读存储器/随机访问内存)、磁碟或者光盘等。本发明的实施例还提供了一种报文隧道分片的自适应调整装置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报文长度调整源地址设备出口的IPv6 PMTU,以避免后续的报文隧道分片。在实际应用中,该IPv6PMTU调 整单元104可以通过数据源设备固有的功能实现,也可以单独设置;其 具体的调整操作可以包括将IPv6 PMTU调整为该IPv6报文长度,也可以 将IPv6 PMTU调整为小于该IPv6报文长度的值。通过上述实施例提供的报文隧道分片的自适应调整装置100,只要数据 源设备发送的报文发生隧道分片的情况,就能够自动调整数据源设备的IPv6 PMTU,从而由该数据源设备发出并通过同一隧道的后续报文都不会再发生 分片现象,能够减少隧道起始点的报文分片次数和隧道终结点的报文重组次 数,也避免因为需要处理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已经调整到了最小阈值,那么通过将IPv4PMTU 调整到1300,即可保证后续的报文不被隧道分片。本发明的实施例还提供了一种报文隧道分片的自适应调整系统,包括 IPv6报文源设备、IPv6 in IPv4隧道起始点、IPv6 in IPv4隧道和IPv6 in IPv4 隧道终结点,还包括上述的报文隧道分片的自适应调整装置100。该报文隧道分片的自适应调整装置100用于根据隧道终结点IPv4分片报 文的情况,自动调整IPv6报文源设备出口的IPv6 PMTU,以避免后续发生 IPv4报文分片。本领域普通技术人员可以理解,上述报文隧道分片的自适应调整装置 IOO的各功能块可以集中设置,也可以广泛分布于IPv6报文源设备、IPv6 in IPv4隧道起始点和IPv6 in IPv4隧道终结点中。例如,IPv6 PMTU调整单元 104设置在IPv6报文源设备中,而终结点分片报文检测单元101、分片报文 信息提取单元102、分片调整指令发送单元103和长度比较单元105设置在 IPv6 in IPv4隧道终结点中,IPv4 PMTU调整单元106设置在IPv6 in IPv4隧 道起始点。上述分布方式仅作为一个具体实施例,自适应调整装置100的各 功能块具有多样性的设置方式,可根据实际需要加以设置。虽然已参照几个典型实施例描述了本发明,但应当理解,所用的术语是 说明和示例性、而非限制性的术语。由于本发明能够以多种形式具体实施而 不脱离发明的精神或实质,所以应当理解,上述实施例不限于任何前述的细 节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利 要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。
权利要求
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网络中各节点的IPv4PMTU 不小于所述首片IPv4报文的总长度。
10. —种报文隧道分片的自适应调整系统,包括IPv6报文源设备、 IPv6 in IPv4隧道起始点、IPv6 in IPv4隧道和IPv6 in IPv4隧道终结点,其特征在于,还包括如权利要求6~9任一所述的报文隧道分片的自适应 调整装置,用于根据隧道终结点IPv4分片报文的情况,自动调整IPv6 报文源设备出口的IPv6 PMTU,以避免后续发生IPv4报文分片。
全文摘要
本发明公开了一种报文隧道分片的自适应调整方法和装置,应用于IPv6 in IPv4隧道。该方法包括在隧道终结点接收到IPv4分片报文时,识别首片IPv4报文所封装的IPv6报文长度并提取所封装的IPv6报文的源地址;向该源地址设备发送携带有该IPv6报文长度的调整指令,使其根据该IPv6报文长度调整出口的IPv6 PMTU,以避免后续的报文隧道分片。本发明还公开了一种报文隧道分片的自适应调整系统。通过本发明,减少了IPv6 in IPv4隧道中报文的隧道分片,提高了隧道转发性能和隧道起始点和终结点设备的处理性能,同时具有实时性,简单易行。
文档编号H04L29/06GK101217540SQ20081000015
公开日2008年7月9日 申请日期2008年1月4日 优先权日2008年1月4日
发明者昱 毛, 王佩龙 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1