CN104753789B - 一种转发报文的方法及系统 - Google Patents
一种转发报文的方法及系统 Download PDFInfo
- Publication number
- CN104753789B CN104753789B CN201310731880.5A CN201310731880A CN104753789B CN 104753789 B CN104753789 B CN 104753789B CN 201310731880 A CN201310731880 A CN 201310731880A CN 104753789 B CN104753789 B CN 104753789B
- Authority
- CN
- China
- Prior art keywords
- message
- address
- network equipment
- destination
- access control
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/741—Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2212/00—Encapsulation of packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/56—Routing software
- H04L45/566—Routing instructions carried by the data packet, e.g. active networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/66—Layer 2 routing, e.g. in Ethernet based MAN's
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明实施例公开了一种转发报文的方法,包括:第一网络设备将待转发的报文封装为第一报文,并将第一报文发送给第二网络设备,第一报文中携带目的媒体接入控制MAC地址封装指令,待转发的报文携带目的网络协议IP地址,目的MAC地址为目的IP地址所对应目的主机的MAC地址;第二网络设备执行接收到的第一报文携带的目的MAC地址封装指令,生成包含目的MAC地址的第二报文;第二网络设备转发第二报文至目的MAC地址所对应的目的主机。本发明实施例还公开了一种转发报文的系统。采用本发明,能够提高硬件资源的利用率,提高报文转发工作的可靠性以及网络设备的处理能力。
Description
技术领域
本发明涉及通信领域,尤其涉及一种转发报文的方法及系统。
背景技术
网关设备接收到需要转发的报文后,需要封装报文后转发封装报文。封装报文的操作包括通过路由前缀表根据报文的目的IP(Internet Protocol,网络协议)地址查找可用的下一跳表,再通过下一跳表对报文进行源MAC(Media AccessControl,媒体接入控制)地址、目的MAC地址以及下一跳接口信息的封装。
网关设备中的下一跳表用于为报文封装指定的目的MAC地址,即处理携带与指定目的MAC地址相对应的目的IP地址的报文,故网关设备下联多个主机时,需存在相应数目的下一跳表以实现报文的封装与转发。
同一时间内下一跳表处理报文的容纳量有限,当网关设备需处理的携带与指定目的MAC地址相对应的目的IP地址的报文量超过用于封装指定目的MAC地址的下一跳表容纳量时,超出部分的报文会由于溢出下一跳表而不能被封装,从而转发失败。用现有技术的方法,网关设备转发报文的可靠性差、处理能力低。
发明内容
本发明实施例提供一种转发报文的方法及系统,用以解决现有技术存在的网关设备处理携带与指定目的MAC地址相对应的目的IP地址的报文量超过封装指定目的MAC地址的下一跳表容纳量时,超出部分的报文由于溢出下一跳表而不能进行封装而转发失败,从而导致网关设备转发报文的可靠性差、处理能力低的问题。
为了解决上述技术问题,本发明实施例第一方面提供了一种转发报文的方法,所述方法包括:
第一网络设备将待转发的报文封装为第一报文,并将所述第一报文发送给第二网络设备,所述第一报文中携带目的媒体接入控制MAC地址封装指令,所述目的MAC地址封装指令用于指示所述第二网络设备为所述第一报文封装目的MAC地址,所述待转发的报文携带目的网络协议IP地址,所述目的MAC地址为所述目的IP地址所对应目的主机的MAC地址;
所述第二网络设备执行接收到的所述第一报文携带的所述目的MAC地址封装指令,生成包含所述目的MAC地址的第二报文;
所述第二网络设备转发所述第二报文至所述目的MAC地址所对应的所述目的主机。
结合第一方面,在第一种可能的实现方式中,第一网络设备将待转发的报文封装为第一报文,并将所述第一报文发送给第二网络设备包括:
所述第一网络设备接收待转发的所述报文,所述报文携带所述目的IP地址;
获取所述目的IP地址;
查找与所述目的IP地址相对应的第一下一跳表信息,所述第一下一跳表信息包括所述目的MAC地址封装指令、通往第二网络设备的接口信息、以及所述第二网络设备的MAC地址;
将所述目的MAC地址封装指令、所述通往第二网络设备的接口信息、以及所述第二网络设备的MAC地址封装至所述报文,生成携带所述目的MAC地址封装指令的所述第一报文;
通过所述第一报文中所述通往第二网络设备的接口信息所对应接口发送所述第一报文至所述第二网络设备的MAC地址所对应的所述第二网络设备。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述第二网络设备执行接收到的所述第一报文携带的所述目的MAC地址封装指令,生成包含所述目的MAC地址的第二报文包括:
所述第二网络设备接收所述第一网络设备发送的所述第一报文,所述第一报文携带所述目的IP地址;
执行所述目的MAC地址封装指令,为所述第一报文添加与所述目的IP地址相对应的所述目的MAC地址,并对应生成包含所述目的MAC地址的所述第二报文。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,执行所述目的MAC地址封装指令,为所述第一报文添加与所述目的IP地址相对应的目的MAC地址,生成包含所述目的MAC地址的所述第二报文包括:
从所述第一报文获取所述目的IP地址;
查找与所述目的IP地址相对应的第二下一跳表信息,所述第二下一跳表信息包括所述目的MAC地址以及下一跳路由接口信息;
将所述目的MAC地址以及所述下一跳路由接口信息封装至所述第一报文,并对应生成包含所述目的MAC地址的所述第二报文。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述第二网络设备转发所述第二报文至所述目的MAC地址所对应的所述目的主机包括:
通过所述第二报文中包含的所述下一跳路由接口信息所对应接口转发所述第二报文至所述目的MAC地址所对应的所述目的主机。
相应地,本发明实施例第二方面还提供一种转发报文系统,其包括:
第一网络设备,用于将待转发的报文封装为第一报文,并将所述第一报文发送给第二网络设备,所述第一报文中携带目的媒体接入控制MAC地址封装指令,所述目的MAC地址封装指令用于指示所述第二网络设备为所述第一报文封装目的MAC地址,所述待转发的报文携带目的网络协议IP地址,所述目的MAC地址为所述目的IP地址所对应目的主机的MAC地址;
第二网络设备,用于执行接收到的所述第一报文携带的所述目的MAC地址封装指令,生成包含所述目的MAC地址的第二报文;还用于转发所述第二报文至所述目的MAC地址所对应的所述目的主机。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第一网络设备包括:
第一接收模块,用于接收待转发的所述报文,所述报文携带所述目的IP地址;
获取模块,用于从所述报文中获取目的IP地址;
查找模块,用于查找与所述获取模块获取到的所述目的IP地址相对应的第一下一跳表信息,所述第一下一跳表信息包括所述目的MAC地址封装指令、通往第二网络设备的接口信息、以及所述第二网络设备的MAC地址;
生成模块,用于将所述目的MAC地址封装指令、所述通往第二网络设备的接口信息、以及所述第二网络设备的MAC地址封装至所述报文,生成携带所述目的MAC地址封装指令的所述第一报文;
第一发送模块,用于通过所述第一报文中所述通往第二网络设备的接口信息所对应接口发送所述第一报文至所述第二网络设备的MAC地址所对应的所述第二网络设备。
结合第二方面或第二方面的第二种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第二网络设备包括:
第二接收模块,用于接收所述第一网络设备发送的所述第一报文,所述第一报文携带所述目的IP地址;
执行模块,用于执行所述目的MAC地址封装指令,为所述第一报文添加与所述目的IP地址相对应的所述目的MAC地址,并对应生成包含所述目的MAC地址的所述第二报文。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第二网络设备的所述执行模块包括:
获取单元,用于从所述第一报文获取目的IP地址;
查找单元,用于查找与所述目的IP地址相对应的第二下一跳表信息,所述第二下一跳表信息包括所述目的MAC地址以及下一跳路由接口信息;
封装单元,用于将所述目的MAC地址以及所述下一跳路由接口信息封装至所述第一报文,并对应生成包含所述目的MAC地址的所述第二报文。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第二网络设备还包括:
第二发送模块,用于通过所述第二报文中包含的所述下一跳路由接口信息所对应接口转发所述第二报文至所述目的MAC地址所对应的所述目的主机。
通过本发明实施例,第一网络设备接收到待转发的报文后,封装报文并且为报文指定用于添加其目的MAC地址的第二网络设备,使报文通过第二网络设备进行目的MAC地址的添加,提高了硬件资源的利用率,提高了报文转发工作的可靠性以及网络设备的处理能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种转发报文的方法的流程示意图;
图2是本发明实施例的一种转发报文系统的一结构组成示意图;
图3是本发明实施例的一种转发报文系统的另一结构组成示意图;
图4是本发明实施例的一种转发报文系统的又一结构组成示意图;
图5是本发明实施例的一种转发报文系统的再一结构组成示意图;
图6是本发明实施例的一种网络设备的结构组成示意图;
图7是本发明实施例的另一种网络设备的结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例中一种转发报文的方法的流程图。该方法可以适用于网间设备之间的报文转发操作。在实际应用中,作为网关的网络设备需要对待转发的报文进行封装,再通过路由转发的方式转发至目的主机,采用现有技术的方法进行转发会出现携带与指定目的MAC地址相对应的目的IP地址的报文量超过封装指定目的MAC地址的下一跳表容纳量,超出部分的报文会由于溢出下一跳表而不能进行封装,从而转发失败的问题。因此,网间设备转发报文的操作可以采用如图1所示的方法进行处理。如图1所示,本发明实施例的方法可以包括以下步骤:
步骤S110,第一网络设备将待转发的报文封装为第一报文,并将第一报文发送给第二网络设备,其中,第一报文中携带目的媒体接入控制MAC地址封装指令,该目的MAC地址封装指令用于指示第二网络设备为第一报文封装目的MAC地址,并且,待转发的报文携带有目的网络协议IP地址,目的MAC地址为前述目的IP地址所对应目的主机的MAC地址。第一网络设备主要完成对报文的初步封装,并为生成的第一报文指定用于添加目的MAC地址的第二网络设备。具体实施中,将待转发的报文封装为第一报文,并将第一报文发送给第二网络设备可以包括:第一网络设备接收待转发的报文,所述报文携带目的网络协议IP地址;获取目的IP地址;查找与目的IP地址相对应的第一下一跳表信息;将第一下一跳表信息中的目的MAC地址封装指令、通往第二网络设备的接口信息、以及第二网络设备的MAC地址封装至报文,生成携带目的MAC地址封装指令的第一报文;通过第一报文中通往第二网络设备的接口信息所对应接口发送第一报文至第二网络设备的MAC地址所对应的第二网络设备。
具体实现中,由于第一网络设备接收待转发的报文是带有目的IP地址的,所以,可以根据目的IP地址查找可用的第一下一跳表。本发明实施例查找到的第一下一跳表中包含第二网络设备的MAC地址、通往第二网络设备的接口信息以及目的MAC地址封装指令,第一下一跳表中还包含其他的封装信息。进一步可选的,查找可用的第一下一跳表的方法可采用通过路由前缀表的方式进行查找,请一并参照表格1所示的路由前缀表结构示例:
| Prefix |
| VRF |
| Nexthop Index |
表格1
其中,Prefix为网络中目的主机的IP地址,Nexthop Index为第一下一跳表索引,根据报文的目的IP地址查找路由前缀表,查询到对应的路由前缀表后,通过表中的下一跳索引来获取第一下一跳表,可一并参照表格2所示的第一下一跳表结构示例:
| Index |
| Source MAC |
| Vlan |
| Interface2 |
| Destination MAC2 |
表格2
其中,Interface2为生成的第一报文的第二网络设备接口,Destination MAC2为下一跳的第二网络设备的MAC地址,当为报文封装通往第二网络设备的接口信息并通过第二网络设备接口发送第一报文时,即代表使第二网络设备执行目的MAC地址封装指令,通过第二网络设备为第一报文封装目的MAC地址。
具体实现中,通过上述的第一下一跳表封装待转发的报文并生成第一报文后,本发明实施例的第一网络设备通过第一报文中通往第二网络设备的接口信息所对应接口发送第一报文至第二网络设备,指定第二网络设备为第一报文添加目的MAC地址。
本发明实施例的第一网络设备与第二网络设备之间保持通信连接关系,可通过路由前缀表为待封装的报文指定一个用于封装目的MAC地址的第二网络设备,通过第二网络设备进行再一次封装操作,最终生成完整的第二报文。故,本发明实施例的第一网络设备在第一下一跳表中储存第二网络设备的地址信息和出接口信息,使对应不同目的MAC地址的报文均可以通过第一下一跳表进行信息封装,通过提高第一下一跳表的适用范围来提高待转发报文的处理效率。
步骤S111,第二网络设备执行接收到的第一报文携带的目的MAC地址封装指令,生成包含目的MAC地址的第二报文。其中,第二网络设备用于为报文添加目的MAC地址,故接收到第一报文后,需执行目的MAC地址封装指令,进行第一报文的目的MAC地址封装操作,具体按照以下步骤实施:第二网络设备接收第一网络设备发送的第一报文,其中,第一报文携带目的IP地址;执行目的MAC地址封装指令,为第一报文添加与目的IP地址相对应的目的MAC地址,并对应生成包含目的MAC地址的第二报文。
具体实现中,第二网络设备为第一报文添加与目的IP地址相对应的目的MAC地址,并对应生成包含目的MAC地址的第二报文是通过构建新的前缀表和第二下一跳表来实现的,如表格3所示的前缀表结构示例:
| Destionation IP |
| Nexthop Index |
表格3
其中,Destionation IP为目的IP地址,Nexthop Index为第二下一跳表索引,根据第一报文的目的IP地址查找前缀表,查询到对应的前缀表后,根据表中的下一跳索引来获取第二下一跳表,可一并参照表格4所示的第二下一跳表结构示例:
| Interface |
| Destination MAC |
表格4
其中,Interface为生成的第二报文的下一跳路由接口,Destination MAC为目的主机的目的MAC地址。
第二网络设备接收到第一报文后,首先获取第一报文的目的IP地址,根据目的IP地址通过前缀表查找到可用的第二下一跳表,再通过第二下一跳表将目的MAC地址以及下一跳路由接口信息封装至第一报文并生成第二报文。
本发明实施例的第二网络设备中的第二下一跳表存储用于为待封装报文进行目的MAC地址封装的目的MAC地址,以及下一跳路由接口信息,其用于与第一网络设备的第一下一跳表配合使用,以解决下一跳表容纳量有限造成的超出部分报文封装失败的问题。
步骤S112,第二网络设备转发第二报文至目的MAC地址所对应的目的主机。如步骤S111所述的方法,通过第二网络设备的信息封装,第二网络设备生成的第二报文包含了下一跳路由接口信息,则本步骤通过第二报文中包含的下一跳路由接口信息所对应接口转发第二报文至目的MAC地址所对应的目的主机。
本发明实施例的方法中,第一网络设备为待转发的报文进行的第一次封装操作可包括将网络信息、源地址信息等通用的封装操作,以及指定用于添加目的MAC地址的第二网络设备的操作;第二网络设备则用于受第一网络设备控制,为第一网络设备所指定的报文添加相应的目的MAC地址等具有针对性的第二次信息封装操作。由此,当下联主机数目非常多时,本发明实施例的方法能够避免待转发的报文超出下一跳表的容纳量而溢出下一跳表的情况,提高报文转发操作的有效性。
第一网络设备与第二网络设备之间的通信传输可通过共有的传输协议实现,其可以采用现有的传输协议,也可以根据网络设备属性以及传输信息特点来构建新的传输协议,本发明实施例对此不作限制。
本发明实施例的第一网络设备和第二网络设备均可以同时兼有通过下一跳表为待转发报文直接封装目的MAC地址的能力,本发明实施例将报文的封装工作通过二层封装、三层转发的方式实现不应理解为对本发明方案的限制,可将该方法协同本发明图1实施例的实施方案,以实现部分降低对网关设备的资源消耗。
本发明实施例的第一网络设备接收到待转发的报文后,封装报文并且为报文指定用于添加其目的MAC地址的第二网络设备,使报文通过第二网络设备进行目的MAC地址的添加,提高了硬件资源的利用率,提高了报文转发工作的可靠性以及网络设备的处理能力。
图2为本发明实施例中的一种转发报文系统的结构组成示意图。本发明实施例的转发报文系统能够执行图1所示的办法,如图所示,本发明实施例中转发报文系统至少可以包括:第一网络设备21和第二网络设备22,其中:
第一网络设备21,用于将待转发的报文封装为第一报文,并将第一报文发送给第二网络设备,其中,第一报文中携带目的媒体接入控制MAC地址封装指令,该目的MAC地址封装指令用于指示第二网络设备为第一报文封装目的MAC地址,并且,待转发的报文携带有目的网络协议IP地址,目的MAC地址为前述目的IP地址所对应目的主机的MAC地址。第一网络设备主要完成对报文的初步封装,并为生成的第一报文指定用于添加目的MAC地址的第二网络设备。
第二网络设备22,用于执行接收到的第一报文携带的目的MAC地址封装指令,生成包含目的MAC地址的第二报文;还用于转发第二报文至目的MAC地址所对应的目的主机。
进一步可选的,可一并参照图3所示的第一网络设备21,第一网络设备21可以通过第一接收模块211、获取模块212、查找模块213、生成模块214以及第一发送模块215实现对待转发的报文的第一次封装:
第一接收模块211,用于接收待转发的报文,其中,报文携带目的IP地址。
获取模块212,用于从报文中获取目的IP地址。
查找模块213,用于查找与获取模块212获取到的目的IP地址相对应的第一下一跳表信息,其中,第一下一跳表信息包括目的MAC地址封装指令、通往第二网络设备的接口信息以及第二网络设备的MAC地址。
生成模块214,用于将查找模块213查找到的第一下一跳表信息中目的MAC地址封装指令、通往第二网络设备的接口信息以及第二网络设备的MAC地址封装至报文,生成携带目的MAC地址封装指令的第一报文。
第一发送模块215,还用于通过第一报文中通往第二网络设备的接口信息所对应接口发送第一报文至第二网络设备的MAC地址所对应的第二网络设备。
进一步可选的,可一并参照图4所示的第二网络设备22,第二网络设备22可以通过第二接收模块221、执行模块222和第二发送模块223实现对第一报文的目的MAC地址添加操作:
第二接收模块221,用于接收第一网络设备发送的第一报文,所述第一报文携带目的IP地址。
执行模块222,用于执行目的MAC地址封装指令,为第一报文添加与目的IP地址相对应的目的MAC地址,并对应生成包含目的MAC地址的第二报文。
可一并参照图5,第二网络设备的执行模块222还可以进一步包括:
获取单元2221,用于从第一报文获取目的IP地址;
查找单元2222,用于查找与目的IP地址相对应的第二下一跳表信息,所述第二下一跳表信息包括所述目的MAC地址以及下一跳路由接口信息;
封装单元2223,用于通过查找单元2222查找到的第二下一跳表将目的MAC地址以及下一跳路由接口信息封装至第一报文,并对应生成包含目的MAC地址的第二报文。
相应地,第二网络设备的第二发送模块223,用于通过第二报文中包含的下一跳路由接口信息所对应接口转发第二报文至目的MAC地址所对应的目的主机。
本发明实施例所采用的第一网络设备可以为一种网关,网关与第二网络设备之间保持通信连接关系,可通过路由前缀表为待封装的报文指定一个用于封装目的MAC地址的第二网络设备,通过第二网络设备进行再一次封装操作,最终生成完整的第二报文。故,本发明实施例的第一网络设备在第一下一跳表中储存第二网络设备的地址信息和出接口信息,使对应不同目的MAC地址的报文均可以通过第一下一跳表进行信息封装,通过提高第一下一跳表的适用范围来提高待转发报文的处理效率。
本发明实施例所采用的第二网络设备可以为一种TOR(Top of Rack,架顶式交换机)设备,TOR设备中的第二下一跳表存储用于为待封装报文进行目的MAC地址封装的目的MAC地址,以及下一跳路由接口信息,其用于与第一网络设备的第一下一跳表配合使用,以解决下一跳表容纳量有限造成的超出部分报文封装失败的问题。
本发明实施例的系统中,第一网络设备为待转发的报文进行的第一次封装操作可包括将网络信息、源地址信息等通用的封装操作,以及指定用于添加目的MAC地址的第二网络设备的操作;第二网络设备则用于受第一网络设备控制,为第一网络设备所指定的报文添加相应的目的MAC地址等具有针对性的第二次信息封装操作。由此,当下联主机数目非常多时,本发明实施例的方法能够避免待转发的报文超出下一跳表的容纳量而溢出下一跳表的情况,提高报文转发操作的有效性。
本发明实施例的系统中,第一网络设备与第二网络设备之间的通信传输可通过共有的传输协议实现,其可以采用现有的传输协议,也可以根据网络设备属性以及传输信息特点来构建新的传输协议,本发明实施例对此不作限制。
本发明实施例的系统中,第一网络设备和第二网络设备均可以同时兼有通过下一跳表为待转发报文直接封装目的MAC地址的能力,本发明实施例的系统将报文的封装工作通过二层封装、三层转发的方式实现不应理解为对本发明方案的限制。
另外,本发明实施例系统还可以包括下联主机,当与下联主机相连接的第二网络设备为TOR设备时,TOR设备可通过ARP Snooping方法,侦听下联主机的ARP信息,以进行下一跳的信息封装,同时,在将用户的ARP发送给网络设备时,将ARP报文的源MAC填充为网络设备自身的MAC地址,则网关学习到的下一跳信息中的MAC地址为TOR设备的MAC地址。
本发明实施例的系统中,第一网络设备接收到待转发的报文后,封装报文并且为报文指定用于添加其目的MAC地址的第二网络设备,使报文通过第二网络设备进行目的MAC地址的添加,提高了硬件资源的利用率,提高了报文转发工作的可靠性以及网络设备的处理能力。
进一步可选地,本发明实施例提供一种网络设备,如图3所示的网络设备结构示意图,其可以为一种网关,其用于为待转发的报文进行的第一次封装操作可包括将网络信息、源地址信息等通用的封装操作,以及指定用于添加目的MAC地址的其他网络设备的操作,并使指定的网络设备为第一网络设备所指定的报文添加相应的目的MAC地址等具有针对性的第二次信息封装操作。由此,当下联主机数目非常多时,本发明实施例提供的网络设备能够避免报文溢出下一跳表的现象,提高设备硬件资源的利用率,提高报文封装、转发操作的有效性。
进一步可选地,本发明实施例提供一种网络设备,如图4-图5所示的装置网络设备结构示意图,其可以为一种TOR(Top of Rack,架顶式交换机)设备,其受主控网络设备控制,为主控网络设备所指定的报文添加相应的目的MAC地址等具有针对性的第二次信息封装操作。由此,当下联主机数目非常多时,本发明实施例的网络设备能够减轻主控网络设备的报文处理压力,提高了提高报文转发操作的有效性,以及网络设备的处理能力。
图6是本发明实施例提供的一种网络设备的结构组成示意图,图1所示的方法可在网络设备中实现,本实施例中网络设备可包括:处理器61、存储器62、接收器63、发送器64以及通信接口65,其中:
接收器63,用于与处理器61相连接,用于接收待转发的报文,所述报文携带目的网络协议IP地址。
处理器61,用于从报文中获取目的IP地址;还用于查找与获取到的所述目的IP地址相对应的第一下一跳表信息,所述第一下一跳表信息包括所述目的MAC地址封装指令、通往第二网络设备的接口信息、以及所述第二网络设备的MAC地址;还用于将所述目的MAC地址封装指令、所述通往第二网络设备的接口信息、以及所述第二网络设备的MAC地址封装至所述报文,生成携带所述目的MAC地址封装指令的所述第一报文,生成携带目的MAC地址封装指令的第一报文。
发送器64,用于与处理器61相连接,用于通过第一报文中通往第二网络设备的接口信息所对应接口发送第一报文至第二网络设备的MAC地址所对应的第二网络设备。
存储器62,用于在处理器61处理过程中储存缓存文件。
进一步可选的,本发明实施例中的网络设备还可以包括通信接口65,用于与外部设备通信。其中,本实施例中的网络设备可以包括总线65。处理器61、存储器62、接收器63以及发送器64可通过总线连接并通信。处理器61可以是中央处理器(central processingunit,CPU)、专用集成电路(application-specific integrated circuit,ASIC)等,存储器62可以包括:随机存取存储器(random access memory,RAM),只读存储器(read-onlymemory,ROM)等具有存储功能的实体。
图7是本发明实施例提供的另一种网络设备的结构组成示意图,图1所示的方法可在网络设备中实现,本实施例中网络设备可包括:处理器71、存储器72、接收器73、发送器74以及通信接口75,其中:
接收器73,用于与处理器71相连接,用于接收第一网络设备发送的第一报文,所述第一报文携带目的网络协议IP地址。
处理器71,用于执行目的MAC地址封装指令,生成包含所述目的MAC地址的第二报文,所述第二报文包含目的MAC地址以及下一跳路由接口信息。
发送器74,用于与处理器71相连接,用于通过第二报文中包含的下一跳路由接口信息所对应接口转发第二报文至所述目的MAC地址所对应的目的主机。
存储器72,用于在处理器71处理过程中储存缓存文件。
进一步可选的,本发明实施例中的网络设备还可以包括通信接口75,用于与外部设备通信。其中,本实施例中的网络设备可以包括总线75。处理器71、存储器72、接收器73以及发送器74可通过总线连接并通信。处理器71可以是中央处理器(central processingunit,CPU)、专用集成电路(application-specific integrated circuit,ASIC)等,存储器102可以包括:随机存取存储器(random access memory,RAM),只读存储器(read-onlymemory,ROM)等具有存储功能的实体。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘(Disk)和碟(disc)包括压缩光碟(CD)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (12)
1.一种转发报文的方法,其特征在于,所述方法包括:
第一网络设备将待转发的报文封装为第一报文,并将所述第一报文发送给第二网络设备,所述第一报文中携带目的媒体接入控制MAC地址封装指令,所述目的MAC地址封装指令用于指示所述第二网络设备为所述第一报文封装目的MAC地址,所述待转发的报文携带目的网络协议IP地址,所述目的MAC地址为所述目的IP地址所对应目的主机的MAC地址;
所述第二网络设备执行接收到的所述第一报文携带的所述目的MAC地址封装指令,生成包含所述目的MAC地址的第二报文;
所述第二网络设备转发所述第二报文至所述目的MAC地址所对应的所述目的主机。
2.如权利要求1所述的方法,其特征在于,第一网络设备将待转发的报文封装为第一报文,并将所述第一报文发送给第二网络设备包括:
所述第一网络设备接收待转发的所述报文,所述报文携带所述目的IP地址;
获取所述目的IP地址;
查找与所述目的IP地址相对应的第一下一跳表,所述第一下一跳表包括所述目的MAC地址封装指令、通往第二网络设备的接口信息、以及所述第二网络设备的MAC地址;
将所述目的MAC地址封装指令、所述通往第二网络设备的接口信息、以及所述第二网络设备的MAC地址封装至所述报文,生成携带所述目的MAC地址封装指令的所述第一报文;
通过所述第一报文中所述通往第二网络设备的接口信息所对应接口发送所述第一报文至所述第二网络设备的MAC地址所对应的所述第二网络设备。
3.如权利要求1或2所述的方法,其特征在于,所述第二网络设备执行接收到的所述第一报文携带的所述目的MAC地址封装指令,生成包含所述目的MAC地址的第二报文包括:
所述第二网络设备接收所述第一网络设备发送的所述第一报文,所述第一报文携带所述目的IP地址;
执行所述目的MAC地址封装指令,为所述第一报文添加与所述目的IP地址相对应的所述目的MAC地址,并对应生成包含所述目的MAC地址的所述第二报文。
4.如权利要求3所述的方法,其特征在于,执行所述目的MAC地址封装指令,为所述第一报文添加与所述目的IP地址相对应的目的MAC地址,生成包含所述目的MAC地址的所述第二报文包括:
从所述第一报文获取所述目的IP地址;
查找与所述目的IP地址相对应的第二下一跳表,所述第二下一跳表包括所述目的MAC地址以及下一跳路由接口信息;
将所述目的MAC地址以及所述下一跳路由接口信息封装至所述第一报文,并对应生成包含所述目的MAC地址的所述第二报文。
5.如权利要求4所述的方法,其特征在于,所述第二网络设备转发所述第二报文至所述目的MAC地址所对应的所述目的主机包括:
通过所述第二报文中包含的所述下一跳路由接口信息所对应接口转发所述第二报文至所述目的MAC地址所对应的所述目的主机。
6.一种转发报文系统,其特征在于,包括:
第一网络设备,用于将待转发的报文封装为第一报文,并将所述第一报文发送给第二网络设备,所述第一报文中携带目的媒体接入控制MAC地址封装指令,所述目的MAC地址封装指令用于指示所述第二网络设备为所述第一报文封装目的MAC地址,所述待转发的报文携带目的网络协议IP地址,所述目的MAC地址为所述目的IP地址所对应目的主机的MAC地址;
第二网络设备,用于执行接收到的所述第一报文携带的所述目的MAC地址封装指令,生成包含所述目的MAC地址的第二报文;还用于转发所述第二报文至所述目的MAC地址所对应的所述目的主机。
7.如权利要求6所述的系统,其特征在于,所述第一网络设备包括:
第一接收模块,用于接收待转发的所述报文,所述报文携带所述目的IP地址;
获取模块,用于从所述报文中获取目的IP地址;
查找模块,用于查找与所述获取模块获取到的所述目的IP地址相对应的第一下一跳表,所述第一下一跳表包括所述目的MAC地址封装指令、通往第二网络设备的接口信息、以及所述第二网络设备的MAC地址;
生成模块,用于将所述目的MAC地址封装指令、所述通往第二网络设备的接口信息、以及所述第二网络设备的MAC地址封装至所述报文,生成携带所述目的MAC地址封装指令的所述第一报文;
第一发送模块,用于通过所述第一报文中所述通往第二网络设备的接口信息所对应接口发送所述第一报文至所述第二网络设备的MAC地址所对应的所述第二网络设备。
8.如权利要求6或7所述的系统,其特征在于,所述第二网络设备包括:
第二接收模块,用于接收所述第一网络设备发送的所述第一报文,所述第一报文携带所述目的IP地址;
执行模块,用于执行所述目的MAC地址封装指令,为所述第一报文添加与所述目的IP地址相对应的所述目的MAC地址,并对应生成包含所述目的MAC地址的所述第二报文。
9.如权利要求8所述的系统,其特征在于,所述第二网络设备的所述执行模块包括:
获取单元,用于从所述第一报文获取目的IP地址;
查找单元,用于查找与所述目的IP地址相对应的第二下一跳表,所述第二下一跳表包括所述目的MAC地址以及下一跳路由接口信息;
封装单元,用于将所述目的MAC地址以及所述下一跳路由接口信息封装至所述第一报文,并对应生成包含所述目的MAC地址的所述第二报文。
10.如权利要求9所述的系统,其特征在于,所述第二网络设备还包括:
第二发送模块,用于通过所述第二报文中包含的所述下一跳路由接口信息所对应接口转发所述第二报文至所述目的MAC地址所对应的所述目的主机。
11.一种网络设备,其特征在于,包括:处理器、存储器、接收器、发送器以及通信接口,其中:
接收器,用于与处理器相连接,用于接收待转发的报文,所述报文携带目的网络协议IP地址;
处理器,用于从报文中获取目的IP地址;还用于查找与获取到的所述目的IP地址相对应的第一下一跳表,所述第一下一跳表包括目的MAC地址封装指令、通往第二网络设备的接口信息、以及所述第二网络设备的MAC地址;还用于将所述目的MAC地址封装指令、所述通往第二网络设备的接口信息、以及所述第二网络设备的MAC地址封装至所述报文,生成携带目的MAC地址封装指令的第一报文;
发送器,用于与处理器相连接,用于通过第一报文中通往第二网络设备的接口信息所对应接口发送第一报文至第二网络设备的MAC地址所对应的第二网络设备。
12.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序可被处理器执行以实现权利要求1至5任意一项方法中由第一网络设备执行的步骤。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310731880.5A CN104753789B (zh) | 2013-12-26 | 2013-12-26 | 一种转发报文的方法及系统 |
| US14/567,798 US9525628B2 (en) | 2013-12-26 | 2014-12-11 | Packet forwarding method and system |
| EP14197948.4A EP2890064B1 (en) | 2013-12-26 | 2014-12-15 | Packet forwarding method and system |
| JP2014255960A JP5994190B2 (ja) | 2013-12-26 | 2014-12-18 | パケット転送方法およびシステム |
| KR1020140188297A KR101592459B1 (ko) | 2013-12-26 | 2014-12-24 | 패킷 포워딩 방법 및 시스템 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310731880.5A CN104753789B (zh) | 2013-12-26 | 2013-12-26 | 一种转发报文的方法及系统 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN104753789A CN104753789A (zh) | 2015-07-01 |
| CN104753789B true CN104753789B (zh) | 2018-10-30 |
Family
ID=52146139
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201310731880.5A Active CN104753789B (zh) | 2013-12-26 | 2013-12-26 | 一种转发报文的方法及系统 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US9525628B2 (zh) |
| EP (1) | EP2890064B1 (zh) |
| JP (1) | JP5994190B2 (zh) |
| KR (1) | KR101592459B1 (zh) |
| CN (1) | CN104753789B (zh) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9838315B2 (en) * | 2015-07-29 | 2017-12-05 | Cisco Technology, Inc. | Stretched subnet routing |
| CN107517488B (zh) * | 2016-06-15 | 2020-10-23 | 华为技术有限公司 | 报文处理的方法及设备 |
| CN108075956B (zh) | 2016-11-16 | 2020-05-22 | 新华三技术有限公司 | 一种数据处理方法和装置 |
| CN109286564B (zh) * | 2017-07-20 | 2022-06-07 | 迈普通信技术股份有限公司 | 一种报文转发方法及装置 |
| CN108965135B (zh) * | 2018-05-25 | 2021-05-04 | 西安云维智联科技有限公司 | 一种以太网和光纤通道转换设备的地址自学习方法 |
| CN113098749B (zh) | 2020-01-08 | 2024-10-15 | 华为技术有限公司 | 报文发送方法、装置及存储介质 |
| CN111510516B (zh) * | 2020-04-22 | 2022-11-08 | 上海御渡半导体科技有限公司 | 一种测试机分布式系统网络框架及通信方法 |
| CN111930757B (zh) * | 2020-09-24 | 2021-01-12 | 南京中兴软件有限责任公司 | 数据处理方法、系统、封装节点和解封装节点 |
| CN114666270B (zh) * | 2020-12-23 | 2025-03-14 | 中国移动通信有限公司研究院 | 一种数据传输方法网络设备及系统 |
| US12126528B2 (en) * | 2023-03-24 | 2024-10-22 | Nokia Solutions And Networks Oy | Egress rerouting of packets at a communication device |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20080050188A (ko) * | 2006-12-01 | 2008-06-05 | 한국전자통신연구원 | 포워딩 테이블 제어 장치 및 방법 |
| CN101888343A (zh) * | 2010-07-30 | 2010-11-17 | 深圳市宏电技术股份有限公司 | 一种业务数据的发送方法及系统 |
| CN103139075A (zh) * | 2013-03-13 | 2013-06-05 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
| CN103166858A (zh) * | 2013-03-26 | 2013-06-19 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006108732A (ja) | 2004-09-30 | 2006-04-20 | Matsushita Electric Ind Co Ltd | フレーム転送装置、送受信システム、およびフレーム転送方法 |
| KR100636271B1 (ko) | 2005-01-07 | 2006-10-19 | 삼성전자주식회사 | 네트워크 라우팅 제어 방법 및 장치 |
| WO2007033363A2 (en) | 2005-09-13 | 2007-03-22 | Ist International, Inc. | System and method for providing packet connectivity between heterogeneous networks |
| KR101038811B1 (ko) | 2008-12-12 | 2011-06-03 | 액터스네트웍스 주식회사 | 상호 연결된 브리지 망에서 동적 주소 결합 방법을 이용한 연결형 및 비연결형 프레임 전송 방법 |
| US8532108B2 (en) | 2009-09-30 | 2013-09-10 | Alcatel Lucent | Layer 2 seamless site extension of enterprises in cloud computing |
| KR101093973B1 (ko) | 2010-02-18 | 2011-12-15 | 아주대학교산학협력단 | 다중모드를 지원하는 무선 메쉬 라우터의 패킷처리방법 |
| CA2781060C (en) * | 2010-05-28 | 2016-03-08 | Huawei Technologies Co., Ltd. | Virtual layer 2 and mechanism to make it scalable |
| US8660118B2 (en) | 2010-11-19 | 2014-02-25 | Extreme Networks, Inc. | Methods, systems, and computer readable media for next hop scaling |
| US9054999B2 (en) * | 2012-05-09 | 2015-06-09 | International Business Machines Corporation | Static TRILL routing |
| US8976794B2 (en) | 2011-12-07 | 2015-03-10 | Futurewei Technologies, Inc. | Method to carry FCoE frames over a TRILL based network |
| US8811409B2 (en) | 2012-06-04 | 2014-08-19 | Telefonaktiebolaget L M Ericsson (Publ) | Routing VLAN tagged packets to far end addresses of virtual forwarding instances using separate administrations |
| US10951522B2 (en) * | 2013-11-05 | 2021-03-16 | Cisco Technology, Inc. | IP-based forwarding of bridged and routed IP packets and unicast ARP |
-
2013
- 2013-12-26 CN CN201310731880.5A patent/CN104753789B/zh active Active
-
2014
- 2014-12-11 US US14/567,798 patent/US9525628B2/en active Active
- 2014-12-15 EP EP14197948.4A patent/EP2890064B1/en active Active
- 2014-12-18 JP JP2014255960A patent/JP5994190B2/ja active Active
- 2014-12-24 KR KR1020140188297A patent/KR101592459B1/ko active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20080050188A (ko) * | 2006-12-01 | 2008-06-05 | 한국전자통신연구원 | 포워딩 테이블 제어 장치 및 방법 |
| CN101888343A (zh) * | 2010-07-30 | 2010-11-17 | 深圳市宏电技术股份有限公司 | 一种业务数据的发送方法及系统 |
| CN103139075A (zh) * | 2013-03-13 | 2013-06-05 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
| CN103166858A (zh) * | 2013-03-26 | 2013-06-19 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| US9525628B2 (en) | 2016-12-20 |
| EP2890064B1 (en) | 2017-03-08 |
| KR101592459B1 (ko) | 2016-02-05 |
| JP2015126539A (ja) | 2015-07-06 |
| EP2890064A1 (en) | 2015-07-01 |
| KR20150076118A (ko) | 2015-07-06 |
| JP5994190B2 (ja) | 2016-09-21 |
| CN104753789A (zh) | 2015-07-01 |
| US20150188815A1 (en) | 2015-07-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN104753789B (zh) | 一种转发报文的方法及系统 | |
| JP5551247B2 (ja) | マルチnat64環境のための方法及びホストノード | |
| EP3065358B1 (en) | Method and device for message forwarding | |
| US8898334B2 (en) | System for network deployment and method for mapping and data forwarding thereof | |
| CN105591916B (zh) | 一种报文传输方法及装置 | |
| CN112671641B (zh) | 报文转发方法及装置 | |
| CN104350714A (zh) | 一种报文转发方法和VxLAN网关 | |
| CN104954265B (zh) | 发送组播报文的方法及交换机 | |
| CN103795636A (zh) | 组播处理方法、装置及系统 | |
| WO2014201974A1 (zh) | 业务路由报文处理方法、装置及网络系统 | |
| JP2020520612A (ja) | パケット伝送方法、エッジデバイス及び機械可読記憶媒体 | |
| CN108123873B (zh) | 数据转发路径选择方法及装置、存储介质、服务端 | |
| CN103179228A (zh) | 因特网协议地址解析方法及边缘节点 | |
| CN106254256A (zh) | 基于三层vxlan网关的数据报文转发方法和设备 | |
| CN112491701B (zh) | 转发报文方法和装置 | |
| CN102891803B (zh) | 拥塞处理方法及网络设备 | |
| CN103354520B (zh) | 一种标签处理的方法及装置 | |
| CN104521220A (zh) | 报文处理方法及设备 | |
| CN107920020A (zh) | 报文处理方法和网关 | |
| CN106209554A (zh) | 跨虚拟可扩展局域网的报文转发方法和设备 | |
| CN104426816A (zh) | 一种虚拟机通信方法及装置 | |
| CN106533503A (zh) | 一种电力线网络通信的方法及装置 | |
| US12003417B2 (en) | Communication method and apparatus | |
| CN103460675B (zh) | 集群以及转发方法 | |
| CN107547691B (zh) | 地址解析协议报文代理方法和装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| EXSB | Decision made by sipo to initiate substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |