一种基于OVS的邻居表项的VXLAN报文的转发方法及装置制造方法及图纸

技术编号:37546260 阅读:13 留言:0更新日期:2023-05-12 16:19
本发明专利技术公开了一种基于OVS的邻居表项的VXLAN报文的转发方法及装置,属于网络技术与安全技术领域,所述方法包括:在通过OVS转发VXLAN报文的情况下,确定目标邻居表项,将所述VXLAN报文存入所述目标邻居表项中的缓存队列,构造ARP请求或NS报文,以获取所述目标MAC地址和目标IP地址,根据所述目标IP地址查找所述目标邻居表项,并将所述目标MAC地址更新至所述目标邻居表项中,通过所述OVS在所述目标邻居表项查找所述MAC地址,以转发所述VXLAN报文。文。文。

【技术实现步骤摘要】
一种基于OVS的邻居表项的VXLAN报文的转发方法及装置


[0001]本专利技术属于网络技术与安全
,具体涉及一种基于OVS的邻居表项的VXLAN报文的转发方法及装置。

技术介绍

[0002]Open vSwitch(简称OVS)是一个开源的虚拟交换机,被广泛地应用在云计算的场景中。同时,为了提高其转发性能,引入了DPDK加速方案,使数据可以在用户态直接转发,极大地提升了OVS的转发性能。
[0003]在云场景中,普遍使用VXLAN对虚拟网络(overlay网络)的报文进行封装,然后将封装后的VXLAN报文通过三层转发方式送到基础网络(underlay网络)中。三层转发的关键是OVS要知道下一跳的MAC地址。当本地OVS没有保存下一跳的MAC地址时,OVS需要通过主动发送ARP请求(ipv4地址)或NS报文(ipv6地址)来学习下一跳的MAC地址。OVS DPDK在执行上述过程时存在一个明显的缺陷——OVS会丢弃当前需要转发的VXLAN隧道报文,直到OVS学习到下一跳的MAC地址。
[0004]总结上述过程,使用OVS DPDK转发VXLAN隧道报文时,如果OVS本地的邻居表项中存在下一跳MAC,OVS可以正常转发该VXLAN报文;如果不存在下一跳MAC,OVS则会构造ARP请求或NS报文主动学习下一跳MAC,并丢弃需要转发的VXLAN报文。
[0005]由于存在该缺陷,会导致虚机通信时存在丢包的风险,直接表现是通信双发的连接建立慢。

技术实现思路

[0006]本专利技术实施例的目的是提供一种基于OVS的邻居表项的VXLAN报文的转发方法及装置,以解决OVS DPDK转发平面在学习邻居表项时会丢弃当前报文的问题,确保虚机之间能够正常通信。
[0007]为了解决上述技术问题,本专利技术是这样实现的:
[0008]第一方面,本专利技术实施例提供了一种基于OVS的邻居表项的VXLAN报文的转发方法,其特征在于,所述方法包括:
[0009]在通过OVS转发VXLAN报文的情况下,确定目标邻居表项;
[0010]将所述VXLAN报文存入所述目标邻居表项中的缓存队列;
[0011]构造ARP请求或NS报文,以获取所述目标MAC地址和目标IP地址;
[0012]根据所述目标IP地址查找所述目标邻居表项,并将所述目标MAC地址更新至所述目标邻居表项中;
[0013]通过所述OVS在所述目标邻居表项查找所述MAC地址,以转发所述VXLAN报文。
[0014]可选地,所述在通过OVS转发VXLAN报文且不存在目标MAC地址的情况下,确定目标邻居表项包括:
[0015]在通过OVS转发VXLAN报文的情况下,通过下一跳的IP地址查找对应的邻居表项;
[0016]在不存在所述对应的邻居表项的情况下,创建所述目标邻居表项,并在所述目标邻居表项中建立缓存队列;
[0017]在存在所述对应的邻居表项且所述对应的邻居表项不存在目标MAC地址的情况下,确定所述对应的邻居表项为目标邻居表项。
[0018]可选地,所述在不存在所述对应的邻居表项的情况下,创建所述目标邻居表项之后,所述方法还包括:
[0019]设置所述目标邻居表项的状态为第一状态;
[0020]在所述构造ARP请求或NS报文之后,所述方法还包括:
[0021]将所述目标邻居表项的时间更新为第二状态,并启动第一定时器以记录所述目标邻居表项处于第一状态的时长;
[0022]在所述构造ARP请求或NS报文,以获取所述目标MAC地址和目标IP地址之后,所述方法还包括:
[0023]将所述目标邻居表项的时间更新为第三状态,并启动第二定时器以记录所述目标邻居表项处于第三状态的时长。
[0024]可选地,在所述将所述目标邻居表项的时间更新为第二状态,并启动第一定时器之后,所述方法还包括:
[0025]等待针对所述ARP请求或NS报文的应答报文;
[0026]在未收到所述应答报文的情况下,重新发送所述ARP请求或NS报文;
[0027]在收到所述应答报文的情况下,从所述应答报文中获取所述目标MAC地址和目标IP地址,将所述目标邻居表项的时间更新为第三状态。
[0028]可选地,所述在未收到所述应答报文的情况下,重新发送所述ARP请求或NS报文之后,所述方法还包括:
[0029]在重新发送所述ARP请求或NS报文的次数大于等于目标次数的情况下,将所述目标邻居表项的时间更新为第一状态;
[0030]其中,在所述目标邻居表项处于第一状态的情况下,所述目标邻居表项为等待被删除的状态。
[0031]第二方面,一种基于OVS的邻居表项的VXLAN报文的转发装置,其特征在于,包括:
[0032]确定模块,用于在通过OVS转发VXLAN报文的情况下,确定目标邻居表项;
[0033]缓存模块,用于将所述VXLAN报文存入所述目标邻居表项中的缓存队列;
[0034]构造模块,用于构造ARP请求或NS报文,以获取所述目标MAC地址和目标IP地址;
[0035]更新模块,用于根据所述目标IP地址查找所述目标邻居表项,并将所述目标MAC地址更新至所述目标邻居表项中;
[0036]转发模块,用于通过所述OVS在所述目标邻居表项查找所述MAC地址,以转发所述VXLAN报文。
[0037]可选地,所述确定模块包括:
[0038]查找模块,用于在通过OVS转发VXLAN报文的情况下,通过下一跳的IP地址查找对应的邻居表项;
[0039]创建模块,用于在不存在所述对应的邻居表项的情况下,创建所述目标邻居表项,并在所述目标邻居表项中建立缓存队列;
[0040]确定子模块,用于在存在所述对应的邻居表项且所述对应的邻居表项不存在目标MAC地址的情况下,确定所述对应的邻居表项为目标邻居表项。
[0041]可选地,所述转发装置还包括:
[0042]设置模块,用于设置所述目标邻居表项的状态为第一状态;
[0043]第一更新模块,用于将所述目标邻居表项的时间更新为第二状态,并启动第一定时器以记录所述目标邻居表项处于第一状态的时长;
[0044]第二更新模块,用于将所述目标邻居表项的时间更新为第三状态,并启动第二定时器以记录所述目标邻居表项处于第三状态的时长。
[0045]可选地,所述转发装置还包括:
[0046]等待模块,用于等待针对所述ARP请求或NS报文的应答报文;
[0047]发送模块,用于在未收到所述应答报文的情况下,重新发送所述ARP请求或NS报文;
[0048]获取模块,用于在收到所述应答报文的情况下,从所述应答报文中获取所述目标MAC地址和目标IP地址,将所述目标邻居表项的时间更新为第三状态。
[0049]可选地,所述转发装置还包括:
[0050]第三更新模块,用于在重新发送所述ARP请求或NS报本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于OVS的邻居表项的VXLAN报文的转发方法,其特征在于,所述方法包括:在通过OVS转发VXLAN报文的情况下,确定目标邻居表项;将所述VXLAN报文存入所述目标邻居表项中的缓存队列;构造ARP请求或NS报文,以获取所述目标MAC地址和目标IP地址;根据所述目标IP地址查找所述目标邻居表项,并将所述目标MAC地址更新至所述目标邻居表项中;通过所述OVS在所述目标邻居表项查找所述MAC地址,以转发所述VXLAN报文。2.根据权利要求1所述的转发方法,其特征在于,所述在通过OVS转发VXLAN报文且不存在目标MAC地址的情况下,确定目标邻居表项包括:在通过OVS转发VXLAN报文的情况下,通过下一跳的IP地址查找对应的邻居表项;在不存在所述对应的邻居表项的情况下,创建所述目标邻居表项,并在所述目标邻居表项中建立缓存队列;在存在所述对应的邻居表项且所述对应的邻居表项不存在目标MAC地址的情况下,确定所述对应的邻居表项为目标邻居表项。3.根据权利要求2所述的转发方法,其特征在于,所述在不存在所述对应的邻居表项的情况下,创建所述目标邻居表项之后,所述方法还包括:设置所述目标邻居表项的状态为第一状态;在所述构造ARP请求或NS报文之后,所述方法还包括:将所述目标邻居表项的时间更新为第二状态,并启动第一定时器以记录所述目标邻居表项处于第一状态的时长;在所述构造ARP请求或NS报文,以获取所述目标MAC地址和目标IP地址之后,所述方法还包括:将所述目标邻居表项的时间更新为第三状态,并启动第二定时器以记录所述目标邻居表项处于第三状态的时长。4.根据权利要求3所述的转发方法,其特征在于,在所述将所述目标邻居表项的时间更新为第二状态,并启动第一定时器之后,所述方法还包括:等待针对所述ARP请求或NS报文的应答报文;在未收到所述应答报文的情况下,重新发送所述ARP请求或NS报文;在收到所述应答报文的情况下,从所述应答报文中获取所述目标MAC地址和目标IP地址,将所述目标邻居表项的时间更新为第三状态。5.根据权利要求4所述的转发方法,其特征在于,所述在未收到所述应答报文的情况下,重新发送所述ARP请求或NS报文之后,所述方法还包括:在重新发送所述ARP请求或NS报文的次数大于等于目标次数的情况下,将所述目标邻居表项的时...

【专利技术属性】
技术研发人员:韩丁李成杨昌梁满仓湛松涛吴绍华张梦君
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1