1.选择根交换机
2.确定根端口
3.确定指定端口
 
 

1.选择根交换机
 
stp中只有一台交换机能成为根(Root),每台交换机按自己的STP逻辑,先发一个hello称自己为根,如果收到了比自己更优的hello,它会停止产生hello,以停止声明自己是根。然后交换机开始转发更优的hello。逐渐地,除了拥有最低网桥ID的交换机外,所有交换机停止生成自己的hello,最终这台交换机赢得选举,成为根交换机。
 
原802.1D网桥ID中有两个字段:
2字节的优先级,6字节的MAC
原8021.D网桥ID的定义记录在802.1t修正案中,后整合到802.1D-2004中,下为原始格式与新格式
 
 

格式的改变主要是因为出现了PVST+和MST支持的多生成树。
如果使用旧格式,使用每vlan生成树,vlan让物理交换机像多台逻辑交换机一样操作,则网桥ID都是一样的(逻辑为多层拓扑),违背802.1D设计要求:每个交换机使用不同的网桥ID。所以就为每个vlan使用不同的mac地址,但这同时也消耗了每台交换机中的大量预留MAC地址
 
使用新格式后,结合vlan id,就不需要为每台交换机都预留那么多mac了。通过全局命令spanning-tree extend system-id,可以查看交换机上使用的系统ID拓展。
 
2.确定根端口
 
在选择出根交换机后,其他交换机需要确定他们各自的根端口(RP),过程如下
(1).根交换机每隔hello间隔(默认2秒)发送一个hello,hello中的RBID和SBID为根ID,RPC为0,SPID为出端口标识符
(2).每台非根交换机在每个端口上收到一个bpdu后,就会将端口的开销值加到这个bpdu的RPC值中,并得到结果bpdu(Resulting BPDU)。然后收到最优结果bpdu的端口被选举为根端口。
(3).非根交换机在根端口上收到hello,在更新完其中的RPC,SBID,SPID和消息老化字段之后,会通过其他指定端口转发这个hello,非根交换机在其他端口上收到的hello,只会被处理,但不转发。
(4)交换机不会从根端口和阻塞端口转发出hello。
 
在最新的Catalyst交换机上使用PVST或快速PVST时,使用的开销值对应于802.1D-1998版本标准;使用MSTP时,对应于802.1D-2004版本。对于PVST和快速PVST,工程师可以使用全局配置命令spanning-tree pathcost method long启用802.1D-2004开销。默认配置为spanning-tree pathcost method short,即使用旧版本的开销。
 
以下是默认端口开销
 

3.确定指定端口
 
在收敛完成的STP拓扑中,只有一台交换机负责转发Hello到每个LAN网段。转发Hello到LAN网段的交换机称为该网段的指定交换机,指定交换机上用来转发Hello到网段的端口称为指定端口(DP)。交换机上所有既不是根端口也不是指定端口的其他端口将被移至阻塞状态。
 
选举规则如下:
1.去往根的路径开销最低的交换机;
2.网桥ID最低的邻居交换机;
3.网桥ID最低的邻居上端口ID最低的端口。

STP-2-三个选择的更多相关文章

  1. Java语言程序设计(基础篇) 第三章 选择

    第三章 选择 3.8 计算身体质量指数 package com.chapter3; import java.util.Scanner; public class ComputeAndInterpret ...

  2. Java语法基础(三)----选择结构的if语句、switch语句

    [前言] 流程控制语句: 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过 ...

  3. Java 第三章 选择结构

    第三章   选择结构 if基本语法: if(条件){// 表达式 // 代码块 } eg: int a = 10; if(a > 1){ System.out.println("内容& ...

  4. 排序算法总结(三)选择排序【Select Sort】

    一.原理 选择排序的原理非常简单,就是选出最小(大)的数放在第一位,在剩下的数中,选出最小(大)的数,放在第二位......重复上述步骤,直到最后一个数. 二.过程 原始数据 第一次排序,选出最小的数 ...

  5. Jquery学习(三)选择

    1.Jquery最重要的是选择. 学习要点:        1.简单选择器        2.进阶选择器        3.高级选择器 ①简单选择器. 最简单的也就是最经常使用的,最经常使用的一般也是 ...

  6. Python基础三(选择,循环)

    序 首先我们知道程序的执行有三种结构:顺序.选择.循环三种结构,而为了方便我们书写和多次利用我们就需要把一段代码封装器来,这就是方法.今天我就说的是程序的基本结构的格式和方法. 注:所有的程序都可以通 ...

  7. Java基础(三)选择和循环结构

    一.选择结构,条件判断 1.if 语句 一个 if 语句包含一个布尔表达式和一条或多条语句.如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码. impor ...

  8. DL基础补全计划(三)---模型选择、欠拟合、过拟合

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  9. Java 第三章 选择结构1

    选择结构(一) 会使用基本的 if 选择结构 掌握逻辑运算符,掌握多重 if 选择结构 , 掌握嵌套 if 选择 结构 为什么需要 if 选择结构 例如: 如果张浩的 java 考试成绩大于 98分, ...

  10. 使用java理解程序逻辑 第三章 选择结构一

    if 选择结构: if(条件){       代码块  //条件成立后要执行的代码.可以是一条语句,也可以是一组语句 } 可以处理单一或组合条件的情况. if-else 选择结构: if(条件){   ...

随机推荐

  1. 【LeetCode】Jump Game II

    Given an array of non-negative integers, you are initially positioned at the first index of the arra ...

  2. signal函数理解或者void (*signal(int signum,void(*handler)(int)))(int)理解

    把void (*signal(int signum,void(*handler)(int)))(int)分成两部分: typedef void (*sighandler_t)(int); sighan ...

  3. Photoshop颜色通道实例

    PHOTOSHOP学到这会儿,我们不得不来学学枯燥乏味的颜色理论了,因为如果再不学,就难以学下去了.眼下我们就遇到了难点:颜色通道.前面在初识通道的时候,我已经说过:当你打开一张照片(RGB模式)的时 ...

  4. Discuz/X3.1去掉标题中的Powered by Discuz!以及解决首页标题后的"-"

    虽然不提倡大家去掉版权信息,但是在实际操作的时候还是去掉,毕竟每个页面标题最后面出现”Powered by Discuz!“会显得页面标题比较冗长. 经过本人的实践,论坛里也有操作方法,不过那个操作方 ...

  5. ping返回 dup

    大概原因如下: 目的主机不可达,也就是 跟主机不在一个网段,也没有路由跳转 一般是远端交换机或HUB流量超过负载,即堵塞 应该是你的网络中存在环路路由,也就是到达你ping的主机有一条以上的路由路径, ...

  6. 自定义标签(客户化jsp标签)

    客户化jsp标签技术是在jsp1.1版本中才出现的,他支持用户在jsp文件中自定义标签,这样可以使jsp代码更加简单,这些可重用的标签能够处理复杂的逻辑运算和事物或定义jsp网页的输出内容和格式. 创 ...

  7. 英语发音规则---gh

    英语发音规则---gh 一.总结 一句话总结:gh字母组合的读音在中学英语课本中归纳起来主要有"发音"和"不发音"两种情况. gh字词首是发/g/,因为需要开头 ...

  8. hdu 1280 前m大的数(排序)

    题意:排序 思路:排序 #include<iostream> #include<stdio.h> #include<algorithm> using namespa ...

  9. [调试AvantCourier的笔记]

    1.manifest里不能设置target sdk 不然会出现stale error. 2.manifest里要有Internet权限 3

  10. HihoCoder 1570 : 小Hi与法阵(简单几何)

    描述 小Hi喜欢大,而小Ho喜欢小.他们所在的城市(视为二维平面)有N座法阵.现在他们各选三座法阵,以三座法阵为顶点组成三角形,并站在所选三角形的重心位置:二人选择的法阵可以有相同的.小Hi选择面积最 ...