网络(3): VLAN常识及交换机端口对VLAN处理

一.介绍

一句话:VLAN :虚拟局域网,用来隔离网络中的广播域,使在同一vlan下的终端才能通信(二层)

1.1 无VLAN与有VLAN的情况

VLAN的情况

图中,是一个由 5 台二层交换机(交换机 1 5 )连接了大量客户机构成的网络。假设这
时,计算机 A 需要与计算机 B 通信。在基于以太网的通信中,必须在数据帧中指定目标 MAC
A
B 地址才能正常通信,因此计算机 A 必须先广播 “ARP 请求( ARP Request )信息 ,来尝试获
取计算机 B MAC 地址。 交换机 1 收到广播帧( ARP 请求)后,会将它转发给除接收端口外
的其他所有端口,也就是 Flooding 了。接着,交换机 2 收到广播帧后也会 Flooding 。交换机 3
4 5 也还会 Flooding 。最终 ARP 请求会被转发到同一网络中的所有客户机上。

VLAN的情况

如果在交换机上生成红、蓝两个 VLAN ;同时设置端口 1 2 属于红色 VLAN 、端口
3 4 属于蓝色 VLAN 。再从 A 发出广播帧的话,交换机就只会把它转发给同属于一个 VLAN
的其他端口 —— 也就是同属于红色 VLAN 的端口 2 ,不会再转发给属于蓝色 VLAN 的端口。
同样, C 发送广播信息时,只会被转发给其他属于蓝色 VLAN 的端口,不会被转发给属于红
VLAN 的端口。

1.2 VLAN划分方法

1.2.1 静态VLAN

静态 VLAN 又被称为基于端口的 VLAN Port Based VLAN )。顾名思义,就是明确指定 各端口属于哪个 VLAN 的设定方法。
1.2.2 动态 VLAN
另一方面,动态 VLAN 则是根据每个端口所连的计算机,随时改变端口所属的 VLAN
这就可以避免上述的更改设定之类的操作。动态 VLAN 可以大致分为 3 类:
基于 MAC 地址的 VLAN MAC Based VLAN
基于子网的 VLAN Subnet Based VLAN
基于用户的 VLAN User Based VLAN

二.数据包中的VLAN

2.1抓包数据

总字节数:4byte

priority: 优先级

CFI: 标记位,华为交换机称之为颜色标记

ID: vlan id  

2.2数据包结构说明

基于 IEEE802.1Q 附加的 VLAN 信息,就像在传递物品时附加的标签。因此,它也被称
标签型 VLAN Tagging VLAN

1. TPID (Tag Protocol Identifier ,也就是 EtherType)
IEEE 定义的新的类型,表明这是一个加了 802.1Q 标签的帧。 TPID 包含了一个固定的值
0x8100
2. TCI (Tag Control Information)
包括用户优先级 (User Priority) 、规范格式指示器 (Canonical Format Indicator) VLAN ID
User Priority :该字段为 3-bit ,用于定义用户优先级,总共有 8 (2 3 次方 ) 优先级别。 IEEE
802.1P 3 比特的用户优先级位定义了操作。最高优先级为 7 ,应用于关键性网络流量,如
路由选择信息协议( RIP )和开放最短路径优先( OSPF )协议的路由表更新。优先级 6 5
主要用于延迟敏感( delay-sensitive )应用程序,如交互式视频和语音。优先级 4 1 主要用
于受控负载( controlled-load )应用程序,如流式多媒体( streaming multimedia )和关键
性业务流量( business-critical traffic ) - 例如, SAP 数据 - 以及 “loss eligible” 流量。
优先级 0 是缺省值,并在没有设置其它优先级值的情况下自动启用。
CFI CFI 值为 0 说明是规范格式, 1 为非规范格式。它被用在令牌环 / 源路由 FDDI 介质访问
方法中来指示封装帧中所带地址的比特次序信息。
VID :该字段为 12-bit VLAN ID 是对 VLAN 的识别字段,在标准 802.1Q 中常被使用。
支持 4096(2 12 次方 ) VLAN 的识别。在 4096 可能的 VID 中, VID 0 用于识别帧优先级。
4095(FFF) 作为预留值,所以 VLAN 配置的最大可能值为 4094 所以有效的 VLAN ID 围一般为 1-4094

注:网络中还存在多个vlan的情况,是不同厂商在不同业务场景对vlan的使用定义如华为的QINQ技术:什么是QinQ? 为什么需要QinQ? - 华为

三.交换机各类型端口对VLAN的处理

    1、Untagged Port和tagged Port不是讲述物理端口的状态,而是将是物理端口所拥有的某一个VID的状态,所以一个物理端口可以在某一个VID上是Untagged Port,在另一个VID上是tagged Port;
    2、一个物理端口只能拥有一个PVID,当一个物理端口拥有了一个PVID的时候,必定会拥有和PVID的TAG等同的VID,而且在这个VID上,这个物理端口必定是Untagged Port;
    3、PVID的作用只是在交换机从外部接受到可以接受Untagged数据帧的时候给数据帧添加TAG标记用的,在交换机内部转发数据的时候PVID不起任何作用;
    4、拥有和TAG标记一致的VID的物理端口,不论是否在这个VID上是Untagged Port或者tagged Port,都可以接受来自交换机内部的标记了这个TAG标记的tagged数据帧;
    5、拥有和TAG标记一致的VID的物理端口,只有在这个VID上是tagged Port,才可以接受来自交换机外部的标记了这个TAG标记的tagged数据帧.

收报文: ==================================================================
Access端口:
1、收到一个报文;
2、判断是否有VLAN信息;如果没有则转到第3步,否则转到第4步;
3、打上端口的PVID,并进行交换转发;
4、直接丢弃(缺省);
Trunk端口:
1、收到一个报文;
2、判断是否有VLAN信息;如果没有则转到第3步,否则转到第4步;
3、打上端口的PVID,并进行交换转发;
4、判断该trunk端口是否允许该VLAN的数据进入;如果可以则转发,否则丢弃;
Hybrid端口:
1、收到一个报文;
2、判断是否有VLAN信息;如果没有则转到第3步,否则转到第4步;
3、打上端口的PVID,并进行交换转发;
4、判断该Hybrid端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃.

发报文: ==================================================================
Access端口:
1、将报文的VLAN信息剥离,直接发送出去;
Trunk端口:
1、比较端口的PVID和将要发送报文的VLAN信息;
2、如果两者相等则转到第3步,否则转到第4步;
3、剥离VLAN信息,再发送;
4、直接发送;
Hybrid端口:
1:判断该VLAN在本端口的属性(display interface即可看到该端口对哪些VLAN是untag,哪些VLAN是tag。)
2、如果是untag则转到第3步,如果是tag则转到第4步;
3、剥离VLAN信息,再发送;
4、直接发送;

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值