STP(Spanning Tree Protocol,生成树协议)是根据IEEE 802.1D 标准建立的,用于在局域网中消除数据链路层物理环路的协议。运行该协议的设备通过彼此交互信息发现网络中的环路,并有选择的对某些端口进行阻塞,最终将环路网络结构修剪成无环路的树型网络结构,从而防止报文在环路网络中不断增生和无限循环,避免设备由于重复接收相同的报文所造成的报文处理能力下降的问题发生。
STP采用的协议报文是BPDU(Bridge Protocol Data Unit,桥协议数据单元),也称为配置消息,BPDU中包含了足够的信息来保证设备完成生成树的计算过程。STP即是通过在设备之间传递BPDU来确定网络的拓扑结构。
VLAN 的 MAC 地址学习机制 交换机是通过 VLAN ID 来区分识别不同 VLAN 的。对于支持 802.1Q VLAN 的交换机,其MAC 地址表需同时维护 MAC 地址、转发端口和 VLAN ID 信息。其中,VLAN ID 信息将根据收到数据帧的 Tag 字段来确定,当收到的数据帧不带 Tag 时,则根据接收端口的缺省 VLAN来确定。 在配置了 VLAN 后,交换机的 MAC 地址学习方式有两种: 1、SVL(Shared VLAN Learning,共享式 VLAN 学习): MAC 地址表项全部记录到一张共享的 MAC 地址转发表中,一个 MAC 地址在整张表中是唯一的。当交换机收到数据帧时会先进行 MAC 地址查询,然后再进行后续的 VLAN 查询。 2、IVL(Independent VLAN Learning,独立 VLAN 学习): 交换机为每个 VLAN 维护独立的 MAC 地址转发表,因此 MAC 地址表在逻辑上可以看成根据 VLAN 信息被分成了多张地址表。某个 VLAN 的成员端口接收到数据帧时,其源 MAC 地址只被记录到该VLAN 的 MAC 地址转发表中,且只依据该表中的信息转发数据帧。 下图中简要表示了这两种MAC地址学习机制。在SVL中,所有MAC地址被记录到同一张表中,且一个 MAC 地址只能属于一个 VLAN;在 IVL 中,我们可以从逻辑上认为每个 VLAN 单独拥有一张地址表,一个 MAC 地址可以同时记录到不同 VLAN 的表项中。
IVL 交换机二层转发的基本流程如下: 1、 收到数据帧后,根据其源 MAC 地址和 VLAN ID 信息添加或更新 MAC 地址表项。 2、 根据目的 MAC 地址和 VLAN ID 信息查找 MAC 地址表项。如果没有找到匹配项,则将数据帧在 VLAN ID 对应的 VLAN 内广播;如果能找到匹配表项,则将数据帧向表项中对应的端口进行转发。
3、General 端口General 端口可以属于多个 VLAN,出口规则可以根据该端口连接设备的实际情况灵活配置,既可以设置为带 Tag 发送报文,也可以设为不带 Tag 发送报文。因此,它既能用于网络设备之间的连接,也能用于网络设备和用户之间的连接。当与交换机相连的某个网络环境比较复杂,无法判断网络中的设备是哪种类型,或者该网络中有多种类型的设备时,可将交换机和该网络相连端口类型设置为 General。