一种支持IPv6网络的IPv4网络设备及其实现方法

文档序号:7721201阅读:135来源:国知局
专利名称:一种支持IPv6网络的IPv4网络设备及其实现方法
技术领域
本发明涉及互联网,尤其涉及IPv6 (Internet Protocol Version 6,互联网协议版本 6)禾口 IPv4 (Internet Protocol version 4,互联网办议版本 4)。
背景技术
IPv4是第一个被广泛使用且已构成现今互联网技术基石的IP协议。IPv4有30 多年的历史,能够运行在各种底层网络上,比如端对端的串行数据链路(PPP协议和SLIP协 议)、卫星链路等。IPv6 是 IETF (Internet Engineering Task Force,互联网工程任务组)设计的用 于替代IPv4的下一代IP协议。相对IPv4而言,IPV6具有更大的地址空间、更小的路由表、 更高的安全性,并且增加了自动配置功能及对流的支持。IPv6正处于不断发展和完善过程 中,在不久的将来IPv6将逐渐取代目前被广泛使用的IPv4。目前除教育网,中国绝大部分网络使用的是IPv4网络地址,因此多数网络设备都 是基于IPv4开发的,其不能适用于IPv6网络环境。如果要从IPv4过渡到IPv6需要解决 的一个最重要的问题是,如何使IPv4网络设备能够支持IPv6网络。如果仅通过在IPv4网络设备中添加IPv6协议栈将会大大浪费人力和物力资源, 且不切合实际。因此,一种价格低廉的适用于IPv6网络的IPv4网络设备具有重要应用价 值。

发明内容
本发明提供了能解决以上问题的一种支持IPv6网络的IPv4网络设备及其实现方法。在第一方面,本发明提供了一种支持IPv6网络的IPv4网络设备,该网络设备包括 第一数据包转换模块、映射关系存储模块和第二数据包转换模块。该第一数据包转换模块 接收来自IPv6网络的IPv6数据包,并将该IPv6数据包转换成IPv4数据包,同时得到该 IPv6数据包与IPv4数据包之间的映射关系。该映射关系存储模块用于存储该IPv6数据 包与IPv4数据包之间的映射关系。该第二数据包转换模块根据该映射关系将转换后的该 IPv4数据包还原成IPv6数据包。在第二方面,本发明提供了 IPv4网络设备支持IPv6网络的方法,包括以下步骤首先,该IPv4网络设备接收来自该IPv6网络的IPv6数据包,再将该IPv6数据包 转换成IPv4数据包,并获取该IPv6数据包与IPv4数据包之间的映射关系;其次,存储该 IPv6数据包与IPv4数据包之间的映射关系;最后,根据该映射关系将转换后的IPv4数据 包还原成IPv6数据包。在本发明的一个实施例中,所述将IPv6数据包转换成IPv4数据包的方法为首先 找该IPv6数据包四层头指针位置,再从该四层头指针位置处向该IPv6数据包三层头方向 查找IP头个字节,然后将该查找到的位置(A)与该IPv6数据包四层头指针之间的字节替换成IP头字节,并将该IPv6数据包三层头指针移至该查找到的位置(A),且将该查找到的 位置(A)与移动前该三层头指针位置之间的字节去掉,从而完成IPv6数据包向IPv4数据 包的转换。在本发明的另一个实施例中,该支持IPv6网络的IPv4网络设备包括IPv4协议 栈。该IPv4协议栈用于接收来自该第一数据包转发模块的IPv4数据包,并对该IPv4数据 包拆包,读取该IPv4数据包中的应用层数据,对该拆开的IPv4数据包封包,最后将该封装 后的IPv4数据包发送至该第二数据包转换模块。在本发明的又一个实施例中,该支持IPv6网络的IPv4网络设备为流量管理转发 设备、路由器或交换机中。在本发明的还一个实施例中,该支持IPv6网络的IPv4网络设备包括第一网卡驱 动模块和第二网卡驱动模块。该第一网卡驱动模块用于接收数据包,并将其中的IPv4数据 包发送至IPv4协议栈,将IPv6数据包发送至第一数据包转换模块。该第二网卡驱动模块 用于接收来自IPv4协议栈的IPv4数据包及接收来自第二数据包转换模块的IPv6数据包, 并将该接收到的数据包分别发送至IPv4网络及IPv6网络。
本发明通过在IPv4网络设备中增加映射模块,将来自IPv6网络的IPv6数据包转 换成IPv4数据包,再利用该IPv4网络设备中的IPv4协议栈处理该转换后的IPv4数据包, 最后再将该IPv4数据包还原成IPv6数据包并发送至IPv6网络中,从而解决了 IPv4网络 设备支持IPv6网络的问题。本发明的网络设备具有支持IPv4、IPv6双栈功能,且不需要新 添加IPv6协议栈,设备成本及开发设计成本低廉,具有重要应用价值。


下面将参照附图对本发明的具体实施方案进行更详细的说明,在附图中图1是本发明一个实施例的基于IPv6网络的IPv4网络设备系统框图;图2是本发明一个实施例的IPv6数据包转换成IPv4数据包示意图。
具体实施例方式图1是本发明一个实施例的基于IPv6网络的IPv4网络设备系统框图。该网络设 备100包括第一网卡驱动模块110、映射模块120、第二网卡驱动模块130、IPv4协议栈140, 其中,映射模块120包括第一数据包转换模块121、映射关系存储模块122、第二数据包转换 模块123。若网络设备100工作于IPv4网络环境,则该第一网卡驱动模块110接收来自IPv4 网络的IPv4数据包,并将该IPv4数据包发送至IPv4协议栈140。在本发明的一个实施例中,该第一网卡驱动模块通过具有存储该数据包不同位置 内容的结构体sk_buff中的protocol内容识别其接收到的数据包是IPv4数据包还是IPv6 数据包。IPv4协议栈140接收来自该第一网卡驱动模块110的IPv4数据包,并对该IPv4 数据包从最低层开始拆包直到应用层,然后读取该IPv4数据包中的应用层数据,再对该拆 开的IPv4数据包进行封包,最后将该封装后的IPv4数据包发送至第二网卡驱动模块130。 第二网卡驱动模块130将其接收到的该IPv4数据包发送至IPv4网络。
需要说明的是,该网络设备100的应用产品均是基于IPv4协议栈140而设计开发 的,因此该网络设备100是一个IPv4网络设备,该IPv4网络设备如流量管理转发设备、路 由器、交换机等,该应用产品通常用于识别、管理、访问控制等。若网络设备100工作于IPv6网络环境,则该第一网卡驱动模块110接收来自IPv6 网络的IPv6数据包,并将该IPv6数据包发送至映射模块120中的第一数据包转换模块 121。第一数据包转换模块121将其接收到的该IPv6数据包转换成IPv4数据包(具 体转换方法将在下面内容中得到阐述),并将转换后的该IPv4数据包发送至IPv4协议栈 140,将IPv6数据包到IPv4数据包的映射关系存储至映射关系存储模块122的HASH表(哈 希表)中。IPv4协议栈140接收来自第一数据包转换模块121的IPv4数据包,并对该IPv4 数据包拆包,然后读取应用层数据,再封包,最后将该封装后的IPv4数据包发送至第二数 据包转换模块123。第二数据包转换模块123接收来自IPv4协议栈140的IPv4数据包,并获取映射 关系存储模块122中IPv6数据包到IPv4数据包的映射关系,根据该映射关系将IPv4数据 包转换成IPv6数据包,最后再将转换后的该IPv6数据包发送至第二网卡驱动模块130。第二网卡驱动模块130将其接收到的IPv6数据包发送至IPv6网络中,进而实现 IPv4网络设备100支持IPv6网络的功能。下面详细阐述IPv6数据包转换成IPv4数据包的方法。图2是本发明一个实施例的IPv6数据包转换成IPv4数据包示意图。从图2中的 IPv6数据包210结构图及IPv4数据包220结构图中可以看出,IPv6数据包与IPv4数据包 区别为该IPv6数据包三层头(三层数据包头)与该IPv4数据包三层头不同。IPv6数据包 的三层头为IPv6头(IPv6数据包头),IPv4数据包三层头为IP头(IP数据包头)。通常 IPv6头是40个字节,IP头是20个字节。将IPv6数据包转换成IPv4数据包方法参见图2中的数据包转换图230,具体方法 如下首先,查找IPv6数据包四层头(四层数据包头)指针位置(即其四层头起始位置)。其次,从该四层头起始位置起向该IPv6数据包三层头方向查找IP头个字节,图2 中以A作标记。在本发明的一个实施例中,从该IPv6数据包四层头起始位置起向该IPv6 数据包三层头方向查找20个字节。然后,将查找到的位置A处至该IPv6数据包四层头起始位置之间的所有字节都替 换成标准IP头字节,并将该三层头指针移至该查找到的位置A,且将移动前的三层头指针 位置至该查找到的位置A(即移动后的三层头指针位置)之间的所有字节去掉,使该部分内 容为空。最后,将IPv6数据包到IPv4数据包的映射关系存储在映射关系存储模块122的 HASH表中,也就是将三层头指针移动前地址及三层头指针移动后地址存储在该HASH表中, 以便该第二数据包转换模块123不需要再查询IPv4数据包字节,而是仅通过该IPv6数据 包到IPv4数据包的映射关系就能将该IPv4数据包转换成IPv6数据包。
显而易见,在不偏离本发明的真实精神和范围的前提下,在此描述的本发明可以 有许多变化。因此,所有对于本领域技术人员来说显而易见的改变,都应包括在本权利要求书所涵盖的范围之内。本发明所要求保护的范围仅0由所述的权利要求书进行限定。
权利要求
一种支持IPv6网络的IPv4网络设备,包括第一数据包转换模块、映射关系存储模块、第二数据包转换模块;该第一数据包转换模块接收来自所述IPv6网络的IPv6数据包,将该IPv6数据包转换成IPv4数据包,并得到该IPv6数据包与IPv4数据包之间的映射关系;映射关系存储模块用于存储所述IPv6数据包与IPv4数据包之间的映射关系;第二数据包转换模块根据所述映射关系将转换后的该IPv4数据包还原成IPv6数据包。
2.如权利要求1所述的一种支持IPv6网络的IPv4网络设备,其特征在于,所述将IPv6 数据包转换成IPv4数据包为首先找该IPv6数据包四层头指针位置,再从该四层头指针位 置处向该IPv6数据包三层头方向查找IP头个字节,然后将该查找到的位置(A)与该IPv6 数据包四层头指针之间的字节替换成IP头字节,并将该IPv6数据包三层头指针移至该查 找到的位置(A),且将该查找到的位置(A)与移动前该三层头指针位置之间的字节去掉,从 而完成IPv6数据包向IPv4数据包的转换。
3.如权利要求1所述的一种支持IPv6网络的IPv4网络设备,其特征在于,所述IPv6 数据包与IPv4数据包之间映射关系存储在映射关系存储模块的HASH表中。
4.如权利要求1所述的一种支持IPv6网络的IPv4网络设备,其特征在于,所述IPv4 网络设备为流量管理转发设备、路由器、交换机中的一个。
5.如权利要求1所述的一种支持IPv6网络的IPv4网络设备,包括IPv4协议栈;该IPv4协议栈用于接收来自所述第一数据包转发模块的IPv4数据包,并对该IPv4数 据包拆包,读取该IPv4数据包中的应用层数据,对该拆开的IPv4数据包封包,最后将该封 装后的IPv4数据包发送至所述第二数据包转换模块。
6.如权利要求5所述的一种支持IPv6网络的IPv4网络设备,其特征在于,所述IPv4 网络设备是基于IPv4协议栈开发的应用产品,且该应用产品具有识别、管理、控制访问功 能中的一个或多个。
7.如权利要求5所述的一种支持IPv6网络的IPv4网络设备,包括第一网卡驱动模块 和第二网卡驱动模块;该第一网卡驱动模块用于接收数据包,并将其中的IPv4数据包发送至IPv4协议栈,将 IPv6数据包发送至第一数据包转换模块;该第二网卡驱动模块用于接收来自IPv4协议栈的IPv4数据包及接收来自第二数据包 转换模块的IPv6数据包,并将该接收到的数据包分别发送至IPv4网络及IPv6网络。
8.如权利要求7所述的一种支持IPv6网络的IPv4网络设备,其特征在于,所述第一网 卡驱动模块通过具有存储该数据包不同位置内容的结构体sk_buff中的protocol内容识 别其接收到的数据包是IPv4数据包还是IPv6数据包。
9.IPv4网络设备支持IPv6网络的方法,包括步骤a,所述IPv4网络设备接收来自所述IPv6网络的IPv6数据包,再将该IPv6数据 包转换成IPv4数据包,并获取该IPv6数据包与IPv4数据包之间的映射关系; 步骤b,存储所述IPv6数据包与IPv4数据包之间的映射关系; 步骤c,根据步骤b中的映射关系将转换后的IPv4数据包还原成IPv6数据包。
10.如权利要求9所述的IPv4网络设备支持IPv6网络的方法,其特征在于,所述将IPv6数据包转换成IPv4数据包包括步骤d,查找该IPv6数据包四层头指针位置,再从该四层头指针位置处向该IPv6数据 包三层头方向查找IP头个字节,然后将该查找到的位置(A)与该IPv6数据包四层头指针 之间的字节替换成IP头字节,并将该IPv6数据包三层头指针移至该查找到的位置(A),且 将该查找到的位置(A)与移动前该三层头指针位置之间的字节去掉,从而完成IPv6数据包 向IPv4数据包的转换。
11.如权利要求10所述的IPv4网络设备支持IPv6网络的方法,其特征在于,在步骤d 之后包括步骤e,将所述数据包IPv4发送至IPv4协议栈,IPv4协议栈对该IPv4数据包拆包,然 后读取该IPv4数据包中的应用层数据,再对该拆开的IPv4数据包封包,最后发送该封装后 的IPv4数据包。
12.如权利要求9所述的IPv4网络设备支持IPv6网络的方法,其特征在于,所述IPv6 数据包与IPv4数据包之间的映射关系用HASH表进行存储。
全文摘要
本发明涉及一种支持IPv6网络的IPv4网络设备及其实现方法。本发明在IPv4网络设备中增加第一数据包转换模块、映射关系存储模块、第二数据包转换模块。通过该第一数据包转换模块将其接收到的IPv6数据包转换成IPv4数据包,并将该IPv6数据包与该IPv4数据包之间的映射关系存储在映射关系存储模块中,再根据该映射关系第二数据包转换模块将转换后的该IPv4数据包还原成IPv6数据包。本发明的支持IPv6网络的IPv4网络设备开发设计成本低廉,广泛适用于IPv6网络及IPv4网络中。
文档编号H04L29/12GK101841572SQ20091024357
公开日2010年9月22日 申请日期2009年12月25日 优先权日2009年12月25日
发明者梁志勇, 梁斌, 米嘉, 陶涛 申请人:北京网康科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1