数据通信方法及装置制造方法及图纸

技术编号:13681612 阅读:37 留言:0更新日期:2016-09-08 12:12
本发明专利技术实施例公开了数据通信方法及装置。当该方法应用于数据通信系统中连接有数据发送端的第一软件交换机时,该方法包括:接收所述第一虚拟机发送的数据包;获得由所述OpenFlow控制器下发的与所述数据包相匹配的第一流表;基于所述第一流表中所包括的处理动作处理所述数据包;将处理完毕后的所述数据包转发给所述第二软件交换机,以使得:所述第二软件交换机基于由所述OpenFlow控制器下发的并与所述数据包相匹配的第二流表处理所述数据包,将处理完毕后的所述数据包转发给所述第二虚拟机。本发明专利技术解决了SDN网络中租户内部同一网段的虚拟机跨服务器通信时通信资源消耗大的问题,相比于现有方案,可以节约通信资源。

【技术实现步骤摘要】

本专利技术涉及网络
,特别涉及数据通信方法及装置
技术介绍
虚拟私有云(Virtual Private Cloud,VPC)是公有云中的关键技术,能够根据租户的需求调度物理网络资源,从而基于一套网络基础设施为不同的租户提供虚拟的私有网络环境,保证租户私有网络间彼此隔离。目前SDN+VxLAN是实现租户内部处于同一网段的虚拟机间跨服务器通信的主流方式,它通过隧道为租户构建Overlay网络(Overlay是一种将二层网络构架在三层/四层报文中进行传递的网络技术),并结合SDN(Software Defined Network,软件定义网络)的全局视图优化了标准VxLAN(virtual Extensible LAN,虚拟可扩展局域网)的转发逻辑。假设某租户存在分布在不同物理服务器上但属于同一网段的虚拟机1和2,两个虚拟机间数据包的转发流程简要描述如下:虚拟机1转发的数据包到达接入交换机1,控制器结合全局视图,根据虚拟机2所在物理服务器的IP(Internet Protocol,网络之间互连的协议)地址进行VxLAN封装,通过隧道将数据包送给目的虚拟机所接入的交换机2,交换机2解封装后将数据包交给虚拟机2。SDN+VxLAN通信方式可以实现租户内部同一网段中的虚拟机跨服务器通信,但是该通信方式中,交换机还会再对数据包的包头外在封装一层包头,即为外层包头,该外层包头的封装至少需要50字节,使得租户内部同一网段中的虚拟机跨服务器通信的通信资源消耗较大,导致通信资源的浪费。
技术实现思路
本专利技术实施例公开了数据通信方法及装置,用于解决SDN网络中租户内部同一网段的虚拟机跨服务器通信时通信资源消耗大的问题。技术方案如下:第一方面,本专利技术实施例提供了一种数据通信方法,应用于数据通信系统中的第一软件交换机,所述第一软件交换机设置有OpenFlow协议,所述数据通
信系统还包括:与所述第一软件交换机相连接的作为数据包发送端的第一虚拟机、设置有OpenFlow协议的第二软件交换机、与所述第二软件交换机相连接的作为数据包接收端的第二虚拟机、与所述第一软件交换机和所述第二软件交换机通信的OpenFlow控制器;所述OpenFlow控制器预先为第一软件交换机和第二软件交换机分别分配MAC地址、请求对应在承载网络中的IP地址并获取对应的网关的MAC地址,预先为所述第一虚拟机和所述第二虚拟机分配IP地址;所述方法包括:接收所述第一虚拟机发送的数据包;其中,所述数据包的包头信息中,源MAC地址为所述第一虚拟机的MAC地址、源IP地址为所述第一虚拟机的IP地址、目的MAC地址为所述第二虚拟机的MAC地址和目的IP地址为所述第二虚拟机的IP地址;获得由所述OpenFlow控制器下发的与所述数据包相匹配的第一流表;其中,所述第一流表中的处理动作包括:将源MAC地址修改为第一软件交换机的MAC地址、将源IP地址修改为预定IP地址、将目的IP地址修改为第二软件交换机的IP地址;其中,当所述第一软件交换机的IP地址与所述第二软件交换机的IP地址处于同一网段时,所述第一流表中的处理动作还包括:将目的MAC地址修改为第二软件交换机的MAC地址;当所述第一软件交换机的IP地址与所述第二软件交换机的IP地址不处于同一网段时,所述第一流表中的处理动作还包括:将目的MAC地址修改为第一软件交换机对应的网关的MAC地址;基于所述第一流表中所包括的处理动作,处理所述数据包;将所述第一软件交换机处理完毕后的所述数据包转发给所述第二软件交换机,以使得:所述第二软件交换机基于由所述OpenFlow控制器下发的并与所述数据包相匹配的第二流表处理所述数据包,将所述第二软件交换机处理完毕后的所述数据包转发给所述第二虚拟机;其中,所述第二流表中的处理动作包括:将源MAC地址修改为第一虚拟机的MAC地址,将目的MAC地址修改为第二虚拟机的MAC地址,将源IP地址修改为第一虚拟机的IP地址,将目的IP地址修改为第二虚拟机的IP地址。优选的,所述获得由控制器下发的与所述数据包相匹配的第一流表,包括:判断本地是否存在与所述数据包相匹配的第一流表;如果是,从本地获得由所述OpenFlow控制器下发的与所述数据包相匹配的第一流表;如果否,将包含有所述包头信息的标识信息发送至所述OpenFlow控制器,以使得所述OpenFlow控制器基于所述标识信息生成第一流表和第二流表并分别下发给所述第一软件交换机和所述第二软件交换机。优选的,所述将包含有所述包头信息的标识信息发送至所述OpenFlow控制器,包括:将包含有所述包头信息的标识信息按照OpenFlow协议封装后,发送至所述OpenFlow控制器。优选的,预先对OpenFlow网络中的所有租户编号,并对同一租户中的各虚拟机编号,所述第一虚拟机和所述第二虚拟机属于同一租户,所述预定IP地址的32比特位中,分别标识有所述租户、所述第一虚拟机和所述第二虚拟机的编号。第二方面,本专利技术实施例还提供了另一种数据通信方法,应用于数据通信系统中的第二软件交换机,所述第二软件交换机设置有OpenFlow协议,所述数据通信系统还包括:与所述第二软件交换机相连接的作为数据包接收端的第二虚拟机、设置有OpenFlow协议的第一软件交换机、与所述第一软件交换机相连接的作为数据包发送端的第一虚拟机、与所述第一软件交换机和所述第二软件交换机通信的OpenFlow控制器;所述OpenFlow控制器预先为第一软件交换机和第二软件交换机分别分配MAC地址、请求对应在承载网络中的IP地址并获取对应的网关的MAC地址,预先为第一虚拟机和第二虚拟机分配IP地址;所述方法包括:接收所述第一软件交换机发送的数据包;其中,当所述第一软件交换机的IP地址与所述第二软件交换机的IP地址处于同一网段时,所述数据包的包头信息中:源MAC地址为第一软件交换机的MAC地址,目的MAC地址为第二软件交换机的MAC地址,源IP地址为预定IP地址,目的IP地址为第二软件交换机的IP地址;当所述第一软件交换机的IP地址与所述第二软件交换机的IP地址不处于同一网段时,所述数据包的包头信息中:源MAC地址为第二软件交换机对应的网关的MAC地址,目的MAC地址为第二软件交换机的MAC地址,
源IP地址为预定IP地址,目的IP地址为第二软件交换机的IP地址;从本地获得由所述OpenFlow控制器下发的并与所述数据包相匹配的第二流表;其中,所述第二流表中的处理动作包括:将源MAC地址修改为第一虚拟机的MAC地址,将目的MAC地址修改为第二虚拟机的MAC地址,将源IP地址修改为第一虚拟机的IP地址,将目的IP地址修改为第二虚拟机的IP地址;基于所述第二流表中的处理动作,处理所述数据包;将处理完毕后的所述数据包转发给所述第二虚拟机。优选的,预先对OpenFlow网络中的所有虚拟机编号,并对同一租户中的各虚拟机编号,所述第一虚拟机和所述第二虚拟机属于同一租户,所述预定IP地址的32比特位中,分别标识有所述租户、所述第一虚拟机和所述第二虚拟机的编号。第三方面,本专利技术实施例提供了一种数据通信装置,应用于数据通信系统中的第一软件交换机,所述第一软件交换机设置有OpenFlow协议,所述数据本文档来自技高网
...

【技术保护点】
一种数据通信方法,其特征在于,应用于数据通信系统中的第一软件交换机,所述第一软件交换机设置有OpenFlow协议,所述数据通信系统还包括:与所述第一软件交换机相连接的作为数据包发送端的第一虚拟机、设置有OpenFlow协议的第二软件交换机、与所述第二软件交换机相连接的作为数据包接收端的第二虚拟机、与所述第一软件交换机和所述第二软件交换机通信的OpenFlow控制器;所述OpenFlow控制器预先为第一软件交换机和第二软件交换机分别分配MAC地址、请求对应在承载网络中的IP地址并获取对应的网关的MAC地址,预先为所述第一虚拟机和所述第二虚拟机分配IP地址;所述方法包括:接收所述第一虚拟机发送的数据包;其中,所述数据包的包头信息中,源MAC地址为所述第一虚拟机的MAC地址、源IP地址为所述第一虚拟机的IP地址、目的MAC地址为所述第二虚拟机的MAC地址和目的IP地址为所述第二虚拟机的IP地址;获得由所述OpenFlow控制器下发的与所述数据包相匹配的第一流表;其中,所述第一流表中的处理动作包括:将源MAC地址修改为第一软件交换机的MAC地址、将源IP地址修改为预定IP地址、将目的IP地址修改为第二软件交换机的IP地址;其中,当所述第一软件交换机的IP地址与所述第二软件交换机的IP地址处于同一网段时,所述第一流表中的处理动作还包括:将目的MAC地址修改为第二软件交换机的MAC地址;当所述第一软件交换机的IP地址与所述第二软件交换机的IP地址不处于同一网段时,所述第一流表中的处理动作还包括:将目的MAC地址修改为第一软件交换机对应的网关的MAC地址;基于所述第一流表中所包括的处理动作,处理所述数据包;将所述第一软件交换机处理完毕后的所述数据包转发给所述第二软件交换机,以使得:所述第二软件交换机基于由所述OpenFlow控制器下发的并与所述数据包相匹配的第二流表处理所述数据包,将所述第二软件交换机处理完毕后的所述数据包转发给所述第二虚拟机;其中,所述第二流表中的处理动作包括:将源MAC地址修改为第一虚拟机的MAC地址,将目的MAC地址修改为第二虚拟机的MAC地址,将源IP地址修改为第一虚拟机的IP地址,将目的IP地址修改为第二虚拟机的IP地址。...

【技术特征摘要】
1.一种数据通信方法,其特征在于,应用于数据通信系统中的第一软件交换机,所述第一软件交换机设置有OpenFlow协议,所述数据通信系统还包括:与所述第一软件交换机相连接的作为数据包发送端的第一虚拟机、设置有OpenFlow协议的第二软件交换机、与所述第二软件交换机相连接的作为数据包接收端的第二虚拟机、与所述第一软件交换机和所述第二软件交换机通信的OpenFlow控制器;所述OpenFlow控制器预先为第一软件交换机和第二软件交换机分别分配MAC地址、请求对应在承载网络中的IP地址并获取对应的网关的MAC地址,预先为所述第一虚拟机和所述第二虚拟机分配IP地址;所述方法包括:接收所述第一虚拟机发送的数据包;其中,所述数据包的包头信息中,源MAC地址为所述第一虚拟机的MAC地址、源IP地址为所述第一虚拟机的IP地址、目的MAC地址为所述第二虚拟机的MAC地址和目的IP地址为所述第二虚拟机的IP地址;获得由所述OpenFlow控制器下发的与所述数据包相匹配的第一流表;其中,所述第一流表中的处理动作包括:将源MAC地址修改为第一软件交换机的MAC地址、将源IP地址修改为预定IP地址、将目的IP地址修改为第二软件交换机的IP地址;其中,当所述第一软件交换机的IP地址与所述第二软件交换机的IP地址处于同一网段时,所述第一流表中的处理动作还包括:将目的MAC地址修改为第二软件交换机的MAC地址;当所述第一软件交换机的IP地址与所述第二软件交换机的IP地址不处于同一网段时,所述第一流表中的处理动作还包括:将目的MAC地址修改为第一软件交换机对应的网关的MAC地址;基于所述第一流表中所包括的处理动作,处理所述数据包;将所述第一软件交换机处理完毕后的所述数据包转发给所述第二软件交换机,以使得:所述第二软件交换机基于由所述OpenFlow控制器下发的并与所述数据包相匹配的第二流表处理所述数据包,将所述第二软件交换机处理完毕后的所述数据包转发给所述第二虚拟机;其中,所述第二流表中的处理动作包括:将源MAC地址修改为第一虚拟机的MAC地址,将目的MAC地址修改为第二虚拟机的MAC地址,将源IP地址修改为第一虚拟机的IP地址,将目的IP地
\t址修改为第二虚拟机的IP地址。2.根据权利要求1所述的方法,其特征在于,所述获得由控制器下发的与所述数据包相匹配的第一流表,包括:判断本地是否存在与所述数据包相匹配的第一流表;如果是,从本地获得由所述OpenFlow控制器下发的与所述数据包相匹配的第一流表;如果否,将包含有所述包头信息的标识信息发送至所述OpenFlow控制器,以使得所述OpenFlow控制器基于所述标识信息生成第一流表和第二流表并分别下发给所述第一软件交换机和所述第二软件交换机。3.根据权利要求2所述的方法,其特征在于,所述将包含有所述包头信息的标识信息发送至所述OpenFlow控制器,包括:将包含有所述包头信息的标识信息按照OpenFlow协议封装后,发送至所述OpenFlow控制器。4.根据权利要求1~3中任一项所述的方法,其特征在于,预先对OpenFlow网络中的所有租户编号,并对同一租户中的各虚拟机编号,所述第一虚拟机和所述第二虚拟机属于同一租户,所述预定IP地址的32比特位中,分别标识有所述租户、所述第一虚拟机和所述第二虚拟机的编号。5.一种数据通信方法,其特征在于,应用于数据通信系统中的第二软件交换机,所述第二软件交换机设置有OpenFlow协议,所述数据通信系统还包括:与所述第二软件交换机相连接的作为数据包接收端的第二虚拟机、设置有OpenFlow协议的第一软件交换机、与所述第一软件交换机相连接的作为数据包发送端的第一虚拟机、与所述第一软件交换机和所述第二软件交换机通信的OpenFlow控制器;所述OpenFlow控制器预先为第一软件交换机和第二软件交换机分别分配MAC地址、请求对应在承载网络中的IP地址并获取对应的网关的MAC地址,预先为第一虚拟机和第二虚拟机分配IP地址;所述方法包括:接收所述第一软件交换机发送的数据包;其中,当所述第一软件交换机的IP地址与所述第二软件交换机的IP地址处于同一网段时,所述数据包的包头信
\t息中:源MAC地址为第一软件交换机的MAC地址,目的MAC地址为第二软件交换机的MAC地址,源IP地址为预定IP地址,目的IP地址为第二软件交换机的IP地址;当所述第一软件交换机的IP地址与所述第二软件交换机的IP地址不处于同一网段时,所述数据包的包头信息中:源MAC地址为第二软件交换机对应的网关的MAC地址,目的MAC地址为第二软件交换机的MAC地址,源IP地址为预定IP地址,目的IP地址为第二软件交换机的IP地址;从本地获得由所述OpenFlow控制器下发的并与所述数据包相匹配的第二流表;其中,所述第二流表中的处理动作包括:将源MA...

【专利技术属性】
技术研发人员:黄韬杨帆张晨刘江张娇潘恬妥艳君李吉良刘玉贞张学敏张文志
申请(专利权)人:北京邮电大学中国电子科技集团公司第五十四研究所
类型:发明
国别省市:北京;11

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

1