一、根桥的选举。

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. mysql 松散索引与紧凑索引扫描(引入数据结构)

    这一篇文章本来应该是放在 mysql 高性能日记中的,并且其优化程度并不高,但考虑到其特殊性和原理(索引结构也在这里稍微讲一下) 一,mysql 索引结构 (B.B+树) 要问到 mysql 的索引用 ...

  2. setMaxActive和setMaxWait方法

    在dbcp2中,setMaxActive和setMaxWait这两个方法已经改为其他名称,具体如下: setMaxActive -> setMaxTotal void org.apache.co ...

  3. Python 常用模块(1) -- collections模块,time模块,random模块,os模块,sys模块

    主要内容: 一. 模块的简单认识 二. collections模块 三. time时间模块 四. random模块 五. os模块 六. sys模块 一. 模块的简单认识 模块: 模块就是把装有特定功 ...

  4. docker容器内存和CPU使用限制

    docker容器内存和CPU使用限制 示例如下 sudo docker run --name seckill0 -p 8080:8080 -m 1024M --cpus=0.2 -d seckill: ...

  5. C学习笔记-运算符

    一些基本概念 数据对象:泛指数据在内存的存储区域 左值:表示可以被更改的数据对象 右值:能赋给左值的量 算数运算符 运算符 描述 实例 + 把两个操作数相加 a + b - 从第一个操作数中减去第二个 ...

  6. python tarfile模块

    TarFile类对于就是tar压缩包实例. 其由member块组成, member块则包括header块和data块. 每个member以TarInfo对象形式描述. 所以TarFile就是TarIn ...

  7. VMware中centos虚拟机的安装

    几个月前,就下载了VMware,centOS 6 操作系统镜像.苦于对linux的不理解和安装教程的不熟悉,一直未安装成功. 几天前,终于独自安装好了,特此记录一下. 安装其实很简单,之前失败是在于安 ...

  8. 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置

    1.下载和安装OpenCV SDK     VS2010不用说,肯定都安装了吧.来说说当前最新的OpenCV版本2.4.8(2014年2月24日),2.4.9 (2014年4月)的下载和安装.与其说是 ...

  9. 第八周课程总结&实验报告(六)

    第八周课程总结 启动多线程售票(上课老师说要加入作业的部分) public class TestDemo { public static void main(StringD args) throws ...

  10. setsockopt用法详解

    最近做的一个程序用到了IOCP通信模型,里面用到了setsockopt对套接字进行设置,看源代码的时候最setsockopt函数很不理解,看了msdn以后还是不太明白这个函数的用法,于是就到网上找了一 ...