一种路由转发方法及装置转让专利

申请号 : CN202110910194.9

文献号 : CN113726658B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱琳庞冉张学茹王光全王泽林王海军

申请人 : 中国联合网络通信集团有限公司

摘要 :

本申请提供一种路由转发方法及装置,涉及通信技术领域,以至少解决相关技术中网络边缘设备的数据处理量较大,降低了通信效率的技术问题。路由转发方法应用于第一设备;第一设备归属于包括第一设备和第二设备的VPLS系统;路由转发方法包括:当第一设备未存储默认MAC地址时,为第一设备配置包括默认MAC地址的第一报文消息;默认MAC地址为VPLS系统中的一个VPLS实例的唯一默认地址;默认MAC地址用于表示与第一设备连接的多个终端的MAC地址信息;第一设备向第二设备发送包括默认MAC地址的第一报文消息。

权利要求 :

1.一种路由转发方法,其特征在于,所述路由转发方法应用于第一设备;所述第一设备归属于包括所述第一设备和第二设备的VPLS系统;所述路由转发方法包括:当所述第一设备未存储默认MAC地址时,为所述第一设备配置包括所述默认MAC地址的第一报文消息;所述默认MAC地址为所述VPLS系统中的一个VPLS实例的唯一默认地址;所述默认MAC地址用于表示与所述第一设备连接的多个终端的MAC地址信息;

所述第一设备向所述第二设备发送包括所述默认MAC地址的第一报文消息,以使得所述第二设备学习所述默认MAC地址,并基于所述默认MAC地址转发发送至所述多个终端的消息。

2.根据权利要求1所述的路由转发方法,其特征在于,所述为所述第一设备配置包括所述默认MAC地址的第一报文消息,包括:将所述第一报文消息中的目标字段定义为0x0FFF;所述0x0FFF用于标记所述第一报文消息用于发送所述默认MAC地址。

3.根据权利要求1所述的路由转发方法,其特征在于,还包括:

存储所述默认MAC地址对应的MAC地址信息;所述MAC地址信息包括:所述默认MAC地址对应的MAC地址、所述一个VPLS实例的实例标识、端口名称和老化时间;所述端口名称为所述默认MAC地址对应的MAC地址的源端口名称;所述老化时间为更新所述默认MAC地址的时间。

4.根据权利要求1所述的路由转发方法,其特征在于,还包括:

接收第二报文消息;所述第二报文消息包括源MAC地址和目的MAC地址;

若所述第二报文消息中的源MAC地址为与所述第一设备连接的一个终端的MAC地址,则将所述第二报文消息中的源MAC地址修改为全零MAC地址,并根据所述第二报文消息中的目的MAC地址,发送修改后的第二报文消息。

5.一种路由转发方法,其特征在于,所述路由转发方法应用于第二设备;所述第二设备归属于包括第一设备和所述第二设备的VPLS系统;所述路由转发方法包括:接收目标报文消息;所述目标报文消息包括源MAC地址和目的MAC地址;

若所述源MAC地址为所述第一设备对应的默认MAC地址,则存储所述默认MAC地址对应的MAC地址信息,并根据所述目的MAC地址转发所述目标报文消息;所述默认MAC地址为所述VPLS系统中的一个VPLS实例的唯一默认地址;所述默认MAC地址用于表示与所述第一设备连接的多个终端的MAC地址信息;

学习所述默认MAC地址,以及根据所述默认MAC地址转发发送至所述多个终端的消息。

6.根据权利要求5所述的路由转发方法,其特征在于,所述MAC地址信息包括:所述默认MAC地址对应的MAC地址、所述一个VPLS实例的实例标识、端口名称和老化时间;所述端口名称为所述默认MAC地址对应的MAC地址的源端口名称;所述老化时间为更新所述默认MAC地址的时间。

7.根据权利要求6所述的路由转发方法,其特征在于,所述存储所述默认MAC地址对应的MAC地址信息之后,还包括:更新所述默认MAC地址的老化时间。

8.一种路由转发装置,其特征在于,所述路由转发装置应用于第一设备;所述第一设备归属于包括所述第一设备和第二设备的VPLS系统;所述路由转发装置包括:配置单元和发送单元;

所述配置单元,用于当所述第一设备未存储默认MAC地址时,为所述第一设备配置包括所述默认MAC地址的第一报文消息;所述默认MAC地址为所述VPLS系统中的一个VPLS实例的唯一默认地址;所述默认MAC地址用于表示与所述第一设备连接的多个终端的MAC地址信息;

所述发送单元,用于向所述第二设备发送包括所述默认MAC地址的第一报文消息,以使得所述第二设备学习所述默认MAC地址,并基于所述默认MAC地址转发发送至所述多个终端的消息。

9.根据权利要求8所述的路由转发装置,其特征在于,所述配置单元,具体用于:将所述第一报文消息中的目标字段定义为0x0FFF;所述0x0FFF用于标记所述第一报文消息用于发送所述默认MAC地址。

10.根据权利要求8所述的路由转发装置,其特征在于,还包括:存储单元;

所述存储单元,用于存储所述默认MAC地址对应的MAC地址信息;所述MAC地址信息包括:所述默认MAC地址对应的MAC地址、所述一个VPLS实例的实例标识、端口名称和老化时间;所述端口名称为所述默认MAC地址对应的MAC地址的源端口名称;所述老化时间为更新所述默认MAC地址的时间。

11.根据权利要求8所述的路由转发装置,其特征在于,还包括:接收单元;

所述接收单元,用于接收第二报文消息;所述第二报文消息包括源MAC地址和目的MAC地址;

所述发送单元,还用于若所述第二报文消息中的源MAC地址为与所述第一设备连接的一个终端的MAC地址,则将所述第二报文消息中的源MAC地址修改为全零MAC地址,并根据所述第二报文消息中的目的MAC地址,发送修改后的第二报文消息。

12.一种路由转发装置,其特征在于,所述路由转发装置应用于第二设备;所述第二设备归属于包括第一设备和所述第二设备的VPLS系统;所述路由转发装置包括:接收单元和处理单元;

所述接收单元,用于接收目标报文消息;所述目标报文消息包括源MAC地址和目的MAC地址;

所述处理单元,用于若所述源MAC地址为所述第一设备对应的默认MAC地址,则存储所述默认MAC地址对应的MAC地址信息,并根据所述目的MAC地址转发所述目标报文消息;所述默认MAC地址为所述VPLS系统中的一个VPLS实例的唯一默认地址;所述默认MAC地址用于表示与所述第一设备连接的多个终端的MAC地址信息;

所述处理单元,还用于学习所述默认MAC地址,以及根据所述默认MAC地址转发发送至所述多个终端的消息。

13.根据权利要求12所述的路由转发装置,其特征在于,所述MAC地址信息包括:所述默认MAC地址对应的MAC地址、所述一个VPLS实例的实例标识、端口名称和老化时间;所述端口名称为所述默认MAC地址对应的MAC地址的源端口名称;所述老化时间为更新所述默认MAC地址的时间。

14.根据权利要求13所述的路由转发装置,其特征在于,所述处理单元,还用于:更新所述默认MAC地址的老化时间。

15.一种路由转发装置,其特征在于,包括存储器和处理器;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过总线连接;

当所述路由转发装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述路由转发装置执行如权利要求1‑4或者5‑7任一项所述的路由转发方法。

16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机执行指令,当所述计算机执行指令在计算机上运行时,使得所述计算机执行如权利要求1‑4或者

5‑7任一项所述的路由转发方法。

说明书 :

一种路由转发方法及装置

技术领域

[0001] 本发明涉及通信技术领域,尤其涉及一种路由转发方法及装置。

背景技术

[0002] VPLS(Virtual Private LAN Service,虚拟专用局域网服务)是在公用网络中提供的一种点到多点的L2VPN业务。VPLS使地域上隔离的终端能通过MAN(Metropolitan Area Network,城域网)或WAN(Wide Area Network,广域网)相连,并且使各个终端间的连接效果像在一个LAN中一样。
[0003] 在VPLS中,网络边缘设备可以针对VPLS实例的不同终端间建立全互联模式的伪线(PW),并通过用户报文,使网络边缘设备通过动态媒体存取控制位址(Media Access Control Address,MAC)学习功能建立MAC地址转发表,同时将目的MAC地址与PW进行关联。
[0004] 但是,当网络边缘设备下的终端的数量较多时,网络边缘设备需要学习每个终端的MAC地址。这样一来,可能造成网络边缘设备的数据处理量较大,降低了通信效率。

发明内容

[0005] 本公开提供一种路由转发方法、设备及存储介质,以至少解决相关技术中网络边缘设备的数据处理量较大,降低了通信效率的技术问题。
[0006] 为达到上述目的,本申请采用如下技术方案:
[0007] 第一方面,提供一种路由转发方法,路由转发方法应用于第一设备;第一设备归属于包括第一设备和第二设备的VPLS系统;路由转发方法包括:当第一设备未存储默认MAC地址时,为第一设备配置包括默认MAC地址的第一报文消息;默认MAC地址为VPLS系统中的一个VPLS实例的唯一默认地址;默认MAC地址用于表示与第一设备连接的多个终端的MAC地址信息;第一设备向第二设备发送包括默认MAC地址的第一报文消息。
[0008] 由上可知,当第一设备未存储默认MAC地址时,可以为第一设备配置包括默认MAC地址的第一报文消息。后续,第一设备可以向第二设备发送包括默认MAC地址的第一报文消息。由于默认MAC地址用于表示与第一设备连接的多个终端的MAC地址信息,这样一来,第二设备无需存储与第一设备连接的多个终端的MAC地址,只需存储默认MAC地址,便可以实现报文传输,解决了现有技术中网络边缘设备的数据处理量较大的技术问题,提高了通信效率。
[0009] 可选的,为第一设备配置包括默认MAC地址的第一报文消息,包括:将第一报文消息中的目标字段定义为0x0FFF;0x0FFF用于标记第一报文消息用于发送默认MAC地址。
[0010] 可选的,该路由转发方法还包括:存储默认MAC地址对应的MAC地址信息;MAC地址信息包括:默认MAC地址对应的MAC地址、一个VPLS实例的实例标识、端口名称和老化时间;端口名称为默认MAC地址对应的MAC地址的源端口名称;老化时间为更新默认MAC地址的时间。
[0011] 可选的,该路由转发方法还包括:接收第二报文消息;第二报文消息包括源MAC地址和目的MAC地址;若第二报文消息中的源MAC地址为与第一设备连接的一个终端的MAC地址,则将第二报文消息中的源MAC地址修改为全零MAC地址,并根据第二报文消息中的目的MAC地址,发送修改后的第二报文消息。
[0012] 第二方面,提供一种路由转发方法,路由转发方法应用于第二设备;第二设备归属于包括第一设备和第二设备的VPLS系统;路由转发方法包括:接收目标报文消息;目标报文消息包括源MAC地址和目的MAC地址;若源MAC地址为第一设备对应的默认MAC地址,则存储默认MAC地址对应的MAC地址信息,并根据目的MAC地址转发目标报文消息;默认MAC地址为VPLS系统中的一个VPLS实例的唯一默认地址;默认MAC地址用于表示与第一设备连接的多个终端的MAC地址信息;MAC地址信息包括:默认MAC地址对应的MAC地址、一个VPLS实例的实例标识、端口名称和老化时间;端口名称为默认MAC地址对应的MAC地址的源端口名称;老化时间为更新默认MAC地址的时间。
[0013] 可选的,MAC地址信息包括:默认MAC地址对应的MAC地址、一个VPLS实例的实例标识、端口名称和老化时间;端口名称为默认MAC地址对应的MAC地址的源端口名称;老化时间为更新默认MAC地址的时间。
[0014] 可选的,存储默认MAC地址对应的MAC地址信息之后,还包括:更新默认MAC地址的老化时间。
[0015] 第三方面,提供一种路由转发装置,路由转发装置应用于第一设备;第一设备归属于包括第一设备和第二设备的VPLS系统;路由转发装置包括:配置单元和发送单元;配置单元,用于当第一设备未存储默认MAC地址时,为第一设备配置包括默认MAC地址的第一报文消息;默认MAC地址为VPLS系统中的一个VPLS实例的唯一默认地址;默认MAC地址用于表示与第一设备连接的多个终端的MAC地址信息;发送单元,用于向第二设备发送包括默认MAC地址的第一报文消息。
[0016] 可选的,配置单元,具体用于:将第一报文消息中的目标字段定义为0x0FFF;0x0FFF用于标记第一报文消息用于发送默认MAC地址。
[0017] 可选的,路由转发装置还包括:存储单元;存储单元,用于存储默认MAC地址对应的MAC地址信息;MAC地址信息包括:默认MAC地址对应的MAC地址、一个VPLS实例的实例标识、端口名称和老化时间;端口名称为默认MAC地址对应的MAC地址的源端口名称;老化时间为更新默认MAC地址的时间。
[0018] 可选的,路由转发装置还包括:接收单元;接收单元,用于接收第二报文消息;第二报文消息包括源MAC地址和目的MAC地址;发送单元,还用于若第二报文消息中的源MAC地址为与第一设备连接的一个终端的MAC地址,则将第二报文消息中的源MAC地址修改为全零MAC地址,并根据第二报文消息中的目的MAC地址,发送修改后的第二报文消息。
[0019] 第四方面,提供一种路由转发装置,路由转发装置应用于第二设备;第二设备归属于包括第一设备和第二设备的VPLS系统;路由转发装置包括:接收单元和处理单元;接收单元,用于接收目标报文消息;目标报文消息包括源MAC地址和目的MAC地址;处理单元,用于若源MAC地址为第一设备对应的默认MAC地址,则存储默认MAC地址对应的MAC地址信息,并根据目的MAC地址转发目标报文消息;默认MAC地址为VPLS系统中的一个VPLS实例的唯一默认地址;默认MAC地址用于表示与第一设备连接的多个终端的MAC地址信息。
[0020] 可选的,MAC地址信息包括:默认MAC地址对应的MAC地址、一个VPLS实例的实例标识、端口名称和老化时间;端口名称为默认MAC地址对应的MAC地址的源端口名称;老化时间为更新默认MAC地址的时间。
[0021] 可选的,处理单元,还用于:更新默认MAC地址的老化时间。
[0022] 第五方面,提供一种路由转发装置,包括存储器和处理器。存储器用于存储计算机执行指令,处理器与存储器通过总线连接。当路由转发装置运行时,处理器执行存储器存储的计算机执行指令,以使路由转发装置执行第一方面或者第二方面所述的路由转发方法。
[0023] 该路由转发装置可以是网络设备,也可以是网络设备中的一部分装置,例如网络设备中的芯片系统。该芯片系统用于支持网络设备实现第一方面及其任意一种可能的实现方式中所涉及的功能,例如,接收、确定、分流上述路由转发方法中所涉及的数据和/或信息。该芯片系统包括芯片,也可以包括其他分立器件或电路结构。
[0024] 第六方面,提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得该计算机执行第一方面或者第二方面所述的路由转发方法。
[0025] 第七方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在计算机上运行时,使得计算机执行如上述第一方面或者第二方面及其各种可能的实现方式所述的路由转发方法。
[0026] 需要说明的是,上述计算机指令可以全部或者部分存储在计算机可读存储介质上。其中,计算机可读存储介质可以与路由转发装置的处理器封装在一起的,也可以与路由转发装置的处理器单独封装,本申请对此不作限定。
[0027] 本发明中第三方面、第四方面、第五方面、第六方面以及第七方面的描述,可以参考第一方面或者第二方面的详细描述;并且,第二方面、第三方面、第四方面、第五方面、第六方面以及第七方面的描述的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。
[0028] 在本申请中,上述路由转发装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本发明类似,属于本发明权利要求及其等同技术的范围之内。
[0029] 本发明的这些方面或其他方面在以下的描述中会更加简明易懂。

附图说明

[0030] 图1为本申请提供的一种路由转发方法的拓扑结构示意图;
[0031] 图2为本申请实施例提供的一种路由转发装置的硬件结构示意图;
[0032] 图3为本申请实施例提供的又一种路由转发装置的硬件结构示意图;
[0033] 图4为本申请实施例提供的一种路由转发方法的流程示意图;
[0034] 图5为本申请实施例提供的又一种路由转发方法的流程示意图;
[0035] 图6为本申请实施例提供的又一种路由转发方法的流程示意图;
[0036] 图7为本申请实施例提供的又一种路由转发方法的流程示意图;
[0037] 图8为本申请实施例提供的一种路由转发装置的结构示意图;
[0038] 图9为本申请实施例提供的又一种路由转发装置的结构示意图。

具体实施方式

[0039] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040] 需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
[0041] 为了便于清楚描述本申请实施例的技术方案,在本申请实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
[0042] 在对本公开提供的路由转发方法进行详细介绍之前,先对本公开涉及的应用场景、实施环境和相关要素进行简单介绍。
[0043] 如图1所示,为本申请提供的一种路由转发方法的拓扑结构示意图。该拓扑结构示意图包括:多个网络边缘设备和多个终端。其中,多个网络边缘设备包括:第一运营商边缘路由器(PE1)、第二运营商边缘路由器(PE2)、第三运营商边缘路由器(PE3)、第一终端边缘路由器(CE1)、第二终端边缘路由器(CE2)和第一终端边缘路由器(CE3)。多个终端包括:第一终端(PC1)、第二终端(PC2)、第三终端(PC3)、第四终端(PC4)和第五终端(PC5)。
[0044] PE1与PE2之间通过PW1通信连接。PE1与PE3之间通过PW2通信连接。PE2与PE3之间通过PW3通信连接。PE1与CE1之间通过Port1通信连接。PE2与CE2之间通过Port2通信连接。PE3与CE3之间通过Port3通信连接。CE1分别与PC1、PC4和PC5通信连接。CE2与PC2通信连接。
CE3与PC3通信连接。
[0045] 结合图1,现有的MAC地址学习过程如下:
[0046] S1、PE1从连接CE1的端口Port1收到来自PC1的ARP广播报文,PE1把PC1的MAC地址添加到在自己的MAC表项中。
[0047] S2、PE1向其它端口(PW1和PW2此时可以看成端口)广播该ARP报文。
[0048] S3、PE2从PW1上收到PE1转发来的PC1的ARP报文,把PC1的MAC地址添加到自己的MAC表项中。
[0049] S4、在PE2只向连接CE2的端口转发该ARP报文,而不向PW上转发,所以该ARP只发送给PC2。
[0050] S5、PC2收到PE2转发来的PC1的ARP报文,发现目的地址是自己,就发送一个ARP Reply报文给PC1。
[0051] S6、PE2从Port2端口收到PC2给PC1的ARP回应报文。PE2添加PC2的MAC地址到自己的MAC表项中。ARP Reply报文的目的地MAC是PC1(MAC A),PE2查询自己的MAC表后,往PW1发送ARP Reply报文。
[0052] S7、PE1收到PE2转发来的PC2的ARP Reply报文,也一样添加PC2的MAC地址到自己的表项中,并查找MAC表,转发该ARP Reply报文到PC1。
[0053] S8、PC1收到PC2的ARP Reply报文,完成MAC地址的学习。
[0054] S9、PE1向PW1广播该ARP报文的同时,PE1也通过PW2向PE3发送ARP报文。PE3收到来自PE1的ARP广播报文,添加PC1的MAC地址到自己的MAC表项中,根据水平分割的特性,PE3也只向PC3发送该ARP报文,因为PC3不是该ARP的目的地址,所以PC3不回应ARP Reply报文。
[0055] 由上可知,当网络边缘设备下的终端的数量较多时,网络边缘设备需要学习每个终端的MAC地址。这样一来,可能造成网络边缘设备的数据处理量较大,降低了通信效率。
[0056] 针对上述问题,本申请实施例提供了一种路由转发方法,当第一设备未存储默认MAC地址时,可以为第一设备配置包括默认MAC地址的第一报文消息。后续,第一设备可以向第二设备发送包括默认MAC地址的第一报文消息。由于默认MAC地址用于表示与第一设备连接的多个终端的MAC地址信息,这样一来,第二设备无需存储与第一设备连接的多个终端的MAC地址,只需存储默认MAC地址,便可以实现报文传输,解决了现有技术中网络边缘设备的数据处理量较大的技术问题,提高了通信效率。
[0057] 本申请实施例提供的路由转发方法适用于图1示出的拓扑结构示意图。
[0058] 需要说明的是,图1仅为示例性框架图,图1中包括的网络边缘设备和终端的数量不受限制。
[0059] 图1中的运营商边缘路由器(Provider Edge,PE),即提供服务的边缘设备,服务提供商骨干网的边缘路由器,它相当于标签边缘路由器(LER)。PE路由器连接CE路由器和P路由器,是最重要的网络节点。用户的流量通过PE路由器流入用户网络,或者通过PE路由器流到MPLS骨干网。
[0060] 为了便于理解,本申请涉及到的第一设备和第二设备为VPLS系统中的任意两个运营商边缘路由器。
[0061] 图1中的终端边缘路由器(Customer Edge,CE)为用户边缘设备,服务提供商所连接的用户端路由器。CE路由器通过连接一个或多个PE路由器,为用户提供服务接入。CE路由器通常是一台IP路由器,它与连接的PE路由器建立邻接关系。
[0062] 图1中的终端可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(radio access network,RAN)与一个或多个核心网进行通信。无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,也可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据,例如,手机、平板电脑、笔记本电脑、上网本、个人数字助理(personal digital assistant,PDA)。
[0063] 图2示出了本申请实施例提供的路由转发装置的一种硬件结构示意图。如图2所示,该路由转发装置包括处理器21,存储器22、通信接口23、总线24。处理器21,存储器22以及通信接口23之间可以通过总线24连接。
[0064] 处理器21是路由转发装置的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器21可以是一个通用中央处理单元(central processing unit,CPU),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
[0065] 作为一种实施例,处理器21可以包括一个或多个CPU,例如图2中所示的CPU 0和CPU 1。
[0066] 存储器22可以是只读存储器(read‑only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read‑only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0067] 一种可能的实现方式中,存储器22可以独立于处理器21存在,存储器22可以通过总线24与处理器21相连接,用于存储指令或者程序代码。处理器21调用并执行存储器22中存储的指令或程序代码时,能够实现本发明实施例提供的路由转发方法。
[0068] 另一种可能的实现方式中,存储器22也可以和处理器21集成在一起。
[0069] 通信接口23,用于与其他设备通过通信网络连接。所述通信网络可以是以太网,无线接入网,无线局域网(wireless local area networks,WLAN)等。通信接口23可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
[0070] 总线24,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0071] 需要指出的是,图2示出的结构并不构成对该路由转发装置的限定。除图2所示部件之外,该路由转发装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0072] 图3示出了本申请实施例中路由转发装置的另一种硬件结构。如图3所示,路由转发装置可以包括处理器31以及通信接口32。处理器31与通信接口32耦合。
[0073] 处理器31的功能可以参考上述处理器21的描述。此外,处理器31还具备存储功能,可以参考上述存储器22的功能。
[0074] 通信接口32用于为处理器31提供数据。该通信接口32可以是路由转发装置的内部接口,也可以是路由转发装置对外的接口(相当于通信接口23)。
[0075] 需要指出的是,图2(或图3)中示出的结构并不构成对路由转发装置的限定,除图2(或图3)所示部件之外,该路由转发装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0076] 下面结合上述图1示出的通信系统和上述图2(或图3)示出的路由转发装置,对本申请实施例提供的路由转发方法进行详细介绍。
[0077] 图4为本申请实施例提供的一种路由转发方法的流程示意图。该路由转发方法应用于第一设备;第一设备归属于包括第一设备和第二设备的VPLS系统。如图4所示,该路由转发方法包括下述S401‑S402。
[0078] S401、当第一设备未存储默认MAC地址时,第一设备为第一设备配置包括默认MAC地址的第一报文消息。
[0079] 其中,默认MAC地址为VPLS系统中的一个VPLS实例的唯一默认地址;默认MAC地址用于表示与第一设备连接的多个终端的MAC地址信息。
[0080] 具体的,在建立VPLS系统中的一个VPLS实例后,第一设备可以主动向第二设备发送VPLS报文。在向第二设备发送VPLS报文之前,第一设备需要查询本地的MAC地址信息数据库内,该VPLS实例内是否已经存在默认MAC地址。
[0081] 若查询到本地已经存储了默认MAC地址,则表示在本VPLS实例内已经有其它设备(或本设备)已经配置有默认MAC地址。由于同一VPLS实例内只能存在一种默认MAC地址,否则会造成转发混乱,因而配置失败。
[0082] 当第一设备未存储默认MAC地址时,则为第一设备配置包括默认MAC地址的第一报文消息。
[0083] 可选的,为第一设备配置包括默认MAC地址的第一报文消息时,可以将第一报文消息中的目标字段定义为0x0FFF;0x0FFF用于标记第一报文消息用于发送默认MAC地址。
[0084] 具体的,本申请定义了一个新的VPLS报文格式,是在符合IETF RFC826所规定的ARP报文的基础上,对部分预留字段进行了定义。即本申请所涉及的新的VPLS报文格式,对标准规定的ARP报文的OP字段进行了定义。定义OP字段为0x0FFF,用于标记该VPLS报文(基于ARP)是用于VPLS实例中,第一设备主动发送默认MAC地址使用。这样一来,新为第一设备配置包括默认MAC地址的第一报文消息可以使得第一设备的兼容性较好,对第一设备的改动较小。
[0085] 示例性的,包括默认MAC地址的第一报文消息的报文格式如下表1所示。
[0086] 表1
[0087] MAC地址 VPLS实例号 端口名称 老化时间0000‑0000‑0000 08 NA 210
0000‑e9f4‑0303 08 GE1/1/1 280
0000‑0000‑0000 11 PW11 290
241c‑0401‑2aed 11 PW12 60
[0088] 第一设备查询到本地没有存储默认MAC地址,则开始装配包括默认MAC地址的第一报文消息:将OP字段置为0x0FFF,将目的以太网地址填入广播MAC地址,即FF‑FF‑FF‑FF‑FF‑FF;源以太网地址填入00‑00‑00‑00‑00‑00;帧类型填入0x0806;发送方IP地址填入建立VPLS实例的LOOPBACK地址,发送方以太网地址填入00‑00‑00‑00‑00‑00,接收方IP地址填入0.0.0.0,接收方MAC地址填入00‑00‑00‑00‑00‑00。
[0089] 由上可知,新的报文格式可以在一个VPLS实例中的默认出口设备(例如第一设备)主动发送给VPLS实例中的其它PE设备(例如第二设备),这样VPLS实例中的设备可以被动学习到全0的MAC,补充自己的MAC数据库,用以后续的转发。
[0090] S402、第一设备向第二设备发送包括默认MAC地址的第一报文消息。
[0091] 具体的,在为第一设备配置包括默认MAC地址的第一报文消息后,第一设备向第二设备发送包括默认MAC地址的第一报文消息。
[0092] 可选的,第一设备可以将包括默认MAC地址的第一报文消息从对应的VPLS实例的各个PW接口发布出去,不从自己的物理接口发布。
[0093] 示例性的,VPLS实例中的其他设备(例如第二设备)在接收到OP字段为0x0FFF的报文后,将该端设备记录为自己的默认MAC地址下一跳,后续在查询MAC表项后若无命中表项,将从默认MAC地址发送出去。目的以太网地址填入广播MAC地址,即FF‑FF‑FF‑FF‑FF‑FF;源以太网地址填入00‑00‑00‑00‑00‑00;帧类型填入0x0806;发送方IP地址填入建立VPLS实例的LOOPBACK地址,发送方以太网地址填入00‑00‑00‑00‑00‑00,接收方IP地址填入0.0.0.0,接收方MAC地址填入00‑00‑00‑00‑00‑00。
[0094] 可选的,结合图4,如图5所示,该路由转发方法还包括:
[0095] S501、第一设备存储默认MAC地址对应的MAC地址信息。
[0096] 其中,MAC地址信息包括:默认MAC地址对应的MAC地址、一个VPLS实例的实例标识、端口名称和老化时间;端口名称为默认MAC地址对应的MAC地址的源端口名称;老化时间为更新默认MAC地址的时间。
[0097] 具体的,第一设备可以将默认MAC地址对应的MAC地址信息存储至MAC地址信息数据库。默认MAC地址对应的MAC地址信息包含:MAC地址、VPLS实例号、端口名称、老化时间。
[0098] MAC地址为第一设备动态学习到的MAC地址。VPLS实例号是指该MAC地址归属的VPLS实例(实例号在本设备内唯一,不同的VPLS实例可有来自不同设备学习到的多条默认MAC)。端口名称是指从何处学习来的这条MAC地址。这个来源可以是本地的物理端口,也可以是VPLS的PW。老化时间默认为5分钟。设备学习到MAC条目开始倒计时,倒计时清零时清除这条老化MAC。
[0099] 这样一来,第一设备可以配合前述的包括默认MAC地址的第一报文消息,在第一设备上形成针对不同实例的默认MAC的转发表项。此外,第一设备一般会认为全零的MAC地址是错误MAC或待填充,不会记录在MAC转发表项里,无法形成有效的转发表。
[0100] 示例性的,第一设备向第二设备发送包括默认MAC地址的第一报文消息后,可以在本地的MAC地址信息数据库更新一条默认MAC的表项,端口名称为NA(表示是本地始发),老化时间记为300,并开始倒计时。
[0101] 后续,老化时间持续倒记时,并不断更新本地MAC地址信息数据库,直到老化时间归零后重新配置默认MAC报文并发布出去,以此刷新VPLS实例中的其它设备(例如第二设备)上存储的默认MAC地址。
[0102] 可选的,如图6所示,该路由转发方法还包括:
[0103] S601、第一设备接收第二报文消息。
[0104] 其中,第二报文消息包括源MAC地址和目的MAC地址。
[0105] 具体的,在报文消息传递的过程中,第一设备会收到第二报文消息。
[0106] S602、若第二报文消息中的源MAC地址为与第一设备连接的一个终端的MAC地址,则第一设备将第二报文消息中的源MAC地址修改为全零MAC地址,并根据第二报文消息中的目的MAC地址,发送修改后的第二报文消息。
[0107] 具体的,在接收第二报文消息后,第一设备首先判断本设备是否为默认MAC设备。若是,则可以根据源MAC地址判断第二报文消息是否来自AC侧。即判断第二报文消息中的源MAC地址是否为与第一设备连接的一个终端的MAC地址。
[0108] 若第二报文消息中的源MAC地址为与第一设备连接的一个终端的MAC地址,则第一设备将第二报文消息中的源MAC地址修改为全零MAC地址,并根据第二报文消息中的目的MAC地址,发送修改后的第二报文消息。
[0109] 可选的,若第二报文消息中的源MAC地址不为与第一设备连接的一个终端的MAC地址,即第一设备根据源MAC地址判断第二报文消息不是来自AC侧,则直接根据第二报文消息中的目的MAC地址,发送第二报文消息。
[0110] 图7为本申请实施例提供的又一种路由转发方法的流程示意图。该路由转发方法应用于第二设备;第二设备归属于包括第一设备和第二设备的VPLS系统。如图7所示,该路由转发方法包括下述S701‑S702。
[0111] S701、第二设备接收目标报文消息。
[0112] 目标报文消息包括源MAC地址和目的MAC地址。
[0113] 具体的,在报文消息传递的过程中,第二设备会收到目标报文消息。
[0114] S702、若源MAC地址为第一设备对应的默认MAC地址,则第二设备存储默认MAC地址对应的MAC地址信息,并根据目的MAC地址转发目标报文消息。
[0115] 其中,默认MAC地址为VPLS系统中的一个VPLS实例的唯一默认地址;默认MAC地址用于表示与第一设备连接的多个终端的MAC地址信息;MAC地址信息包括:默认MAC地址对应的MAC地址、一个VPLS实例的实例标识、端口名称和老化时间;端口名称为默认MAC地址对应的MAC地址的源端口名称;老化时间为更新默认MAC地址的时间。
[0116] 具体的,在接收目标报文消息后,第二设备首先判断本设备是否为默认MAC设备。若不是,则可以根据源MAC地址判断目标报文消息是否来自PW侧。即判断目标报文消息中的源MAC地址是否为第一设备对应的默认MAC地址。
[0117] 若源MAC地址为第一设备对应的默认MAC地址,则第二设备存储默认MAC地址对应的MAC地址信息,并根据目的MAC地址转发目标报文消息。
[0118] 可选的,若目标报文消息中的源MAC地址是否为第一设备对应的默认MAC地址,即第一设备根据源MAC地址判断目标报文消息不是来自PW侧,而是来自AC侧,则直接根据目标报文消息中的目的MAC地址,发送目标报文消息。
[0119] 可选的,在存储默认MAC地址对应的MAC地址信息之后,该路由转发方法还包括:
[0120] 更新默认MAC地址的老化时间。
[0121] 示例性的,结合图1,预设网络边缘设备PE1‑PE3建立VPLS实例01,用于为终端PC1‑PC5间提供数据通路。本申请提供的一种路由转发方法具体包括:
[0122] PE1客户侧下挂多个终端,PE2,PE3客户侧下挂终端数量较少;因而可配置PE1为发布默认MAC地址的设备。
[0123] PE1接收到配置默认MAC地址信息的指令后,装配主动VPLS(基于ARP)报文,并从PW1和PW2向PE2和PE3发送。
[0124] PE2、PE3收到来自PW1和PW2的VPLS报文后,发现是主动VPLS报文(源MAC地址、发送方MAC地址、接收方IP地址均为全0),则将分别记录一条默认MAC表项,实例号对应PW1和PW2的实例号01,接口分别为PW1和PW2,老化时间300秒开始倒计时。
[0125] PC2和PC3有ARP Request报文发送时,以PC2为例,PE2收到后,从PW1和PW3发送给PE1和PE3。
[0126] PE1接收到以后将ARP发送给PC1,PC4,PC5。
[0127] PE3接收到以后将ARP发送给PC3。
[0128] 假设PC1回复了该ARP Request报文,PE1将应答报文的源MAC地址修改为全0。查询到目的MAC地址的出接口为PW1,则将报文从PW1发送出去。
[0129] PE2接收到该reply报文后,查询后发现是已经记录的默认MAC地址发来的,将老化时间更新为300秒,并查询自己的MAC地址信息表依据目的MAC地址将报文发送给PC2。PC2依据reply报文记录到达PC1的IP地址的目的MAC为PC1的MAC地址。
[0130] PC2有业务报文需要发送给PC1,装配报文目的MAC地址为PC1,源MAC地址为PC2。
[0131] PE2收到该报文后,查询目的MAC地址无相应表项,则依据默认MAC地址表项,将业务报文从PW1发送出去。
[0132] PE1收到该业务报文后查询目的MAC,依据本地表项发送给PC1。
[0133] 其它终端间通信同理,最后对于终端PC1、PC4、PC5的MAC地址,设备PE2、PE3不做记录,去往这些终端的只依据一条默认MAC转发,对于终端不感知。终端可确切的知道通往其它PC的MAC地址。这样网络边缘设备PE1上存有大量MAC信息,PE2、PE3可大大降低MAC指标的要求。
[0134] 本申请提供一种路由转发方法,路由转发方法应用于第一设备;第一设备归属于包括第一设备和第二设备的VPLS系统;路由转发方法包括:当第一设备未存储默认MAC地址时,为第一设备配置包括默认MAC地址的第一报文消息;默认MAC地址为VPLS系统中的一个VPLS实例的唯一默认地址;默认MAC地址用于表示与第一设备连接的多个终端的MAC地址信息;第一设备向第二设备发送包括默认MAC地址的第一报文消息。
[0135] 由上可知,当第一设备未存储默认MAC地址时,可以为第一设备配置包括默认MAC地址的第一报文消息。后续,第一设备可以向第二设备发送包括默认MAC地址的第一报文消息。由于默认MAC地址用于表示与第一设备连接的多个终端的MAC地址信息,这样一来,第二设备无需存储与第一设备连接的多个终端的MAC地址,只需存储默认MAC地址,便可以实现报文传输,解决了现有技术中网络边缘设备的数据处理量较大的技术问题,提高了通信效率。
[0136] 上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0137] 本申请实施例可以根据上述方法示例对路由转发装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0138] 如图8所示,为本申请实施例提供的一种路由转发装置的结构示意图。路由转发装置应用于第一设备;第一设备归属于包括第一设备和第二设备的VPLS系统;路由转发装置包括:配置单元801和发送单元802。
[0139] 配置单元801,用于当第一设备未存储默认MAC地址时,为第一设备配置包括默认MAC地址的第一报文消息;默认MAC地址为VPLS系统中的一个VPLS实例的唯一默认地址;默认MAC地址用于表示与第一设备连接的多个终端的MAC地址信息。例如,结合图4,配置单元801用于执行S401。
[0140] 发送单元802,用于向第二设备发送包括默认MAC地址的第一报文消息。例如,结合图4,发送单元802用于执行S402。
[0141] 可选的,配置单元801,具体用于:
[0142] 将第一报文消息中的目标字段定义为0x0FFF;0x0FFF用于标记第一报文消息用于发送默认MAC地址。
[0143] 可选的,还包括:存储单元803;
[0144] 存储单元803,用于存储默认MAC地址对应的MAC地址信息;MAC地址信息包括:默认MAC地址对应的MAC地址、一个VPLS实例的实例标识、端口名称和老化时间;端口名称为默认MAC地址对应的MAC地址的源端口名称;老化时间为更新默认MAC地址的时间。例如,结合图5,存储单元803用于执行S501。
[0145] 可选的,还包括:接收单元804;
[0146] 接收单元804,用于接收第二报文消息;第二报文消息包括源MAC地址和目的MAC地址。例如,结合图6,接收单元804用于执行S601。
[0147] 发送单元802,还用于若第二报文消息中的源MAC地址为与第一设备连接的一个终端的MAC地址,则将第二报文消息中的源MAC地址修改为全零MAC地址,并根据第二报文消息中的目的MAC地址,发送修改后的第二报文消息。例如,结合图6,发送单元802用于执行S602。
[0148] 如图9所示,为本申请实施例提供的又一种路由转发装置的结构示意图。路由转发装置应用于第二设备;第一设备归属于包括第一设备和第二设备的VPLS系统;路由转发装置包括:接收单元901和处理单元902;
[0149] 接收单元901,用于接收目标报文消息;目标报文消息包括源MAC地址和目的MAC地址。例如,结合图7,接收单元901用于执行S701。
[0150] 处理单元902,用于若源MAC地址为第一设备对应的默认MAC地址,则存储默认MAC地址对应的MAC地址信息,并根据目的MAC地址转发目标报文消息;默认MAC地址为VPLS系统中的一个VPLS实例的唯一默认地址;默认MAC地址用于表示与第一设备连接的多个终端的MAC地址信息。例如,结合图7,处理单元902用于执行S702。
[0151] 可选的,MAC地址信息包括:默认MAC地址对应的MAC地址、一个VPLS实例的实例标识、端口名称和老化时间;端口名称为默认MAC地址对应的MAC地址的源端口名称;老化时间为更新默认MAC地址的时间。
[0152] 可选的,处理单元902,还用于:
[0153] 更新默认MAC地址的老化时间。
[0154] 本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令。当计算机执行指令在计算机上运行时,使得计算机执行如上述实施例提供的路由转发方法中,路由转发装置执行的各个步骤。
[0155] 本申请实施例还提供一种计算机程序产品,该计算机程序产品可直接加载到存储器中,并含有软件代码,该计算机程序产品经由计算机载入并执行后能够实现上述实施例提供的路由转发方法中,路由转发装置执行的各个步骤。
[0156] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机执行指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
[0157] 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0158] 在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0159] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取的存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0160] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。