VLAN的作用

交换机有三种行为:泛洪、转发、丢弃

交换机是一种二层设备,所以他查的是MAC地址表

以上面这张图为例:

交换机刚启动时,他的ARP表是空的,ARP表记录着每个接口对应的MAC地址

display arp查看ARP表

如果PC1 ping PC2

交换机会查询他的ARP表,发现没有对应PC2 MAC地址的出接口,交换机会进行一个泛洪行为

交换机就会给所有终端泛洪广播帧

我们抓PC3的包会发现交换机发送是FF:FF:FF:FF:FF:FF的广播帧

交换机所有的接口默认都在VLAN 1中

根据上面的例子就可以知道,交换机在进行泛洪行为时,会给整个广播域的终端发送广播帧,最后的结果是,PC2虽然收到了该单播帧,但网络中的很多其他非目的主机,同样收到了不该接收的数据帧。显然,广播域越大,网络安全问题和垃圾流量问题就越严重。

为了解决广播域带来的问题,人们引入了VLAN (Virtual Local Area Network),即虚拟局域网技术:

通过在交换机上部署VLAN,可以将一个规模较大的广播域在逻辑上划分成若干个不同的、规模较小的广播域,由此可以有效地提升网络的安全性,同时减少垃圾流量,节约网络资源。

VLAN的特点

  • 一个VLAN就是一个广播域,所以在同一个VLAN内部,计算机可以直接进行二层通信;而不同VLAN内的计算机,无法直接进行二层通信,只能进行三层通信来传递信息,即广播报文被限制在一个VLAN内。
  • VLAN的划分不受地域的限制。

VLAN的好处

  • 灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。
  • 限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
  • 增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信。
  • 提高了网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。

VLAN数据帧

在一个VLAN交换网络中,以太网帧主要有以下两种形式:

  • 有标记帧(Tagged帧):IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag)的数据帧。
  • 无标记帧(Untagged帧):原始的、未加入4字节VLAN标签的数据帧。

VLAN数据帧中的主要字段:

  • TPID:2字节取值为0x8100时表示IEEE 802.1Q的VLAN数据帧。

    • 取值为0x8100时表示IEEE 802.1Q的VLAN数据帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。
    • 各设备厂商可以自定义该字段的值。当邻居设备将TPID值配置为非0x8100时,为了能够识别这样的报文,实现互通,必须在本设备上修改TPID值,确保和邻居设备的TPID值配置一致。
  • PRI:3 bit,Priority,表示数据帧的优先级,用于QoS。

    • 取值范围为0~7,值越大优先级越高。当网络阻塞时,交换机优先发送优先级高的数据帧。
  • CFI:1 bit,Canonical Format Indicator(标准格式指示位),表示MAC地址在不同的传输介质中是否以标准格式进行封装,用于兼容以太网和令牌环网

    • CFI取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装。
    • 在以太网中,CFI的值为0。
  • VID:12 bit,VLAN ID,表示该数据帧所属VLAN的编号。

    • VLAN ID取值范围是0~4095。由于0和4095为协议保留取值,所以VLAN ID的有效取值范围是1~4094。
    • 交换机利用VLAN标签中的VID来识别数据帧所属的VLAN,广播帧只在同一VLAN内转发,这就将广播域限制在一个VLAN内。

如何识别带VLAN标签的数据帧:

  • 数据帧的Length/Type = 0x8100。

注意:计算机无法识别Tagged数据帧,因此计算机处理和发出的都是Untagged数据帧;为了提高处理效率,交换机内部处理的数据帧一律都是Tagged帧。

VLAN接口类型

接口类型接口作用
Access接口交换机上常用来连接用户PC、服务器等终端设备的接口。Access接口所连接的这些设备的网卡往往只收发无标记帧。Access接口只能加入一个VLAN。
Trunk接口Trunk接口允许多个VLAN的数据帧通过,这些数据帧通过802.1Q Tag实现区分。Trunk接口常用于交换机之间的互联,也用于连接路由器、防火墙等设备的子接口。
Hybrid接口Hybrid接口与Trunk接口类似,也允许多个VLAN的数据帧通过,这些数据帧通过802.1Q Tag实现区分。用户可以灵活指定Hybrid接口在发送某个(或某些)VLAN的数据帧时是否携带Tag。

VLAN收发原则

Access

PVID=接口划分的VLAN,只允许一个VLAN通过

相同VLAN可以二层通信,不同VLAN不可以二层通信 (交换机的Trunk的默认PVID没有修改)

    • 标记帧:当交换机收到标记帧时,如果该帧携带的VLAN Tag和接口的PVID相同时,接收处理,不同时,丢弃
    • 无标记帧:交换机接口收到无标记帧时,为该帧打上接口的PVID,并进行交换转发
    • 无标记帧:Access接口发送的数据帧一定是无标记帧(数据帧的VLAN Tag和接口的PVID一致,剥离Tag,发送无标记帧)

Trunk

PVID=1(默认),可以修改

VLAN List(允许通过的VLAN列表)默认只允许VLAN1通过

    • 标记帧:交换机接口收到标记帧时,查看接口的VLAN列表,如果允许,接收处理,反之,丢弃。
    • 无标记帧:交换机接口收到无标记帧时,为该帧打上接口的PVID,并进行交换转发
    • 标记帧:数据帧的VLAN Tag和接口的PVID不一致,携带原有标签

      • 首先查看接口的VLAN列表是否允许该VLAN通过,如果允许,查看接口的PVID和数据帧的VLAN Tag是否一致,不一致,携带原有标签,反之丢弃
    • 无标记帧:据帧的VLAN Tag和接口的PVID一致,剥离标签

      • 首先查看接口的VLAN列表是否允许该VLAN通过,如果允许,查看接口的PVID和数据帧的VLAN Tag是否一致,一致,剥离标签,反之丢弃

Hybrid

    • 标记帧:交换机接口收到标记帧时,判断该hybrid端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃(此时端口上的untag配置是不用考虑的,untag配置只对发送报文时起作用)
    • 无标记帧:交换机接口收到无标记帧时,为该帧打上接口的PVID,并进行交换转发
    • 标记帧:查看哪些VLAN是tag帧,如果是tag则直接发送
    • 无标记帧:查看哪些VLAN是untag帧,如果是untag则剥离标签,再发送
最后修改:2024 年 02 月 28 日
如果我的文章对你有用,请看心情帮助小站能存活下去( •̀ ω •́ )✧