第一章:VLAN
生成VLAN
Switch>:enable
Switch#:configure terminal(con t)
Switch(config):VLAN 2 name zxy
Switch(config):end
Switch#:show vlan(查看交换机上所有的VLAN)
       Show vlan id 2(单独查看2VLAN
       Show vlan name zxy(单独查看名字是ZXYVLAN
Switch#:copy running-config startup config (保存配置)
       Wr(保存配置,一般用这个)
 
删除VLAN
Switch(config):no vlan 2
Switch#:show vlan brief(查看VLAN的摘要信息)
Switch#:wr
 
VLAN中添加端口
Switch(config):interface f0/1
Switch(config-if):switchport mode access(把端口1配置成非中继模式)
Switch(config-if):switchport access vlan 2(把端口1分配给VLAN2)
Switch(config-if):end
Switch#:show running-config interface f0/1(验证f0/1端口的VLAN)
Switch#:show interface f0/1 switch port(验证端口的管理模式和VLAN情况)
Switch#:wr
 
Switch(config):default interface interface-id(恢复端口的默认配置)
  
 
第二章:TRUNK AND 以太通道
1.在交换机环境中有两种链路,接入链路和中继链路.
IEEE 802.1Q支持连接不同厂商设备的中继链路上传送多个VLAN的业界标准协议
ISL(inter switch link) 支持大多数cisco设备之间传送多个VLAN
 
ISL封装:交换机是在中继链路上传送VLAN时才在帧头放置一个唯一标识VLANID标识号的
 
IEEE802.1Q的正式名称是虚拟桥接局域网标准,是对数据进行修改,中继设备将插入4字节的标记,并重新计算帧的校验序列.
 
提示:原始以太网帧不能超过1518个字节,如果一个最大长度的帧是通过802.1Q来标记的,那么这个帧变成1522个字节,这种帧被称为小巨帧,尽管交换机可能将该帧记录为一个以太网错误,介交换机仍能成功的处理这种帧.
 
ISL:当数据经过一条中继链路,发送到交换机或路由器时,ISL给该帧增加一个26字节的帧头和一个4字节的帧尾.帧尾包含了一个循环冗余校验码(CRC)用来确保新封装的帧数据的完整性
ISL对以太网进行封装最小是94字节,最大1548字节
 
IEEE802.1QISL异同
相同:把帧标记上VLAN的信息
不同:标记的机制不同,IEEE802.1Q是内部标记,是以标准以太网帧的形式出现,
以可以同时工作在接入和中继链路.
     ISL是外部标记违反了1518字节最大传输单元大小的普通以太网惯例,只有cisco设备上才能读取ISL标准.
 
2.Trunk 几种模式和协商
快速以太网和吉比特以太网中继配置模式
开启(ON)—将端口设置永久中继模式,不允许对封装类型进行协商,必须在配置
中明确定义封装格式.
关闭(OFF)—将端口设置永久非中继模式,并协商链路转变为非中继链路.
企望(desirable)—主动协商,让端口主动试图转变为中继端口.
自动(auto)—被协商
协商使用DTP协议
 
Switch(config-if):switchport mode access
设为永久非中继模式,并协商将链路转为非中继链路
Switch(config-if):switchport mode dynamic desirable
主动尝试将链路转换为中继链路,如邻端口是:trunk/desirable/auto则会协商成功成为中继链路
Switch(config-if):switchport mode dynamic auto
允许端口转为中继链路,但不主动发送协商
Switch(config-if):switchport mode trunk(ON)
设为永久中继模式
Switch(config-if):switchport mode nonegotiate
设为永久中继模式,但禁止产生DTP,要建立中继链路必须手工将邻端口配置为中继端口,邻端口只能是ON状态.
 
在交换机上配置Trunk
Switch#:conf t
Switch(config):int f0/1
Switch(config-if):switchport mode trunk (将端口1设为永久中继模式)
              Switchport mode dynamic desirable(将端口1设为企望模式)
              Switchport mode dynamic auto(将端口1设为自动模式)
Switch#:show int f0/1 switchport()
   Name:f0/1
   Switchport:Enabled(交换机端口是激活的)
   Operational mode:trunk(目前端口的工作模式是中继模式)
   Operational trunk encapsulation:dotlg(目前中继封装的是IEEE802.1Q)
   Netotiation of trunking:on(中继的协商模式目前是开启的)
 
Trunk添加、删除VLAN
Switchport trunk allowed vlan remove vlan-list
添加:switch(config-if):switchport trunk allowed vlan add 2(Trunk端口中添加VLAN 2)
删除:switch(config-if):swithport trunk allowed vlan remove 2(Trunk端口中删除VLAN 2)
Switch#:show int f0/1 switchport
       Trunking vlans enabled:1,3-1005(已经没有VLAN 2)
 
停止中继:
Switch(config-if):no switchport modeswitchport mode access
 
 
以太通道(ethernet channel
快速以及通道(fast ethernet channel FEC
千兆以太通道(GEC
端口聚集协议(PAGP)思科专有
 
1:某个通道上的通信到达单一MAC地址,使用源地址、IP地址或第4层端口号作为帧分配基础,可能会比以MAC地址为基础进行帧分配要好。
 
2:一个以太网通道将Catalyst 2950连接到路由器。此交换机还连接了四台工作站。由于交换机将路由器做为一个MAC地址,因此在交换机以太通道上基于源的转发,能保证交换机利用到路由器的所有可用带宽。路由器上配置了基于目的的转发,国为数量众多的工作站保证通信在路由器的以太通道上是均匀分布的。
 
PagP要求所有端口都属于同一个VLAN,或配置为中继端口。当集束已经存在,而修改某个端口的VLAN时,集束中所有端口都将被修改,和那个VLAN相匹配。PAGP不对那些不同速率或不同端口双工模式运行的端口进行组合,如果集束已经存在,改变某个端口的速率或双工模式,那么PAGP将为集束中的所有端口改变端口速率和双工模式。
 
On(开)端口总被绑成一个以太通道,没有协商发生。
Off(关)--从来不捆绑成一个以太通道。
Auto(自动)--(默认)当远端以太网通道开始协商时,交换机端口才发送PAGP
分组去协商以太通道
Desirable(企望)--交换机主动发送PAGP分组。
 
LACP 链路聚集控制协议IEEE802.3ad支持cisco和其它交换之间的以太通道.
On—此模式会强迫端口加入以太通道而不使用LACP,ON模式下要使用以太
通道可用,相连的两个端口组必须同时处于ON模式.
off—禁止端口加入以太通道.
passive—类似PAGPauto模式,端口置于被动协商状态,会接收LACP数据包,
但不主动发起LACP协商,也是缺省模式.
active—类似PAGPdesirable模式,将端口置于主动协商状态.
 
以太通道配置的指导原则
1、必须是248个端口捆绑在一起形成以太通道,最多8个。
2、捆绑这些端口在交换机模块上必须是连续的。
3、参与捆绑的端口必须属于同一个VLAN中,中继模式要求所有参加捆绑的端口都在中继模式下。
4、如果端口配置是中继模式,那么,应该在链路两端将通道中的所有端口配置成相同的中继模式。
5、所有参与捆绑的端口的物理参数设置必须相同。
 
提示:配置以太通道后,将通道内的任何一个端口配置为中继,都会使通道内所有的端口也成为中继端口。
 
Switch (config):int range f0/1-2
Switch(config-if):channel-group 1(以太通道组编号) mode on
Switch#:show etherchannel 1 summary(查看以太通道摘要信息)
      或:show int
 
提示:在为一组端口打开通道之前,要检查是否满足建立通道的所有条件,如不满足,端口将自动关闭,相应链路将无法使用,如果不能确定是否满足条件,可以先将链路从配置中删除,将链路组成通道,然后重新配置。
 
以太通道链路实现负载均衡
 Port-channel load-balance{dst-mac | src-mac}(dst-mac基于目的MAC src-mac基于源MAC)
对配置进行检查
Show etherchannel load-balance
 
查看PAGP状态信息
 Show pagp [channel group-number]counnters
例:switch#show pagp 1 counters
 
Ethernetchannel配置Trunk
例:把F0/1F0/2捆绑成以太通道,并配置Trunk
Switch(config)#:int range f0/1-2
Switch(config-if)#:channel-group 1mode on
Switch(config-if)#:switchport mode trunk
 
 
第三章:VTP
VTP:VLAN中继协议(Vlan Trunking Protocolcisco专用协议
优点:
1、  保持配置的一致性
2、  提供不同介质类型,如:ATMFDDI和以太网配置虚拟局域网的方法
3、  提供跟踪和监视虚拟局域网的方法
4、  提供检测加到另一个交换机上的虚拟局域网的方法
5、  提供从一个交换机在整个管理域中增加虚拟局域网的方法
 
VTP概述和工作原理
VTP是一种消息协议,使用第二层的帧,管理网络中VLAN 11055
1、必须建立一个VTP管理域(一个交换机只能参加一个VTP管理域,不同域中交换机不共享VTP信息)。
2、交换机交换下列信息
(1)    管理域域名
(2)    配置的修定号
(3)    已知虚拟局域网的配置信息
 
VTP运行的特点
1、VTP通过发送到特定的MAC(地址01-00-0c-cc-cc-cc的组播)VTP消息进行工作。
2、VTP通告只通过中继端口传递。
3、VTP消息是通过VLAN 1传送(这就是不能将VLAN从中继链路中去除的原因。但是有一种限制VLAN 1的方法,这种功能称为“在中继链路上停用VLAN 1catalyst 4000\5000\6000系列的交换机支持此功能,这样就可以像对待其他VLAN一样,也将VLAN 1从中继链路上修剪掉,但修剪不包括所有将在此VLAN上传递的控制协议数据,这些数据仍会被传送,然而,这会阻断所有用户数据,使用此项功能,可以避免将VLAN扩展到整个企业网。这样,STP环路就限制在VLAN1的范围内,例如,如果端口2/1是中继端口,可以用clear trunk 2\1来完成在中继链路上停用VLAN 1)。
4、在经过DTP自动协商,启动了中继后,VTP信息就可以沿着中继链路传送。
5、VTP域内定期在每个中继端口发送通告到保留的VTP组播地址。
 
Catalyst 交换机缺省情况处于VTP服务器模式
 
VTP透明模式:
可以创建和修改VLAN,但只影响到自己,变更不会影响到其它交换机。
用途:对网络变更做测试用,例如:更改网络中的VLAN配置,增加、删除VLAN等,会把一台交换机设置为透明模式,如对VLAN所做的修改满意、正确,就把透明模式的交换机改成服务器或客户商,如所做的修改不满意、错误,想回到修改以前状态,就不用再一个个改回原来的配置,把其它交换机的修订号改低,然后把透明模式的交换机改成服务器,向外发送VTP报文,其它交换机就学到了,就回到修改前的状态。
 
VTP修订编号:
32位的数字,从0开始到4294967295,然后循环归0,如需将编号置为0,只需要禁用中继,或改变VTP域的名称,再启用中继,或再把名称改回来(在工作中,如需在一局域网内添加交换机,注意先要把编号清零,或让交换机回到出厂设置)。示配置管理域的交换机在中继上收到VTP通告,它就会继承管理域的名称和VTP配置修改版本号,而对于已配置了或自己学到了管理域的交换机,如通告中的管理域名称与前名称不同或者配置修改号小,就忽略该通告。
 
VTP域要求
1、相同的VTP域名
2、Catalyst交换机必须是相邻的
3、所有catalyst交换机之间必须启用中继
 
VTP运行模式
1、服务器模式(server 缺省)
2、客户机模式(client 不能直接配置VLAN)
3、透明模式(transparent  不参加VTP,但转发VTP通告)
 
VTP两种通告类型
1、客户机的请求,客户机启动时发送的,用以获取信息
2、服务器响应
 
VTP三种类型的消息
1、来自客户机的通告请求
2、汇总通告VLAN 1中,每隔300秒进行一次,当拓扑发生改变时,也会发出该通告。
3、子集通告包括与VLAN有关的详细信息
交换过程是由服务器先发汇总通告,客户机收到汇总通告,对比自己的VLAN配置版本号,汇总通告如有大于自己的版本号,则向服务器发送通告请求,版本号从大于的开始,服务器响应发送的子集通告。
 
将修订号初始化为0的方法
1、将交换机的VTP模式更改为透明模式,然后再改为服务器模式
2、将交换机VTP域名更改一次,再改回原来的域名
3、使用clear config all命令清除交换机的配置和VTP信息,再次启动交换机电源后,交换机将以一个并不存在的域名和修订为零启动,该命令清除交换机所有配置数据。
 
交换机只有在拓扑发生变化或者响应通告请求,才发送子网通告。
 
配置VTP
Switch(config)#:VTP domain zxy(配置域名为ZXYVTP)
Switch(config)#:VTP mode server(client/transparent)(配置VTP模式)
Switch(config)#VTP password 1234(配置VTP域口令为1234
Switch(config)#:end
Switch#:show vtp status(查看VTP配置情况)
 
Switch(config)#:no VTP password(删除VTP域口令)
 
VTP修剪(VTP pruning
cisco的交换机上,VTP pruning 功能默认是关的,VTP有两种版本(版本1和版本2),交换机必须配置相同的VTP版本,如想使用版本2,那么就在是server模式的交换机上配置VTP版本2就可以了。
 
Switch(config)#:vtp version 2
Switch(config)#:show vtp status
 
配置VTP要考虑的基本任务
1、确定在网络中运行的VTP版本
2、决定交换机是成为已有管理域的成员,还是另外为其创立一个新的管理域,如果要加入到已有管理域中,则确定它的名称和口令。
3、为交换机选择一个VTP的工作模式
4、是否要启用VTP  pruning功能
 
创立VTP域和配置模式
Switch(config)#:vtp domain zxy
Switch(config)#:vtp mode server(client\transparent)
Switch(config)#:vtp password 1234
Switch#:show vtp status
   VTP version: 2(表示支持两个版本)
   Configuration revision:0(表示修订号为0)
   Maximum VLANS supported locally:68(表示支持68VLAN)
   Number of existing VLANS:8(表示现在有8VLAN)
   Vtp operating mode:server
   Vtp domain name :zxy
   Vtp pruning mode:disabled(表示VTP pruning功能没有启用)
   Vtp V2 mode:enabled(表示当前运行的是版本2)
   Vtp traps generation:disabled(表示版本1没有运行)
   MD5 digest:0x06 0xae……………….(表示有密码)
 
VTP域内的安全、修剪、版本的配置
VTP修剪可以修剪VLAN 2VLAN 1001
Switch(config-if)#:vtp pruning
Switch(config-if)#:switchport trunk pruning vlan remove 2-4,6,8
表示某个端口将VLAN 2-468VTP修剪中去除
 
针对端口关闭VTP pruning
例:先去看一下中继端口F0/3VLANVTP pruning特性
Switch#:show int f0/3 switchport
在显示第11行:trunk vlans active:1-4,6,7,200(说明了中继上可传输那些VLAN)
      12行:pruning VLANS Enabled:2-1001(说明在该端口上启用了VTP pruning 功能的VLAN列表)
 
现在关闭某些VLANpruning功能
Switch(config)#:int f0/3
Switch(config-if)#:switchport trunk pruning vlan remove 2,3,7(F0/3Trunk端口关
闭了VLAN 237pruning功能)
Switch#:show int f0/3 switchport
   显示第12行:pruning vlans enabled:4-6,8-1001( 表示VLAN237已关闭了pruning 功能)
 
关闭VTP pruning
Switch(config)#:no vtp pruning
 
配置VTP版(在server模式)
Switch(config)#:vtp version 2(启用VTP版本2)
Switch(config)#:no vtp version 2(停用VTP版本2,交换机自动回到缺省版本1
 
 
第四章:交换机网络冗余链路管理
 
生成树协议(STP
生成树算法(STA
1、选择根网桥:为了找到冗余链路,STA在网络中选择一个被称为要网桥的参考点,然后确定各个网段到该参考点的可用路径
2、选择根端口(Rootports
3、选择指定端口(Designated ports
 
STP判定过程和BPDU交换(BPDU网桥协议数据单元)
生成树使用四步判定过程
1、确定根网桥
2、计算到根网桥的最小路径成本
3、确定最小的发送方网桥ID
4、确定最小端口ID
网桥启动时,所有端口都会每隔2秒(缺省的Hello时间)发送一次BPDU
 
根路径成本
根路径成本是两个网桥间的路径上所有链路的成本之和,它所度量的不是跳数。
1000MB/S       4(路径成本)
100MB/S        19(路径成本)
10MB/S         100(路径成本)
 
根路径成本和路径成本区别
1、根路径成本包含在BPDU中,而且,其它交换机在累加根路径成本值时,会修改根路径成本的值。
2、路径成本是不包括在BPDU报文中的,而且,只有本地交换机才知道该端口路径成本(即通向相邻交换机的路径),路径成本只有本地意义。
 
网桥ID
网桥优先级(2字节)
MAC4字节)
网桥优先级取值范围:0—65535 默认值:32768
要求:优先级必须是4096的倍数(值越小优先级越高)
 
端口ID
端口优先级(8位)
端口编号(8位)
端口优先级取值范围:0—255 默认:128
 
桥接协议数据单元(BPDU
STP组播地址:01-80-c2-00-00-00
 
BPDU两种类型
1、配置BPDU,用于生成树计算
2、拓扑变理通知(TCNTopology Change NotificationBPDU用于通告网络拓扑变化。
 
根网桥的选择是一个持续反复进行的过程,它每2秒能发一次,检查BPDU的根网桥ID是否发生了变化,网络中是否有网桥ID值更低的交换机加入进来。
 
根网桥选择过程
1、当一台交换机第一次启动时,它粗略的预览一下周围的环境,并假定他自己就是根网桥,发出BPCU报文,向其它交换机宣告。
2、这时这个交换机进行下面的操作:每台交换机开始时发送一些含根网桥ID和发送网桥IDBPDU报文,并使这两个ID分别等于他自己的网桥ID。其中,这个发送网桥ID的作用仅仅是告诉其他交换机,谁是该BPDU的实际发送者。
3、交换机上的生成树选择进程对收到的报文进行分析,看被通告的交换机是否是一个“较好”的根网桥时,当根网桥听到一个较好的根网桥时,就用BPDU通告的根网桥ID取代自己的根网桥ID。此后,交换机将在它的BPDU报文中使用这个根网桥ID,尽管他仍用发送ID来标识自己。
4、经过一段时间后,生成树收敛了,这个时候,所有交换机都同意某一个风桥是根网桥。
5、收敛以后,如果有一台网桥ID值更小的交换机加入进来,那么他首先把自己当做一个根网桥在网络中通告。其他交换机在比较一番后,就会把它当做新根网桥记录下来。
 
选举完根网桥后
1、首先选举根端口(Root ports):是按照路径成本衡量的,距离根网桥成本最低的端口,每个非根的网桥必须选择一个根端口。
2、然后选举指定端口(Designated prots):在桥接式网络中,每个网段都有一个指定端口,一个网段的指定端口是连接到网段中的一个桥接端口,它即向根网桥发送数据也通过此网段从根网桥接受数据。
 
选择根端口、指定端口需要考察BPDU中的3个部分
1、到根网桥的最低路径成本
2、最小的发送网桥ID
3、最小的端口ID
提示:在选择指定端口的时候,路径成本和网桥ID有可能会相同,比如在平行链路这种情况下,生成树协议需要比较端口ID来决定指定端口。
 
第一步,选择根端口
1、根网桥发送一个根路径成本值为0BPDU报文,这是因为根网桥的端口就在他本身上。
2、当离根网桥最近的下一级交换机收到BPDU报文时,就把BPDU所达到的那个端口的路径成本值与根网桥的路径成本值相加
3、邻接交换机这个新的累加值作为根路径成本,然后发送出包含此值的BPDU报文。
4、当这个邻接交换机下面的每一台都收到这个BPDU报文时再把随后的交换机端口路径成本与这值相加,依此类推。
提示:当交换机收到BPDU报文时,它的根路径成本就会自动相加,当人工计算STA时,需要记住的是,计算新的根路径成本是发生在BPDU进入的那个端口,而不是离开的那个端口。
 
第二步,选择指定端口
交换机根据到达根网桥的最小根路径累加值选择一个指定端口。
 
STP端口状态详细描述
Disabled(禁用)—由网络管理员设定或因网络故障端口处于disabled状态,不是端
口正常STP的一部分。
Blocking(阻塞)—在端口初始化后,一个端口即不能接收或发送数据,也不能向它的MAC地址表添加MAC地址,相反,这样一个端口仅允许接收BPDU报文,以便能侦听到其他邻接交换机的信息。
Listening(侦听)—如果一个交换机认为一个端口可选为根端口或指定端口,那么它就把该端口blocking状态变为listening状态,在listening状态,端口仍不能接收和发送数据帧,不过。为了使该端口加入生成树的拓扑过程,允许接收或发送BPDU报文,由于该端口可以通过发送BPDU报文给其他交换机通告该端口信息,因此,这个端口最终可能被允许成为一个根端口或指定端口,如果该端口失去根端口或指定端口的地位,那么它将返回到blocking状态。
Learning(学习)—一个端口在listening状态下经过一段时间(称为转发延迟)后,将转为learning状态,该端口仍像从前一样发送和接收BPDU报文,不过,该交换机可以学习新的MAC地址,并将该地址添加到交换机的地址表中,正因为如此才使得交换机可以沉默一定时间,处理有关地址表的信息。
Forwarding(转发)—Learning状态下再经过一定的转发延迟时间,该端口转入到Forwarding状态,在Forwarding状态,该端口即可以发送和接收数据帧,也可以收集MAC地址加入到他的地址表,还可以发送和接收BPDU报文,在生成树拓扑中,该端口至此才成为一个全功能的交换机端口。
 
提示:一个交换机端口进入到Forwarding状态的条件是
1、它没有冗余链路
2、它做为根端口或指定端口具有到达根网桥的最佳路径
 
生成树计时器
HELLO时间:网桥发送配置BPDU报文之间的时间间隔,IEEE802.1d标准规定
默认为2
转发延迟:一个交换机端口在Listening(侦听)和Learning(学习)状态所花费的时间间隔。默认各为15秒。
最大老化时间:交换机在丢弃BPDU报文之前存储他所用的时间。默认是20秒。
ListeningLearning都是生成树实施的过度状态,用来强迫端口等待来自其它交换机上的所有BPDU,典型端口过渡如下:
1、BlockingListening(20sec)
2、ListeningLearning(15sec)
3、LearningForwarding(15sec)
 
处理生成树中的拓扑变化
有两种情况会导致生成树的重新计算收敛生成树
1、新交换机的增加和移除
2、当交换机在一定时间内没有接收到邻接交换机的BPDU报文时
 企业网络高级技术( 1-5章 )_网络
 

1、首先,网桥D发现了网桥D和网桥E之间的线路失效。
2、交换机D从它的根端口(RP)向根网桥发出一个拓扑结构发生变化BPDU,这个拓扑结构变化的BPDU是由BPDU的一个字标志域变化来指示的。
3、交换机D不断发送拓扑结构变化BPDU,直到收到指定网桥发出的拓扑结构变化确认BPDU
4、指定网桥(交换机B)给网桥D发出拓扑结构变化确认的BPDU,网桥B也会从它的根端口发送一个拓扑结构变化的BPDU,该BPDU的目的要不是它的指定网桥,那么就是根网桥。
5、当根网桥收到拓扑结构变化的消息后,它将改变他的配置消息,以告诉交换机网络拓扑结构正在发生变化,它经过一段时间的计算,重新得出网络拓扑结构。
6、当网桥从根网桥那里得到网络拓扑结构变化配置消息以后,它将使用转发延迟计时器来更新其地址表中的条目,所有因拓扑结构变化而不能访问的主机将被刷新掉。
 
 
第五章 VLAN与生成树和生成树的配置
 
VLAN与生成树的关系
1、IEEE通用生成树(CST
2、Cisco Per Vlan生成树(PVST
3、CSTCisco Per Vlan生成树(PVST+
 
CSTIEEE解决运行虚拟局域网VLAN的生成树方法,CST定义整个第二层交换网络所有VLAN仅使用一个生成树实例,这个生成树实例运行在整个交换局域网上。
 
PVST是解决在虚拟局域网上处理生成树的cisco特有解决方案,PVST为每个虚拟局域网运行单独的生成树实例,一般情况下PVST要求在交换机之间的中继链路上运行ciscoISLinter switch link
 
PVST+cisco解决在虚拟局域网上处理生成树问题的另一个方案。PVST+允许CST信息传给PVST,以便与其它厂商在VLAN上运行生成树的实例方法进行互相操作。
 
PVST优点:
1、生成树拓扑结构的总体规模减少
2、改进了生成树的扩展性,并减少了收敛时间
3、提供更快的收敛恢复能力和更高的可靠性
PVST缺点:
1、为了维护针对每个VLAN而生成的生成树,交换机的利用率(如CPU负载)会理高。
2、为了支持各个VLANBPDU,需要占用更多的Trunk链路带宽。
 
CST优点:
1、最小数量的BPDU通信,带宽占用少
2、交换机负载保持最小
CST缺点:
1、只能用一个根网桥,这不能为所有的VLAN做到根网桥的优化放置,导致对某些设备来说,可能存在次优化路径。
2、为包括交换机架构中的所有端口,生成树的拓扑结构变化较大,这就会导致较长的收敛时间和更频繁的重新配置。
 
生成树配置涉及的任务
1、选举和维护一个根网桥,通过正确放置根网桥,来提供一个优化的网络拓扑结构。
2、通过配置一些生成树的参数来优化生成树,如端口优先级、端口成本。
3、通过配置上行速链路来减少生成树的收敛时间。
 
缺省条件下,STP在一台交换机所有端口都是启用的
配置STP
Switch#:con t
Switch(config)#:spanning-tree vlan vlan-id
Switch(config)#:end
Switch#:show spanning-tree summary
 
查看STP详细状态信息
Show spanning-tree vlan vlan-id detail
显示:designated root has priority 8912,address 0007.eb06.1741
      Designated bridge has priority 8912,address 0007.eb06.1741
      Designated port is 7,path cost 0
 
人为建立根网桥
人为建立根网桥就可以优化生成树协议所选择的path,path明确,可使spanning-tree的配置和排错比较容易和清晰,还可以设定备份或从(secondary)根网桥,当主网桥失效的时候接替他的工作。
 
提示:强烈建议不要将接入层的交换机配置为根网桥,STP的根网桥通常是汇聚层或核心层交换机。
 
通过命令直接建立根网桥
Spanning-tree vlan vlan-id root primary(第一位,根源)
可以通过命令改变网桥的优先级,输入该命令,系统会检查每个VLAN当前根交换机的网桥优先级,如果能保证自己成为指定VLAN的根交换机,就将自己在指定的VLAN中的网桥优先级设置为24567
 
Swithc(config)#:spanning-tree vlan vlan-id root primary diameter netdianmeter hell-time sec
VLAN配置根网桥、网络半径。Root指定这台交换机为根网桥,diameter netdiameter该关键字指定在末端主机任意两点之间的网段的最大数量。Netdiameter的值是2-7,这个直径应从根网桥开始计算,根网桥是1
Switch#:show spanning-tree vlan vlan-id detail
 
例:show spanning-tree vlan 10 detail
第二行:Bridge Identifier(检验) has priority 24576, address 0007.eb06.1741
(表明交换机配置后priority已经变为24576)
第四行:we are the root of the spanning tree(表明该交换机已成为根网桥)
 
让交换机恢复缺省配置命令
Switch(config)#:no spanning vlan vlan-id root
 
配置从(secondary)交换机或备用交换机,需要将关键字primary改为secondary
Switch(config)#:spanning-tree vlan vlan-id root secondary
 
但在有些情况下,必须使用改变网桥优先级别来让某台交换机成为根网桥,使用命令。
Switch(config)#:spanning-tree [vlan vlan-id] priority bridge-priority
设定为指定的bridge-priority,如不加vlan vlan-id则所有Vlan的网桥优先级都会被更改。
Bridge-priority的缺省值是32768,可选值为0—65535,不过Bridge-priority的值必须是4096的倍数,可以是0
 
例:
Switch#:con t
Switch(config)#spanning-tree vlan 10 priority 8192
Switch#:show spanning-tree vlan 10 detail
显示:第二行:bridge Identifier has priority 8192, , address 0007.eb06.1741
      第四行:we are the root of the spanning tree
 
将网桥优先级恢复到缺省设置
Switch(config)#:no spanning-tree vlan vlan-id priority
 
确定根网桥的路径
1、根路径成本(root path cost
2、网桥IDBridge ID
3、端口优先级(prot priority
 
先检查BPDU中的path cost,path cost低的端口被选为转发端口。如path cost相同,那么,spanning tree检查Bridge ID,低的Bridge ID,port被允许转发,如果path cost and Bridge ID都相同(如平行链路),spanning tree查看port ID,以打破僵局,port ID低的作为转发端口。一旦发现最小值,它就停止检查BPDU,并将最小值的端口处于转发状态。
 
修改端口成本原则:应该将低一些的数值分配给连接更快的介质(比如全双工),将高一些的数值分配给连接慢一些的介质端口。
取值范围:1--200000000
 
配置命令:
Switch(config)#:spanning-tree [vlan vlan-id] cost cost
如加上VLAN参数,则仅修改那个特定的VLAN的端口成本,不加则修改所有VLANprot cost(不建议修改prot cost)
 
回到缺省命令:
Switch(config-if)#:no spanning-tree [vlan vlan-id] cost (要进入到端口配置模式)
 
查看配置
Switch#:show spanning-tree interface f0/1 detail
第二行:port path cost 50,port priority 128(表示F0/1port cost已配置为50)
在交换机上配置端口在VLAN中的成本
Switch(config)#:int f0/1
Switch(config-if)#:spanning-tree vlan 2,3 cost 15
Switch#:show spanning-tree int f0/1 detail
 
修改端口优先级
基于CLI命令的交换机,可能端口优先级范围0-63,缺省为32。基于IOS的交换机端口优先级别范围:0-255,缺省为128
 
配置命令:
Switch(config-if)#:spanning-tree [vlan vlan-id] port-priority priority
建议加上VLAN参数修改端口优先级
 
查看配置:
Switch#:show spanning-tree int f0/1 detail
 
恢复为缺省值:
Switch(config-if)#:no spanning-tree [vlan vlan-id] port-priority
 
修改生成树计时器
只能在根网桥及任何备用网桥上,才可以修改计时器。这样根网桥会把这3个计时器的值封装在BPDU报文中,传播到整个网络上。改变缺少计时器值可能在网络中引起严重的问题,不建议在生产环境里这么做。
 
1、修改HELLO时间
Hello时间计时器(hello timer)网桥期望从它的邻接网桥接听到访问信息,缺省情况BPDU报文每隔2 sec发送一次。
Spanning-tree vlan vlan-id hello-time seconds
Hello取值范围1-10sec
例:
Switch(config)#:spanning-tree vlan 10  hello-time 3
Switch(config)#:end
Switch#show spanning-tree vlan10
显示:Hello time (sec)  :   3(表明Hello时间已修改为3)
 
恢复缺省Hello时间
Switch(config)#no spanning vlan 10 hello-time
 
2、修改转发延迟计时器
转发延迟计时器(forward delay timer)确定一个端口在转换到学习状态之前处于侦听状态的时间,以及在学习状态转换到转发状态之前处于学习状态的时间。
Spanning-tree vlan vlan-id forward-time seconds
可以修改第一个VLAN的转发延迟计时器,计时器的缺省值是15秒,取值范围是4-30秒,如取值太低的话,可能会导致回路和网络失败。
提示:配置转发延迟需要注意:
1、转发延迟时间过长,会导致生成树的收敛过慢;
2、转发延迟时间过短,可能会在拓扑改变的时候,引入暂时的路径回环。
 
例:
Switch(config)#spanning-tree vlan 10 forward-time 10
Switch(config)#end
Switch#show spanning-tree vlan 10
显示:Forward Delay (sec)  :10
 
恢复缺省forward delay timer
Switch(config)#no spanning-tree vlan 10 forward-time
 
3、修改最大老化时间
最大老化时间(max-age timer,规定了从一个具有指定端口的邻接交换机上所收到的BPDU报文的生存时间。如果非指定端口在最大老化时间内没有收到BPDU报文,那么该端口进入到listering状态,并由接收交换机产生配置BPDU报文。这时,该端口就成为指定端口,并恢复网段的边通性。
缺省时间:20秒,取值范围:6-40
Spanning-tree vlan vlan-id max-age seconds
提示:最大老化时间的配置需要注意:
1、最大老化时间过长,会导致链路故障不能被及时发现;
2、最大老化时间过短,可能会在网络拥塞时使交换机误认为链路故障,造成频繁的生成树重新计算。
例:
Switch(cofngi)#spanning-tree vlan 10 max-time 15
Switch#show spanning-tree vlan 10
显示:Max Age (sec)  :  15
 
恢复缺省Max-age timer
Switch(config)#no spanning-tree vlan 10 max-time
 
提示:修改计时器的值时要小心。如果计时器的值太低,生成树协议可能会在收到所有BPDU之前,将一个端口置为转发状态,这样就可能导致在交换网络中产生桥接环路。建议在定义根网桥时修改网络直径,它将修改计时器,以正确的反映网络状况。
 
4、速端口的配置
终端用户工作站通常连入访问层中的一个交换机端口。则交换机端口在STP从阻塞状态至转发之前,不会处于可用状态,在STP计时器的缺省情况下,这个过程至少要花费30秒时间(15秒从侦听到学习状态,15秒从学习到转发状态)。交换机在到达转发状态前,不能发送或接收任何数据。
提示:端口初始化所引发的时间延迟可能达到50秒,即交换机如要运行PAGP(端口聚集协议),以协商以太信道的配置,则需另外的20秒延迟。
    在仅连接单一工作站或某些特定设备的交换机端口上,是不会形成桥接回路的。Cisco交换机提供了Portfast(速端口)特性,将侦听和学习状态的时间削减到可忽略的水平。其结果是,当一条工作站链路被开通时,交换机会立即把速端口转移到转发状态。不过,生成树回路检测仍处于工作状态,如果在该端口上探测有回路的存在,则把它置于阻塞状态。
 
启用速端口
Spanning-tree portfast
 
例:
Switch(config)#interface fastethernet0/1
Switch(config-if)#spanning-tree portfast
在交换机端口上一旦启用速端口,就会有一段提示,其含意是:通常,速端口是连接到终端PC机的,如果启用了速端口的端口连接到HUB、交换机和网桥等设备,就有可能会导致生成树环路。
 
Switch#show spanning-tree interface f0/1 detail
显示:最后一行The port is in portfast mode(表明速端口在F0/1上已经启用)
 
关闭速端口
Switch(config-in)#no spanning-tree portfast
Switch#show int f0/1 detail
显示的最后一行将没有The port is in portfast mode这句的输出了。
 
上行速链路的配置
使用STP上行速链路,可以在链路或者交换机失效或者STP重新配置时,加速新的根端口的选择过程。被阻塞端口会立即转换到转发状态,不需要像通常的STP过程那样,经过侦听和学习状态。在网络边缘的接入层交换机上,上行速链路是一项最有用的功能,但它不适合用在骨干设备上。
上行速链路能在直连链路失效时实现快速收敛,并能通过上行链路组(uplink group,在多个冗余链路之间实现负载平衡。上行链路组是一组接口(属于各个VLAN)。在某个特定时间,其中只有一个处于转发状态。特别指出,上行链路组由一个根端口(处于转发态)和一组阻塞的端口组成,当前的转发链路失效时,上行链路组提供了另外一条路径。
 
提示:STP上行速链路被设计用于接入层交换机,不是为了用于网络核心而设计的。上行速链路只需在接入屋交换机配置,其他交换机不参与上行速链路。
 
上行速链路的配置
在已经配置了网桥优先级的VLAN上,不能启动上行速链路。如想配置必须将VLAN上的交换机优先级恢复到缺省值( no spanning-tree vlan vlan-id priority)。
 
配置上行速链路
Spanning-tree uplinkfast [max-uplink-rate pkts-per-second]
max-uplink-rate来限制空发的组播通信,缺省值是150/
pkts-per-second缺省值是150/秒,取值范围是每秒0-32000个数据包。
 
查看上行速链路
Show spanning-tree summary
提示:在cisco IOS软件版本12.1中首次引入了命令show spanning-tree uplinkfast
启动了上行速链路后,如果不进行变更,所有VLAN的网桥优先级和所有接口的端口成本都被设为缺省值。
 
停用上行速链路
No spanning-tree uplinkfast
 
例:
Switch(config)#spanning-tree uplinkfast
Switch#show spanning-tree summary