概述

  • 一个或多个交换机互连起来的交换式以太网,其所有站点共属于一个广播域
  • 巨大的广播域会带来很多弊端:
    • 广播风暴
      • 浪费资源
      • 除非不许情况下,网络中的主机尽量不使用广播
      • 网络中会频繁出现广播
        • TCP/IP协议栈中有很多协议都会使用广播:
          • 例如地址解析协议ARP
          • 路由信息协议RIP(小型的内部路由协议)
          • 动态主机配置协议DHCP(用于自动配置IP地址)
      • NetBEUI:Windows下使用的广播型协议
      • IPX/SPX:Novell网络的协议栈
      • Apple Talk:Apple公司的网络协议栈
    • 难以管理和维护
    • 潜在的安全问题
  • 分割广播域的方法
    • 使用路由器可以隔离广播域:
      • 路由器默认情况下不对广播数据包进行转发,所以路由器可以很自然地隔离广播域
      • 但是成本高,都用路由器,不现实

image.png

  • 虚拟局域网VLAN技术应运而生
  • 虚拟局域网VLAN是一种将局域网内的设备划分于物理位置无关的逻辑组的技术,这些逻辑组具有某些共同的需求

比如这三层楼分别有3个交换机,再有一个交换机把他们组成一个广播域,三台交换机划分三个网段,可以把这些主机划分出VLAN1和VLAN2,同一个VLAN中的主机可以广播通信,不同VLAN中的主机不可以
image.png

实现机制

  • VLAN是在交换机上实现的
  • 需要交换实现以下两大功能:
    • 能够处理带有VLAN标记的帧(IEEE 802.1Q帧)
    • 交换机的各端口可以支持不同的端口类型(不同端口类型的端口对帧的处理有所不同)

IEEE 802.1Q帧

  • IEEE 802.1Q帧(也称Dot One Q帧)对以太网的MAC帧格式进行了扩展,插入了4字节的VLAN标记

image.png

  • VLAN标记的最后12比特称为VLAN标识符VID,它唯一地标志了以太网帧属于哪一个VLAN。
    • VID的取值范围是0~4095
    • 0和4095都不用来表示VLAN,因此有效取值范围是1~4094
  • 802.1Q帧是由交换机处理的,而不是用户主机处理的

    • 当交换机收到普通的以太网帧后,会为其插入4字节的VLAN标记,简称打标签
    • 当交换机转发802.1Q帧时可能会删除其4字节VLAN标记转变为普通的以太网帧,简称去标签

      交换机的端口类型

  • 交换机的端口类型一般有以下三种:

    • Access
    • Trunk
    • Hybird 思科交换机没有这种端口
  • 交换机各端口的缺省VLAN ID

    • 在思科交换机上称为Native VLAN,即本征VLAN。
      • 用户未配置VLAN时,所有端口都默认属于VLAN1
    • 在华为交换机上称为Port VLAN ID,即端口VLAN ID,简记为PVID。
      • 为了描述方便,接下来都说PVID,交换机的端口,有且只有一个PVID。

        Access端口

  • Access端口一般用于连接用户计算机

  • Access端口只能属于一个VLAN
  • Access端口的PVID值与端口所属的VLAN的ID相同(默认为VLAN1)

交换机首次上电时,默认配置各端口属于VLAN1,也就是各端口的PVID值等于1,默认配置各端口的类型为Access,用A来表示
image.png

  • Access端口接收处理方法:

一般只接受未打标签的普通以太网MAC帧。根据接收帧的端口PVID给帧打标签

  • Access端口发送处理方式:

若帧中的VID与端口的PVID相等,则去标签,并转发该帧,否则不转发。

Trunk端口

  • 一般用于交换机之间或交换机与路由器之间的互连
  • Trunk可以属于多个VLAN
  • 用户可以设置Trunk端口的PVID值,默认情况下,Trunk的PVID值为1
  • Trunk端口发送处理方法:
    • 对VID等于PVID的帧,去标签再转发
    • 对VID不等于PVID的帧,直接转发
  • Trunk端口接收处理方法:
    • 接收未打标签的帧,根据接收真的端口PVID给帧打标签,插入VLAN标记字段,字段中的VID取值与端口的PVID取值相等。
    • 接收已打标签的帧。

下图中,主机A和主机C发广播,分别对应VID等于PVID和VID不等于PVID
得出:交换机之间应用Trunk端口,交换机和主机之间应用Access端口
image.png

Hybrid端口

华为交换机私有

  • Hybrid端口既可用于交换机之间或与路由器的互连(Trunk端口),也可用于与用户计算机之间的互连(Access)
  • Hybrid端口可以属于多个VLAN(同Trunk)
  • 用户可以设置Hybrid端口的PVID值,默认为1(同Trunk)
  • Hybrid端口发送处理方法(同Trunk不同
    • 查看帧的VID是否在端口的“去标签”列表中:
      • 若存在,则去标签,后再转发
      • 若不存在,则直接转发。
  • Hybrid端口接收处理方法(同Trunk)