当前位置:网站首页>局域网SDN技术硬核内幕 11 云网融合CP的关键——层次化端口绑定
局域网SDN技术硬核内幕 11 云网融合CP的关键——层次化端口绑定
2022-07-27 10:51:00 【用户8289326】
在之前的文章中,我们提到,EVPN是云网融合的红娘,撮合了云平台和网络转发平面。而当网络中的硬件交换机支持EVPN和VXLAN时,它可以代替软件OVS,提升网络吞吐量,降低转发时延,并且节约宝贵的CPU资源。
一个问题出现了:
在硬件交换机实现VXLAN封装的场景中,它需要将不同的VLAN封装到对应的VXLAN中。VLAN和VXLAN的对应关系,是Neutron进行分配的,那么,Neutron怎么样才能将这个对应关系下发到硬件交换机呢?
让我们揭开今天的主题——层次化端口绑定。
层次化端口绑定是在OpenStack Kilo版本中引入的。
原来,在Neutron中,向网络节点下发配置的组件,叫做ML2组件。当用户在Nova中创建虚拟机时,Nova会通知Neutron将虚拟机的网络端口,绑定到虚拟化网络中。对于软件Overlay的场景,ML2组件调用OVS的驱动——Mechanism Driver,把虚拟机的VLAN、对应的VXLAN等信息配置到OVS上。
引入了层次化端口绑定机制以后,ML2允许注册多个Mechanism Driver。这样,硬件交换机的厂商只需要按照ML2 Mechanism Driver的规约,自行开发适配了交换机的Mechanism Driver并在ML2中注册,就可以接管端口绑定的功能,将Neutron对虚拟化网络的配置接管到硬件交换机上了。
典型的层次化端口绑定的机制如下图:
图中数字表示的各步骤如下:
用户在Nova中创建一个虚拟机,将其加入网络VXLAN 100;
Neutron为VXLAN 100创建网络接口,并将请求发送到ML2组件;
ML2调用物理交换机(TOR)的Mechanism Driver,设定VXLAN 100;
物理交换机Mechanism Driver再申请一个VLAN 110,通知ML2,当前这个VM的网络接口还需要绑定在VLAN 110
物理交换机Mechanism Driver通过Netconf接口设定VLAN 110和VXLAN 100的映射关系;
ML2调用OVS的Mechanism Driver,在OVS添加VLAN 110,并将该VLAN配置到VM对应的接口上,
OVS将对VM发出的数据包打上VLAN 110的 TAG并转发到物理交换机的接口,物理交换机将带有VLAN 110 TAG的数据包封装入VXLAN 110;
我们看到,VM的一个网络接口,既通过OVS的Mechanism Driver绑定到了OVS的VLAN接口上,又通过物理交换机的Mechanism Driver绑定到了物理交换机的VLAN/VXLAN接口上(在交换机上也叫VXLAN Attach Circult接口与VXLAN Tunnel接口)。这就是所谓“层次化端口绑定”这个短语的意义。
层次化端口绑定的本质,是Neutron为硬件交换机厂商提供了一个实现硬件SDN Overlay的接口。有了这种机制,云平台和物理网络才能成为一对亲密无间的CP。
类似的接口还有LBaaS和FWaaS,在后面内容会提到。
下一章我们将详解硬件Overlay的转发平面原理。
边栏推荐
- 栈 AcWing 3302. 表达式求值
- 49 letter ectopic grouping and 242 effective letter ectopic words
- 8 find subsequences with a maximum length of K
- Error encountered in adding quick open option to right-click menu:
- Solve importerror: cannot import name'abs'import tensorflow error
- Interval problem acwing 906. Interval grouping
- 最长上升子序列模型 AcWing 1010. 拦截导弹
- PAT(乙级)2022年夏季考试
- Caused by:org.gradle.api.internal.plugins . PluginApplicationException: Failed to apply plugin
- 博弈论 AcWing 891. Nim游戏
猜你喜欢

Chinese remainder theorem acwing 204. strange way of expressing integers

Wechat push - template message parameter configuration

Caused by:org.gradle.api.internal. plugins . PluginApplicationException: Failed to apply plugin

Kepserver configuration

State compression DP acwing 91. shortest Hamilton path

Instructions for mock platform

最长上升子序列模型 AcWing 1016. 最大上升子序列和

A deep analysis of the soul of C language -- pointer

最长上升子序列模型 AcWing 1010. 拦截导弹

Digital triangle model acwing 1018. Minimum toll
随机推荐
15th largest value of data flow
Solutions to errors in tensorflow operation
Sorry, you guys have something to deal with in the bank recently, which has been delayed
Markdown editor syntax - setting of text color, size, font and background color (Reprint)
Students, don't copy all my code, remember to change it, or we both want G
Installation and use of GTEST and gmock
Introduction to software vulnerability analysis (I)
2022 Niuke multi school training (3) a-ancestor topic translation
properties文件
C custom set
Error encountered in adding quick open option to right-click menu:
01 BTC cryptology principle
ethereum rpc
Stm32f10x -- C Language-1
Longest ascending subsequence model acwing 482. Chorus formation
The C programming language -- (2nd) -- Notes -- 4.11.2
Find the combination number acwing 885. find the combination number I
第10章 枚举类与注解
349两个数组的交集和01两数之和
Today's code farmer girl summarized her notes about NPM package management and URL module