CN103780469A - 多核平台上IPv6隧道的实现方法以及报文转发方法 - Google Patents

多核平台上IPv6隧道的实现方法以及报文转发方法 Download PDF

Info

Publication number
CN103780469A
CN103780469A CN201210410115.9A CN201210410115A CN103780469A CN 103780469 A CN103780469 A CN 103780469A CN 201210410115 A CN201210410115 A CN 201210410115A CN 103780469 A CN103780469 A CN 103780469A
Authority
CN
China
Prior art keywords
message
tunnel
ipv6
dflow
ipv4
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.)
Granted
Application number
CN201210410115.9A
Other languages
English (en)
Other versions
CN103780469B (zh
Inventor
汪革
彭双庭
冯松柏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI BAUD DATA COMMUNICATION CO Ltd
Original Assignee
SHANGHAI BAUD DATA COMMUNICATION CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHANGHAI BAUD DATA COMMUNICATION CO Ltd filed Critical SHANGHAI BAUD DATA COMMUNICATION CO Ltd
Priority to CN201210410115.9A priority Critical patent/CN103780469B/zh
Publication of CN103780469A publication Critical patent/CN103780469A/zh
Application granted granted Critical
Publication of CN103780469B publication Critical patent/CN103780469B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了多核平台上IPv6隧道的实现方法以及报文转发方法,在隧道的实现方法中对于配置的每一条隧道,根据其配置的源地址和目的地址计算一个哈希值,将包括其它配置的隧道控制结构插入相应的哈希链表中。而在报文转发方法中在普通流程中引入流的概念,在协议栈处理报文的开始初始化一个dflow表项,而普通流程中经过的每个模块都将各自需要的信息依次挂载在这个表项之上,在成功转发之前确认这一dflow表项,那么,之后相似的报文可以省略一系列的查表工作,直接实现快速的转发。本发明能够在在接收IPv4报文时加速隧道的查询速度,并使其不受隧道数量的影响,同时能够建立转发的dflow流程,避免重复查配置以加快转发速度。

Description

多核平台上IPv6隧道的实现方法以及报文转发方法
技术领域
本发明涉及一种IPv4向IPv6的过渡技术,具体涉及一种在多核平台上实现IPv6隧道的方法以及相应的报文转发方法。
背景技术
IPv6是新一代Internet通信协议,具有许多的功能特色,但考虑到目前已经有大量网络和节点连接到Internet,向IPv6过渡必定是渐进的,其中一项重要的过渡技术就是依靠协议隧道,将来自IPv6岛的IPv6包封装在IPv4包中,然后在广泛分布的IPv4海洋中传送。
由于IPv6-over-IPv4(即IPv6数据报文封装在IPv4报文)的隧道运行于IPv6岛的边缘双栈路由器,且基于隧道的技术都需要路由器进行重复性的解封、封装报文、IPv4报文的隧道定位等动作,对于对转发性能要求越来越高的现代网络,报文在上述动作的时间消耗,可能会成为影响整机转发性能的瓶颈,由于隧道的虚拟端口性质,在接收IPv4报文时需要查找对应的隧道进行报文解封装,尤其是当配置数量较多的隧道时,用遍历等简单的查找方法会对转发性能带来灾难性的后果。
另外,对于配置状态在大时间跨度上稳定的隧道,其对报文的动作基本是相似的,可以考虑某种机制,进一步地提高隧道转发的性能。
由此可见如何在接收IPv4报文时加速隧道的查询速度,并使其不受隧道数量的影响,以及如何避免重复查配置以加快转发速度是本领域亟需解决的问题。
发明内容
针对上述问题,本发明的目的是提供一种IPv6隧道技术,该技术能够在在接收IPv4报文时加速隧道的查询速度,并使其不受隧道数量的影响,同时能够建立转发的dflow流程,避免重复查配置以加快转发速度。
作为本发明的第一目的,本发明提供了一种多核平台上IPv6隧道的实现方法,该方法中对每一条IPv6隧道都生成一个隧道控制结构,挂载在一个全局的哈希链表中,并对应相应的哈希值;所述IPv6隧道向IPv4模块注册一个协议处理函数,用来处理协议为41的IPv6隧道报文,所述协议处理函数利用报文外层IPv4头部的源地址和目的地址,得到一哈希值,进入相应的哈希链表中查找正确的隧道控制结构,得到需要的信息对报文解封装得到原始的IPv6报文,交由IPv6模块转发出去。
在IPv6隧道的实现方法的具体实例中,所述隧道控制结构包含:源地址,目的地址,封装协议(ISATAP,6to4,手工隧道),端口状态以及一系列的标志位。
进一步的,所述协议处理函数在计算哈希值时,若隧道中存在手工隧道,先用收到的IPv4报文的目的地址和源地址计算相应的哈希值,如果查哈希表没有匹配,以收到的IPv4报文的目的地址和零地址来计算相应的哈希值,并再次再次查找哈希表;若隧道中没有手工隧道,直接用收到的IPv4报文的目的地址和零地址来计算相应的哈希值,并以该哈希值来查找哈希表。
作为本发明的第二目的,本发明还提供一种多核平台上IPv6隧道的报文转发方法,所述转发方法首先由若干报文通过普通流程查找配置表项,进行正常的报文封装和解封装以及之后的转发,同时根据报文的各种元组信息建立一个表项记录报文操作的动作,之后拥有相关元组信息的报文到达时,可以直接根据这一表项进行处理,使得重复的动作以流的方式进行,每一条流对应一系列的动作,每一条流称之为Data Flow,简称dflow,这一系列动作为dflow流程,建立表项为dflow表项。
在转发方法的优选实例中,所述IPv6隧道进行报文转发的过程包括接收IPv4报文的流程和转发IPv6报文的流程,所述接收IPv4报文的流程具体包括如下步骤:
1.当设备收到IPv4报文时,首先根据IPv4报文的元组信息查找相应的dflow表项,如果已存在,则直接走相应的dflow流程,转至步骤(4),否则新建一个dflow表项,转至步骤(2);
2.IPv4模块会把协议为41(IPv6协议)的本地报文交给本模块(IPv6隧道),根据IPv4报文的源和目的地址以同样的哈希函数计算出一个哈希值,以此值在哈希链表中查找到相应的隧道控制结构,得到用于报文解封装的信息;
3.解封装报文,得到内部的IPv6报文,同时把必要的信息挂载在dflow表项上,然后把报文交给下一模块来处理(IPv6模块),结束解封装;
4.根据已有的dflow信息完成报文解封装以及传递给下一模块的工作;
所述转发IPv6报文的流程具体包括如下步骤:
1.当设备收到IPv6报文时,首先根据IPv6报文的元组信息查找相应的dflow表项,如果已存在,则直接走dflow流程,转至步骤(3),否则新建一个dflow表项,转至步骤(2);
2.IPv6模块会根据路由模块查找到对应的转发端口,如果端口为IPv6隧道,则读取些隧道的控制结构,为报文封装相应的IPv4头部,同时也把必要的信息挂载在dflow表项上,然后把报文交给下一模块来处理(IPv4模块);
3.根据已有的dflow信息完成报文封装以及传递给下一模块的工作。
本发明提供的IPv6隧道技术实现方案具有如下特点:
a.相比之前以简单链表形式构造的隧道表项,改用哈希表之后,在转发性能方面本质上的提高。实验的数据表明,在只走普通流程(不启用dflow)的情况下,在3条隧道之内,是普通的链表转发速度更快,但之后随着隧道数目的逐步增加,普通的链表管理将使整机性能急剧下降,完全无法用于实际使用。使用基于地址的哈希表管理之后,整机性能几乎没有随着隧道数目的增多而下降。
b.启用dflow,当dflow建立完成之后,整机转发性能明显上升。实验的数据表明,相对于普通流程,dflow流程的转发速度可以达到1倍左右的增幅。
附图说明
以下结合附图和具体实施方式来进一步说明本发明。
图1为IPv6隧道的哈希链表示意图;
图2为隧道控制结构的基本结构示意图;
图3为隧道控制结构中隧道配置信息的基本结构示意图;
图4为dflow表项的示意图;
图5为Dflow的哈希链表的示意图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
本发明所提供的IPv6隧道技术能够实现以下两个目的:
1、把接收报文时查找隧道的时间控制在可接收的范围之内,且不受隧道数量的影响;
2、以应用模块的形式挂载在dflow流的表项上,通过一个或多个报文的普通流程完成dflow流的建立,之后的报文可以不通过查找配置进行封装和解封装(dflow流程)。
在实际的实现中隧道的定位查询方式可采用应用广泛的哈希表,并用链地址的方式解决哈希冲突的问题,以IPv4报文的源和目的地址作为索引值。由于哈希表本身不可避免的冲突问题,确定一个比较好的哈希函数尤为重要。
并且,由于ISATAP和6to4隧道并不配置目的地址,而手工隧道是需要配置的,在从IPv4报文选择索引值时,前者不能考虑报文的源地址(报文和配置的源与目的地址是颠倒对应的),而后者需要考虑,这样就造成,同一种IPv4报文头部,可能需要计算两种哈希值、查两次表的情况,需要用某种方式解决。
另外,以dflow的方式进行转发,需要提供普通和dflow两个流程来应对dflow表项的不同状态(已建立和未建立),且当配置状态变化时,要保证及时的同步,在大量表项的情况下,可能有切换速度的问题。
基于上述原理,本发明提供的IPv6隧道技术的具体实现方案如下:
如图1所示,本发明提供的多核平台上IPv6隧道的实现方法,是对每一条隧道都生成一个隧道控制结构,并挂载在一个全局的哈希链表中,对应于相应的哈希值。
如图2所示,该隧道控制结构与相应IPv6隧道相对应,该隧道同时支持GRE,IPIP等IPv4隧道的。其主要包括ID、端口标志、配置信息、协议服务函数、协议状态检查函数以及哈希链表链接。
其中,ID为控制的在系统中的端口索引。
端口标志主要包括线路状态、协议状态等信息,
配置信息如图3所示,主要包括配置的源/目的地址,封装协议的标识和以及其它的配置标志位。封装协议即为ISATAP,6to4和手工隧道,其中6to4是标准的IPv6隧道技术。
协议服务函数由各协议(ISATAP,6to4和手工隧道)注册到隧道上,要提供的服务主要包括报文的封装(根据各协议规定和配置为IPv6报文加IPv4头部)以及显示隧道端口配置状态时提供必要的协议信息等功能。
协议状态检查函数也由各协议注册,主要用于隧道检查端口状态。
哈希链表链接用于指向下一哈希表项,为另一隧道控制结构的指针。
每个隧道控制结构对应的哈希值的计算由相应的源地址和目的地址决定,设哈希函数为h(src,dst)。
在工作时,IPv6隧道向IPv4模块向注册一个协议处理函数ipv6ip_input(...),用来处理协议为41的IPv6隧道报文,在此函数中,利用报文外层IPv4头部的源地址srcp和目的地址dstp,代入上面的哈希函数h(dstp,srcp),得到一哈希值,进入相应的哈希链表中查找正确的隧道控制结构,得到需要的信息对报文解封装得到原始的IPv6报文,交由IPv6模块转发出去。
由于ISATAP和6to4隧道并不设置目的地址,而手工隧道是设置目的地址的,所以在为报文计算哈希值的时候,对于手工隧道来说,收到的IPv4报文目的地址对应配置的源地址,而报文的源地址对应配置的目的地址,所以以报文的目的/源地址做为哈希函数的索引;而对于ISATAP和6to4隧道,其并不配置目的地址,实现中以0.0.0.0代替,IPv4报文的目的依然对应配置的源地址,所以在此情况下,要以报文的目的地址和零地址作为索引值。
因此在为报文计算哈希值时,若存在手工隧道,先用收到的IPv4报文的源地址srcp和目的地址dstp计算h(dstp,srcp);如果查哈希表没有匹配,那么计算h(dstp,0)得出哈希值再次查找;若没有手工隧道,直接用h(dstp,0)查找。
根据上述原理,其具体实施方案如下:
对于一条IPv6隧道,根据其配置的源地址和目的地址(由于ISATAP和6to4隧道并不配置目的地址,默认以0.0.0.0作为目的地址),计算出一个哈希值,以这个值将这条隧道放入类似于图1的哈希链表中。
当一个IPv4的封装报文到达设备里,从其IPv4报文头得到相应的目的地址和源地址(源地址可能需要取两种,一为真实的值,一为0.0.0.0),以此为索引计算哈希值然后在哈希表中查找对应的隧道。
为了尽量避免两次计算两次查表,可如下规定,当存在手工隧道的时候,源地址先取真实值,如果定位不到隧道,再取0.0.0.0查,否则,优先用0.0.0.0查表。
上述的IPv6隧道报文在整个系统中的普通流程如下:
1、收到封装好的IPv4报文,向IPv6内网转发,其流程如下
入接口→Bsp获取报文→Bsp分析入口物理interface→链路层→IPv4合法性检查以及in方向hook链(NAT等)处理→协议为41本地报文交给ipv6ip-input()→哈希链表定位IPv6隧道→查表解封装报文→查route-cache或routing→获取出接口相关信息→IPv6相关模块在out方向hook链的处理→链路层→Bsp驱动发送。
2、收到原始的IPv6报文,向IPv4外网转发,其流程如下:
入接口→Bsp获取报文→Bsp分析入口物理interface→链路层→IPv6合法性检查以及in方向hook链(NAT等)处理→查route-cache或routing→定位由IPv6隧道发送→查表封装报文→查route-cache或routing→获取出接口相关信息→IPv4相关模块在out方向hook链的处理→链路层→Bsp驱动发送
由于普通流程中对于相似的报文的处理有大量重复的查表以及其他操作,这将大大影响报文转发速度。
为此作为本发明的第二目的,本发明还提供一种多核平台上IPv6隧道的报文转发方法,本方法在普通流程中引入流的概念,在协议栈处理报文的开始初始化一个dflow表项,而普通流程中经过的每个模块都将各自需要的信息依次挂载在这个表项之上,在成功转发之前确认这一dflow表项,那么,之后相似的报文(如源\目的地址相同,协议相同的报文)可以省略一系列的查表工作,直接实现快速的转发。
基于上述原理,本发明的具体方案如下:
首先由若干报文通过普通流程查找配置表项,进行正常的报文封装和解封装以及之后的转发,同时根据报文的各种元组信息建立一个表项记录报文操作的动作,之后拥有相关元组信息的报文到达时,可以直接根据这一表项进行处理,使得重复的动作以流的方式进行,每一条流对应一系列的动作,每一条流称之为Data Flow,简称dflow,这一系列动作为dflow流程,前面建立的表项为dflow表项。
该dflow流程可以包括IPv4,IPv6,路由,NAT等所有模块,使得各个模块相当于一个应用挂载在dflow上,通过dflow流程实现报文转发时不需要一再地查找相同的配置表项(即为普通流程),如此,可进一步地提高隧道转发的性能。
参见图4,一个基本的dflow表项,分为固定部分和可变部分:
其中,固定部分包括如下信息:
1)Link:通过单向链表来串联Hash值相同的DFlow表项;
2)reference:引用计数;
3)timeout:该DFlow表项的超时时间;
4)Link.ptr/NextApp.ptr:指向下一个参与转发处理的应用模块;
可变部分包括如下信息:
1)IPv4/TUNNEL/IPv6/ETH/Drv-Send:该DFlow所关联的应用模块信息,可以把涉及转发的常用信息尽可能地放在该处,如下一跳地MAC地址、跨交换芯片所需的tag信息、跨FPGA的PPP/HDLC的tag信息、IPSec的SA信息等。
其中,对于IPv6隧道来说,在两个方向上需要挂载的信息有:
1.对于IPv4外网到IPv6内网方向,只需要记录隧道的端口ID即可,且只用于端口报文统计和调试;
2.对于IPv6内网到IPv4外网方向,端口ID之外,还要记录端口的源和目的地址。
针对本发明提供的IPv6隧道利用哈希链表加速隧道的查询速度,若利用上述保护转发方案来进行保护快速转发时,在哈希链表中存放着所有的完成的dflow表项,dflow表项由多元组(源\目的地址,协议等)的哈希值进行索引,在报文来时根据协议上的各域进行查找(如图5所示)。由此,其实现报文转发的流程如下:
1、接收IPv4报文(即已封装的IPv6隧道报文)的流程具体包括如下步骤:
1)当设备收到IPv4报文时,首先根据IPv4报文的地址、协议以及端口等元组信息查找相应的dflow表项,如果已存在,则直接走相应的dflow流程,转至步骤(4),否则新建一个dflow表项,转至步骤(2);
2)IPv4模块会把协议为41(IPv6协议)的本地报文交给本模块(IPv6隧道),根据IPv4报文的源和目的地址以同样的哈希函数计算出一个哈希值,以此值在哈希链表中查找到相应的隧道控制结构,得到用于报文解封装的信息;
3)解封装报文,得到内部的IPv6报文,同时把必要的信息挂载在dflow表项上,然后把报文交给下一模块来处理(IPv6模块),结束解封装;
4)根据已有的dflow信息完成报文解封装以及传递给下一模块的工作;
2、转发IPv6报文的流程具体包括如下步骤:
1)当设备收到IPv6报文时,首先根据IPv6报文的地址、协议以及端口等元组信息查找相应的dflow表项,如果已存在,则直接走dflow流程,转至步骤(3),否则新建一个dflow表项,转至步骤(2);
2)IPv6模块会根据路由模块查找到对应的转发端口,如果端口为IPv6隧道,则读取些隧道的控制结构,为报文封装相应的IPv4头部,同时也把必要的信息挂载在dflow表项上,然后把报文交给下一模块来处理(IPv4模块);
3)根据已有的dflow信息完成报文封装以及传递给下一模块的工作。
根据上述方案可知,在dflow流程的解封装中,挂载在dflow上的应用几乎不需要什么信息,当报文在前面的流程结束后到达IPv6隧道的处理函数,只需要必要的报文检查,然后把IPv4头部去掉,然后把得到的IPv6报文传给下一个应用处理。
同时,在dflow流程的加封装中,挂载在dflow上的应用需要记录IPv4头部需要的源地址、目的地址等信息,当报文在前面的流程结束后到达IPv6隧道的处理函数,添加IPv4头部,然后把得到的IPv4报文传给下一个应用处理。
依照上述两个转发流程,其在设备中的具体实施流程如下:
1.收到封装好的IPv4报文,向IPv6内网转发
入接口→Bsp获取报文→Bsp分析入口物理interface→链路层→IPv4合法性检查→Dflow识别→根据DFlow中信息调用各相关模块处理(解封装在此过程中,不需要查表项)→Bsp驱动发送。
2.收到原始的IPv6报文,向IPv4外网转发
入接口→Bsp获取报文→Bsp分析入口物理interface→链路层→IPv6合法性检查→Dflow识别→根据DFlow中信息调用各相关模块处理(封装在此过程中,不需要查表项)→Bsp驱动发送。
为了进一步帮助深入了解本发明,利用如下的具体应用实施来说明本发明的方案:
表1
隧道类型/编号 源地址 目地地址 哈希值
ISATAP/1 10.1.1.1- 27
6to4/2 20.2.2.2- 54
Manual/3 100.3.0.1 200.5.1.2 24
表1中给出了不同隧道及其哈希值(三条,不同源与目地地址)
假设配置了表1中三条隧道。哈希函数选择为
hash(src,dst)=src+dst+dst>>20+src>>12+dst>>8+src>>24
(注:>>为按位右移)
表2
表2中给出三个不同的IPv6over IPv4报文,哈希值1是用报文的实际源地址计算,哈希值2是用默认的0.0.0.0地址计算
普通流程的IPv4收包流程:假设收到了表2中的三种报文。
对于报文1,计算得哈希值1为24,查得对应的哈希链表中的隧道3,再根据其隧道类型的规则来判定是否符合要求(手工隧道只要求IPv4头部源和目的地址与配置对应),结果隧道3为解封装的隧道,进行后续操作。
对于报文2,计算得哈希值1为207,在哈希链表中查找不到,再计算哈希值2为27,查得对应的可选隧道为隧道1,类型为ISATAP(ISATAP隧道要求IPv4的目的地址与配置的源地址相符,并且IPv6的目地地址是ISATAP地址并与配置相符),结果得到隧道1为解封装的隧道,进行后续操作。
对于报文3,计算得哈希值1为24,对应隧道3,但手工隧道验证失败,计算哈希值2,找到隧道2,再根据6to4隧道的规则(6to4隧道要求IPv4的目的地址与配置的源地址相符,并且IPv6的目地地址是6to4地址并与配置相符),结果隧道2为解封装的隧道,进行后续操作。
在所有的普通流程过程中,一旦报文可以成功转发,对应的dflow流也相应建立起来。之后的操作就无需上述的哈希查找过程,以及其它的对隧道表项的读操作,直接对报文进行解封装和封装。当dflow表项超时或者对应的隧道配置或状态变化时,删除表项,重新走普通流程建立新的dflow表项。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (5)

1.一种多核平台上IPv6隧道的实现方法,其特征在于,所述方法中对每一条IPv6隧道都生成一个隧道控制结构,挂载在一个全局的哈希链表中,并对应相应的哈希值;所述IPv6隧道向IPv4模块注册一个协议处理函数,用来处理协议为41的IPv6隧道报文,所述协议处理函数利用报文外层IPv4头部的源地址和目的地址,得到一哈希值,进入相应的哈希链表中查找正确的隧道控制结构,得到需要的信息对报文解封装得到原始的IPv6报文,交由IPv6模块转发出去。
2.根据权利要求1所述的一种多核平台上IPv6隧道的实现方法,其特征在于,所述隧道控制结构包含:源地址,目的地址,封装协议,端口状态以及一系列的标志位。
3.根据权利要求1所述的一种多核平台上IPv6隧道的实现方法,其特征在于,所述协议处理函数在计算哈希值时,若隧道中存在手工隧道,先用收到的IPv4报文的目的地址和源地址计算相应的哈希值,如果查哈希表没有匹配,以收到的IPv4报文的目的地址和零地址来计算相应的哈希值,并再次再次查找哈希表;若隧道中没有手工隧道,直接用收到的IPv4报文的目的地址和零地址来计算相应的哈希值,并以该哈希值来查找哈希表。
4.一种多核平台上IPv6隧道的报文转发方法,其特征在于,所述转发方法首先由若干报文通过普通流程查找配置表项,进行正常的报文封装和解封装以及之后的转发,同时根据报文的各种元组信息建立一个表项记录报文操作的动作,之后拥有相关元组信息的报文到达时,可以直接根据这一表项进行处理,使得重复的动作以流的方式进行,每一条流对应一系列的动作,每一条流称之为Data Flow,简称dflow,这一系列动作为dflow流程,建立表项为dflow表项。
5.根据权利要求4所述的一种多核平台上IPv6隧道的报文转发方法,其特征在于,所述IPv6隧道进行报文转发的过程包括接收IPv4报文的流程和转发IPv6报文的流程,所述接收IPv4报文的流程具体包括如下步骤:
1.当设备收到IPv4报文时,首先根据IPv4报文的元组信息查找相应的dflow表项,如果已存在,则直接走相应的dflow流程,转至步骤(4),否则新建一个dflow表项,转至步骤(2);
2.IPv4模块会把协议为41的本地报文交给本模块,根据IPv4报文的源和目的地址以同样的哈希函数计算出一个哈希值,以此值在哈希链表中查找到相应的隧道控制结构,得到用于报文解封装的信息;
3.解封装报文,得到内部的IPv6报文,同时把必要的信息挂载在dflow表项上,然后把报文交给下一模块来处理,结束解封装;
4.根据已有的dflow信息完成报文解封装以及传递给下一模块的工作;
所述转发IPv6报文的流程具体包括如下步骤:
1.当设备收到IPv6报文时,首先根据IPv6报文的元组信息查找相应的dflow表项,如果已存在,则直接走dflow流程,转至步骤(3),否则新建一个dflow表项,转至步骤(2);
2.IPv6模块会根据路由模块查找到对应的转发端口,如果端口为IPv6隧道,则读取些隧道的控制结构,为报文封装相应的IPv4头部,同时也把必要的信息挂载在dflow表项上,然后把报文交给下一模块来处理;
3.根据已有的dflow信息完成报文封装以及传递给下一模块的工作。
CN201210410115.9A 2012-10-23 2012-10-23 多核平台上IPv6隧道的实现方法以及报文转发方法 Active CN103780469B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210410115.9A CN103780469B (zh) 2012-10-23 2012-10-23 多核平台上IPv6隧道的实现方法以及报文转发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210410115.9A CN103780469B (zh) 2012-10-23 2012-10-23 多核平台上IPv6隧道的实现方法以及报文转发方法

Publications (2)

Publication Number Publication Date
CN103780469A true CN103780469A (zh) 2014-05-07
CN103780469B CN103780469B (zh) 2018-01-23

Family

ID=50572328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210410115.9A Active CN103780469B (zh) 2012-10-23 2012-10-23 多核平台上IPv6隧道的实现方法以及报文转发方法

Country Status (1)

Country Link
CN (1) CN103780469B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104519055A (zh) * 2014-12-11 2015-04-15 曙光信息产业(北京)有限公司 Vpn业务实现方法、装置和vpn服务器
CN110708250A (zh) * 2019-08-26 2020-01-17 广州市高科通信技术股份有限公司 一种提高数据转发性能的方法、电子设备及存储介质
CN114338529A (zh) * 2021-12-29 2022-04-12 杭州迪普信息技术有限公司 五元组规则匹配方法及装置
CN115242552A (zh) * 2022-09-21 2022-10-25 北京中科网威信息技术有限公司 基于ipsec的报文转发方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101197858A (zh) * 2008-01-07 2008-06-11 杭州华三通信技术有限公司 地址转换方法、装置及具有该装置的路由器
CN101247308A (zh) * 2007-02-13 2008-08-20 上海亿人通信终端有限公司 基于网络处理器实现IPv6穿越IPv4的隧道报文处理方法
CN101309274A (zh) * 2008-06-27 2008-11-19 南京邮电大学 混合架构入侵检测系统规则库创建方法
CN102394817A (zh) * 2011-10-28 2012-03-28 北京星网锐捷网络技术有限公司 一种隧道转发方法、装置及网络设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101247308A (zh) * 2007-02-13 2008-08-20 上海亿人通信终端有限公司 基于网络处理器实现IPv6穿越IPv4的隧道报文处理方法
CN101197858A (zh) * 2008-01-07 2008-06-11 杭州华三通信技术有限公司 地址转换方法、装置及具有该装置的路由器
CN101309274A (zh) * 2008-06-27 2008-11-19 南京邮电大学 混合架构入侵检测系统规则库创建方法
CN102394817A (zh) * 2011-10-28 2012-03-28 北京星网锐捷网络技术有限公司 一种隧道转发方法、装置及网络设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104519055A (zh) * 2014-12-11 2015-04-15 曙光信息产业(北京)有限公司 Vpn业务实现方法、装置和vpn服务器
CN110708250A (zh) * 2019-08-26 2020-01-17 广州市高科通信技术股份有限公司 一种提高数据转发性能的方法、电子设备及存储介质
CN114338529A (zh) * 2021-12-29 2022-04-12 杭州迪普信息技术有限公司 五元组规则匹配方法及装置
CN114338529B (zh) * 2021-12-29 2024-03-08 杭州迪普信息技术有限公司 五元组规则匹配方法及装置
CN115242552A (zh) * 2022-09-21 2022-10-25 北京中科网威信息技术有限公司 基于ipsec的报文转发方法及装置
CN115242552B (zh) * 2022-09-21 2022-12-13 北京中科网威信息技术有限公司 基于ipsec的报文转发方法及装置

Also Published As

Publication number Publication date
CN103780469B (zh) 2018-01-23

Similar Documents

Publication Publication Date Title
CN106878138B (zh) 一种报文传输方法和装置
CN101247308B (zh) 基于网络处理器实现IPv6穿越IPv4的隧道报文处理方法
CN104639414B (zh) 一种报文转发方法和设备
CN102301663B (zh) 一种报文处理方法及相关设备
CN102413061B (zh) 一种报文传输方法及设备
US20220200898A1 (en) Compute-aware routing method and apparatus
CN101030935B (zh) 一种IPSec穿越NAT-PT的方法
CN100372347C (zh) 扩展边界网关协议的4over6隧道封装及解封装方法
CN100486241C (zh) 获取隧道网关环境中路径最大传输长度的方法及系统
CN102970386B (zh) 一种实现IPv6报文穿越IPv4网络的方法和设备
CN104410541A (zh) Vxlan内层虚拟机流量在中间交换机上进行统计的方法及装置
CN104092595A (zh) 基于802.1br的虚拟化系统中的报文处理方法及装置
CN106254256A (zh) 基于三层vxlan网关的数据报文转发方法和设备
CN104067562A (zh) 用于第二层多网络链路隧道的协议
CN105827495A (zh) Vxlan网关的报文转发方法和设备
CN103780469A (zh) 多核平台上IPv6隧道的实现方法以及报文转发方法
CN106411783A (zh) 一种报文发送方法及装置
CN101789949B (zh) 一种实现负荷分担的方法和路由设备
CN107005470A (zh) 用于创建数据分组的子流的方法
CN104796338A (zh) 虚拟机迁移方法及装置
CN102201996B (zh) 网络地址转换环境中报文转发的方法及设备
CN104639440A (zh) 一种在网络中实现三层转发并封装协议信息的方法和装置
CN106341333A (zh) 应用于vxlan中的丢包定位方法和装置
CN102299862B (zh) 二层隧道快速转发设备和方法
CN104579973B (zh) 一种虚拟集群中的报文转发方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20140507

Assignee: Shanghai Puchuang Longke Finance Leasing Co.,Ltd.

Assignor: SHANGHAI BAUD DATA COMMUNICATION Co.,Ltd.

Contract record no.: X2020980003092

Denomination of invention: Realization method and message forwarding method of IPv6 tunnel on multi-core platform

Granted publication date: 20180123

License type: Exclusive License

Record date: 20200615

PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Realization method and message forwarding method of IPv6 tunnel on multi-core platform

Effective date of registration: 20200615

Granted publication date: 20180123

Pledgee: Shanghai Puchuang Longke Finance Leasing Co.,Ltd.

Pledgor: SHANGHAI BAUD DATA COMMUNICATION Co.,Ltd.

Registration number: Y2020980003093

PE01 Entry into force of the registration of the contract for pledge of patent right
EC01 Cancellation of recordation of patent licensing contract

Assignee: Shanghai Puchuang Longke Finance Leasing Co.,Ltd.

Assignor: SHANGHAI BAUD DATA COMMUNICATION Co.,Ltd.

Contract record no.: X2020980003092

Date of cancellation: 20210809

EC01 Cancellation of recordation of patent licensing contract
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20210809

Granted publication date: 20180123

Pledgee: Shanghai Puchuang Longke Finance Leasing Co.,Ltd.

Pledgor: SHANGHAI BAUD DATA COMMUNICATION Co.,Ltd.

Registration number: Y2020980003093

PC01 Cancellation of the registration of the contract for pledge of patent right