《生成树协议与端口安全》由会员分享,可在线阅读,更多相关《生成树协议与端口安全(20页珍藏版)》请在金锄头文库上搜索。
1、交换机路由器配置与管理交换机路由器配置与管理第四章第四章 生成树协议与端口平安生成树协议与端口平安 交换机交换机/ /路由器配置与管路由器配置与管理理4.1 4.1 生成树协议生成树协议 4.1.1 生成树协议的作用 功能强大、可靠的网络需要有效地传输流量,提供冗余和故障的快速恢复功能。在第2层网络中,路由协议不可用,生成树协议通过从软件层面修改网络物理拓扑结构来构建一个无环路逻辑转发拓扑结构,提供了物理线路的冗余连接,消除了网络风暴,从而提高网络的稳定性和减少网络故障的发生率。 交换机交换机/ /路由器配置与管路由器配置与管理理4.1 4.1 生成树协议生成树协议生成树协议的原理生成树协议的
2、原理生成树协议生成树协议Spanning Tree ProtocolSpanning Tree Protocol是在网络有环路是在网络有环路时,通过一定的算法将交换机的某些端口进行阻塞,从时,通过一定的算法将交换机的某些端口进行阻塞,从而使网络形成一个无环路的树状结构。而使网络形成一个无环路的树状结构。1 1、生成树协议的工作过程、生成树协议的工作过程采用三个规那么来使某个端口进入转发状态:采用三个规那么来使某个端口进入转发状态:生成树协议选择一个根网桥,根网桥的所有端口都处于转生成树协议选择一个根网桥,根网桥的所有端口都处于转发状态发状态每一个非根网桥选一个端口到根网桥中且管理本钱最低的每一
3、个非根网桥选一个端口到根网桥中且管理本钱最低的端口作为根端口,生成树协议将使根端口处于转发状态端口作为根端口,生成树协议将使根端口处于转发状态当网络中有多个网桥时,它们会将其到根网桥的管理本钱当网络中有多个网桥时,它们会将其到根网桥的管理本钱宣告出去,其中管理本钱最低的网桥作为指定网桥,指宣告出去,其中管理本钱最低的网桥作为指定网桥,指定网桥中发送最低管理本钱定网桥中发送最低管理本钱BPDUBPDU的端口为指定端口,该的端口为指定端口,该端口处于转发状态,所有其他端口被置为阻塞状态端口处于转发状态,所有其他端口被置为阻塞状态交换机交换机/ /路由器配置与管路由器配置与管理理2、根网桥的选择开始
4、所有网桥都通过发送STP报文来声明自己是根网桥,这些交换信息的数据成为网桥协议数据单元BPDU,BPDU包含以下内容:根网桥的ID一个可设置的优先级 这是根网桥的优先级到达根网桥的本钱发送该BPDU的网桥ID根网桥的选择条件:最小优先级别的网桥将成为根网桥假设优先级别相同,那么具有最小网桥ID的网桥成为根网桥注:网桥或交换机选择地址池中的一个MAC地址作为网桥的ID,由于MAC地址的唯一性,所以网桥ID也是唯一的。用来标识根网桥和优先级、网桥ID和本钱的报文成为hello数据包。STP就是通过hello数据包中的内容来判断网络中是否有比自己更适宜作为根网桥的网桥,如果有就停止并且转发适宜网桥的
5、hello数据包,最终将有一台网桥成为根网桥。交换机交换机/ /路由器配置与管路由器配置与管理理3、根端口的选择不是根网桥的交换机都选择一个根端口,这是通过判断出有最小根路径本钱的端口做到的,这个代价一直带在BPDU上,沿途的每台不是根网桥的交换机都把接收BPDU的端口的本地端口本钱加上去,伴随BPDU的产生,就累加出了根路径本钱。4、制定端口的选择在每个网段上选择一个交换机端口处理该网络的流量,在网段内最小根路径本钱的端口就为指定端口。5、删除桥接环既不是根端口也不是指定端口的交换机端口被设为阻塞状态。这一步断开了不设置阻塞将会形成的所有桥接环。交换机交换机/ /路由器配置与管路由器配置与管
6、理理6、生成树协议的端口状态禁用Disabled 关闭的端口。阻塞Blocking不能接收或传输数据,不能把MAC地址参加它的地址表,只能接收BPDU。监听Listening 由根端口或指定端口担任,不能接收或传输数据,不能把MAC地址参加它的地址表,只能接收或发送BPDU。学习Learning在转发延时Forward Delay计时时间默认15s后,端口进入学习状态。不能传输数据,但可接收或发送BPDU,可学习MAC地址并参加它的地址表。转发Forwarding在下次转发延时Forward Delay计时时间默认15s后,端口进入转发状态。能接收或传输数据,能学习MAC地址并参加它的地址表,
7、也可接收或发送BPDU。交换机交换机/ /路由器配置与管路由器配置与管理理快速生成树协议快速生成树协议STPSTP的缺陷:的缺陷:当拓扑结构发生变化时,新的配置消息要经过一当拓扑结构发生变化时,新的配置消息要经过一个时延个时延Forward DelayForward Delay,默认值为,默认值为15s15s才能才能传播到整个网络。此时拓扑结构中应该停止转传播到整个网络。此时拓扑结构中应该停止转发的端口假设仍然在进行转发活动,就有可能发的端口假设仍然在进行转发活动,就有可能产生临时环路。为解决此问题,生成树使用了产生临时环路。为解决此问题,生成树使用了一种定时器策略,即在端口从阻塞状态到转发一
8、种定时器策略,即在端口从阻塞状态到转发状态之间参加一个只学习状态之间参加一个只学习MACMAC地址但不参与转发地址但不参与转发的中间状态,两次状态切换的时间长度都是的中间状态,两次状态切换的时间长度都是Forward DelayForward Delay,这样就保证了在拓扑结构变化,这样就保证了在拓扑结构变化时不会产生临时环路的问题。但这个方法需要时不会产生临时环路的问题。但这个方法需要至少两倍的至少两倍的Forward DelayForward Delay收敛时间。收敛时间。交换机交换机/ /路由器配置与管路由器配置与管理理为解决STP协议的这个缺陷,IEEE推出了802.1W标准,作为对8
9、02.1D标准的补充,它定义了快速生成树协议RSTP,此协议作了以下三点改进,使收敛速度快了很多最快1s以内。改进1:为根端口和指定端口设置了快速切换用的替换端口Alternate Port和备份端口Backup Port两种角色,当根端口/指定端口失效的情况下,替换端口/备份端口就会无时延地进入转发状态。改进2:在只连接了两个交换端口的点对点链路中,指定端口只需与下游网桥进行一次握手就可以无时延地进入转发状态 。改进3:直接与终端相连而不是把其他网桥相连的端口定义为边缘端口Edge Port。边缘端口可以直接进入转发状态,不需要任何延时。交换机交换机/ /路由器配置与管路由器配置与管理理VL
10、AN快速生成树协议快速生成树协议 每个每个VLAN都生成一棵树是一种比较直接,而且都生成一棵树是一种比较直接,而且最简单的解决方法,能够保证每一个最简单的解决方法,能够保证每一个VLAN都都不存在环路不存在环路 。但这种方式工作的生成树协议,。但这种方式工作的生成树协议,各厂商标准都不同,可能无法兼容。如各厂商标准都不同,可能无法兼容。如Cisco的的VLAN生成树生成树 PVSTPer VLAN Spanning Tree和和PVST+。多实例生成树协议多实例生成树协议 MISTP多实例生成树协议是基于实例的,多实例生成树协议是基于实例的,STP/RSTP是是基于端口的,基于端口的, PVS
11、T/PVST+是基于是基于VLAN的。的。所谓实例就是多个所谓实例就是多个VLAN的一个集合,通过多的一个集合,通过多个个VLAN捆绑到一个实例中去的方法可以节省捆绑到一个实例中去的方法可以节省通信开销和资源占用率。此协议的兼容性比较通信开销和资源占用率。此协议的兼容性比较差。差。交换机交换机/ /路由器配置与管路由器配置与管理理生成树协议的配置生成树协议的配置 Sw_3550(config)#no spanning-tree vlan vlan 默认下默认下VLAN都启用都启用STP,禁用,禁用STP后,就不能检测到桥接后,就不能检测到桥接环和防止桥接环,因此应该启用。环和防止桥接环,因此应
12、该启用。Sw_3550(config)# spanning-tree vlan vlan priority 0该命令用于修改网桥的优先级,假设要设置根网桥,就应该命令用于修改网桥的优先级,假设要设置根网桥,就应该将其设置为比所在该将其设置为比所在VLAN上的其它网桥的优先级都低。上的其它网桥的优先级都低。Sw_3550(config)# spanning-tree pathcost method long | short 假设带宽在假设带宽在10Gbps或更高的端口,应该将网络里每台交换或更高的端口,应该将网络里每台交换机上的端口代价值取为机上的端口代价值取为long(32位位)Sw_3550
13、(config-if)# spanning-tree guard root | none 在端口或接口上启用在端口或接口上启用STP Root Guard功能。功能。Sw_3550(config-if)# spanning-tree port-priority port-priority 设置所有设置所有VLAN的端口优先级,其中的端口优先级,其中port-priority值的范围值的范围是是0255。Sw_3550(config-if)# spanning-tree vlan vlan-list port-priority priority 设置每个设置每个VLAN的端口优先级。的端口优先级
14、。交换机交换机/ /路由器配置与管路由器配置与管理理Sw_3550(config)# spanning-tree vlan vlan forward-time delay 指定Vlan的转发延迟时间,delay值默认15s(4s15s)Sw_3550(config)# spanning-tree vlan vlan hello-time interval指定Vlan的Hello呼叫计时器的时间, interval110s,默认2sSw_3550(config)# spanning-tree vlan vlan max-age agingtime指定Vlan的最大老化时间, agingtime6
15、40s,默认20sSw_3550(config)# spanning-tree portfast在端口上启用portfast功能,以防止因端口上的状态变化而产生拓扑结构变更通知的BPDUSw_3550(config)# spanning-tree portfast bpduguard 在全局状态下启动portfast BPDU保护功能以提高STP的稳定性Sw_3550(config)# spanning-tree portfast bpdufilter 在全局状态下启动portfast BPDU filter功能,使交换机停止发送BPDUSw_3550(config)# spanning-tr
16、ee uplinkfast max-update-rate packets-per-second 交换机交换机/ /路由器配置与管路由器配置与管理理4.1 4.1 生成树协议生成树协议Sw_3550(config)# spanning-tree backbonefast Sw_3550# show spanning-tree active detail Sw_3550# show spanning-tree backbonefast | blockedports | interface | pathcost method| summary totals | uplinkfast Sw_3550
17、# show spanning-tree root address | cost | detail | forward-time | hello-time | id | max-age | port | priority system-id | vlan vlan_list active detail | blockedports | bridge address | detail | forward-time | hello-time | id | max-age | priority | protocol | detail active | inconsistentports | summ
18、ary 交换机交换机/ /路由器配置与管路由器配置与管理理4.1.7 生成树协议实例 生成树协议总结 4.1 4.1 生成树协议生成树协议交换机交换机/ /路由器配置与管路由器配置与管理理4.2 端口平安 4.2.1 端口平安的作用 端口平安功能是通过对MAC地址表的配置,来实现在某一端口只允许一台或者几台确定的设备访问此台交换机端口。从而减少交换机被黑客攻击,增强交换机的平安性,提高局域网的平安性。 交换机交换机/ /路由器配置与管路由器配置与管理理4.2.1 端口平安的原理端口平安是根据MAC地址表来确定允许访问网络的设备,其中MAC地址表记录的是MAC地址与交换机端口的映射,可对交换机的
19、任一端口进行端口平安配置,共有三种方法:手工设置一个或几个固定的MAC地址限制端口的最大MAC地址的数量任何MAC地址都可以通过此端口访问网络,此为默认设置交换机交换机/ /路由器配置与管路由器配置与管理理交换机通过学习获得MAC地址和转发与过滤数据包的过程:交换机在重新启动或手工去除MAC地址表后,MAC地址表没有任何MAC地址的记录。如下图。 交换机交换机/ /路由器配置与管路由器配置与管理理假设主机A向主机C发送数据包,因为现在MAC地址表为空,所以端口E0将从数据包中提取源MAC地址,将此MAC地址记录到MAC地址表中,同时向其它所有的端口发送此数据包,如果某一主机在接收到此数据包后,
20、将提取目标MAC地址,并与自己网卡的MAC地址进行比较,如果相等,那么接收此数据包;否那么丢弃此数据包。如下图。 交换机交换机/ /路由器配置与管路由器配置与管理理如果主机A、B、C、D都已经向其它主机发送数据包,那么MAC地址表将会有4条记录。如下图。 交换机交换机/ /路由器配置与管路由器配置与管理理现在假设主机A向主机C发送数据包,交换时机提取数据包的目的MAC地址,通过查找MAC地址表,有一条记录的MAC地址与目的MAC地址相等,而且知道此目的MAC所对应的端口为E2,此时E0端口会将数据包直接转发到E2端口,如下图。 交换机交换机/ /路由器配置与管路由器配置与管理理4.2.2 端口
21、平安的配置 端口平安就是指定允许接入到端口,并利用该端口访问网络设备的MAC地址。sw_3550(config_if)# switchport port-security 启用端口平安功能sw_3550(config_if)# switchport port-security maximumvalue指定MAC地址的数量sw_3550(config_if)# switchport port-security mac-address mac-address 手工指定可靠的MAC地址sw_3550(config_if)# switchport port-security violation protect | shutdown| restrict 指定端口所采取的措施sw_3550# show port security interface interface-id address 显示端口平安配置