可扩展虚拟局域网报文发送方法、计算机设备和可读介质技术

技术编号:16114320 阅读:32 留言:0更新日期:2017-08-30 07:39
本发明专利技术实施例提供的一种VxLAN报文的发送方法、计算机设备和计算机可读介质,以解决现有技术中网卡无法处理报文VxLAN报文转发的问题。通过本发明专利技术实施例提供的VxLAN报文转发方法,网卡在接收到第一报文后,判断网卡中是否保存有对所述第一报文进行VxLAN封装的封装信息,如果保存有所述封装信息,则对所述第一报文进行VxLAN封装并发送;如果未保存有所述封装信息,则向中央处理器请求所述封装信息并保存,发送对所述第一报文进行VxLAN封装后的报文,实现了网卡对接收到的报文进行VxLAN的封装和发送。

【技术实现步骤摘要】
【国外来华专利技术】可扩展虚拟局域网报文发送方法、计算机设备和可读介质
本专利技术涉及信息
,特别涉及可扩展虚拟局域网VxLAN报文的发送方法、计算机设备和计算机可读介质。
技术介绍
可扩展虚拟局域网(VxLAN,VirtualeXtensibleLocalAreaNetwork)采用MAC(MediaAccessControl,媒体接入控制)OverUDP(UserDatagramProtocol,用户数据报协议)的技术,是一种覆盖网络技术或隧道技术。VxLAN将虚拟机发出的数据包封装在UDP中,并使用物理网络的互联网协议IP/MAC作为outer-header进行封装,然后在物理IP网上传输,到达目的地后由隧道终结点解封并将数据发送给目标虚拟机。通过VxLAN技术发送的报文为VxLAN报文,VxLAN报文通常包括VxLAN隧道头和原始静荷两部分。其中,VxLAN隧道头包括:外部目的MAC地址,外部源MAC地址,外部目的互联网协议(IP,InternetProtocol)地址,外部源IP地址,外部UDP头和VxLAN网络标识(VNI,VXLANNetworkIdentifier);原始静荷部分包括:内部目的MAC地址,内部源MAC地址,内部802.1Q,原以太网有效载荷。实现VxLAN报文的发送,需要具备VxLAN隧道头和原始静荷两部分的信息才能实现。现有技术中,在运行虚拟机业务的计算机设备上,网卡能够识别虚拟机发送的虚拟局域网(VLAN,VirtualLocalAreaNetwork)报文并进行转发。但对于VxLAN报文,网卡不具备获取VxLAN报文转发所需信息的能力,网卡不能进行VxLAN报文的封装和发送。
技术实现思路
本专利技术实施例提供一种VxLAN报文的发送方法、计算机设备和计算机可读介质,以解决现有技术中网卡无法处理报文VxLAN报文转发的问题。本专利技术实施例的第一方面提供了一种可扩展虚拟局域网VxLAN报文的发送方法,所述方法应用于计算机设备中,所述计算机设备包括中央处理器、网卡和虚拟机,所述网卡包括网卡处理器,所述方法包括:所述网卡处理器接收所述虚拟机发送的第一报文;所述网卡处理器判断所述网卡中是否保存有对所述第一报文进行VxLAN封装所需的封装信息;其中,所述封装信息包括封装媒体接入控制MAC地址和封装互联网协议IP地址,所述封装MAC地址是发送所述第一报文时所要经过的下一跳设备的MAC地址,所述封装IP地址是所述第一报文目的端虚拟可扩展局域网隧道端点VTEP的IP地址;在所述网卡保存有对所述第一报文进行VxLAN封装所需的封装信息时,根据所述封装信息对所述第一报文进行VxLAN封装并发送;在所述网卡未保存对所述第一报文进行VxLAN封装所需的封装信息时,向所述中央处理器发送获取请求,从所述中央处理器获取所述封装信息并保存,并发送对所述第一报文进行VxLAN封装后的报文。其中,所述网卡包括至少一个PF和至少一个VF,计算机设备中的虚拟机通过VF直接将报文发送到网卡并通过网络发送。可选的,所述计算机设备中的每个虚拟机唯一对应一个VF,其通过唯一对应的VF转发报文给网卡。上述方法实施例中,所述网卡处理器在接收到第一报文后,判断网卡中是否保存有对所述第一报文进行VxLAN封装的封装信息,如果保存有所述封装信息,则对所述第一报文进行VxLAN封装并发送;如果未保存有所述封装信息,则向中央处理器请求所述封装信息并保存,发送对所述第一报文进行VxLAN封装后的报文,实现了网卡对接收到的报文进行VxLAN的封装和发送。结合本专利技术实施例的第一方面,本专利技术实施例的第一方面的第一种可能的实现方式中,在判断所述网卡中是否保存对所述第一报文进行VxLAN封装所需的封装信息之前,所述方法还包括:所述网卡处理器从接收到的所述第一报文中获取转发所述第一报文的虚拟功能VF的ID,根据所述VF的ID,查询与所述VF的ID对应的VF的属性;当所述VF的属性为VxLAN属性时,则获取所述VF的VxLAN网络标识VNI。所述网卡处理器获取所述VF的VNI后,可以根据所述VF的VNI和所述第一报文的内层目的MAC地址查询网卡中的地址转发表,判断地址转发表中是否存在于所述VF的VNI和所述第一报文的内层目的MAC地址对应的封装信息。结合本专利技术实施例的第一方面的第一种可能的实现方式,本专利技术实施例的第一方面的第二种可能的实现方式中,所述网卡处理器判断所述网卡中是否保存有对所述第一报文进行VxLAN封装所需的封装信息包括:所述网卡处理器根据所述VNI以及所述第一报文的内层目的MAC地址,查询所述网卡中是否存在与所述VF的VNI和所述第一报文的内层目的MAC地址对应的封装信息;在所述网卡中存在与所述VF的VNI和所述第一报文的内层目的MAC地址对应的封装信息时,判断所述网卡中保存有对所述第一报文进行VxLAN封装所需的封装信息。本专利技术实施例中,还可以记录网卡查询封装信息的次数。每成功查询到封装信息,记录的次数加1。这样,当网卡中存储空间有限时,可以删除使用次数最小的封装信息的记录,从而可以加入中央处理器新下发的封装信息的记录,在网卡存储空间有限时,能够保存最新的表项,提高网卡转发报文的效率。结合本专利技术实施例的第一方面,第一方面的第一种和第二种任一可能的实现方式,本专利技术实施例的第一方面的第三种可能的实现方式中,所述网卡保存对所述第一报文进行VxLAN封装所需的封装信息的方式包括:所述网卡保存转发所述第一报文的VF的VNI和所述第一报文的内层目的MAC地址,与隧道标识之间的对应关系,以及保存所述隧道标识与所述封装信息之间的对应关系。可选的,所述网卡也可以直接保存转发所述第一报文的VF的VNI和所述第一报文的内层目的MAC地址,与所述封装信息之间的对应关系之间的对应关系。结合本专利技术实施例的第一方面,第一方面的第一种至第三种任一可能的实现方式,本专利技术实施例的第一方面的第四种可能的实现方式中,所述网卡处理器发送对所述第一报文进行VxLAN封装后的报文包括:所述网卡中的虚拟交换机接收所述中央处理器发送的对所述第一报文进行VxLAN封装后的报文并发送;或,所述网卡处理器根据获取到的对所述第一报文进行VxLAN封装所需的封装信息,对所述第一报文进行VxLAN封装并通过所述网卡中的虚拟交换机发送。其中,当网卡中的虚拟交换机接收所述中央处理器发送的对所述第一报文进行VxLAN封装后的报文并发送时,网卡在将所述第一报文和所述VNI发送给所述中央处理器后,就不需要保存所述第一报文,可以节省因保存第一报文所占用的网卡的存储空间,提高网卡的存储空间的利用率。结合本专利技术实施例的第一方面,第一方面的第一种至第四种任一可能的实现方式,本专利技术实施例的第一方面的第五种可能的实现方式中,所述方法还包括:所述网卡接收发送给所述虚拟机的第二报文,所述第二报文为VxLAN报文;所述网卡处理器判断所述网卡是否保存所述第二报文中的封装MAC地址和封装IP地址;当所述网卡未保存所述第二报文的封装MAC地址和封装IP地址时,将所述第二报文发送给所述中央处理器。可选的,上述中央处理器中相关的封装IP地址和封装MAC地址,也可以通过管理员预先配置的方式,保存在中央处理器中。结合本专利技术实施例的第一方面,本文档来自技高网
...
可扩展虚拟局域网报文发送方法、计算机设备和可读介质

【技术保护点】
一种可扩展虚拟局域网VxLAN报文的发送方法,所述方法应用于计算机设备中,所述计算机设备包括中央处理器、网卡和虚拟机,所述网卡包括网卡处理器,其特征在于:所述网卡处理器接收所述虚拟机发送的第一报文;所述网卡处理器判断所述网卡中是否保存有对所述第一报文进行VxLAN封装所需的封装信息;其中,所述封装信息包括封装媒体接入控制MAC地址和封装互联网协议IP地址,所述封装MAC地址是发送所述第一报文时所要经过的下一跳设备的MAC地址,所述封装IP地址是所述第一报文目的端虚拟可扩展局域网隧道端点VTEP的IP地址;在所述网卡保存有对所述第一报文进行VxLAN封装所需的封装信息时,根据所述封装信息对所述第一报文进行VxLAN封装并发送;在所述网卡未保存对所述第一报文进行VxLAN封装所需的封装信息时,向所述中央处理器发送获取请求,从所述中央处理器获取所述封装信息并保存,并发送对所述第一报文进行VxLAN封装后的报文。

【技术特征摘要】
【国外来华专利技术】1.一种可扩展虚拟局域网VxLAN报文的发送方法,所述方法应用于计算机设备中,所述计算机设备包括中央处理器、网卡和虚拟机,所述网卡包括网卡处理器,其特征在于:所述网卡处理器接收所述虚拟机发送的第一报文;所述网卡处理器判断所述网卡中是否保存有对所述第一报文进行VxLAN封装所需的封装信息;其中,所述封装信息包括封装媒体接入控制MAC地址和封装互联网协议IP地址,所述封装MAC地址是发送所述第一报文时所要经过的下一跳设备的MAC地址,所述封装IP地址是所述第一报文目的端虚拟可扩展局域网隧道端点VTEP的IP地址;在所述网卡保存有对所述第一报文进行VxLAN封装所需的封装信息时,根据所述封装信息对所述第一报文进行VxLAN封装并发送;在所述网卡未保存对所述第一报文进行VxLAN封装所需的封装信息时,向所述中央处理器发送获取请求,从所述中央处理器获取所述封装信息并保存,并发送对所述第一报文进行VxLAN封装后的报文。2.根据权利要求1所述的VxLAN报文发送方法,其特征在于,在判断所述网卡中是否保存对所述第一报文进行VxLAN封装所需的封装信息之前,所述方法还包括:所述网卡处理器从接收到的所述第一报文中获取转发所述第一报文的虚拟功能VF的ID,根据所述VF的ID,查询与所述VF的ID对应的VF的属性;当所述VF的属性为VxLAN属性时,则获取所述VF的VxLAN网络标识VNI。3.根据权利要求2所述的VxLAN报文发送方法,其特征在于,所述网卡处理器判断所述网卡中是否保存有对所述第一报文进行VxLAN封装所需的封装信息包括:所述网卡处理器根据所述VNI以及所述第一报文的内层目的MAC地址,查询所述网卡中是否存在与所述VF的VNI和所述第一报文的内层目的MAC地址对应的封装信息;在所述网卡中存在与所述VF的VNI和所述第一报文的内层目的MAC地址对应的封装信息时,判断所述网卡中保存有对所述第一报文进行VxLAN封装所需的封装信息。4.根据权利要求1-3任一所述的VxLAN报文发送方法,其特征在于,所述网卡保存对所述第一报文进行VxLAN封装所需的封装信息的方式包括:所述网卡保存转发所述第一报文的VF的VNI和所述第一报文的内层目的MAC地址,与隧道标识之间的对应关系,以及保存所述隧道标识与所述封装信息之间的对应关系。5.根据权利要求1-4任一所述的VxLAN报文发送方法,其特征在于,所述网卡处理器发送对所述第一报文进行VxLAN封装后的报文包括:所述网卡中的虚拟交换机接收所述中央处理器发送的对所述第一报文进行VxLAN封装后的报文并发送;或,所述网卡处理器根据获取到的对所述第一报文进行VxLAN封装所需的封装信息,对所述第一报文进行VxLAN封装并通过所述网卡中的虚拟交换机发送。6.根据权利要求1-5任一所述的VxLAN报文发送方法,其特征在于,所述方法还包括:所述网卡接收发送给所述虚拟机的第二报文,所述第二报文为VxLAN报文;所述网卡处理器判断所述网卡是否保存所述第二报文中的封装MAC地址和封装IP地址;当所述网卡未保存所述第二报文的封装MAC地址和封装IP地址时,将所述第二报文发送给所述中央处理器。7.根据权利要求1-6任一所述的VxLAN报文发送方法,其特征在于,所述网卡支持单根输入输出虚拟化SR-IOV,支持虚拟交换机vSwitch转发功能。8.一种计算机设备,包括中央处理器、网卡和虚拟机,所述网卡包括网卡处理器,其特征在于,所述网卡处理器包括报文处理单元和表项管理单元;所述报文处理单元,用于接收所述虚拟机发送的第一报文,判断所述网卡中是否保存有对所述第一报文进行可扩展虚拟局域网VxLAN封装所需的封装信息,在所述网卡未保存对所述第一报文进行VxLAN封装所需的封装信息时,向所述中央处理器发送获取请求;其中,所述封装信息包括封装媒体接入控制MAC地址和封装互联网协议IP地址,所述封装MAC地址是发送所述第一报文时所要经过的下一跳设备的MAC地址,所述封装IP地址是所述第一报文目的端虚拟可扩展局域网隧道端点VTEP的IP地址;所述表项管理单元,用于接收所述中央处理器发送的对所述第一报文进行VxLAN封装所需的封装MAC地址和封装IP地址并保存;所述网卡处理器,用于发送对所述第一报文进行VxLAN封装后的报文。9.根据权利要求8所述的计算机设备,其特征在于,所述中央处理器包括报文接收单元和获取发送单元;所述报文接收单元,用于接收所述报文处理单元发送的获取请求,所述获取请求包含所述第一报文和转发所述第一报文的虚拟功能VF的VxLAN网络标识VNI;所述获取发送单元,用于根据所述报文接收单元接收到的获取请求,获取对所述第一报文进行VxLAN封装的封装信息,并发送给所述表项管理单元。10.根据权利要求8或9所述的计算机设备,其特征在于,所述报文处理单元,还用于从接收到的所述第一报文中获取转发所述第一报文的虚拟功能VF的ID,根据所述VF的ID,查询与所述VF的ID对应的VF的属性;当所述VF的属性为VxLAN属性时,则获取所述VF的VxLAN网络标识VNI。11.根据权利要求10所述的计算机...

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

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

1