设为首页收藏本站language 语言切换
查看: 3467|回复: 5
收起左侧

[分享] 第八章:第2层交换和生成树协议(STP)

[复制链接]
发表于 2009-5-7 16:34:24 | 显示全部楼层 |阅读模式
第2层交换机确实只是多端口的网桥,区别:
1.网桥是基于软件的,而交换机是基于硬件的,因为交换机使用ASIC芯片来帮助做出过滤的决定。
2.交换机可以看成是多端口的网桥。
3.每个网桥只有一个生成树实例,而交换机可以有许多生成树实例。
4.交换机的端口数量比大多数网桥都多。
5.网桥和交换机都转发第2层广播。
6.通过检查所接收的每个数据桢的源地址,网桥和交换机就学到了MAC地址。
7网桥和交换机都基于第2层地址做出转发的决定。

一:第2层的3种交换功能
1.地址学习(Address learning)
2.转发/过滤决定(Forward/filter decisions)
3.避免环路(Loop avoidance)

使用show mac address-table可以显示MAC转发/过滤表
使用switchport port-security mac-address mac-address命令,可以将单个的MAC地址分配到交换机的每个端口中

例子:如果需要对交换机端口进行设置,使得一个端口只能接一台主机,而且当这个规则被违反时就关闭端口,那么可以使用如下命令:
Switch#config t
Switch(config)#int f0/1
Switch(config-if)#switchport port-securiry maximum 1
Switch(config-if)#switchport port-securiry violation shutdown

maximum设置为1,意味着那个端口上只能使用一个MAC地址。如果用户试图在那个网段上添加另一台主机,交换机端口就将被关闭。如果发生了这种情况,就需要手工地在交换机上进行配置,就是使用命令no shutdown来重新启用端口。

Switch(config-if)#switchport port-securiry mac-address sticky
Switch(config-if)#switchport port-securiry maximum 2
Switch(config-if)#switchport port-securiry violation shutdown

这个sticky命令主要提供静态MAC地址安全,而无需在网络中输入每个端口的MAC地址。

二:生成树协议(STP,Spanning Tree Protocol)
STP的主要任务是阻止在第2层网络(网桥或交换机)上产生网络环路。它警惕地监视着网络中的所有链路,通过关闭任何冗余的接口来确保在网络中不会产生环路。
STP采用生成树算法(STA),它首先创建一个拓扑数据库,然后搜索并破坏掉冗余的链路。运行STA算法之后,帧就只能被转发到保险的有STP挑选出来的链路上。

注:STP是第2层协议,用来维护一个无环路的交换式网络。

生成树术语:
根桥(Root brigde):根桥是桥ID最低的网桥。对于STP来说,关键的问题是为网络中所有的交换机推选一个根桥,并让根桥成为网络中的焦点。在网络中,所有其他的决定-比如哪一个端口要被阻塞,哪一个端口要被置为转发模式-都是根据根桥来判断来做出选择的。

BPDU(桥协议数据单元):所有交换机之间都交换信息,并利用这些信息来选出根交换机,也根据这些信息来进行网络的后续配置。每台交换机都对桥协议数据单元(Bridge Protocol Data Unit)中的参数进行比较,它们将BPDU传送给某个邻居,并在其中放如入它们从其他邻居那里收到的BPDU。

桥ID(Bridge ID):STP利用桥ID来跟踪网络中的所有交换机。桥ID是由桥优先级(在所有Cisco交换机上,默认的优先级为32768)和MAC地址的组合来决定的。

非根桥(Nonroot bridge):除了根桥外,其他所有的网桥都是非根桥。它们相互之间都交换BPDU,并在所有交换机上更新STP拓扑数据库,以防止环路并对链路失效采用补救措施。

端口开销(Port cost):当两台交换机之间有多条链路且都不是根端口时,就根据端口开销来决定最佳路径,链路的开销取决于链路的带宽。

根端口(Root port):根端口是指直接连到根桥的链路所在的端口,或者到根桥的路径最短的端口。如果有多台链路连接到根桥,就通过检查每条链路的带宽来决定端口的开销,开销最低的端口就成为根端口。如果多条链路的开销相同,就使用桥ID小一些的那个桥。如果多条链路来自同一台设备,就使用端口号最低的那条链路。

指定端口(Designated port):有最低开销的端口就是指定端口,指定端口被标识为转发端口。
非指定端口(Nondesignated port):非指定端口是指开销比指定端口高的端口,非指定端口将被置为阻塞状态,它不是转发端口。

转发端口(Forwarding port):指能够转发帧的端口。

阻塞端口(Blocked port):阻塞端口是指不能转发帧的端口,这样做是为了防止产生环路。然而,被阻塞的端口将始终监听帧。

改变默认优先级是选举根桥的最佳方式:
例子:
Switch(config)#spanning tree vlan 1 priority ?
<0--61440>
Switch(config)#spanning tree vlan 1 priority 4096
可以将优先级设置为0--61440的任何值。将优先级设置为0意味着,交换机将始终是根桥。桥优先级的数值以4096递增。
验证命令:show spaning tree

三:收敛
当网桥或交换机上的所有端口都转变到转发或阻塞状态时,就产生了收敛。在收敛完成之前,交换机不能转发任何数据。因此,如果你想让网络中的用户能够继续发送数据(或者保持他们在任何时候都有可用链路),就必须保证交换式网络的实际设计确实很好,以便STP能够快速收敛。

在交换机端口上,生成树拓扑从阻塞到转发的典型收敛时间为50秒,在服务器或主机上,这会引起超时问题-比如当你们重新引导它们时。要解决这个问题,可以使用快速端口(PortFast)在某个端口上禁用生成树。

生成树快速端口(PortFast):
如果你有一台服务器或其他设备连接到交换机上,而且可以保证在禁用STP时不会产生交换环路,那么就可以在这些端口上使用快速端口(PortFast)。使用快速端口意味着,当STP正在收敛时,端口不会花费通常的50秒才进入转发状态。
下面是这些命令:
Switch(config-if)#spanning-tree portfast ?
Switch(config-if)#spanning-tree portfast

使用range命令,它用来在交换机上帮助你同时配置多个端口。下面是一个例子:
Switch(config)#int range fastethernet 0/1 - 12
Switch(config-if-range)#spanning-tree portfast
上面的range命令就可以让我将交换机上的12个端口都设置为portfast。

生成树上行链路快速:
上行链路快速(UplinkFast)是Cisco产品特有的特性,当链路失效时,它可用来改进STP的收敛时间。UplinkFast允许交换机在主链路(primary link)失效前,找出到根桥的可选路径。这意味着如果主链路失效,备份链路(secondary link)将更快地启用—端口将不会等待通常的50秒STP收敛时间。

下面是这些命令:
Switch(config)#spanning-tree uplinkfast(只能在接入层或带冗余链路的交换机上)
uplinkfast是全局命令,在每个端口上都可以启用。

生成树主干快速:
当某条链路并没有直连到失效的交换机时,就可以使用BackboneFast加速收敛。如果运行BackboneFast的交换机从它的指定桥接收到一个次等(inferior)BPDU,它就知道路径中到根桥的链路失效了。次等(inferior)BPDU是指其中列出的根桥和指定桥是同一台交换机。
下面是这些命令:
Switch(config)#spanning-tree BackboneFast (在所有的Catalyst交换机上启用,它能节省20秒时间)

快速生成树协议(RSTP)802.1w:
下面是这些命令:
Switch(config)#spanning-tree mode ?
Switch(config)#spanning-tree mode rapid-pvst

EtherChannel:
除了保留冗余链路并让STP将某条链路置于阻塞模式(BLK)之外,还可以将多条链路捆在一起创建出逻辑聚合。
你可以选择Cisco版本和IEEE版本的EtherChannel。Cisco的版本称为端口聚合协议(Port Aggregation Protocol,PAgP ),IEEE的802.3ad标准则称为链路聚合控制协议(Link Aggregation Control Protocol,LACP)

BPDU护卫(BPDUGuard)和BPDU过滤器(BPDUFilter):
用来阻止当有人不小心使用PortFast在某个启用了PortFast配置的端口上导致环路出现。
下面是这些命令:
Switch(config-if-range)#spanning-tree bpduguard anable
Switch(config-if-range)#spanning-tree bpdufilter anable
 成长值: 58555
发表于 2009-5-7 23:24:27 | 显示全部楼层
一张一张的发,比较飘逸!
沙发 2009-5-7 23:24:27 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2010-5-2 23:12:49 | 显示全部楼层
谢谢```!
板凳 2010-5-2 23:12:49 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2010-8-11 17:30:19 | 显示全部楼层
学习了
地板 2010-8-11 17:30:19 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-10-1 14:42:18 | 显示全部楼层
终于来到了第八章,相当不容易,对于复习很有帮助。{:soso__1835311674551027107_3:}
5# 2012-10-1 14:42:18 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-6-27 12:07:04 | 显示全部楼层
6# 2013-6-27 12:07:04 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-29 22:14 , Processed in 0.096378 second(s), 22 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表