ironic + native vlan +SDN lldp

native vlan(本征VLAN)

其实就是不打tag的VLAN,因为你想,一个VLAN在经过交换设备老是打tag,然后再脱掉tag。。。这个很浪费计算资源,尤其是在转发的报文量相当大的时候。
如何解决:
    可以定义一种vlan,也就是在众多的vlan中指定一种vlan,当然一般是指定那个报文量大的vlan,作为 native vlan。
    
 
 如上图所以,将两个交换机的一个端口都指定为native vlan 10 ,也就是当没有tag的报文,从该端口出去时,他不会打tag ,会被默认指定为vlan 10。当接收到一个没有打tag的报文时,会认为它是vlan 10的报文
 

PC1和PC2能通信么,(这里PC1与PC2在同一网段内哈)? 
首先答案是肯定的。
   来分析下这个过程,当PC1发报文到 左边的转发设备,由于入端口是Trunk Native 10,本征VLAN,当该转发设备收到该报文时,以为是VLAN 10的报文(因为该报文开始没有打tag),转发的时候还是不打tag,但当被配置为Trunk Native 20接收到报文时,因为该报文是被属于vlan 10的,于是会被打上vlan 10的标签再发送(毕竟 本征vlan 端口首先得是Trunk口,且该报文不属于vlan 20)。
   然后右边的转发设备收到该打有vlan 10报文时,由于端口是Trunk native 30,因此不处理该报文,然后从access vlan 10转发出该打有vlan 10的报文时,会打掉该打有vlan 10的标签,再发出去,于是PC2就能收到该报文了。
    当报文从PC2发往PC1时,就更加方便了,进入access vlan 10的时候被打上vlan 10的标签.然后做下一步处理。这个标签会一直跟着到左边的交换机转发该报文时,也就是从Trunk Native 10 发出,会去掉该标签。
    这样,PC1与PC2是互通的。
 

4.1 Inspector 兼容 SDN lldp 报文

部分 SDN 交换机使用的 lldp 报文跟正常的 lldp 报文有些差异。要兼容这部分交换机,我们需要修改 inspector 的实现代码。

lldp 介绍

这里先简单介绍一下 lldp 报文结构, lldp 采用 TLV(type length value)方式存储数据。报文结构如下图所示:

http://img.blog.csdn.net/20130902202844578?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ29vZGx1Y2t3aGg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

TLV 的类型域的定义及分配如下图所示:

http://img.blog.csdn.net/20130902202901875?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ29vZGx1Y2t3aGg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

我们在 ironic 中使用的 local_link_connection 和报文的对应关系如下表:

TLV TYPETLV NAMElocal link connection name
1 chassis ID switch_id
2 port_id port_id

再来介绍下 SDN 的 lldp 报文和普通的 lldp 报文有啥差异,首先不管是 SDN 的 lldp 还是普通交换的 lldp, 我们要收集的都是 chassis ID 和 port id,那有什么差异呢?这是因为 chassis ID 和 port id,还存在 subtype, 通过 subtype 可以定义不同的 chassis ID 和 port id 值。

先看看 chassis ID 报文结构:

http://img.blog.csdn.net/20130902203045343?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ29vZGx1Y2t3aGg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

chassis子类型所可能的取值如图所示:

http://img.blog.csdn.net/20130902203059937?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ29vZGx1Y2t3aGg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

再看看 port id 值

http://img.blog.csdn.net/20130902203117000?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ29vZGx1Y2t3aGg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

其子类型的可能取值如下图所示:

http://img.blog.csdn.net/20130902203136812?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ29vZGx1Y2t3aGg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

SDN 的 lldp 和普通 lldp 报文差异如下表所示:

SWITCHTLV TYPETLV NAMEsubtypesubtype value
SDN 1 chassis id 7 Locally assigned
normal 1 chassis id 4 Mac Address
SDN 2 port id 2 Port component
normal 2 port id 3 Mac Address
5 Interface name
7 Locally assigned
Inspection

1)BM的PXE网卡需要连接到INSPECTION NETWORK, 只使用一块网卡,不使用bond技术。

2TOR需要周期性发送LLDP PDU, 发送间隔不得超过30秒,且LLDP PDU中需要包含chassis id, port id信息。
3)BM不支持任何封装技术,例如VLAN, VXLAN,这个阶段BM发送的报文为untag报文。

Provision

1)BM的PXE网卡需要连接到PROVISION NETWORK, 只使用一块网卡,不使用bond技术。

2)BM不支持任何封装技术,例如VLAN, VXLAN,这个阶段BM发送的报文为untag报文。
Inspection 裸金属上架自检阶段
当裸机完成硬件安装、网络连线等上架工作后,由管理员将裸机的信息录入到 Ironic 进行纳管,以此支持它的各项后续操作。该阶段中,根据需要可以应用 Ironic Inspector 的功能实现裸机硬件配置信息以及上联交换机信息的自动采集,即裸金属的自检。但基于具体 Drivers 实现的不同,Ironic Inspector 有时并不能完成全部的工作,仍需要人工录入。
自检阶段主要由 IPA 和 Ironic Inspector 共同完成,前者负责信息的采集和传输,后者负责信息的处理。IPA 采集的信息,包括 CPU 个数、CPU Feature Flag、Memory Size、Disk Size、网卡 IP、MAC 地址等,这些信息会被作为 Nova Scheduler 的调度因子。如果接入了 SDN 网络,还需要监听裸机业务网卡上收到的 LLDP(链路发现协议)报文。LLDP 报文由 SDN 控制器发出,包含了 Chassis ID 和 Port ID,用于标记交换机的端口信息,使得 SDN 控制器可以将指定的转发规则下发到指定的交换机端口上。
provision 网络平面:用于裸金属服务器下发时的 PXE 流程及下载镜像。裸金属服
务器部署时临时接入该网络,网络类型为 vlan,裸金属服务器入云之前手动将
PXE 网口切换至该网络,发放成功后由 neutron+的交换机控制组件通过 netconf 根
据裸金属服务器端口 LLDP 信息自动从该网络切换到业务网络。
在实际的项目中,我们主要使用VLAN和VxLAN网络。VxLAN网络适合大规模、复杂环境。

inspection network不能通过neutron创建,需要由管理员通过SDN控制器进行配置。

VLAN网络

业务网络为VLAN网络,inspection network通过Native VLAN互通。使用VLAN网络,只能提供一个inspection network。

物理服务器在inspect阶段收发untagged报文,而ironic控制节点根据配置既可以收发untagged报文,也可以收发VLAN tagged报文。
原文地址:https://www.cnblogs.com/dream397/p/12910944.html