vxlan层次化绑定

举报
magnate 发表于 2020/02/16 18:55:41 2020/02/16
【摘要】 1、ML2中的vxlan层次化绑定 2、交换机怎么获取compute节点的链路信息


 http://specs.openstack.org/openstack/neutron-specs/specs/kilo/ml2-hierarchical-port-binding.html

硬件vxlan


image.png


 

 

  host对不同租户的虚拟机的报文 Tag 不同的VLAN ,host连接到交换机的port设为Trunk口,这样host可以把不同VLAN Tag的网络数据送到交换机vetp。vetp根据VLAN Tag映射到不同的vxlan tag,进而封装成相应的VxLAN数据。




层次化绑定步骤如下:

  1. 用户用Nova boot创建一个虚拟机, vm 的网络设定为VXLAN A;

  2. Neutron创建一个VXLAN A网络接口,并将请求发送到ML2组件;

  3. Neutron  ML2先调用物理交换机(TOR)的Mechanism Driver进行端口绑定(port binding),将VxLAN A 绑定到物理交换机的网络接口 ;

  4. 物理交换机Mechanism Driver再申请一个VLAN B并通知ML2,告诉ML2当前这个VM的网络接口还需要绑定VLAN B

  5. 物理交换机Mechanism Driver通过Netconf接口告诉物理交换机设定VLAN B和VXLAN A的映射关系;

  6. ML2知道网络接口还需要绑定到对应的VLAN上,所以ML2调用OVS的Mechanism Driver,在OVS添加VLAN B,并将该VLAN配置到VM对应的接口上,

  7. OVS的Mechanism Driver会通过相应的API,告知位于计算节点的OpenVSwitch,OVS将对VM发出的数据包打上TAG=VLAN B  并转发到物理交换机的接口,物理交换机将带有TAG=VLAN B的数据包转换为TAG=VXLAN A的数据包;

  •  层次化端口绑定的逻辑,一半是在Neutron ML2里面,有另一半是在物理交换机对应的Mechanism driver里面。

  •  硬件交换机与服务器要运行LLDP之类的协议,来获取连接关系

 

OpenStack层次化端口绑定在 SDN中host和交换机如何协同?

方法一、计算节点开启lldp服务,从underlay nic接口发送携带主机名的lldp报文,作为VTEP设备的交换机接收后上报控制器,控制器就记录计算节点所属的交换机端口,

当计算节点启动虚机的时候,虚机的vport中会携带主机名(计算节点的名字,也就是lldp报文中携带的主机名),控制器就知道了这个虚拟机的报文将进入交换机的哪个端口。

 

 



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。