(一)网桥

网桥是一个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. PHP操作xml学习笔记之增删改查(2)—删、改、查

    xml文件 <?xml version="1.0" encoding="utf-8"?><班级>    <学生>       ...

  2. 第十周课下作业-IPC

    第十周课下作业-IPC 题目:研究Linux下IPC机制:原理,优缺点,每种机制至少给一个示例,提交研究博客的链接 共享内存 管道 FIFO 信号 消息队列 共享内存 共享内存允许两个或多个进程进程共 ...

  3. 第五周 加分题-mybash的实现

    第五周 加分题-mybash的实现 使用fork,exec,wait实现mybash 产品代码 #include <stdio.h> #include <stdlib.h> # ...

  4. 20145209刘一阳《JAVA程序设计》第五周课堂测试

    第五周课堂测试 1.下列关于内部类的说法,正确的是(ABD) A .其他类不可以用某个类的内部类声明对象. B .内部类字节码文件的名字格式是"外嵌类名$内部类名". C .内部类 ...

  5. python基础学习1-正则表达式

    #!/usr/bin/env python # -*- coding:utf-8 -*- import re print(re.findall('alex','yyyyabbblalexrrreooo ...

  6. HBase的Rowkey设计(mark)

    在HBase中细节上的设计,最最最重要的就是我该选取什么做Rowkey,Rowkey的选择,最直接的影响就是对你之后分析数据的影响了. Rowkey是不可分割的字节数,按照字典排序由低到高存储在表中. ...

  7. 4569: [Scoi2016]萌萌哒

    4569: [Scoi2016]萌萌哒 链接 分析: 每次给出的两个区间长度是一样的,对应位置的数字也是一样的,那么可以将两两对应的数字用并查集合并,设最后有$cnt$个不同的集合,答案就是$9\ti ...

  8. 4542: [Hnoi2016]大数

    4542: [Hnoi2016]大数 链接 分析: 如果p等于2或者5,可以根据最后一位直接知道是不是p的倍数,所以直接记录一个前缀和即可. 如果p不是2或者5,那么一个区间是p的倍数,当且仅当$\f ...

  9. 2555: SubString

    2555: SubString 链接 题意: 动态在末尾加入一个字符串,询问一个字符串出现了多少次. 分析: 如果没有动态加入,那么建出SAM后,求出parent树上,每个点|Right|,然后走一遍 ...

  10. floodlight路由机制分析

    SDN的出现可以使得各种复杂的路由协议从原本的Device OS中剥离出来,放在SDN Controller中,Controller用一种简单的协议来和所有的Router进行通信,就可以获得网络拓扑, ...