CN115766578A - 一种基于openvswitch流表的IP报文转发控制方法及装置 - Google Patents
一种基于openvswitch流表的IP报文转发控制方法及装置 Download PDFInfo
- Publication number
- CN115766578A CN115766578A CN202211427903.9A CN202211427903A CN115766578A CN 115766578 A CN115766578 A CN 115766578A CN 202211427903 A CN202211427903 A CN 202211427903A CN 115766578 A CN115766578 A CN 115766578A
- Authority
- CN
- China
- Prior art keywords
- instance
- tenant
- openvswitch
- flow table
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种基于openvswitch流表的IP报文转发控制方法及装置,其中,该方法包括:根据openvswitch流表策略,匹配来自租户实例的报文或者发往租户实例的报文,修改该报文的目的mac地址并添加该报文当前所在虚拟网口的vxlan tag;将来自租户实例的报文或者发往租户实例的报文发送到下一个计算节点,并根据openvswitch流表策略,匹配该报文并修改其vxlan tag为该报文当前所在虚拟网口的vxlan tag,然后进行报文处理,实现不同租户子网间转发。该方法及装置使用openvswitch流表通过调整目的mac地址和vni信息控制IP报文在不同租户子网间直接传输。
Description
技术领域
本发明涉及openstack的neutron实现领域,尤其是一种基于openvswitch流表的IP报文转发控制方法及装置。
背景技术
在openstack的neutron(虚拟网络服务)实现方案中,nfv网元的一个重要业务是sfc(服务链),通过sfc实现广泛的负载均衡、防火墙、入侵检测和深度报文分析等租户网络增值功能。但是基于openvswitch流表实现的sfc功能的一个严重约束是第一个端口对应的入端口必须和租户vpc是同一子网,如图1所示,租户实例的网络流量由虚拟网口A发出,经过openvswitch流表策略处理直接发送到服务链第一跳SF实例1的虚拟网口B,再进行sfc服务链处理后由虚拟网口C直接发送到服务链第二跳SF实例3的虚拟网口D,然后进行sfc服务链处理后由虚拟网口E出服务链,经正常路由转发到达部署在网络的业务端。其中的限制是租户实例的虚拟网口A和服务链SF实例1的虚拟网口B必须是同一子网,这导致sfc需要部署到每个租户网络中,增加了部署管理难度。
发明内容
为解决现有技术存在的上述问题,本发明提供一种基于openvswitch流表的IP报文转发控制方法及装置,租户实例的虚拟网口A和服务链第一跳实例的虚拟网口B分布在不同的租户网络中,云服务商可构建集中共享的服务链专用vpc,不同租户流量在openvswitch流表策略控制下都可送入服务链,实现集中化共享化的运维管理。
为实现上述目的,本发明采用下述技术方案:
在本发明一实施例中,提出了一种基于openvswitch流表的IP报文转发控制方法,该方法包括:
根据openvswitch流表策略,匹配来自租户实例的报文或者发往租户实例的报文,修改该报文的目的mac地址并添加该报文当前所在虚拟网口的vxlan tag;
将来自租户实例的报文或者发往租户实例的报文发送到下一个计算节点,并根据openvswitch流表策略,匹配该报文并修改其vxlan tag为该报文当前所在虚拟网口的vxlan tag,然后进行报文处理,实现不同租户子网间转发。
进一步地,根据openvswitch流表策略,匹配来自租户实例的报文,修改该报文的目的mac地址并添加该报文当前所在虚拟网口的vxlan tag,包括:
在租户实例所在计算节点的openvswitch集成网桥上配置流表策略;
根据openvswitch流表策略的匹配字段,匹配来自租户实例的报文,得到目的mac地址;
修改目的mac地址为服务链第一跳SF实例1的虚拟网口B的mac地址,并添加租户实例的虚拟网口A的vxlan tag。
进一步地,根据openvswitch流表策略,匹配发往租户实例的报文,修改该报文的目的mac地址并添加该报文当前所在虚拟网口的vxlan tag,包括:
服务链第一跳SF实例1所在计算节点收到发往租户实例的网络业务端的响应报文;
在服务链第一跳SF实例1所在计算节点上下发openvswitch流表策略;
根据openvswitch流表策略的匹配字段,匹配发往租户实例的响应报文,得到目的mac地址;
修改目的mac地址为租户实例的mac地址,并添加服务链第一跳SF实例1的虚拟网口B的vxlan tag。
进一步地,将来自租户实例的报文发送到下一个计算节点,并根据openvswitch流表策略,匹配该报文并修改其vxlan tag为该报文当前所在虚拟网口的vxlan tag,然后进行报文处理,包括:
将来自租户实例的报文经由neutron网络组件正常发送到服务链第一跳SF实例1所在的计算节点;
在服务链第一跳SF实例1所在计算节点上下发openvswitch流表策略;
根据openvswitch流表策略的匹配字段,匹配来自租户实例的报文,得到租户实例的虚拟网口A的vxlan tag;
修改租户实例的虚拟网口A的vxlan tag为服务链第一跳SF实例1的虚拟网口B的vxlan tag;
服务链第一跳SF实例1对该报文进行服务链处理并发送到服务链第二跳SF实例3所在的计算节点。
进一步地,将发往租户实例的报文发送到下一个计算节点,并根据openvswitch流表策略,匹配该报文并修改其vxlan tag为该报文当前所在虚拟网口的vxlan tag,然后进行报文处理,包括:
将发往租户实例的响应报文经由neutron网络组件正常发送到租户实例所在的计算节点;
在租户实例所在计算节点上下发openvswitch流表策略;
根据openvswitch流表策略的匹配字段,匹配发往租户实例的响应报文,得到服务链第一跳SF实例1的虚拟网口B的vxlan tag;
修改服务链第一跳SF实例1的虚拟网口B的vxlan tag为租户实例的虚拟网口A的vxlan tag;
租户实例正常处理网络业务端的响应报文。
在本发明一实施例中,还提出了一种基于openvswitch流表的IP报文转发控制装置,该装置包括:
目的mac地址调整模块,根据openvswitch流表策略,匹配来自租户实例的报文或者发往租户实例的报文,修改该报文的目的mac地址并添加该报文当前所在虚拟网口的vxlan tag;
vni信息调整模块,用于将来自租户实例的报文或者发往租户实例的报文发送到下一个计算节点,并根据openvswitch流表策略,匹配该报文并修改其vxlan tag为该报文当前所在虚拟网口的vxlan tag,然后进行报文处理,实现不同租户子网间转发。
进一步地,根据openvswitch流表策略,匹配来自租户实例的报文,修改该报文的目的mac地址并添加该报文当前所在虚拟网口的vxlan tag,包括:
在租户实例所在计算节点的openvswitch集成网桥上配置流表策略;
根据openvswitch流表策略的匹配字段,匹配来自租户实例的报文,得到目的mac地址;
修改目的mac地址为服务链第一跳SF实例1的虚拟网口B的mac地址,并添加租户实例的虚拟网口A的vxlan tag。
进一步地,根据openvswitch流表策略,匹配发往租户实例的报文,修改该报文的目的mac地址并添加该报文当前所在虚拟网口的vxlan tag,包括:
服务链第一跳SF实例1所在计算节点收到发往租户实例的网络业务端的响应报文;
在服务链第一跳SF实例1所在计算节点上下发openvswitch流表策略;
根据openvswitch流表策略的匹配字段,匹配发往租户实例的响应报文,得到目的mac地址;
修改目的mac地址为租户实例的mac地址,并添加服务链第一跳SF实例1的虚拟网口B的vxlan tag。
进一步地,将来自租户实例的报文发送到下一个计算节点,并根据openvswitch流表策略,匹配该报文并修改其vxlan tag为该报文当前所在虚拟网口的vxlan tag,然后进行报文处理,包括:
将来自租户实例的报文经由neutron网络组件正常发送到服务链第一跳SF实例1所在的计算节点;
在服务链第一跳SF实例1所在计算节点上下发openvswitch流表策略;
根据openvswitch流表策略的匹配字段,匹配来自租户实例的报文,得到租户实例的虚拟网口A的vxlan tag;
修改租户实例的虚拟网口A的vxlan tag为服务链第一跳SF实例1的虚拟网口B的vxlan tag;
服务链第一跳SF实例1对该报文进行服务链处理并发送到服务链第二跳SF实例3所在的计算节点。
进一步地,将发往租户实例的报文发送到下一个计算节点,并根据openvswitch流表策略,匹配该报文并修改其vxlan tag为该报文当前所在虚拟网口的vxlan tag,然后进行报文处理,包括:
将发往租户实例的响应报文经由neutron网络组件正常发送到租户实例所在的计算节点;
在租户实例所在计算节点上下发openvswitch流表策略;
根据openvswitch流表策略的匹配字段,匹配发往租户实例的响应报文,得到服务链第一跳SF实例1的虚拟网口B的vxlan tag;
修改服务链第一跳SF实例1的虚拟网口B的vxlan tag为租户实例的虚拟网口A的vxlan tag;
租户实例正常处理网络业务端的响应报文。
在本发明一实施例中,还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现前述基于openvswitch流表的IP报文转发控制方法。
在本发明一实施例中,还提出了一种计算机可读存储介质,计算机可读存储介质存储有执行基于openvswitch流表的IP报文转发控制方法的计算机程序。
有益效果:
1、本发明实现可共享管理的服务链解决方案,有效提交云服务商运维管理效率。
2、本发明实现基于openvswitch流表的跨网络转发策略,为传统不可达网络业务提供直达解决方案。
附图说明
图1是本发明一实施例的基于openvswitch流表的IP报文转发控制方法流程示意图;
图2是本发明一实施例的基于openvswitch流表的IP报文转发控制装置结构示意图;
图3是本发明一实施例的计算机设备结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神,应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种装置、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种基于openvswitch流表的IP报文转发控制方法及装置,使用openvswitch流表通过调整目的mac地址和vni信息控制IP报文在不同租户子网间直接传输。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
图1是本发明基于openvswitch流表的IP报文转发控制方法流程框图。如图1所示,该方法包括:
S1、根据openvswitch流表策略,匹配来自租户实例的报文或者发往租户实例的报文,修改该报文的目的mac地址并添加该报文当前所在虚拟网口的vxlan tag,包括:
(1)在租户实例所在计算节点的openvswitch集成网桥(集成网桥是使用openvswitch技术创建出的网桥对象)上配置流表策略;
根据openvswitch流表策略的匹配字段(匹配目的mac地址),匹配来自租户实例的报文,得到目的mac地址;
根据openvswitch流表策略的动作字段(修改数据包的目的mac地址),修改目的mac地址为服务链第一跳SF实例1的虚拟网口B的mac地址,并根据openvswitch流表策略的动作字段(为数据包添加新的vxlan tag),添加租户实例的虚拟网口A的vxlan tag。
(2)服务链第一跳SF实例1所在计算节点收到发往租户实例的网络业务端的响应报文;
在服务链第一跳SF实例1所在计算节点上下发openvswitch流表策略;
根据openvswitch流表策略的匹配字段(匹配目的mac地址),匹配发往租户实例的响应报文,得到目的mac地址;
根据openvswitch流表策略的动作字段(修改数据包的目的mac地址),修改目的mac地址为租户实例的mac地址,并根据openvswitch流表策略的动作字段(为数据包添加新的vxlan tag),添加服务链第一跳SF实例1的虚拟网口B的vxlan tag。
S2、将来自租户实例的报文或者发往租户实例的报文发送到下一个计算节点,并根据openvswitch流表策略,匹配该报文并修改其vxlan tag为该报文当前所在虚拟网口的vxlan tag,然后进行报文处理,包括:
(1)将来自租户实例的报文经由neutron网络组件正常发送到服务链第一跳SF实例1所在的计算节点;
在服务链第一跳SF实例1所在计算节点上下发openvswitch流表策略;
根据openvswitch流表策略的匹配字段(匹配指定vxlan tag),匹配来自租户实例的报文,得到租户实例的虚拟网口A的vxlan tag;
根据openvswitch流表策略的动作字段(修改指定vxlan tag),修改租户实例的虚拟网口A的vxlan tag为服务链第一跳SF实例1的虚拟网口B的vxlan tag;
服务链第一跳SF实例1对该报文进行服务链处理(服务链处理是报文进入服务链之后的报文处理,不是本发明的关注范围,本发明关注点是将报文引入服务链的入口)并发送到服务链第二跳SF实例3所在的计算节点。
(2)将发往租户实例的响应报文经由neutron网络组件正常发送到租户实例所在的计算节点;
在租户实例所在计算节点上下发openvswitch流表策略;
根据openvswitch流表策略的匹配字段(匹配指定vxlan tag),匹配发往租户实例的响应报文,得到服务链第一跳SF实例1的虚拟网口B的vxlan tag;
根据openvswitch流表策略的动作字段(修改指定vxlan tag)修改服务链第一跳SF实例1的虚拟网口B的vxlan tag为租户实例的虚拟网口A的vxlan tag;
租户实例正常处理网络业务端的响应报文。
需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
为了对上述基于openvswitch流表的IP报文转发控制方法进行更为清楚的解释,下面结合一个具体的实施例来进行说明,然而值得注意的是该实施例仅是为了更好地说明本发明,并不构成对本发明不当的限定。
实施例如下:
第一步,在租户实例所在计算节点的openvswitch集成网桥上配置流表策略,匹配租户实例的报文,修改目的mac地址为服务链第一跳SF实例1的虚拟网口B的mac地址。
参考命令(以处理icmp报文为例):
#修改mac地址的策略
ovs-ofctl add-group br-int'group_id=3,type=select,bucket=bucket_id:0,actions=mod_dl_ds t:8e:4d:67:14:85:38,resubmit(,5)'
#来自租户实例的icmp报文,并且目的mac地址是所测网络业务的地址,执行修改mac策略
ovs-ofctl add-flow br-int'cookie=0,table=0,priority=30,icmp,in_port="qvoveth51-52",\
nw_src=172.16.51.1,nw_dst=172.16.52.1actions=group:3'
#发往所测网络业务的mac地址的报文,添加租户实例vxlan tagovs-ofctl add-flow br-int'cookie=0,table=5,priority=0,ip,dl_dst=8e:4d:67:14:85:38
actions=mod_vlan_vid:1,resubmit(,10)'
#发往所测网络业务的mac地址的报文且包含vxlan tag,向后转发
ovs-ofctl add-flow br-int'cookie=0,table=10,priority=1,dl_vlan=1,dl_dst=8e:4d:67:14:85:38
actions=output="patch-tun"'
第二步,报文经由neutron网络组件正常发送到服务链第一跳SF实例1所在的计算节点。
第三步,服务链第一跳SF实例1所在计算节点上下发openvswitch流表策略,匹配租户实例的报文,修改vni即vxlan tag为虚拟网口B的vni,然后进行业务链处理并发送到服务链第二跳SF实例3所在计算节点。
#参考命令(以处理icmp报文为例):
#来自租户实例,发往所测网络业务mac地址的icmp报文,替换为虚拟网口B的vxlan tag
ovs-ofctl add-flow br-int'cookie=0,table=0,priority=30,icmp,in_port="patch-tun",\
nw_src=172.16.51.1,nw_dst=172.16.52.1actions=mod_vlan_vid:2,resubmit(,60)'
第四步,服务链第一跳SF实例1收到网络业务的响应报文。
第五步,服务链第一跳SF实例1所在计算节点上下发流表策略,匹配服务链第一跳SF实例1的响应报文,修改目的mac地址为租户实例的mac地址。
#参考命令(以处理icmp报文为例):
#修改mac地址为租户实例的mac地址的策略
ovs-ofctl add-group br-int'group_id=3,type=select,bucket=bucket_id:0,actions=mod_dl_dst:b6:97:04:27:10:7e,resubmit(,5)'
#发往租户实例的报文,修改mac地址为租户实例的mac地址
ovs-ofctl add-flow br-int'cookie=0,table=0,priority=30,icmp,in_port="qvoveth52-51",\
nw_src=172.16.52.1,nw_dst=172.16.51.1actions=group:3'
#发往租户实例的mac地址的报文,添加服务链第一跳SF实例1的vxlan tag
ovs-ofctl add-flow br-int'cookie=0,table=5,priority=0,ip,dl_dst=b6:97:04:27:10:7eactions=mod_vlan_vid:2,resubmit(,10)'
#发往租户实例的mac地址的报文并且包含vxlan tag,正常转发
ovs-ofctl add-flow br-int'cookie=0,table=10,priority=1,dl_vlan=2,dl_dst=b6:97:04:27:10:7eactions=output="patch-tun"'
第六步,报文经由neutron网络组件正常发送到租户实例所在的计算节点。
第七步,租户实例所在计算节点上下发流表策略,匹配服务链第一跳SF实例1的响应的报文,修改vxlan tag为虚拟网口A的vxlan tag。
#参考命令(以处理icmp报文为例):
#来自SF实例1目的mac地址为租户实例的报文,替换为租户实例的vxlan tag
ovs-ofctl add-flow br-int'cookie=0,table=0,priority=30,in_port="patch-tun",\
nw_src=172.16.52.1,nw_dst=172.16.51.1actions=mod_vlan_vid:1,resubmit(,60)'
第八步,租户实例正常处理响应报文。
基于同一发明构思,本发明还提出一种基于openvswitch流表的IP报文转发控制装置。该装置的实施可以参见上述方法的实施,重复之处不再赘述。以下所使用的术语“模块”,可以是实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是本发明一实施例的基于openvswitch流表的IP报文转发控制装置结构示意图。如图2所示,该装置包括:
目的mac地址调整模块101,根据openvswitch流表策略,匹配来自租户实例的报文或者发往租户实例的报文,修改该报文的目的mac地址并添加该报文当前所在虚拟网口的vxlan tag;具体如下:
在租户实例所在计算节点的openvswitch集成网桥上配置流表策略;
根据openvswitch流表策略的匹配字段,匹配来自租户实例的报文,得到目的mac地址;
修改目的mac地址为服务链第一跳SF实例1的虚拟网口B的mac地址,并添加租户实例的虚拟网口A的vxlan tag。
服务链第一跳SF实例1所在计算节点收到发往租户实例的网络业务端的响应报文;
在服务链第一跳SF实例1所在计算节点上下发openvswitch流表策略;
根据openvswitch流表策略的匹配字段,匹配发往租户实例的响应报文,得到目的mac地址;
修改目的mac地址为租户实例的mac地址,并添加服务链第一跳SF实例1的虚拟网口B的vxlan tag。
vni信息调整模块102,用于将来自租户实例的报文或者发往租户实例的报文发送到下一个计算节点,并根据openvswitch流表策略,匹配该报文并修改其vxlan tag为该报文当前所在虚拟网口的vxlan tag,然后进行报文处理,实现不同租户子网间转发,具体如下:
将来自租户实例的报文经由neutron网络组件正常发送到服务链第一跳SF实例1所在的计算节点;
在服务链第一跳SF实例1所在计算节点上下发openvswitch流表策略;
根据openvswitch流表策略的匹配字段,匹配来自租户实例的报文,得到租户实例的虚拟网口A的vxlan tag;
修改租户实例的虚拟网口A的vxlan tag为服务链第一跳SF实例1的虚拟网口B的vxlan tag;
服务链第一跳SF实例1对该报文进行服务链处理并发送到服务链第二跳SF实例3所在的计算节点。
将发往租户实例的响应报文经由neutron网络组件正常发送到租户实例所在的计算节点;
在租户实例所在计算节点上下发openvswitch流表策略;
根据openvswitch流表策略的匹配字段,匹配发往租户实例的响应报文,得到服务链第一跳SF实例1的虚拟网口B的vxlan tag;
修改服务链第一跳SF实例1的虚拟网口B的vxlan tag为租户实例的虚拟网口A的vxlan tag;
租户实例正常处理网络业务端的响应报文。
应当注意,尽管在上文详细描述中提及了基于openvswitch流表的IP报文转发控制装置的若干模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
基于前述发明构思,如图3所示,本发明还提出一种计算机设备200,包括存储器210、处理器220及存储在存储器210上并可在处理器220上运行的计算机程序230,处理器220执行计算机程序230时实现前述基于openvswitch流表的IP报文转发控制方法。
基于前述发明构思,本发明还提出一种计算机可读存储介质,计算机可读存储介质存储有执行前述基于openvswitch流表的IP报文转发控制方法的计算机程序。
本发明提出的基于openvswitch流表的IP报文转发控制方法及装置,可以控制跨租户网络端到端网络流量直达。
上述涉及到的专业术语说明如下:
Openvswitch:
Openvswitch是在开源的Apache2.0许可下的产品级质量的多层虚拟交换标准。它旨在通过编程扩展,使庞大的网络自动化(配置、管理和维护),同时还支持标准的管理接口和协议(如NetFlow,sFlow,SPAN,RSPAN,CLI,LACP,802.1ag)。总的来说,它被设计为支持分布在多个物理服务器,例如VMware的vNetwork分布式vSwitch或思科的Nexus1000V。
vxlan和vni:
VXLAN(Virtual eXtensible Local Area Network)是一种隧道技术,能在三层网络的基础上建立二层以太网网络隧道,从而实现跨地域的二层互连。
VXLAN采取了将原始以太网报文封装在UDP数据包里的封装格式。将原来的二层数据帧加上VXLAN头部一起封装在一个UDP数据包里。
VXLAN头部包含有一个VXLAN标识(即VNI,VXLAN Network Identifier),只有在同一个VXLAN上的虚拟机之间才能相互通信。VNI在数据包之中占24比特,故可支持1600万个VXLAN的同时存在,远多于VLAN的4094个,因此可适应大规模租户的部署。
SFC(服务链):
由于Overlay网络的发展,使得虚拟网络和物理网络分离,让数据中心的网络控制变得更加灵活,更具有扩展性。然而,在数据中心中,还存在很多介于虚拟网络和物理网络之间的中间件,如防火墙,QoS,负载均衡器等。这些中间件提供了必要的业务处理功能,即Service Function。灵活、便捷、高效和安全地调配流量到Service Function上处理,形成服务链(Service Function Chaining),这就是SFC项目要解决的问题。服务链可以理解为一种业务形式。
nfv:
网络功能虚拟化(英语:Network Functions Virtualization,缩为NFV),一种对于网络架构(network architecture)的概念,利用虚拟化技术,将网络节点阶层的功能,分割成几个功能区块,分别以软件方式实现,不再拘限于硬件架构。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包含的各种修改和等同布置。
对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (12)
1.一种基于openvswitch流表的IP报文转发控制方法,其特征在于,该方法包括:
根据openvswitch流表策略,匹配来自租户实例的报文或者发往租户实例的报文,修改该报文的目的mac地址并添加该报文当前所在虚拟网口的vxlan tag;
将来自租户实例的报文或者发往租户实例的报文发送到下一个计算节点,并根据openvswitch流表策略,匹配该报文并修改其vxlan tag为该报文当前所在虚拟网口的vxlan tag,然后进行报文处理,实现不同租户子网间转发。
2.根据权利要求1所述的基于openvswitch流表的IP报文转发控制方法,其特征在于,根据openvswitch流表策略,匹配来自租户实例的报文,修改该报文的目的mac地址并添加该报文当前所在虚拟网口的vxlan tag,包括:
在租户实例所在计算节点的openvswitch集成网桥上配置流表策略;
根据openvswitch流表策略的匹配字段,匹配来自租户实例的报文,得到目的mac地址;
修改目的mac地址为服务链第一跳SF实例1的虚拟网口B的mac地址,并添加租户实例的虚拟网口A的vxlan tag。
3.根据权利要求1所述的基于openvswitch流表的IP报文转发控制方法,其特征在于,根据openvswitch流表策略,匹配发往租户实例的报文,修改该报文的目的mac地址并添加该报文当前所在虚拟网口的vxlan tag,包括:
服务链第一跳SF实例1所在计算节点收到发往租户实例的网络业务端的响应报文;
在服务链第一跳SF实例1所在计算节点上下发openvswitch流表策略;
根据openvswitch流表策略的匹配字段,匹配发往租户实例的响应报文,得到目的mac地址;
修改目的mac地址为租户实例的mac地址,并添加服务链第一跳SF实例1的虚拟网口B的vxlan tag。
4.根据权利要求1所述的基于openvswitch流表的IP报文转发控制方法,其特征在于,将来自租户实例的报文发送到下一个计算节点,并根据openvswitch流表策略,匹配该报文并修改其vxlan tag为该报文当前所在虚拟网口的vxlan tag,然后进行报文处理,包括:
将来自租户实例的报文经由neutron网络组件正常发送到服务链第一跳SF实例1所在的计算节点;
在服务链第一跳SF实例1所在计算节点上下发openvswitch流表策略;
根据openvswitch流表策略的匹配字段,匹配来自租户实例的报文,得到租户实例的虚拟网口A的vxlan tag;
修改租户实例的虚拟网口A的vxlan tag为服务链第一跳SF实例1的虚拟网口B的vxlantag;
服务链第一跳SF实例1对该报文进行服务链处理并发送到服务链第二跳SF实例3所在的计算节点。
5.根据权利要求1所述的基于openvswitch流表的IP报文转发控制方法,其特征在于,将发往租户实例的报文发送到下一个计算节点,并根据openvswitch流表策略,匹配该报文并修改其vxlan tag为该报文当前所在虚拟网口的vxlan tag,然后进行报文处理,包括:
将发往租户实例的响应报文经由neutron网络组件正常发送到租户实例所在的计算节点;
在租户实例所在计算节点上下发openvswitch流表策略;
根据openvswitch流表策略的匹配字段,匹配发往租户实例的响应报文,得到服务链第一跳SF实例1的虚拟网口B的vxlan tag;
修改服务链第一跳SF实例1的虚拟网口B的vxlan tag为租户实例的虚拟网口A的vxlantag;
租户实例正常处理网络业务端的响应报文。
6.一种基于openvswitch流表的IP报文转发控制装置,其特征在于,该装置包括:
目的mac地址调整模块,根据openvswitch流表策略,匹配来自租户实例的报文或者发往租户实例的报文,修改该报文的目的mac地址并添加该报文当前所在虚拟网口的vxlantag;
vni信息调整模块,用于将来自租户实例的报文或者发往租户实例的报文发送到下一个计算节点,并根据openvswitch流表策略,匹配该报文并修改其vxlan tag为该报文当前所在虚拟网口的vxlan tag,然后进行报文处理,实现不同租户子网间转发。
7.根据权利要求6所述的基于openvswitch流表的IP报文转发控制装置,其特征在于,根据openvswitch流表策略,匹配来自租户实例的报文,修改该报文的目的mac地址并添加该报文当前所在虚拟网口的vxlan tag,包括:
在租户实例所在计算节点的openvswitch集成网桥上配置流表策略;
根据openvswitch流表策略的匹配字段,匹配来自租户实例的报文,得到目的mac地址;
修改目的mac地址为服务链第一跳SF实例1的虚拟网口B的mac地址,并添加租户实例的虚拟网口A的vxlan tag。
8.根据权利要求6所述的基于openvswitch流表的IP报文转发控制装置,其特征在于,根据openvswitch流表策略,匹配发往租户实例的报文,修改该报文的目的mac地址并添加该报文当前所在虚拟网口的vxlan tag,包括:
服务链第一跳SF实例1所在计算节点收到发往租户实例的网络业务端的响应报文;
在服务链第一跳SF实例1所在计算节点上下发openvswitch流表策略;
根据openvswitch流表策略的匹配字段,匹配发往租户实例的响应报文,得到目的mac地址;
修改目的mac地址为租户实例的mac地址,并添加服务链第一跳SF实例1的虚拟网口B的vxlan tag。
9.根据权利要求6所述的基于openvswitch流表的IP报文转发控制装置,其特征在于,将来自租户实例的报文发送到下一个计算节点,并根据openvswitch流表策略,匹配该报文并修改其vxlan tag为该报文当前所在虚拟网口的vxlan tag,然后进行报文处理,包括:
将来自租户实例的报文经由neutron网络组件正常发送到服务链第一跳SF实例1所在的计算节点;
在服务链第一跳SF实例1所在计算节点上下发openvswitch流表策略;
根据openvswitch流表策略的匹配字段,匹配来自租户实例的报文,得到租户实例的虚拟网口A的vxlan tag;
修改租户实例的虚拟网口A的vxlan tag为服务链第一跳SF实例1的虚拟网口B的vxlantag;
服务链第一跳SF实例1对该报文进行服务链处理并发送到服务链第二跳SF实例3所在的计算节点。
10.根据权利要求6所述的基于openvswitch流表的IP报文转发控制装置,其特征在于,将发往租户实例的报文发送到下一个计算节点,并根据openvswitch流表策略,匹配该报文并修改其vxlan tag为该报文当前所在虚拟网口的vxlan tag,然后进行报文处理,包括:
将发往租户实例的响应报文经由neutron网络组件正常发送到租户实例所在的计算节点;
在租户实例所在计算节点上下发openvswitch流表策略;
根据openvswitch流表策略的匹配字段,匹配发往租户实例的响应报文,得到服务链第一跳SF实例1的虚拟网口B的vxlan tag;
修改服务链第一跳SF实例1的虚拟网口B的vxlan tag为租户实例的虚拟网口A的vxlantag;
租户实例正常处理网络业务端的响应报文。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-5任一项所述方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1-5任一项所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211427903.9A CN115766578A (zh) | 2022-11-15 | 2022-11-15 | 一种基于openvswitch流表的IP报文转发控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211427903.9A CN115766578A (zh) | 2022-11-15 | 2022-11-15 | 一种基于openvswitch流表的IP报文转发控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115766578A true CN115766578A (zh) | 2023-03-07 |
Family
ID=85371439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211427903.9A Pending CN115766578A (zh) | 2022-11-15 | 2022-11-15 | 一种基于openvswitch流表的IP报文转发控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115766578A (zh) |
-
2022
- 2022-11-15 CN CN202211427903.9A patent/CN115766578A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106936777B (zh) | 基于OpenFlow的云计算分布式网络实现方法、系统 | |
CN108989213B (zh) | 使用虚拟节点之间的所选择的结构路径传输lsp设置 | |
CN108574639B (zh) | Evpn报文处理方法、设备及系统 | |
US10320664B2 (en) | Cloud overlay for operations administration and management | |
EP3304815B1 (en) | Operations, administration and management (oam) in overlay data center environments | |
TWI821463B (zh) | 具有分解式網路元件的邏輯路由器 | |
EP3410656A1 (en) | Routing protocol signaling of multiple next hops and their relationship | |
EP3410652A1 (en) | Fabric path context-based forwarding for virtual nodes | |
EP2976860B1 (en) | Compiler for and method for software defined networks | |
CN113273142B (zh) | 通信系统和通信方法 | |
CN113261242B (zh) | 通信系统和由通信系统实现的方法 | |
CN113261240A (zh) | 使用可编程客户机进行多租户隔离 | |
US10715419B1 (en) | Software defined networking between virtualized entities of a data center and external entities | |
US10033622B2 (en) | Controller-based dynamic routing in a software defined network environment | |
US20200382421A1 (en) | Efficient troubleshooting in openflow switches | |
EP3771163A1 (en) | Using and processing per slice segment identifers in a network employing segment routing | |
CN110311860B (zh) | Vxlan下多链路负载均衡方法及装置 | |
US11336570B1 (en) | Layer three multi-homing for virtual networks | |
US10382319B2 (en) | Multiple VXLAN tunnel reachability | |
EP3437266A1 (en) | Method and apparatus for pseudo-wire setup and maintenance using intermediate system to intermediate system (is-is) | |
US11902160B2 (en) | EVPN host routed bridging (HRB) and EVPN cloud native data center | |
George et al. | A Brief Overview of VXLAN EVPN | |
CN115766578A (zh) | 一种基于openvswitch流表的IP报文转发控制方法及装置 | |
EP3804236A1 (en) | Method and apparatus for optimized dissemination of layer 3 forwarding information in software defined networking (sdn) networks | |
KR20150079391A (ko) | 네트워크 가상화 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |