报文发送方法及装置制造方法及图纸

技术编号:20049681 阅读:31 留言:0更新日期:2019-01-09 05:45
本发明专利技术提供一种报文发送方法及装置,该方法包括:根据泛洪报文携带的目的地址和预先设置的VXLAN组播映射表,获取泛洪报文映射的VTEP组播组地址,并判断是否有与VTEP组播组地址对应的VTEP组播组表项。若存在,则对泛洪报文进行封装,得到第一封装报文,并根据第一封装报文中的VTEP组播组地址和VTEP组播组表项中的出接口,发送第一封装报文。当VTEP设备包括对应的VTEP组播组表项时,可以根据VTEP组播组表项中所记录的出接口,对第一封装报文进行发送,使得接收第一封装报文的远端VTEP设备可以向对应服务器的虚拟机转发泛洪报文,避免了远端VTEP设备接收第一封装报文后没有可以接收泛洪报文的虚拟机的情况,减少了VTEP设备发送第一封装报文所占用的带宽,提高了带宽利用率。

【技术实现步骤摘要】
报文发送方法及装置
本专利技术涉及通信
,特别涉及一种报文发送方法及装置。
技术介绍
在发送报文的过程中,通常需要根据报文中的MAC(MediaAccessControl,媒体接入控制)地址对报文进行转发。但是,随着虚拟机数量的不断增加,而MAC表中各个MAC地址的数目并未发生变化,使得虚拟机的数量受到限制。因此,基于IP(IntemetProtocol,互联网协议)网络,产生了采用了MACinUDP(UserDatagramProtocol,用户数据报协议)技术的VXLAN(VirtualeXtensibleLocalAreaNetwork,可扩展虚拟局域网)。相关技术中,若采用VXLAN组播路由的方式对泛洪报文进行发送,则在同一个VXLAN中的各个VTEP(VXLANTunnelEndPoint,VXLAN隧道端点)设备均需要加入相同的组播组,而位于IP(InternetProtocol,互联网协议)核心网络中,与各个VTEP设备连接的核心设备则可以建立该组播组的组播转发表项。若第一VTEP设备对应的一个服务器中的任意一个虚拟机,向第一VTEP设备发送了泛洪报文,则第一VTEP设备可以接收该泛洪报文,并根据该泛洪报文所属的VXLAN,对该泛洪报文进行封装,向IP核心网络的核心设备发送封装后的报文,核心设备在接收封装后的报文后,可以根据已建立的组播转发表项,向VXLAN中的除第一VTEP设备之外的其他各个VTEP设备转发复制后的报文。相应的,其他各个VTEP设备可以接收核心设备复制并转发的报文,并对该报文进行解封,向相对应的各个服务器中属于相同VXLAN内的各个虚拟机发送解封后的报文。但是,如果某个VTEP设备对应的服务器中不存在属于相同VXLAN的虚拟机,则VTEP设备会丢弃接收的报文,而VTEP设备在接收被丢弃的报文的过程中,接收报文所占用的带宽就被浪费,使得带宽的利用率较低。
技术实现思路
本专利技术的目的在于,针对上述现有技术中的不足,提供一种报文发送方法及装置。本专利技术的目的之一提供一种报文发送方法,所述方法包括:根据泛洪报文携带的目的地址和预先设置的可扩展虚拟局域网VXLAN组播映射表,获取所述泛洪报文映射的可扩展虚拟局域网隧道端点VTEP组播组地址;判断是否有与所述VTEP组播组地址对应的VTEP组播组表项;若存在与所述VTEP组播组地址对应的VTEP组播组表项,对所述泛洪报文进行封装,得到第一封装报文,所述第一封装报文包括所述VTEP组播组地址;根据所述第一封装报文中的VTEP组播组地址和所述VTEP组播组表项中的出接口,发送所述第一封装报文。进一步地,在所述根据泛洪报文携带的目的地址和预先设置的可扩展虚拟局域网VXLAN组播映射表,获取所述泛洪报文映射的可扩展虚拟局域网隧道端点VTEP组播组地址之前,所述方法还包括:接收协议报文,所述协议报文包括待加入组播地址;根据所述待加入组播地址和预设映射规则进行映射,得到所述协议报文映射后的初始VTEP组播组地址;判断是否有与所述初始VTEP组播组地址对应的初始VTEP组播组表项,得到判断结果;根据所述判断结果,对所述初始VTEP组播组表项进行更新。进一步地,所述协议报文的报文类型包括:组播组加入报文和组播组退出报文;在所述判断是否有与所述初始VTEP组播组地址对应的初始VTEP组播组表项,得到判断结果之前,所述方法还包括:确定所述协议报文的报文类型;所述根据所述判断结果,对所述初始VTEP组播组表项进行更新,包括:根据所述协议报文的报文类型和所述判断结果,对所述初始VTEP组播组表项进行更新。进一步地,所述根据所述协议报文的报文类型和所述判断结果,对所述初始VTEP组播组表项进行更新,包括:若所述协议报文的报文类型为组播组加入报文、且不存在所述初始VTEP组播组表项,则根据所述待加入组播地址、所述初始VTEP组播组地址、与所述协议报文对应的报文接收接口、以及与所述协议报文对应的主机地址,建立所述初始VTEP组播组表项;向核心设备发送新增信息,所述新增信息用于指示所述核心设备加入所述初始VTEP组播组地址对应的组播组、并建立所述初始VTEP组播组表项中所述初始VTEP组播组地址对应的组播转发路径。进一步地,所述根据所述协议报文的报文类型和所述判断结果,对所述初始VTEP组播组表项进行更新,包括:若所述协议报文的报文类型为组播组加入报文、且存在所述初始VTEP组播组表项,则判断所述初始VTEP组播组表项是否包括与所述协议报文对应的报文接收接口相一致的出接口;若包括,则在所述初始VTEP组播组表项中,将与所述协议报文对应的主机地址,添加为与所述出接口对应的主机地址;若不包括,则将与所述协议报文对应的报文接收接口、以及与所述协议报文对应的主机地址,添加至所述初始VTEP组播组表项中。进一步地,所述根据所述协议报文的报文类型和所述判断结果,对所述初始VTEP组播组表项进行更新,包括:若所述协议报文的报文类型为组播组退出报文、且不存在所述初始VTEP组播组表项,则丢弃所述协议报文;若所述协议报文的报文类型为组播组退出报文、且存在所述初始VTEP组播组表项,则判断所述初始VTEP组播组表项中,是否包括与所述协议报文对应的报文接收接口相一致的出接口;若所述初始VTEP组播组表项中,不包括与所述协议报文对应的报文接收接口相一致的出接口,则丢弃所述协议报文;若所述初始VTEP组播组表项中,包括与所述协议报文对应的报文接收接口相一致的出接口,则判断所述出接口对应的主机地址是否仅包括所述协议报文对应的主机地址。进一步地,在所述判断所述出接口对应的主机地址是否仅包括所述协议报文对应的主机地址之后,所述方法还包括:若所述出接口对应的主机地址并非仅包括所述协议报文对应的主机地址,则删除所述协议报文对应的主机地址;若所述出接口对应的主机地址仅包括所述协议报文对应的主机地址,则判断所述出接口是否为所述初始VTEP组播组表项中的唯一出接口;若所述出接口并不是所述初始VTEP组播组表项中的唯一出接口,则删除所述出接口;若所述出接口是所述初始VTEP组播组表项中的唯一出接口,则删除所述初始VTEP组播组表项;并向核心设备发送删除信息,所述删除信息用于指示所述核心设备退出所述初始VTEP组播组地址对应的组播组,并删除所述初始VTEP组播组表项中所述初始VTEP组播组地址对应的组播转发路径。进一步地,在所述建立所述初始VTEP组播组表项之后,所述方法还包括:获取所述初始VTEP组播组表项中的协议报文对应的主机地址和初始VTEP组播组地址;建立所述协议报文对应的主机地址和所述初始VTEP组播组地址之间的映射关系;根据所述映射关系对所述VXLAN组播映射表进行更新。进一步地,所述方法还包括:接收远端VTEP设备发送的第二封装报文;确定所述第二封装报文的报文类型;根据所述第二封装报文的报文类型发送所述第二封装报文。进一步地,所述第二封装报文的报文类型包括:组播数据报文、协议报文、广播报文和未知单播数据报文;所述根据所述第二封装报文的报文类型发送所述第二封装报文,包括:若所述第二封装报文的报文类型为组播数据报文,根据目标VTEP组播组表项中的至少一个出接口,发送所述第二封装报文,所述目本文档来自技高网
...

【技术保护点】
1.一种报文发送方法,其特征在于,所述方法包括:根据泛洪报文携带的目的地址和预先设置的可扩展虚拟局域网VXLAN组播映射表,获取所述泛洪报文映射的可扩展虚拟局域网隧道端点VTEP组播组地址;判断是否有与所述VTEP组播组地址对应的VTEP组播组表项;若存在与所述VTEP组播组地址对应的VTEP组播组表项,对所述泛洪报文进行封装,得到第一封装报文,所述第一封装报文包括所述VTEP组播组地址;根据所述第一封装报文中的VTEP组播组地址和所述VTEP组播组表项中的出接口,发送所述第一封装报文。

【技术特征摘要】
1.一种报文发送方法,其特征在于,所述方法包括:根据泛洪报文携带的目的地址和预先设置的可扩展虚拟局域网VXLAN组播映射表,获取所述泛洪报文映射的可扩展虚拟局域网隧道端点VTEP组播组地址;判断是否有与所述VTEP组播组地址对应的VTEP组播组表项;若存在与所述VTEP组播组地址对应的VTEP组播组表项,对所述泛洪报文进行封装,得到第一封装报文,所述第一封装报文包括所述VTEP组播组地址;根据所述第一封装报文中的VTEP组播组地址和所述VTEP组播组表项中的出接口,发送所述第一封装报文。2.根据权利要求1所述的方法,其特征在于,在所述根据泛洪报文携带的目的地址和预先设置的可扩展虚拟局域网VXLAN组播映射表,获取所述泛洪报文映射的可扩展虚拟局域网隧道端点VTEP组播组地址之前,所述方法还包括:接收协议报文,所述协议报文包括待加入组播地址;根据所述待加入组播地址和预设映射规则进行映射,得到所述协议报文映射后的初始VTEP组播组地址;判断是否有与所述初始VTEP组播组地址对应的初始VTEP组播组表项,得到判断结果;根据所述判断结果,对所述初始VTEP组播组表项进行更新。3.根据权利要求2所述的方法,其特征在于,所述协议报文的报文类型包括:组播组加入报文和组播组退出报文;在所述判断是否有与所述初始VTEP组播组地址对应的初始VTEP组播组表项,得到判断结果之前,所述方法还包括:确定所述协议报文的报文类型;所述根据所述判断结果,对所述初始VTEP组播组表项进行更新,包括:根据所述协议报文的报文类型和所述判断结果,对所述初始VTEP组播组表项进行更新。4.根据权利要求3所述的方法,其特征在于,所述根据所述协议报文的报文类型和所述判断结果,对所述初始VTEP组播组表项进行更新,包括:若所述协议报文的报文类型为组播组加入报文、且不存在所述初始VTEP组播组表项,则根据所述待加入组播地址、所述初始VTEP组播组地址、与所述协议报文对应的报文接收接口、以及与所述协议报文对应的主机地址,建立所述初始VTEP组播组表项;向核心设备发送新增信息,所述新增信息用于指示所述核心设备加入所述初始VTEP组播组地址对应的组播组、并建立所述初始VTEP组播组表项中所述初始VTEP组播组地址对应的组播转发路径。5.根据权利要求3所述的方法,其特征在于,所述根据所述协议报文的报文类型和所述判断结果,对所述初始VTEP组播组表项进行更新,包括:若所述协议报文的报文类型为组播组加入报文、且存在所述初始VTEP组播组表项,则判断所述初始VTEP组播组表项是否包括与所述协议报文对应的报文接收接口相一致的出接口;若包括,则在所述初始VTEP组播组表项中,将与所述协议报文对应的主机地址,添加为与所述出接口对应的主机地址;若不包括,则将与所述协议报文对应的报文接收接口、以及与所述协议报文对应的主机地址,添加至所述初始VTEP组播组表项中。6.根据权利要求3所述的方法,其特征在于,所述根据所述协议报文的报文类型和所述判断结果,对所述初始VTEP组播组表项进行更新,包括:若所述协议报文的报文类型为组播组退出报文、且不存在所述初始VTEP组播组表项,则丢弃所述协议报文;若所述协议报文的报文类型为组播组退出报文、且存在所述初始VTEP组播组表项,则判断所述初始VTEP组播组表项中,是否包括与所述协议报文对应的报文接收接口相一致的出接口;若所述初始VTEP组播组表项中,不包括与所述协议报文对应的报文接收接口相一致的出接口,则丢弃所述协议报文;若所述初始VTEP组播组表项中,包括与所述协议报文对应的报文接收接口相一致的出接口,则判断所述出接口对应的主机地址是否仅包括所述协议报文对应的主机地址。7.根据权利要求6所述的方法,其特征在于,在所述判断所述出接口对应的主机地址是否仅包括所述协议报文对应的主机地址之后,所述方法还包括:若所述出接口对应的主机地址并非仅包括所述协议报文对应的主机地址,则删除所述协议报文对应的主机地址;若所述出接口对应的主机地址仅包括所述协议报文对应的主机地址,则判断所述出接口是否为所述初始VTEP组播组表项中的唯一出接口;若所述出接口并不是所述初始VTEP组播组表项中的唯一出接口,则删除所述出接口;若所述出接口是所述初始VTEP组播组表项中的唯一出接口,则删除所述初始VTEP组播组表项;并向核心设备发送删除信息,所述删除信息用于指示所述核心设备退...

【专利技术属性】
技术研发人员:杨斌
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1