vlan

发布时间 2023-12-28 10:21:58作者: 初夏如霞

vlan

  • 定义:vlan 即虚拟局域网,主要是为了将一个广播域根据需要细分成不同的子广播域(PS:广播域指一台设备发送的广播数据包可以被一组设备接收到,那么这些设备所构成的就是一个广播域,一台交换机默认情况下所有接口都属于一个广播域),这样一个 vlan 中的设备或者接口只能将报文转发给相同vlan 的其他设备或者接口。

  • vlan 主要依靠 vlan id 来进行标识,这是创建、修改和删除 vlan 时唯一的必需参数,当然,网工可以给 vlan 打上注释 description 来说明 vlan 的作用。

  • 私有 vlan:

    ​ 通过私有 vlan,交换机可以分离接口,就好像它们位于不同的 vlan 中,但同时这些接口共同属于同一个子网。比如在一个大楼只使用一个子网,通过使用私有 vlan,将不同部门的交换机接口相互隔离,使其不能直接通信。

    ​ 私有 vlan 是一种机制,它可以将特定 vlan 划分成任意数量不会重叠的子 vlan,或者称为

    二级 vlan。划分过程和划分结果对外界不可见,外界只能看到原始 vlan,或者称为主 vlan的 vlan id 和 IP 子网地址。每个二级 vlan 都是用不同且唯一的 vlan id 与主 vlan 关联。

私有 vlan

  • 二级 vlan 的种类

    团体(community)vlan:一个主 vlan 下的不同 community vlan 除了可以和自己内部接口之间相互通信,还可以和同一个主 vlan 下的其他 community vlan 以及主 vlan进行通信。

    隔离(isolated)vlan:仅仅只能和自己内部接口之间以及主 vlan进行通信,无法和其他 isolated vlan 接口进行通信。

    ​ 一个主 vlan 可以和零个或者多人 community vlan 关联以及和最多一个 isolated vlan 关联。此外,二级 vlan 必须要和一个主 vlan 关联。

vlan trunk:ISL 和 802.1Q

  • 通过 vlan trunk 链路,交换机、路由器等设备可以通过一条链路发送去往多个 vlan 的流量。

  • ISL (交换机间链路)和 802.1Q

    • 两台设备之间如果要执行 trunk,那么它们必须协商是使用 ISL 还是 802.1Q,因为两者无法兼容。

    • ISL:在通过 trunk发送数据帧之前,ISL 会给数据帧添加新的 26 字节的头部,以及新的尾部(从而能够使用新的 FCS 值),然后封装整个原始数据帧。执行 trunk 行为的设备的源地址(SA)来封装头部,不使用原始数据帧的源 MAC 地址字段。(也就是说封装后,数据帧如何发送跟封装的数据帧无关,仅仅取决于 ISL 头部)

    • 802.1Q:则是在原始数据帧中的源地址字段后,插入一个 4 字节的头部,称为标记,而原始数据帧的地址保持不变,因此 802.1Q 并不是封装原始数据帧,而是进行数据帧标记。

ISL 和 802.1Q 帧格式

 - 本征 vlan(就是华三华为它们指的 PVID,当收到无 vlan 的数据帧就会打上 PVID vlan 的标签):ISL 没有本征 vlan 的概念。802.1Q 不会标记带有本征 vlan 的数据帧,并且会将所有未标记的数据帧都分配给本征 vlan。trunk 链路两段的本征 vlan 必须相同,否则会出现本征 vlan 不匹配导致两个 vlan 合并。

 - Cisco 交换机使用动态 trunk 协议(DTP)来动态获知线缆另一端设备是否希望使用trunk,以及使用哪种 trunk 协议。

 - DTP 模式:

   - dynamic auto:接口将自动协商接口模式,偏向成为 access 接口。
   - dynamic desirable:接口将自动协商接口模式,偏向称为 trunk 接口。

   此外,如果一端配置 auto,另外一端配置 desirable,那么最终的操作模式将是 trunk,因为 desirable 拥有更高优先级,此外如果两台设备都支持 ISL 和 802.1Q,那么它们将会使用 ISL。如果 DTP 协商失败,那么无论是 desirable 还是 auto,都将运行为 access 口。

trunk 相关命令