一种数据传输方法、装置及系统制造方法及图纸

技术编号:19436609 阅读:17 留言:0更新日期:2018-11-14 13:11
本申请实施例提供一种数据传输方法、装置及系统,涉及通信领域,能够对封装/解封装的过程进行优化,缩短封装/解封装所需的时间,提高封装/解封装的效率,进而提高了数据传输的效率。该数据传输方法包括:第一物理机获取第二物理机发送的第一报文;第一物理机确认第一报文为虚拟可扩展局域网VXLAN报文,其中,VXLAN报文至少包括第一包头和第二报文;第一物理机将第一报文的指针后移预设长度,并得到第二报文,其中,预设长度为第一包头的长度。

【技术实现步骤摘要】
一种数据传输方法、装置及系统
本申请实施例涉及通信领域,尤其涉及一种数据传输方法、装置及系统。
技术介绍
虚拟可扩展局域网(VirtualeXtensibleLocalAreaNetwork,VXLAN)是虚拟局域网(VirtualLocalAreaNetwork,VLAN)的扩展,是一种将内层报文用三层协议进行封装的网络虚拟化技术,能够在三层网络对二层网络进行扩展,使得用户在三层网络上构建二层网络。通过VXLAN可以实现网络隔离功能,使得大规模多租户的云环境中具有了充足的虚拟网络分区资源。其中,网络隔离是指两个或者两个以上的计算机或网络在断开连接的基础上实现的信息交换和资源共享。现有的一种VXLAN报文如图1所示,内层报文外依次封装有VXLAN包头(又称为VXLANheader)、外层用户数据报协议(UserDatagramProtocol,UDP)包头(又称为OuterUDPheader)、VXLAN隧道终点(VXLANTunnelingEndPoint,VTEP)外层网络间互联协议(InternetProtocol,IP)包头(又称为VTEPOuterIPheader)和VTEP外层媒体访问控制层(MediaAccessControl,MAC)包头(又称为VTEPOuterMACheader)。在发送上行数据时,物理机需要按照图1所示的VXLAN报文结构对数据进行封装;在接收下行数据时,物理机也要按照图1所示的VXLAN报文结构对数据进行解封装。然而,现有的数据在进行封装/解封装时,都需要经过对应的协议层填充/去除对应协议的包头,导致封装/解封装占用了较长的时间,降低了数据传输的效率。
技术实现思路
本申请实施例提供一种数据传输方法、装置及系统,能够对封装/解封装的过程进行优化,缩短封装/解封装所需的时间,提高封装/解封装的效率,进而提高了数据传输的效率。为达到上述目的,本申请实施例采用如下技术方案:第一方面,本申请实施例提供一种数据传输方法,该数据传输方法包括:首先,第一物理机获取第二物理机发送的第一报文;其次,第一物理机确认第一报文为VXLAN报文(至少包括第一包头和第二报文);最后,第一物理机将第一报文的指针后移预设长度,并得到第二报文,其中,预设长度为第一包头的长度。本申请实施例中的第一物理机能够识别第二物理机发送的第一报文是否为VXLAN报文,并在第一报文为VXLAN报文的情况下,将第一报文的指针后移预设长度,并得到第二报文。与现有的数据在进行解封装时,都需要经过对应的协议层填充/去除对应协议的包头的方法相比,本申请实施例中的第一物理机能够对解封装的过程进行优化,直接将第一报文的指针后移,从而去除第一包头,缩短了解封装所需的时间,提高解封装的效率,进而提高了数据传输的效率。在第一方面的第一种可能的实现方式中,第一包头包括VXLAN包头、外层UDP包头、VTEP外层IP包头和VTEP外层MAC包头。第一物理机确认第一报文为VXLAN报文的方法,具体可以包括以下步骤:第一物理机判断VTEP外层MAC包头的协议类型是否为IP协议;若VTEP外层MAC包头的协议类型为IP协议,则第一物理机判断VTEP外层IP包头的协议类型是否为UDP协议;若VTEP外层IP包头的协议类型为UDP协议,则第一物理机判断外层UDP包头的目的端口号是否为VXLAN的目的端口号;若外层UDP包头的目的端口号为VXLAN的目的端口号,则第一物理机确认第一报文为VXLAN报文。在第一方面的第二种可能的实现方式中,第一包头包括VXLAN包头、外层UDP包头、VTEP外层IP包头、VTEP外层虚拟局域网(VirtualLocalAreaNetwork,VLAN)包头和VTEP外层MAC包头。第一物理机确认第一报文为VXLAN报文的方法,具体可以包括以下步骤:第一物理机判断VTEP外层MAC包头的协议类型是否为VLAN协议;若VTEP外层MAC包头的协议类型为VLAN协议,则第一物理机判断VTEP外层VLAN包头的协议类型是否为IP协议;若VTEP外层VLAN包头的协议类型为IP协议,则第一物理机判断VTEP外层IP包头的协议类型是否为UDP协议;若VTEP外层IP包头的协议类型为UDP协议,则第一物理机判断外层UDP包头的目的端口号是否为VXLAN的目的端口号;若外层UDP包头的目的端口号为VXLAN的目的端口号,则第一物理机确认第一报文为VXLAN报文。在第一方面的第三种可能的实现方式中,第一物理机包括至少一个物理网卡。本申请实施例提供的数据传输方法还可以包括:首先,第一物理机通过第一物理网卡接收第三物理机发送的第四报文,其中,第一物理网卡为至少一个物理网卡中的任意一个物理网卡;其次,第一物理机按照预设规则,处理第四报文;最后,第一物理机通过第一物理网卡向第四物理机发送处理后的第四报文。可见,第一物理机还能够转发其他物理机发送的第四报文,并且该第四报文是第一物理机通过第一物理网卡接收和发送的,实现了报文的同进同出,进而实现数据的高性能转发。第二方面,本申请实施例提供一种数据传输方法,该数据传输方法包括:首先,第二物理机获取第三报文;其次,第二物理机从地址解析协议(AddressResolutionProtocol,ARP)缓存表中获取与第三报文对应的MAC地址;再次,第二物理机根据MAC地址,为第三报文添加VTEP外层MAC包头,生成第一报文,其中,第一报文为VXLAN报文;最后,第二物理机向第一物理机发送第一报文。本申请实施例中的第二物理机能够获取第三报文和与第三报文对应的MAC地址,并为第三报文添加VTEP外层MAC包头,生成第一报文,随后第二物理机可以向第一物理机发送第一报文。与现有的数据在进行封装时,都需要经过对应的协议层填充/去除对应协议的包头的方法相比,第二物理机能够对封装的过程进行优化,直接从地址ARP缓存表中获取与第三报文对应的MAC地址,缩短了封装所需的时间,提高封装的效率,进而提高了数据传输的效率。在第二方面的第一种可能的实现方式中,第二物理机获取第三报文的方法,具体可以包括以下步骤:第二物理机获取第二报文;第二物理机为第二报文依次添加VXLAN包头、外层用户数据报协议UDP包头、VTEP外层网络间互联协议IP包头,生成第三报文;或者,第二物理机为第二报文依次添加VXLAN包头、外层UDP包头、VTEP外层IP包头和VTEP外层虚拟局域网VLAN包头,生成第三报文。在第二方面的第二种可能的实现方式中,第二物理机从ARP缓存表中获取与第三报文对应的MAC地址的方法,具体可以包括:第二物理机根据VTEP外层IP包头,从ARP缓存表中获取与VTEP外层IP包头对应的MAC地址。本申请实施例中的第一物理机或第二物理机既可以为数据的发送端设备,也可以为数据的接收端设备,因此,本申请实施例提供的数据传输方法,与现有的数据在进行封装/解封装时,都需要经过对应的协议层填充/去除对应协议的包头的方法相比,物理机能够对封装/解封装的过程进行优化,缩短了封装/解封装所需的时间,提高封装/解封装的效率,进而提高了数据传输的效率。第三方面,本申请实施例提供一种物理机,该物理机为第一物理机,该物理机包括获取模块,确认模块本文档来自技高网
...

【技术保护点】
1.一种数据传输方法,其特征在于,包括:第一物理机获取第二物理机发送的第一报文;所述第一物理机确认所述第一报文为虚拟可扩展局域网VXLAN报文,其中,所述VXLAN报文至少包括第一包头和第二报文;所述第一物理机将所述第一报文的指针后移预设长度,并得到所述第二报文,其中,所述预设长度为所述第一包头的长度。

【技术特征摘要】
1.一种数据传输方法,其特征在于,包括:第一物理机获取第二物理机发送的第一报文;所述第一物理机确认所述第一报文为虚拟可扩展局域网VXLAN报文,其中,所述VXLAN报文至少包括第一包头和第二报文;所述第一物理机将所述第一报文的指针后移预设长度,并得到所述第二报文,其中,所述预设长度为所述第一包头的长度。2.根据权利要求1所述的数据传输方法,其特征在于,所述第一包头包括VXLAN包头、外层用户数据报协议UDP包头、虚拟可扩展局域网隧道终点VTEP外层网络间互联协议IP包头和VTEP外层媒体访问控制层MAC包头;所述第一物理机确认所述第一报文为VXLAN报文,具体包括:所述第一物理机判断所述VTEP外层MAC包头的协议类型是否为IP协议;若所述VTEP外层MAC包头的协议类型为IP协议,则所述第一物理机判断所述VTEP外层IP包头的协议类型是否为UDP协议;若所述VTEP外层IP包头的协议类型为UDP协议,则所述第一物理机判断所述外层UDP包头的目的端口号是否为VXLAN的目的端口号;若所述外层UDP包头的目的端口号为VXLAN的目的端口号,则所述第一物理机确认所述第一报文为所述VXLAN报文。3.根据权利要求1所述的数据传输方法,其特征在于,所述第一包头包括VXLAN包头、外层UDP包头、VTEP外层IP包头、VTEP外层虚拟局域网VLAN包头和VTEP外层MAC包头;所述第一物理机确认所述第一报文为VXLAN报文,具体包括:所述第一物理机判断所述VTEP外层MAC包头的协议类型是否为VLAN协议;若所述VTEP外层MAC包头的协议类型为所述VLAN协议,则所述第一物理机判断所述VTEP外层VLAN包头的协议类型是否为IP协议;若所述VTEP外层VLAN包头的协议类型为IP协议,则所述第一物理机判断所述VTEP外层IP包头的协议类型是否为UDP协议;若所述VTEP外层IP包头的协议类型为UDP协议,则所述第一物理机判断所述外层UDP包头的目的端口号是否为VXLAN的目的端口号;若所述外层UDP包头的目的端口号为VXLAN的目的端口号,则所述第一物理机确认所述第一报文为所述VXLAN报文。4.一种数据传输方法,其特征在于,包括:第二物理机获取第三报文;所述第二物理机从地址解析协议ARP缓存表中获取与所述第三报文对应的媒体访问控制层MAC地址;所述第二物理机根据所述MAC地址,为所述第三报文添加虚拟可扩展局域网隧道终点VTEP外层MAC包头,生成第一报文,其中,所述第一报文为虚拟可扩展局域网VXLAN报文;所述第二物理机向第一物理机发送所述第一报文。5.根据权利要求4所述的数据传输方法,其特征在于,所述第二物理机获取第三报文,具体包括:所述第二物理机获取第二报文;所述第二物理机为所述第二报文依次添加VXLAN包头、外层用户数据报协议UDP包头、VTEP外层网络间互联协议IP包头,生成所述第三报文;或者,所述第二物理机为所述第二报文依次添加所述VXLAN包头、所述外层UDP包头、所述VTEP外层IP包头和VTEP外层虚拟局域网VLAN包头,生成所述第三报文。6.根据权利要求5所述的数据传输方法,其特征在于,所述第二物理机从ARP缓存表中获取与所述第三报文对应的MAC地址,具体包括:所述第二物理机根据所述VTEP外层IP包头,从所述ARP缓存表中获取与所述VTEP外层IP包头对应的MAC地址。7.一种物理机,其特征在于,所述物理机为第一物理机,所述物理机包括获取模块,确认模块和处理模块;所述获取模块,用于获取第二物理机发送的第一报文;所述确认模块,用于确认所述获取模块获取到的所述第一报文为虚拟可扩展局域网VXLAN报文,其中...

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

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

1