CN113726632B - 一种报文转发方法及设备 - Google Patents
一种报文转发方法及设备 Download PDFInfo
- Publication number
- CN113726632B CN113726632B CN202110877495.6A CN202110877495A CN113726632B CN 113726632 B CN113726632 B CN 113726632B CN 202110877495 A CN202110877495 A CN 202110877495A CN 113726632 B CN113726632 B CN 113726632B
- Authority
- CN
- China
- Prior art keywords
- hardware
- arp
- vxlan
- mac address
- software
- 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
Images
Classifications
-
- 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/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
-
- 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/32—Flooding
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
本申请提供一种报文转发方法及设备。该方法包括:为接收的ARP请求报文所属VXLAN的硬件MAC地址表学习硬件MAC地址表项;为ARP请求报文所属的VXLAN的软件地址解析协议ARP表学习软件ARP表项;基于VXLAN的网关MAC地址生成ARP代答响应报文;生成同步ARP请求报文的发送端IP地址的第一BGP EVPN路由;将软件ARP表项同步为VXLAN的硬件ARP表的硬件ARP表项;根据学习的硬件MAC地址表项的出端口发送ARP代答响应报文;向VXLAN关联的三层虚拟局域专用网VPN实例内每个对端VTEP发送生成的BGP EVPN路由。
Description
技术领域
本申请涉及通信技术,特别涉及以太网虚拟转网络技术,具体的讲是一种报文转发方法及设备。
背景技术
EVPN(Ethernet Virtual Private Network,以太网虚拟专用网络)是一种基于Overlay技术的二层网络互联技术。EVPN采用MP-BGP协议通告MAC/IP的可达性和组播等信息。EVPN定义了一套通用的控制层(control plane),数据层(data plane)可以使用不同的封装技术。EVPN VXLAN网络中,控制层采用EVPN技术,数据层采用VXLAN(Virtual ExtendedLocal Area Network,虚拟可扩展局域网)封装技术。
在EVPN VXLAN网络中,每个VXLAN网络也称为一个EVPN实例,每个VXLAN网络通过VXLAN ID来标识,VXLAN ID又称VNI(VXLAN Network Identifier,VXLAN网络标识符)。不同VXLAN网络中的用户终端不能二层互通。各VTEP(VXLAN Tunnel End Point,VXLAN隧道端点)为每个VXLAN提供一个二层交换服务的虚拟交换实例VSI(Virtual Switch Instance,虚拟交换实例),VSI与VXLAN一一对应。同一路由域的不同的VXLAN网络处于同一个逻辑三层网络,属于由一个L3 VNI识别的一个VPN(Virtual Private Network,虚拟专用网络)实例。不同VPN实例之间彼此隔离,从而确保不同VPN实例的业务之间隔离。
图1为EVPN VXLAN网络示意图;现有的ARP抑制方案中,VTEP 1根据接收到的ARP请求报文时,建立V ARP抑制表项,在VXLAN内泛洪ARP请求报文并通过BGP EVPN同步ARP抑制表项至VTEP 2和VTEP 3。VTEP 2和VTEP 3在VXLAN网络内收到泛洪的VXLAN封装的ARP请求报文,解除VXLAN封装,在VXLAN的本地VLAN内广播ARP请求报文。当VTEP 2接收到ARP响应报文,建立ARP抑制表项,通过连接VTEP1的VXLAN隧道将ARP应答发送给VTEP 1,并通过BGPEVPN同步本设备生成的ARP抑制表项至VTEP 1和VTEP 3。VTEP 1解除收到的VXLAN ARP应答报文的VXLAN报文封装,根据ARP应答报文生成ARP抑制表项并根据目的MAC地址进行转发。之后VTEP1再收到请求相同IP地址的ARP请求报文后,可根据本地ARP抑制表项代答ARP响应报文,不在VXLAN内对ARP请求泛洪。
虽然VTEP通过ARP抑制表项可以大大减少VXLAN网络内的ARP泛洪的次数,但是VTEP设备未查找到ARP抑制表项时,仍需要在VXLAN网络泛洪ARP请求报文。而大型数据中心网络部署的VTEP设备数量可以多达数百台,因此一个ARP请求报文将被复制数百份泛洪到VXLAN网络中,对大型数据中心网络造成重大的带宽占用负担。
发明内容
本申请的目的在于提供一种报文转发方法及设备,避免在ARP抑制表项查找失败时在EVPN VXLAN网络内泛洪ARP请求报文,降低了大型数据中心网络的带宽占用。
为实现上述目的,本申请提供一种报文转发方法,该方法包括:为接收的ARP请求报文所属VXLAN的硬件MAC地址表学习硬件MAC地址表项;为ARP请求报文所属的VXLAN的软件地址解析协议ARP表学习软件ARP表项;基于VXLAN的网关MAC地址生成ARP代答响应报文;生成同步ARP请求报文的发送端IP地址的第一BGP EVPN路由;将软件ARP表项同步为VXLAN的硬件ARP表的硬件ARP表项;根据学习的硬件MAC地址表项的出端口发送ARP代答响应报文;向VXLAN关联的三层虚拟局域专用网VPN实例内每个对端VTEP发送生成的BGP EVPN路由。
为实现上述目的,本申请还提供了一种报文转发设备,该设备包括:硬件接收模块,用于接收ARP请求报文硬件二层交换模块,用于为ARP请求报文所属VXLAN的硬件MAC地址表学习硬件MAC地址表项,将ARP请求报文发往软件转发控制模块;软件转发控制模块,为ARP请求报文所属的VXLAN的软件地址解析协议ARP表学习软件ARP表项;基于VXLAN的网关MAC地址生成ARP代答响应报文;生成同步ARP请求报文的发送端IP地址的第一BGP EVPN路由;将软件ARP表项同步到硬件三层交换模块的VXLAN的硬件ARP表的硬件ARP表项;硬件二层交换模块,根据学习的硬件MAC地址表项的出端口发送ARP代答响应报文;硬件三层交换模块,向VXLAN关联的三层虚拟局域专用网VPN实例内每个对端VTEP发送生成的BGP EVPN路由。
本申请的有益效果在于,EVPN VXLAN网络的作为网关的VTEP设备以网关MAC地址回复本地VXLAN内的用户终端的ARP请求报文并将学习到的本地终端的IP地址同步到VPN示例内其他VTEP设备的主机路由,不再VXLAN内泛洪ARP请求报文,减少了VXLAN网络内泛洪ARP请求报文导致的带宽占用。
附图说明
图1为典型的EVPN VXLAN网络架构示意图;
图2为本申请的报文转发方式实施例的流程图;
图3为本申请实施例提供的代答地址解析协议请求的示意图;
图4为本申请实施例提供的ARP扫描的流程图;
图5为本身请提供的报文转发设备的示意图。
具体实施方式
将以多个附图所示的多个例子进行详细说明。在以下详细描述中,多个具体细节用于提供对本申请的全面理解。实例中没有详细地描述已知的方法、步骤、组件以及电路,以免使这些例子的难于理解。
使用的术语中,术语“包括”表示包括但不限于;术语“含有”表示包括但不限于;术语“以上”、“以内”以及“以下”包含本数;术语“大于”、“小于”表示不包含本数。术语“基于”表示至少基于其中一部分。
图1所示为本申请提供的一种报文转发方法,该方法包括:
步骤101,为接收的ARP请求报文所属VXLAN的硬件MAC地址表学习硬件MAC地址表项;
步骤102,为ARP请求报文所属的VXLAN的软件地址解析协议ARP表学习软件ARP表项;
步骤103,基于VXLAN的网关MAC地址生成ARP代答响应报文;
步骤104,生成同步ARP请求报文的发送端IP地址的第一BGP EVPN路由;
步骤105,将软件ARP表项同步为VXLAN的硬件ARP表的硬件ARP表项;
步骤106,根据学习的硬件MAC地址表项的出端口发送ARP代答响应报文;
步骤107,向VXLAN关联的三层虚拟局域专用网VPN实例内每个对端VTEP发送生成的BGP EVPN路由。
本申请的有益效果在于,EVPN VXLAN网络的作为网关的VTEP设备以网关MAC地址回复本地VXLAN内的用户终端的ARP请求报文并将学习到的本地终端的IP地址同步到VPN示例内其他VTEP设备的主机路由,不再VXLAN内泛洪ARP请求报文,减少了VXLAN网络内泛洪ARP请求报文导致的带宽占用。
图3为本申请实施例提供的代答地址解析协议请求的示意图。图3中,EVPN VXLAN网络中,VTEP1、VTEP2、VTEP3位于同一个VXLAN A,VXLAN A与其他VXLAN网络关联到同一个三层VPN示例。VTEP1与VTEP2之间通过VXLAN隧道1连接;VTEP2与VTEP3之间通过VXLAN隧道2连接;VTEP1与VTEP3之间通过VXLAN隧道3连接。VTEP1、VTEP2、VTEP3各自配置的VXLAN A内的网关虚接口MAC地址为MAC10、MAC20、MAC30。
终端311与终端31n通信前,基于终端31n的IP地址确定属于相同VLAN,发送ARP请求报文30请求终端31n的MAC地址;其中发送端IP地址为IP 311,发送端MAC地址为MAC311;目标端IP地址为IP31n。
当VTEP1收到来自终端311的ARP请求报文301时,根据接收的端口和/或VLAN识别ESI,根据识别的ESI绑定的VXLAN A确定收到的ARP请求报文属于VXLAN A。
VTEP1的根据ARP请求报文的源MAC地址和接收端口,在VXLAN A的硬件MAC地址表中(即,交换芯片执行二层转发的MAC地址表)学习硬件MAC地址表表项。
不同于现有技术,VTEP1不对收到的ARP请求报文进行硬件转发,而是通过软件生成ARP代答报文。VTEP1在VXLAN A的软件ARP表中学习软件ARP表项,即在软件ARP表项中记录ARP请求报文的请求端IP地址和请求端MAC地址。VTEP1基于VXLAN A的网关MAC地址MAC10生成ARP代答响应报文302,即发送端IP地址为IP31n,发送端MAC地址为MAC 10;目标端IP地址为IP 311,目标端MAC地址为MAC311。VTEP1生成同步ARP请求报文301的发送端IP地址IP311的BGP EVPN路由303。本实施例中,是应用同步MAC地址/IP地址的二类BGP EVPN路由。
VTEP1将软件ARP表项同步为硬件ARP表项,根据硬件MAC地址表中的出端口发送ARP响应报文302。VTEP1向VPN示例中其他对端VTEP2和VTEP3发送BGP EVPN路由303。
VTEP2和VTEP3各自收到BGP EVPN路由303,从BGP EVPN获取到三层的VPN实例,VTEP2在VPN实例的路由表中记录主机路由IP311对应连接VTEP1的VXLAN隧道2,VTEP3在VPN实例的路由表中记录主机路由IP311对应连接VTEP1的VXLAN隧道3。
由图3可知,本申请无需ARP抑制表项抑制ARP请求报文在VXLAN网络内泛洪,减少了硬件转发表项的占用,也不需要将ARP请求报文在VXLAN网络内泛洪极大减少了VXLAN网络内由ARP请求报文泛洪导致带宽占用。
由于终端311收到的ARP响应报文是VTEP1基于VXLAN A的网关MAC地址发送的,终端311向终端31n发送以太网数据报文中,目的MAC地址为MAC 10。
VTEP1收到来自终端311的以太网数据报文时,识别ESI,根据识别的ESI绑定的VXLAN A确定收到以太网数据报文属于VXLAN A。
VTEP1确定以太网报文的目的MAC地址是MAC 10,查找根据目的IP31n地址查找硬件ARP表项,确定未查找到匹配的ARP表项,则在VXLAN A关联的VPN实例的三层路由表中查找目的IP地址匹配的主机路由表项。
VTEP1确定未查找到目的IP地址IP31n匹配的主机路由表项,则丢弃收到的以太网数据报文。
之后,终端31n可按照图3所示的方式请求终端311的MAC,VTEP1收到来自终端31n的ARP请求报文的处理方式与收到来自终端311的ARP请求报文的处理方式相同,终端321请求终端311的MAC地址,VTEP2收到来自终端321的ARP请求报文的处理方式也大致相同,本申请不再赘述。
这样VTEP1中VXLAN A的硬件MAC地址表中已经学习了MAC311和MAC31n的硬件MAC地址表项;VXLAN A的硬件ARP表项已同步有IP311和IP31n的硬件ARP地址表项。VTEP1的VPN示例的路由表中记录了IP321的主机路由。
VTEP2中VXLAN A的硬件MAC地址表中已经学习了MAC321的硬件MAC地址表项;VXLAN A的硬件ARP表项已同步了IP321硬件ARP地址表项。VTEP2的VPN实例的路由表中已经记录了IP311、IP31n的主机路由表项。
VTEP3的VPN实例的路由表中已经记录了IP311、IP31n和IP321的主机路由表项。
当终端311再次向终端31n发送以太网数据报文。VTEP1收到来自终端311的以太网数据报文时,识别ESI,根据识别的ESI绑定的VXLAN A确定收到以太网数据报文属于VXLANA。
VTEP1确定以太网报文的目的MAC地址是MAC 10,查找根据目的IP31n在VXLAN A的硬件ARP表中查找到目的IP地址IP31n的匹配硬件ARP表项。VTEP1将以太网数据报文的目的MAC地址修改匹配硬件ARP表项中的MAC地址MAC31n,通过匹配硬件ARP表项的出端口将以太网数据报文发往终端31n。
当终端321向终端311发送以太网数据报文。VTEP2收到来自终端311的以太网数据报文时,识别ESI,根据识别的ESI绑定的VXLAN A确定收到以太网数据报文属于VXLAN A。
VTEP2确定以太网报文的目的MAC地址是MAC 20,查找根据目的IP311在VXLAN A的硬件ARP表中未查找到目的IP地址IP311的ARP表项,在VPN示例的路由表中查找到目的IP地址主机路由表项。VTEP2将以太网报文的目的MAC地址MAC20修改为主机路由表项中VXLAN隧道1连接的VTEP1的网关MAC10,根据主机路由表项中连接VTEP1的隧道封装修改后的以太网报文为VXLAN数据报文,通过连接VTEP1的VXLAN隧道将封装后的VXLAN数据报文发送到VTEP1。
VTEP1收到VXLAN封装的数据报文,剥掉VXLAN封装,确定内层以太网报文的目的MAC地址是MAC10,根据目的IP311在VXLANA的硬件ARP表中查找到IP311匹配的硬件ARP表项。VTEP1将以太网数据报文的目的MAC地址修改匹配硬件ARP表项中的MAC地址MAC311,通过匹配的ARP表项的出端口将以太网数据报文发往终端311。
图4为本申请实施例提供的ARP扫描的流程图,包括如下步骤:
步骤401,定期扫描有效但ARP表项已老化的用户。
本申请优化了ARP扫描对象,不再是全网扫描。VTEP1可以通过DHCP Snooping表项或者通过认证且上传了IP地址的用户获得已注册的用户。
VTEP1比较已注册用户的IP地址IP311-IP31n和软件ARP表的各软件ARP表项的IP地址IP311、IP31n;识别出未学习到软件ARP表项的已注册用户IP312…IP31(n-1),向每个未学习到软件ARP表项的已注册用户的IP地址IP312…IP31(n-1)发送ARP请求报文。
步骤402,本地步骤是否更新,若是则执行步骤403,若否,则执行步骤405。
当VTEP1收到接收一个以上ARP响应报文;为硬件MAC地址表学习每个ARP响应报文的硬件MAC地址表项;为软件ARP表学习每个ARP响应报文的软件ARP表项,更新软件和硬件ARP表项。
当VTEP1没有收到任何ARP响应报文时,则不更新软件和硬件ARP表项。
步骤403,通过BGP EVPN路由向VPN实例的其他VTEP同步新增ARP表项的IP地址。
VTEP生成第三BGP EVPN路由,用以同步收到的每个ARP响应报文的发送端IP地址。向每个所述对端VTEP发送生成的第三BGP EVPN路由。
步骤404,其他VTEP将BGP EVPN路由同步的IP地址保存为主机路由
图5为本身请提供的报文转发设备的示意图。该设备50设备包括:网络接口,交换芯片,CPU以及存储器。交换芯片至少包括硬件接收模块、硬件二层交换模块、硬件三层转发模块。处理器通过运行存储器中的处理器可执行指令用以执行软件转发模块。
硬件接收模块,用于接收ARP请求报文;硬件二层交换模块,用于为ARP请求报文所属VXLAN的硬件MAC地址表学习硬件MAC地址表项,将ARP请求报文发往软件转发控制模块;软件转发控制模块,为ARP请求报文所属的VXLAN的软件地址解析协议ARP表学习软件ARP表项;基于VXLAN的网关MAC地址生成ARP代答响应报文;生成同步ARP请求报文的发送端IP地址的第一BGP EVPN路由;将软件ARP表项同步到硬件三层交换模块的VXLAN的硬件ARP表的硬件ARP表项;硬件二层交换模块,根据学习的硬件MAC地址表项的出端口发送ARP代答响应报文;硬件三层交换模块,向VXLAN关联的三层虚拟局域专用网VPN实例内每个对端VTEP发送生成的BGP EVPN路由。
硬件接收模块,还用于接收的第二BGP EVPN路由;硬件三层交换模块,还用于将第二BGP EVPN路由发送到软件转发控制模块;软件转发控制模块,用于基于第二BGP EVPN路由携带的远端IP地址,在三层VPN实例的软件路由表中生成软件主机路由表项;其中远端IP地址对应的VXLAN隧道连接发送第二BGP EVPN路由的对端VTEP;将软件主机路由表项同步为硬件三层交换模块的三层VPN实例的硬件路由表的主机路由表项。
硬件接收模块,用于接收第一以太网数据报文;硬件二层交换模块,用于确定收到的第一以太网数据报文属于VXLAN;确定第一以太网数据报文的目的MAC地址是网关MAC地址;硬件三层交换模块,用于确定在VXLAN的硬件APR表中,查找到第一以太网数据报文的目的IP地址的匹配硬件ARP表项;将第一以太网报文的目的MAC地址替换为匹配硬件ARP表项的MAC地址;通过匹配的ARP表项的出端口发送第一以太网数据报文。
硬件接收模块,用于接收第二以太网数据报文;硬件二层交换模块,用于确定第二以太网数据报文属于VXLAN;确定第二以太网数据报文的目的MAC地址是VXLAN的网关MAC地址;硬件三层交换模块,用于确定在VXLAN的硬件ARP表中,未查找到匹配第二以太网数据报文的目的IP地址的硬件ARP表项;确定在VXLAN关联的三层虚拟专用网VPN实例的硬件路由表中,查找到第二以太网数据报文的目的IP地址的匹配硬件路由表项;将第二以太网数据报文的目的MAC地址,替换为匹配的硬件路由表项中的VXLAN隧道连接的对端VTEP的网关MAC地址;将第二以太网数据报文的源MAC地址,替换为本设备路由器MAC地址;根据匹配硬件路由表项的VXLAN隧道将第二以太网数据报文封装为VXLAN数据报文;根据VXLAN隧道的出端口发送VXLAN数据报文。
硬件接收模块,用于接收第三以太网数据报文;硬件二层交换模块,用于确定第三以太网数据报文属于VXLAN;确定第三以太网数据报文的目的MAC地址是VXLAN的网关MAC地址;硬件三层交换模块,在VXLAN的硬件ARP表中,未查找到匹配第三以太网数据报文的目的IP地址的硬件ARP表项;在VXLAN关联的三层虚拟专用网VPN实例的硬件路由表中,未查找到匹配第三以太网数据报文的目的IP地址的硬件路由表项;丢弃第三以太网数据报文。
软件转发模块,用于比较已注册用户的IP地址和软件ARP表的各软件ARP表项的IP地址;识别出未学习到软件ARP表项的已注册用户,向每个未学习到软件ARP表项的已注册用户的IP地址生成ARP请求报文;硬件接收模块,用于接收一个以上ARP响应报文;硬件二层转发模块,用于为硬件MAC地址表学习每个ARP响应报文的硬件MAC地址表项,将每个ARP响应报文发往软件转发模块;软件转发模块,用于为VXLAN的软件ARP表学习每个ARP响应报文的软件ARP表项;生成同步每个ARP响应报文的发送端IP地址的第三BGP EVPN路由;将软件ARP表项同步为VXLAN的硬件ARP表的硬件ARP表项;硬件三层转发模块,向每个对端VTEP发送生成的第三BGP EVPN路由。
以上仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (12)
1.一种报文转发方法,其特征在于,所述方法包括:
为接收的ARP请求报文所属VXLAN的硬件MAC地址表学习硬件MAC地址表项;
为所述ARP请求报文所属的所述VXLAN的软件地址解析协议ARP表学习软件ARP表项;
基于所述VXLAN的网关MAC地址生成ARP代答响应报文;
生成同步所述ARP请求报文的发送端IP地址的第一BGP EVPN路由;
将所述软件ARP表项同步为所述VXLAN的硬件ARP表的硬件ARP表项;
根据学习的硬件MAC地址表项的出端口发送所述ARP代答响应报文;
向所述VXLAN关联的三层虚拟局域专用网VPN实例内每个对端VTEP发送生成的BGPEVPN 路由。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于接收的第二BGP EVPN路由携带的远端IP地址,在所述三层VPN实例的软件路由表中生成软件主机路由表项;其中远端IP地址对应的VXLAN隧道连接发送所述第二BGP EVPN路由的对端VTEP;
将所述软件主机路由表项同步为所述三层VPN实例的硬件路由表的主机路由表项。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
确定收到的第一以太网数据报文属于所述VXLAN;
确定所述第一以太网数据报文的目的MAC地址是所述网关MAC地址;
确定在所述VXLAN的硬件APR表中,查找到所述第一以太网数据报文的目的IP地址的匹配硬件ARP表项;
将所述第一以太网数据报文的目的MAC地址替换为所述匹配硬件ARP表项的MAC地址,通过所述匹配硬件ARP表项的出端口发送所述第一以太网数据报文。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
确定收到的第二以太网数据报文属于所述VXLAN;
确定所述第二以太网数据报文的目的MAC地址是所述VXLAN的网关MAC地址;
确定在所述VXLAN的硬件ARP表中,未查找到匹配所述第二以太网数据报文的目的IP地址的硬件ARP表项;
确定在所述VXLAN关联的三层虚拟专用网VPN实例的硬件路由表中,查找到所述第二以太网数据报文的目的IP地址的匹配硬件路由表项;
将所述第二以太网数据报文的目的MAC地址,替换为匹配的硬件路由表项中的VXLAN隧道连接的对端VTEP设置的网关MAC地址;将所述第二以太网数据报文的源MAC地址,替换为本设备路由器MAC地址;
根据所述匹配硬件路由表项的VXLAN隧道将所述第二以太网数据报文封装为VXLAN数据报文;
根据所述VXLAN隧道的出端口发送所述VXLAN数据报文。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
确定收到的第三以太网数据报文属于所述VXLAN;
确定所述第三以太网数据报文的目的MAC地址是所述VXLAN的网关MAC地址;
在所述VXLAN的硬件ARP表中,未查找到匹配所述第三以太网数据报文的目的IP地址的硬件ARP表项;
在所述VXLAN关联的三层虚拟专用网VPN实例的硬件路由表中,未查找到匹配所述第三以太网数据报文的目的IP地址的硬件路由表项;
丢弃所述第三以太网数据报文。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
比较已注册用户的IP地址和所述软件ARP表的各软件ARP表项的IP地址;
识别出未学习到软件ARP表项的已注册用户,向每个未学习到软件ARP表项的已注册用户的IP地址发送ARP请求报文;
接收一个以上ARP响应报文;
为所述硬件MAC地址表学习每个所述ARP响应报文的硬件MAC地址表项;
为所述软件ARP表学习每个所述ARP响应报文的软件ARP表项;
生成同步每个所述ARP响应报文的发送端IP地址的第三BGP EVPN路由;
将所述软件ARP表项同步为所述硬件ARP表的硬件ARP表项;
向每个所述对端VTEP发送生成的第三BGP EVPN 路由。
7.一种报文转发设备,其特征在于,所述设备包括:
硬件接收模块,用于接收ARP请求报文;
硬件二层交换模块,用于为所述ARP请求报文所属VXLAN的硬件MAC地址表学习硬件MAC地址表项,将所述ARP请求报文发往软件转发控制模块;
所述软件转发控制模块,为所述ARP请求报文所属的所述VXLAN的软件地址解析协议ARP表学习软件ARP表项;基于所述VXLAN的网关MAC地址生成ARP代答响应报文;生成同步所述ARP请求报文的发送端IP地址的第一BGP EVPN路由;将所述软件ARP表项同步到硬件三层交换模块的所述VXLAN的硬件ARP表的硬件ARP表项;
所述硬件二层交换模块,根据学习的硬件MAC地址表项的出端口发送所述ARP代答响应报文;
所述硬件三层交换模块,向所述VXLAN关联的三层虚拟局域专用网VPN实例内每个对端VTEP发送生成的BGP EVPN 路由。
8.根据权利要求7所述的设备,其特征在于,
所述硬件接收模块,还用于接收的第二BGP EVPN路由;
所述硬件三层交换模块,还用于将所述第二BGP EVPN路由发送到所述软件转发控制模块;
所述软件转发控制模块,用于基于所述第二BGP EVPN路由携带的远端IP地址,在所述三层VPN实例的软件路由表中生成软件主机路由表项;其中远端IP地址对应的VXLAN隧道连接发送所述第二BGP EVPN路由的对端VTEP;将所述软件主机路由表项同步为所述硬件三层交换模块的所述三层VPN实例的硬件路由表的主机路由表项。
9.根据权利要求7所述的设备,其特征在于,
所述硬件接收模块,用于接收第一以太网数据报文;
所述硬件二层交换模块,用于确定收到的第一以太网数据报文属于所述VXLAN;确定所述第一以太网数据报文的目的MAC地址是所述网关MAC地址;
所述硬件三层交换模块,用于所述确定在所述VXLAN的硬件APR表中,查找到所述第一以太网数据报文的目的IP地址的匹配硬件ARP表项;将所述第一以太网数据报文的目的MAC地址替换为所述匹配硬件ARP表项的MAC地址;通过所述匹配硬件ARP表项的出端口发送所述第一以太网数据报文。
10.根据权利要求8所述的设备,其特征在于,
所述硬件接收模块,用于接收第二以太网数据报文;
所述硬件二层交换模块,用于确定所述第二以太网数据报文属于所述VXLAN;确定所述第二以太网数据报文的目的MAC地址是所述VXLAN的网关MAC地址;
所述硬件三层交换模块,用于确定在所述VXLAN的硬件ARP表中,未查找到匹配所述第二以太网数据报文的目的IP地址的硬件ARP表项;确定在所述VXLAN关联的三层虚拟专用网VPN实例的硬件路由表中,查找到所述第二以太网数据报文的目的IP地址的匹配硬件路由表项;将所述第二以太网数据报文的目的MAC地址,替换为匹配的硬件路由表项中的VXLAN隧道连接的对端VTEP的MAC地址;将所述第二以太网数据报文的源MAC地址,替换为本设备路由器MAC地址;根据所述匹配硬件路由表项的VXLAN隧道将所述第二以太网数据报文封装为VXLAN数据报文;根据所述VXLAN隧道的出端口发送所述VXLAN数据报文。
11.根据权利要求8所述的设备,其特征在于,
所述硬件接收模块,用于接收第三以太网数据报文;
所述硬件二层交换模块,用于确定所述第三以太网数据报文属于所述VXLAN;确定所述第三以太网数据报文的目的MAC地址是所述VXLAN的网关MAC地址;
所述硬件三层交换模块,在所述VXLAN的硬件ARP表中,未查找到匹配所述第三以太网数据报文的目的IP地址的硬件ARP表项;在所述VXLAN关联的三层虚拟专用网VPN实例的硬件路由表中,未查找到匹配所述第三以太网数据报文的目的IP地址的硬件路由表项;丢弃所述第三以太网数据报文。
12.根据权利要求8所述的设备,其特征在于,
所述软件转发模块,用于比较已注册用户的IP地址和所述软件ARP表的各软件ARP表项的IP地址;识别出未学习到软件ARP表项的已注册用户,向每个未学习到软件ARP表项的已注册用户的IP地址生成ARP请求报文;
所述硬件接收模块,用于接收一个以上ARP响应报文;
所述硬件二层转发模块,用于为所述硬件MAC地址表学习每个所述ARP响应报文的硬件MAC地址表项,将每个所述ARP响应报文发往所述软件转发模块;
所述软件转发模块,用于为所述VXLAN的软件ARP表学习每个所述ARP响应报文的软件ARP表项;生成同步每个所述ARP响应报文的发送端IP地址的第三BGP EVPN路由;将所述软件ARP表项同步为所述VXLAN的硬件ARP表的硬件ARP表项;
所述硬件三层转发模块,向每个所述对端VTEP发送生成的第三BGP EVPN 路由。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110877495.6A CN113726632B (zh) | 2021-07-31 | 2021-07-31 | 一种报文转发方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110877495.6A CN113726632B (zh) | 2021-07-31 | 2021-07-31 | 一种报文转发方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113726632A CN113726632A (zh) | 2021-11-30 |
CN113726632B true CN113726632B (zh) | 2023-04-18 |
Family
ID=78674627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110877495.6A Active CN113726632B (zh) | 2021-07-31 | 2021-07-31 | 一种报文转发方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113726632B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115189948B (zh) * | 2022-07-11 | 2023-05-12 | 北京志凌海纳科技有限公司 | 一种CaaS平台中容器网络插件的实现方法和系统 |
CN116192797B (zh) * | 2023-04-27 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 地址请求报文代答方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094178A (zh) * | 2007-07-16 | 2007-12-26 | 杭州华三通信技术有限公司 | 无vlan虚接口情况下发送arp请求的方法和装置 |
WO2010139238A1 (zh) * | 2009-06-03 | 2010-12-09 | 中兴通讯股份有限公司 | 实现强制mac转发功能的方法和装置 |
CN109257265A (zh) * | 2018-08-10 | 2019-01-22 | 锐捷网络股份有限公司 | 一种泛洪抑制方法、vxlan网桥、网关及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040151193A1 (en) * | 2002-12-23 | 2004-08-05 | Johan Rune | Bridging between a Bluetooth scatternet and an Ethernet LAN |
CN101179566B (zh) * | 2007-11-24 | 2012-08-15 | 华为技术有限公司 | 一种防御arp报文攻击的方法和装置 |
CN103888386B (zh) * | 2012-12-24 | 2017-10-17 | 华为技术有限公司 | 可扩展虚拟局域网报文的传输方法及装置、系统 |
CN103118148B (zh) * | 2013-01-31 | 2016-06-08 | 杭州华三通信技术有限公司 | 一种arp缓存更新方法和设备 |
US10951522B2 (en) * | 2013-11-05 | 2021-03-16 | Cisco Technology, Inc. | IP-based forwarding of bridged and routed IP packets and unicast ARP |
CN103957160B (zh) * | 2014-05-12 | 2017-04-19 | 华为技术有限公司 | 一种发送报文的方法及设备 |
CN105577550A (zh) * | 2014-10-15 | 2016-05-11 | 中兴通讯股份有限公司 | 一种单播数据包的处理方法及装置 |
CN106612224B (zh) * | 2015-10-26 | 2019-11-01 | 新华三技术有限公司 | 应用于vxlan的报文转发方法和装置 |
CN110351399A (zh) * | 2019-07-04 | 2019-10-18 | 四川天邑康和通信股份有限公司 | 一种网关终端lan侧地址动态分配管理方法及管理装置 |
-
2021
- 2021-07-31 CN CN202110877495.6A patent/CN113726632B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094178A (zh) * | 2007-07-16 | 2007-12-26 | 杭州华三通信技术有限公司 | 无vlan虚接口情况下发送arp请求的方法和装置 |
WO2010139238A1 (zh) * | 2009-06-03 | 2010-12-09 | 中兴通讯股份有限公司 | 实现强制mac转发功能的方法和装置 |
CN109257265A (zh) * | 2018-08-10 | 2019-01-22 | 锐捷网络股份有限公司 | 一种泛洪抑制方法、vxlan网桥、网关及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113726632A (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109257265B (zh) | 一种泛洪抑制方法、vxlan网桥、网关及系统 | |
US9912495B2 (en) | Virtual layer 2 and mechanism to make it scalable | |
US9253140B2 (en) | System and method for optimizing within subnet communication in a network environment | |
US9448821B2 (en) | Method and system for realizing virtual machine mobility | |
US6556547B1 (en) | Method and apparatus providing for router redundancy of non internet protocols using the virtual router redundancy protocol | |
US7088689B2 (en) | VLAN data switching method using ARP packet | |
EP2502389B1 (en) | Method for the provision of gateway anycast virtual mac reachability in extended subnets | |
WO2017114196A1 (zh) | 一种报文处理方法、相关装置及nvo3网络系统 | |
US8898334B2 (en) | System for network deployment and method for mapping and data forwarding thereof | |
EP2466817A1 (en) | Virtual private network implementation method and system | |
US9178818B2 (en) | Communication apparatus | |
US6873603B1 (en) | MAC address population protocol | |
CN111937358B (zh) | 用于结构边缘设备的多vrf通用设备互联网协议地址 | |
US9363094B2 (en) | Relay system and switching device | |
WO2021031648A1 (zh) | Evpn和vpls共存双活的方法、设备及系统 | |
US6618398B1 (en) | Address resolution for internet protocol sub-networks in asymmetric wireless networks | |
CN113726632B (zh) | 一种报文转发方法及设备 | |
JP2013535870A (ja) | 非対称ネットワーク・アドレス・カプセル化 | |
JP2002507364A (ja) | 多層分散ネットワーク要素におけるパケット・フィールド置換のための機構 | |
CN107094110B (zh) | 一种dhcp报文转发方法及装置 | |
CN108337158B (zh) | 单播报文转发方法和装置 | |
US20090225660A1 (en) | Communication device and operation management method | |
CN107040441B (zh) | 跨数据中心的数据传输方法、装置及系统 | |
US20230291682A1 (en) | Method and device for processing data packet, storage medium, and electronic device | |
CN113794615B (zh) | 一种报文转发方法及设备 |
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 |