1、基本知识--摘至《网络之路--交换专题》

(1)生成树的作用:在链路层消除环路上可能出现的广播风暴。

(2)生成树的工作由三部分组成:选举过程、拓扑计算、端口行为确定。

选举过程:在二层网络中选举一个网桥作为根桥,用于指挥整网设备协同工作。根桥只是负责统一计算的规则。

根桥统一网络中所有网桥的行为准则的原理:通过在某个恰当位置阻塞端口来阻止环路的发生。从一台网桥的角度来说,它通过这样的法则进行判断,如果到达网络中的某一网桥只有一条路径,那么必定不存在环路;如果到达某一网桥的路径有两条或者多条,那么这两台网桥之间存在环路,只能保持一条通路。

(3)根桥的选举方式

根桥是通过网络中所有网桥间相互比较产生的。根桥只能由网络中桥ID最小者担当。一开始时把自己当作根桥,根桥ID就是自己的桥ID,然后通过BPDU和自己的邻居交换拓扑信息,如果邻居的根桥ID小于自己的桥ID,则把邻居当作自己的根桥,然后向其他邻居通告这个新的根桥信息,直到网络中所有网桥的根桥ID都一样时,根桥就被选举了出来。

桥ID有8个字节,由两部分组成,分别是2字节的桥优先级字段和6字节的桥MAC字段。桥优先级字段可手工设置,默认为0x8000;桥MAC即网桥的物理MAC。

(4)使网络中的网桥和根桥保持统一的方式

通过一个独特的消息机制实现,当根桥被选举出来后,根桥会周期性的向所有邻居发送BPDU报文,这个周期被称为Hello Time,默认设置为2s。邻居收到根桥发送来的BPDU时,会更新自己的状态和定时器,然后转发出去。在生成树协议中(STP)只有根桥有主动发送BPDU的权力。快速生成树协议(RSTP)中所有网桥都会按照Hello Time的时间间隔主动从指定端口发送BPDU。

生成树协议中的BPDU报文有两种,一个被称为配置BPDU(Configuration BPDU),一种被称为拓扑变化通知BPDU(Topology Change Notification BPDU 或叫 TCN BPDU)

配置BPDU报文格式如下:

端口ID占2个字节,和桥ID类似分为两个部分,前8bits为优先级,默认值为0x80,可手工修改,后8bits为端口号,由设备指定,保证每个端口都不一样。

TCN BPDU报文只有前三个字段,其中前两个字段和配置BPDU一样,BPDU Type字段的值为0x80。

Root Path Cost(根桥路径开销)代表了这个网桥到根桥的距离,对根桥而言,这个值被设置为0。当网桥收到一个BPDU,其中的根桥ID比自己当前的根桥ID小时,这个网桥会将BPDU中的Root Paath Cost加上接收到这个BPDU的端口的Cost值作为自己的Root Path Cost。

Message Age是用来衡量当前网桥所收到的BPDU在网络内传播时间的一个参数,根桥在构造发送BPDU的时候,会将这个字段设置为0,但下游网桥在传递从根桥发来的BPDU时,会在BPDU报文的Message Age字段中把这一跳转发过程中可能引入的时延上限加到里面。

Max Age是一个预先设定的值,这个值可以看作是一个门限,用来配合Message Age定时器。

Message Age和Max Age是生成树协议用于判断拓扑是否变化的重要指标。网桥在根端口上设置了一个定时器,如果通往根桥的路径完好,根端口会定时收到BPDU,并更新这个定时器。如果一直不能收到BPDU,每过1s定时器就自动加1,但这个定时器超过某一门限(Max Age)之后,网桥会认为原根端口通往根桥的路径已经出现了故障,拓扑发生了变化。

(5)连接到一个LAN的端口的优先级比较

每个网桥都各自存储着一套信息,包括当前的根桥ID、Root Path Cost和自己的桥ID,每个端口还存储着自己的端口ID。

当端口收到BPDU后,先判断根桥ID,如果相同继续比较根桥路径开销,再相同则比较桥ID,如果再相同,则比较端口ID。比较之后,比较失败的端口停止向LAN中转发BPDU。这样比较之后,最终获胜的端口成为这个LAN的指定端口。

在同一台网桥中,网桥会从在优先级比较中失败的端口中选择一个开销最小的端口作为自己的根端口,作为网桥通往根桥的唯一出口,其他端口成为Alternate端口进入Blocking状态,既不接收或转发数据报文,也不转发BPDU。根端口的选择方式是依次比较Root Path Cost(要先加上端口自身的cost)、桥ID和端口ID、本身的端口ID。

(6)生成树协议中端口的五种状态

分别为:Disable、Blocking、Listening、Learning、Forwarding。当端口没有连接上或被shutdown时,处于Disable状态,一旦up起来后就进入Blocking状态,如果没有收到优先级更高的BPDU或本身被网桥选举为根端口,会进入Listening状态,然后等待一个Forward Delay的时间,进入Learning状态,再结果一个Forward Delay的时间,如果端口没有因为新的选择过程而成为Alternate的话,进入Forwarding状态。

Blocking状态下的端口不会转发任何报文,或者学习MAC地址;端口在Listening状态时即不转发数据报文,也不会根据监听到的数据报文学习MAC地址; 在Learning状态时不转发数据报文,但会学习MAC地址;在Forwarding状态时即学习MAC,也转发数据报文。

端口状态

目的

说明

Forwarding

端口既转发用户流量也处理BPDU报文

只有根端口或指定端口才能进入Forwarding状态

Learning

设备会根据收到的用户流量构建MAC地址表,但不转发用户流量

过渡状态

Listening

确认端口角色,将选举根桥、根端口和指定端口

指定端口

Blocking

端口仅仅接收并处理BPDU,不转发用户流量

阻塞端口的最终状态

2、实验

实验拓扑结构如下:

下面进行简单的配置说明:

1.将LSW1、LSW2、LSW3、LSW4都设置为stp模式(默认为MSTP)

[Huawei]stp mode stp

2.使用display stp brief 命令查看每个网桥的端口模式

LSW1:

LSW2:

LSW3:

LSW4:

对以上几种接口角色进行一下简单的说明:有4种接口角色:

Root Port(ROOT):根端口,就是去往根桥路径开销最小的端口,该端口可以正常转发流量。

Designated Port(DESI):指定端口,就是负责转发BPDU报文的端口,根桥上的端口都是指定端口,该端口可以正常转发流量。

Alternate Port(ALTE):阻塞端口,就是禁止转发流量的端口。

Backup Port:暂时不清楚。

可以看出上面的拓扑中把LSW3当作了根桥。LWS1的根端口为Eth 0/0/3、LSW2的根端口为Eth 0/0/2、LSW4的根端口为Eth 0/0/2。

在LSW3的Eth 0/0/3端口抓取STP报文的格式如下:

生成树生成森林c语言中文网,生成树协议(STP)基本知识及实验(使用eNSP)相关推荐

  1. 学习笔记之七_第2层交换和生成树协议(STP)(CCNA知识考点)

    1.交换机的3种功能.地址学习.转发/过滤决定和避免环路是交换机的3种功能. 2.命令show mac address-table.命令show mac address-table将显示LAN交换机上 ...

  2. 图的生成树与生成森林

    文章目录 连通图与连通分量 强连通图与强连通分量 图的连通性判断 生成树 深度优先生成树 邻接表 邻接矩阵 广度优先生成树 邻接表 邻接矩阵 生成森林 获取边弧的权值 源代码 连通图与连通分量 在无向 ...

  3. 这次一定弄懂完全图、连通图、连通分量、强连通图、强连通分量、极大连通分量、极小联通分量、生成树、生成森林的区别

    一.各个概念的定义 1.完全图:  也称简单完全图.假设一个图有n个顶点,那么如果任意两个顶点之间都有边的话,该图就称为完全图. 2.连通图(一般都是指无向图):  从顶点v到w有路径,就称顶点v和m ...

  4. 生成树协议,stp使用哪两个参数来选举根网桥?

    生成树协议STP使用哪两个参数来选举根网桥 ____________. A.网桥优先级和IP地址 B.链路速率和IP地址 C.链路速率和MAC地址 D.网桥优先级和MAC地址 正确答案 D 答案解析 ...

  5. 思科生成树协议STP/RSTP

    1. 技术原理: STP的基本思想就是生成"一棵树",树的根是一个称为根桥的交换机,根据设置不同,不同的交换机会被选为根桥,但任意时刻只能有一个根桥.由 根桥开 始,逐级形成一棵树 ...

  6. 生成树协议STP、RSTP和MSTP原理的理解

    在组网中,很可能会出现环路或者称冗余链路,为避免形成广播风暴,需要一种方法来避免形成环路,并且在主链路故障中断时候,可以将冗余链路自动切换为转发状态,以恢复网络的连通性.生成树协议(STP.RSTP. ...

  7. 云计算~生成树协议STP

    云计算~生成树协议STP 交换机构成环路的影响 生成树协议原理-STP 生成树算法的三步走 网桥ID 特点 组成与说明 选择根端口的依据 桥协议数据单元--BPDU BPDU认识 BPDU的工作过程 ...

  8. 3.10、以太网交换机的生成树协议 STP

    1.如何提高以太网的可靠性? 若交换机 A 与交换机 B 之间的链路故障 若交换机 A 与交换机 B 和 交换机 C 之间的链路都出现故障 则原来的以太网,变成了三个独立的较小的以太网,它们之间无法通 ...

  9. 生成树协议 STP RSTP PVST PVST+ 学习记录

    生成树协议 STP& RSTP& PVST& PVST+ 学习记录 记录大学时的生成树协议学习经过,当时参考了一些网络资料,出处已难寻,如有误,请不吝赐教 背景 STP的工作过 ...

最新文章

  1. 2000条你应知的WPF小姿势 基础篇45-50 Visual TreeLogic Tree 附带两个小工具
  2. Sniffer pro 找不到网卡的解决方法
  3. nohup使得Python web项目在服务器上后台运行
  4. Vue.js教程视频
  5. 【MFC】显示系统时间的状态栏
  6. 高效pycharm使用技巧_您是否正在使用这种高效的采访技巧?
  7. linux的文本,Linux文本处理
  8. 华为达芬奇架构到底好在哪里?
  9. [转]Hexo博客添加自定义HTML页面
  10. Linux 五种I/O模型
  11. Lambda表达式实例
  12. Java版扫雷小游戏
  13. et200s模块接线图讲解_ET200S 模块说明
  14. 配天机器人——使用笔记
  15. wget -O- ...|sh 的含义
  16. 合并多个 .ts 文件为单个 .mp4 解决方案
  17. 基于墨刀实现的音乐播放app-Sound From The Soul
  18. 原码、反码、补码之间的转换和简单运算
  19. k8s 不宕机滚动发布实战笔记
  20. [记错]weblogic启动是报错***/AdminServer.lok. Server may already be running

热门文章

  1. 轻量级的日期时间控件Pikaday
  2. sharepoint ECMA
  3. 创建一个framework
  4. 【项目管理】老板与客户意见冲突怎么办?
  5. python函数“转移”
  6. CSS------如何让大小不一样的div中心对齐
  7. javascript淘宝主图放大镜功能
  8. Hive Join Strategies hive的连接策略
  9. EXSITS应该怎么用?
  10. nstruts2.0发布前奏---浅谈struts和依赖注入在项目中的应用