一、根桥的选举。

1、优先级相等时。

                (图1-1)

                (图1-2)

在上面1-1图中,已经标出桥的mac地址,桥的优先级为默认优先级(缺省:32768)。任意一端口抓包,查看STP数据包内包含的信息,根桥的mac地址为LSW1的MAC地址(图1-2),所以LSW1为根桥。对比三个桥的mac地址,LSW1的MAC地址最小。

2、优先级不相等时。

还是在上图1-1中,在LSW2中,将LSW2的优先级更改为4096(优先级必须为4096的倍数;使用命令:[LSW2]stp priority 4096)。

                (图1-3)

此时任意一端口抓包,STP数据包中包含的根桥的MAC地址变为LSW2的MAC地址(图1-3所示),所以此时LSW2为根桥。

3、结论:根桥的选举先对比桥的优先级,优先级最小的选举为根桥;当优先级都相当时,根据桥MAC地址选举,MAC地址小的为根桥。

二、根端口的选举。

根端口的选举有以下几个情景:

1、累计根路开销不相等时

                (图2-1-1)

                (图2-1-2)

                (图2-1-3)

由根桥的选举我们得知,当优先级都相等时,LSW1为根桥(图2-1-1)。

假设,相邻两设备之间的根路开销都为1(同一设备的不同端口根路开销为0)

LSW2的G0/0/1端口的累计根路开销为1;G0/0/2端口的累计根路开销为2。则LSW2的G0/0/1端口为根端口(图2-1-2)。

LSW3的G0/0/1端口的累计根路开销为2;G0/0/2端口的累计根路开销为1。则LSW3的G0/0/2端口为根端口(图2-1-3)。

2、累计根路开销相等,对端BID不相等时。

            (图2-2-1)

            (图2-2-2)

如图2-2-1所示,LSW4为根桥,根据累计根路开销,我们可以得出LSW2与LSW3的根端口。但是,LSW1的两端口累计根路开销一样,无法通过此方法得出根端口。这时候就需要对端BID进行选举(上一文章讲了BID组成)。LSW1对端的两台设备中LSW2的MAC地址小,所以LSW1与LSW2相连的LSW1上的端口为根端口(图2-2-2)。

3、累计根路开销相等,对端BID相等,对端PID不相等时。

          (图2-3-1)

          (图2-3-2)

          (图2-3-3)

          (图2-3-4)

如图2-3-1所示,LSW1为根桥。LSW3无法通过累计根路开销、对端的BID来进行根端口的选举。这时只能通过对端PID来进行端口选举(所做实验中端口优先级全部为默认优先级:128)。

在图2-3-1中,LSW2的G0/0/1端口的对端PID为128.1;G0/0/2端口的对端PID为128.2。由图2-3-2得知,LSW2上的G0/0/1端口为根端口。

在图2-3-3中,LSW2的G0/0/1端口的对端PID为128.2;G0/0/2端口的对端PID为128.1。由图2-3-4得知,LSW2上的G0/0/2端口为根端口。

以上两条得出结论:在根端口的选举中,累计根路开销与对端BID都相等时,是根据对端PID来进行根端口的确认;对端PID小的端口为根端口。

4、累计根路开销相等,对端BID相等,对端PID相等,本端PID不相等。

        (图2-4-1)

        (图2-4-2)

如图2-4-1所示,LSW1为根桥。此时,对于LSW2上的端口,累计根路开销相等、对端BID相等、对端PID相等。这时候可以通过本端的PID来进行根端口的选举.

如图2-4-2所示,LSW2上的G0/0/1端口为根端口。此时,LASW2上的G0/0/1端口的本端PID为128.1;G0/0/2端口的本端PID为128.2

由此得出结论:在根端口选举中,累计根路开销、对端BID、对端PID都相等时,对比本端PID,本端PID小的为根端口。

三、指定端口的选举。

              (图3-1-1)

              (图3-1-2)

1、根据累计根路开销选举指定端口

如图3-1-1中,LSW1为根桥。根桥上的端口到根桥的累计根路开销为0。

在LSW1的G0/0/1端口与LSW2的G0/0/1端口中,前者的累计根路开销小于后者的累计根路开销,所以LSW1的G0/0/1端口选举为指定端口(图3-1-2)。

在LSW1的G0/0/2端口与LSW3的G0/0/2端口中,前者的累计根路开销小于后者的累计根路开销,所以LSW1的G0/0/2端口选举为指定端口(图3-1-2)。

PS:根桥上的所有端口都为指定段口。

              (图3-1-3)

2、累计根路开销相等,根据BID选举指定端口。

在LSW2的G0/0/2端口与LSW3的G0/0/1端口中,两者到根桥的累计根路开销一样,此时,就需要对比BID的大小来选举指定端口。

对比LSW2与LSW3的MAC地址(优先级都为默认),我们可以得出:LSW2的BID小于LSW3的BID,则LSW2的G0/0/2端口为指定端口(图3-1-3)。

3、累计根路开销相等、BID相等,根据PID选举指定端口(非常特殊的情况下)。

 (图3-1-4)

如上图3-1-4,LSW1的G0/0/1端口与G0/0/2端口的累计根路开销一致,BID一致,此时需要对比PID的大小来选举指定端口。

G0/0/1端口的PID为:128.1

G0/0/2端口的PID为:128.2

所以G0/0/1端口为指定端口

四、阻塞端口

         (图4-1-1)

        (图4-1-2)

当根端口与指定端口选举完成,剩余的便是阻塞端口(图4-1-1)。之后便会形成如图4-1-2的拓扑。此时,由于其中的阻塞端口,使其环路被破坏,防止了广播风暴的出现。

网络初级篇之STP(实验验证)的更多相关文章

  1. 网络初级篇之STP(概念原理)

    一.什么是STP 生成树协议(Spanning Tree Protocol,STP),是一种工作在OSI网络模型中的第二层(数据链路层)的通信协议,基本应用是防止交换机冗余链路产生的环路.用于确保以太 ...

  2. 网络初级篇之STP(BPDU详解与STP故障恢复)

    一.BPDU包含的参数 通过STP的原理,我们学习了红色部分的字段(根桥ID.根路径开销.桥ID.端口ID).现在讲解一下黄色部分的字段(类型.计时器.老化时间.访问时间) 1.(BPDU Type) ...

  3. 网络初级篇之配置telnet登录网络设备(实验)

    一.作用     在日常工作中,登录网络设备,对其进行配置主要有几种方式:console.Telnet与ssh.这样可以实现远程(只要网络可达)控制,极大的方便了工作.今天主要讲解一下配置Telnet ...

  4. 网络初级篇之网络设备的FTP(原理与实验)

    一.什么是FTP    FTP就是文件传输协议.用于互联网双向传输.二.FTP的作用    控制文件下载空间在服务器复制文件从本地计算机或本地上传文件复制到服务器上的空间,主要的作用就是文件的传输,保 ...

  5. 网络初级篇之DHCP原理与配置(原理与实验)

    一.什么是DHCP DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理.分配IP地址,使网络环境 ...

  6. 网络初级篇之OSPF(二)实验

    一.实验目的:     下面关于OSPF的实验,仔细看配置过程,以增加对OSPF的理解. 二.实现目标:     使用OSPF实现所有主机之间的通信 三.配置过程: 1.AR1的配置过程:      ...

  7. 网络初级篇之RSTP(原理与配置)

    一.RSTP的产生 前面的文章写到了当网络拓扑发生变化时,STP的收敛速度大约需要花费30秒-50秒的时间才会继续转发数据.这样在实际生产环境中花费的时间是非常长的,这样RSTP(快速生成树协议)便应 ...

  8. 网络初级篇之VLAN(原理)

    一.早期网络的问题 1.若某时刻有多个节点同时试图发送数据,极易产生冲突域,这样使得网络传输效率大大降低. 2.从一节点发送的数据都会被送到各个节点,极易形成广播域,这样会使得产生太多的广播流量而耗费 ...

  9. 网络初级篇之OSPF(一)原理

    一.OSPF是什么 Open Shortest Path First, 开放最短路径优先协议,是一种开源的使用最短路径优先(SPF)算法的内部网关协议(IGP).常用于路由器的动态选路. 二.OSPF ...

随机推荐

  1. react 添加 react-redux 基本用法

    安装 yarn add react-redux 创建文件.文件夹 |- redux |- actions.js |- reducer.js |- store.js actions.js export ...

  2. JSX AS DSL? 写个 Mock API 服务器看看

    这几天打算写一个简单的 API Mock 服务器,老生常谈哈?其实我是想讲 JSX, Mock 服务器只是一个幌子. 我在寻找一种更简洁.方便.同时又可以灵活扩展的.和别人不太一样的方式,来定义各种 ...

  3. ASP.NET Core 入门笔记7,ASP.NET Core MVC 视图布局入门

    一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)视图母版页教程 ASP.NET Core MVC (Razor)带有Section的视图母版页教程 ASP.NET Cor ...

  4. CenterNet算法笔记(目标检测论文)

    论文名称:CenterNet: Keypoint Triplets for Object Detectiontection 论文链接:https://arxiv.org/abs/1904.08189 ...

  5. 快速搭建WordPress博客

    博主在看了朋友的博客后 决定也搭建一个wordPress 博客 思路 1.购买服务器 2.Cenots环境配置 3.安装wordpress 工具 推荐使用 Xshell 6,当然也可以用其他 服务器推 ...

  6. prometheus 监控 hadoop + Hbase + zookeeper

    1. run JMX exporter as a java agent with all the four daemons. For this I have added EXTRA_JAVA_OPTS ...

  7. [转帖]postgres 创建新用户并授权-- 非常好的

    postgres 创建新用户并授权 https://blog.csdn.net/XuHang666/article/details/81506297 原作者总结的挺好的 可以用来学习一下. grant ...

  8. spring-boot 使用 jackson 出错(五)

    环境 jdk 6 tomcat 6.0.53 sts 4.4.2 maven 3.2.5 原因 spring boot 1.5.22.RELEASE 默认使用的 jackson 的版本是 2.8.x, ...

  9. JZOJ.1150【贪心算法】IQ

    欢迎转载,请附上原链接https://www.cnblogs.com/Code-Garden/p/11276741.html(也没人会看) 一道对我来说较难的贪心题 题目描述 根据世界某权威学会的一项 ...

  10. php 正则替换特殊字符 和检测是否是中文

    如果是只想输入中文的话,就这么写,要注意是分gb2312和utf-8的哦: gb2312:if(!preg_match("/^[".chr(0xa1)."-". ...