一种vxlan网络中报文转发方法及装置的制造方法

文档序号:8285145阅读:394来源:国知局
一种vxlan网络中报文转发方法及装置的制造方法
【技术领域】
[0001]本发明涉及网络通信技术领域,特别涉及一种VXLAN网络中报文转发方法及装置。
【背景技术】
[0002]VXLAN是一种MAC-1n-UDP技术,它通过在网络的2.5层设置一个新的网络分段模式,加入了一个24bit的段标识符,极大的扩充了云计算环境中所能支持的逻辑网络的数量;并且使得工作负载与物理网络脱离,实现逻辑网络跨越IP网络。
[0003]目前VXLAN组网示意图如图1所示。虚拟通道终端(VTEP)设备(封装解封装VXLAN设备),可以是物理服务器的虚拟交换机(vSwitch),也可以是物理交换机。如图1,VTEPl和VTEP2之间存在VXLAN隧道(Tunnel),VTEPl下挂的主机Hostl通过VXLAN隧道与VTEP2下挂的Serverl进行通信。VTEPl在学习本地主机Hostl的MAC地址时,若MAC地址空间满或者地址冲突,该主机Hostl的源MAC地址就无法学习到,当从远端VTEP2收到内层目的MAC地址是该主机Hostl的VXLAN报文时,弹掉VXLAN隧道在VXLAN实例内进行目的MAC查找,由于本地没有该MAC,报文将会在VXLAN实例内广播,报文不仅仅从连接该主机的端口转发,而且会从VXLAN实例所有其他端口转发,严重影响本地VTEP的转发效率。

【发明内容】

[0004]本发明的目的在于提供了一种VXLAN网络中报文转发方法及装置,减少由于源MAC地址学习失败而导致的广播泛洪。
[0005]本发明实施例提供了一种VXLAN网络中报文转发方法,所述VXLAN网络包括VXLAN隧道两端的第一虚拟通道终端VTEP和第二 VTEP,所述第一 VTEP连接有源主机,该方法包括:当在本地学习所述源主机的MAC地址失败时,第一 VTEP将本地地址学习失败的源主机信息发送给第二 VTEP,以使第二 VTEP保存源主机的MAC地址、所述源主机信息,以及VXLAN隧道接口之间的对应关系;所述源主机信息用于识别该源主机的MAC地址在本地的出接口 ;第一 VTEP接收第二 VTEP的数据报文;所述数据报文携带有所述源主机信息;第一 VTEP根据所述数据报文的目的MAC和源主机信息中的源主机的MAC地址在本地的出接口,将该数据报文转发到所述源主机。
[0006]本发明实施例还提供了一种VXLAN网络中报文转发方法,所述VXLAN网络包括VXLAN隧道两端的第一虚拟通道终端VTEP和第二 VTEP,所述第一 VTEP连接有源主机,该方法包括:第二 VTEP接收第一 VTEP发送的本地地址学习失败的源主机信息,其中,所述源主机信息用于识别该源主机的MAC地址在第一 VTEP的出接口;第二 VTEP保存源主机的MAC地址、所述源主机信息,以及VXLAN隧道接口之间的对应关系;当根据从本地接收到的数据报文确定所转发数据报文的目的MAC地址为第一 VTEP下所述源主机的MAC地址时,第二 VTEP根据所述对应关系,向第一 VTEP转发VXLAN隧道封装的数据报文,以使第一 VTEP根据目的MAC地址和所述数据报文的VXLAN隧道头中携带有所述源主机信息将所述数据报文转发至所述源主机。
[0007]本发明实施例还提供了一种VXLAN网络中报文转发装置,所述VXLAN网络包括VXLAN隧道两端的第一虚拟通道终端VTEP和第二 VTEP,该装置位于第一 VTEP上,所述第一VTEP连接有源主机,包括:发送单元,用于当在本地学习所述源主机的MAC地址失败时,将本地地址学习失败的源主机信息发送给第二 VTEP,以使第二 VTEP保存源主机的MAC地址、所述源主机信息,以及VXLAN隧道接口之间的对应关系;所述源主机信息用于识别该源主机的MAC地址在本地的出接口 ;第一接收单元,用于接收第二 VTEP的数据报文;所述数据报文携带有所述源主机信息;处理单元,用于根据所述数据报文的目的MAC和源主机信息中的源主机的MAC地址在本地的出接口,将该数据报文转发到所述源主机。
[0008]本发明实施例还提供了一种VXLAN网络中报文转发装置,所述VXLAN网络包括VXLAN隧道两端的第一虚拟通道终端VTEP和第二 VTEP,该装置位于第二 VTEP上,所述第一VTEP连接有源主机,包括:第二接收单元,接收第一 VTEP发送的本地地址学习失败的源主机信息,其中,所述源主机信息用于识别该源主机的MAC地址在第一 VTEP的出接口 ;保存单元,保存源主机的MAC地址、所述源主机信息,以及VXLAN隧道接口之间的对应关系;转发单元,当根据从本地接收到的数据报文确定所转发数据报文的目的MAC地址为第一 VTEP下所述源主机的MAC地址时,根据所述对应关系,向第一 VTEP转发VXLAN隧道封装的数据报文,以使第一 VTEP根据目的MAC地址和所述数据报文的VXLAN隧道头中携带有所述源主机信息将所述数据报文转发至所述源主机。
[0009]本发明的有益效果在于,第一 VTEP虽然学习本地源主机MAC地址失败,但是第一VTEP从第二 VTEP接收到发往该源主机的数据报文时,根据VXLAN隧道封装的VXLAN隧道头中携带的该源主机信息,将数据报文转发到该源主机。不需要执行目的MAC查找,也不会在本地VXLAN实例内广播该数据报文,减少了未知单播的广播泛洪。
【附图说明】
[0010]图1为VXLAN组网示意图;
[0011]图2为本发明提供的一种VXLAN网络中报文转发方法的流程示意图;
[0012]图3为本发明实施例一至三的应用组网场景示意图;
[0013]图4为本发明提供的一种VXLAN网络中报文转发装置,该装置位于第一 VTEP上的结构示意图;
[0014]图5为本发明提供的一种VXLAN网络中报文转发装置,该装置位于第二 VTEP上的结构示意图。
【具体实施方式】
[0015]以下参照附图,对本发明实施例作进一步地详细说明。
[0016]如图2所示,本发明提供了一种VXLAN网络中报文转发方法,所述VXLAN网络包括VXLAN隧道两端的第一虚拟通道终端VTEP和第二 VTEP,该方法包括:
[0017]步骤21、当在本地学习所述源主机的MAC地址失败时,第一 VTEP将本地地址学习失败的源主机信息发送给第二 VTEP,以使第二 VTEP保存源主机的MAC地址、所述源主机信息,以及VXLAN隧道接口之间的对应关系;所述源主机信息用于识别该源主机的MAC地址在本地的出接口;
[0018]其中,第二 VTEP接收到所述源主机信息,需要进行远端MAC地址学习。
[0019]学习远端MAC地址有两种方式,如果采用第一种方式,第一 VTEP通过VXLAN隧道将VXLAN隧道头中携带有本地地址学习失败的源主机信息的VXLAN隧道报文发送给第二VTEP ;所述本地地址学习失败的源主机信息填充在VXLAN隧道头的源标识(Source ID)字段中。则第二 VTEP将所述源主机的MAC地址学习到所属VXLAN实例对应的MAC地址表中,并保存源主机的MAC地址、所述源主机信息,以及VXLAN隧道接口三者之间的对应关系。
[0020]如果采用第二种方式,第一 VTEP通过协议报文将本地地址学习失败的源主机信息通告给第二 VTEP ;所述本地地址学习失败的源主机信息填充在协议报文的源标识字段中。则第二 VTEP从协议报文中解析出源主机的MAC地址和源标识,将所述源主机的MAC地址学习到所属VXLAN实例对应的MAC地址表中,并保存源主机的MAC地址、所述源主机信息,以及VXLAN隧道接口三者之间的对应关系。
[0021]在第二种方式中,协议报文通告一般为组播报文通告,协议报文为VXLAN中间系统到中间系统 ISIS (Intermediate System to Intermediate System)协议报文。
[0022]步骤22、第一 VTEP接收第二 VTEP的数据报文;所述数据报文携带有所述源主机信息;
[0023]步骤23、第一 VTEP根据所述数据报文的目的MAC和源主机信息中的源主机的MAC地址在本地的出接口,将该数据报文转发到所述源主机。
[0024]其中,第一 VTEP从第二 VTEP所接收到的数据报文中,所述源主机信息携带于VXLAN隧道头的目标标识字段中。
[0025]综上,通过本发明提供的VXLAN网络中报文转发方法,第一 VTEP虽然学习本地源主机MAC地址失败,但是第一 VTEP从第二 VTEP接收到发往该源主机的数据报文时,根据VXLAN隧道封装的VXLAN隧道头中携带的该源主机信息,将数据报文转发到该源主机,不需要执行目的MAC查找,也不会在本地VXLAN实例内广播该数据报文,减少了未知单播的广播泛洪。
[0026]需要说明的是,对数据报文进行VXLAN隧道封装,在数据报文的外层依次封装带有VXLAN隧道头,UDP头,外层IP头,和外层MAC头。VXLAN隧道头中设置有VXLAN ID。本发明还在VXLAN隧道头的保留(Reserved)字段中设置源ID字段和目标ID字段。源ID字段或者目标ID字段可以分别使用两个字节的长度,理论上VTEP设备下可以有16384个数量的冲突的主机MAC地址。VTEP收到VXLAN隧道头部中若是携带目标ID字段,则根据目标ID字段查找出接口,而不必再通过MAC表查询,避免由于目的MAC地址未命中而导致的广播。VTEP收到VXLAN隧道头部中若是携带源ID字段,则执行远端源MAC学习形成MAC表时,出接口为携带了源ID的VXLAN隧道。
[0
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1