CN107800625A - 一种报文转发方法及装置 - Google Patents

一种报文转发方法及装置 Download PDF

Info

Publication number
CN107800625A
CN107800625A CN201610762391.XA CN201610762391A CN107800625A CN 107800625 A CN107800625 A CN 107800625A CN 201610762391 A CN201610762391 A CN 201610762391A CN 107800625 A CN107800625 A CN 107800625A
Authority
CN
China
Prior art keywords
message
address
host routes
arp
request message
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.)
Granted
Application number
CN201610762391.XA
Other languages
English (en)
Other versions
CN107800625B (zh
Inventor
陈建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201610762391.XA priority Critical patent/CN107800625B/zh
Publication of CN107800625A publication Critical patent/CN107800625A/zh
Application granted granted Critical
Publication of CN107800625B publication Critical patent/CN107800625B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种报文转发方法及装置,所述方法包括:当接收到第一虚拟机VM发起的对第二VM的地址解析协议ARP请求报文时,代理应答该ARP请求报文,并向路由反射器RR设备发送主机路由请求报文,所述主机路由请求报文中携带有所述第二VM的互联网协议IP地址;当接收到所述RR设备发送的主机路由报文时,根据所述主机路由报文中携带的所述第二VM的IP地址以及第二VM的媒体访问控制MAC地址,在本地维护所述第二VM的ARP表项,并根据该ARP表项转发所述第一VM发送给所述第二VM的报文。应用本发明实施例可以减少EVPN网络中广播报文的数量,并避免GW保存大量不必要的ARP表项。

Description

一种报文转发方法及装置
技术领域
本发明涉及网络通信技术领域,尤其涉及一种报文转发方法及装置。
背景技术
EVPN(Ethernet Virtual Private Network,以太虚拟专用网络)网络通常采用Spine(核心)—Leaf(分支)的分层结构。Leaf层的设备作为VTEP(VXLAN(virtualExtensible Local Area Network,虚拟可扩展局域网)Tunnel End Point,VXLAN隧道终端)设备)对报文进行EVPN相关处理;Spine层为核心设备,根据报文的目的IP地址转发报文。当EVPN网络中的设备属于同一个AS(Autonomous System,自治系统)时,为了避免在所有VTEP设备之间建立IBGP(Internal Border Gateway Protocol,内部边界网关协议)对等体,可以将核心设备配置为RR(Route Reflector,路由反射器)设备,RR设备与各VTEP设备建立BGP(Border Gateway Protocol,边界网关协议)邻居。此时,RR设备需要发布、接收EVPN路由,但不需要封装、解封装VXLAN报文。
现有的EVPN网络中对于三层网络转发主要是ARP(Address ResolutionProtocol,地址解析协议)技术、路由技术和BGP技术的结合。以分布式网关同网段VXLAN互通为例,当某VM(Virtual Machine,虚拟机)需要访问远端VM时,该VM会发起对该远端VM的ARP请求报文,当GW(Gateway,网关)(EVPN网络中即为VTEP设备)接收到VM发送的ARP请求报文时,若GW未查询到对应的ARP表项,则该GW会在网络中将广播该ARP请求报文,由于同一网段的同一VXLAN下可能会有多个Tunnel(隧道),因而,当发起ARP请求的VM较多时,网络中会存在大量的ARP请求广播报文;此外,当GW学习到下挂的VM的ARP表项之后,由于GW会通过BGP协议主动将学习到的ARP表项同步给远端GW,所以远端GW会保存大量的不必要的ARP表项。
发明内容
本发明提供一种报文转发方法及装置,以减少EVPN网络中广播报文的数量,并避免GW保存大量不必要的ARP表项。
根据本发明实施例的第一方面,提供一种报文转发方法,该方法应用于网关GW,所述GW使能地址解析协议ARP代理功能,该方法包括:
当接收到第一虚拟机VM发起的对第二VM的地址解析协议ARP请求报文时,代理应答该ARP请求报文,并向路由反射器RR设备发送主机路由请求报文,所述主机路由请求报文中携带有所述第二VM的互联网协议IP地址;
当接收到所述RR设备发送的主机路由报文时,根据所述主机路由报文中携带的所述第二VM的IP地址以及第二VM的媒体访问控制MAC地址,在本地维护所述第二VM的ARP表项,并根据该ARP表项转发所述第一VM发送给所述第二VM的报文。
根据本发明实施例的第二方面,提供一种报文转发方法,该方法应用于路由反射器RR设备,该方法包括:
当接收到网关GW发送的主机路由请求报文时,根据所述主机路由请求报文中携带的目标互联网协议IP地址查询本地的以太虚拟专用网络EVPN协议表项;所述EVPN协议表项中包括IP地址与媒体访问控制MAC地址的对应关系;
若查询到对应的EVPN协议表项,则向所述GW发送携带有所述目标IP地址以及与所述目标IP地址对应的目标MAC地址的主机路由报文。
根据本发明实施例的第三方面,提供一种报文转发装置,该装置应用于网关GW,所述GW使能地址解析协议ARP代理功能,该装置包括:
接收单元,用于接收第一虚拟机VM发起的对第二VM的地址解析协议ARP请求报文;
应答单元,用于代理应答所述接收单元接收到的所述ARP请求报文;
发送单元,用于向路由反射器RR设备发送主机路由请求报文,所述主机路由请求报文中携带有所述第二VM的互联网协议IP地址;
维护单元,用于当所述接收单元接收到所述RR设备发送的主机路由报文时,根据所述主机路由报文中携带的所述第二VM的IP地址以及第二VM的媒体访问控制MAC地址,在本地维护所述第二VM的ARP表项;
所述发送单元,还用于根据该ARP表项转发所述第一VM发送给所述第二VM的报文。
根据本发明实施例的第四方面,提供一种报文转发装置,该装置应用于路由反射器RR设备,该装置包括:
接收单元,用于接收网关GW发送的主机路由请求报文;
查询单元,用于根据所述主机路由请求报文中携带的目标互联网协议IP地址查询本地的以太虚拟专用网络EVPN协议表项;所述EVPN协议表项中包括IP地址与媒体访问控制MAC地址的对应关系;
发送单元,用于若所述查询单元查询到对应的EVPN协议表项,则向所述GW发送携带有所述目标IP地址以及与所述目标IP地址对应的目标MAC地址的主机路由报文。
应用本发明实施例,通过在接收到第一VM发起的对第二VM的ARP请求报文时,代理应答该ARP请求报文,并向RR设备发送携带第二VM的IP地址的主机路由报文,以使RR设备根据第二VM的IP地址查询第二VM的MAC地址;当接收到RR设备发送的主机路由报文时,根据该主机路由报文中携带的第二VM的IP地址以及第二VM的MAC地址,在本地维护第二VM的ARP表项,并根据该ARP表项转发第一VM发送给第二VM的报文,与现有技术相比,通过向RR设备发送主机路由请求报文替代广播ARP请求报文,减少了网络中广播报文的数量;此外,通过将各GW下挂的VM对应的ARP表项集中保存在RR设备上,由各GW在需要时向RR设备请求,避免了GW保存大量不必要的ARP表项。
附图说明
图1是本发明实施例提供的一种报文转发方法的流程示意图;
图2是本发明实施例提供的一种报文转发方法的流程示意图;
图3是本发明实施例提供的一种具体应用场景的架构示意图;
图4是本发明实施例提供的一种报文转发装置的结构示意图;
图5是本发明实施例提供的另一种报文转发装置的结构示意图;
图6是本发明实施例提供的另一种报文转发装置的结构示意图;
图7是本发明实施例提供的一种报文转发装置的结构示意图;
图8是本发明实施例提供的另一种报文转发装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
请参见图1,为本发明实施例提供的一种报文转发方法的流程示意图,如图1所示,该报文转发方法可以包括以下步骤:
需要说明的是,在本发明实施例中,步骤101~步骤102的执行主体可以为EVPN网络中任一GW或GW的处理器,如CPU(Center Process Unit,中央处理单元),为便于描述,以下以步骤101~步骤102的执行主体为GW为例。
步骤101、当接收到第一VM发起的对第二VM的ARP请求报文时,代理应答该ARP请求报文,并向RR设备发送主机路由请求报文,该主机路由请求报文中携带有第二VM的IP地址。
本发明实施例中,EVPN网络中各GW均使能ARP代理功能,即GW接收到下挂的VM发送的ARP请求报文时,可以以自身的MAC地址代理应答该ARP请求。
本发明实施例中,第一VM并不特指某一固定的VM,而是可以指代EVPN网络中任一GW下挂的VM;同理,第二VM可以指代第一VM之外的任一VM。
本发明实施例中,为了减少GW上保存的ARP表项的数量,避免GW保存大量不必要的ARP表项,可以将各GW下挂的VM对应的ARP信息(包括IP地址与MAC地址的对应关系)集中保存在RR设备,由GW在需要时向RR设备请求。
相应地,在本发明实施例中,当GW接收到第一VM发起的对第二VM的ARP请求报文时,GW一方面可以以自身的MAC地址代理应答该ARP请求报文,另一方面,GW可以向RR设备发送主机路由请求报文,以请求第二VM的MAC地址。
本发明实施例中,为了实现GW接收到ARP请求报文时向RR设备发送主机路由请求报文,可以在各GW上配置BGP EVPN通告ARP请求,即GW接收到ARP请求报文时,不再在网络中对该ARP请求报文进行广播,而是向RR设备发送EVPN主机路由请求报文(本文中简称为主机路由请求报文)。
可选地,在本发明实施例中,可以通过对EVPN BGP二类路由进行扩展的方式实现对ARP请求报文的通告,将EVPN BGP二类路由的NLRI(NLRI:Network Layer ReachabilityInformation,网络层可达信息)中的IP地址用于携带目标IP地址(即第一VM发起的ARP请求报文中的目标IP地址,在该实施例中为第二VM的IP地址),MAC地址设置为全0,生成上述主机路由请求报文。
作为一种可选的实施方式,上述步骤101中,向RR设备发送主机路由请求报文,可以包括:
判断本地是否存在大于等于预设数量阈值的未应答主机路由请求报文;
若不存在,则向RR设备发送主机路由请求报文;
若存在,则当未应答主机路由请求报文的数量小于所述预设数量阈值时,向所述RR设备发送主机路由请求报文。
在该实施方式中,为了避免RR设备需要处理的主机路由请求报文过多,导致RR设备的工作负荷过大,可以预先设定一个数量阈值(可以根据实际场景设定,如100个、50个等,本文中称为预设数量阈值),当GW接收到ARP请求报文时,GW在向RR设备发送主机路由请求报文之前,可以先判断是否存在大于等于预设数量阈值的未应答主机路由请求报文(即GW发送给RR设备,但未接收到应答的主机路由请求报文);若不存在,则GW可以认为当前RR设备有足够的处理能力,因而,可以向RR设备发送主机路由请求报文,以请求相应的MAC地址。
在该实施方式中,当GW确定存在超过预设数量阈值的未应答主机路由请求报文时,GW可以先不向RR设备发送主机路由请求报文,而是等待主机路由请求报文处理空闲后,如未应答主机路由请求报文数量低于预设数量阈值,再向RR设备发送主机路由请求报文。
作为一种可选的实施方式,在本发明实施例中,还可以包括以下步骤:
当学习到自身下挂的目标VM的ARP表项时,向RR设备发送EVPN主机路由报文(简称为主机路由报文),该主机路由报文中携带有目标VM的IP地址与MAC地址,以使RR设备根据接收到的主机路由报文维护对应的EVPN协议表项。
在该实施方式中,为了实现主机路由集中保存在RR设备,GW学习到自身下挂的VM(本文中称为目标VM)的ARP表项时(如目标VM为非静默VM,GW根据目标VM发送的免费ARP报文学习目标VM的ARP表项),GW可以根据该ARP表项向RR设备发送携带有目标VM的IP地址以及MAC地址的主机路由报文;RR设备接收到该主机路由报文后,可以获取其中携带的目标VM的IP地址以及MAC地址,并根据获取到的目标IP地址以及MAC地址维护对应目标VM的EVPN协议表项。
本发明实施例中,RR设备接收到主机路由请求报文之后,会向GW返回主机路由报文,该主机路由报文中携带有第一VM请求的IP地址对应的MAC地址(在该实施例中为第二VM的MAC地址);其中,RR设备向GW返回主机路由报文的具体实现可以参见图2所示方法流程中的相关描述,本发明实施例在此不做赘述。
值得说明的是,在本发明实施例中,RR设备可以根据EVPN BGP二类路由的NLRI中的MAC地址是否为全0来区分接收到的报文为主机路由报文或主机路由请求报文;其中,若为全0,则报文为主机路由请求报文;否则,为主机路由报文。
步骤102、当接收到RR设备发送的主机路由报文时,根据该主机路由报文中携带的第二VM的IP地址以及与第二VM的IP地址对应的MAC地址,在本地维护第二VM的ARP表项,并根据该ARP表项转发第一VM发送给第二VM的报文。
本发明实施例中,GW接收到RR设备发送的主机路由报文时,可以获取该主机路由报文中携带的第二VM的IP地址以及第二VM的MAC地址,根据第二VM的IP地址以及第二VM的MAC地址在本地维护第二VM的ARP表项,并根据该ARP表项转发第一VM发送给第二VM的报文。
可见,在图1所示的方法流程中,GW接收到VM发起的ARP请求报文时,不再在网络中广播该ARP请求报文,而是向RR设备发送主机路由请求报文,从而减少了网络中广播报文的数量。此外,通过将各GW下挂的VM对应的ARP表项集中保存在RR设备上,由各GW在需要时向RR设备请求,避免了GW保存大量不必要的ARP表项。
进一步地,在本发明实施例中,在本地维护第二VM的ARP表项之后,还可以包括:
当在预设时长内未接收到第一VM发送给第二VM的报文时,对第二VM的ARP表项进行老化。
在本发明实施例中,GW根据接收到的主机路由报文在本地维护第二VM的ARP表项之后,可以启动针对第二VM的ARP表项的老化机制,当GW在预设时长内未接收到第一VM发送给第二VM的报文时,GW可以对第二VM的ARP表项进行老化。
例如,GW可以在根据接收到的主机路由报文在本地维护第二VM的ARP表项之后,启动一个对应第二VM的ARP表项的老化定时器,当在老化定时器超时前,接收到第一VM发送给第二VM的报文时,重置该老化定时器;若在老化定时器超时前未接收到第一VM发送给第二VM的报文,则GW可以对该第二VM的ARP表项进行老化。
本发明实施例中,GW对第二VM的ARP表项进行老化之后,还可以向RR设备发送针对第二VM的主机路由撤销报文,进而,RR设备在第二VM的ARP表项发生更新时,不会再向GW发送第二VM更新后的ARP表项。
请参见图2,为本发明实施例提供的一种报文转发方法的流程示意图,如图2所示,该报文转发方法可以包括以下步骤:
需要说明的是,步骤201~步骤202的执行主体可以为EVPN网络中的RR设备或RR设备的处理器,如CPU,为了便于描述,以下以步骤201~步骤202的执行主体为RR设备为例。
步骤201、当接收到GW发送的主机路由请求报文时,根据该主机路由请求报文中携带的目标IP地址查询本地的EVPN协议表项;EVPN协议表项中包括IP地址与MAC地址的对应关系。
本发明实施例中,GW接收到自身下挂的VM发送的ARP请求报文时,GW可以根据该ARP请求报文中携带的目标IP地址向RR设备发送主机路由请求报文,以请求目标IP地址对应的MAC地址(本文中称为目标MAC地址)。
RR设备接收到GW发送的主机路由请求报文时,RR设备可以根据该主机路由报文中携带的目标IP地址查询自身维护的EVPN协议表项(该EVPN协议表项中包括IP地址与MAC地址的对应关系),以确定是否存在与该目标IP地址对应的EVPN协议表项(即记录有目标IP地址与目标MAC地址的对应关系的EVPN协议表项)。
步骤202、若查询到对应的EVPN协议表项,则向GW发送携带有目标IP地址以及与目标IP地址对应的目标MAC地址的主机路由报文。
本发明实施例中,若RR设备根据接收到的主机路由请求报文中携带的目标IP地址查询到对应的EVPN协议表项,则RR设备可以根据该EVPN协议表项中记录的目标IP地址与目标MAC地址的对应关系,向GW返回携带有该目标IP地址以及目标MAC地址的主机路由报文。
GW接收到RR设备发送的主机路由报文时,可以根据该主机路由报文中携带的目标IP地址以及目标MAC地址维护对应的ARP表项,并根据该ARP表项进行报文转发,其具体实现可以参见图1所示方法流程中的相关描述,本发明实施例在此不再赘述。
进一步地,在本发明实施例中,根据接收到的主机路由请求报文中携带的目标IP地址查询本地的EVPN协议表项之后,还可以包括以下步骤:
11)、若根据接收到的主机路由请求报文中携带的目标IP地址未查询到对应的EVPN协议表项,则RR设备可以向除发送该主机路由请求报文的GW之外的其它BGP邻居转发该主机路由请求报文
12)、当接收到BGP邻居发送的主机路由报文时,根据该主机路由报文中携带的目标IP地址以及与该目标IP地址对应的目标MAC地址,维护对应的EVPN协议表项,并向上述GW返回携带有目标IP地址以及与该目标IP地址对应的目标MAC地址的主机路由报文。
具体地,在本发明实施例中,若RR设备根据接收到的主机路由请求报文中携带的目标IP地址未查询到对应的EVPN协议表项,则RR设备可以向除发送该主机路由请求报文的GW之外的其它BGP邻居(即除发送该主机路由请求报文的GW之外的其它GW)转发该主机路由请求报文。
其它BGP邻居接收到RR设备转发的主机路由请求报文后,可以向自身下挂的VM发送ARP请求报文,以请求目标IP地址对应的目标MAC地址;若某BGP邻居接收到自身下挂的VM发送的ARP应答报文(即IP地址为上述目标IP地址的VM为该BGP邻居下挂的VM),则该BGP邻居可以向RR设备返回主机路由报文,该主机路由报文中携带有目标IP地址以及与该目标IP地址对应的目标MAC地址。
RR设备接收到BGP邻居发送的主机路由报文时,可以根据该主机路由报文中携带的目标IP地址以及与目标IP地址对应的目标MAC地址,在本地维护对应的EVPN协议表项(该EVPN协议表项可以记录目标IP地址与目标MAC地址的对应关系),并向GW发送携带有该目标IP地址以及与该目标IP地址对应的目标MAC地址的主机路由报文。
其中,GW接收到RR设备发送的主机路由报文之后的处理流程可以参见图1所示方法流程中的相关描述,本发明实施例在此不再赘述。
进一步地,在本发明实施例中,RR设备向BGP邻居发送主机路由请求报文之后,若接收到其中某一BGP邻居返回的主机路由报文,则RR设备可以向其它BGP邻居发送主机路由撤销报文,以使接收到该主机路由撤销报文的BGP邻居停止向自身下挂的VM发送ARP请求报文。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体的应用场景对本发明实施例提供的技术方案进行描述。
请参见图3,为本发明实施例提供的一种具体应用场景的架构示意图,如图3所示,在该应用场景中,GW1、GW2、GW3处于同一网段同一VLXAN,VM1、VM2和VM3分别为GW1、GW2和GW3下挂的虚拟机,各GW使能ARP代理功能,各GW分别与RR设备建立BGP邻居。
场景一、VM1、VM2和VM3为静默主机,VM1需要访问VM2:
1、VM1发起对VM2的ARP请求报文;
2、GW1接收到该ARP请求报文,一方面以自身的MAC地址代理应答该ARP请求报文,并学习VM1的ARP表项;另一方面,将该ARP请求上送EVPN协议模块;
3、EVPN协议模块判断本地是否存在大于等于预设数量阈值的未应答的主机路由请求报文,若是,转步骤7;否则,向RR设备发送主机路由请求报文,并转步骤4;
可见,在本发明实施例中,通过将数据层面的ARP报文转化为协议层面的主机路由报文,可以实现在协议层面对ARP请求进行抑制,当存在大量未处理的ARP请求(即对应的主机路由请求报文未接收到应答)时,动态减缓ARP请求处理速度,以达到对本地接收到的大量ARP请求的抑制优化。
4、RR设备接收到主机路由请求报文,查找本地EVPN协议表项,若存在对应的EVPN协议表项,则向GW1发送主机路由报文,该主机路由报文中携带VM2的IP地址以及MAC地址,并转步骤5;否则,向GW1之外的其它BGP邻居转发该主机路由请求报文,并转步骤8;
5、GW1接收到RR设备发送的主机路由报文,根据该主机路由报文中携带的VM2的IP地址以及MAC地址维护VM2的ARP表项,并根据该ARP表项对VM1发送给VM2的报文进行转发;
6、VM1停止对VM2的访问,GW1在预设时长内未接收到VM1发送给VM2的报文,对VM2的ARP表项进行老化,同时上报EVPN协议模块,EVPN协议模块向RR设备发送主机路由撤销报文,以请求撤销VM的ARP表项,从而,RR设备不会再向GW1更新VM2的ARP表项,结束;
可见,在本发明实施例中,将各VM的ARP信息以EVPN协议表项的形式集中保存在RR设备中,并当存在访问需求时,由GW按需向RR设备获取,并在本地保存,且在不再有访问需求时,对本地保存的相应的ARP表项进行老化,避免了GW保存大量不必要的ARP表项。
7、当未应答的主机路由请求报文的数量小于预设数量阈值时,向RR设备发送主机路由请求报文,并转步骤4;
8、GW2和GW3接收到RR设备转发的主机路由请求报文时,向本地下挂的VM发送ARP请求报文,请求VM2的MAC地址;其中,GW3下挂的VM不会应答,GW2接收到VM2返回的ARP应答报文之后,向RR设备发送携带VM2的IP地址以及MAC地址的主机路由报文;
9、RR设备接收到GW2发送的主机路由报文之后,根据该主机路由报文中携带的VM2的IP地址以及MAC地址,维护对应的EVPN协议表项,并向GW1发送携带VM2的IP地址以及MAC地址的主机路由报文,向GW2发送针对VM2的主机路由撤销报文;
10、GW3接收到RR设备发送的针对VM2的主机路由撤销报文后,停止向自身下挂的VM发送针对VM2的ARP请求报文。
场景二、VM1、VM2和VM3为非静默主机,即GW1、GW2和GW3可以分别学习到自身下挂的VM(VM1、VM2和VM3)的ARP表项:
1、各GW根据学习到的ARP表项,向RR设备发送主机路由报文,该主机路由报文中携带有自身学习到的IP地址与MAC地址;
2、RR设备根据接收到的主机路由报文维护对应的EVPN协议表项;
3、VM1发起对VM2的访问,发送ARP请求报文;
4、GW1接收到ARP请求报文后,一方面以自身的MAC地址代理应答该ARP请求报文,并学习VM1的ARP表项;另一方面,将该ARP请求上送EVPN协议模块;
5、EVPN协议模块判断本地是否存在大于等于预设数量阈值的未应答的主机路由请求报文,若是,转步骤9;否则,向RR设备发送主机路由请求报文,并转步骤6;
6、RR设备接收到GW1发送的主机路由请求报文,查找本地EVPN协议表项,发现存在VM2对应的EVPN协议表项,则向GW发送携带有VM2的IP地址以及MAC地址的主机路由报文;
7、GW1接收到RR设备发送的主机路由报文,根据该主机路由报文中携带的VM2的IP地址以及MAC地址维护VM2的ARP表项,并根据该ARP表项对VM1发送给VM2的报文进行转发;
8、VM1停止对VM2的访问,GW1在预设时长内未接收到VM1发送给VM2的报文,对VM2的ARP表项进行老化,同时上报EVPN协议模块,EVPN协议模块向RR设备发送主机路由撤销报文从而,RR设备不会再向GW1更新VM2的ARP表项,结束;
9、当未应答的主机路由请求报文的数量小于预设数量阈值时,向RR设备发送主机路由请求报文,并转步骤6。
通过以上描述可以看出,在本发明实施例提供的技术方案中,通过在接收到第一VM发起的对第二VM的ARP请求报文时,代理应答该ARP请求报文,并向RR设备发送携带第二VM的IP地址的主机路由报文,以使RR设备根据第二VM的IP地址查询第二VM的MAC地址;当接收到RR设备发送的主机路由报文时,根据该主机路由报文中携带的第二VM的IP地址以及第二VM的MAC地址,在本地维护第二VM的ARP表项,并根据该ARP表项转发第一VM发送给第二VM的报文,与现有技术相比,通过向RR设备发送主机路由请求报文替代广播ARP请求报文,减少了网络中广播报文的数量;此外,通过将各GW下挂的VM对应的ARP表项集中保存在RR设备上,由各GW在需要时向RR设备请求,避免了GW保存大量不必要的ARP表项。
请参见图4,为本发明实施例提供的一种报文转发装置的结构示意图,其中,所述装置可以应用于上述方法实施例中的GW,如图4所示,该报文转发装置可以包括:
接收单元410,用于接收第一虚拟机VM发起的对第二VM的地址解析协议ARP请求报文;
应答单元420,用于代理应答所述接收单410接收到的所述ARP请求报文;
发送单元430,用于向路由反射器RR设备发送主机路由请求报文,所述主机路由请求报文中携带有所述第二VM的互联网协议IP地址;
维护单元440,用于当所述接收单元410接收到所述RR设备发送的主机路由报文时,根据所述主机路由报文中携带的所述第二VM的IP地址以及第二VM的媒体访问控制MAC地址,在本地维护所述第二VM的ARP表项;
所述发送单元430,还用于根据该ARP表项转发所述第一VM发送给所述第二VM的报文。
请一并参阅图5,为本发明实施例提供的另一种报文转发装置的结构示意图,在图4所示装置实施例的基础上,图5所示报文转发装置中,所述发送单元430,可以包括:
判断子单元431,用于判断本地是否存在大于等于预设数量阈值的未应答主机路由请求报文;
发送子单元432,用于若不存在,则向所述RR设备发送主机路由请求报文;若存在,则当未应答主机路由请求报文的数量小于所述预设数量阈值时,向所述RR设备发送主机路由请求报文。
在可选实施例中,所述维护单元440,还可以用于当所述接收单元410在预设时长内未接收到所述第一VM发送给所述第二VM的报文时,对所述第二VM的ARP表项进行老化。
请一并参阅图6,为本发明实施例提供的另一种报文转发装置的结构示意图,在图4所示装置实施例的基础上,图6所示报文转发装置还可以包括:
学习单元450,用于学习自身下挂的目标VM的ARP表项;
相应地,所述发送单元430,还可以用于向所述RR设备发送主机路由报文,所述主机路由报文携带有所述目标VM的IP地址与MAC地址。
请参见图7,为本发明实施例提供的一种报文转发装置的结构示意图,其中,所述装置可以应用于上述方法实施例中的RR设备,如图7所示,该报文转发装置可以包括:
接收单元710,用于接收网关GW发送的主机路由请求报文;
查询单元720,用于根据所述主机路由请求报文中携带的目标互联网协议IP地址查询本地的以太虚拟专用网络EVPN协议表项;所述EVPN协议表项中包括IP地址与媒体访问控制MAC地址的对应关系;
发送单元730,用于若所述查询单元720查询到对应的EVPN协议表项,则向所述GW发送携带有所述目标IP地址以及与所述目标IP地址对应的目标MAC地址的主机路由报文。
在可选实施例中,所述发送单元730,还可以用于若所述查询单元720未查询到对应的EVPN协议表项,则向除所述GW之外的其它边界网关协议BGP邻居转发所述主机路由请求报文;
相应地,请一并参阅图8,为本发明实施例提供的另一种报文转发装置的结构示意图,在图7所示装置实施例的基础上,图8所示报文转发装置还可以包括:
维护单元740,用于当所述接收单元710接收到BGP邻居发送的主机路由报文时,根据所述主机路由报文中携带的所述目标IP地址以及与所述目标IP地址对应的目标MAC地址,维护对应的EVPN协议表项;
所述发送单元730,还用于向所述GW发送携带有所述目标IP地址以及与所述目标IP地址对应的目标MAC地址的主机路由报文。
在可选实施例中,所述维护单元740,还用于当所述接收单元710接收到GW发送的主机路由报文时,根据所述主机路由报文中携带的VM的IP地址以及MAC地址维护对应的EVPN协议表项。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,通过在接收到第一VM发起的对第二VM的ARP请求报文时,代理应答该ARP请求报文,并向RR设备发送携带第二VM的IP地址的主机路由报文,以使RR设备根据第二VM的IP地址查询第二VM的MAC地址;当接收到RR设备发送的主机路由报文时,根据该主机路由报文中携带的第二VM的IP地址以及第二VM的MAC地址,在本地维护第二VM的ARP表项,并根据该ARP表项转发第一VM发送给第二VM的报文,与现有技术相比,通过向RR设备发送主机路由请求报文替代广播ARP请求报文,减少了网络中广播报文的数量;此外,通过将各GW下挂的VM对应的ARP表项集中保存在RR设备上,由各GW在需要时向RR设备请求,避免了GW保存大量不必要的ARP表项。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (14)

1.一种报文转发方法,其特征在于,该方法应用于网关GW,所述GW使能地址解析协议ARP代理功能,该方法包括:
当接收到第一虚拟机VM发起的对第二VM的地址解析协议ARP请求报文时,代理应答该ARP请求报文,并向路由反射器RR设备发送主机路由请求报文,所述主机路由请求报文中携带有所述第二VM的互联网协议IP地址;
当接收到所述RR设备发送的主机路由报文时,根据所述主机路由报文中携带的所述第二VM的IP地址以及第二VM的媒体访问控制MAC地址,在本地维护所述第二VM的ARP表项,并根据该ARP表项转发所述第一VM发送给所述第二VM的报文。
2.根据权利要求1所述的方法,其特征在于,所述向RR设备发送主机路由请求报文,包括:
判断本地是否存在大于等于预设数量阈值的未应答主机路由请求报文;
若不存在,则向所述RR设备发送主机路由请求报文;
若存在,则当未应答主机路由请求报文的数量小于所述预设数量阈值时,向所述RR设备发送主机路由请求报文。
3.根据权利要求1所述的方法,其特征在于,所述在本地维护所述第二VM的ARP表项之后,还包括:
当在预设时长内未接收到所述第一VM发送给所述第二VM的报文时,对所述第二VM的ARP表项进行老化。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当学习到自身下挂的目标VM的ARP表项时,向所述RR设备发送主机路由报文,所述主机路由报文携带有所述目标VM的IP地址与MAC地址。
5.一种报文转发方法,其特征在于,该方法应用于路由反射器RR设备,该方法包括:
当接收到网关GW发送的主机路由请求报文时,根据所述主机路由请求报文中携带的目标互联网协议IP地址查询本地的以太虚拟专用网络EVPN协议表项;所述EVPN协议表项中包括IP地址与媒体访问控制MAC地址的对应关系;
若查询到对应的EVPN协议表项,则向所述GW发送携带有所述目标IP地址以及与所述目标IP地址对应的目标MAC地址的主机路由报文。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若未查询到对应的EVPN协议表项,则向除所述GW之外的其它边界网关协议BGP邻居转发所述主机路由请求报文;
当接收到BGP邻居发送的主机路由报文时,根据所述主机路由报文中携带的所述目标IP地址以及与所述目标IP地址对应的目标MAC地址,维护对应的EVPN协议表项,并向所述GW发送携带有所述目标IP地址以及与所述目标IP地址对应的目标MAC地址的主机路由报文。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当接收到GW发送的主机路由报文时,根据所述主机路由报文中携带的VM的IP地址以及MAC地址维护对应的EVPN协议表项。
8.一种报文转发装置,其特征在于,该装置应用于网关GW,所述GW使能地址解析协议ARP代理功能,该装置包括:
接收单元,用于接收第一虚拟机VM发起的对第二VM的地址解析协议ARP请求报文;
应答单元,用于代理应答所述接收单元接收到的所述ARP请求报文;
发送单元,用于向路由反射器RR设备发送主机路由请求报文,所述主机路由请求报文中携带有所述第二VM的互联网协议IP地址;
维护单元,用于当所述接收单元接收到所述RR设备发送的主机路由报文时,根据所述主机路由报文中携带的所述第二VM的IP地址以及第二VM的媒体访问控制MAC地址,在本地维护所述第二VM的ARP表项;
所述发送单元,还用于根据该ARP表项转发所述第一VM发送给所述第二VM的报文。
9.根据权利要求8所述的装置,其特征在于,所述发送单元,包括:
判断子单元,用于判断本地是否存在大于等于预设数量阈值的未应答主机路由请求报文;
发送子单元,用于若不存在,则向所述RR设备发送主机路由请求报文;若存在,则当未应答主机路由请求报文的数量小于所述预设数量阈值时,向所述RR设备发送主机路由请求报文。
10.根据权利要求8所述的装置,其特征在于,
所述维护单元,还用于当所述接收单元在预设时长内未接收到所述第一VM发送给所述第二VM的报文时,对所述第二VM的ARP表项进行老化。
11.根据权利要求8所述的装置,其特征在于,所述装置还包括:
学习单元,用于学习自身下挂的目标VM的ARP表项;
所述发送单元,还用于向所述RR设备发送主机路由报文,所述主机路由报文携带有所述目标VM的IP地址与MAC地址。
12.一种报文转发装置,其特征在于,该装置应用于路由反射器RR设备,该装置包括:
接收单元,用于接收网关GW发送的主机路由请求报文;
查询单元,用于根据所述主机路由请求报文中携带的目标互联网协议IP地址查询本地的以太虚拟专用网络EVPN协议表项;所述EVPN协议表项中包括IP地址与媒体访问控制MAC地址的对应关系;
发送单元,用于若所述查询单元查询到对应的EVPN协议表项,则向所述GW发送携带有所述目标IP地址以及与所述目标IP地址对应的目标MAC地址的主机路由报文。
13.根据权利要求12所述的装置,其特征在于,
所述发送单元,还用于若所述查询单元未查询到对应的EVPN协议表项,则向除所述GW之外的其它边界网关协议BGP邻居转发所述主机路由请求报文;
所述装置还包括:
维护单元,用于当所述接收单元接收到BGP邻居发送的主机路由报文时,根据所述主机路由报文中携带的所述目标IP地址以及与所述目标IP地址对应的目标MAC地址,维护对应的EVPN协议表项;
所述发送单元,还用于向所述GW发送携带有所述目标IP地址以及与所述目标IP地址对应的目标MAC地址的主机路由报文。
14.根据权利要求13所述的装置,其特征在于,
所述维护单元,还用于当所述接收单元接收到GW发送的主机路由报文时,根据所述主机路由报文中携带的VM的IP地址以及MAC地址维护对应的EVPN协议表项。
CN201610762391.XA 2016-08-30 2016-08-30 一种报文转发方法及装置 Active CN107800625B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610762391.XA CN107800625B (zh) 2016-08-30 2016-08-30 一种报文转发方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610762391.XA CN107800625B (zh) 2016-08-30 2016-08-30 一种报文转发方法及装置

Publications (2)

Publication Number Publication Date
CN107800625A true CN107800625A (zh) 2018-03-13
CN107800625B CN107800625B (zh) 2020-07-07

Family

ID=61529201

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610762391.XA Active CN107800625B (zh) 2016-08-30 2016-08-30 一种报文转发方法及装置

Country Status (1)

Country Link
CN (1) CN107800625B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109151094A (zh) * 2018-11-01 2019-01-04 郑州云海信息技术有限公司 一种不同子网间报文的转发方法、装置和计算机设备
CN109462609A (zh) * 2018-12-24 2019-03-12 新华三技术有限公司 一种arp抑制表项生成方法和装置
CN110505152A (zh) * 2019-09-11 2019-11-26 迈普通信技术股份有限公司 路由过滤方法、装置及电子设备
CN111327530A (zh) * 2018-12-14 2020-06-23 北京金山云网络技术有限公司 数据发送方法、装置、网络系统及交换机
CN112532501A (zh) * 2019-09-18 2021-03-19 中国电信股份有限公司 主机物理地址处理方法和装置、计算机可读存储介质
CN112840625A (zh) * 2018-08-23 2021-05-25 阿尔库斯有限公司 网络计算环境中的第一跳迁网关冗余
CN112866119A (zh) * 2020-12-30 2021-05-28 迈普通信技术股份有限公司 虚拟可扩展局域网通信方法、装置、电子设备及存储介质
CN113472912A (zh) * 2021-06-10 2021-10-01 中国联合网络通信集团有限公司 一种arp缓存表项的更新方法、vtep、vm及装置
CN113542441A (zh) * 2020-04-20 2021-10-22 亚信科技(中国)有限公司 一种通信处理方法及装置
CN113595893A (zh) * 2021-07-20 2021-11-02 锐捷网络股份有限公司 一种路由接收系统、路由接收方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101026591A (zh) * 2007-04-13 2007-08-29 杭州华为三康技术有限公司 一种网段地址重叠的用户互访方法及路由转发设备
CN102685149A (zh) * 2012-05-04 2012-09-19 北京航空航天大学 一种基于IEEE1394与UPnP技术的远程控制和访问方法及装置
US8752129B1 (en) * 2004-10-12 2014-06-10 Alex I. Alten Systems and methods for a self-defending wireless computer network
CN104811382A (zh) * 2014-01-28 2015-07-29 华为技术有限公司 数据包的处理方法与装置
CN104935516A (zh) * 2015-06-17 2015-09-23 武汉邮电科学研究院 基于软件定义网络的通信系统及方法
CN105791463A (zh) * 2013-12-31 2016-07-20 华为技术有限公司 一种实现虚拟机通信的方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8752129B1 (en) * 2004-10-12 2014-06-10 Alex I. Alten Systems and methods for a self-defending wireless computer network
CN101026591A (zh) * 2007-04-13 2007-08-29 杭州华为三康技术有限公司 一种网段地址重叠的用户互访方法及路由转发设备
CN102685149A (zh) * 2012-05-04 2012-09-19 北京航空航天大学 一种基于IEEE1394与UPnP技术的远程控制和访问方法及装置
CN105791463A (zh) * 2013-12-31 2016-07-20 华为技术有限公司 一种实现虚拟机通信的方法和装置
CN104811382A (zh) * 2014-01-28 2015-07-29 华为技术有限公司 数据包的处理方法与装置
CN104935516A (zh) * 2015-06-17 2015-09-23 武汉邮电科学研究院 基于软件定义网络的通信系统及方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112840625A (zh) * 2018-08-23 2021-05-25 阿尔库斯有限公司 网络计算环境中的第一跳迁网关冗余
CN112840625B (zh) * 2018-08-23 2024-02-20 阿尔库斯有限公司 网络计算环境中的第一跳迁网关冗余
CN109151094A (zh) * 2018-11-01 2019-01-04 郑州云海信息技术有限公司 一种不同子网间报文的转发方法、装置和计算机设备
CN111327530A (zh) * 2018-12-14 2020-06-23 北京金山云网络技术有限公司 数据发送方法、装置、网络系统及交换机
CN111327530B (zh) * 2018-12-14 2022-02-25 北京金山云网络技术有限公司 数据发送方法、装置、网络系统及交换机
CN109462609A (zh) * 2018-12-24 2019-03-12 新华三技术有限公司 一种arp抑制表项生成方法和装置
CN110505152B (zh) * 2019-09-11 2022-02-22 迈普通信技术股份有限公司 路由过滤方法、装置及电子设备
CN110505152A (zh) * 2019-09-11 2019-11-26 迈普通信技术股份有限公司 路由过滤方法、装置及电子设备
CN112532501A (zh) * 2019-09-18 2021-03-19 中国电信股份有限公司 主机物理地址处理方法和装置、计算机可读存储介质
CN112532501B (zh) * 2019-09-18 2023-04-18 中国电信股份有限公司 主机物理地址处理方法和装置、计算机可读存储介质
CN113542441A (zh) * 2020-04-20 2021-10-22 亚信科技(中国)有限公司 一种通信处理方法及装置
CN113542441B (zh) * 2020-04-20 2023-02-17 亚信科技(中国)有限公司 一种通信处理方法及装置
CN112866119A (zh) * 2020-12-30 2021-05-28 迈普通信技术股份有限公司 虚拟可扩展局域网通信方法、装置、电子设备及存储介质
CN113472912B (zh) * 2021-06-10 2022-08-26 中国联合网络通信集团有限公司 一种arp缓存表项的更新方法、vtep、vm及装置
CN113472912A (zh) * 2021-06-10 2021-10-01 中国联合网络通信集团有限公司 一种arp缓存表项的更新方法、vtep、vm及装置
CN113595893A (zh) * 2021-07-20 2021-11-02 锐捷网络股份有限公司 一种路由接收系统、路由接收方法、装置、设备及介质
CN113595893B (zh) * 2021-07-20 2024-05-14 锐捷网络股份有限公司 一种路由接收系统、路由接收方法、装置、设备及介质

Also Published As

Publication number Publication date
CN107800625B (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
CN107800625A (zh) 一种报文转发方法及装置
JP7004405B2 (ja) 仮想ネットワークにおける分散型フロー状態p2p設定のためのシステムおよび方法
US11070447B2 (en) System and method for implementing and managing virtual networks
CN105791457B (zh) 一种数据处理方法及装置
CN105763440B (zh) 一种报文转发的方法和装置
CN105264493A (zh) 信息中心网络上的动态虚拟机迁移
KR20130060291A (ko) 컴퓨터 시스템 및 컴퓨터 시스템에 있어서의 통신 방법
CN106209643A (zh) 报文转发方法及装置
EP3432550A1 (en) Acceleration proxy device, acceleration proxy method and content management system
US11012412B2 (en) Method and system for network traffic steering towards a service device
CN101808107B (zh) 一种存储设备与用户二层互通的方法、装置及系统
CN105591907A (zh) 一种路由获取方法和装置
CN106688209A (zh) 用于传输广播数据的方法和系统
EP3493488A1 (en) Processing of data stream
CN110752989A (zh) 一种东西向流量转发方法与装置
US20170070473A1 (en) A switching fabric including a virtual switch
US20220345519A1 (en) PFCP Session Load Balancer
EP3188416B1 (en) Media access control address and internet protocol address binding proxy advertisement for network devices of a network
JP2024517716A (ja) セルラーデータパケットのルーティングの為のipネットワークの改善された使用
EP4012976A1 (en) Layer-two tunnel switching method, system, and apparatus
CN106888166B (zh) 一种报文转发方法和装置
EP4283947A1 (en) Method to build a service function chain in an overlay network
US20220345986A1 (en) Selective Importing of UE Addresses to VRF in 5g Networks
CN105577542B (zh) 一种基于trill网络的报文转发方法及路由桥
JP2016149701A (ja) ネットワークシステムおよびパケット転送方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant