STPRSTPMSTP(1)
定义: 透明: 对其转发的帧结构不做任何处理和改动(VLAN的trunk除外)。
(网桥)交换机收到一个数据帧时,查找地址表,找到目的MAC对应的端口,之后:
1. 如果目的端口是接收端口,抛弃;
2. 如果不是接收端口,转发;
3. 如果是数据帧且在地址表中找不到目的地址,从收到数据的端口之外的其他端口广播出去;
4. 如果是广播帧,从收到数据的端口之外的其他端口广播出去;
由于这种(透明)工作方式,可能造成“路径回环”。造成 广播风暴、帧的重复复制、交换机MAC表的不稳定。
【生成树协议 STP】(802.1D)
根桥(Root Bridge):生成树的参考点。
根端口(Root Port):非根桥到达跟桥的最近的端口。
指定端口(Designated port):连接个网段的转发端口。
路径开销(Path Cost)整个路径上端口开销只和。
生成树算法 STA(Spanning Tree Algorithm)
原理: 交换机彼此之间传递一种特殊的配置消息,生成树协议(802.1D)将这种配置消息称为“桥协议数据单元”或 BPDU。其中包含了足够的信息来保证桥完成生成树的计算。交换机根据BPDU消息来完成如下工作:
1. 在桥连接网络的所有参与生成树计算的网桥中,选出一个作为根桥;
2. 计算出其他网桥到这个根桥的最短路径;
3. 为每一个LAN选出一个指定网桥,该网桥必须是离根网桥最近的。指定网桥负责将这个lan上的包转发给根桥;
4. 为每一个网桥选择一个根端口,该端口给出的路径是本网桥到跟网桥的最短路径;
5.确定除根端口之外的包含于生成树上的端口(指定端口);
BPDU(Bridge Protocol Data Unit)帧格式
【DMA】【SMA】【L/T】【LLC Header】【Payload】
DMA:目的MAC,固定的组播地址--0x0180c2000000
SMA: 源MAC,即发送该配置消息的桥的MAC地址
L/T:帧长
PayLoad:BPDU数据
Payload:
[2B] Protocal ID
[1B] Version
[1B] Message Type
[1B] Flags
[8B] Root ID:根桥ID
[4B] Cost of Path:从指定网桥到根桥的最小路径开销
[8B] Bridge ID:指定网桥ID
[2B] Port ID:指定端口ID
[2B] Message Age
[2B] Maximum Tim
[2B] Hello Time
[2B] Forward Delay
网桥间通过传递上面绿色的4项内容 就足以完成生成树的计算。(算法我不懂 -_-! 还好不是做开发的)
桥接网络中,每个网桥都有一个用来标识自己的唯一的 48 位 MAC 地址。在生成树协议中,使用网桥优先级( 16 位)和该 48 位地址的组合作为网桥的 ID ( Bridge ID ),在配置消息的数据部分中来表示这个网桥。对每个网桥来说,这个网桥的所有端口可以用端口优先级和端口索引值作为 ID 来表示,生成树协议使用这个 ID 在配置消息中唯一的表示网桥中的某个特定端口。
BPDU的作用:
1. 选举根桥。
2. 检测发生环路的位置。
3. 阻止环路的发生。
4. 通告网络状态的改变。
5. 监控生成树的状态。
STP对BPDU处理的大概算法是: 最初,所有的启用生成树的网桥都发送以自己为根的配置信息,比如A发送配置消息为(A,0,A,PortID);网桥将收到的消息和自己的配置消息进行优 先级比较,保留优先级较高的配置消息,并依此完成生成树的计算。(还是不懂,优先级怎么判断?再次庆幸不是做开发的。)
STPRSTPMSTP(1)相关推荐
- OpenAPI使用(swagger3),Kotlin使用swagger3,Java使用swagger3,gradle、Maven使用swagger3
OpenAPI使用(swagger3) demo见Gitte 一.背景及名词解释 OpenAPI是规范的正式名称.规范的开发工作于2015年启动,当时SmartBear(负责Swagger工具开发的公 ...
- 2022-2028年中国第五代移动通信技术(5G)市场研究及前瞻分析报告
[报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国第五代移动通信技术(5G)行业市场行业相 ...
- 2021-2027全球与中国经颅磁刺激仪(TMS)市场现状及未来发展趋势
[报告类型]产业研究 [报告价格]¥4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了全球与中国经颅磁刺激仪(TMS)行业市场行 ...
- Go 学习笔记(84)— Go 项目目录结构
1. 目录规范 一个好的目录结构至少要满足以下几个要求. 命名清晰:目录命名要清晰.简洁,不要太长,也不要太短,目录名要能清晰地表达出该目录实现的功能,并且目录名最好用单数.一方面是因为单数足以说明这 ...
- Redis 笔记(16)— info 指令和命令行工具(查看内存、状态、客户端连接数、监控服务器、扫描大key、采样服务器、执行批量命令等)
Info 命令返回关于 Redis 服务器的各种信息和统计数值.通过给定可选的参数 section ,可以让命令只返回某一部分的信息. 1. 显示模块 server : 一般 Redis 服务器信息, ...
- Redis 笔记(12)— 单线程架构(非阻塞 IO、多路复用)和多个异步线程
Redis 使用了单线程架构.非阻塞 I/O .多路复用模型来实现高性能的内存数据库服务.Redis 是单线程的.那么为什么说是单线程呢? Redis 在 Reactor 模型内开发了事件处理器,这个 ...
- Redis 笔记(10)— 发布订阅模式(发布订阅单个信道、订阅信道后的返回值分类、发布订阅多个信道)
1. 发布-订阅概念 发布-订阅 模式包含两种角色,分别为发布者和订阅者. 订阅者可以订阅一个或者若干个频道(channel): 而发布者可以向指定的频道发送消息,所有订阅此频道的订阅者都可以收到此消 ...
- Redis 笔记(08)— 事务(一次执行多条命令、命令 watch/multi/exec/discard、错误处理)
1. 事务概念 Redis 中的事务 (transaction)是一组命令的集合.事务同命令一样是 Redis 的最小执行单位,一个事务中的命令要么都执行,要么都不执行.事务的原理是先将属于一个事务的 ...
- Redis 笔记(07)— sorted set 类型(添加、删除有序集合元素、获取分数范围内成员、按score排序、返回集合元素个数)
zset 可能是 Redis 提供的最为特色的数据结构,一方面它是一个 set,保证了内部 value 的唯一性,另一方面它可以给每个 value 赋予一个 score,代表这个 value 的排序权 ...
最新文章
- Android安卓模拟器中模拟SD卡
- SAGPool图分类
- Nginx常见配置:负载均衡、限流、缓存、黑名单和灰度发布
- 【渝粤教育】广东开放大学 云计算技术与应用 形成性考核
- 前端学习(1452):表格案例--效果演示
- groovy 对 list 排序
- c++11 多线程编程(五)------unique_lock
- win10快捷键及浏览器快捷键
- 数学建模(三)SARS的传播(03年A题)
- 数字人技术在直播场景下的应用
- Java ClassLoader类加载机制(二)类加载器
- ResponseEntity和ResponseBody比较
- 什么是SVG及使用方式
- 基于msm8916移植lcd流程--LK
- Office的克星来了,用友、金蝶行动迅速,软件之争,谁是冠军
- iPhone4 iOS 5.1.1 越狱之后必装的插件
- 【Linux】修改腾讯云轻量应用服务器的hostname
- 工程伦理--13.1 什么是“邻避效应”?
- c语言编程一个乘法scanf,几道简单的c语言编程题
- Tomato路由器挂载u盘后,启动变慢解决方法