一种报文传输的方法及相关装置制造方法及图纸

技术编号:21309167 阅读:33 留言:0更新日期:2019-06-12 11:01
本申请公开了一种报文传输的方法,第一宿主机接收来自第一虚拟端的第一报文,第一报文中携带源虚拟网络信息和目的虚拟网络信息,源虚拟网络信息为第一虚拟端的网络信息,目的虚拟网络信息为第二虚拟端的网络信息,第二通信设备还包括第二宿主机;第一宿主机根据目的虚拟网络信息以及第一宿主机中的网络信息映射关系确定目的主机网络信息,网络信息映射关系包括第二虚拟端和第二宿主机的网络信息之间的映射关系;第一宿主机向第二通信设备发送第二报文。本申请实施例还提供报文发送装置。本申请中的虚拟端信息均实现了透明化,从而能够为发送数据的虚拟端提供有针对性的服务。

A Method of Message Transmission and Related Devices

This application discloses a method of message transmission. The first host receives the first message from the first virtual end. The first message carries the source virtual network information and the destination virtual network information. The source virtual network information is the network information of the first virtual end, the destination virtual network information is the network information of the second virtual end, and the second communication device also includes the second host. The host determines the destination host network information according to the destination virtual network information and the network information mapping relationship in the first host. The network information mapping relationship includes the mapping relationship between the network information of the second virtual end and the second host. The first host sends the second message to the second communication device. The embodiment of this application also provides a message transmitting device. The virtual end information in this application is transparent, so that it can provide targeted services for the virtual end of sending data.

【技术实现步骤摘要】
一种报文传输的方法及相关装置
本申请涉及计算机虚拟网络
,尤其涉及一种报文传输的方法及相关装置。
技术介绍
在计算机网络中,网络地址转换(networkaddresstranslation,NAT)也叫做网络掩蔽,是一种在网际互连协议(internetprotocol,IP)数据包通过路由器或防火墙时重写来源IP地址或目的IP地址的技术。这种技术被普遍使用在有多台主机但只通过一个公有IP地址访问因特网的私有网络中。目前,采用NAT技术进行地址转换的一种实现方式如图1所示,具体过程为,内网用户主机通过NAT设备向外网服务器发送IP报文,NAT设备查看报头内容,若该IP报文是发往外网的,则将其私网地址(例如192.168.1.3)转换成一个可以在以太网上选路的公网地址(例如20.1.1.1),然后将报文发送给外网的服务器,与此同时在NAT设备上记录这一IP地址的映射。外网的服务器给内网的用户主机发送应答报文,该应答报文的IP地址是20.1.1.1。应答报文到达NAT设备之后,NAT设备查看报头内容,根据NAT设备上的记录,用内网的私有地址192.168.1.3替换应答报文的目的IP地址。然而,采用上述传统的NAT方案,在较为复杂的虚拟化场景下对IP地址的指示不准确,从而难以为用户提供有针对性的业务。
技术实现思路
本申请提供了一种报文传输的方法及相关装置,在数据传输过程中可以使得两侧的虚拟端均能获取对端虚拟端的网络信息,从而为发送数据的虚拟端提供有针对性的服务。本申请实施例的第一方面提供一种报文传输的方法,该方法主要应用于含有虚拟端的第一通信设备以及第二通信设备,虚拟端为虚拟机或者容器虚拟端为虚拟机和容器,其中,第一通信设备包含第一虚拟端以及第一宿主机,第二通信设备包含第二虚拟端以及第二宿主机。其中,如果出现第一虚拟端为虚拟机,第二虚拟端为容器,或者第一虚拟端为容器,第二虚拟端为虚拟机,则出现“混排”的情况,这种部署方式能够提升数据传输的可靠性以及安全性,成本也会相应增加,本申请可以根据需求确定第一虚拟端和第二虚拟端的组成,在数据传输过程中,首先由第一通信设备中的第一虚拟端向第一宿主机发送第一报文,且在该第一报文中携带第一虚拟端的源虚拟网络信息。可以理解的是,第一报文既可以是一个消息,也可以是一个数据包。目前的机制是通过在宿主机中预埋探测机制,通过拦截两个通信宿主机之间的数据包,来发现待加速的信道的,发起启动动作,准备进行NAT加速。这样做的好处是,宿主机之间不感知的承载信道的具体情况,只需要发送和接收数据就可以。当然,从实现的角度来看,宿主机也可以主动发送第一报文给承载信道,这样就不需要拦截数据包,这样,这个源虚拟网络信息可以放在一个特定的消息中进行传输。首先,由第一宿主机接收第一虚拟端发送的第一报文,在该第一报文中携带了源虚拟网络信息和目的虚拟网络信息,源虚拟网络信息是第一虚拟端的网络信息,目的虚拟网络信息是第二虚拟端的网络信息。接下来,第一宿主机根据第一报文以及第一宿主机中的网络信息映射关系得到第二报文,第二报文中携带第二宿主机的网络信息,网络信息映射关系包括第二虚拟端的网络信息和第二宿主机的网络信息之间的映射关系。这里的网络信息映射关系可以是表格,或者其他的数据结构类型。最后,第一宿主机向第二宿主机发送第二报文,第二报文中包括源主机网络信息和目的主机网络信息。第二宿主机向第二虚拟端发送该第二报文,第二虚拟端根据网络信息映射关系,以及目的虚拟网络信息、源主机网络信息和目的主机网络信息可以获知源虚拟网络信息。该虚拟端还可以是使用其他虚拟化技术,实现的类似虚拟机或者容器的功能的其他形态的虚拟端。可以理解的是,第一宿主机在向第二通信设备发送第二报文之前,还可以根据网络信息映射关系将第一虚拟端的网络信息转化成第一宿主机的网络信息,其中,第一宿主机是第二报文的源端,第二宿主机是第二报文的目的端。可见,提供了一种报文传输的方法,首先第一虚拟端向第一宿主机发送第一报文,该第一报文中携带第一虚拟端所对应的源虚拟网络信息,然后第一宿主机根据第一报文以及网络信息映射关系确定第二虚拟端所对应的目的虚拟网络信息,最后第一宿主机向第二宿主机发送数据包,第二虚拟端可根据网络信息映射关系确定数据包的源虚拟网络信息。通过上述方式,在数据传输过程中可以使得两侧的虚拟端均能获取对端虚拟端的网络信息,不会与宿主机的网络信息产生混淆,从而能够为发送数据的虚拟端提供有针对性的服务。在一种可能的设计中,在本申请实施例的第一方面的第一种实现方式中,相应地,第一宿主机还能接收第二通信设备发送的报文,具体地:第一宿主机接收来自第二通信设备的第三报文,第一宿主机根据第三报文以及以及第一宿主机中的网络信息映射关系得到第四报文,其中,第四报文中携带第一虚拟端的网络信息,网络信息映射关系还包括第一宿主机的网络信息、第二宿主机的网络信息和第一虚拟端的网络信息之间的映射关系。其中,第三报文中携带第一宿主机的网络信息以及第二宿主机的网络信息,该第一宿主机可以根据第一宿主机的网络信息、第二宿主机的网络信息以及第一宿主机中的网络信息映射关系确定第一虚拟端的网络信息,其中,网络信息映射关系还包括第一宿主机的网络信息、第二宿主机的网络信息和第一虚拟端的网络信息之间的映射关系,第一宿主机向第一虚拟端发送第四报文,其中,第四报文中携带第一虚拟端的网络信息。因为存在管理面协商通道(即VxLAN或单独私有协议),可以事先建立前文中的网络信息映射关系,一种实现方式下,该网络信息映射关系包括第一虚拟端的网络信息、第一宿主机的网络信息、第二宿主机的网络信息和第二虚拟端的网络信息之间的映射关系。其中,单独私有协议可以是预先定义的两个代理模块之间的通信规则,agent模块主要承担了信道管理的任务,这些任务包含但不仅限于对信道资源的分配,C/S的NAT信息协商,信道的创建和销毁等功能。应理解,第一宿主机向第一虚拟端发送第四报文的步骤中,还包括把第一宿主机的网络信息根据网络信息映射关系转化为第一虚拟端的网络信息,第四报文中还带有第一虚拟端的网络信息,其中,第一虚拟端为第四报文的目的端,第二虚拟为第四报文的源端。可见,提供了一种报文传输的方法,可以使得两个虚拟端的地址均实现了透明化,不会与宿主机的网络信息产生混淆,从而能够为发送数据的虚拟端提供有针对性的服务。在一种可能的设计中,在本申请实施例的第一方面的第二种实现方式中,在建立第一隧道之前,第一宿主机先向第二通信设备中的第二宿主机发送隧道建立请求,然后,第二宿主机根据隧道建立请求向第一宿主机回复一个隧道建立响应。第一宿主机根据该隧道建立响应建立第一隧道。其中,第一隧道为第一虚拟端与第二虚拟端之间进行通信的隧道,具体地,该第一隧道为NAT隧道。可见,本申请实施例中,第一宿主机和第二宿主机之间会打通第一隧道,也就是NAT隧道,也就是打通了第一虚拟端到第二虚拟端的NAT隧道,以此实现虚拟端之间的NAT穿透,同时,采用NAT穿透技术还有利于提升数据传输的效率。在一种可能的设计中,在本申请实施例的第一方面的第三种实现方式中,网络信息具体包括网际互联协议IP地址以及端口号。在一种可能的设计中,在本申请实施例的第一方面的第四种实现方式中,网本文档来自技高网...

【技术保护点】
1.一种报文传输的方法,其特征在于,所述方法用于包含有第一虚拟端以及第一宿主机的第一通信设备,所述虚拟端为虚拟机或容器,所述方法包括:所述第一宿主机接收来自所述第一虚拟端的第一报文,其中,所述第一报文中携带第二虚拟端的网络信息,所述第二虚拟端运行于第二通信设备,所述第二通信设备还包括第二宿主机;所述第一宿主机根据所述第一报文以及所述第一宿主机中的网络信息映射关系得到第二报文,所述第二报文中携带所述第二宿主机的网络信息,所述网络信息映射关系包括所述第二虚拟端的网络信息和第二宿主机的网络信息之间的映射关系;所述第一宿主机向所述第二通信设备发送所述第二报文。

【技术特征摘要】
1.一种报文传输的方法,其特征在于,所述方法用于包含有第一虚拟端以及第一宿主机的第一通信设备,所述虚拟端为虚拟机或容器,所述方法包括:所述第一宿主机接收来自所述第一虚拟端的第一报文,其中,所述第一报文中携带第二虚拟端的网络信息,所述第二虚拟端运行于第二通信设备,所述第二通信设备还包括第二宿主机;所述第一宿主机根据所述第一报文以及所述第一宿主机中的网络信息映射关系得到第二报文,所述第二报文中携带所述第二宿主机的网络信息,所述网络信息映射关系包括所述第二虚拟端的网络信息和第二宿主机的网络信息之间的映射关系;所述第一宿主机向所述第二通信设备发送所述第二报文。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述第一宿主机接收来自所述第二通信设备的第三报文,其中,所述第三报文中携带所述第一宿主机的网络信息以及所述第二宿主机的网络信息;所述第一宿主机根据所述第三报文以及以及所述第一宿主机中的网络信息映射关系得到第四报文,其中,所述第四报文中携带所述第一虚拟端的网络信息,所述网络信息映射关系还包括所述第一宿主机的网络信息、所述第二宿主机的网络信息和所述第一虚拟端的网络信息之间的映射关系;所述第一宿主机向所述第一虚拟端发送所述第四报文。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述第一宿主机向所述第二通信设备发送隧道建立请求;所述第一宿主机接收所述第二通信设备发送的隧道建立响应;所述第一宿主机根据所述隧道建立响应建立第一隧道,其中,所述第一隧道用于所述第一宿主机与所述第二宿主机之间的通信;所述第一宿主机向所述第二通信设备发送第二报文,包括:所述第一宿主机通过所述第一隧道向所述第二通信设备发送所述第二报文。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述网络信息包括网际互联协议IP地址以及端口号。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述网络信息映射关系中包括所述第一宿主机的IP地址、所述第一宿主机的端口号、所述第一虚拟端的IP地址、所述第二虚拟端的虚拟端口号、所述第二宿主机的IP地址、所述第二宿主机的端口号、所述第二虚拟端的IP地址、所述第二虚拟端的端口号以及通信协议类型。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一宿主机向所述第二通信设备发送第二报文之前,所述方法还包括:在传输交互数据满足预设隧道切换条件的情况下,所述第一宿主机将第二隧道切换为所述第一隧道,其中,所述传输交互数据用于表示所述第一宿主机与所述第二宿主机的数据传输情况;若所述传输交互数据不满足所述预设隧道切换条件,则所述第一宿主机继续采用所述第二隧道向所述第二通信设备传输所述第二报文。7.根据权利要求6所述的方法,其特征在于,所述在传输交互数据满足预设隧道切换条件的情况下,所述第一宿主机确定将第二隧道切换为第一隧道,包括:若第二报文的传输时长大于或者等于第一预设门限,则所述第一宿主机确定所述传输交互数据满足所述预设隧道切换条件,并将所述第二隧道切换为所述第一隧道,其中,所述第二报文的传输时长为所述第一宿主机通过所述第二隧道向所述第二宿主机传输所述第二报文的时间长度;和/或,若所述第二报文的数量大于或者等于第二预设门限,则所述第一宿主机确定所述传输交互数据满足所述预设隧道切换条件,并将所述第二隧道切换为所述第一隧道,其中,所述第二报文的数量为所述第一宿主机通过所述第二隧道向所述第二宿主机传输所述第二报文的个数;和/或,若所述第二报文的传输速率大于或者等于第三预设门限,则所述第一宿主机确定所述传输交互数据满足所述预设隧道切换条件,并将所述第二隧道切换为所述第一隧道,其中,所述第二报文的传输速率为所述第一宿主机通过所述第二隧道向所述第二宿主机传输所述第二报文的速率;和/或,若所述第二报文所携带的用户优先级大于或者等于第四预设门限,则所述第一宿主机确定所述传输交互数据满足所述预设隧道切换条件,并将所述第二隧道切换为所述第一隧道,其中,所述用户优先级预先设定的第二报文优先级别,所述第二报文为所述第一宿主机通过所述第二隧道向所述第二宿主机传输的第二报文。8.一种报文传输的方法,其特征在于,所述方法用于包含有第二虚拟端以及第二宿主机的第二通信设备,所述虚拟端为虚拟机或容器,所述方法包括:所述第二宿主机接收来自第一通信设备发送的第二报文,其中,所述第二报文中携带第一宿主机的网络信息以及所述第二宿主机的网络信息,所述第一宿主机运行于第一通信设备,所述第一通信设备还包括第一虚拟端;所述第二宿主机根据所述第二报文以及所述第一宿主机中的网络信息映射关系得到第五报文,其中,所述第五报文中携带所述第二虚拟端的网络信息,所述第二宿主机中的网络信息映射关系包括所述第一宿主机的网络信息、所述第二宿主机的网络信息和所述第二虚拟端的网络信息之间的映射关系;所述第二宿主机向所述第二虚拟端发送所述第五报文。9.根据权利要求8所述的方法,其特征在于,所述方法还包括:所述第二宿主机接收来自所述第二虚拟端的第六报文,其中,所述第六报文中携带所述第一虚拟端的网络信息;所述第二宿主机根据所述第六报文以及所述第二宿主机中的网络信息映射关系得到第七报文,其中,所述第七报文中携带所述第一宿主机的网络信息,所述第二宿主机中的网络信息映射关系还包括所述第一虚拟端的网络信息以及所述第一宿主机的网络信息之间的映射关系;所述第二宿主机向所述第一通信设备发送所述第七报文。10.根据权利要求1所述的方法,其特征在于,所述第二宿主机接收来自第一通信设备发送的第二报文,包括:所述第二宿主机通过第一隧道接收所述第一通信设备发送的所述第二报文,其中,,其中,所述第一隧道用于所述第一宿主机与所述第二宿主机之间的通信。11.根据权利要求8至10中任一项所述的方法,其特征在于,所述网络信息包括网际互联协议IP地址以及端口号。12.根据权利要求8至11中任一项所述的方法,其特征在于,所述网络信息映射关系中包括所述第一宿主机的IP地址、所述第一宿主机的端口号、所述第一虚拟端的IP地址、所述第二虚拟端的虚拟端口号、所述第二宿主机的IP地址、所述第二宿主机的端口号、所述第二虚拟端的IP地址、所述第二虚拟端的端口号以及通信协议类型。13.根据权利要求8至12中任一项所述的方法,其特征在于,所述第二宿主机接收所述第一通信设备发送的第二报文之前,所述方法还包括:在传输交互数据满足预设隧道切换条件的情况下,所述第二宿主机通过第一隧道接收所述第一通信设备发送的所述第二报文。14.根据权利要求13所述的方法,其特征在于,所述在传输交互数据满足预设隧道切换条件的情况下,所述第二宿主机通过第一隧道接收所述第一通信设备发送的所述第二报文,包括:若第二报文的传输时长大于或者等于第一预设门限,则所述第二宿主机通过所述第一隧道接收所述第一通信设备发送的所述第二报文,其中,所述第二报文的传输时长为所述第一宿主机通过所述第二隧道向所述第二宿主机传输所述第二报文的时间长度;和/或,若所述第二报文的数量大于或者等于第二预设门限,则所述第二宿主机通过所述第一隧道接收所述第一通信设备发送的所述第二报文,其中,所述第二报文的数量为所述第一宿主机通过所述第二隧道向所述第二宿主机传输所述第二报文的个数;和/或,若所述第二报文的传输速率大于或者等于第三预设门限,则所述第二宿主机通过所述第一隧道接收所述第一通信设备发送的所述第二报文,其中,所述第二报文的传输速率为所述第一宿主机通过所述第二隧道向所述第二宿主机传输所述第二报文的速率;和/或,若所述第二报文所携带的用户优先级大于或者等于第四预设门限,则所述第二宿主机通过所述第一隧道接收所述第一通信设备发送的所述第二报文,其中,所述用户优先级预先设定的第二报文优先级别,所述第二报文为所述第一宿主机通过所述第二隧道向所述第二宿主机传输的第二报文。15.一种报文传输装置,其特征在于,所述报文传输装置包括第一宿主机和第一虚拟端,所述第一虚拟端为虚拟机或容器,所述第一虚拟端用于向所述第一虚拟机发送第一报文,所述第一报文中携带第二虚拟端的网络信息,所述第二虚拟端运行于第二通信设备,所述第二通信设备还包括第二宿主机;所述第一宿主机用于根据所述第一报文以及所述第一宿主机中的网络信息映射关系得到第二报文,所述第二报文中携带所述第二宿主机的网络信息,所述网络信息映射关系包括所述第二虚拟端的网络信息和...

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

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

1