1、教师备课纸苏州工业职业技术学院Suzhou Institute Of Industrial Technology第 页教师备课纸苏州工业职业技术学院Suzhou Institute Of Industrial Technology课题交换环路解决方案课型讲练授课班级网络09C1、网络09D1授课时数2教学目标教学重点教学难点学情分析教学效果教 后 记交换环路解决方案(STP)一、交换环路产生原因先回想一下交换机(也成透明网桥)转发数据帧的操作:交换机在转发数据帧时,尽管它能够按照MAC地址表进行正确的转发,但它没有记录任何关于该数据帧的转发记录。所以由于某种原因(如网路环路),交换机再次接收到
2、该数据帧时,它仍然毫无记录的将数据帧按照MAC地址表转发到指定端口。特别是在遇到广播报文时,更容易在存在环路的网路形成风暴。以下图所示拓扑结构中数据的转发为例。ALAN1LAN2B1B2B3上图是一个存在环路的局域网络,假设B1、B2和B3都还没有学习到A的MAC地址,因为A还没有发送过任何数据。当A发送了一个数据帧,最初三个网桥都接收了这个数据帧,记录A的地址在LAN1上,并排队等待将这个数据帧转发到LAN2上。其中的一个网桥将首先成功的发送数据帧到LAN2上,假设这个网桥是B1,那么B2和B3将再次收到这个数据帧,因为B1对B2和B3来说是透明的。这个数据帧就好像是A在LAN2上发送的一样
3、。于是B2和B3记录A在LAN2上,排队等待将这个新接收到的数据帧转发到LAN1上,假设这时B2成功将最初的数据帧转发到LAN2上,那么B1和B3都接收到这个数据帧,并排队等待转发这个数据帧到LAN1上。如此反复,数据帧就在环路中不断循环,更糟糕的是每次成功的转发都会导致网络中出现两个新的数据帧,从而形成严重的广播风暴。二、交换环路解决方案如果网络不存在物力上的环路,就不会有上述问题存在。然而,当网络结构复杂时,要保证网络没有任何环路是很困难的,并且在许多可靠性要求高的网络中,为了保证不间断的网络服务,需要采用物理环路的冗余备份。因此,保证网络不存在环路是不现实的。IEEE提出了一个很好的解决
4、办法,那就是802.1D协议标准规定的STP(Spanning Tree Protocol),它是生成树协议的英文缩写。该协议可应用于环路网络,通过一定的算法实现路径冗余,同时将环路网络修剪成无环路的树型网络,从而避免报文在环路网络中的增生和无限循环。STP的全称是spanning-tree protocol,STP协议是一个二层的链路管理协议,它在提供链路冗余的同时防止网络产生环路,与VLAN配合可以提供链路负载均衡。生成树协议现已经发展为多生成树协议和快速生成树协议。三、STP原理STP 通过以下方式来防止交换环路: 强制特定接口进入待命或阻塞状态 保留其它接口处于转发状态 在现有转发路径
5、失效时,通过启用适当的待命路径来重新配置网络1、STP基本原理STP的基本原理是,通过在交换机之间传递一种特殊的协议报文BPDU(在IEEE 802.1D中这种协议报文被称为“配置消息”)来确定网络的拓扑结构。配置消息中包含了足够的信息来保证交换机完成生成树计算。配置消息中主要包括以下内容: (1) 根网桥的ID(RootID):由树根的优先级和MAC地址组合而成; (2) 到根网桥的最小路径开销(RootPathCost):最短路径上所有链路开销的代数和; (3) 指定网桥的ID(TransmittingBridgeID):由指定交换机的优先级和MAC地址组合而成; (4) 指定端口的ID(
6、TransmittingPortID):由指定端口的优先级和端口编号组成;对一台交换机而言,指定网桥就是与本机直接相连并且负责向本机转发数据包的交换机,指定端口就是指定网桥向本机转发数据的端口;对于一个局域网而言,指定网桥就是负责向这个网段转发数据包的交换机,指定端口就是指定网桥向这个网段转发数据的端口。最初,所有网桥都发送以自己为根网桥的配置消息,即(RootID,RootPathCost,TransmittingBridgeID,TransmittingPortID)。网桥将收到的配置消息和自己的配置消息进行优先级比较,保留优先级较高的配置消息,并据此来完成生成树的计算。配置消息的处理:当
7、网桥接收到来至邻居的配置消息后,需要比较他们的优先级,然后更新自己的配置消息在发送出去。那么如何确定配置消息的优先级呢?下面来讨论网桥如何比较配置消息的优先级,如何形成自己的配置消息的优先级。网桥采取如下原则进行配置消息优先级的比较,从而确定最优配置消息:l 确定RootID:取最优配置消息的RootID做为新的配置消息的RootID;l 确定网桥的根端口:如果自己是根网桥,则根端口是0,否则比较端口的RootPathCost,端口的RootPathCost=配置消息中的RootPathCost+接受该配置消息的端口开销,RootPathCost值小的端口为根端口。l 确定网桥的RootPat
8、hCost,如果自己是根网桥,则RootPathCost为0,否则为最优配置消息的RootPathCost与根端口的端口开销之和。l 确定网桥的TransmittingPortID:TransmittingPortID就是自己2、交换机端口状态打开交换机电源时,交换机的每个端口都会经过四种状态:阻塞、侦听、学习和转发。第 5 种状态“禁用”则表示管理员已关闭该交换机端口。当交换机经过这些状态时,交换机上的 LED 会从闪烁橙色变成稳定的绿色。端口经过所有这些状态进入转发就绪状态大约需要 50 秒。交换机打开时,首先进入阻塞状态,以便第一时间阻止环路的形成。然后更改到侦听模式,接收来自邻居交换机
9、的 BPDU。处理完这一信息后,交换机便能确定哪些端口可以转发帧且不会产生环路。可以转发帧的端口将更改到学习模式,然后进入转发模式。接入端口不会在交换网络中造成环路,而且在连接有主机时此类端口会始终进入转发状态。中继端口有可能造成网络环路,可转入转发状态或阻塞状态。四、STP配置实例图1:拓扑图两台Cisco 2960交换机使用两个千兆端口相连,默认情况下STP协议启用的。通过两台交换机之间传送BPDU协议数据单元,选出根交换机、根端口等,以便确定端口的转发状态。上图中标记为黄色的端口处于block状态。二、STP基本配置命令1、修改Brigde ID,重新选根网桥switch(config)
10、#spanning-tree vlan 1 priority 4096图2 根网桥改变,交换机端口的状态也发生了变化(与图1比较)switch(config-if)spanning-tree vlan vlan-id port-priority 优先级值交换机端口优先级值修改命令,通过修改端口优先值也可以更改端口的转发状态。2、查看、检验STP(生成树协议)配置switch#show spanning-treeswitch#show spanning-tree activeswitch#show spanning-tree detailswitch#show spanning-tree int
11、erface fa 0/1switch#show spanning-tree vlan 1三、STP与VLAN负载均衡配置图3配置负载均衡后,每个VLAN有自己的根网桥。每条vlan中继链路只转发所允许的Vlan数据帧。switch(config-if)switchport trunk allowed vlan vlanid这条命令配置某条trunk中继链路只能转发该vlanswitch(config)#spanning-tree vlan 1 root primary该命令配置某个vlan的根网桥。利用这个命令可以使用Vlan利用VTP进行负载均衡。作业:1、 简要描述STP解决了什么样的问题?2、 在 STP协议中,为了选择交换机的根端口,可能需要哪些参数?