报文发送方法和网络设备与流程

文档序号:11970766阅读:343来源:国知局
报文发送方法和网络设备与流程
本发明涉及通信技术,尤其涉及一种报文发送方法和网络设备。

背景技术:
现有技术中,在转发报文时,二层转发根据媒体接入控制(MediaAccessControl;以下简称:MAC)地址精确匹配指导转发,在以太网(Ethernet)中进行报文转发时,如果没有匹配的MAC表项,则使用未知单播泛洪(Flooding)的方式将报文转发到所有接口,以达到将报文发送到目的地的最终效果。以太网虚拟专用网络(EthernetVirtualPrivateNetwork;以下简称:EVPN)的基本思路是通过扩展边界网关协议(BorderGatewayProtocol;以下简称:BGP)协议,在控制层面学习MAC地址,从而实现二层VPN(LayertwoVPN;以下简称:L2VPN)的功能;在控制层面学习MAC地址,会天然解决数据层面进行MAC地址学习而导致的用户边缘(CustomerEdge;以下简称:CE)设备多归属实现困难、未知单播Flooding和地址解析协议(AddressResolutionProtocol;以下简称:ARP)广播风暴等问题。但是,随着云计算发展,数据中心规模不断扩大,而EVPN在控制层面学习MAC地址的方式,要求每个运营商网络边缘(ProviderEdge;以下简称:PE)设备都存储所连接的所有VPN站点的MAC地址表,这对PE设备容量和性能的要求非常高。而如果考虑容量限制,在网络设备(例如:PE设备)上不存储完整的MAC地址表,则在转发报文时,如果MAC地址表中没有与该报文的目的MAC地址匹配的MAC表项,则可以在所有接口泛洪上述报文,但这会增加不必要的网络流量。

技术实现要素:
本发明提供一种报文发送方法和网络设备,以实现减小网络设备对MAC地址容量的需求,节约网络流量。本发明一方面提供一种报文发送方法,包括:网络设备接收第一数据报文;如果在所述网络设备的媒体接入控制MAC地址表中未查找到与所述第一数据报文的目的MAC地址匹配的MAC表项,则所述网络设备根据所述MAC地址表的MAC缺省表项中的转发行为发送所述第一数据报文。本发明另一方面提供一种网络设备,包括:接收模块,用于接收第一数据报文;确定模块,用于确定在所述网络设备的媒体接入控制MAC地址表中未查找到与所述第一数据报文的目的MAC地址匹配的MAC表项;发送模块,用于根据所述MAC地址表的MAC缺省表项中的转发行为发送所述第一数据报文。本发明一方面的技术效果是:接收到第一数据报文之后,如果在网络设备的MAC地址表中未查找到与第一数据报文的目的MAC地址匹配的MAC表项,则该网络设备根据上述MAC地址表的MAC缺省表项中的转发行为发送第一数据报文。本发明中,在未查找到与第一数据报文的目的MAC地址匹配的MAC表项时,网络设备不需在所有接口泛洪上述第一数据报文,而是直接根据自身MAC地址表中的MAC缺省表项发送第一数据报文,从而可以减小网络设备对MAC地址容量的需求,并且不会增加不必要的网络流量。本发明另一方面的技术效果是:接收模块接收到第一数据报文之后,当确定模块确定在网络设备的MAC地址表中未查找到与第一数据报文的目的MAC地址匹配的MAC表项时,发送模块根据上述MAC地址表的MAC缺省表项中的转发行为发送第一数据报文。本发明中,在未查找到与第一数据报文的目的MAC地址匹配的MAC表项时,网络设备不需在所有接口泛洪上述第一数据报文,而是直接根据自身MAC地址表中的MAC缺省表项发送第一数据报文,从而可以减小网络设备对MAC地址容量的需求,并且不会增加不必要的网络流量。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明报文发送方法一个实施例的流程图;图2为本发明报文发送方法另一个实施例的流程图;图3为本发明报文发送方法再一个实施例的流程图;图4为本发明网络设备一个实施例的结构示意图;图5为本发明网络设备另一个实施例的结构示意图;图6为本发明网络设备再一个实施例的结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明报文发送方法一个实施例的流程图,如图1所示,该报文发送方法可以包括:步骤101,网络设备接收第一数据报文。步骤102,如果在网络设备的MAC地址表中未查找到与第一数据报文的目的MAC地址匹配的MAC表项,则网络设备根据MAC地址表的MAC缺省表项中的转发行为发送上述第一数据报文。本实施例中,MAC缺省表项用于指示在MAC地址表中未查找到与上述网络设备接收的数据报文的目的MAC地址匹配的MAC表项时的转发行为;该MAC缺省表项中的MAC地址为缺省MAC地址,上述缺省MAC地址各个位的值全为0。MAC缺省表项用于指明网络设备接收的数据报文的目的MAC地址不在自身的MAC地址表中时的转发路径,是一种特殊的转发路径。简单地说,MAC缺省表项就是在网络设备在没有找到与上述目的MAC地址匹配的MAC表项时所使用的MAC表项。在MAC地址表中,MAC缺省表项中的MAC地址为缺省MAC地址,缺省MAC地址以全0的形式出现。本实施例的一种实现方式中,上述网络设备可以为PE设备;本实现方式中,步骤101之前,首先,PE设备可以接收路由反射器(RouteReflector;以下简称:RR)发送的更新消息,该RR发送的更新消息携带网络层可达信息(NetworkLayerReachabilityInformation;以下简称:NLRI)、下一跳地址和路由目标(RouteTarget;以下简称:RT)属性,其中上述NLRI包括缺省MAC地址,下一跳地址为RR的地址,RT属性用于标识上述缺省MAC地址所属的VPN;举例来说,上述缺省MAC地址可以包含在NLRI的MAC地址(MACAddress)字段中。然后,PE设备可以根据上述下一跳地址确定PE设备与RR之间的隧道,并根据上述NLRI和上述下一跳地址生成上述RT属性所标识的VPN的MAC缺省表项,该VPN的MAC缺省表项中的转发行为包括将上述PE设备接收的数据报文通过该PE设备与RR之间的隧道发送给RR;举例来说,在PE设备和RR之间建立隧道之后,PE设备根据下一跳地址可以查找到下一跳的转发路径(即路由迭代),进而可以查找到该PE设备与RR之间的隧道,从而可以确定该PE设备与RR之间的隧道。在根据下一跳地址确定PE设备与RR之间的隧道之后,PE设备可以根据上述NLRI和上述下一跳地址生成上述RT属性所标识VPN的MAC缺省表项,该VPN的缺省表项中的MAC地址为缺省MAC地址,该VPN的缺省表项中的转发行为为将PE设备接收的该VPN的数据报文通过该PE与RR之间的隧道发送给RR。最后,PE设备将上述VPN的MAC缺省表项存储到该PE设备的MAC地址表中。举例来说,在存储上述VPN的MAC缺省表项时,PE设备可以将上述VPN的MAC缺省表项存储到PE设备的MAC地址表的固定的特殊位置,例如:MAC地址表的首位或最末位。本实现方式中,步骤102可以为:PE设备将第一数据报文通过该PE设备与RR之间的隧道发送给RR,以便RR在该RR的MAC地址表中查找到与第一数据报文的目的MAC地址匹配的第一MAC表项之后,根据该第一MAC表项将第一数据报文发送给上述目的MAC地址所在的VPN站点所接入的PE设备。本实施例的另一种实现方式中,上述网络设备可以为第一交换设备;本实现方式中,步骤101之前,第一交换设备还可以在第一交换设备的MAC地址表中配置MAC缺省表项,该MAC缺省表项中的转发行为包括将第一交换设备接收的数据报文发送给上述第一交换设备的上层交换设备,该MAC缺省表项中的MAC地址为缺省MAC地址。在分层结构组网中,通常将容量和性能较低的交换设备置于下层,容量和性能较高的交换设备置于上层,本发明中将置于下层的交换设备称为下层交换设备,将置于上层的交换设备称为上层交换设备;一个上层交换设备可以与多个下层交换设备连接,共同完成大容量用户接入和高性能转发的功能。本实现方式中,步骤102可以为:第一交换设备根据上述MAC缺省表项中的转发行为将第一数据报文发送给上述第一交换设备的上层交换设备。上述实施例中,接收到第一数据报文之后,如果在网络设备的MAC地址表中未查找到与第一数据报文的目的MAC地址匹配的MAC表项,则该网络设备根据上述MAC地址表的MAC缺省表项中的转发行为发送第一数据报文。上述实施例中,在未查找到与第一数据报文的目的MAC地址匹配的MAC表项时,网络设备不需在所有接口泛洪上述第一数据报文,而是直接根据自身MAC地址表中的MAC缺省表项发送第一数据报文,从而可以减小网络设备对MAC地址容量的需求,并且不会增加不必要的网络流量。本发明图1所示实施例提供的方法中,网络设备的MAC地址表中存储MAC缺省表项。当数据报文到达上述网络设备时,如果网络设备在自身的MAC地址表中没有查找到与上述数据报文的目的MAC地址匹配的MAC表项,则该网络设备不是按以太网通常的转发原则在所有接口泛洪,而是根据MAC缺省表项中的转发行为发送上述数据报文。本发明极大地节省了网络设备对MAC地址容量的需求,并且不会增加不必要的网络流量,另外,还可以提高不同硬件能力的网络设备的组网灵活性。图2为本发明报文发送方法另一个实施例的流程图,如图2所示,该报文发送方法可以包括:步骤201,PE设备接收RR发送BGP更新消息,该BGP更新消息携带NLRI、下一跳地址和RT属性。其中,上述NLRI包括缺省MAC地址,即各个位全为0的MAC地址;举例来说,上述缺省MAC地址可以包含在NLRI的MAC地址(MACAddress)字段中;上述下一跳地址为RR的地址,例如:RR的因特网协议(InternetProtocol;以下简称:IP)地址;上述RT属性用于标识上述缺省MAC地址所属的VPN。步骤202,PE设备根据下一跳地址确定该PE设备与RR之间的隧道。举例来说,在PE设备和RR之间建立隧道之后,PE设备根据下一跳地址可以查找到下一跳的转发路径(即路由迭代),进而可以查找到该PE设备与RR之间的隧道,从而可以确定该PE设备与RR之间的隧道。步骤203,PE设备根据上述NLRI和上述下一跳地址生成上述RT属性所标识VPN的MAC缺省表项,该VPN的MAC缺省表项中的转发行为包括将上述PE设备接收的数据报文通过该PE设备与RR之间的隧道发送给RR。举例来说,在根据下一跳地址确定PE设备与RR之间的隧道之后,PE设备可以根据上述NLRI和上述下一跳地址生成上述RT属性所标识VPN的MAC缺省表项,该VPN的缺省表项中的MAC地址为缺省MAC地址,该VPN的缺省表项中的转发行为为将PE设备接收的该VPN的数据报文通过该PE与RR之间的隧道发送给RR。本实施例中,该VPN的MAC缺省表项用于指示在MAC地址表中未查找到与上述网络设备接收的该VPN的数据报文的目的MAC地址匹配的MAC表项时的转发行为;该VPN的MAC缺省表项中的MAC地址包括缺省MAC地址,上述缺省MAC地址各个位的值全为0,即缺省MAC地址以全0的形式出现。上述VPN的MAC缺省表项用于指明网络设备接收的该VPN的数据报文的目的MAC地址不在自身的MAC地址表中时的转发路径,是一种特殊的转发路径。简单地说,上述VPN的MAC缺省表项就是在网络设备在没有找到与上述目的MAC地址匹配的MAC表项时所使用的MAC表项。步骤204,PE设备将上述VPN的MAC缺省表项存储到该PE设备的MAC地址表中。举例来说,在存储上述VPN的MAC缺省表项时,PE设备可以将上述VPN的MAC缺省表项存储到PE设备的MAC地址表的固定的特殊位置,例如:MAC地址表的首位或最末位。步骤205,PE设备接收上述VPN的第一数据报文。步骤206,如果PE设备确定在自身的MAC地址表中未查找到与第一数据报文的目的MAC地址匹配的MAC表项,并且确定在上述MAC地址表中查找到上述VPN的MAC缺省表项,则该PE设备根据上述VPN的MAC缺省表项中的转发行为将第一数据报文通过该PE设备与RR之间的隧道发送给RR。步骤207,RR在该RR的MAC地址表中查找到与第一数据报文的目的MAC地址匹配的第一MAC表项之后,根据该第一MAC表项将第一数据报文发送给上述目的MAC地址所在的VPN站点所接入的PE设备。本实施例中,在PE设备通过控制层面或数据层面学习到第一数据报文的目的MAC地址之后,发送到该目的MAC地址的后续的数据报文在该PE设备的MAC地址表中,将能够直接查找到与上述目的MAC地址匹配的MAC表项,这样PE设备就可以根据与上述目的MAC地址匹配的MAC表项转发后续的数据报文,而不需再使用MAC缺省表项。上述实施例中,在未查找到与第一数据报文的目的MAC地址匹配的MAC表项时,PE设备不需在所有接口泛洪上述第一数据报文,而是直接根据自身MAC地址表中的MAC缺省表项发送第一数据报文,从而可以减小PE设备对MAC地址容量的需求,并且不会增加不必要的网络流量。图3为本发明报文发送方法再一个实施例的流程图,本实施例对数据层面学习MAC地址的组网方案中的报文发送方法进行介绍。如图3所示,该报文发送方法可以包括:步骤301,在下层交换设备的MAC地址表中配置MAC缺省表项。具体地,在分层结构组网中,通常将容量和性能较低的交换设备置于下层,容量和性能较高的交换设备置于上层,本发明中将置于下层的交换设备称为下层交换设备,将置于上层的交换设备称为上层交换设备;一个上层交换设备可以与多个下层交换设备连接,共同完成大容量用户接入和高性能转发的功能。由于下层交换设备的性能和容量较低,在本实施例中,可以配置下层交换设备不学习所有的MAC地址,而是在该下层交换设备的MAC地址表中配置MAC缺省表项,该MAC缺省表项中的转发行为包括将下层交换设备接收的数据报文发送给该下层交换设备连接的上层交换设备,该MAC缺省表项中的MAC地址为缺省MAC地址。步骤302,下层交换设备接收数据报文。步骤303,如果下层交换设备确定在自身的MAC地址表中未查找到与上述数据报文的目的MAC地址匹配的MAC表项,并且确定在上述MAC地址表中查找到MAC缺省表项,则下层交换设备根据上述MAC缺省表项中的转发行为,将上述数据报文发送给该下层交换设备连接的上层交换设备。步骤304,上层交换设备根据该上层交换设备的MAC地址表转发上述数据报文。上述实施例中,在未查找到与数据报文的目的MAC地址匹配的MAC表项时,下层交换设备不需在所有接口泛洪上述数据报文,而是直接根据自身MAC地址表中的MAC缺省表项发送上述数据报文,从而可以减小下层交换设备对MAC地址容量的需求,并且不会增加不必要的网络流量。本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。图4为本发明网络设备一个实施例的结构示意图,本实施例中的网络设备可以实现本发明图1所示实施例的流程,如图4所示,该网络设备可以包括:接收模块41、确定模块42和发送模块43;接收模块41,用于接收第一数据报文;确定模块42,用于确定在该网络设备的MAC地址表中未查找到与第一数据报文的目的MAC地址匹配的MAC表项;发送模块43,用于根据上述MAC地址表的MAC缺省表项中的转发行为发送上述第一数据报文。本实施例中,MAC缺省表项用于指示在MAC地址表中未查找到与上述网络设备接收的数据报文的目的MAC地址匹配的MAC表项时的转发行为;该MAC缺省表项中的MAC地址包括缺省MAC地址,上述缺省MAC地址各个位的值全为0。MAC缺省表项用于指明网络设备接收的数据报文的目的MAC地址不在自身的MAC地址表中时的转发路径,是一种特殊的转发路径。简单地说,MAC缺省表项就是在网络设备在没有找到与上述目的MAC地址匹配的MAC表项时所使用的MAC表项。在MAC地址表中,MAC缺省表项中的MAC地址为缺省MAC地址,缺省MAC地址以全0的形式出现。本实施例中,网络设备可以为交换设备或PE设备等根据MAC地址表发送报文的网络设备,本发明对网络设备的具体形式不作限定。上述网络设备中,接收模块41接收到第一数据报文之后,当确定模块42确定在网络设备的MAC地址表中未查找到与第一数据报文的目的MAC地址匹配的MAC表项时,发送模块43根据上述MAC地址表的MAC缺省表项中的转发行为发送第一数据报文。本实施例中,在未查找到与第一数据报文的目的MAC地址匹配的MAC表项时,网络设备不需在所有接口泛洪上述第一数据报文,而是直接根据自身MAC地址表中的MAC缺省表项发送第一数据报文,从而可以减小网络设备对MAC地址容量的需求,并且不会增加不必要的网络流量。图5为本发明网络设备另一个实施例的结构示意图,本实施例中的网络设备可以为PE设备,与图4所示的网络设备相比,不同之处在于,图5所示的网络设备还可以包括:生成模块44和存储模块45;本实施例中,接收模块41,还用于接收RR发送的更新消息,该RR发送的更新消息携带NLRI、下一跳地址和RT属性,该NLRI包括缺省MAC地址,上述下一跳地址为RR的地址,上述RT属性用于标识上述缺省MAC地址所属的VPN;确定模块42,还用于根据上述下一跳地址确定上述网络设备与RR之间的隧道;生成模块44,用于根据上述NLRI和上述下一跳地址生成上述RT属性所标识VPN的MAC缺省表项,该VPN的MAC缺省表项中的转发行为包括将上述网络设备接收的数据报文通过该网络设备与RR之间的隧道发送给上述RR;存储模块45,用于将上述VPN的MAC缺省表项存储到该网络设备的MAC地址表中;举例来说,在存储上述VPN的MAC缺省表项时,存储模块45可以将上述VPN的MAC缺省表项存储到上述网络设备的MAC地址表的固定的特殊位置,例如:MAC地址表的首位或最末位。举例来说,发送模块43可以将上述第一数据报文通过该网络设备与RR之间的隧道发送给RR,以便该RR在上述RR的MAC地址表中查找到与上述第一数据报文的目的MAC地址匹配的第一MAC表项之后,根据该第一MAC表项将第一数据报文发送给上述目的MAC地址所在的VPN站点所接入的PE设备。上述实施例中,在未查找到与第一数据报文的目的MAC地址匹配的MAC表项时,网络设备不需在所有接口泛洪上述第一数据报文,而是直接根据自身MAC地址表中的MAC缺省表项发送第一数据报文,从而可以减小网络设备对MAC地址容量的需求,并且不会增加不必要的网络流量。图6为本发明网络设备再一个实施例的结构示意图,本实施例中的网络设备可以为交换设备,与图4所示的网络设备相比,不同之处在于,图6所示的网络设备还可以包括:配置模块46;配置模块46,用于在上述网络设备的MAC地址表中配置MAC缺省表项,该MAC缺省表项中的转发行为包括将上述网络设备接收的数据报文发送给该网络设备连接的上层交换设备,该MAC缺省表项中的MAC地址为缺省MAC地址。本实施例中,具体地,发送模块43可以根据上述MAC缺省表项中的转发行为将第一数据报文发送给该网络设备连接的上层交换设备。本实施例中,在未查找到与第一数据报文的目的MAC地址匹配的MAC表项时,网络设备不需在所有接口泛洪上述第一数据报文,而是直接根据自身MAC地址表中的MAC缺省表项发送第一数据报文,从而可以减小网络设备对MAC地址容量的需求,并且不会增加不必要的网络流量。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1