CN102394817B - 一种隧道转发方法、装置及网络设备 - Google Patents

一种隧道转发方法、装置及网络设备 Download PDF

Info

Publication number
CN102394817B
CN102394817B CN201110335387.2A CN201110335387A CN102394817B CN 102394817 B CN102394817 B CN 102394817B CN 201110335387 A CN201110335387 A CN 201110335387A CN 102394817 B CN102394817 B CN 102394817B
Authority
CN
China
Prior art keywords
tunnel
list item
exchange chip
chip list
ipv6
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.)
Expired - Fee Related
Application number
CN201110335387.2A
Other languages
English (en)
Other versions
CN102394817A (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.)
Beijing Star Net Ruijie Networks Co Ltd
Original Assignee
Beijing Star Net Ruijie Networks 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 Beijing Star Net Ruijie Networks Co Ltd filed Critical Beijing Star Net Ruijie Networks Co Ltd
Priority to CN201110335387.2A priority Critical patent/CN102394817B/zh
Publication of CN102394817A publication Critical patent/CN102394817A/zh
Application granted granted Critical
Publication of CN102394817B publication Critical patent/CN102394817B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明实施例提供了一种隧道转发方法、装置及网络设备,其中方法包括:针对每个存在隧道中继路由的隧道,生成该隧道对应的自动配置隧道类型的第一交换芯片表项,并根据该隧道的隧道中继路由,生成该隧道对应的手工配置隧道类型的第二交换芯片表项;分别生成与所述第一交换芯片表项和第二交换芯片表项对应的IPv6路由信息;当接收到需要经过隧道转发的IPv6报文时,根据所述报文的目标IPv6地址,查找对应的IPv6路由信息,并根据对应IPv6路由信息,选择按照该隧道的第一交换芯片表项或者第二交换芯片表项进行封装并转发。本发明解决了现有的IPv6报文根据隧道中继路由不能正常通过隧道转发的问题。

Description

一种隧道转发方法、装置及网络设备
技术领域
本发明涉及网络通信领域,尤其涉及一种隧道转发方法、装置及网络设备。
背景技术
因特网内的所有设备之间能够通信,前提是他们遵循一套标准的通信协议。英文称呼这套协议为因特网协议(Internet Protocol,IP)。IP协议目前有2个版本,一个是版本4,简称IPv4;另一个是版本6,简称IPv6。
IPv4网络向IPv6网络过渡阶段,常使用tunnel(隧道)技术实现IPv4网络向IPv6网络的过渡。通过已有的IPv4网络将IPv6网络互联起来,形成网络的网络。将IPv6网络看成一个一个的孤岛,已经存在的IPv4网络看成海洋。孤岛之间通过隧道进行通信。方法是将孤岛之间的IPv6报文封装在IPv4报文中,然后在IPv4海洋中传播。如图1所示,第一IPv6网络中的2003::2222经过IPv6 over IPv4隧道访问第二IPv6网络中的2001::2222时,需要将2003::2222发送的IPv6的数据包作为IPv4的数据部分封装在IPv4报文中,以便在IPv4隧道中传输,如图2所示,在隧道中传输的数据报文包含IPv4头部、IPv6头部和IPv6数据。
现有技术中,隧道常包括下面两种类型:
手工配置隧道(manual config tunnel),手工配置隧道是这样一种IPv6 overIPv4的隧道:IPv4头部的源IP地址和目标IP地址都是由设备管理员手工指定。不论进入隧道的IPv6报文是什么,IPv4头部的源IP地址和目标IP地址都是固定的。
自动配置隧道,自动配置隧道是这样一种IPv6 over IPv4的隧道:管理员只指定IPv4头部的源IP地址,目标IP地址由IPv6头部的目标IPv6地址按一定的规则进行映射。目前IETF定义的自动配置隧道有6to4 tunnel、isatap tunnel,以及6rd tunnel。其中:
1)6to4 tunnel
隧道技术的一种,属于点对多点的隧道。只需要配置隧道的源端。即只需要指定IPv4头部的源IP地址。而IPv4头部的目标IP地址由IPv6头部的目标IPv6地址映射而成。
具体映射方法是:当目标IPv6地址的最高16位为2002::时,将紧接着的32位的值作为IPv4头部的目标IP地址。例如,IPv6地址2002:1011:1213:x:x:x:x:x。IPv4地址为1011:1213对应的值,翻译成点分十进制表示则为16.17.18.19。
2)isatap tunnel
isatap tunnel原理和6to4 tunnel类似。不过其映射IPv4地址的方法发生了变化,只映射IPv6地址的最后4字节。
3)6rd tunnel
IETF对6to4 tunnel进行了改进,废除了2002::/16这一个限制,提出了6rdtunnel。即IPv6 Rapid Development tunnel,IPv6快速部署的隧道技术。
6rd隧道需要指定6rd前缀。6rd前缀可以是任何的IPv6单播地址前缀。如2000,2001,2002等等。6rd还需要指定掩码长度,如1,2,...,8,9,10,...16,...等。一般前缀长度不会超过64。当6rd前缀被配置为2002,6rd前缀长度被配置成16的时候,6rd tunnel就退化成了传统的6to4 tunnel。因此,可以认为6rd tunnel是6to4 tunnel的超集。6to4 tunnel是6rd tunnel的子集。
如果IPv6局域网中的设备需要访问IPv6互联网,一般要配置一条缺省路由,如“::/0下一跳路由器本设备的出接口”。当“本设备的出接口”为一个tunnel出口时,如果该隧道是手工配置隧道,则需要“::/0tunnel 1”这样的路由就行了,因为tunnel 1明确指定了下一跳路由器。但如果是6to4 tunnel、isataptunnel或6rd tunnel等各种形式的自动隧道,则“::/0tunnel 1”是不起作用的,因为此时tunnel 1是点对多点隧道。而要访问IPv6 Internet,必须将报文交给明确的下一跳设备。如图3所示,R1与R2、R3、R4之间都是通过6to4 tunnel相连,但只有到了R3,报文才能转发到Internet,因此R1上的缺省路由应该为“::/0tunnel 1 R3的IPv6地址”,这条路由就是隧道中继路由,R3即隧道中继路由器,通过它,IPv6局域网的用户和IPv6 Internet得以顺利连接。
目前网络交换设备中的交换芯片对IPv4头部的封装,会依据如下隧道封装信息:隧道类型、源IPv4地址和目标IPv4地址。
当隧道类型为手工配置隧道时,源IPv4地址和目标IPv4地址的值都是有意义的。即报文转发时,如果出口是此隧道接口,则用这2个值填充IPv4头部的相应字段。
当隧道类型为6to4或者isatap类型的隧道时,只有源IPv4地址有意义,目标IPv4地址无效。报文转发时,目标IPv4地址直接从目标IPv6地址通过一定的规则映射而来。
例如tunnel 1是手工配置隧道,tunnel 2是6to4隧道,存在如下2条IPv6路由。
1000::/16 tunnel 1
2002::/16 tunnel 2
tunnel 1和tunnel 2会各占一个交换芯片表项信息。如下:
tunnel 1对应的交换芯片表项:
隧道类型——手工配置隧道
源IPv4地址——1.1.1.1
目标IPv4地址——2.2.2.2
tunnel 2对应的交换芯片表项:
隧道类型——6to4隧道
源IPv4地址——1.1.1.1
目标IPv4地址——无效值
根据路由的最长前缀匹配规则,目标IPv6地址为1000::1111的报文将按tunnel 1的交换芯片表项信息转发报文,目标IPv6地址为2002:0102:0304::1111的报文将按tunnel 2的交换芯片表项信息转发报文。
但如果存在隧道中继路由,如
::/0tunnel 2 2002:0506:0708::2222
由于前面所述的原因,当前tunnel 2对应的芯片转发表项无法满足需求。例如目标IPv6地址为3000::1111的报文,由于会命中上述隧道中继路由,因此,会从tunnel 2转发报文,但按照tunnel 2对应的交换芯片表项转发报文时,由于目标IPv6地址前缀是3000::,而不是2002::,因此无法正常进行转发。
发明内容
本发明实施例提供了一种隧道转发方法、装置及网络设备,用以解决现有的IPv6报文根据隧道中继路由不能正常通过隧道转发的问题。
基于上述问题,本发明实施例提供的一种隧道转发方法,包括:
针对每个存在隧道中继路由的隧道,生成该隧道对应的自动配置隧道类型的第一交换芯片表项,并根据该隧道的隧道中继路由,生成该隧道对应的手工配置隧道类型的第二交换芯片表项;
分别生成与所述第一交换芯片表项和第二交换芯片表项对应的IPv6路由信息;
当接收到需要经过隧道转发的IPv6报文时,根据所述报文的目标IPv6地址,查找对应的IPv6路由信息,并根据对应IPv6路由信息,选择按照该隧道的第一交换芯片表项或者第二交换芯片表项进行封装并转发。
本发明实施例提供的一种隧道转发装置,包括:
第一表项生成单元,用于针对每个存在隧道中继路由的隧道,生成该隧道对应的自动配置隧道类型的第一交换芯片表项;
第二表项生成单元,用于针对每个存在隧道中继路由的隧道,根据该隧道的隧道中继路由,生成该隧道对应的手工配置隧道类型的第二交换芯片表项;
IPv6路由生成单元,用于分别生成与所述第一交换芯片表项和第二交换芯片表项对应的IPv6路由信息;
隧道转发单元,用于当接收到需要经过隧道转发的IPv6报文时,根据所述报文的目标IPv6地址,查找对应的IPv6路由信息,并根据对应IPv6路由信息,选择按照该隧道的第一交换芯片表项或者第二交换芯片表项进行封装并转发。
本发明实施例还提供了一种网络设备,该网络设备包括本发明实施例提供的上述隧道转发装置。
本发明实施例的有益效果包括:
本发明实施例提供的上述隧道转发方法、装置及网络设备,由于针对每个存在隧道中继路由的隧道,不仅生成该隧道对应的自动配置隧道类型的第一交换芯片表项,而且根据该隧道的隧道中继路由,生成该隧道对应的手工配置隧道类型的第二交换芯片表项;当接收到需要经过隧道转发的IPv6报文时,根据所述报文的目标IPv6地址,查找对应的IPv6路由信息,并根据对应IPv6路由信息,选择按照该隧道的第一交换芯片表项或者第二交换芯片表项进行封装并转发。这样,针对命中隧道中继路由的IPv6报文,网络设备的交换芯片可以根据创建的手工配置隧道类型的交换芯片表项,完成隧道的封装和正常转发,避免了现有技术中命中隧道中继路由的IPv6报文由于前缀与交换芯片表项定义的地址前缀不同而无法正常转发的问题。
附图说明
图1为现有技术中IPv6报文经隧道转发的网络结构图;
图2为现有技术中隧道中传输的数据报文的格式示意图;
图3为现有技术中自动隧道中继的网络连接示意图;
图4为本发明实施例提供的隧道转发方法的流程图;
图5为本发明实施例提供的实例中网络设备连接IPv6和IPv4网络的示意图;
图6为本发明实施例提供的隧道转发装置的结构图。
具体实施方式
下面结合说明书附图,对本发明实施例提供的一种隧道转发方法、装置及网络设备的具体实施方式进行说明。
本发明实施例提供的一种隧道转发方法,如图4所示,具体包括以下步骤:
S401、针对每个存在隧道中继路由的隧道,生成该隧道对应的自动配置隧道类型的第一交换芯片表项;根据该隧道的隧道中继路由,生成该隧道对应的手工配置隧道类型的第二交换芯片表项;
S402、分别生成与第一交换芯片表项和第二交换芯片表项对应的IPv6路由信息;
S403、接收需要经过隧道转发的IPv6报文;
S404、根据所述报文的目标IPv6地址,查找对应的IPv6路由信息;
S405、根据对应IPv6路由信息,选择按照该隧道的第一交换芯片表项或者第二交换芯片表项进行封装并转发。
下面对上述各步骤进行详细地说明。
为了解决现有技术中,如果需要隧道转发的IPv6报文在命中隧道中继路由的情况下,由于交换芯片缺乏对应的交换芯片表项而无法正常经隧道转发的问题,上述步骤S401中,针对每个隧道,需要派生出两个交换芯片表项,即第一交换芯片表项和第二交换芯片表项(在此仅为了方便区分,将两者分别称呼为第一交换芯片表项和第二交换芯片表项),第一交换芯片表项,是按照现有技术中自动配置隧道的交换芯片表项的生成方式生成的,第二交换芯片表项,是根据隧道中继路由,按照手工配置隧道的交换芯片表项的生成方式生成的,两者的具体生成方法如下:
第一交换芯片表项的生成方法,包括下述步骤:
1、配置第一交换芯片的隧道类型为自动配置隧道;具体的自动隧道的类型可以为6to4 tunnel、6rd tunnel以及isatap tunnel等类型中的一种。
2、将预先设定的源IPv4地址作为第一交换芯片表项中的源IPv4地址;
3、根据所配置的自动配置隧道的类型,确定目的IPv4地址的映射方式;
例如自动配置隧道为6to4 tunnel或6rd tunnel类型时,目的IPv4地址的映射方式为从IPv6报文的目的地址的16位开始提取32位的值作为隧道封装时的目的IPv4地址。
4、将上述三个步骤所配置隧道类型、源IPv4地址和所述目的IPv4地址的映射方式写入交换芯片中的对应位置,生成第一交换芯片表项。
第二交换芯片表项的生成方法,包括下述步骤:
1′、配置该第二交换芯片表项的隧道类型为手工配置隧道;
2′、将预先设定的源IPv4地址作为第二交换芯片表项中的源IPv4地址;
3′、提取隧道中继路由中的隧道中继路由设备的IPv6地址,根据预设的IPv6地址与IPv4地址之间的映射关系,提取所述隧道中继路由设备的IPv6地址的相应部分作为第二交换芯片表项中的目的IPv4地址;
例如根据6to4 tunnel定义的映射规则,将提取的IPv6地址中前缀之后的32位的值作为第二交换芯片表项中的目的IPv4地址;
又如根据isatap tunnel定义的映射规则,将提取的IPv6地址中最后32位的值作为第二交换芯片表项中的目的IPv4地址。
本发明实施例并不限定具体采用何种映射方式,得到第二交换芯片表项中的目的IPv4地址。
4′、将所配置的隧道类型、源IPv4地址和目的IPv4地址写入到交换芯片中的对应位置,生成所述第二交换芯片表项。
在上述步骤S402中,分别为第一交换芯片表项和第二交换芯片表项生成对应的IPv6路由信息,显然,第一交换芯片表项,因为是自动配置隧道类型对应的交换芯片表项,因此其对应的IPv6路由信息中的地址前缀应该是特定的IPv6地址前缀,例如2000、2001和2002等,第二交换芯片表项对应的IPv6路由信息,是针对隧道中继路由的,因此,其针对地址范围应与隧道中继路由的地址范围相同,例如隧道中继路由为“::/0tunnel 22002:0506:0708::2222”,那么第二交换芯片表项对应的路由信息中的地址范围为“::/0”,当然,隧道中继路由的前缀还可以是其他IPv6单播路由前缀,而不限于上述“::/0”。
由此,可以在上述步骤S405中,将接收到的IPv6报文的目的地址的前缀,与第一交换芯片表项和第二交换芯片表项各自对应的路由信息进行匹配,确定转发该IPv6报文所需的IPv6路由信息,如果确定转发该IPv6报文需要第一交换芯片表项对应的IPv6路由信息,则按照第一交换芯片表项定义的目的IPv4地址映射方式映射出该报文的目的IPv4地址,然后将第一交换芯片表项中定义的源IPv4地址、映射出的目的IPv4地址作为对接收的IPv6报文进行封装的源地址和目的地址;反之,如果确定转发该IPv6报文需要第二交换芯片表项对应的IPv6路由信息,则按照第二交换芯片表项定义源IPv4地址和目的IPv4地址,作为对接收的IPv6报文进行封装的源地址和目的地址。
相应地,如果路由设备的隧道中继路由被删除,那么会相应删除交换芯片中的该隧道中继路由派生出的第二交换芯片表项及对应的IPv6路由信息。
为了更好地说明本发明实施例提供的上述隧道转发方法,在此,以一个具体的实例进行说明:
在本实例中,网络管理员首先通过交互界面对隧道进行配置,例如对tunnel2的配置信息如下:
interface tunnel 2
隧道类型(tunnel mode)           IPv6IP 6rd
6rd地址前缀(6rd preifx)         2002::/16
隧道源地址(tunnel source)       2.2.2.2
然后,网络设备上,针对tunnel 2,生成表项tunnel x。
tunnel x实际是由tunnel 2派生出来的。tunnel 2的信息不会写入网络设备的交换芯片中,但tunnel x的信息会写入网络设备的交换芯片中。表项tunnel x包含内容为:“隧道类型为自动配置隧道、从目标地址的16位开始提取目标IPv4地址、源IPv4地址2.2.2.2”,将表项tunnel x的上述内容作为交换芯片的第x个表项写入到交换芯片的对应位置。之后,网络设备根据该表项,生成一条IPv6路由:“2002::/16 tunnel x”,并写入交换芯片。
网络管理员通过交互界面添加隧道中继路由,如“IPv6 route::/0 tunnel 22002:0506:0708::2222”,此时,网络设备,会针对tunnel 2,生成表项tunnel y。
tunnel y实际是由tunnel 2的上述隧道中继路由派生出来的,tunnel y包含内容为:“隧道类型为手工配置隧道、源IPv4地址为2.2.2.2、目的IPv4地址为5.6.7.8”,将表项tunnel y的上述内容作为交换芯片的第y个表项写入到交换芯片的对应位置。之后,网络设备根据该表项,生成一条IPv6路由:“::/0 tunnely”,并写入交换芯片。
经过上述过程之后,tunnel 2派生出来两个交换芯片表项即tunnel x和tunnel y,如果网络管理员对tunnel 2的源IPv4地址进行了修改,相应地,网络设备会将tunnel x和tunnel y中的源IPv4地址进行相应的修改。
假设网络管理员按照下述方式部署了IPv4网络和IPv6局域网:
interface gigabit 0/1
IPv6address 1111::1111/64
interface gigabit 0/2
IP address 1.1.1.1255.255.255.0
下一跳路由IP route:0.0.0.00.0.0.01.1.1.2
上述配置表明,网络设备的gigabit 0/1接口连接的是IPv6网络,gigabit 0/2连接的是IPv4网络,如图5所示。
当网络设备从gigabit 0/1收到目标IPv6地址为2002:05060708::3333的IPv6报文时,网络设备的交换芯片根据自身保存的路由信息“2002::/16 tunnel x”,将报文按tunnel x的定义进行封装并转发,即从目标IP的第16位开始提取目标IPv4地址(5.6.7.8)作为封装的目的地址,并将2.2.2.2作为封装的源IPv4地址。”,对IPv6报文封装好后,封装后的IPv4报文根据“IP route 0.0.0.00.0.0.01.1.1.2”发送到下一跳路由器“1.1.1.2”。
当网络设备从gigabit 0/1收到目标IPv6地址的前缀非“2002”的报文例如目标IPv6地址为1000::10000的IPv6报文时,网络设备的交换芯片根据自身保存的路由信息“::/0tunnel y”,将报文按tunnel y的定义进行封装并转发,即封装的目标IPv4地址为5.6.7.8,封装的源IPv4地址为2.2.2.2,对IPv6报文封装好后,封装后的IPv4报文根据“IP route 0.0.0.00.0.0.01.1.1.2”发送到下一跳路由器“1.1.1.2”。
上述在网络设备的交换芯片中生成tunnel x和tunnel y的过程,对于网络管理员来说是透明的,是由网络设备自动完成的。这样,针对具有隧道中继路由的隧道,不仅创建有自动配置类型的隧道对应的交换芯片表项,还创建有针对隧道中继路由创建的手工配置隧道类型的交换芯片表项,当IPv6报文命中隧道中继路由时,网络设备的交换芯片,可以根据创建的手工配置隧道类型的交换芯片表项,完成隧道的封装和正常转发。
基于同一发明构思,本发明实施例还提供了一种隧道转发装置及网络设备,由于这些装置和设备所解决问题的原理与前述隧道转发方法相似,因此该装置和设备的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例提供的隧道转发装置,如图6所示,包括:
第一表项生成单元601,用于针对每个存在隧道中继路由的隧道,生成该隧道对应的自动配置隧道类型的第一交换芯片表项;
第二表项生成单元602,用于针对每个存在隧道中继路由的隧道,根据该隧道的隧道中继路由,生成该隧道对应的手工配置隧道类型的第二交换芯片表项;
IPv6路由生成单元603,用于分别生成与第一交换芯片表项和第二交换芯片表项对应的IPv6路由信息;
隧道转发单元604,用于当接收到需要经过隧道转发的IPv6报文时,根据该IPv6报文的目标IPv6地址,查找对应的IPv6路由信息,并根据对应IPv6路由信息,选择按照该隧道的第一交换芯片表项或者第二交换芯片表项进行封装并转发。
进一步地,上述第一表项生成单元601,具体用于配置第一交换芯片表项的隧道类型为自动配置隧道;将预先设定的源IPv4地址作为第一交换芯片表项中的源IPv4地址;根据所配置的自动配置隧道的类型,确定目的IPv4地址的映射方式;将所配置隧道类型、源IPv4地址和所述目的IPv4地址的映射方式写入交换芯片中的对应位置,生成第一交换芯片表项。
进一步地,上述第二表项生成单元602,具体用于配置该第二交换芯片表项的隧道类型为手工配置隧道;将预先设定的源IPv4地址作为第二交换芯片表项中的源IPv4地址;提取隧道中继路由中的隧道中继路由设备的IPv6地址,根据预设的IPv6地址与IPv4地址之间的映射关系,提取隧道中继路由设备的IPv6地址的相应部分作为第二交换芯片表项中的目的IPv4地址;将所配置的隧道类型、源IPv4地址和目的IPv4地址写入到交换芯片中的对应位置,生成第二交换芯片表项。
进一步地,上述隧道转发单元604,具体用于将IPv6报文的目的地址的前缀,与第一交换芯片表项和第二交换芯片表项对应的路由信息进行匹配,确定转发所需的IPv6路由信息;选择按照确定出的IPv6路由信息对应的第一交换芯片表项或者第二交换芯片表项对所述IPv6报文进行封装并转发。
进一步地,本发明实施例提供的上述隧道转发装置,如图6所示,还可以包括:删除单元605,用于当所述隧道中继路由被删除时,删除第二交换芯片表项及对应的IPv6路由信息。
本发明实施例提供的网络设备,包括本发明实施例提供的上述隧道转发装置。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
本发明实施例提供的上述隧道转发方法、装置及网络设备,由于针对每个存在隧道中继路由的隧道,不仅生成该隧道对应的自动配置隧道类型的第一交换芯片表项,而且根据该隧道的隧道中继路由,生成该隧道对应的手工配置隧道类型的第二交换芯片表项;当接收到需要经过隧道转发的IPv6报文时,根据所述报文的目标IPv6地址,查找对应的IPv6路由信息,并根据对应IPv6路由信息,选择按照该隧道的第一交换芯片表项或者第二交换芯片表项进行封装并转发。这样,针对命中隧道中继路由的IPv6报文,网络设备的交换芯片可以根据创建的手工配置隧道类型的交换芯片表项,完成隧道的封装和正常转发,避免了现有技术中命中隧道中继路由的IPv6报文由于前缀与交换芯片表项定义的地址前缀不同而无法正常转发的问题。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (9)

1.一种隧道转发方法,其特征在于,包括:
针对每个存在隧道中继路由的隧道,生成该隧道对应的自动配置隧道类型的第一交换芯片表项,并根据该隧道的隧道中继路由,生成该隧道对应的手工配置隧道类型的第二交换芯片表项;
分别生成与所述第一交换芯片表项和第二交换芯片表项对应的IPv6路由信息;
当接收到需要经过隧道转发的IPv6报文时,根据所述报文的目标IPv6地址,查找对应的IPv6路由信息,并根据对应IPv6路由信息,选择按照该隧道的第一交换芯片表项或者第二交换芯片表项进行封装并转发;
其中,根据该隧道的隧道中继路由,生成该隧道对应的手工配置隧道类型的第二交换芯片表项,包括:
配置该第二交换芯片表项的隧道类型为手工配置隧道;
将预先设定的源IPv4地址作为第二交换芯片表项中的源IPv4地址;
提取隧道中继路由中的隧道中继路由设备的IPv6地址,根据预设的IPv6地址与IPv4地址之间的映射关系,提取所述隧道中继路由设备的IPv6地址的相应部分作为第二交换芯片表项中的目的IPv4地址;
将所配置的隧道类型、源IPv4地址和目的IPv4地址写入到交换芯片中的对应位置,生成所述第二交换芯片表项。
2.如权利要求1所述的方法,其特征在于,生成该隧道对应的自动配置隧道类型的第一交换芯片表项,包括:
配置第一交换芯片表项的隧道类型为自动配置隧道;
将预先设定的源IPv4地址作为第一交换芯片表项中的源IPv4地址;
根据所配置的自动配置隧道的类型,确定目的IPv4地址的映射方式;
将所配置隧道类型、源IPv4地址和所述目的IPv4地址的映射方式写入交换芯片中的对应位置,生成所述第一交换芯片表项。
3.如权利要求1或2所述的方法,其特征在于,根据所述报文的目标IPv6地址,查找对应的IPv6路由信息,并根据对应IPv6路由信息,选择按照该隧道的第一交换芯片表项或者第二交换芯片表项进行封装并转发,包括:
将所述IPv6报文的目的地址的前缀,与所述第一交换芯片表项和第二交换芯片表项对应的路由信息进行匹配,确定转发所需的IPv6路由信息;
选择按照确定出的IPv6路由信息对应的第一交换芯片表项或者第二交换芯片表项对所述IPv6报文进行封装并转发。
4.如权利要求1或2所述的方法,其特征在于,还包括:当所述隧道中继路由被删除时,删除所述第二交换芯片表项及对应的IPv6路由信息。
5.一种隧道转发装置,其特征在于,包括:
第一表项生成单元,用于针对每个存在隧道中继路由的隧道,生成该隧道对应的自动配置隧道类型的第一交换芯片表项;
第二表项生成单元,用于针对每个存在隧道中继路由的隧道,根据该隧道的隧道中继路由,生成该隧道对应的手工配置隧道类型的第二交换芯片表项;
IPv6路由生成单元,用于分别生成与所述第一交换芯片表项和第二交换芯片表项对应的IPv6路由信息;
隧道转发单元,用于当接收到需要经过隧道转发的IPv6报文时,根据所述报文的目标IPv6地址,查找对应的IPv6路由信息,并根据对应IPv6路由信息,选择按照该隧道的第一交换芯片表项或者第二交换芯片表项进行封装并转发;
所述第一表项生成单元,具体用于配置第一交换芯片表项的隧道类型为自动配置隧道;将预先设定的源IPv4地址作为第一交换芯片表项中的源IPv4地址;根据所配置的自动配置隧道的类型,确定目的IPv4地址的映射方式;将所配置隧道类型、源IPv4地址和所述目的IPv4地址的映射方式写入交换芯片中的对应位置,生成所述第一交换芯片表项。
6.如权利要求5所述的装置,其特征在于,所述第二表项生成单元,具体用于配置该第二交换芯片表项的隧道类型为手工配置隧道;将预先设定的源IPv4地址作为第二交换芯片表项中的源IPv4地址;提取隧道中继路由中的隧道中继路由设备的IPv6地址,根据预设的IPv6地址与IPv4地址之间的映射关系,提取所述隧道中继路由设备的IPv6地址的相应部分作为第二交换芯片表项中的目的IPv4地址;将所配置的隧道类型、源IPv4地址和目的IPv4地址写入到交换芯片中的对应位置,生成所述第二交换芯片表项。
7.如权利要求5所述的装置,其特征在于,所述隧道转发单元,具体用于将所述IPv6报文的目的地址的前缀,与所述第一交换芯片表项和第二交换芯片表项对应的路由信息进行匹配,确定转发所需的IPv6路由信息;选择按照确定出的IPv6路由信息对应的第一交换芯片表项或者第二交换芯片表项对所述IPv6报文进行封装并转发。
8.如权利要求5-7任一项所述的装置,其特征在于,删除单元,用于当所述隧道中继路由被删除时,删除所述第二交换芯片表项及对应的IPv6路由信息。
9.一种网络设备,其特征在于,所述网络设备包括如权利要求5-8任一项所述的隧道转发装置。
CN201110335387.2A 2011-10-28 2011-10-28 一种隧道转发方法、装置及网络设备 Expired - Fee Related CN102394817B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110335387.2A CN102394817B (zh) 2011-10-28 2011-10-28 一种隧道转发方法、装置及网络设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110335387.2A CN102394817B (zh) 2011-10-28 2011-10-28 一种隧道转发方法、装置及网络设备

Publications (2)

Publication Number Publication Date
CN102394817A CN102394817A (zh) 2012-03-28
CN102394817B true CN102394817B (zh) 2014-08-27

Family

ID=45862027

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110335387.2A Expired - Fee Related CN102394817B (zh) 2011-10-28 2011-10-28 一种隧道转发方法、装置及网络设备

Country Status (1)

Country Link
CN (1) CN102394817B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103780469B (zh) * 2012-10-23 2018-01-23 上海博达数据通信有限公司 多核平台上IPv6隧道的实现方法以及报文转发方法
CN104579998B (zh) * 2013-10-29 2018-07-24 国家计算机网络与信息安全管理中心 一种负载均衡处理装置
CN114338596A (zh) * 2021-12-23 2022-04-12 天翼视讯传媒有限公司 一种应用于网络迁移中的IPv6与IPv4转换方法
CN116074038B (zh) * 2022-11-29 2023-08-22 杭州海兴电力科技股份有限公司 一种用于IPv6数据安全传输的网关系统及方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1729673A (zh) * 2002-12-20 2006-02-01 皇家飞利浦电子股份有限公司 用于在多机种ip网络中的客户机与服务器之间建立通信的系统和方法
CN101335697B (zh) * 2007-06-25 2012-04-04 华为技术有限公司 路由信息发布方法、实现数据包路由的方法、系统和装置
CN102291305B (zh) * 2011-08-16 2014-12-31 神州数码网络(北京)有限公司 实现6to4中继路由的方法和设备以及报文转发方法

Also Published As

Publication number Publication date
CN102394817A (zh) 2012-03-28

Similar Documents

Publication Publication Date Title
CN104639414B (zh) 一种报文转发方法和设备
CN113645136B (zh) 网络中报文转发的方法、网络节点、网络系统
CN103685022B (zh) 报文转发方法及服务提供商网络边缘设备
KR101366854B1 (ko) 동적 터널 메시지 전달 구현 방법 및 스위치
CN105991433B (zh) 三层虚拟专用网接入二层虚拟专用网的方法和装置
CN102938795B (zh) 通过隧道和地址转换实现IPv6地址访问IPv4资源的方法
CN103685010A (zh) 一种报文转发方法和边缘设备
US7830870B2 (en) Router and method for transmitting packets
CN107645431B (zh) 报文转发方法及装置
EP2903218A1 (en) Method and device for modifying and forwarding message in data communication network
CN102394817B (zh) 一种隧道转发方法、装置及网络设备
KR20230101903A (ko) Bier 패킷 포워딩 방법, 디바이스 및 시스템
US8472420B2 (en) Gateway device
CN106209557A (zh) 报文转发方法及装置
CN104219125A (zh) 信息为中心网络icn中转发报文的方法、装置及系统
CN105763437A (zh) 报文转发的方法及网络设备
CN104639440A (zh) 一种在网络中实现三层转发并封装协议信息的方法和装置
CN109412949A (zh) 一种数据报文传输方法和装置
CN102143241B (zh) 主机间的访问方法、设备及系统
CN109120739A (zh) 一种IPv6地址访问IPv4资源的方法、设备、系统及介质
CN105099919A (zh) 报文处理方法及装置
CN102201996B (zh) 网络地址转换环境中报文转发的方法及设备
CN113726653B (zh) 报文处理方法及装置
CN108259453A (zh) 一种报文转发方法及装置
CN104780105A (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140827

Termination date: 20211028