网络初级篇之STP(实验验证)
一、根桥的选举。
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(实验验证)的更多相关文章
- 网络初级篇之STP(概念原理)
一.什么是STP 生成树协议(Spanning Tree Protocol,STP),是一种工作在OSI网络模型中的第二层(数据链路层)的通信协议,基本应用是防止交换机冗余链路产生的环路.用于确保以太 ...
- 网络初级篇之STP(BPDU详解与STP故障恢复)
一.BPDU包含的参数 通过STP的原理,我们学习了红色部分的字段(根桥ID.根路径开销.桥ID.端口ID).现在讲解一下黄色部分的字段(类型.计时器.老化时间.访问时间) 1.(BPDU Type) ...
- 网络初级篇之配置telnet登录网络设备(实验)
一.作用 在日常工作中,登录网络设备,对其进行配置主要有几种方式:console.Telnet与ssh.这样可以实现远程(只要网络可达)控制,极大的方便了工作.今天主要讲解一下配置Telnet ...
- 网络初级篇之网络设备的FTP(原理与实验)
一.什么是FTP FTP就是文件传输协议.用于互联网双向传输.二.FTP的作用 控制文件下载空间在服务器复制文件从本地计算机或本地上传文件复制到服务器上的空间,主要的作用就是文件的传输,保 ...
- 网络初级篇之DHCP原理与配置(原理与实验)
一.什么是DHCP DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理.分配IP地址,使网络环境 ...
- 网络初级篇之OSPF(二)实验
一.实验目的: 下面关于OSPF的实验,仔细看配置过程,以增加对OSPF的理解. 二.实现目标: 使用OSPF实现所有主机之间的通信 三.配置过程: 1.AR1的配置过程: ...
- 网络初级篇之RSTP(原理与配置)
一.RSTP的产生 前面的文章写到了当网络拓扑发生变化时,STP的收敛速度大约需要花费30秒-50秒的时间才会继续转发数据.这样在实际生产环境中花费的时间是非常长的,这样RSTP(快速生成树协议)便应 ...
- 网络初级篇之VLAN(原理)
一.早期网络的问题 1.若某时刻有多个节点同时试图发送数据,极易产生冲突域,这样使得网络传输效率大大降低. 2.从一节点发送的数据都会被送到各个节点,极易形成广播域,这样会使得产生太多的广播流量而耗费 ...
- 网络初级篇之OSPF(一)原理
一.OSPF是什么 Open Shortest Path First, 开放最短路径优先协议,是一种开源的使用最短路径优先(SPF)算法的内部网关协议(IGP).常用于路由器的动态选路. 二.OSPF ...
随机推荐
- 手写web框架之加载配置项目
一 定义框架配置项 在项目的src/main/resources目录下创建一个名为smart.propertiesd的文件,文件的内容如下: smart.framework.jdbc.driver= ...
- Daily in Ipin
Friday, October 23 1. [道高一尺,墙高一丈:互联网封锁是如何升级的] Monday, October 12 1. 晕死,忘了ubuntu的登录密码,鼓捣了半个小时,终于成功进入系 ...
- .Net Core WebApi上传图片的两种方式
我这边主要是为了上传图片,话不多说,上代码. 方式一:通过Form表单上传 后端: /// <summary> /// 上传图片,通过Form表单提交 /// </summary&g ...
- Docker 面试题
Docker 面试题 Docker? Docker是一个容器化平台,它以容器的形式将您的应用程序及其所有依赖项打包在一起,以确保您的应用程序在任何环境中无缝运行. CI(持续集成)服务器的功能是什么? ...
- keepalived脑裂问题
一.对脑裂的理解 在高可用(HA)系统中,当联系2个节点的“心跳线”断开时,本来为一整体.动作协调的HA系统,就分裂成为2个独立的个体.由于相互失去了联系,都以为是对方出了故障.两个节点上的HA软件像 ...
- 安装与编译Dlib(以Ubuntu16.04+Python3.6+pip为例)
安装与编译Dlib(以Ubuntu16.04+Python3.6+pip为例) Step1:下载Ubuntu (or Linux)系统支持库=>Install OS libraries -dev ...
- Angular ViewChild & ViewChildren
基础 ViewChild ViewChild 装饰器用于获取模板视图中的元素或直接调用其组件中的方法.它支持 Type 类型或 string 类型的选择器,同时支持设置 read 查询条件,以获取不同 ...
- 【Python】【demo实验25】【练习实例】
原题: 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和. 我的源码: #!/usr/bin/python # encoding=utf-8 # -* ...
- PHP中各种强大的函数
获取时间 data(https://www.cnblogs.com/mrluotong/p/5895375.html):strtotime() <?php echo "今天:&qu ...
- Linux_目录基本操作_常用命令【详解】
Linux_常用命令 Linux文件系统的目录树结构:[Linux世界里一切皆文件]:说白了,就是文件和文件夹(目录)之间的操作. 普通用户kkb所有文件及文件夹,其实都位于root用户的 /home ...