计算机网络第三章(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啊
- 【存储转发交换】
- 可以类似理解成最开始学的【报文存储转发】
- 他要接收一整个帧,缓存在内部在转发
- 时延自然比较久
- 但是 “除了慢,啥都能干”:
- 能速率匹配
- 能协议转换
- 能差错控制