网桥工作在数据链路层,起到的作用是把多个局域网连接起来,组成更大的局域网。它的功能主要有两点:过滤和转发

通常来看,网桥起到了把不同局域网连接在一起的作用,即使这些局域网使用不同的协议,比如802.11和802.3。加入一个网桥连接一个802.3和一个802.11,那么网桥转发的时候首先需要把802.3的帧头拆掉,换成802.11的头,再转发给802.11使之适应无线局域网的帧格式。

我们来看看网桥的过滤和转发功能:

网桥连接着局域网LAN A和LAN B.那么如果主机1给主机2进行通信,1发送消息给网桥,网桥发现目标地址和原地址属于一个局域网,那么他就会过滤掉这个消息请求。如果1给11发送消息,网桥发现原地址和目的地址不属于同一个局域网,那么就进行转发功能,把来自LAN A的消息转发给LAN B. 这就是网桥的基本功能。

那么网桥怎么知道主机11是在LAN B上面的?这就涉及到一个非常重要的概念,过滤数据库。网桥把他知道的地址信息都存在这个过滤数据库里面,每次接收一个目的地址,就和数据库里面的数据进行比对,如果发现和源地址不在一个LAN就进行转发;如果在一个局域网下面就过滤掉这个信息。

过滤数据库是怎么工作的呢?它的转发规则是,网桥从x端口接收到一个帧:

 ①搜索数据库确定MAC地址是不是在一个端口port上面;②如果没有找到这个MAC地址,那么把该帧泛洪flooding到所有端口(x除外);③如果找到了MAC地址对应应该发往y端口,那么检查y,如果y不处于阻塞态,那么就 从y端口发送,如果是阻塞态,那么不发送。④如果MAC地址对应的也是x端口,那么不发送,过滤掉这个信息。

这样网桥就能通过数据库来进行转发或者过滤了。但是我们知道,主机是可以移动的,也就是说它不一定一直待在某一个局域网下面。并且,每个局域网下面还可能会有新加入的主机,这些情况下过滤路由器就需要不断更新。

数据库更新所用到的算法叫做后向学习算法。后向学习算法,顾名思义,就是网桥利用接收的帧的源地址进行学习。到达网桥某个端口的帧的源地址指明了来自那个入境LAN的方向,网桥就可以根据这个MAC地址来更新数据库。

举一个例子:网桥数据库最开始没有任何信息。主机1给网桥发送了一个数据帧(网桥用x端口接收),希望转发到LAN B里面的12主机(用端口y)。最开始网桥并不知道应该往哪里转发,因为数据库为空,所以只能泛洪,从y,z,w等等端口广播这个消息。自然12主机能收到这个消息。但是这个过程之后数据库中多了这么一个消息:主机1的MAC地址和如果想转发给A的数据应该通过x端口发送。这样加入12主机想给1主机发消息,网桥就不会泛洪flooding了,而是单单给x端口发送消息就行了,这就是网桥的后向学习算法

转发:网桥介绍——好理解相关推荐

  1. linux网桥的简单理解和配置

    linux网桥的简单理解和配置 Linux网桥是linux虚拟网络设备之一.网上很多分析linux网桥的文章,例如代码层面的分析.这里不牵扯复杂的分析和配置,主要是面向虚拟机链接一个用途,小白我的备忘 ...

  2. 设计模式---观察者模式介绍与理解

    设计模式---观察者模式介绍与理解: 观察者模式原理:类似于定牛奶业务 1. 奶站,subject:登记注册,移除,通知(register,remove,notify) 2. 用户,observer: ...

  3. Hadoop MapReduce Job 相关参数设置 概念介绍与理解

    Hadoop MapReduce  Job 相关参数设置 概念介绍与理解 InputFormat: 作用:将输入的文件分成 一个个split,并且将split 拆分成一个个<key,value& ...

  4. FD.io VPP基本介绍:理解向量包处理(VPP)

    FD.io VPP:用户文档 向量包处理器 RToax 2020年9月 1. 什么是向量包处理器(VPP) FD.io的矢量包处理器(VPP)是一个快速,可扩展的2-4层多平台网络协议栈.它在Linu ...

  5. 面试旧敌之红黑树(直白介绍深入理解)

    2019独角兽企业重金招聘Python工程师标准>>> 读完本文你将了解到: 什么是红黑树 黑色高度 红黑树的 5 个特性 红黑树的左旋右旋 指定节点 x 的左旋 右图转成左图 指定 ...

  6. linux文件未识别,linux的内核文件vmlinuz介绍-深入理解Linux重定向的使用-网卡eth0,未识别的端口的解决方法_169IT.COM...

    介绍:Linux重定向是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变,比如说简单的我不想看到在显示器的输出而是希望输出到某一文件中就可以通过Linux重定向来进行这项工作. Linu ...

  7. SpringCloud--GateWay搭建及路由转发规则介绍

    一. Spring Cloud Gateway Spring Cloud GateWay 是 Spring Cloud 的⼀个全新项⽬,⽬标是取代 Netflix Zuul,它基于 Spring5.0+ ...

  8. 数据、数据元素、数据项、数据对象的介绍和理解

    最近在读<大话数据结构>这本书 第一章上面的介绍数据结构相关概念 总结如下图: 数据结构是相互之间存在一种或多种特定关系的数据元素的集合. 对于数据 数据对象 数据元素 数据项 这四个概念 ...

  9. ChatGPT介绍与理解

    一 chatgpt官网介绍 OpenAI的使命是确保通用人工智能(AGI)造福全人类,并致力于开发可以在多个领域解决广泛问题的高级AI工具.我们开发的AI模型之一是GPT,它是一种能够生成人类语言的强 ...

最新文章

  1. JCheckBox使用示例
  2. 1、Hive原理及查询优化
  3. 离线安装宝塔lnmp_宝塔LNMP环境 Nginx安装EduSoho教程说明
  4. 自梦php,PHP菜狗自学之路 云之梦php php之窗 php脚本之
  5. Python语法入门
  6. SpringCloud工作笔记050---关于同一账号多人同时登录的token重复问题
  7. 网络编程中客户端链接的合法性,socketserver模块
  8. 香港科技大学计算机专业国内就业6,香港科技大学就业好吗?
  9. mysql之查询排序
  10. check whether edge in face indices.
  11. jquery 事件冒泡的介绍
  12. html桌面程序实例spark,【01】Spark 简单实例
  13. python ddos攻击脚本_【分享】Python简易DDos攻击器源码
  14. ZZNU 1992: 情人节的尴尬
  15. C300 之SFU设备配置指导
  16. Python与GIS
  17. 解释:什么是CPC,CPA,CVR,CTR,ROI? 营销、广告、淘宝 术语
  18. 电化学传感器(7)---氢补偿4电极传感器气体传感器 抑制h2干扰
  19. 很多语言转换成javaScript,介绍,转载
  20. 计算机游戏有哪些基本特征,计算机玩游戏有哪些重要要求? ?

热门文章

  1. bzoj1812[Ioi2005] riv
  2. 淘宝商品详情API接口
  3. 关于读书的一些方法--摘自李笑来《人人都能用英语》
  4. node爬取某app数据_使用NodeJs,实现数据抓取
  5. 并发线程和线程间通信(event、mailbox和semaphore)-systemVerilog
  6. 商城系统搭建支付通道
  7. python天天向上续3.2_在Jupyter上学习python(U.3)
  8. 如何成为一名成功的自由程序员?
  9. Windows12[Beta1.2.6]公测
  10. 《Qt5:同一个界面多窗口或者多页面切换(QStackedWidget)》