首页> 中国专利> 建立IPv6隧道的方法、IPv6隧道通信方法及IPv4边缘设备

建立IPv6隧道的方法、IPv6隧道通信方法及IPv4边缘设备

摘要

本发明提供了一种建立IPv6隧道的方法、IPv6隧道通信方法及IPv4边缘设备。通过在IPv4网络中透传二层IPv6报文,实现了IPv6报文穿越IPv4网络的通信。按照本发明的IPv6隧道通信方法及IPv4边缘设备,无需网络边缘设备支持IPv4/IPv6双协议栈或MPLS技术,即可实现IPv6隧道通信。

著录项

  • 公开/公告号CN101094155A

    专利类型发明专利

  • 公开/公告日2007-12-26

    原文格式PDF

  • 申请/专利权人 杭州华三通信技术有限公司;

    申请/专利号CN200710119887.6

  • 发明设计人 刘经伦;

    申请日2007-08-02

  • 分类号H04L12/46(20060101);H04L1/00(20060101);H04L12/56(20060101);H04L29/06(20060101);

  • 代理机构11243 北京银龙知识产权代理有限公司;

  • 代理人许静

  • 地址 310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地

  • 入库时间 2023-12-17 19:28:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-06-23

    专利权的转移 IPC(主分类):H04L12/46 登记生效日:20200604 变更前: 变更后: 申请日:20070802

    专利申请权、专利权的转移

  • 2017-05-24

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L12/46 变更前: 变更后: 申请日:20070802

    专利权人的姓名或者名称、地址的变更

  • 2010-11-03

    授权

    授权

  • 2008-03-19

    实质审查的生效

    实质审查的生效

  • 2007-12-26

    公开

    公开

说明书

技术领域

本发明涉及数据通信技术领域,具体涉及一种建立网际协议版本6(IPv6,Internet Protocol version 6)隧道的方法、IPv6隧道通信方法及网际协议版本4(IPv4,Internet Protocol version 4)边缘设备。

背景技术

目前,IPv6网络的部署已经在全球范围内展开,随着IPv6网络的发展,现有网络中出现了许多局部的IPv6网络,这些IPv6网络可能是通过运行IPv4协议的骨干网络相连。为了使这些孤立的“IPv6岛”能够相互联通,现有技术提出的一种解决方案是采用IPv6隧道技术,实现IPv6报文穿越IPv4网络的通信。

IPv6隧道技术是将IPv6报文封装在IPv4报文中,从而使得IPv6报文能够穿过IPv4网络进行通信。对于采用IPv6隧道技术的边缘设备来说,在隧道的入口处,需要将IPv6报文封装进IPv4报文,该IPv4报文的源地址和目的地址分别是隧道入口和隧道出口的IPv4地址,从而该IPv4报文能够在IPv4网络中被路由到隧道出口;在隧道的出口处,再将其中的IPv6报文取出,并转发到目的节点,实现IPv6报文穿越IPv4网络。

现有的IPv6隧道技术具体有:手工配置隧道、6 to 4隧道和自动隧道技术(ISATAP,Intra-Site Automatic Tunnel Addressing Protocol)等。现有的IPv6隧道技术的缺点在于:通常只能提供点到点隧道;要求边缘设备支持多协议标签交换(MPLS,Multi Protocol Label Switch)技术或IPv4/IPv6双协议栈技术(即同时支持IPv4报文和IPv6报文转发和相应协议报文处理能力),而为使边缘设备能够支持MPLS技术或IPv4/IPv6双协议栈技术,一般需要对现有的边缘设备的硬件进行更换或升级;现有的隧道技术都是将IPv6报文的报头(包括报头)以后的部分封装进IPv4报文,且只能提供点到点的隧道,并且,其中有的隧道技术需要为边缘设备配置特定格式的IPv6地址,这更增加了配置难度,也限制了其应用。

发明内容

本发明所要解决的技术问题是提供一种建立IPv6隧道的方法、IPv6隧道通信方法及IPv4边缘设备,无需IPv4边缘设备支持IPv4/IPv6双协议栈或MPLS技术,即可实现IPv6报文穿越IPv4网络的通信。

为解决上述技术问题,本发明提供方案如下:

一种建立IPv6隧道的方法,用于在IPv4边缘设备间建立IPv6隧道,所述IPv4边缘设备设置在IPv4网络的边缘,分别与IPv6网络和IPv4网络连接,并且IPv4边缘设备之间通过IPv4网络连接,该方法在本地IPv4边缘设备上配置该IPv6隧道的至少一个远端的IP地址信息。

本发明所述建立IPv6隧道的方法中,所述IPv6隧道为点到多点的IPv6隧道;

所述配置该IPv6隧道的至少一个远端的IP地址信息是:在该IPv6隧道的各端点的IPv4边缘设备上配置该端点的多个远端的IP地址信息。

一种IPv6隧道通信方法,应用于根据权利要求1所建立的IPv6隧道中,包括以下步骤:

A,IPv4边缘设备接收到二层IPv6报文后,将所述二层IPv6报文封装进IPv4报文中,并将封装后的IPv4报文发送至其隧道远端,所述二层IPv6报文为数据链路层上的IPv6报文,所述封装后的IPv4报文中携带有用于指示其自身封装有二层IPv6报文的指示信息;

B,隧道远端的IPv4边缘设备对其接收到的包括有所述指示信息的IPv4报文进行解封装,获取所述二层IPv6报文后在本地转发。

本发明所述IPv6隧道通信方法中,

所述步骤A中,所述将封装后的IPv4报文发送至其隧道远端是,设置所述封装后的IPv4报文的目的地址为其隧道远端的IP地址,根据本地路由表将所述封装后的IPv4报文转发。

本发明所述IPv6隧道通信方法中,所述IPv6隧道为点到多点的IPv6隧道;所述步骤A中,所述将封装后的IPv4报文发送至其隧道远端是,将所述封装后的IPv4报文发送到其点到多点的IPv6隧道的所有远端。

本发明所述IPv6隧道通信方法中,所述步骤A中,所述IPv4边缘设备接收到二层IPv6报文是,根据接收到二层报文的帧头的类型字段,判断该二层报文是否为二层IPv6报文。

本发明所述IPv6隧道通信方法中,所述步骤A中,所述将二层IPv6报文封装进IPv4报文是,将所述二层IPv6报文封装在IPv4报文的净载荷区域。

本发明所述IPv6隧道通信方法中,所述步骤A中,所述指示信息是所述封装后的IPv4报文的报头中协议字段的一个预定值。

本发明所述IPv6隧道通信方法中,所述步骤B中,所述在本地转发所述二层IPv6报文是:在本地对所述二层IPv6报文进行泛洪。

本发明所述IPv6隧道通信方法中,所述步骤A中,在所述二层IPv6报文超过预定长度时,IPv4边缘设备进一步对所述二层IPv6报文进行分片,将得到的所述二层IPv6报文的片段分别封装进IPv4报文中并发送至其隧道远端;

所述步骤B中,隧道远端的IPv4边缘设备进一步对从所述封装后的IPv4报文中获取的二层IPv6报文的片段进行重组,得到所述二层IPv6报文。

本发明所述IPv6隧道通信方法中,IPv4边缘设备从其隧道远端学习MAC地址以及该MAC对应的VLAN信息,并维护远端MAC表项,所述远端MAC表项中包括隧道信息、从该隧道远端学到的MAC地址、该MAC地址对应的VLAN信息之间的对应关系;

所述步骤A中,IPv4边缘设备接收到二层IPv6报文后,进一步根据所述二层IPv6报文的目的MAC地址查找其所维护的远端MAC表项,如果其中存在所述目的MAC地址,则将所述封装后的IPv4报文发送至所述目的MAC地址对应的隧道远端;否则,将所述封装后的IPv4报文发送至所述IPv4边缘设备的所有的隧道远端。

本发明所述IPv6隧道通信方法中,IPv4边缘设备从本地端口学习MAC地址及该MAC地址对应的VLAN信息,并维护本地MAC表项,所述本地MAC表项中包括本地端口、从该本地端口学习到的MAC地址、该MAC地址对应的VLAN信息之间的对应关系;

所述步骤B中,所述在本地转发所述二层IPv6报文包括:

隧道远端的IPv4边缘设备根据所述二层IPv6报文的目的MAC地址查找其所维护的本地MAC表项,如果其中存在所述目的MAC地址,则将所述二层IPv6报文通过所述目的MAC地址对应的本地端口进行转发;否则,根据所述二层IPv6报文的VLAN信息,在该VLAN对应的所有本地端口上对所述二层IPv6报文进行泛洪。

一种IPv4边缘设备,包括:

隧道建立单元,用于配置并保存该IPv4边缘设备所属IPv6隧道的至少一个远端的IP地址信息。

本发明所述的设备,其中,所述隧道建立单元进一步用于配置并保存该IPv4边缘设备所属点到多点的IPv6隧道的多个远端的IP地址信息。

本发明所述的设备,其中,其特征在于还包括:

隧道建立单元IPv6报文接收单元,用于接收二层IPv6报文,将接收到的二层IPv6报文封装进IPv4报文,并在封装后的IPv4报文中设置用于指示该IPv4报文中封装有二层IPv6报文的指示信息,其中,所述二层IPv6报文为数据链路层上的IPv6报文;

IPv4报文发送单元,用于根据所述隧道建立单元配置的IPv6隧道,将所述IPv6报文接收单元得到的所述封装后的IPv4报文发送至隧道远端。

本发明所述的设备,其中,所述IPv6报文接收单元,进一步用于将所述二层IPv6报文封装在IPv4报文的净载荷区域,并设置所述封装后的IPv4报文的报头中协议字段的一个预定值为所述指示信息。

本发明所述的设备,其中,

隧道建立单元所述IPv4报文发送单元,进一步用于根据所述隧道建立单元配置的隧道远端的IP地址,设置所述封装后的IPv4报文的目的地址,并根据本地路由表将所述封装后的IPv4报文转发。

本发明所述的设备,其中,所述隧道建立单元进一步配置并保存该IPv4边缘设备所属点到多点的IPv6隧道的多个远端的IP地址信息;所述IPv4报文发送单元,进一步用于将所述封装后的IPv4报文发送到点到多点的IPv6隧道的所有远端。

本发明所述的设备,其中还包括:

IPv4报文接收单元,用于接收来自隧道远端的IPv4报文,并根据接收到的IPv4报文中是否携带有所述指示信息,判断出所述封装后的IPv4报文并进行解封装,获取其中的二层IPv6报文;

IPv6报文转发单元,用于在本地转发所述IPv4报文接收单元获取的所述二层IPv6报文。

本发明所述的设备,其中还包括远端MAC表项维护单元,用于从隧道远端学习MAC地址以及该MAC对应的VLAN信息,并记录隧道信息、从该隧道远端学到的MAC地址、该MAC地址对应的VLAN信息之间的对应关系;

所述IPv4报文发送单元,进一步根据所述二层IPv6报文的目的MAC地址,查找所述远端MAC表项维护单元,如果其中存在所述目的MAC地址,则将所述封装后的IPv4报文发送至所述目的MAC地址对应的隧道远端;否则,将所述封装后的IPv4报文发送至所述IPv4边缘设备的所有的隧道远端。

本发明所述的设备,其中还包括本地MAC表项维护单元,用于从本地端口学习MAC地址及该MAC地址对应的VLAN信息,并记录本地端口、从该本地端口学习到的MAC地址、该MAC地址对应的VLAN信息之间的对应关系;

所述IPv6报文转发单元,进一步用于根据所述二层IPv6报文的目的MAC地址查找所述本地MAC表项维护单元,如果其中存在所述目的MAC地址,则将所述二层IPv6报文通过所述目的MAC地址对应的本地端口进行转发;否则,根据所述二层IPv6报文的VLAN信息,在该VLAN对应的所有本地端口上对所述二层IPv6报文进行泛洪。

从以上所述可以看出,本发明提供的建立IPv6隧道的方法、IPv6隧道通信方法及IPv4边缘设备,将包括帧头的二层IPv6报文封装进IPv4报文后,通过IPv4网络传输到隧道远端后,再提取其中的二层IPv6报文在本地转发,从而无需对网络边缘设备进行硬件升级,也无需为边缘设备配置特定格式的IP地址,即可实现IPv6报文穿越IPv4网络的通信。本发明还可建立点到多点的IPv6隧道,实现点到多点的通信。并且,本发明还提供了对超长IPv6报文的分片处理方法。

附图说明

图1为一种应用本发明实施例所述IPv6隧道通信方法的网络的结构图;

图2为本发明实施例所述IPv6隧道通信方法的流程图;

图3为本发明实施例所述IPv4边缘设备的结构示意图。

具体实施方式

本发明提供了一种建立IPv6隧道的方法、IPv6隧道通信方法及IPv4边缘设备,通过在IPv4网络中透传二层IPv6报文,从而无需IPv4边缘设备支持IPv4/IPv6双协议栈技术或MPLS技术,即可实现IPv6终端通过IPv4网络的通信。以下结合附图通过具体实施例对本发明做详细的说明。

图1所示为一种应用本发明实施例所述IPv6隧道通信方法的网络的结构图。图1中包括3个局部的IPv6网络1~3和一个IPv4网络,在IPv6网络与IPv4网络的边缘处有3个运行IPv4协议的IPv4边缘设备A、B和C。其中,IPv6设备a1和a2属IPv6网络1,并分别与IPv4边缘设备A连接;IPv6设备b1和b2属于IPv6网络2,并分别与IPv4边缘设备B连接;IPv6设备c1和c2属于IPv6网络3,并分别与IPv4边缘设备C连接。这里,为了方便说明,假设a1、a2、b1、b2、c1和c2的媒体访问控制(MAC,Media Access Control)地址分别为:0000-0000-00A1、0000-0000-00A2、0000-0000-00B1、0000-0000-00B2、0000-0000-00C1和0000-0000-00C2;A、B和C的IPv4地址分别为:1.1.1.1、1.1.1.2和1.1.1.3。以下首先对建立IPv6隧道的方法进行说明:

本发明实施所述建立IPv6隧道的方法,通过在本地IPv4边缘设备上配置该IPv6隧道的至少一个远端的IP地址信息,在IPv4边缘设备间建立IPv6隧道。与现有技术不同的是,本实施例中隧道两端的IPv4边缘设备无需支持MPLS转发或IPv4/IPv6双协议栈技术。这里,在运行IPv4协议的IPv4边缘设备间建立隧道,隧道的两端,即本地和远端,都是IPv4边缘设备。建立隧道时,需要在IPv4边缘设备上配置其隧道远端的IP地址信息。以图1为例,在A、B之间建立隧道时,需要分别在A上配置其远端B的IP地址1.1.1.2,和在B上配置其远端A的IP地址1.1.1.1。

这里,还可以配置点到多点的IPv6隧道,通过点到多点隧道,报文可以同时到达多个远端:分别在需要建立点到多点隧道的各端点配置该端点所有远端的IP地址信息,用以在该点到多点隧道的各端点之间建立全连接关系。以图1为例,假设在A、B和C之间建立点到多点隧道,可以通过在A上配置该隧道远端B和C的IP地址,在B上配置该隧道远端A和C的IP地址,在C上配置该隧道远端A和B的IP地址,从而形成A到(B和C)、B到(A和C),和C到(A和B)的点到多点的全连接关系。

以下结合图1对本发明实施例所述的IPv6隧道通信方法进行说明,如图2所示,本发明实施例所述IPv6隧道通信方法包括3个步骤:

步骤21,在IPv4边缘设备间建立IPv6隧道,所述建立IPv6隧道包括在IPv4边缘设备配置其隧道远端的IP地址信息。

步骤22,IPv4边缘设备接收到二层IPv6报文后,将所述二层IPv6报文封装进IPv4报文中,并将封装后的IPv4报文发送至其隧道远端,所述封装后的IPv4报文中携带有用于指示其自身封装有二层IPv6报文的指示信息。

这里,所述二层IPv6报文是数据链路层上的IPv6报文,包括以太网帧头和帧尾,其中帧头中又包括目的MAC地址、源MAC地址,还可能包括虚拟局域网(VLAN,Virtual Local Area Network)信息(如VLAN标识ID)等。

这里,IPv4边缘设备对于接收到的二层报文(以太网帧),可以根据该二层报文的帧头的类型(Type)字段是否为0x86DD,判断该二层报文是否为二层IPv6报文。IPv4边缘设备将二层IPv6报文封装进IPv4报文的净载荷(Payload)区域,并设置所述封装后的IPv4报文的报头中协议(Protocol)字段为一个预定值,用于作为指示该IPv4报文中封装有二层IPv6报文的指示信息,同时设置所述封装后的IPv4报文的目的IP地址为隧道远端的IP地址,通过本地路由表将所述封装后的IPv4报文转发。

这里,当所述IPv4边缘设备被配置了点到多点的IPv6隧道时,所述封装后的IPv4报文可以是被发送到该隧道的所有远端。仍以图1为例,如果A、B和C之间配置了点到多点的IPv6隧道,当A接收到一个2层IPv6报文时,将该报文封装进IPv4报文后,分别发送至远端B和C。

步骤23,隧道远端的IPv4边缘设备根据接收到的IPv4报文中是否携带有所述指示信息,判断出所述封装后的IPv4报文,并对所述封装后的IPv4报文进行解封装,获取所述二层IPv6报文后在本地转发。

这里,所述封装后的IPv4报文在IPv4网络中被路由到隧道远端。隧道远端的IPv4边缘设备接收到的所述封装后的IPv4报文后,只在本地进行转发,不再通过隧道发送至其它远端设备。

隧道远端的IPv4边缘设备对所述封装后的IPv4报文进行解封装,获取其中的二层IPv6报文后,可以进一步在本地所有端口上对所述二层IPv6报文进行泛洪。继续以图1为例,如果A和B之间配置了隧道,当A接收到一个2层IPv6报文时,便可以按照步骤22将该报文封装进IPv4报文中,发送至B;B在接收到所述封装后的IPV4报文后,解封装获取其中的2层IPv6报文,并在本地所有端口上进行泛洪。

需要指出的是,如果IPv4边缘设备接收到一个超过预定长度的二层IPv6报文,在步骤22中则无法将该二层IPv6报文封装进IPv4报文中。此时,可以对该二层IPv6报文进行分片,然后将各片段分别封装进IPv4报文,并通过隧道发送到隧道远端;在远端IPv4边缘设备上接收到这些IPv4报文后,获取其中的二层IPv6报文的片段并进行重组,从而获取完整的二层IPv6报文。

通过以上步骤,本实施例通过在IPv4网络中透传包括帧头的二层IPv6报文,可以实现“IPv6岛”之间的通信。当所述二层IPv6报文为二层广播报文或二层组播报文时,本发明实施例所述IPv6隧道通信方法可以按照上述步骤进行;当所述二层IPv6报文为二层单播报文时,本发明实施例所述IPv6隧道通信方法中还可以进一步通过在隧道端点的IPv4边缘设备上维护本地MAC表项和远端MAC表项,根据所述二层IPv6报文的目的MAC地址有选择的进行转发封装后的IPv4报文,以更加有效的通过IPv4网络发送IPv6报文,以下对此进行说明。

首先,隧道端点上的IPv4边缘设备学习隧道远端的MAC地址和该MAC地址对应的VLAN等信息,维护远端MAC表项,所述远端MAC表项如表1所示,用于记录隧道信息(如隧道远端的IP地址)、从该隧道远端学到的MAC地址、该MAC地址对应的VLAN信息(如VLAN ID)之间的对应关系。同时,IPv4边缘设备还通过从本地端口学习MAC地址及该MAC地址对应的VLAN信息,维护本地MAC表项,所述本地MAC表项如表2所示,用于记录本地端口、从该本地端口学习到的MAC地址、该MAC地址对应的VLAN信息(如VLAN ID)之间的对应关系。这里,还可以在所述远端MAC表项和本地MAC表项中为学习到的MAC地址设置MAC地址老化时间Age,如果在老化时间内未接收到源地址为该MAC地址的帧,则从所述表项中删除该MAC地址的对应信息。

 MAC地址  VLAN ID  隧道    Age 0000-0000-0001  10  1.1.1.1(远端IP地址)    300s …  …  …    …

表1

 MAC地址    VLAN ID    本地端口    Age 0000-0000-0001    10    G1/1/1    300s …    …    …    …

表2

在步骤22中,IPv4边缘设备接收到二层IPv6报文后,进一步学习所述二层IPv6报文的源MAC地址、对应端口(接收到所述二层IPv6报文的本地端口)和该源MAC地址对应的VLAN信息,并记录在本地MAC表项中,同时查找其所维护的远端MAC表项,判断其中是否存在所述二层IPv6报文的目的MAC地址,如果存在,则将所述封装后的IPv4报文发送至所述目的MAC地址对应的隧道远端;否则,将所述封装后的IPv4报文发送至该IPv4边缘设备的所有的隧道远端。

这里,所述IPv4边缘设备,还可以进一步查找并判断其本地MAC表项中是否存在所述二层IPv6报文的目的MAC地址,如果存在,则表明所述二层IPv6报文不需通过隧道发送,只需在学习到该目的MAC地址的本地端口上转发;如果不存在,则根据所述二层IPv6报文的VLAN信息,在该VLAN对应的所有本地端口上对所述二层IPv6报文进行泛洪。

在步骤23中,隧道远端的IPv4边缘设备通过解封装所述封装后的IPv4报文,获取所述二层IPv6报文后,进一步学习所述二层IPv6报文的源MAC地址、对应隧道信息(接收到所述封装后的IPv4报文的隧道的远端的IP地址)和VLAN信息,并记录在远端MAC表项中,同时,查找其所维护的本地MAC表项,判断其中是否存在所述二层IPv6报文的目的MAC地址及对应的端口,如果存在,则将所述二层IPv6报文通过所述目的MAC地址对应的本地端口进行转发;否则,根据所述二层IPv6报文的VLAN信息,在该VLAN对应的所有本地端口上对所述二层IPv6报文进行泛洪。

下面仍以图1中的网络举例,对上述IPv6报文的转发作更为具体的说明。

假设a1、a2、b1、b2、c1和c2都属于VLAN ID为10的VLAN;在A、B和C之间配置了点到多点隧道,建立全连接关系;并且,A、B和C上都各自维护着本地MAC表项和远端MAC表项。

第一个二层IPv6报文从a1进入A(通过A的端口G1/1/1),该二层IPv6报文的目的MAC地址是0000-0000-00B1(b1的MAC地址),源MAC地址是0000-0000-00A1(a1的MAC地址);A学习该二层IPv6报文的源MAC地址(0000-0000-00A1)、对应端口(G1/1/1)和VLAN信息(VLAN ID:10),并记录在本地MAC表项中,如表3所示;A根据该二层IPv6报文的目的MAC地址查找其本地MAC表项和远端MAC表项,由于此时本地MAC表项和远端MAC表项中尚无相应记录,因此没有找到对应的MAC转发表项,于是,A在VLANID为10的所有本地端口上对该二层IPv6报文进行泛洪,这里,由于a1和a2同一个VLAN,因此A将所述二层IPv6报文通过与a2连接的端口转发给a2(由于所述二层IPv6报文的目的MAC地址并非a2的MAC地址,因此a2不对所述二层IPv6报文进行响应);同时,A还将所述二层IPv6报文封装到IPv4报文的净载荷区域中,并将封装后的IPv4报文分别发送到其隧道远端的B和C(所述封装后的IPv4报文的目的IP地址为B或C的IP地址,并在所述封装后的IPv4报文的报头中协议字段携带所述指示信息)。

    MAC地址    VLAN ID    本地端口    Age

    0000-0000-00A1    10      G1/1/1    300s

表3

所述封装后的IPv4报文在IPv4网络中被路由到B和C。B接收到所述封装后的IPv4报文后,根据其报头携带的指示信息判断出其携带有二层IPv6报文,因此解封装出所述二层IPv6报文,并将所述二层IPv6报文中的源MAC地址、对应隧道信息(隧道远端A的IP地址1.1.1.1)和VLAN信息学习到B的远端MAC表项中,如表4所示;同时,B根据所述二层IPv6报文的目的MAC地址查找其本地MAC表项,如果此时B的本地MAC表项尚无相应记录,则根据所述二层IPv6报文的VLAN信息,在VLAN ID为10的所有本地端口上对该二层IPv6报文进行泛洪,从而b1、b2都会收到所述二层IPv6报文。在C上对所述封装后的IPv4报文的处理也与此类似,c1、c2也会收到所述二层IPv6报文,不再赘述。

    MAC    VLAN ID 隧道    Age 0000-0000-00A1    10 1.1.1.1(远端IP地址)    300s

表4

通过以上过程,实现了在IPv4网络中第一次透传二层IPv6报文。在上述过程之后,如果b1需要对所述二层IPv6报文进行响应,b1发出二层IPv6响应报文,所述二层IPv6响应报文目的MAC是所述二层IPv6报文的源MAC地址(即a1的MAC地址)。B在接收到b1发出的二层IPv6响应报文后,查找本地MAC表项和远端MAC表项,发现在远端MAC表项(表4)中有对应的MAC地址及该MAC地址对应的隧道远端的IP地址(A的IP地址1.1.1.1),于是B封装所述二层IPv6响应报文到IPv4响应报文中,所述IPv4响应报文的目的IP地址为A的IP地址,然后将所述IPv4响应报文单播发送给A;A接收到所述IPv4响应后同样通过解封装,获取其中的二层IPv6响应报文,并根据该二层IPv6响应报文的目的MAC地址查找本地MAC表项(表3),此次可以找到对应MAC地址(a1的MAC地址),于是,A通过该MAC地址对应的端口在本地转发所述二层IPv6响应报文到a1,从而再次实现了IPv6报文穿越IPv4网络。

基于上述的IPv6隧道通信方法,本实施例还提供了一种IPv4边缘设备,如图3所示,该IPv4边缘设备30包括:隧道建立单元31、IPv6报文接收单元32、IPv4报文发送单元33、IPv4报文接收单元34和IPv6报文转发单元35,

其中,隧道建立单元31,用于为该IPv4边缘设备30配置IPv6隧道。这里,配置IPv6隧道包括配置IPv6隧道远端的IP地址信息。这里,所述隧道建立单元31还可以用于配置点到多点的IPv6隧道,并保存所述点到多点隧道所有远端的IP地址信息。

其中,IPv6报文接收单元32,用于接收二层IPv6报文,将接收到的二层IPv6报文封装进IPv4报文,并在封装后的IPv4报文中设置用于指示该IPv4报文中封装有二层IPv6报文的指示信息,其中,所述二层IPv6报文为数据链路层上的IPv6报文。这里,所述IPv6报文接收单元32,还可以进一步用于将所述二层IPv6报文封装在IPv4报文的净载荷区域,并设置所述封装后的IPv4报文的报头中协议字段的一个预定值为所述指示信息。

其中,IPv4报文发送单元33,用于根据所述隧道建立单元31配置的IPv6隧道,将所述IPv6报文接收单元得到的所述封装后的IPv4报文发送至隧道远端。这里,所述IPv4报文发送单元33,进一步用于根据所述隧道建立单元配置的隧道远端的IP地址,设置所述封装后的IPv4报文的目的地址,并根据本地路由表将所述封装后的IPv4报文转发。在所述隧道建立单元31配置了点到多点IPv6隧道时,所述IPv4报文发送单元33,还进一步用于将所述封装后的IPv4报文发送到点到多点的IPv6隧道的所有远端。

其中,IPv4报文接收单元34,用于接收来自隧道远端的IPv4报文,并根据接收到的IPv4报文中是否携带有所述指示信息,判断出所述封装后的IPv4报文并进行解封装,获取其中的二层IPv6报文。

其中,IPv6报文转发单元35,用于在本地转发所述IPv4报文接收单元34获取的所述二层IPv6报文。

这里,所述IPv4边缘设备30还可以进一步包括远端MAC表项维护单元36和本地MAC表项维护单元37。

其中,所述远端MAC表项维护单元36,用于从隧道远端学习MAC地址以及该MAC对应的VLAN信息,并记录隧道信息、从该隧道远端学到的MAC地址、该MAC地址对应的VLAN信息之间的对应关系。所述IPv4报文发送单元33,进一步根据所述二层IPv6报文的目的MAC地址,查找所述远端MAC表项维护单元36,如果其中存在所述目的MAC地址,则将所述封装后的IPv4报文发送至所述目的MAC地址对应的隧道远端;否则,将所述封装后的IPv4报文发送至所述IPv4边缘设备的所有的隧道远端。

其中,本地MAC表项维护单元37,用于从本地端口学习MAC地址及该MAC地址对应的VLAN信息,并记录本地端口、从该本地端口学习到的MAC地址、该MAC地址对应的VLAN信息之间的对应关系。所述IPv6报文转发单元35,进一步用于根据所述二层IPv6报文的目的MAC地址查找所述本地MAC表项维护单元37,如果其中存在所述目的MAC地址,则将所述二层IPv6报文通过所述目的MAC地址对应的本地端口进行转发;否则,根据所述二层IPv6报文的VLAN信息,在该VLAN对应的所有本地端口上对所述二层IPv6报文进行泛洪。

综上所述,按照本发明实施例所述的IPv6隧道通信方法及IPv6边缘设备中,可以透传包括帧头的二层IPv6报文,无需IPv4边缘设备支持IPv4/IPv6双协议栈或MPLS技术,即可实现穿越IPv4网络的通信。并且,本发明还可以通过在IPv4边缘设备间建立点到多点的IPv6隧道,实现点到多点的通信。

本发明所述的建立IPv6隧道的方法、IPv6隧道通信方法及IPv6边缘设备,并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明之领域,对于熟悉本领域的人员而言可容易地实现另外的优点和进行修改,因此在不背离权利要求及等同范围所限定的一般概念的精神和范围的情况下,本发明并不限于特定的细节、代表性的设备和这里示出与描述的图示示例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号