当前位置: 首页 > news >正文

计算机网络第三章(6)——数据链路层《网桥交换机》

一、简单介绍网桥

因为不是考纲要点,但是为了后续知识点还是稍微理解一下

我个人觉得如果你不抠细节,也不想学它,你只想弄明白它和【中继器】、【集线器】这些东西有什么区别的话,那你可以把【网桥】当成【低配版交换机】

先回顾一下【集线器(冲突域)】和【交换机(广播域)】概念

如何理解【网桥】【低配版交换机】

主要就是他可以像【交换机】一样实现:

  • 【点】对【点】传播
  • 【隔离】开【冲突域】(但和交换机一样,不能隔离开【广播域】,对于 “全1” 的广播他还是会到处广播)
  • 【交换机】本质就是在它的基础上升级了

它和【中继器】、【集线器】这些东西有什么区别?

  • 【中继器】、【集线器】、【放大器】
    • 这些都是物理层设备
    • 不管怎么连接,所有节点和终端都是在1个网络
    • 传输是【串行传输整个网络速率是多少,各个节点的网络速率也就都是多少

  • 【网桥】
    • 数据链路层设备
    • 接上它之后就能分割成各个【不同的网络】,也称作【网段】
    • 传输是【并行传输整个网络速率是各个网段的网络速率之和
    • 优点是:

网桥分类

【透明网桥】

简单说人话:

1、他很呆,不知道有几个网桥,也不知道线路上有哪些主机,网桥之间是【互相透明】的

2、网桥就一个【接口】接一个网段,那么每个【接口】有编号,相当于给各个【网段】设置了编号

3、数据发过来时:他就会自学习自己的【存储转发表】

  • IF(没有记录过这个【发送方地址】
    • 那么记录【它的地址】+【它从那一边接口传过来的】
  • ELSE(表里记录过这个【发送方地址】
    • 那么不用记录,并接下来开始在表里寻找【接收方的地址】

4、现在到寻找接收方了

  • IF(没有记录过这个【接收方地址】
    • 从别的接口【洪泛滥】出去,给全世界发送
  • ELSE(记录过这个【接收方地址】
    • 根据表的记录,从这个记录【接收方】的【接口】处发出去
      • 如果这个接口出去后刚好是这个【接收方】在的网段,那么发送成功
      • 如果这个接口发出去后,网段没有这个接收方,那么接着在下一网桥重复操作

那其实可以发现一个特点:

        只记录发数据的【发送方MAC地址和接口号】,通过不断积累【发送方的MAC地址】逐渐记录完所有主机的MAC地址;

        然后【接收方MAC地址】在这个表里找,有的话就按接口号发出去,没有的话就洪泛滥广播出去

【源路由网桥】

自己看吧,不是很想讲,没啥卵用

二、以太网交换机

正文开始

那为什么说【交换机】是【升级版网桥】?可以看一下豆包解释

其实就是【端口变多了】、【转发速率更高效了】

1、交换机工作原理

如果你刚刚看了我前面讲【透明网桥】的工作原理的话,那么这里就就还是一样的流程;如果你没看直接跳过的话,那这里也再稍微解释一下

在王道的视频里,因为还没讲到【网络层】,所以这里只涉及【MAC地址】

记住这几个特点:

  • 1、一开始交换机的【存储转发表】全空,没有任何主机MAC地址
  • 2、交换机的【学习模式
    • 【存储转发表】只记录发送数据过来的【发送方MAC地址】和【发送方连接交换机的端口号(表里有的话就不记录,没有的话就记录)
  • 3、接收方MAC地址】则根据【存储转发表】查找
    • ,则按这个记录的【连接交换机的端口号】发过去给【接收方】
    • 没有,则开启【泛洪模式】,类似发送 “广播信号” 一样发给【除了发送方端口】以外的【所有端口】
      • 然后各个【接收方】根据帧里的【目的地址MAC】自己检查是不是给自己的信息,是则接收;不是则丢弃(可以理解为就是像【集线器】局域网一样)
      • 别的交换机也会把发送数据过来的【发送方MAC地址】和【发送方连接交换机的端口号】记录到自己的【存储转发表】
  • 4、那么你不仅会疑惑,一开始大家表里都没有任何主机的MAC地址,而且交换机只记录发送数据的【发送方MAC地址】那岂不是永远找不到【接收方】?
    • 找不到就找不到呗,反正只要这个接收方永远不主动发数据,那么数据就永远到不了接收方那
    • 直到这个接收方】变成了【发送方,它鼓起勇气主动发了一次数据,那么现在它是【发送方】,交换机终于可以记录它的MAC地址
    • 如此反复,就会得到把各个【交换机】的【存储转发表】记录满所有主机的【MAC地址】以及【对应的接入的接口号】

  • 总的来解释就是:
    • 不断记录所有主动发数据的【发送方MAC地址】
    • 在【存储转发表】没有【接收方MAC地址】的时候依旧采用【“广播式” 泛洪模式】发数据
    • 直到【存储转发表】有了【接收方MAC地址】的时候,才正式开始【点对点模式】发数据

拓展(可以跳过,完全不用理会了解里面写得东西)

这里又有一个疑问,我看了别的视频,这个流程会存在一点点不一样,另外一个科普视频讲到了2个不一样的点:

1、其实数据帧还会携带各个主机的【IP地址】

在【泛红模式】之后,接收方是根据【目的地址IP地址】来判断是不是给自己的信息

2、【接收方MAC地址】并不需要非得自己主动给某个主机发信息之后,才会被记录到【存储转发表】

        在广播完信息之后,当接收方发现该信息是给自己的之后,会接收、并马上响应数据回去,而此时就已经转变成了【发送方】

        然后此时就已经会主动将【发送方(刚才的接收方)MAC地址】记录入【存储转发表】,而无需再等以后它要主动给别人发一次消息,才会被录入

【存储转发表】的过期作废机制

那如果【存储转发表】都已经记录完【所有主机的MAC地址】之后

        突然换掉了其中主机的【接口】连接,会不会因为没有对应上【存储转发表】而导致以后收不到信息了?

        那么其实并不会,因为每个表项都有一个过期时间,到时就过期作废;那么只需要再次像一开始的【自学习模式】流程那样过一遍,就有能生成新的【存储转发表】了

2、交换机2种交换方式

又到了文科时间,知识点不多:

2种交换方式:【直通交换】和【存储转发交换】

  • 【直通交换】
    • 可以类似理解成最开始学的【电报转发】
    • 只要帧的帧头的【目的地址 6字节(48bit)】
    • 根据【目的地址】,他就可以直接找到【接收方】,一条线路直通送达
      • 这样的方式类似电报转发,那么很明显,转发信息的【时延是最快的】
      • 但是 “除了快一无所有
        • 不能速率匹配:你发的快,也得对方适应,对方是猪队友的话你也只能发的慢
        • 不能协议转换:如果以太网发来的802.3协议,现在要转发给无线局域网的AP,而直通线路不会转换协议,导致无法接收
        • 不能差错控制:他都只要一个帧【目的地址】了,还检查个p啊

  • 【存储转发交换】
    • 可以类似理解成最开始学的【报文存储转发】
    • 要接收一整个帧,缓存在内部在转发
      • 时延自然比较久
        • 但是 “除了慢,啥都能干”:
          • 能速率匹配
          • 能协议转换
          • 能差错控制

三、总结

四、例题

http://www.dtcms.com/a/275186.html

相关文章:

  • 【Python3教程】Python3高级篇之CGI编程
  • Windows系统下GroundingDINO的安装2025(踩无数坑)
  • Django母婴商城项目实践(三)
  • SpringBoot 使用注解获取配置文件中的值
  • 揭示宇宙的隐藏对称性:群论-AI云计算拓展核心内容
  • 加密狗真的坏了吗?CodeMeter 锁故障判定与质保指引
  • 2025 年第十五届 APMCM 亚太地区大学生数学建模竞赛B题 疾病的预测与大数据分析
  • SpringCloud之Ribbon
  • vue入门学习教程
  • Go语言中的组合式接口设计模式
  • Go·并发处理http请求实现
  • Python Day10
  • C语言初阶4-数组
  • UE5多人MOBA+GAS 18、用对象池来设置小兵的队伍的生成,为小兵设置一个目标从己方出生点攻打对方出生点,优化小兵的血条UI
  • Xavier公式的原理
  • 备案是联系主机商还是域名商
  • ESP32语音唤醒
  • 【B题解题思路】2025APMCM亚太杯中文赛B题解题思路+可运行代码参考(无偿分享)
  • 【内赠门票】GoGoGo!NetMarvel邀您出发ChinaJoy啦!
  • UniHttp中HttpApiProcessor生命周期钩子介绍以及公共参数填充-以百度天气接口为例
  • cocos游戏开发中,如何制作一个空气墙
  • WHIP 协商分析研究
  • 背包初步(0-1背包、完全背包)
  • PID 算法的原理与应用 (通俗易懂)
  • CSS 中px、em、rem、%、vw、vh、vm、rpx、fr 介绍和区别对比
  • 【高等数学】第三章 微分中值定理与导数的应用——第三节 泰勒公式
  • Lecture #18:TimeStamp Ordering Concurrency Control
  • “28项评测23项SOTA——GLM-4.1V-9B-Thinking本地部署教程:10B级视觉语言模型的性能天花板!
  • NetworkManager配置网桥(bridge)虚拟网络(vlan) 笔记250711
  • Visual Studio Code 的 settings.json 配置指南