2.4EN_STP
    增强型生成树协议(EN_STP):
Spannig Tree port states:
blocking 20s+listening 15s+learning 15s最后才forwarding
这就是为什么交换机冗余切换会丢几个包的原因--但这些时间都是不一定的,可能blocking会经过很短时间就直接进入listening。    
    方法一:PortFast:
    PortFast只适用于交换机与主机(电脑)直连的端口;
不应该在交换机与交换机、路由器、Hub等互连的网络设备的端口使用→会导致短暂的STP环路(STP Loop)并立刻导致广播风暴!
    建立命令:(c)#int f0/1(交换机上直连主机的端口) →switchport mode access(接入链路) →spanning-tree portfast ;
    对于portfast端口,如果其接收到BPDU包,往往意味着本该连接主机的端口已经不正确的连接到了交换网络→这意味着很可能已经形成了STP环路(STP Loop)并导致了广播风暴→交换网络立刻会暂短的瘫痪→这是发生在STP算法判断出环路并将特定端口堵塞之前的!
    方法二:uplink-fast:
    在所有接入层交换机上配置uplink-fast,用于加快因为直链故障/直链检测错误(如果sw1与sw3之间链路段了,sw3可以直接检测到,这种情况就叫做直链检测错误)所导致的缓慢的STP网络收敛速度;direct link failure →uplink-fast应该在所有接入层/非核心层交换机上配置(根桥和备份根桥不要做),否则很可能会引起STP网络的环路;
    配置命令:(c)#spanning-tree uplinkfast →速度由35s变为0s(跳过了接口的listening/learning状态)。
    方法三:backbone-fast:
    在所有的交换机上配置backbone-fast,用以使全网的交换机在遇到非直链检测错误(如果sw1与sw2之间断,对于sw3来说是不能直接检测到的,这种情况就叫做:非直链检测错误)时快速收敛;indirect link failure ;
    配置命令:(c)#spanning-tree backbone →速度由50s变为35s 。
前面三种都是CISCO私有的,如果网络有别的品牌交换机则使用上会出问题。
IEEE 802.1D     Media Access Control (MAC) bridge
IEEE 802.1Q     Virtual Bridged Local Area Networks
IEEE 802.1W     Rapid STP(RSTP)(业界的开放新标准)
                RSTP provides faster convergence than "IEEE 802.1D" STP when topology changes occur.
                
    方法四:portfast bpduguard:
      交换机端口的portfast bpduguard,是指在交换机的某端口接收到BPDU包后立刻关闭端口,以避免了更大范围的广播风暴的措施;portfast bpduguard要在连接主机的端口上配置;
    基于接口的命令:(c-i)#spanning-tree bpduguard enable ;
    基于全局的命令:(c)#spanning-tree portfast bpduguard default ;
    是指在所有已经启动了portfast端口中,启动bpduguard 。
    方法五:portfast-bpdufilter:
    要在特定的portfast端口上配置,非PortFast接口无效;
    基于接口的命令:(c-i)#spanning-tree bpdufilter enable ;
    基于全局的命令:(c)#spanning-tree portfast bpdufilter default 。
  
    (以上的几种特性,都是cisco私有的)
   
    RSTP(802.1w Rapid STP ):
    RSTP是业界的开放性标准。
                RSTP provides faster convergence than "IEEE 802.1D" STP when topology changes occur.
    RSTP的4种端口角色:
    root port :(forwarding);
    designated port:(forwarding);
    alternate port:收到别的交换机转发来的BPDU,此端口是blocking;
    backup port:收到本交换机转发来的BPDU,此端口是blocking。
    RSTP的3种端口状态:
    discarding ;
    learning ;
    forwarding 。
    RSTP链路分类:
    全双工链路为:point to point 链路;
    半双工链路为:share link链路--不论是HUB连交换机或者PC连交换机都叫share link。
RSTP的两种端口类型:
Edge Port & Non-Edge Ports
Edge port :用于连接主机的端口:
Functions similarly to portfast,
(Immediately transitions to forwardin)
Unlike portfast,
an edge port that receives a BPDU,
immediately loses its edge port status and becomes a normal spanning tree port.
可以这么说:802.1w比CISCO(或802.1d)先进,当接受到BPDU的时候由portfast变成stp端口,可以进行blocking或者forwarding。
    启动RSTP的命令:
    SW(c)#spanning-tree mode pvst/rapid-pvst 。(per-vlan rapid spanning tree)
show sapnning-tree
show spanning-tree vlan 1
选举方式与STP生成树那节课是一样的。
    standard 802.1q是CST(单生成树):--CISCO是不会这么做的。
    缺点:所有的VLAN都是按照同一个STP来运行;
    所有的交换机都只维护一个STP实体(instance);
    所有VLAN的数据流量都压向一个根桥交换机--可能会压垮一个交换机;
    无法做基于VLAN的L2负载均衡;
    优点:对交换网络的开销较小→所有的VLAN都共享一个STP实体。
    Cisco私有的STP mode PVST (Per Vlan STP):
    优点:可以为每个VLAN配置一个STP;
    不同交换机可以是不同VLAN的根桥;
    可以实现基于VLAN的L2负载均衡;
    缺点:交换机维护很多的STP实体→对交换网络的开销比较大;
    任意一个VLAN的拓扑变化都可能波及到很多交换机重新运算→收敛稍慢。
    MST(802.1s Multiple Spanning Tree):
    MST是业界开放性标准;就是对standard 802.1q/PVST的折衷方案→基于“组/instance”的STP;
(一个组可以对应多个结构相同的VLAN,大大节省交换机开销)
    MST的主要配置步骤:首先对VLAN进行分组(instance);每个组都可以有独立的STP、根桥,实现了L2负载均衡\冗余,互为备份。
----------------------------------------------------------------------------
   LAB1:通过PVST实现VLAN间的冗余和L2负载均衡:
    STEP1:选定STP的运行模式:
    在交换机上(c)#spanning-tree mode pvst/rapid-pvst(两种都可以pvst为802.1d;rapid-pvst为802.1w) ;
    STEP2:通过配置VTP,使全网的交换机都有相应的VLAN:
    sw1/2/3(config)#vtp domain CCNP ;
    sw1/2/3(config)#vtp password 123
    sw3/2(config)#vtp mode server ;
    sw1/2/3(config)#vtp purning清除旧的vlan信息
    sw3(config)#vtp mode client ;
    然后在其中的一个VTP server上增加vlan 10和vlan20;
    STEP3:SW3和SW1分别成为VLAN10和VLAN20的根桥:
    sw3(config)#spanning-tree vlan 10-15 root primary ;
    sw1(config)#spanning-tree vlan 20-25 root primary ;
    同时两交换机要互为备份(互为对方的备份根):
    sw3(config)#spanning-tree vlan 20-25 root secondary ;
    sw1(config)#spanning-tree vlan 10-15 root secondary ;
    STEP4:在SW2上观察对于体定VLAN哪个是根端口:
    sw2#sh spanning-tree vlan 10 ;
    sw2#sh spanning-tree vlan 20 。
----------------------------------------------------------------------------
   LAB2:通过MST,实现L2的VLAN间的负载均衡:
    STEP1:选定交换机的stp模式为MST:
    sw1/2/3(c)#spanning-tree mode mst ;
    STEP2:将vlan划分到不同的“instance/组”中:--先要创建VLAN。
    sw1/2/3(c)#spanning-tree mst configuration ;
    sw1/2/3(c-mst)#instance 1 vlan 10-15 ;
    sw1/2/3(c-mst)#instance 2 vlan 20-25 ;
    以上步骤所有交换机都要做。
    STEP3:在核心交换机上为不同的组配置不同的优先级,实现两个组的互为备份/负载均衡:
    确定每个组的根桥:
    sw3(c)#spanning-tree mst 1 root primary ;
    sw1(c)#spanning-tree mst 2 root primary ;
    互为备份: 
    sw3(c)#spanning-tree mst 2 root secondary ;
    sw1(c)#spanning-tree mst 1 root secondary ;
    STEP4:
    sw1/2/3#sh spanning-tree mst configuration ;
      instance        vlans mapped
      0               1-9,16-19,26-4096(默认都在0号组)
      1               10-15
      2               20-25  ;
    STEP5:
    sw3#sh spanning-tree mst 1/2 。
EtherChannel:网络聚合--如:把两条100M的冗余线路捆绑成一条逻辑链路,既然使一条,那么STP就不起作用了。
Logical aggregation of similar links
Load balances
Viewed as one logical port
Redundancy
作用:
1:增大链路带宽
2:Redundancy
3: Load balances
example:
FEC(Fast Ether Channel)(100Mbps)
GEC(Giga Ether channel)(1000Mbps)
LAB:通过FEC,实现交换机之间,高带宽,冗余,负载均衡的链路
提醒:
所有参与channel-group的接口的配置参数,必须完全一致。
(譬如:速率,全双工模式等)
step1:先恢复接口的默认配置:
SW1/2(CONFIG)#interface range fa 0/11 -12
SW1/2(CONFIG)#speed 100
SW1/2(CONFIG)#duplex full
step2:
SW1/2(CONFIG)#channel-group 1 mode on(不让自动协商,否则容易出问题)
no shut
step3:观察交换机会自动生成一个虚拟的接口:
sh run
(interface port-channel 1)
sw1#show int port-channel 1
...BW 200,000Kbps
show etherchannel 1 port-channel
show etherchannel 1 summary

2.4-EN_STP的更多相关文章

  1. DDD 领域驱动设计-看我如何应对业务需求变化,愚蠢的应对?

    写在前面 阅读目录: 具体业务场景 业务需求变化 "愚蠢"的应对 消息列表实现 消息详情页实现 消息发送.回复.销毁等实现 回到原点的一些思考 业务需求变化,领域模型变化了吗? 对 ...

  2. CSS3 3D立方体效果-transform也不过如此

    CSS3系列已经学习了一段时间了,第一篇文章写了一些css3的奇技淫巧,原文戳这里,还获得了较多网友的支持,在此谢过各位,你们的支持是我写文章最大的动力^_^. 那么这一篇文章呢,主要是通过一个3D立 ...

  3. DDD 领域驱动设计-谈谈 Repository、IUnitOfWork 和 IDbContext 的实践(3)

    上一篇:<DDD 领域驱动设计-谈谈 Repository.IUnitOfWork 和 IDbContext 的实践(2)> 这篇文章主要是对 DDD.Sample 框架增加 Transa ...

  4. DDD 领域驱动设计-两个实体的碰撞火花

    上一篇:<DDD 领域驱动设计-领域模型中的用户设计?> 开源地址:https://github.com/yuezhongxin/CNBlogs.Apply.Sample(代码已更新) 在 ...

  5. node中的Stream-Readable和Writeable解读

    在node中,只要涉及到文件IO的场景一般都会涉及到一个类-Stream.Stream是对IO设备的抽象表示,其在JAVA中也有涉及,主要体现在四个类-InputStream.Reader.Outpu ...

  6. C#~异步编程再续~await与async引起的w3wp.exe崩溃-问题友好的解决

    返回目录 关于死锁的原因 理解该死锁的原因在于理解await 处理contexts的方式,默认的,当一个未完成的Task 被await的时候,当前的上下文将在该Task完成的时候重新获得并继续执行剩余 ...

  7. 信息安全-5:RSA算法详解(已编程实现)[原创]

    转发注明出处:http://www.cnblogs.com/0zcl/p/6120389.html 背景介绍 1976年以前,所有的加密方法都是同一种模式: (1)甲方选择某一种加密规则,对信息进行加 ...

  8. 信息安全-1:python之playfair密码算法详解[原创]

    转发注明出处: http://www.cnblogs.com/0zcl/p/6105825.html 一.基本概念 古典密码是基于字符替换的密码.加密技术有:Caesar(恺撒)密码.Vigenere ...

  9. 【腾讯Bugly干货分享】移动App入侵与逆向破解技术-iOS篇

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/577e0acc896e9ebb6865f321 如果您有耐心看完这篇文章,您将懂 ...

随机推荐

  1. day03_12/13/2016_bean的管理之依赖注入

  2. 警告视图及操作表单在xcode7.0中的使用

    警告视图(alert)及操作表单(action sheet)都用于向用户提供反馈.(模态视图) 操作表单:要求用户在两个以上选项之间做出选择.操作表单从屏幕底部出现,显示一系列按钮供用户选择.用户必须 ...

  3. Android 升级安装APK兼容Android7.0,解决FileUriExposedException

    我们在开发app时避免不了需要添加应用内升级功能.当app启动时,如果检测到最新版本,将apk安装包从服务器下载下来,执行安装.安装apk的代码一般写法如下,网上随处可以搜到 public stati ...

  4. 2016.01.22 前端学习 HTML/CSS

    学习HTML/CSS  http://edu.51cto.com/course/course_id-3116.html 明日实践

  5. graphite 绘图工具

    graphite 绘图工具

  6. more

    参数选项: -num 指定屏幕显示大小为num行. +num 从行号num开始显示. -s 把连续多个空行显示为一行. -p 不滚屏,而是清除整个屏幕,然后显示文本. -c 不滚屏,而是从每一屏的顶部 ...

  7. mysql_基础1

    初学mysql,感觉挺有意思的. mysql指令的一些参数: promrt修改提示符:   PROMPT \D mysql的语法规范: 一些函数: 创建数据库: SHOW CREATE DATABAS ...

  8. 在对话框添加bitmap

    CBitmap bitmap; //加载指定位图资源 Bmp图片ID bitmap.LoadBitmap(IDB_BITMAP1); //获取对话框上的句柄 图片控件ID CStatic *p = ( ...

  9. CAD把实体放到当前选择集中

    主要用到函数说明: _DMxDrawX::AddCurrentSelect 把实体放到当前选择集中,详细说明如下: 参数 说明 LONGLONG lId 实体id VARIANT_BOOL isSho ...

  10. Weex框架源码分析(Android)(一)

    一.weexSDK初始化流程 WXSDKEngine.initialize(Application application,InitConfig config); //WXSDKEngine的init ...