一种在云环境支持Qinq通信的方法技术

技术编号:38226825 阅读:21 留言:0更新日期:2023-07-25 17:56
本发明专利技术涉及通信技术领域,具体为一种在云环境支持Qinq通信的方法,包括以下步骤:在neutron

【技术实现步骤摘要】
一种在云环境支持Qinq通信的方法


[0001]本专利技术涉及通信
,具体为一种在云环境支持Qinq通信的方法。

技术介绍

[0002]在Openstack云网络中,通过Network Trunk方式可以使用一个主端口和多个不同Vlan网络的子端口共同创建一个虚拟trunk,通过主端口创建的虚拟机可以直接配置子端口的IP和Vlan id,实现对子端口报文的透传。
[0003]但是,上述实现方式的底层原理是在OVS网桥上为虚拟机创建不同的子端口,并且为这些端口添加不同的Vlan ID进行传输。因此,在服务器连接的交换机上依然转发的是携带子端口Vlan ID的报文,交换机需要配置子端口所属的Vlan,并没有降低交换机上Vlan ID的消耗,没有实现QinQ报文的传输。

技术实现思路

[0004]本专利技术的目的在于提供一种在云环境支持Qinq通信的方法,以解决上述
技术介绍
中提出的问题。
[0005]为实现上述目的,本专利技术提供如下技术方案:一种在云环境支持Qinq通信的方法,所述方法包括以下步骤:
[0006]在neutron

server的API中创建trunk;
[0007]设置trunk为开启QinQ,并且添加主网络端口和多个子网络的端口;
[0008]在OVS网桥上实现虚拟机子端口报文转发所需要的配置和相关流表的下发;
[0009]在物理交换机上,放通主端口所在网络的Vlan报文。
[0010]优选的,添加主网络端口和多个子网络的端口后,使用主网络端口创建虚拟机。
[0011]优选的,添加主网络端口和多个子网络的端口后,判断是否存在子端口。
[0012]优选的,判断是否存在子端口具体包括:
[0013]步骤1,如果开启了QinQ,则在OVS网桥上配置到主端口的流表;
[0014]步骤2,判断是否存在子端口,如果不存在则不需要配置,否则需要在tbr网桥上为主端口配置QinQ;
[0015]步骤3,如果存在子端口,获取子端口的Vlan id、MAC地址、IP地址信息;
[0016]步骤4,根据子端口的信息,为tbr网桥和br

int网桥添加流表,转发匹配对应规则的报文。
[0017]与现有技术相比,本专利技术的有益效果是:
[0018]本专利技术提出的在云环境支持Qinq通信的方法支持对QinQ报文的透传,当用户采用开启QinQ的透传模式时,交换机只需要配置报文外层的Vlan ID就可以支持虚拟机之间子端口的正常通信,实现了虚拟机内层Vlan Tag的透明传输。保证在不影响其他通信的前提下,最大程度降低了交换机上Vlan资源的消耗。同时取消了在OVS网桥上创建子端口的行为,也降低了OVS网桥上端口的占用;通过流表规则约束只对用户绑定了trunk的子网络端
口对应Vlan ID报文进行QinQ封装,其他Vlan ID的报文禁止转发。在提供虚拟机子端口之间的通信支持的同时,也提高了安全性。
附图说明
[0019]图1为本专利技术Openstack模块结构示意图;
[0020]图2为本专利技术中OVS网桥的通信模型结构示意图;
[0021]图3为本专利技术br

int网桥流表处理流程图;
[0022]图4为本专利技术底层配置流程图。
具体实施方式
[0023]为了使本专利技术的目的、技术方案进行清楚、完整地描述,及优点更加清楚明白,以下结合附图对本专利技术实施例进行进一步详细说明。应当理解,此处所描述的具体实施例是本专利技术一部分实施例,而不是全部的实施例,仅仅用以解释本专利技术实施例,并不用于限定本专利技术实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0024]实施例一
[0025]参照附图4所示,本专利技术提供一种技术方案:一种在云环境支持Qinq通信的方法,所述方法包括以下步骤:
[0026]前置条件:在neutron

server的API中创建了trunk,设置该trunk为开启QinQ,并且添加了主网络端口和多个子网络的端口。使用主网络端口创建虚拟机。
[0027]步骤1,如果开启了QinQ,则在OVS网桥上配置到主端口的流表;
[0028]步骤2,判断是否存在子端口,如果不存在则不需要配置,否则需要在tbr网桥上为主端口配置QinQ;
[0029]步骤3,如果存在子端口,获取子端口的Vlan id、MAC地址、IP地址等信息;
[0030]步骤4,根据子端口的信息,为tbr网桥和br

int网桥添加流表,转发匹配对应规则的报文。
[0031]通过以上步骤,在OVS网桥上实现虚拟机子端口报文转发所需要的配置和相关流表的下发,同时在物理交换机上,只需要放通主端口所在网络的Vlan报文。
[0032]实施例二
[0033]在实施例一的基础上,本专利技术需要修改的Openstack模块如附图1所示,在neutron

server的trunk plugin中添加QinQ的标签,并将数据存储到mysql数据库;在neutron

ovs

agent的trunk manager中添加QinQ通信所需要的流表配置,并取消子端口的创建。
[0034]实施例三
[0035]在实施例二的基础上,本专利技术所述方法中OVS网桥的通信模型图如附图2所示。在计算节点1和计算节点2中分别存在虚拟机VM1和VM2,两个虚拟机的网卡上都存在一个主端口和两个子端口,以主端口的Vlan tag为1,子端口的Vlan Tag分别为2和3为例,此时交换机上只需要配置放通Vlan 1的报文。
[0036]实施例四
[0037]在实施例三的基础上,参照附图3所示,为了支持虚拟机子端口报文在交换机上的透明传输,需要实现以下三部分:
[0038](1)在Trunk网桥上管理子端口的报文,因此,需要获取子端口的IP、MAC等信息和子端口所在网络的Vlan ID,通过这些信息构建流表识别子端口发出的报文和需要接收的报文;
[0039](2)在br

int集成网桥上为与虚拟机的主网络端口对应的tpi口开启QinQ功能,当虚拟机发出的报文来自子端口且用户设置其为Trunk子网络端口时,为其在外层添加主端口所在网络的Vlan ID,最后通过br

ex外部网络网桥发送到物理交换机。
[0040](3)从其他计算节点发送到本计算节点的报文,当目的网络为子端口所在网络、目的mac为子端口的mac时,将报文转发到tpi口。
[0041]因此,本专利技术所实现的流表规则主要分为两部分,第一部分是在tbr网桥上,需要配置流表将虚拟机发出的报文从tpt端口转发到br

i本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在云环境支持Qinq通信的方法,其特征在于:所述方法包括以下步骤:在neutron

server的API中创建trunk;设置trunk为开启QinQ,并且添加主网络端口和多个子网络的端口;在OVS网桥上实现虚拟机子端口报文转发所需要的配置和相关流表的下发;在物理交换机上,放通主端口所在网络的Vlan报文。2.根据权利要求1所述的一种在云环境支持Qinq通信的方法,其特征在于:添加主网络端口和多个子网络的端口后,使用主网络端口创建虚拟机。3.根据权利要求2所述的一种在云环境支持Qinq通信的方法,...

【专利技术属性】
技术研发人员:曹攀飞丁世赛
申请(专利权)人:浪潮通信技术有限公司
类型:发明
国别省市:

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

1