[发明专利]多核平台上IPv6隧道的实现方法以及报文转发方法有效
申请号: | 201210410115.9 | 申请日: | 2012-10-23 |
公开(公告)号: | CN103780469B | 公开(公告)日: | 2018-01-23 |
发明(设计)人: | 汪革;彭双庭;冯松柏 | 申请(专利权)人: | 上海博达数据通信有限公司 |
主分类号: | H04L12/46 | 分类号: | H04L12/46;H04L29/06 |
代理公司: | 上海天翔知识产权代理有限公司31224 | 代理人: | 刘粉宝 |
地址: | 201203 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多核 平台 ipv6 隧道 实现 方法 以及 报文 转发 | ||
1.一种多核平台上IPv6隧道的实现方法,其特征在于,所述方法中对每一条IPv6隧道都生成一个隧道控制结构,该隧道控制结构挂载在一个全局的哈希链表中,并对应相应的哈希值,每个隧道控制结构对应的哈希值由相应的源地址和目的地址决定;所述IPv6隧道向IPv4模块注册一个协议处理函数,用来处理协议为41的IPv6隧道报文,所述协议处理函数利用报文外层IPv4头部的源地址和目的地址,得到一哈希值,进入相应的哈希链表中查找正确的隧道控制结构,得到需要的信息对报文解封装得到原始的IPv6报文,交由IPv6模块转发出去;所述隧道控制结构包括ID、端口标志、配置信息、协议服务函数、协议状态检查函数以及哈希链表链接;
所述ID为控制的在系统中的端口索引;
所述端口标志主要包括线路状态、协议状态信息;
所述配置信息主要包括配置的源/目的地址,封装协议的标识和以及其它的配置标志位;封装协议即为ISATAP,6to4和手工隧道,其中6to4是标准的IPv6隧道技术;
所述协议服务函数由各协议注册到隧道上,要提供的服务主要包括报文的封装以及显示隧道端口配置状态时提供必要的协议信息功能;
所述协议状态检查函数由各协议注册,主要用于隧道检查端口状态;
所述哈希链表链接用于指向下一哈希表项,为另一隧道控制结构的指针。
2.根据权利要求1所述的一种多核平台上IPv6隧道的实现方法,其特征在于,所述协议处理函数在计算哈希值时,若隧道中存在手工隧道,先用收到的IPv4报文的目的地址和源地址计算相应的哈希值,如果查哈希表没有匹配,以收到的IPv4报文的目的地址和零地址来计算相应的哈希值,并再次再次查找哈希表;若隧道中没有手工隧道,直接用收到的IPv4报文的目的地址和零地址来计算相应的哈希值,并以该哈希值来查找哈希表。
3.一种权利要求1或2所述的多核平台上IPv6隧道的报文转发方法,其特征在于,所述转发方法首先由若干报文通过普通流程查找配置表项,进行正常的报文封装和解封装以及之后的转发,同时根据报文的各种元组信息建立一个表项记录报文操作的动作,之后拥有相关元组信息的报文到达时,可以直接根据这一表项进行处理,使得重复的动作以流的方式进行,每一条流对应一系列的动作,每一条流称之为Data Flow,简称dflow,这一系列动作为dflow流程,建立表项为dflow表项。
4.根据权利要求3所述的一种多核平台上IPv6隧道的报文转发方法,其特征在于,所述IPv6隧道进行报文转发的过程包括接收IPv4报文的流程和转发IPv6报文的流程,所述接收IPv4报文的流程具体包括如下步骤:
a1.当设备收到IPv4报文时,首先根据IPv4报文的元组信息查找相应的dflow表项,如果已存在,则直接走相应的dflow流程,转至步骤a4,否则新建一个dflow表项,转至步骤a2;
a2.IPv4模块会把协议为41的本地报文交给本模块,根据IPv4报文的源和目的地址以同样的哈希函数计算出一个哈希值,以此值在哈希链表中查找到相应的隧道控制结构,得到用于报文解封装的信息;
a3.解封装报文,得到内部的IPv6报文,同时把必要的信息挂载在dflow表项上,然后把报文交给下一模块来处理,结束解封装;
a4.根据已有的dflow信息完成报文解封装以及传递给下一模块的工作;
所述转发IPv6报文的流程具体包括如下步骤:
b1.当设备收到IPv6报文时,首先根据IPv6报文的元组信息查找相应的dflow表项,如果已存在,则直接走dflow流程,转至步骤b3,否则新建一个dflow表项,转至步骤b2;
b2.IPv6模块会根据路由模块查找到对应的转发端口,如果端口为IPv6隧道,则读取些隧道的控制结构,为报文封装相应的IPv4头部,同时也把必要的信息挂载在dflow表项上,然后把报文交给下一模块来处理;
b3.根据已有的dflow信息完成报文封装以及传递给下一模块的工作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海博达数据通信有限公司,未经上海博达数据通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210410115.9/1.html,转载请声明来源钻瓜专利网。