以太网交换机的生成树协议STP
如何提高以太网的可靠性?
添加冗余链路可以提高以太网的可靠性
但是,冗余链路也会带来负面效应——形成网络环路网络环路会带来以下问题:
-
广播风暴,大量消耗网络资源,使得网络无法正常转发其他数据帧;
-
主机收到重复的广播帧,大量消耗主机资源
-
交换机的帧交换表震荡(漂移)
广播帧一直循环转发。帧交换表一直变化。
以太网交换机使用生成树协议STP(Spanning Tree Protocol),可以在增加冗余链路来提高网络可靠性的同时又避免网络环路带来的各种问题。
-
不论交换机之间采用怎样的物理连接,交换机都能够自动计算并构建一个逻辑上没有环路的网络,其逻辑拓扑结构必须是树型的(无逻辑环路);
-
最终生成的树型逻辑拓扑要确保连通整个网络;
-
当首次连接交换机或网络物理拓扑发生变化时(有可能是人为改变或故障),交换机都将进行生成树的重新计算。
虚拟局域网VLAN
概述
以太网交换机工作在数据链路层(也包括物理层)
使用一个或多个以太网交换机互连起来的交换式以太网,其所有站点都属于同一个广播域。
随着交换式以太网规模的扩大,广播域相应扩大。
巨大的广播域会带来很多弊端:
-
广播风暴
-
难以管理和维护
-
潜在的安全问题
广播风暴会浪费网络资源和各主机的CPU资源!
分割广播域的方法
-
使用路由器可以隔离广播域,路由器的成本较高。
-
虚拟局域网VLAN技术应运而生
虚拟局域网VLAN(Virtual Local Area Network)是一种将局域网内的设备划分成与物理位置无关的逻辑组的技术,这些逻辑组具有某些共同的需求。
实现机制
IEEE 802.1Q帧
IEEE 802.1Q帧(也称Dot One Q帧)对以太网的MAC帧格式进行了扩展,插入了4字节的VLAN标记
VLAN标记的最后12比特称为VLAN标识符VID,它唯一地标志了以太网帧属于哪一个VLAN.
-
VID的取值范围是0~4095 (0 ~2^(12-1))
-
0和4095都不用来表示VLAN,因此用于表示VLAN的VID的有效取值范围是1~4094。
0和4095都不用来表示VLAN,因此用于表示VLAN的VID的有效取值范围是1~4094。
802.1Q帧是由交换机来处理的,而不是用户主机来处理的。
-
当交换机收到普通的以太网帧时,会将其插入4字节的VLAN标记转变为802.1Q帧,简称“打标签“
-
当交换机转发802.1Q帧时,可能会删除其4字节VLAN标记转变为普通以太网帧,简称“去标签”
交换机的端口类型
交换机的端口类型有以下三种:
-
Access
-
Trunk
-
Hybrid
思科交换机没有Hybrid端口
交换机各端口的缺省VLAN ID
-
在思科交换机上称为Native VLAN,即本征VLAN。
-
在华为交换机上称为Port VLAN ID,即端口VLAN ID,简记为PVID。
Access端口一般用于连接用户计算机
Access端口只能属于一个VLAN
Access端口的PVID值与端口所属VLAN的ID相同(默认为1)
Access端口接收处理方法:
一般只接受“未打标签”的普通以太网MAC帧。根据接收帧的端口的PVID给帧“打标签”,即插入4字节VLAN标记字段,字段中的VID取值与端口的PVID取值相等。
Access端口发送处理方法:
若帧中的VID与端口的PVID相等,则“去标签”并转发该帧;否则不转发。
Trunk端口一般用于交换机之间或交换机与路由器之间的互连
Trunk端口可以属于多个VLAN
用户可以设置Trunk端口的PVID值。默认情况下,Trunk端口的PVID值为1。
Trunk端口发送处理方法:
-
对VID等于PVID的帧,“去标签”再转发;
-
对VID不等于PVID的帧,直接转发;
Trunk端口接收处理方法:
-
接收“未打标签”的帧,根据接收帧的端口的PVID给帧“打标签”,即插入4字节VLAN标记字段,字段中的VID取值与端口的PVID取值相等。
-
接收“已打标签的帧”;
例题:
上图给出了用于交换机互连的Trunk端口的PVID值的组合,试回答以下问题:
(1)主机A发送广播帧,则帧的传递过程是什么?
(2)主机C发送广播帧,则帧的传递过程是什么?
(3)从上述过程可以得出什么结论?
解析:
结论:互连的Trunk端口的PVID值不等,可能会造成转发错误!
Hybrid端口既可用于交换机之间或交换机与路由器之间的互连(同Trunk端口),也可用于交换机与用户计算机之间的互连(同Access端口)
Hybrid端口可以属于多个VLAN(同Trun端口)用户可以设置Hybrid端口的PVID值。默认情况下,Hybrid端口的PVID值为1(同Trun端口)
Hybrid端口发送处理方法(与Trunk端口不同)查看帧的VID是否在端口的“去标签”列表中:
-
若存在,则“去标签”后再转发;
-
若不存在,则直接转发;
Hybrid端口接收处理方法(同Trunk端口)
-
接收“未打标签”的帧,根据接收帧的端口的PVID给帧“打标签”,即插入4字节VLAN标记字段,字段中的VID取值与端口的PVID取值相等。
-
接收“已打标签的帧”;
【应用举例】主机A、B、C连接在同一个交换机的不同接口上。利用Hybrid端口的功能,实现以下应用需求:A和B都能与C相互通信,但A与B不能相互通信。