报文跨域转发方法、装置及通信设备的制造方法_3

文档序号:8265552阅读:来源:国知局
建立VPN,分别采用四种不同的二层隧道协议VPLS、NvGRE、VxLAN 以及 STT。
[0097]图4为图3的二层隧道翻译表关键字段示意图,如图4所示,不同的协议报文中,包括隧道标识,L2VPN标识和用户报文。其中隧道标识包括隧道中互连的两端设备的目的媒体访问控制地址(Media Access Control,简称MAC)、源MAC地址SMAC以及对应的协议字段值,比如MPLS对应的值0X8847和网络互连协议(Internet Protocol,简称IP)对应的值0X0800 ;不同协议之间关键字段为L2VPN标识,比如VPLS中的内外层标签Labell和Labe 12> NvGRE 中的 GRE 和 VN、VxLAN 的用户数据报协议(User Datagram Protocol,简称UDP)和 VNI 以及 STT 中的传输控制协议(Transmiss1n Control Protocol,简称 TCP)和上下文标识Context ID ;用户报文,包括VPN中两端设备的目的MAC地址DMAC’、源MAC地址SMAC’、负载(payload)以及循环冗余校验码(cyclic redundancy check,简称CRC)。因不同协议之间关键字段为L2VPN标识,所以在二层隧道翻译表中需要将这些关键字段互相建立映射关系。
[0098]图5为图3的二层隧道翻译过程示意图,如图5所示,下面以在通信设备E将VPLS的报文分别翻译成VPLS、NvGRE、VxLAN以及STT报文为例进行详细解析说明:
[0099]步骤1、通过配置或自动发现通信设备A?D与通信设备E的邻居关系。
[0100]步骤2、通过静态配置、动态感知(主动和被动发现)等方式,建立通信设备A?D与通信设备E之间的隧道映射关系。维护L2VPN隧道映射重要数据如图4所示,包括VPLS的内外层标签、GRE的VN标识、VxLAN的VNI标识以及STT的Context ID。其中,动态(主动或被动感知)维护映射关系的方式包括协议互通对接、协议透传和探测、以及通过简单文件传输协议(Trivial File Transfer Protocol,简称 TFTP)/文件传输协议(File TransferProtocol,简称 FTP) / 超文本传输协议(Hypertext transfer protocol,简称 HTTP)之类可以获取文件等方式。
[0101]步骤3、如果通信设备A?D与通信设备E是直连,则S1->A->E方向,在通信设备E接收到的外层报文DMAC-E为通信设备E接口 MAC地址,SMAC-A为通信设备A接口 MAC地址。通信设备E查找转发表,发现内层报文的DMAC’属于S2,则将报文翻译为去往S2的报文,即DMAC-B为通信设备B接口 MAC地址,SMAC-E为通信设备E接口 MAC地址,用IP协议类型、GRE和VN标识翻译原来报文的MPLS协议类型、内外层标签Labell和标签Label2。学习并记录用户SMAC’源自通信设备A的VPLS封装,用于回程流量查表。
[0102]步骤4、依照步骤3相同的方法,将通信设备A与其它通信设备(C和D)之间的报文按相同方式翻译处理。其中DMAC-C为通信设备C接口 MAC地址,DMAC-D为通信设备C接口 MAC地址。
[0103]步骤5、如果通信设备A?D与通信设备E是非直连,则替换的外层目的MAC地址DMAC为与去往S2?S4方向与设备E直连下一跳接口的MAC地址。
[0104]步骤6、通信设备B收到NvGRE封装的报文,解封装后查找目的MAC地址DMAC’进行转发。
[0105]步骤7、回程流量查表和隧道映射参考步骤3?6。
[0106]步骤8、对于S1->A->E方向广播类报文,查找步骤2所建立的隧道映射关系按照图4所示VPLS/NvGRE/VxLAN/STT各个对应字段进行映射,分别封装为NvGRE、VxLAN和STT报文发给通信设备B、C和D即可。
[0107]通过步骤I?8完成将VPLS的报文分别翻译成VPLS、NvGRE、VxLAN以及STT,需要说明的是,在不同的二层隧道协议之间互相通信时:
[0108](I)内层用户报文维持不变,包括内层的目的MAC地址DMAC’、源MAC地址SMAC’和负载(payload);
[0109](2) L2VPN标识、协议标识按照二层隧道翻译表进行转换;
[0110](3)重新填充生存时间:(Time To Live,简称TTL)、服务类别(Class of Service,简称CoS)、TCP/UDP源和目的端口号以及含IP、TCP、UDP的校验和等信息;
[0111](4)外层目的MAC地址DMAC和源MAC地址SMAC按照实际配置或发现的隧道进行替换;
[0112](5)重新计算循环冗余校验码。
[0113]从本实施例可以看出,使用隧道翻译技术,可以直接把VPLS、NxGRE、VxLAN、STT数据报文进行转换,可实现网络S1、S2、S3、S4和S5之间二层互通。且只需要通信设备E支持各种隧道接入,而通信设备A?D不需要支持全部种类的隧道接入,也不需要将协议报文进行多次封装,只需对关键的协议标识字段进行映射翻译即可完成二层互通。
[0114]图6为本发明报文跨域转发装置实施例一的结构图,如图6所示,该装置60包括:
[0115]获取模块61,用于获取与各邻居设备之间使用的二层隧道协议;
[0116]提取模块62,用于根据获取的二层隧道协议,提取与所述各邻居设备之间使用的配置参数;
[0117]生成模块63,用于根据提取的所述配置参数,生成二层隧道翻译表,所述二层隧道翻译表至少包括与所述各邻居设备之间使用的各二层隧道协议标识字段之间的映射关系;
[0118]翻译模块64,用于根据接收的源设备发送的第一种二层隧道报文的属性以及所述二层隧道翻译表,将所述第一种二层隧道报文翻译成第二种二层隧道报文,并向目的设备转发所述第二种二层隧道报文。
[0119]本实施例的装置,用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0120]图7为本发明报文跨域转发装置实施例二的结构图,如图7所示,本实施例在上一实施例的基础上,进一步地,该装置70还包括:
[0121]发现模块71,用于所述获取模块获取与各邻居设备之间使用的二层隧道协议之
N /.1IJ:
[0122]根据设备自身本地保存的静态配置信息发现各邻居设备;
[0123]或者,
[0124]使用探测协议报文动态发现各邻居设备。
[0125]具体地,所述获取模块61,具体用于:
[0126]通过在设备自身本地的静态配置信息获取与各邻居设备之间使用的二层隧道协议;或者,
[0127]通过解析接收到的各邻居设备发送的二层隧道协议报文获取与各邻居设备之间使用的二层隧道协议;或者,
[0128]通过主动向各邻居设备发送获取各邻居设备配置文件请求信息,并根据所述各邻居设备发送的配置文件响应信息获取与各邻居设备之间使用的二层隧道协议。
[0129]进一步地,还包括:
[0130]更新模块72,用于所述生成模块根据提取的所述配置参数,生成二层隧道翻译表之后,周期性地判断所述与各邻居设备之间使用的二层隧道协议中的所述相关配置参数的更新情况,并根据所述更新情况更新所述二层隧道翻译表。
[0131]具体地,所述第一种二层隧道报文为已知单播报文;
[0132]所述翻译模块64,具体用于:
[0133]在所述二层隧道翻译表中查找与接收的源设备发送的第一种二层隧道报文对应的目的设备之间使用的二层隧道协议的相关配置参数;
[0134]根据所述相关配置参数将所述第一种二层隧道报文翻译成第二种二层隧道报文,并向所述第一种二层隧道报文对应的目的设备转发所述第二种二层隧道报文。
[0135]具体地,所述第一种二层隧道报文为未知单播报文、组播或者广播报文;
[0136]所述翻译模块64,具体用于:
[0137]在所述二层隧道翻译表中查找与所有邻居设备之间使用的二层隧道协议的相关配置参数;
[0138]根据所述相关配置参
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1