zoukankan      html  css  js  c++  java
  • Bridge的VLAN接口模式

    一个Bridge可以抽象为两部分:交换模块(基于VLAN ID做报文交换)和接口,如下图所示:

     

    在此介绍接口在报文的进与出时,Bridge接口关于VLAN ID的处理方式。
    处理方式有三种模式:Access、Trunk、Hybrid。这三种模式都是报文在进入或者离开接口时,针对报文的VLAN ID的处理策略。
    一 名词介绍
    Tag报文:指的是报文中有VLAN ID,简称Tag。
    Untag:指的是报文中没有VLAN ID,简称Untag。
    VID:就是VLAN ID。
    PVID:基于VID的端口,PVID与报文无关,是Bridge端口的一种属性,简单的说,就是端口的默认VLAN ID。
    Default VID:端口默认VLAN ID,也可以称为PVID。Bridge端口默认VLAN ID,默认取值为“1”,当然,也可以修改为其他默认值。
    VLAN Native:这个是Cisco创造的名词。就是默认VID,即PVID。
    二 Bridge的三种接口模式:Access、Trunk、Hybrid
    1 Access接口模式
    报文进入和离开Bridge的Access模式接口如下图:

    1.1 报文入接口原则
    针对Tag报文:直接丢弃。
    针对Untag报文:打上Default VID Tag,送入交换模块。
    1.2 报文出接口原则
    从交换模块转发到端口带有Tag标签的报文(肯定带有Tag标签,而且这VID等于Default VID),先去除Tag,再从接口出去。
    2 Trunk接口模式
    报文进入和离开Bridge的Trunk模式接口的情况如下图:

    Trunk模式,首先要配置允许进入接口的VLAN ID列表,比如配置为:10,11,30~50,表示允许这些VLAN ID可以进入端口,其他则不允许进入。
    2.1 报文入接口原则
    针对Tag报文,VLAN ID不在Trunk允许范围内:直接丢弃(哪怕这个报文的VID等于这个端口的Default VID)。
    针对Tag报文,VLAN ID在Trunk允许范围内:送入进入交换模块,并且VLAN ID保持不变。
    针对Untag报文:打上Default VID Tag,送入交换模块。
    2.2 报文出接口原则
    从交换模块转发到端口的带有Tag标签的报文,如果VLAN ID等于Default VID,先去除Tag,再从接口出去。
    从交换模块转发到端口的带有Tag标签的报文,如果VLAN ID不等于Default VID,则不去除Tag,VLAN ID保持不变,再从接口出去。
    3 Hybrid接口模式
    Hybrid模式,在Trunk模式的基础上又多了一部分内容。Trunk模式,在报文出接口时,如果VLAN ID等于default VID,那么VLAN Tag会去除。而Hybird模式,允许配置哪些VLAN ID的报文,在出接口时,需要去除VLAN Tag,比如配置在VLAN ID在40~50这个范围内容的报文,但其出接口,VLAN Tag要去除。如下图所示:

    3.1 报文入接口原则(与Trunk模式相同)。
    针对Tag报文,VLAN ID不在Trunk允许范围内:直接丢弃(哪怕这个报文的VID等于这个端口的Default VID)。
    针对Tag报文,VLAN ID在Trunk允许范围内:送入进入交换模块,并且VLAN ID保持不变。
    针对Untag报文:打上Default VID Tag,送入交换模块。
    3.2 报文出接口原则
    从交换模块转发到端口的带有Tag标签的报文,如果VLAN ID等于Default VID,先去除Tag,再从接口出去。
    从交换模块转发到端口的带有Tag标签的报文,如果VLAN ID在去除VID范围内,先去除Tag,再从接口出去。
    从交换模块转发到端口的带有Tag标签的报文,如果VLAN ID不在去除标签VID范围内,也不等于Default VID,则不去除Tag,VLAN ID保持不变,再从接口出去。
    三 VLAN接口模式的应用举例
    Access接口模式的典型场景是:Bridge对接Host或者VM。Trunk或Hybrid接口模式的典型使用场景是:Bridge之间的对接(级联)。Hybrid模式比Trunk模式更加灵活。两种典型场景,如下图:

    Neutron计算节点中的几个Bridge,它们的VLAN接口模式与这种典型使用场景也非常吻合,如下图:

    图中VM发出的报文是untag报文。qbr实际起到的是安全作用,并不是真正承担Bridge作用,而且与VM是1:1,它的接口VLAN模式是Access。
    抛开安全不谈,我们可以把qbr当做一根线。这个时候我们看到:br-int下接VM,上接br-ethx。所以,br-int与qbr/VM对接的接口,其接口VLAN模式是Access,而br-int与br-ethx,属于Bridge之间互连(级联),所以它们之间的接口都是Trunk模式。
    两个计算节点之间的br-ethx互连也是属于Bridge之间的互联(级联),所以它们之间的接口也是属于trunk模式。

  • 相关阅读:
    Swift
    iOS 拨打电话
    UI控件问题和XCode编译警告和错误解决方法集锦 (持续更新ing)
    让UIWebView弹出键盘上的按钮显示中文 (附效果图)
    启动app时全屏显示Default.png (附效果图)
    三种数据存储 (plist,NSUserDefaults存储,NSKeyedArchiver存模型方法)
    生成圆形头像 (附效果图)
    循环按钮,并且选中 (附效果图)
    leetcode 字符串分割对称
    leetcode merge-sorted-array/
  • 原文地址:https://www.cnblogs.com/fire909090/p/10613245.html
Copyright © 2011-2022 走看看