(一)网桥

网桥是一个layer 2设备,能够连接两个不同的网段.

如图

H1 H2位与同一个LAN H3 H4位于同一个LAN,如果H1想要和H3进行通信,这个时候就要通过网桥来帮忙。

几个LAN用网桥连接起来的叫做一个BLAN,可以把整个连接起来的看成一个逻辑上的LAN,这个LAN上的主机,可以像普通LAN上的主机一样互相通信。

网桥的功能:

1- 数据的转送和过滤

2- 网桥的地址学习

3-解决LAN上的回路的问题  (回路会网路更可靠,但是会导致重复接受数据,会造成地址学习的错误)

网桥自学习算法

DMAC是目标MAC地址,SMAC是源MAC地址,大抵意思是 比如现在从路由器的X端收到一个数据,先判断一下目标MAC地址有没有在该路由器的转发表里面,如果不在里面,则在除了X端口的转发广播,寻找这个设备在哪里;如果在转发表里面,则判断目标MAC地址是不是属于端口X,如果是则过滤掉这个数据,如果不是就从对应的端口转发出去。

接下来是网桥的学习,看一下源MAC在不在转发表,如果已经在转发表里面了,看一下转发表里面的源MAC地址以前对应的端口是不是x,如果是x就不改,如果不是x就改成x;如果没有就记录下来。

(二)802.1D生成树协议 (解决回路问题)

STP协议中定义了根桥(Root Bridge)、根端口(Root Port)、指定端口(Designated Port)、路径开销(Path Cost)(每一个端口都一个PC)等概念,目的就在于通过构造一棵自然树的方法达到裁剪冗余环路的目的,同时实现链路备份和路径最优化

根桥就是标识号最小的网桥

STP的目标

对于每一个网桥,他可以找到一个从它到根桥的最短路径,最短路径对应的那个网桥的端口成为根端口(R PORT)。

对于每一个LAN,由一个指定端口(D PORT)代理他,从这个LAN有一个最短路径到达根桥

最终把不是D PORT 和R PORT的端口都给block掉,即某一个LAN与它的连线断掉,这样就形成了一个生成树。(这样就可以解决回路的问题)

STP工作:

1.当路由器打开的时候,所有的端口都处于Listening状态,每个网桥都会认为自己是根网桥,然后都每隔两秒就向外发送一次自己的BPDU,如果收 到的BPDU的BID比自己的小,则停止转发自己的BPDU,开始转发更优的BPDU,如果比自己的BID大或者和自己的BID相等,则丢弃该BPDU。 等到都扩散完毕之后开始各项的选举,这时候每个BID最小的网桥成了根网桥,各个网桥通过收到的BPDU来确定根端口和指定端口。首先看COST值,然后 再看邻居的BID,再然后看对端端口的PID,指定端口也首先看COST,然后看两端网桥的BID。剩下的成为非指定端口,转到blocking状态。这 个状态总共持续15s(转发延迟),之后进入learning状态。

2.进入Learning状态之后,填写MAC地址表,经过15s(转发延迟)之后进入Forwarding状态。

3.进入Forwarding状态之后,开始转发数据,并且同时接受转发来自于根的BPDU,维护拓扑。这时只有根网桥发BPDU,其他网桥都只是转发BPDU。

4.当一个新的网桥加入的时候,端口状态是Learning,新的交换机认为自己是根网桥开始发送BPDU,也接收对端的BPDU,然后进行进行进一步的竞 选,若竞选成功,则网络格局就重新变化了,造成网络断开,若竞选失败则计算根端口指定端口和非指定端口。(30s可以完成)

如果其中里面有网桥断掉,或者有LAN断掉。如果有端口他定期收不到根桥的BPDU,他就会TIME OUT,把原来block的PORT给叫起来,改变一下生成树的结构。

如果坏掉太厉害了,可能会分成几个部分的spanning tree,几个结构只能在一个BLAN中互相通信,有些主机就不能通信了。

网桥 以及 IEEE802.1D 生成树协议的更多相关文章

  1. STP-1-802.1D生成树协议及改进

    第一个 IEEE 标准化的STP也常称为“ 传统”STP,最初在802. 1D中进行了描述. 之后得到了改进,发布在所谓的修正案中:快速 STP( RSTP),在修正案802. 1w 中描述了它的标准 ...

  2. 生成树协议stp

    生成树协议应用的原因是从逻辑上阻塞交换机在物理上形成的环路.大家都知道交换机工作在二层,也就是数据链路层,根据mac地址识别主机,对三层网络无法识别,因此交换机不能隔离广播.但是在日常的工作中,为了达 ...

  3. STP 生成树协议 RSTP 快速生成树

    STP(Spanning Tree Protocol)是生成树协议的英文缩写 该协议可应用于在网络中建立树形拓扑,消除网络中的环路,并且可以通过一定的方法实现路径冗余,但不是一定可以实现路径冗余.生成 ...

  4. s4-7 生成树协议

    Spanning Tree :为了可靠,采用冗余结构:但是透明网桥 会产生无休止循环的问题 冗余交换拓扑可能带来的问题  广播风暴  多帧传送  MAC地址库不稳定 生成树协议  STP:sp ...

  5. STP:生成树协议解决网络冗余问题

    STP(Spanning Tree Protocol)是生成树协议的英文缩写,可应用于计算机网络中树形拓扑结构建立,主要作用是防止网桥网络中的冗余链路形成环路工作.但某些特定因素会导致STP失败,要排 ...

  6. 第2层交换和生成树协议(STP)__第2层的3种交换功能

    地址学习(Address Learning):第2层交换机和网桥能够记住在一个接口上所收到的每个帧的源设备硬件地址,而且它们会将这个硬件地址信息输入到被称为转发/过滤表的MAC数据库中. 转发/过滤决 ...

  7. 生成树协议(STP)

    一.交换网络环路的产生 1.广播风暴的形成 2.多帧复制 3.MAC地址表紊乱 二.STP简介 STP-Spanning Tree Protocol(生成树协议) 逻辑上断开环路,防止广播风暴的产生 ...

  8. 生成树协议(STP)的精髓知识

    STP生成树协议   1.STP介绍 2.STP生成树算法 1.STP  -   Spanning tree protocol (生成树协议)是逻辑上断开环路,防止广播风暴的产生.当线路故障,阻塞接口 ...

  9. MSTP-多生成树协议

    多生成树协议MSTP(Multiple Spanning Tree Protocol)是IEEE 802.1s中定义的一种新型生成树协议.简单说来,STP/RSTP是基于端口的,PVST+是基于VLA ...

随机推荐

  1. Hadoop系列-MapReduce基础

    由于在学习过程中对MapReduce有很大的困惑,所以这篇文章主要是针对MR的运行机制进行理解记录,主要结合网上几篇博客以及视频的讲解内容进行一个知识的梳理. MapReduce on Yarn运行原 ...

  2. TFTP服务的搭建

    TFTP服务的作用:提供网络下载服务 tftp服务器的安装与配置: tftp主要用于嵌入式交叉开发环境的搭建,传输文件. 0.创建tftp的工作目录,并修改权限(注意:请在主目录下创建此工作目录!) ...

  3. UWP 设置桌面壁纸、锁屏图片

    private static Uri imgUri = new Uri("ms-appx:///pic1.jpg"); private async void btnSetWallp ...

  4. Java线程和多线程(十四)——Synchronized关键字解析

    曾经有一个比较有趣的面试问题,那就是,关于使用synchronized关键字,是用在方法上面尾号,还是用在一个代码块上面为好? 答案就是使用锁定代码块为更好.因为这样不会锁定对象.当synchroni ...

  5. [agc008E]Next or Nextnext-[dp+思考题]

    Description 传送门 Solution 官方题解 然后我谈下个人理解.由于我们的两个条件只要任意满足,则在p的图中i有两种连边法:i->p[i],i->p[p[i]]. 我们考虑 ...

  6. HBase数据结构(读书笔记 )

    背景: 最近在做一些跟大数据相关的东西,涉及到数据的存储和分析,考虑各个方面,选择使用HBase进行存储,使用原生Java API进行数据分析,之后会陆续写一系列来说明最近做的东西,给像我这样未曾涉及 ...

  7. CF 919 D. Substring

    D. Substring 链接 题意: 在一张有向图中,定义路径的权值为路径中出现次数最多的字符出现的次数,求一条权值最大的路径.如果权值可以无限大,输出-1. 分析: 注意是一张有向图.如果存在环那 ...

  8. underscore.js 分析6 map函数

    作用:通过转换函数(iteratee迭代器)映射列表中的每个值产生价值的新数组.iteratee传递三个参数:value,然后是迭代 index. _.map([1, 2, 3], function( ...

  9. Java虚拟机笔记(三):垃圾收集算法

    一.标记-清除(Mark-Sweep)算法 标记清除算法是最基础的收集算法,其他收集算法都是基于这种思想. 标记清除算法分为“标记”和“清除”两个阶段:首先标记出需要回收的对象,标记完成之后统一清除对 ...

  10. Object C学习笔记4-内存管理

    Object-C的内存管理和.NET有些不一样,.NET的内存回收机制是使用GC自动处理回收,而Object-C本质上还是C语言,所以很多时候还是需要手动去管理内存回收. 1. Object-C生成一 ...