CCNP4

企业三层架构(内网架构)
  1. 接入层----常使用二层交换机,就近提供接口密度,用于用户的接入
  2. 汇聚层(分布式)----集合所有接入层流量(星型),对流量实施管理和策略
  3. 核心层----路由转发、高速转发、nat、QOS

BCMSN
(Building Cisco Multilayer Switched Networks)----组建Cisco多层交换网络

其中交换技术主要应用于汇聚层和接入层
(VLAN/Trunk/VTP/DTP/STP/CHANNEL/HSRP…/VPC等)

三层架构中最重要的思想为冗余(备份)
线路冗余----设备冗余----网关冗余----USP(电源冗余)


SPF(生成树协议)

线路冗余----二层的桥接环路

  1. 广播风暴
  2. MAC地址表的疯狂翻滚
  3. 同一帧数据不断被复制
生成树协议

----树根设备到每台交换机仅存在一条链路(尽量最佳),逻辑的阻塞部分接口,当最佳链路故障时,阻塞端口被打开,来恢复通讯

所有的生成树协议 使用的是一种BPDU(网桥协议数据单元)的数据帧来进行沟通----跨层封装到二层

注: BPDU数据帧默认不属于任何一个VLAN,故在存在VLAN的设备上,该数据帧基于native VLAN发送

BPDU包头:
在这里插入图片描述

三类BPDU

  1. 配置BPDU
    ----拓扑收敛完成后,仅根网桥周期(2s)发送,在没有根网桥的时候,所有的设备仅发送BPDU:选举根网桥发布拓扑信息周期保活链路
  2. 拓扑变更消息TCN
    ---- 包中不包含任何具体信息,也不会导致网络重新收敛:
    当一台交换机的阻塞端口链路被断开,那么将标记位中第七位置1,标识拓扑已经改变,该BPDU将发送到根网桥处,根网桥使用标记位中第0位,来表示确认;若没有收到ack,那么2s周期发送TCN;根网桥在确认后,将使用BPDU告诉所有的非根网桥,刷新cam表
  3. 次优BPDU
    ----非根网桥上的根端口断开----接收不到根网桥的BPDU了,同时本地断开的也不是阻塞端口,那么本地将自己定义为根网桥,发出BPDU,由于该BPDU次于根网桥的BPDU,故称为次优BPDU

总结:

  1. 根网桥发配置BPDU,包含拓扑信息
  2. 非根网桥的阻塞端口被断开,同时依然可以与根网桥沟通,那么发送TCN,不包含拓扑信息,不会使网络重新收敛,只是让大家刷新cam表
  3. 非根网桥上断开了根端口后,若不能再与根网桥沟通,将本地定义为根网桥发送次优BPDU,包含本地的拓扑信息----也是配置BPDU,但不是根网桥的

802.1D

是最早的SPF算法

算法在计算过程中,将选出四种角色: 根网桥根端口指定端口非指定端口

【1】根网桥:树根、核心
在一个生成树实例中有且仅有一台;在没有根网桥时,所有交换机均认为本地是根网桥,发出BPDU;进行选举

比较BPDU中的BID----桥ID ==== 网桥优先级+MAC地址(数值小的)

先比较所有设备的优先级,0-65535 默认所有设备为32768;小优;
优先级相同的情况下比较MAC地址,数值小优

注: 能进行生成树运算的交换机出厂是带有MAC地址的,而没有生成树的交换机被称为透明交换机

【2】根端口
在每台非根网桥上有且仅有一个,本地离根网桥最近的接口;该接口用于接收来自根的BPDU,同时该接口也用于收发用户的数据

根端口选举条件:
1.入方向最小cost值
2.比较该接口对端(上级)的设备的BID;小优
3.比较该接口对端(上级)设备的PID;小优
4.比较本地PID
-
补充知识点:PID=端口ID ==== 接口优先级 0-255 默认为128 + 接口编号
cost值: 10M=100 100M=19 1000M=4 10000M=2 >10000M=1
连接电脑的交换机的接口也会参加生成树运算

【3】指定端口
在每根网线上有且仅有一个;转发来自根的BPDU;同时转发用户流量;根端口的对端肯定是指定端口;根网桥上所有接口均为指定端口

指定端口选举条件:
1.比较从该接口发出BPDU的cost值
2.比较本地的BID,小优
3.比较本地PID,小优
4.直接阻塞端口

【4】非指定端口
----阻塞端口 以上所有角色全部完成,那么剩余所有的为非指定端口 ----逻辑阻塞,可以接收到流量;但不能转发

【5】接口状态

接口状态
Down接口指示灯未亮起,网线刚刚连接,不能收发BPDU
侦听接口指示灯为橙色,进行BPDU收发,选举各种角色 时长为15s,指定端口和根端口进入到下一个状态;非指定端口进入阻塞状态,指示灯一致保持为橙色
学习接口指示灯为橙色,根端口和指定端口学习各个接口下方连接的PC的MAC地址;生成MAC表;15s时长结束后进入下一状态
转发接口指示灯为绿色,收敛完成;可以正常转发用户的数据;在30s内接口是转发用户数据
阻塞非指定端口在侦听完成后,进入的状态;指示灯一致保持为橙色

【6】收敛时间

  1. 初次收敛----30s

  2. 结构突变

    1.)存在直连检测----本地只有一个阻塞端口可以收到BPDU;该接口直接进入侦听和学习状态,需要30s转换为根端口
    2.)没有直连检测----阻塞端口需要20s holdtime+30s收敛=50s;20s的holdtime是因为阻塞端口一直在等最优BPDU,过了20s才能收到次优BPDU,然后才进入侦听学习状态30s

802.1D算法的缺点:

  1. 收敛速度慢
  2. 链路利用率低 备份链路在最佳路径存在时一直闲置

PVST

基于VLAN的生成树

在每个vlan中存在一棵生成树,通过将不同生成树的根放置于不同汇聚层位置,来实现链路利用率的提高

每个VLAN发出一个BPDU;各个VLAN进行自己的802.1D计算

为了区分不同VLAN发出的BPDU,使用网桥优先级+VLAN ID

注: 若需要一台交换机加入到一个vlan的生成树中;前提是该交换机创建该vlan,连接了该vlan的用户----本地有接口划分到vlan2,且双up;或者本地存在双up的trunk干道

干涉选举的命令:
1.修改优先级,但必须为4096的倍数

sw1(config)#spanning-tree vlan 2 priority ?
<0-61440> bridge priority in increments of 4096

PVST算法的缺点:

  1. 收敛慢
  2. cisco私有
  3. 树多,带宽和设备硬件资源均占用(cisco设备存在一个专用芯片来进行多生成树运行)
  4. 仅支持接口封装为ISL的trunk干道

PVST+

在PVST基础上进行了升级;目标大多数cisco设备默认使用的STP协议

升级点:

  1. 支持802.1q封装
  2. 可以做部分的加速收敛

干涉选举的命令:

  1. 修改优先级,但必须为4096的倍数
sw1(config)#spanning-tree vlan 2 priority ?
<0-61440> bridge priority in increments of 4096
  1. 直接设置主根和备份根
sw1(config)#spanning-tree vlan 2 root primary   本地为vlan2主根
sw1(config)#spanning-tree vlan 1 root secondary  本地为vlan1 的备份根

注:该命令不一定完全生效;主根命令是本地优先级下降2个4096
备份根命令是本地优先级下降1个4096

  1. 修改接口优先级或者cost值
CORE(config)#interface f0/1
CORE(config-if)#spanning-tree vlan 2 port-priority ?
  <0-240>  port priority in increments of 16  必须以16的倍数来修改

CORE(config-if)#spanning-tree vlan 2 cost ?  修改cost值
  <1-200000000>  Change an interface's per VLAN spanning tree path cost 

如何加速:

  1. 端口加速
    连接PC的接口,开启端口加速后;一旦连线,直接为转发状态
Switch(config)#interface fastEthernet 0/16
Switch(config-if)#spanning-tree portfast    不能用于连接其他交换机的接口

CORE(config)#interface f0/1
CORE(config-if)#switchport host   主机接口
该接口同时写入两条命令
switchport mode access 
spanning-tree portfast 


CORE(config)#spanning-tree portfast default  全局下开启端口加速,对trunk干道不生效
  1. 上行链路加速
    在设备上配置上行链路加速后,一旦该交换机满足直连检测条目,该阻塞端口直接成为根端口,进入转发状态
CORE(config)#spanning-tree uplinkfast   只能在接入层设备上配置

注: 该命令一旦配置,那么该交换机的网桥优先级和接口cost值将会加大;
其意义在于存在阻塞端口的设备才会存在直连检测,而阻塞端口最好在接入层设备上;故加大优先级和cost值,在于放弃成为根网桥,尽量成为阻塞端口

  1. 骨干加速
    当阻塞接收到次优BPDU,那么该接口取消20s hold time,进入30s收敛
该命令所有设备均可配置
CORE(config)#spanning-tree backbonefast 

PVST+算法的缺点:

  1. 私有协议
  2. 树多
  3. 加速不够彻底

802.1W(非cisco) RSTP(cisco)

RSTP可以兼容802.1W,802.1W也是目前非cisco产品大多的默认协议

802.1W----非cisco产品的快速生成树协议----对802.1D的提速----一棵树
RSTP----cisco产品的快速生成树协议----对PVST+的提速----每个VLAN一棵树
两种协议,均为快速收敛1-2s完成收敛,提速的原理一致;区别在于cisco有基于vlan的运算芯片,故RSTP依然一个vlan一棵树;802.1w整个交换网络一棵树

快速的原理:

  1. 取消了计时器,而是在一个状态工作完成后,直接进入下一状态
  2. 分段式同步,两台设备间逐级收敛;使用请求和同意标记;依赖标记位的第1和第6位
  3. BPDU的保活为6s;hello time 2s
  4. 将端口加速(边缘接口)、上行链路加速、骨干加速集成了
  5. 兼容802.1d和PVST,但802.1d和PVST没有使用标记位中的第1-6位,故不能快速收敛;因此如果网络中有一台设备不支持快速收敛,那么其他开启快速收敛的设备也不能快速
  6. 当tcn消息出现时,不需要等待根网桥的BPDU,就可以刷新本地的cam表

状态变化: 将阻塞状态和侦听状态 合为丢弃状态
角色变化: 将非指定端口为AP-替代接口 BP-备份接口
注: 无论AP还是BP其实就是802.1D中的阻塞端口,AP为对端设备,BP为本端设备

启动快速生成树,所有交换机全部需要启动

sw1(config)#spanning-tree mode rapid-pvst 

注:所有干涉选举的命令和pvst+一致

切记:
默认接口为半双工(10M)时,接口类型为共享;全双工时为点到点;
共享型接口依然运行慢速生成;只有点到点接口可以快速;
故建议将共享型接口修改为点到点型
要修改接口类型,那么全网都要进行修改

sw1(config)#interface range ethernet 0/0 -1
sw1(config-if-range)#spanning-tree link-type point-to-point 

802.1S(非cisco) MST(cisco)

分组式的生成树

将多个vlan放置在一个组内,为每个组生成一个树,树型算法为802.1w;将不同组的根网桥放置到不同的汇聚层设备处,可以流量的分载,提供链路利用率

不同组发出的BPDU,使用网桥优先级区分 ==== 优先级+组ID
优先级默认为32768,只能以4096的倍数来进行修改

sw1(config)#spanning-tree mode mst  修改协议
默认存在组0,且默认所有vlan处于组0;
sw1#show spanning-tree mst 0

sw1(config)#spanning-tree mst configuration 配置MST
sw1(config-mst)#instance 1 vlan 1-50   将vlan1-50划分到组1
sw1(config-mst)#instance 2 vlan 51-100 将vlan51-100划分到组2

切记:

  1. 所有运行MST协议的设备,分组内容必须完全一致,否则将可能出现故障
  2. 整个交换机需要所有设备均使用MST协议,才进行部署(MST不能和RSTP/802.1W兼容)
定义根网桥,备份根网桥的位置
sw1(config)#spanning-tree mst 1 root primary    降24096
sw1(config)#spanning-tree mst 2 root secondary  降14096

sw1(config)#interface e0/0  修改参选接口的参数
sw1(config-if)#spanning-tree mst 1 ?
  cost           Change the interface spanning tree path cost for an instance
  port-priority  Change the spanning tree port priority for an instance

STP安全

【1】BPDU保护
接入层默认接口为DP(指定端口),该端口连接的是PC

若该接口的PC被更换、用户模拟自己成为一台交换机,那么可能导致根网桥转移,最终迫使网络结构发生变化,因为根网桥最佳设置应该在汇聚层,而新的结构将可能改变该特性,导致网络运行不佳,流量集中于接入层设备;

可以将这些接口开启BPDU保护功能;被保护接口若收到BPDU,那么将进行错误关闭状态;

sw2(config)#interface e0/0
sw2(config-if)#spanning-tree bpduguard enable  
在接入层连接用户的接口上,开启BPDU保护功能  

被保护接口若接收到BPDU将错误关闭

sw2#show interfaces e0/0
Ethernet0/0 is down, line protocol is down (err-disabled)

若接口出现了错误关闭,可以查看导致原因

sw2#show interfaces status err-disabled 
Port      Name               Status       Reason
Et0/0                        err-disabled   bpduguard

进入错误状态的接口状态和协议均down,若需要重新唤醒该接口:

  1. 手工重启----先关闭再开启
  2. 自动启动----需要人配置,配置后若该接口在300s内没有收到BPDU了,那么将自动开启
sw2(config)#errdisable recovery cause bpduguard  当BPDU保护出现后的自动重启
sw2#show errdisable recovery  查看各种错误的原因状态

sw2(config)#errdisable recovery interval ?  默认300s收不到BPDU将自动重启
  <30-86400>  timer-interval(sec)        修改计时器,最小30s

全局配置

在接入层接口上,开启所有接口的端口加速和所有接口的BPDU保护
sw2(config)#spanning-tree portfast bpduguard
全局开启后,还需要到上行链路上进行BPDU保护的关闭
sw2(config)#interface e0/0   
sw2(config-if)#spanning-tree bpduguard disable   关闭单个接口的BPDU保护

sw2#show spanning-tree summary totals  查看各种全局协议的配置

【2】BPDU 过滤
开启BPDU过滤后,若接入层接口收到BPDU信息,将仅丢弃BPDU数据帧,正常转发用户流量

sw2(config)#interface e0/0  接口开启或关闭
sw2(config-if)#spanning-tree bpdufilter ?      
  disable  Disable BPDU filtering for this interface
  enable   Enable BPDU filtering for this interface

sw2(config)#spanning-tree portfast  bpdufilter default  全局开启
注:全局开启后,需要在上行链路接口手工关闭

总结: 保护和过滤除了对接口的处理方式不同,还存在一个区别:保护是拒绝接收BPDU,但可以发送;过滤是收发均拒绝

【3】根网桥保护
若网络中增添了新的交换机,其BID最优;那么将抢占网络的根网桥,导致拓扑结构变化;
在接口开启根桥保活后,若交换机的接口接收到了更优BPDU时,将该接口阻塞;直到该接口不再收到更优BPDU才恢复

sw2(config)#interface e0/0
sw2(config-if)#spanning-tree guard root 接口开启根网保护

开启根桥保护的接口,在接收到更优BPDU时,将阻塞;进入broken状态,显示与根不一致

sw2#show spanning-tree interface ethernet 0/0 detail 
 Port 1 (Ethernet0/0) of VLAN0001 is broken  (Root Inconsistent)

sw2#show spanning-tree
Et0/0               Desg BKN*100       128.1    Shr *ROOT_Inc  
不一致接口在生成树列表中的显示

sw2#show spanning-tree inconsistentports  查看出现不一致的接口
Name                 Interface              Inconsistency
-------------------- ---------------------- ------------------
VLAN0001             Ethernet0/0            Root Inconsistent

Number of inconsistent ports (segments) in the system : 1

总结:
BPDU保护和过滤配置在所有的接入层连接PC接口
Root 保护建议配置在新连接交换机的接口,来避免网络的重新收敛


环路保护

单向链路故障—尤其在光纤网络,很可能出现可以接收但不能发送;一旦出现单向链路故障,网络即使存在STP,也依然可能出现环路

解决方法:
【1】UDLD --当一根网线出现单向链路故障时,直接关闭该接口
【2】LOOP GUARD ----开启后,仅针对BPDU包,识别为单向链路故障,先对该接口进行阻塞,然后自动恢复

sw2(config)#interface e0/0
sw2(config-if)#spanning-tree guard loop  开启命令

总结: UDLD和loop gurad区别

  1. UDLD被触发后,接口被err-disable;然后需要手工重启 或设置自动重启
    Loop guard被触发后,自动阻塞然后恢复接口的
  2. UDLD用于处理硬件的单向问题,loop guard被用于处理软件问题(接口拥塞,CPU过载)

建议两种技术均配置

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值