一、什么是STP

  生成树协议Spanning Tree ProtocolSTP),是一种工作在OSI网络模型中的第二层(数据链路层)的通信协议,基本应用是防止交换机冗余链路产生的环路.用于确保以太网中无环路的逻辑拓扑结构.从而避免了广播风暴,大量占用交换机的资源。

二、STP初始化阶段

  网络中所有的桥设备在使能STP协议后,每一个桥设备都认为自己是根桥。这时候每台设备仅仅收发配置BPDU,而不转发用户流量,所有的端口都处于Listening状态。所有桥设备通过交换配置BPDU后才进行根桥、根端口和指定端口的选举工作。

三、STP中的概念

  BPDU:是运行STP的交换机之间交换的消息帧。BPDU内包含了STP所需的路径和优先级信息,STP便利用这些信息来确定根桥以及到根桥的路径。

  BIDBID报文长度为8,包含2字节的桥优先级与6字节的桥背板mac地址。桥优先级的取值为0--65535,缺省值为32768。

  PID:端口优先级+端口ID(端口优先级默认为128,端口ID为端口的编号)

  累计根路开销:对从设备端口到达根桥路经的各端口(除根桥上的指定端口外)的各段链路的路径开销值(也称链路开销值)进行累加。同一交换机上不同端口的路径开销值为0。

  根桥:是STP生成树的“树根”

  根端口:就是在所有非根桥上的不同端口之间选举出一个到根桥最优路径的端口,根端口在每个非根设备上有且只有一个。(最优路径:端口到根桥的累计根路径开销最小)

  指定端口:是在每一个物理网段的不同端口之间选举出一个指定端口。

  阻塞端口:关闭数据转发,以打破环路。使其成为一种“预备端口”的形式存在。

  对端:接收数据时发送方,也就是链路对端的桥

四、根桥的选举

  在交换网络中所有运行STP协议的交换机上选举出一个唯一的根桥,根桥的选举是根据桥BID中优先级与mac地址来确定的(先对比桥优先级,优先级最小的为根桥;当桥优先级都相等时,对比mac地址,mac地址小的为根桥)。

  在选举时发送的是BPDU中。选举主要包含两步:桥设备确定自己的BPDU、互相发送BPDU报文进行对比以确定网络中的根桥。

   一开始每个桥都认为自己是根桥,向外发送的BID都是自己的。每个桥都向外发送自己的配置BPDU的同时也会收到其它桥发送的配置BPDU。但桥端口并不会对收到的所有配置BPDU都用来更新自己的配置BPDU,而是先会进行配置BPDU优先级比较。当端口收到的配置BPDU比本端口的配置BPDU的优先级低时,将丢弃所收到的这个配置BPDU,仍保留自己原来的配置BPDU;否则会提取其中的BID来代替自己BPDU中原本的BID,在进行不断的数据交互中,所有交换设备中的所有端口都认为根桥是相同时,说明根桥已经选择完毕。
当链路或者拓扑发生改变时,又会重新选取新的根桥。

五、根端口的选举

  非根交换机在选举根端口时,依据(按顺序)累计根路开销(小)、对端BID(小)、对端PID(小)、本端PID(小)。(在后面的实验文章中有实验对其进行分别验证)

六、指定端口的选举

  指定端口的选举时,依据(顺序)累计根路开销(小)、BID(小)、PID(小)(在后面的实验文章中有实验对其进行分别验证)

七、阻塞端口

  未被选举为根端口与指定端口的端口,成为阻塞端口。

网络初级篇之STP(概念原理)的更多相关文章

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

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

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

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

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

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

  4. 网络初级篇之STP(实验验证)

    一.根桥的选举. 1.优先级相等时. (图1-1) (图1-2) 在上面1-1图中,已经标出桥的mac地址,桥的优先级为默认优先级(缺省:32768).任意一端口抓包,查看STP数据包内包含的信息,根 ...

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

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

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

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

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

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

  8. 网络初级篇之VLAN间路由(原理与配置)

    一.VLAN间的路由 由于VLAN隔离了二层广播域,也间接的隔离了各个VLAN之间的其他二层流量交换,这样导致属于不同VLAN之间的用户不能进行二层的通信.只能经过三层的路由转发才能将报文从一个VLA ...

  9. 网络基础篇之NAT(原理)

    一.NAT的产生 由于网络的飞速发展和网络应用的极速增多,致使IPv4可用地址空间逐渐枯竭.尽管IPv6可以在根本上解决地址枯竭问题,但IPv4发展到IPv6还需要一个过渡,而这便产生了NAT. 二. ...

随机推荐

  1. wpf webbrowser取消js报错

    private void WebBrowser_Navigated(object sender, NavigationEventArgs e) { SuppressScriptErrors((WebB ...

  2. 运维之思科篇——NAT基础配置

    一. NAT(网络地址转换) 1. 作用:通过将内部网络的私有IP地址翻译成全球唯一的公网IP地址,使内部网络可以连接到互联网等外部网络上. 2. 优点: 节省公有合法IP地址 处理地址重叠 增强灵活 ...

  3. Linux搭建ftp服务器简单教程及使用方法

    参考文章:https://www.waitig.com/linux-or-centos-install-vsftpd-and-setup-it.html 步骤概括如下: 安装:yum install ...

  4. 【D3D12学习手记】CPU/GPU Synchronization

    由于有两个并行运行的处理器(CPU和GPU),会出现许多同步问题.假设我们有一些资源R存储了我们希望绘制的某些几何体的位置. 此外,假设CPU更新R的数据以存储位置p1,然后将引用R的绘图命令C添加到 ...

  5. 【AMAD】django-extensions -- Django框架的自定义命令扩展集合

    动机 简介 个人评分 动机 使用Django进行开发的时候,会不会感觉开发工具少了一些.比如每次进入python shell调试的时候要重新import每个model. 简介 django-exten ...

  6. python list pop()方法

    #pop()用于移除列表中的一个元素(默认是最后一个元素,并且返回该元素的值) list1=['Google','Runoob','Taobao'] list_pop=list1.pop() prin ...

  7. failed to push some refs to 'git@github.com:cq1415583094/MyBatis.git'解决办法

    将本地git仓库代码提交到GitHub上时,出现failed to push some refs to 'git@github.com:cq1415583094/MyBatis.git', 导致的原因 ...

  8. Spring(十二)--Spring AspectJ

    Spring AspectJ AspectJ是一个面向切面的框架,它扩展了Java语言.AspectJ定义了AOP语法,所以它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件. As ...

  9. 【2017.12.02】C组比赛总结

    这次考得不怎么样,只有200分! T1:读书 这题水水水! 这题就是一道循环题嘛! 直接一边循环一边做就好了! T2:恐怖分子 这题我是直接暴力的. 这题就是求至少用多少条经过(x0,y0)的不同直线 ...

  10. BugkuCTF--域名解析(windows)

    这是这道题的题目,很简洁,flag获得的方法也告诉你了,就差把域名解析. 那么域名怎么解析呢.. 打开C:\Windows\System32\drivers\etc中的hosts文件(用记事本打开), ...