CN106385354B - 报文转发方法及装置 - Google Patents

报文转发方法及装置 Download PDF

Info

Publication number
CN106385354B
CN106385354B CN201610770367.0A CN201610770367A CN106385354B CN 106385354 B CN106385354 B CN 106385354B CN 201610770367 A CN201610770367 A CN 201610770367A CN 106385354 B CN106385354 B CN 106385354B
Authority
CN
China
Prior art keywords
vid
message
vtep
forwarding table
determined
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
Application number
CN201610770367.0A
Other languages
English (en)
Other versions
CN106385354A (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.)
Ruijie Networks Co Ltd
Original Assignee
Ruijie Networks 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 Ruijie Networks Co Ltd filed Critical Ruijie Networks Co Ltd
Priority to CN201610770367.0A priority Critical patent/CN106385354B/zh
Publication of CN106385354A publication Critical patent/CN106385354A/zh
Application granted granted Critical
Publication of CN106385354B publication Critical patent/CN106385354B/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
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's

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

本发明公开了一种报文转发方法及装置,该方法包括:接收到第一报文后,确定是否需要在VXLAN网络中转发第一报文;若是,则获取第一报文中携带的第一VID;确定之前是否接收过携带第一VID的第二报文;若确定之前接收过第二报文,则在VLAN转发表中查找第一VID对应的VTEP,若查找到第一VID对应的VTEP,则将第一报文转发给第一VID对应的VTEP;若确定之前未接收过第二报文,则在VLAN转发表中查找第一VID对应的VTEP,若查找到第一VID对应的VTEP,则将第一报文转发给第一VID对应的VTEP,并将携带第一VID的添加消息发送给VXLAN网络中的其他VTEP,以使VXLAN网络中的其他VTEP在各自的VLAN转发表中对应保存第一VID和第一VID对应的VTEP。该方案能够大大节省网络带宽资源,大大提升服务器的性能。

Description

报文转发方法及装置
技术领域
本发明涉及通信技术领域,尤指一种报文转发方法及装置。
背景技术
虚拟可扩展局域网(Virtual eXtensible Local Area Network,VXLAN)是一种建立在互联网协议(Internet Protocol,IP)网络之上的叠加(Overlay)网络技术,其使用媒体介入控制(Media Access Control,MAC)在(in)用户数据报协议(User DatagramProtocol,UDP)的方法进行封装,即将普通以太网报文封装在UDP报文里,普通以太网报文当作UDP数据传输,虚拟可扩展局域网隧道终端(Virtual eXtensible Local AreaNetwork Tunnel End Point,VTEP)是VXLAN网络的边缘设备,VTEP之间在IP网络上建立隧道,这些隧道实现了VXLAN报文穿越IP网络的传输服务。
VXLAN网络的架构如图1所示,S1、S2、S3、S4是VTEP,与上联设备都是采用路由口互联。P1、P2、P3、P4是服务器,上面分别运行着若干个虚拟机(Virtual Machine,VM):VM1-VM11,这些VM可以属于不同的虚拟局域网(Virtual Local Area Network,VLAN),每个VM所属的VLAN的虚拟局局域网标识(Virtual Local Area Network Identification,VID)如图1所示,例如,VM1属于VLAN1,VM2属于VLAN3等等。由于业务需要,VM需要能够支持在整个VXLAN网络中随意迁移,并且迁移完之后,IP地址不能发生变化,以减轻网络管理员的工作量,提升网络的可用性。VM之间互相通讯,例如P1下的VM1和P4下的VM9,同属于VLAN1,需要穿透IP网络(S1到S4并没有直连的物理链路,需要走的路径是S1-S5-S7-S8-S6-S4),此时需要采用VXLAN的封装技术,并且S1、S2、S3、S4两两之间建立隧道,如图1所示。
下面详细介绍在如图1所示的VXLAN网络架构中的报文转发方法。假设,VM1发送地址解析协议(Address Resolution Protocol,ARP)请求报文发送给S1,S1将该ARP请求报文封装成VXLAN报文后发送给S2、S3、S4。S2、S3、S4接收到VXLAN报文进行解封装,得到该ARP请求报文,并进行表项学习,然后将该ARP请求报文发送给P2、P3、P4。而后,VM9发出ARP应答报文,S4将ARP应答报文封装成VXLAN报文后单播发送给VM1,随后VM1和VM9之间,开始互相发送单播报文进行通讯。
在上述报文转发过程中,S1、S2、S3、S4同时完成了表项的学习和报文的转发,实际上是VM1和VM9之间需要通讯,只有S1和S4需要学习表项,S2和S3下并没有VLAN1的VM,无需学习表项,这就会造成网络带宽资源的浪费,并降低服务器的性能。以上只是以四个服务器为例进行说明,在实际应用中,服务器的数量是非常巨大的,上述报文转发方法将会严重浪费网络带宽资源的浪费,并且严重降低服务器性能。
发明内容
本发明实施例提供一种报文转发方法及装置,用以解决现有技术中存在的严重浪费网络带宽资源,并且严重降低服务器性能的问题。
根据本发明实施例,提供一种报文转发方法,应用在虚拟可扩展局域网VXLAN网络包括的虚拟可扩展局域网隧道终端VTEP中,所述方法包括:
所述VTEP接收到级联的终端发送的第一报文后,确定是否需要在所述VXLAN网络中转发所述第一报文;
若确定需要在所述VXLAN网络中转发所述第一报文,则获取所述第一报文中携带的第一虚拟局域网标识VID;
确定之前是否接收过携带所述第一VID的第二报文;
若确定之前接收过所述第二报文,则在虚拟局域网VLAN转发表中查找所述第一VID对应的VTEP,若查找到所述第一VID对应的VTEP,则将所述第一报文转发给所述第一VID对应的VTEP;
若确定之前未接收过所述第二报文,则在所述VLAN转发表中查找所述第一VID对应的VTEP,若查找到所述第一VID对应的VTEP,则将所述第一报文转发给所述第一VID对应的VTEP,并将携带所述第一VID的添加消息发送给所述VXLAN网络中的其他VTEP,以使所述VXLAN网络中的其他VTEP在各自的VLAN转发表中对应保存所述第一VID和所述第一VID对应的VTEP。
可选的,还包括:
接收到所述VXLAN网络包括的其他VTEP发送的携带第二VID的添加消息,在所述VLAN转发表中保存所述第二VID与所述第二VID对应的VTEP;或者,
接收到所述VXLAN网络包括的其他VTEP发送的携带第二VID的删除消息,在所述VLAN转发表中删除所述第二VID与所述第二VID对应的VTEP。
具体的,确定是否需要在所述VXLAN网络中转发所述第一报文,具体包括:
获取所述第一报文的目的媒体访问控制MAC地址;
确定所述目的MAC地址是否是网关的MAC地址;
若所述目的MAC地址不是所述网关的MAC地址,则确定需要在所述VXLAN网络中转发所述第一报文;若所述目的MAC地址是所述网关的MAC地址,则确定不需要在所述VXLAN中转发所述第一报文。
具体的,确定之前是否接收过携带所述第一VID的第二报文,具体包括:
确定所述第一VID是否是保存在本地转发表中;
若确定所述第一VID保存在所述本地转发表中,则确定之前接收过所述第二报文;若所述第一VID未保存在所述本地转发表中,则确定之前未接收过所述第二报文,在所述本地转发表中保存所述第一VID。
可选的,还包括:
在所述本地转发表包括所述第一VID的表项中记录所述第一报文的接收时间;以及,
监控当前时间与所述接收时间之间的时间差值是否超过设定差值;
若所述时间差值超过所述设定差值,则删除所述本地转发表中包括所述第一VID的表项,并在所述VLAN转发表中查找所述第一VID对应的VTEP;
若查找到所述第一VID对应的VTEP,则向与所述第一VID对应的VTEP发送携带第一VID的删除消息,以使所述第一VID对应的VTEP删除各自的VLAN转发表中保存包括所述第一VID的表项。
根据本发明实施例,还提供一种报文转发装置,应用在虚拟可扩展局域网VXLAN网络包括的虚拟可扩展局域网隧道终端VTEP中,所述装置包括:
第一确定模块,用于接收到级联的终端发送的第一报文后,确定是否需要在所述VXLAN网络中转发所述第一报文;
获取模块,用于若确定需要在所述VXLAN网络中转发所述第一报文,则获取所述第一报文中携带的第一虚拟局域网标识VID;
第二确定模块,用于确定之前是否接收过携带所述第一VID的第二报文;
转发模块,用于若确定之前接收过所述第二报文,则在虚拟局域网VLAN转发表中查找所述第一VID对应的VTEP,若查找到所述第一VID对应的VTEP,则将所述第一报文转发给所述第一VID对应的VTEP;若确定之前未接收过所述第二报文,则在所述VLAN转发表中查找所述第一VID对应的VTEP,若查找到所述第一VID对应的VTEP,则将所述第一报文转发给所述第一VID对应的VTEP,并将携带所述第一VID的添加消息发送给所述VXLAN网络中的其他VTEP,以使所述VXLAN网络中的其他VTEP在各自的VLAN转发表中对应保存所述第一VID和所述第一VID对应的VTEP。
可选的,还包括更新模块,用于:
接收到所述VXLAN网络包括的其他VTEP发送的携带第二VID的添加消息,在所述VLAN转发表中保存所述第二VID与所述第二VID对应的VTEP;或者,
接收到所述VXLAN网络包括的其他VTEP发送的携带第二VID的删除消息,在所述VLAN转发表中删除所述第二VID与所述第二VID对应的VTEP。
具体的,第一确定模块,用于确定是否需要在所述VXLAN网络中转发所述第一报文,具体用于:
获取所述第一报文的目的媒体访问控制MAC地址;
确定所述目的MAC地址是否是网关的MAC地址;
若所述目的MAC地址不是所述网关的MAC地址,则确定需要在所述VXLAN网络中转发所述第一报文;若所述目的MAC地址是所述网关的MAC地址,则确定不需要在所述VXLAN中转发所述第一报文。
具体的,所述第二确定模块,用于确定之前是否接收过携带所述第一VID的第二报文,具体用于:
确定所述第一VID是否是保存在本地转发表中;
若确定所述第一VID保存在所述本地转发表中,则确定之前接收过所述第二报文;若所述第一VID未保存在所述本地转发表中,则确定之前未接收过所述第二报文,在所述本地转发表中保存所述第一VID。
可选的,还包括:
记录模块,用于在所述本地转发表包括所述第一VID的表项中记录所述第一报文的接收时间;
监控模块,用于监控当前时间与所述接收时间之间的时间差值是否超过设定差值;
查找模块,用于若所述时间差值超过所述设定差值,则删除所述本地转发表中包括所述第一VID的表项,并在所述VLAN转发表中查找所述第一VID对应的VTEP;
发送模块,用于若查找到所述第一VID对应的VTEP,则向与所述第一VID对应的VTEP发送携带第一VID的删除消息,以使所述第一VID对应的VTEP删除各自的VLAN转发表中保存包括所述第一VID的表项。
本发明有益效果如下:
本发明实施例提供的报文转发方法及装置,接收到级联的终端发送的第一报文后,确定是否需要在所述VXLAN网络中转发所述第一报文;若确定需要在所述VXLAN网络中转发所述第一报文,则获取所述第一报文中携带的第一VID;确定之前是否接收过携带所述第一VID的第二报文;若确定之前接收过所述第二报文,则在VLAN转发表中查找所述第一VID对应的VTEP,若查找到所述第一VID对应的VTEP,则将所述第一报文转发给所述第一VID对应的VTEP;若确定之前未接收过所述第二报文,则在所述VLAN转发表中查找所述第一VID对应的VTEP,若查找到所述第一VID对应的VTEP,则将所述第一报文转发给所述第一VID对应的VTEP,并将携带所述第一VID的添加消息发送给所述VXLAN网络中的其他VTEP,以使所述VXLAN网络中的其他VTEP在各自的VLAN转发表中对应保存所述第一VID和所述第一VID对应的VTEP。该方案中,VTEP接收到第一报文后,并不是直接将第一报文发送给VXLAN网络中的其他VTEP,而是发送给第一报文中携带的第一VID对应的VTEP,从而能够节省网络带宽资源,提升服务器的性能,尤其是当VXLAN中的服务器数据巨大时,能够大大节省网络带宽资源,大大提升服务器的性能。
附图说明
图1为现有技术中VXLAN网络架构的示意图;
图2为本发明实施例中报文转发方法的流程图;
图3为本发明实施例中S22的流程图;
图4为本发明实施例中另一种报文转发方法的流程图;
图5为本发明实施例中报文转发装置的结构示意图。
具体实施方式
针对现有技术中存在的严重浪费网络带宽资源,并且严重降低服务器性能的问题,本发明实施例提供一种报文转发方法,应用在VXLAN网络包括的任一VTEP中,需要说明的是,VXLAN网络中包括的两两VTEP之间建立VXLAN隧道,用于两两VTEP之间进行通信。该报文转发方法的流程如图2所示,执行步骤如下:
S21:接收到级联的终端发送的第一报文后,确定是否需要在VXLAN网络中转发第一报文。
通常,VXLAN网络中的VTEP会级联终端,终端可以但不限于为服务器。如图1所示,每个VTEP连接一个服务器,每个服务器上会运行若干个VM,这些VM需要与其他VM通信时,会通过服务器发出报文,这些报文称为第一报文。
通过图1可以看出,若第一报文是发送给VM4或VM5的,则在普通三层网络中转发第一报文即可,若第一报文是发送给VM6、VM7、VM8、VM9、VM10或者VM11的,则需要在VXLAN网络中转发第一报文,因此,首先需要确定是否需要在VXLAN网络中转发第一报文。
S22:若确定需要在VXLAN网络中转发第一报文,则获取第一报文中携带的第一VID。
每个VM都有所属的VLAN,每个VLAN都有的VID,VM通过终端发送第一报文时,会在第一报文中携带该VM所属的VLAN的VID,第一报文中携带的VID可以称为第一VID。
S23:确定之前是否接收过携带第一VID的第二报文,若确定之前接收过第二报文,执行S24;若确定之前未接收过第二报文,执行S25。
S24:在VLAN转发表中查找第一VID对应的VTEP,若查找到第一VID对应的VTEP,则将第一报文转发给第一VID对应的VTEP。
VLAN转发表中保存的是VXLAN网络中的其他VTEP发送的VID,用于记录VXLAN网络中的其他VTEP级联的终端上运行的VM所属的VLAN,该VLAN转发表的每个表项保存VID和VTEP。
VTEP若确定之前接收过第二报文,可以在自身保存的VLAN转发表中查找包括第一VID的表项,若查找到包括第一VID的表项,说明在VXLAN网络中,另外存在属于第一VID对应的VLAN的VM,则将第一报文转发给该表项中包括的VTEP,也就是第一VID对应的VTEP;若未查找到包括第一VID的表项,说明在VXLAN网络中,不存在属于第一VID对应的VLAN的VM,则丢弃第一报文。
S25:在VLAN转发表中查找第一VID对应的VTEP,若查找到第一VID对应的VTEP,则将第一报文转发给第一VID对应的VTEP,并将携带第一VID的添加消息发送给VXLAN网络中的其他VTEP,以使VXLAN网络中的其他VTEP在各自的VLAN转发表中对应保存第一VID和第一VID对应的VTEP。
VTEP若确定之前未接收过第二报文,在执行S24之外,还需要向VXLAN网络中的其他VTEP发送携带第一VID的添加消息,以通知VXLAN网络中的其他VTEP可以往本VTEP转发携带第一VID的报文,VXLAN网络中的其他VTEP在各自的VLAN转发表中添加表项,该表项包括第一VID和发送第一VID的VTEP。
该方案中,VTEP接收到第一报文后,并不是直接将第一报文发送给VXLAN网络中的其他VTEP,而是发送给第一报文中携带的第一VID对应的VTEP,从而能够节省网络带宽资源,提升服务器的性能,尤其是当VXLAN中的服务器数据巨大时,能够大大节省网络带宽资源,大大提升服务器的性能。
可选的,上述报文转发方法还包括VTEP上保存的VLAN转发表项的更新过程,具体包括以下两种情况:
第一种情况,接收到VXLAN网络包括的其他VTEP发送的携带第二VID的添加消息,在VLAN转发表中保存第二VID与第二VID对应的VTEP。
VXLAN网络包括的其他VTEP在接收到携带第二VID的报文后,也就是确定级联的终端运行属于第二VID对应的VLAN的VM后,可以向本VTEP发送携带第二VID的添加消息,以通知本VTEP可以向VXLAN网络包括的其他VTEP转发携带第二VID的报文。
VTEP接收到添加消息后,可以在VLAN转发表中增加表项,该表项中保存第二VID与发送添加消息的VTEP。
第二种情况,接收到VXLAN网络包括的其他VTEP发送的携带第二VID的删除消息,在VLAN转发表中删除第二VID与第二VID对应的VTEP。
VXLAN网络包括的其他VTEP若在长时间内没有接收到携带第二VID的报文,也就是确定级联的终端未运行属于第二VID对应的VLAN的VM后(可能是由于VM发生迁移造成的),可以向本VTEP发送携带第二VID的删除消息,以通知本VTEP停止向VXLAN网络包括的其他VTEP转发携带第二VID的报文。
VTEP接收到删除消息后,可以在VLAN转发表中删除表项,该表项中保存第二VID与发送删除消息的VTEP。
通过上述两种情况,VXLAN网络中包括的其他VTEP可以及时通告级联的终端运行的VM的情况,从而确保本VTEP能够准确判断如何转发接收到的级联终端发送的第一报文。
具体的,上述S22中的确定是否需要在VXLAN网络中转发第一报文的实现过程如图3所示,具体包括:
S221:获取第一报文的目的媒体访问控制(Media Access Control,MAC)地址。
S222:确定目的MAC地址是否是网关的MAC地址,若目的MAC地址不是网关的MAC地址,执行S223;若目的MAC地址是网关的MAC地址,执行S224。
S223:确定需要在VXLAN网络中转发第一报文。
S224:确定不需要在VXLAN中转发第一报文。
可以根据第一报文的目的MAC地址是否是网关的MAC地址确定是否需要在VXLAN网络中转发报文,若第一报文的目的地址是网关的MAC地址,则确定不需要在VXLAN网络中转发第一报文,若第一报文的目的地址不是网关的MAC地址,则确定需要在VXLAN网络中转发第一报文。S22的实现方法有很多种,这里仅列举一种方式进行说明。
具体的,上述S23中的确定之前是否接收过携带第一VID的第二报文的实现过程,具体包括:确定第一VID是否是保存在本地转发表中;若确定第一VID保存在本地转发表中,则确定之前接收过第二报文;若第一VID未保存在本地转发表中,则确定之前未接收过第二报文,在本地转发表中保存第一VID。
VTEP可以预先建立本地转发表,在本地转发表中记录接收到的报文携带的VID,当接收到第一报文后,可以根据第一报文携带的第一VID是否保存在本地转发表中确定之前是否接收过携带第一VID的第二报文,并且在确定之前未接受过第二报文后,将第一VID保存在本地转发表中,以便于后续接收到报文后进行判断。
相应地,如图4所示为另一种报文转发方法,在如图2所示的报文转发方法的基础上还包括:
S26:在本地转发表包括第一VID的表项中记录第一报文的接收时间。
S27:监控当前时间与接收时间之间的时间差值是否超过设定差值。
S28:若时间差值超过设定差值,则删除本地转发表中包括第一VID的表项,并在VLAN转发表中查找第一VID对应的VTEP。
S29:若查找到第一VID对应的VTEP,则向与第一VID对应的VTEP发送携带第一VID的删除消息,以使第一VID对应的VTEP删除各自的VLAN转发表中保存包括第一VID的表项。
若VTEP级联的终端运行的VM发生下线或者迁移,则该VM不会通过终端发送携带第一VID的报文,因此,可以通过监控当前时间与第一报文的接收时间之间的时间差值是否超过设定差值来判断VM是否发生下线或者迁移,若时间差值超过设定差值,则认为VTEP级联的终端运行的VM发生下线或者迁移,删除本地转发表中包括第一VID的表项,并可以在VLAN转发表中查找第一VID对应的VTEP,并向这些VTEP发送携带第一VID的删除消息,以使第一VID对应的VTEP删除各自的VLAN转发表中保存包括第一VID的表项,从而可以实现通知VXLAN网VTEP无需向本VTEP转发携带第一VID的报文。
其中,设定差值可以根据实际需要进行设定,例如,可以设定为1秒、3秒、5秒等等。
下面以一个具体实例说明上述报文转发方法。如图1所示,当VXLAN网络部署好之后,S1、S2、S3、S4两两之间建立了VXLAN隧道,隧道建立的过程这里不再赘述。假设VM1最先起机,VM1起机后一般会发送地址解析协议(Address Resolution Protocol,ARP)请求报文请求网关地址或者发送免费ARP报文,ARP请求报文或者免费ARP报文中会携带VID=1,S1接收到VM1通过P1发送的报文,获取报文中携带的VID为1,S1可以获知P1运行属于VID=1的VLAN的VM,但是此时S2、S3、S4上并没有其他的VM起机,S1上保存的VLAN转发表为空,S1无需转发该报文,只要在本地转发表添加VID=1的表项即可,并且向S2、S3、S4发送携带VID=1的添加消息,以将S1级联的P1下运行属于VID=1的VLAN的VM的消息通知给S2、S3、S4,S2、S3、S4可以在各自的VLAN转发表中添加表项,该表项中保存VID=1和S1。当VM1起机后,S1、S2、S3、S4之间的VXLAN隧道上绑定的VID如下表所示:
当VM1-VM11都起机后,整个VXLAN网络中S1、S2、S3、S4上的VXLAN隧道关于VID的绑定情况如下表所示:
在VM1-VM11全部起机后,假设,VM1通过P1发送了携带VID=1的广播报文或者组播报文,S1收到后,查询VLAN转发表,只会通过tunnel3向S4转发广播报文或者组播报文。S2和S3不会收到该广播报文或者组播报文。因此,该方案不仅提高了服务器转发的效率,而且极大的节省了VXLAN网络之间的带宽。
还可以配置设定差值,例如配置为10分钟,当VM1下线或者迁移后,S1在10分钟内没有收到携带VID=1的报文,此时S1会向S2、S3、S4发送携带VID=1的删除消息,以通知S2、S3、S4删除各自的VLAN转发表中包括VID=1的表项,整个VXLAN网络中S1、S2、S3、S4上的VXLAN隧道关于VID的绑定情况如下表所示:
若此时S4级联的P4运行的VM9发出了携带VID=1的广播报文或者组播报文,S4查询转发自身的VLAN转发表,此时并没有隧道口可以转发,因此不会往VXLAN隧道口转发。
基于同一发明构思,本发明实施例提供一种报文转发装置,应用在VXLAN网络包括的VTEP中,该装置的结构如图5所示,包括:
第一确定模块51,用于接收到级联的终端发送的第一报文后,确定是否需要在VXLAN网络中转发第一报文;
获取模块52,用于若确定需要在VXLAN网络中转发第一报文,则获取第一报文中携带的第一VID;
第二确定模块53,用于确定之前是否接收过携带第一VID的第二报文;
转发模块54,用于若确定之前接收过第二报文,则在VLAN转发表中查找第一VID对应的VTEP,若查找到第一VID对应的VTEP,则将第一报文转发给第一VID对应的VTEP;若确定之前未接收过第二报文,则在VLAN转发表中查找第一VID对应的VTEP,若查找到第一VID对应的VTEP,则将第一报文转发给第一VID对应的VTEP,并将携带第一VID的添加消息发送给VXLAN网络中的其他VTEP,以使VXLAN网络中的其他VTEP在各自的VLAN转发表中对应保存第一VID和第一VID对应的VTEP。
该方案中,VTEP接收到第一报文后,并不是直接将第一报文发送给VXLAN网络中的其他VTEP,而是发送给第一报文中携带的第一VID对应的VTEP,从而能够节省网络带宽资源,提升服务器的性能,尤其是当VXLAN中的服务器数据巨大时,能够大大节省网络带宽资源,大大提升服务器的性能。
可选的,还包括更新模块,用于:
接收到VXLAN网络包括的其他VTEP发送的携带第二VID的添加消息,在VLAN转发表中保存第二VID与第二VID对应的VTEP;或者,
接收到VXLAN网络包括的其他VTEP发送的携带第二VID的删除消息,在VLAN转发表中删除第二VID与第二VID对应的VTEP。
具体的,第一确定模块,用于确定是否需要在VXLAN网络中转发第一报文,具体用于:
获取第一报文的目的MAC地址;
确定目的MAC地址是否是网关的MAC地址;
若目的MAC地址不是网关的MAC地址,则确定需要在VXLAN网络中转发第一报文;若目的MAC地址是网关的MAC地址,则确定不需要在VXLAN中转发第一报文。
具体的,第二确定模块,用于确定之前是否接收过携带第一VID的第二报文,具体用于:
确定第一VID是否是保存在本地转发表中;
若确定第一VID保存在本地转发表中,则确定之前接收过第二报文;若第一VID未保存在本地转发表中,则确定之前未接收过第二报文,在本地转发表中保存第一VID。
可选的,还包括:
记录模块,用于在本地转发表包括第一VID的表项中记录第一报文的接收时间;
监控模块,用于监控当前时间与接收时间之间的时间差值是否超过设定差值;
查找模块,用于若时间差值超过设定差值,则删除本地转发表中包括第一VID的表项,并在VLAN转发表中查找第一VID对应的VTEP;
发送模块,用于若查找到第一VID对应的VTEP,则向与第一VID对应的VTEP发送携带第一VID的删除消息,以使第一VID对应的VTEP删除各自的VLAN转发表中保存包括第一VID的表项。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种报文转发方法,应用在虚拟可扩展局域网VXLAN网络包括的虚拟可扩展局域网隧道终端VTEP中,其特征在于,所述方法包括:
所述VTEP接收到级联的终端发送的第一报文后,确定是否需要在所述VXLAN网络中转发所述第一报文;
若确定需要在所述VXLAN网络中转发所述第一报文,则获取所述第一报文中携带的第一虚拟局域网标识VID;
确定之前是否接收过携带所述第一VID的第二报文;
若确定之前接收过所述第二报文,则在虚拟局域网VLAN转发表中查找所述第一VID对应的VTEP,若查找到所述第一VID对应的VTEP,则将所述第一报文转发给所述第一VID对应的VTEP;
若确定之前未接收过所述第二报文,则在所述VLAN转发表中查找所述第一VID对应的VTEP,若查找到所述第一VID对应的VTEP,则将所述第一报文转发给所述第一VID对应的VTEP,并将携带所述第一VID的添加消息发送给所述VXLAN网络中的其他VTEP,以使所述VXLAN网络中的其他VTEP在各自的VLAN转发表中对应保存所述第一VID和所述第一VID对应的VTEP;
其中,确定之前是否接收过携带所述第一VID的第二报文,具体包括:
确定所述第一VID是否是保存在本地转发表中;
若确定所述第一VID保存在所述本地转发表中,则确定之前接收过所述第二报文;若所述第一VID未保存在所述本地转发表中,则确定之前未接收过所述第二报文,在所述本地转发表中保存所述第一VID。
2.如权利要求1所述的方法,其特征在于,还包括:
接收到所述VXLAN网络包括的其他VTEP发送的携带第二VID的添加消息,在所述VLAN转发表中保存所述第二VID与所述第二VID对应的VTEP;或者,
接收到所述VXLAN网络包括的其他VTEP发送的携带第二VID的删除消息,在所述VLAN转发表中删除所述第二VID与所述第二VID对应的VTEP。
3.如权利要求1所述的方法,其特征在于,确定是否需要在所述VXLAN网络中转发所述第一报文,具体包括:
获取所述第一报文的目的媒体访问控制MAC地址;
确定所述目的MAC地址是否是网关的MAC地址;
若所述目的MAC地址不是所述网关的MAC地址,则确定需要在所述VXLAN网络中转发所述第一报文;若所述目的MAC地址是所述网关的MAC地址,则确定不需要在所述VXLAN中转发所述第一报文。
4.如权利要求1所述的方法,其特征在于,还包括:
在所述本地转发表包括所述第一VID的表项中记录所述第一报文的接收时间;以及,
监控当前时间与所述接收时间之间的时间差值是否超过设定差值;
若所述时间差值超过所述设定差值,则删除所述本地转发表中包括所述第一VID的表项,并在所述VLAN转发表中查找所述第一VID对应的VTEP;
若查找到所述第一VID对应的VTEP,则向与所述第一VID对应的VTEP发送携带第一VID的删除消息,以使所述第一VID对应的VTEP删除各自的VLAN转发表中保存包括所述第一VID的表项。
5.一种报文转发装置,应用在虚拟可扩展局域网VXLAN网络包括的虚拟可扩展局域网隧道终端VTEP中,其特征在于,所述装置包括:
第一确定模块,用于接收到级联的终端发送的第一报文后,确定是否需要在所述VXLAN网络中转发所述第一报文;
获取模块,用于若确定需要在所述VXLAN网络中转发所述第一报文,则获取所述第一报文中携带的第一虚拟局域网标识VID;
第二确定模块,用于确定之前是否接收过携带所述第一VID的第二报文;
转发模块,用于若确定之前接收过所述第二报文,则在虚拟局域网VLAN转发表中查找所述第一VID对应的VTEP,若查找到所述第一VID对应的VTEP,则将所述第一报文转发给所述第一VID对应的VTEP;若确定之前未接收过所述第二报文,则在所述VLAN转发表中查找所述第一VID对应的VTEP,若查找到所述第一VID对应的VTEP,则将所述第一报文转发给所述第一VID对应的VTEP,并将携带所述第一VID的添加消息发送给所述VXLAN网络中的其他VTEP,以使所述VXLAN网络中的其他VTEP在各自的VLAN转发表中对应保存所述第一VID和所述第一VID对应的VTEP;
其中,所述第二确定模块,用于确定之前是否接收过携带所述第一VID的第二报文,具体用于:
确定所述第一VID是否是保存在本地转发表中;
若确定所述第一VID保存在所述本地转发表中,则确定之前接收过所述第二报文;若所述第一VID未保存在所述本地转发表中,则确定之前未接收过所述第二报文,在所述本地转发表中保存所述第一VID。
6.如权利要求5所述的装置,其特征在于,还包括更新模块,用于:
接收到所述VXLAN网络包括的其他VTEP发送的携带第二VID的添加消息,在所述VLAN转发表中保存所述第二VID与所述第二VID对应的VTEP;或者,
接收到所述VXLAN网络包括的其他VTEP发送的携带第二VID的删除消息,在所述VLAN转发表中删除所述第二VID与所述第二VID对应的VTEP。
7.如权利要求5所述的装置,其特征在于,第一确定模块,用于确定是否需要在所述VXLAN网络中转发所述第一报文,具体用于:
获取所述第一报文的目的媒体访问控制MAC地址;
确定所述目的MAC地址是否是网关的MAC地址;
若所述目的MAC地址不是所述网关的MAC地址,则确定需要在所述VXLAN网络中转发所述第一报文;若所述目的MAC地址是所述网关的MAC地址,则确定不需要在所述VXLAN中转发所述第一报文。
8.如权利要求5所述的装置,其特征在于,还包括:
记录模块,用于在所述本地转发表包括所述第一VID的表项中记录所述第一报文的接收时间;
监控模块,用于监控当前时间与所述接收时间之间的时间差值是否超过设定差值;
查找模块,用于若所述时间差值超过所述设定差值,则删除所述本地转发表中包括所述第一VID的表项,并在所述VLAN转发表中查找所述第一VID对应的VTEP;
发送模块,用于若查找到所述第一VID对应的VTEP,则向与所述第一VID对应的VTEP发送携带第一VID的删除消息,以使所述第一VID对应的VTEP删除各自的VLAN转发表中保存包括所述第一VID的表项。
CN201610770367.0A 2016-08-30 2016-08-30 报文转发方法及装置 Active CN106385354B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610770367.0A CN106385354B (zh) 2016-08-30 2016-08-30 报文转发方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610770367.0A CN106385354B (zh) 2016-08-30 2016-08-30 报文转发方法及装置

Publications (2)

Publication Number Publication Date
CN106385354A CN106385354A (zh) 2017-02-08
CN106385354B true CN106385354B (zh) 2019-08-20

Family

ID=57938299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610770367.0A Active CN106385354B (zh) 2016-08-30 2016-08-30 报文转发方法及装置

Country Status (1)

Country Link
CN (1) CN106385354B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106921578B (zh) * 2017-03-14 2020-01-03 新华三技术有限公司 一种转发表项的生成方法和装置
CN107864232B (zh) * 2017-10-24 2021-01-26 新华三技术有限公司 表项处理方法及装置
CN108418740B (zh) * 2018-02-28 2020-09-08 新华三技术有限公司 报文处理方法及装置
CN109167731B (zh) * 2018-08-30 2021-06-08 新华三技术有限公司 报文发送方法及装置
CN110430116B (zh) * 2019-07-26 2021-05-07 新华三技术有限公司成都分公司 数据转发方法及装置、边缘设备及可读存储介质
CN113872844B (zh) * 2020-06-30 2023-07-18 华为技术有限公司 建立vxlan隧道的方法及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103647853A (zh) * 2013-12-04 2014-03-19 华为技术有限公司 一种在VxLAN中发送ARP报文发送方法、VTEP及VxLAN控制器
CN103814554A (zh) * 2013-12-11 2014-05-21 华为技术有限公司 一种虚拟可扩展局域网的通信方法、装置和系统
CN103841028A (zh) * 2014-03-24 2014-06-04 杭州华三通信技术有限公司 一种报文转发方法及设备
CN104243269A (zh) * 2014-09-24 2014-12-24 杭州华三通信技术有限公司 一种虚拟扩展局域网报文的处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6024474B2 (ja) * 2013-01-23 2016-11-16 富士通株式会社 マルチテナントシステム、管理装置、管理プログラム、およびマルチテナントシステムの制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103647853A (zh) * 2013-12-04 2014-03-19 华为技术有限公司 一种在VxLAN中发送ARP报文发送方法、VTEP及VxLAN控制器
CN103814554A (zh) * 2013-12-11 2014-05-21 华为技术有限公司 一种虚拟可扩展局域网的通信方法、装置和系统
CN103841028A (zh) * 2014-03-24 2014-06-04 杭州华三通信技术有限公司 一种报文转发方法及设备
CN104243269A (zh) * 2014-09-24 2014-12-24 杭州华三通信技术有限公司 一种虚拟扩展局域网报文的处理方法及装置

Also Published As

Publication number Publication date
CN106385354A (zh) 2017-02-08

Similar Documents

Publication Publication Date Title
CN106385354B (zh) 报文转发方法及装置
US11888725B2 (en) Multi-cast support for a virtual network
CN104243269B (zh) 一种虚拟扩展局域网报文的处理方法及装置
US10374952B2 (en) Method for increasing layer-3 longest prefix match scale
CN111193653B (zh) 数据传输方法、装置、设备及存储介质
CN104243265B (zh) 一种基于虚拟机迁移的网关控制方法、装置及系统
CN103200069B (zh) 一种报文处理的方法和设备
TWI504193B (zh) 用於在雲計算中卸載隧道資料包的方法和系統
US9460289B2 (en) Securing a virtual environment
CN105264493A (zh) 信息中心网络上的动态虚拟机迁移
CN105991387A (zh) 虚拟扩展局域网的报文传输方法和装置
CN109194559B (zh) 组播方法及vtep设备
CN107547349A (zh) 一种虚拟机迁移的方法及装置
US10999195B1 (en) Multicast VPN support in data centers using edge replication tree
CN107645431B (zh) 报文转发方法及装置
CN106712988A (zh) 一种虚拟网络管理方法及装置
CN103581274B (zh) 一种堆叠系统中报文转发方法和装置
CN107306215B (zh) 一种数据处理方法、系统及节点
US10397340B2 (en) Multicast migration
CN110460684A (zh) Vxlan同网段的广播域隔离方法及装置
CN104468371A (zh) 组播业务报文处理方法及装置
CN106230667B (zh) Vtep保活检测方法及装置
CN106130867B (zh) 跨数据中心的虚拟机通信方法及装置
CN109412976B (zh) 数据传输方法、装置、系统、服务器、电子设备及介质
CN106921553B (zh) 在虚拟网络中实现高可用的方法及系统

Legal Events

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