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