路由交换-----STP

STP协议(生成树协议)逻辑上断开环路,防止二层网络的广播风暴的产生。
为什么需要STP协议?
假设有这样一个拓扑:

现在PC1ping网关192.168.1.3,而这个网关是不存在的,同时在LSW2上进行抓包。

可以看到这个网络里现在充斥着大量的重复包,形成了广播风暴,这种时候交换机的性能急剧下降,因为从PC1出去的包在LSW2上没有找到目标地址的MAC地址,这时交换机会将这个单播帧向除了源端口之外的其它端口转发,转发到其它交换机上,其它的交换机又会重复这个步骤,使得这个网络形成了环路,导致广播风暴,这时就引入了STP协议。

STP的作用

  • 消除环路,通过阻断冗余链路来消除网络中可能存在的环路。
  • 链路备份:当活动路径发生故障时,激活备份链路,即使恢复网络的连通性。

根桥选举
在STP网络中,会存在一个交换机为根桥,其他的交换机为非根桥,根桥是STP网络的逻辑中心,当根桥出现故障时,非根桥之间会交互BPDU信息并重新选举根桥。

在STP中有三种端口角色:根端口、指定端口、预备端口。
根端口:非根桥去往根桥路径最短的端口。
指定端口:是指所连网络转发配置BDPU的端口,根桥的每个端口都是指定端口。
预备端口:一个端口不是跟端口也不是指定端口,俺么这个端口就是预备端口,预备端口是被阻塞的。

根桥选举的依据是桥ID,桥ID是由桥优先级和MAC地址构成的,默认的桥优先级是32768,优先级的数值越小越优先也最容易被选举为根桥,如果优先级相同那么就比较MAC地址,MAC地址有效越优先。
默认情况下,每个交换机默认自己是根桥,然后通过指定端口向外发送BPDU报文,然后收到BPDU报文的交换机会将报文里的桥ID与自己的比较,相互比较之后选举出根桥。

根端口选举
每个非根桥都要选举一个根端口,即距离根桥最近的那个端口。选举根端口的过程是:

  • 非根交换机到根桥的链路开销。
  • 如果开销一样,比较上一级发送者的桥ID,选出发送者桥ID最小的对应端口。
  • 如果上一级发送者桥ID一样就比较发送端口的优先级,选出优先级最小的对应端口。
  • 如果发送端口的优先级也一样,再比较发送端口的端口号。

指定端口选举
指定端口就是发送BPDU报文的端口,指定端口的选举是这样的:

  • 首先比较路径开销,开销最小的为指定端口。
  • 如果开销相同比较端口所在交换机的桥ID,桥ID最新的端口选举为指定端口。
  • 如果桥ID比较不出来接着比较端口ID,端口ID最小的选举为指定端口。

路由交换04-----STP的更多相关文章

  1. 华为路由交换综合实验 ---IA阶段

    目录 华为路由交换综合实验 ---IA阶段 实验拓扑 实验需求 华为路由交换综合实验 ---IA阶段 实验拓扑 实验需求 根据拓扑合理规划IP地址以及VLANIf地址(PC1属于运营部,PC2属于市场 ...

  2. 路由交换02-----ARP协议

    路由交换协议-----ARP ARP协议 ARP(Address Resolution Protocol),是根据IP地址获取MAC地址的一个TCP/IP协议,即将IP地址对应到物理地址,从而实现数据 ...

  3. 路由交换01-----ICMP协议

    路由交换协议------ICMP ICMP协议 ICMP (InternetControl Message Protocol)协议是TCP/IP协议簇的核心协议之一,用来在网络设备之间传递各种差错和控 ...

  4. 自研DCI网络路由交换协议DCIP-白牌交换机时代的企业网络

    一转眼从听华为3Com的路由交换课程到如今已经13年有余了,依稀记得第一节课的时候我带着老婆去听的课(老婆是日语系的.那时还是女朋友,并不懂网络,仅仅是跟着我去上课的).抢了个头排,讲师宋岩老师提问了 ...

  5. 网络基础Cisco路由交换三

    热备份路由协议HSRP:Cisco私有协议 确保了当网络边缘设备或接入链路出现故障时,用户通信能迅速并透明地恢复,以此为ip网络提供余性,通过使用同意虚拟ip地址和虚拟mac地址,LAN网段上的两台或 ...

  6. 网络基础Cisco路由交换二

    三层交换技术 作用: 使用三层交换技术实现VLAN间通信. 三层交换=二层交换+三层转发 基于CEF的快速转发 主要包含两个转发用的信息表: 转发信息库(FIB):FIB类似于路由表,包含路由表中转发 ...

  7. 华为eNSP路由交换实验-生成树之RSTP

    RSTP基础配置 实验拓扑图 实验步骤 1.基本配置 根据实验编址表进行相应的基本IP配置. 2.配置RSTP基本功能. (1)把生成树模式由默认的MSTP(华为交换机默认开启)改为RSTP. [FW ...

  8. H3C路由交换常用命令

    1.查看Linux下查看端口状态 root@root:~# netstat -an|grep -E "6002|6003" 2.H3C交换机显示当前配置 [H3C]display ...

  9. 网络基础Cisco路由交换四

    NAT及静态转换 概述(NAT:网络地址转化) 作用: 通过将内部网络的私有ip地址翻译成全球唯一的公网ip地址, 使内部网络可以连接到互联网等外部网络上. NATA的特性 优点: 节省公有合法ip地 ...

随机推荐

  1. HAProxy(三):Keeplived+HAProxy搭建高可用负载均衡动静分离架构基础配置示例

    一.安装环境 1.软件版本 HAProxy:1.5.18 Keepalived:1.3.5 Nginx:1.12.2 PHP:7.2 系统版本:CentOS 7.4 2.IP分配与架构图 3.安装软件 ...

  2. C# 性能优化 之 秒表 Stopwatch。

    生词解释:Diagnostics[,daɪəg'nɑstɪks] n.诊断学 using System.Diagnostics; Stopwatch sw = new Stopwatch (); sw ...

  3. Linux路由表信息-route命令

    使用命令 :route route 命令    显示和设置Linux路由表 -A:设置地址类型: -C:打印将Linux核心的路由缓存: -v:详细信息模式: -n:不执行DNS反向查找,直接显示数字 ...

  4. 【Java深入研究】6、CGLib动态代理机制详解

    一.首先说一下JDK中的动态代理: JDK中的动态代理是通过反射类Proxy以及InvocationHandler回调接口实现的 但是,JDK中所要进行动态代理的类必须要实现一个接口,也就是说只能对该 ...

  5. 【github&&git】6、SmartGit(试用期30后),个人继续使用的方法。

    在我们做项目的过程中,我们会用到SmartGit这个软件来将本地的MAVEN项目push到国内的码云(https://git.oschina.net)或者是国外的github网站进行项目的管理,这个时 ...

  6. mysql常见操作语句,建表,增删改查

    用户操作 新建用户 grant 权限 on 数据库.表名 to 用户名@'访问地址' identified by "密码"; 新建一个可以远程访问数据库的用户 test, 密码:p ...

  7. git常用命令以及如何与fork别人的仓库保持同步

    简单常用命令1.git status查看当前仓库是否有文件改动a:提示Your branch is up-to-date with 'origin/master'.nothing to commit, ...

  8. 分布式日志框架之ExceptionLess【二】:自行搭建帮助文档【译文】

    原文地址:https://github.com/exceptionless/Exceptionless/wiki/Self-Hosting ExceptionLess自行托管环境搭建 一.测试环境 如 ...

  9. prototype、proto和constructor的三角关系

    转载整理自http://www.cnblogs.com/xiaohuochai/p/5721552.html#3760057 http://blog.csdn.net/jasonzds/article ...

  10. kubectl 常用命令总结

    # 查看所有 pod 列表, -n 后跟 namespace, 查看指定的命名空间 kubectl get pod kubectl get pod -n kube # 查看 RC 和 service ...