一种隧道转发方法、装置及网络设备制造方法及图纸

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

【技术实现步骤摘要】

本专利技术涉及网络通信领域,尤其涉及一种隧道转发方法、装置及网络设备
技术介绍
因特网内的所有设备之间能够通信,前提是他们遵循一套标准的通信协议。英文称呼这套协议为因特网协议(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 over IPv4的隧道IPv4头部的源IP地址和目标IP地址都是由设备管理员手工指定。不论进入隧道的IPv6报文是什么,IPv4头部的源IP地址和目标IP地址都是固定的。自动配置隧道,自动配置隧道是这样一种IPv6 over IPv4的隧道管理员只指定 IPv4头部的源IP地址,目标IP地址由IPv6头部的目标IPv6地址按一定的规则进行映射。 目前IETF定义的自动配置隧道有6to4 tunnel、isatap tunnel,以及6rd tunnel。其中l)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 tunnelisatap tunnel原理和6to4 tunnel类似。不过其映射IPv4地址的方法发生了变化,只映射IPv6地址的最后4字节。3)6rd tunnelIETF对6to4 tunnel进行了改进,废除了 2002 /16这一个限制,提出了 6rd tunnel。即 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出口时,如果该隧道是手工配置隧道,则需要“/Oturmel 1”这样的路由就行了,因为tunnel 1明确指定了下一跳路由器。但如果是6to4 tunnel、isatap tunnel或6rd tunnel等各种形式的自动隧道,则“/Oturmel 1 ”是不起作用的,因为此时tunnel 1是点对多点隧道。而要访问IPv6 Internet,必须将报文交给明确的下一跳设备。如图3所示,Rl与R2、R3、R4之间都是通过6to4 tunnel相连,但只有到了 R3,报文才能转发到Internet,因此Rl上的缺省路由应该为“ /Otunnel 1 R3的IPv6地址”,这条路由就是隧道中继路由,R3即隧道中继路由器,通过它,IPv6局域网的用户和IPv6 hternet得以顺利连接。目前网络交换设备中的交换芯片对IPv4头部的封装,会依据如下隧道封装信息 隧道类型、源IPv4地址和目标IPv4地址。当隧道类型为手工配置隧道时,源IPv4地址和目标IPv4地址的值都是有意义的。 即报文转发时,如果出口是此隧道接口,则用这2个值填充IPv4头部的相应字段。当隧道类型为6to4或者isatap类型的隧道时,只有源IPv4地址有意义,目标 IPv4地址无效。报文转发时,目标IPv4地址直接从目标IPv6地址通过一定的规则映射而来。例如tunnel 1是手工配置隧道,tunnel 2是6to4隧道,存在如下2条IPv6路由。1000::/16 tunnel 12002::/16 tunnel 2tunnel 1和tunnel 2会各占一个交换芯片表项信息。如下tunnel 1对应的交换芯片表项隧道类型——手工配置隧道源IPv4 地址——1. 1. 1. 1目标 IPv4 地址-2. 2. 2. 2tunnel 2对应的交换芯片表项隧道类型——6to4隧道源IPv4 地址——1. 1. 1. 1目标IPv4地址——无效值根据路由的最长前缀匹配规则,目标IPv6地址为1000: :1111的报文将按tunnel 1的交换芯片表项信息转发报文,目标IPv6地址为2002:0102:0304::1111的报文将按 tunnel 2的交换芯片表项信息转发报文。但如果存在隧道中继路由,如/Otunnel 2 2002050607082222由于前面所述的原因,当前tunnel 2对应的芯片转发表项无法满足需求。例如目标IPv6地址为3000: :1111的报文,由于会命中上述隧道中继路由,因此,会从tunnel 2转发报文,但按照tunnel 2对应的交换芯片表项转发报文时,由于目标IPv6地址前缀是 3000 ,而不是2002 ,因此无法正常进行转发。
技术实现思路
本专利技术实施例提供了一种隧道转发方法、装置及网络设备,用以解决现有的IPv6 报文根据隧道中继路由不能正常通过隧道转发的问题。基于上述问题,本专利技术实施例提供的一种隧道转发方法,包括针对每个存在隧道中继路由的隧道,生成该隧道对应的自动配置隧道类型的第一交换芯片表项,并根据该隧道的隧道中继路由,生成该隧道对应的手工配置隧道类型的第二交换芯片表项;分别生成与所述第一交换芯片表项和第二交换芯片表项对应的IPv6路由信息;当接收到需要经过隧道转发的IPv6报文时,根据所述报文的目标IPv6地址,查找对应的IPv6路由信息,并根据对应IPv6路由信息,选择按照该隧道的第一交换芯片表项或者第二交换芯片表项进行封装并转发。本专利技术实施例提供的一种隧道转发装置,本文档来自技高网
...

【技术保护点】

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

【专利技术属性】
技术研发人员:冷钦街
申请(专利权)人:北京星网锐捷网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术