传输报文的方法、网络边缘设备与报文传输系统技术方案

技术编号:19751306 阅读:14 留言:0更新日期:2018-12-12 05:46
本申请提供一种传输报文的方法,包括:第一虚拟机的网络边缘设备判断第一容器与第二容器之间的通信链路中是否具有不支持对第一报文进行vxlan封装的接入交换机,第一报文是针对第二容器的vxlan报文,且是对第一容器的IP报文进行vxlan封装产生的;若否,对第一报文进行外层封装,产生第二报文,将第二报文发送至接入交换机,外层封装与vxlan封装为不同类型的封装。该方法在通信链路具有不支持对vxlan报文进行vxlan封装的接入交换机时,对报文的传输路径进行自动配置,对来自网络边缘设备的vxlan报文进行外层封装后发送至接入交换机,使得通信链路能够传输对vxlan报文进行vxlan封装后产生的报文。

【技术实现步骤摘要】
传输报文的方法、网络边缘设备与报文传输系统
本申请涉及信息
,并且更具体地,涉及信息
中的传输报文的方法、网络边缘设备与报文传输系统。
技术介绍
容器作为一种新兴的虚拟化方式,与传统的虚拟化方式相比具有众多的优势。在数据中心中,容器部署在数据中心的若干虚拟机上。一种用于容器通信的报文传输系统包括位于不同虚拟机上的至少两个容器和至少两个容器之间的网络设备。在该报文传输系统中,不同虚拟机上的至少两个容器的通信需要通过其所在的虚拟机。具体地,源端容器将报文发送给源端容器所在的源端虚拟机上的网络边缘设备,由源端虚拟机的网络边缘设备将源端容器报文转发至目的端的网络边缘设备,再由目的端网络边缘设备将报文转发至目的端容器,其中源端虚拟机的网络边缘设备通过至少一个接入交换机将报文转发至目的端虚拟机。容器之前通过可扩展虚拟局域网(VirtualExtensibleLAN,vxlan)网络通信,当虚拟机之间也通过vxlan网络进行通信时,需要对容器的报文进行两层vxlan封装,具体如下。源端虚拟机上的源端容器向目的端虚拟机上的目的端容器发送报文,该报文首先经过源端虚拟机上的网络边缘设备,该网络边缘设备对该报文进行vxlan封装,再将经过vxlan封装的报文发送至接入交换机,由接入交换机再次对该vxlan报文进行vxlan封装,接入交换机将连续经过两次vxlan封装的该报文发送至目的端虚拟机上的目的端容器。然而,在报文传输系统中,可能存在某两个虚拟机上的容器之间的通信链路中具有至少一个不支持对vxlan报文进行vxlan封装的接入交换机,例如,当网络边缘设备将经过vxlan封装的报文发送至接入交换机时,若该接入交换机不支持对vxlan报文进行vxlan封装,此时,接入交换机识别到该报文已经进行过vxlan封装,便会对该报文进行解封装,或者,直接丢弃该报文,进而导致容器之间的通信链路不通。
技术实现思路
本申请提供一种传输报文的方法,该方法能够在容器之间的通信链路具有至少一个不支持对vxlan报文进行vxlan封装的接入交换机时,通过对报文的传输路径进行自动配置,从而导通运行在不同计算设备上的容器之间的通信链路,使得该通信链路能够传输对vxlan报文进行vxlan封装后产生的报文。第一方面,提供了一种传输报文的方法,包括:第一虚拟机的网络边缘设备判断该第一虚拟机上的第一容器与第二虚拟机上的第二容器之间的通信链路中是否具有至少一个不支持对第一报文进行vxlan封装的接入交换机,其中,该第一报文是针对该第二容器的vxlan报文,该第一报文是该网络边缘设备对该第一容器的IP报文进行vxlan封装而产生的;若该通信链路中具有至少一个不支持对第一报文进行vxlan封装的接入交换机,该网络边缘设备对该第一报文进行外层封装以产生第二报文,并将该第二报文发送至接入交换机,该接入交换机用于对该第二报文进行vxlan封装,并用于将经过vxlan封装的该第二报文发送至第二虚拟机,其中,该外层封装与该vxlan封装为不同类型的封装,该接入交换机设置在该通信链路中,且与该第一虚拟机连接。通过在网络边缘设备中配置探测进程、vxlan封装/解封装模块与外层封装/解封装模块,并通过探测进程判断运行在不同计算设备上的容器之间的通信链路是否具有至少一个不支持对vxlan报文进行vxlan封装的接入交换机,在该通信链路中具有不支持对vxlan报文进行vxlan封装的接入交换机时,通过对发送端容器输出的IP报文的传输路径进行自动配置,使得该IP报文依次经过vxlan封装与外层封装后到达接入交换机,再由接入交换机将依次经过vxlan封装与外层封装的IP报文发送至接收端容器。本申请提供的传输报文的方法能够在容器之间的通信链路具有至少一个不支持对vxlan报文进行vxlan封装的接入交换机时,通过对报文的传输路径进行自动配置,对来自网络边缘设备的vxlan报文进行外层封装后发送至接入交换机,使得该通信链路能够传输对vxlan报文进行vxlan封装后产生的报文。结合第一方面,在第一方面的第一种实现方式中,该第一虚拟机的网络边缘设备判断该第一虚拟机上的第一容器与第二虚拟机上的第二容器之间的通信链路中是否具有至少一个不支持对第一报文进行vxlan封装的接入交换机,包括:该网络边缘设备构造第三报文,该第三报文为vxlan报文;该网络边缘设备将该第三报文发送至该接入交换机,该接入交换机用于对该第三报文进行vxlan封装,并用于将经过vxlan封装的第三报文发送至该第二虚拟机;该网络边缘设备根据是否接收到该第二虚拟机发送的针对该第三报文的回应报文,判断该第一虚拟机上的第一容器与第二虚拟机上的第二容器之间的通信链路中是否具有至少一个不支持对第一报文进行vxlan封装的接入交换机;该若通信链路中具有至少一个不支持对第一报文进行vxlan封装的接入交换机,该网络边缘设备对该第一报文进行外层封装以产生第二报文,并将该第二报文发送至接入交换机,具体包括:若该网络边缘设备未接收到该第二虚拟机发送的针对该第三报文的回应报文,该网络边缘设备对该第一报文进行外层封装以产生第二报文,并将该第二报文发送至接入交换机。结合第一方面的第一种实现方式,在第一方面的第二种实现方式中,该第三报文可以是网络边缘设备中的探测进程构造的,即,该探测进程在对该构造该第三报文时,便完成了对该第三报文的vxlan封装。结合第一方面的第一种实现方式,在第一方面的第三种实现方式中,该第三报文还可以是由网络边缘设备中的vxlan封装/解封装模块对探测进程构造的探测报文进行vxlan封装生成的。通过向第二虚拟机发送经过vxlan嵌套封装的第三报文,当第一虚拟机成功接收到第二虚拟机发送的针对第三报文的回应报文时,网络边缘设备确定第一虚拟机上运行的容器与第二虚拟机上运行的容器之间的通信链路具有至少一个不支持对vxlan报文进行vxlan封装的接入交换机;否则,当第一虚拟机未能成功接收到第二虚拟机发送的针对第三报文的回应报文时,网络边缘设备确定第一虚拟机上运行的容器与第二虚拟机上运行的容器之间的通信链路中包括的接入交换支持对vxlan报文进行vxlan封装。通过对容器之间的通信链路中是否包括不支持对vxlan报文进行vxlan封装的接入交换机进行判断,使得网络边缘设备能够根据判断结果,灵活地确定是否对第一报文进行外层封装,从而在确定无需对第一报文进行外层封装时,能够有效地节省信令开销,并且能够节省第一报文的传输时延。结合第一方面的第一种至第三种实现方式,在第一方面的第四种实现方式中,若该网络边缘设备未接收到该第二虚拟机发送的针对该第三报文的回应报文,该第一虚拟机判断该通信链路中是否具有至少一个不支持对该第一报文进行vxlan封装的接入交换机,包括:该网络边缘设备构造第四报文,该第四报文为依次经过vxlan封装与该外层封装的报文;该网络边缘设备将该第四报文发送至该接入交换机,该接入交换机用于对该第四报文进行vxlan封装,并用于将经过vxlan封装的第四报文发送至该第二虚拟机;该网络边缘设备根据是否接收到该第二虚拟机发送的针对该第四报文的回应报文,判断该第一虚拟机上的第一容器与第二虚拟机上的第二容器之间的通信链路中是否本文档来自技高网
...

【技术保护点】
1.一种传输报文的方法,其特征在于,包括:第一虚拟机的网络边缘设备判断所述第一虚拟机上的第一容器与第二虚拟机上的第二容器之间的通信链路中是否具有至少一个不支持对第一报文进行vxlan封装的接入交换机,其中,所述第一报文是针对所述第二容器的vxlan报文,所述第一报文是所述网络边缘设备对所述第一容器的IP报文进行vxlan封装而产生的;若所述通信链路中具有至少一个不支持对第一报文进行vxlan封装的接入交换机,所述网络边缘设备对所述第一报文进行外层封装以产生第二报文,并将所述第二报文发送至接入交换机,其中,所述外层封装与所述vxlan封装为不同类型的封装,所述接入交换机设置在所述通信链路中,且与所述第一虚拟机连接。

【技术特征摘要】
1.一种传输报文的方法,其特征在于,包括:第一虚拟机的网络边缘设备判断所述第一虚拟机上的第一容器与第二虚拟机上的第二容器之间的通信链路中是否具有至少一个不支持对第一报文进行vxlan封装的接入交换机,其中,所述第一报文是针对所述第二容器的vxlan报文,所述第一报文是所述网络边缘设备对所述第一容器的IP报文进行vxlan封装而产生的;若所述通信链路中具有至少一个不支持对第一报文进行vxlan封装的接入交换机,所述网络边缘设备对所述第一报文进行外层封装以产生第二报文,并将所述第二报文发送至接入交换机,其中,所述外层封装与所述vxlan封装为不同类型的封装,所述接入交换机设置在所述通信链路中,且与所述第一虚拟机连接。2.根据权利要求1所述的方法,其特征在于,所述第一虚拟机的网络边缘设备判断所述第一虚拟机上的第一容器与第二虚拟机上的第二容器之间的通信链路中是否具有至少一个不支持对第一报文进行vxlan封装的接入交换机,包括:所述网络边缘设备构造第三报文,所述第三报文为vxlan报文;所述网络边缘设备将所述第三报文发送至所述接入交换机,所述接入交换机用于对所述第三报文进行vxlan封装,并用于将经过vxlan封装的第三报文发送至所述第二虚拟机;所述网络边缘设备根据是否接收到所述第二虚拟机发送的针对所述第三报文的回应报文,判断所述第一虚拟机上的第一容器与第二虚拟机上的第二容器之间的通信链路中是否具有至少一个不支持对第一报文进行vxlan封装的接入交换机;所述若所述通信链路中具有至少一个不支持对第一报文进行vxlan封装的接入交换机,所述网络边缘设备对所述第一报文进行外层封装以产生第二报文,并将所述第二报文发送至接入交换机,具体包括:若所述网络边缘设备未接收到所述第二虚拟机发送的针对所述第三报文的回应报文,所述网络边缘设备对所述第一报文进行外层封装以产生第二报文,并将所述第二报文发送至接入交换机。3.根据权利要求2所述的方法,其特征在于,若所述网络边缘设备未接收到所述第二虚拟机发送的针对所述第三报文的回应报文,所述第一虚拟机判断所述通信链路中是否具有至少一个不支持对所述第一报文进行vxlan封装的接入交换机,包括:所述网络边缘设备构造第四报文,所述第四报文为依次经过vxlan封装与所述外层封装的报文;所述网络边缘设备将所述第四报文发送至所述接入交换机,所述接入交换机用于对所述第四报文进行vxlan封装,并用于将经过vxlan封装的第四报文发送至所述第二虚拟机;所述网络边缘设备根据是否接收到所述第二虚拟机发送的针对所述第四报文的回应报文,判断所述第一虚拟机上的第一容器与第二虚拟机上的第二容器之间的通信链路中是否具有至少一个不支持对第一报文进行vxlan封装的接入交换机;所述若所述通信链路中具有至少一个不支持对第一报文进行vxlan封装的接入交换机,所述网络边缘设备对所述第一报文进行外层封装以产生第二报文,并将所述第二报文发送至接入交换机,具体包括:若所述网络边缘设备接收到所述第二虚拟机发送的针对所述第四报文的回应报文,所述网络边缘设备对所述第一报文进行外层封装以产生第二报文,并将所述第二报文发送至接入交换机。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:所述网络边缘设备接收第五报文,所述第五报文为依次经过所述外层封装与vxlan封装的报文;所述网络边缘设备对所述第五报文依次进行解所述外层封装与vxlan解封装,获得所述第五报文对应的原始报文。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一报文与所述第二报文中携带的源网络之间互连的协议IP地址相同。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述外层封装至少包括通用路由封装GRE、网络协议安全性封装IPSec封装与IPv4overIPv4封装中的任意一种。7.一种网络边缘设备,其特征在于,所述网络边缘设备设置在第一虚拟机上,包括:探测进程,用于判断第一虚拟机上的第一容器与第二虚拟机上的第二容器之间的通信链路中是否具有至少一个不支持对第一报文进行vxlan封装的接入交换机,其中,所述第一报文是针对所述第二容器的vxlan报文;vxlan封装/解封装模块,用于对所述第一容器的IP报文进行vxlan封装,产生所述第一报文;外层封装/解封装模块,用于若所述通信链路中具有至少一个不支持对第一报文进行vxlan封装的接入交换机,对所述第一报文进行外层封装以产生第二报文,并将所述第二报文发送至接入交换机,其中,所述外层封装与所述vxlan封装为不同类型的封装,所述接入交换机设置在所述通信链路中,且与所述第一虚拟机连接。8.根据权利要求7所述的网络边缘设备,其特征在于,所述探测进程,还用于构造第三报文,所述第三报文为vxlan报文;所述探测进程,还用于将所述第三报文发送至所述接入交换机,所述接入交换机用于对所述第三报文进行vxlan封装,并用于将经过vxlan封装的第三报文发送至所述第二虚拟机;所述探测进程,还用于根据是否接收到所述第二虚拟机发送的针对所述第三报文的回应报文,判断所述第一虚拟机上的第一容器与第二虚拟机上的第二容器之间的通信链路中是否具有至少一个不支持对第一报文进行vxlan封装的接入交换机;所述外层封装/解封装模块,具体用于:若所述探测进程未接收到所述第二虚拟机发送的针对所述第三报文的回应报文,对所述第一报文进行外层封装以产生第二报文,并将所述第二报文发送至接入交换机。9.根据权利要求8所述的网络边缘设备,其特征在于,所述探测进程,还用于构造第四报文,所述第四报文为依次经过vxlan封装与所述外层封装的报文;所述探测进程,还用于将所述第四报文发送至所述接入交换机,所述接入交换机用于对所述第四报文进行vxlan封装,并用于将经过vxlan封装的第四报文发送至所述第二虚拟机;所述探测进程,还用于根据是否接收到所述第二虚拟机发送的针对所述第四报文的回应报文,判断所述第一虚拟机上的第一容器与第二虚拟机上的第二容器之间的通信链路中是否具有至少一个不支持对第一报文进行vxlan封装的接入交换机;所述外层封装/解封装模块,具体用于:若所述探测进程接收到所述第二虚拟机发送的针对所述第四报文的回应报文,对所述第一报文进行外层封装以产生第二报文,并将所述第二报文发送至接入交换机。10.根据权利要求7至9中任一项所述的网络边缘设备,其特征在于,所述外层封装/解封装模块,还用于接收第五报文,所述第五报文为依次经过所述外层封装与vxlan封装的报文;所述外层封装/解封装模块,还用于对所述第五报文进行解所述外层封装;所述vxlan封装/解封装模块,还用于对经过所述解外层封装的第五报文进行vxlan解封装,获得所述第五报文对应的原始报文。11.根据权利要求7至10中任一项所述的网络边缘设备,其特征在于,所述第一报文与所述第二报文中携带的源网络之间...

【专利技术属性】
技术研发人员:赵崇日
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1