一、简单介绍网桥
因为不是考纲要点,但是为了后续知识点还是稍微理解一下
我个人觉得如果你不抠细节,也不想学它,你只想弄明白它和【中继器】、【集线器】这些东西有什么区别的话,那你可以把【网桥】当成【低配版交换机】
先回顾一下【集线器(冲突域)】和【交换机(广播域)】概念
如何理解【网桥】是【低配版交换机】
主要就是他可以像【交换机】一样实现:
- 【点】对【点】传播
- 【隔离】开【冲突域】(但和交换机一样,不能隔离开【广播域】,对于 “全1” 的广播他还是会到处广播)
- 【交换机】本质就是在它的基础上升级了
它和【中继器】、【集线器】这些东西有什么区别?
- 【中继器】、【集线器】、【放大器】
- 这些都是物理层设备
- 不管怎么连接,所有节点和终端都是在【1个网络】
- 传输是【串行传输】,整个网络速率是多少,各个节点的网络速率也就都是多少
- 【网桥】
- 是数据链路层设备
- 接上它之后就能分割成各个【不同的网络】,也称作【网段】
- 传输是【并行传输】,整个网络速率是各个网段的网络速率之和
- 优点是:
网桥分类
【透明网桥】
简单说人话:
1、他很呆,不知道有几个网桥,也不知道线路上有哪些主机,网桥之间是【互相透明】的
2、网桥就一个【接口】接一个网段,那么每个【接口】有编号,相当于给各个【网段】设置了编号
3、数据发过来时:他就会自学习自己的【存储转发表】
- IF(表没有记录过这个【发送方地址】)
- 那么记录【它的地址】+【它从那一边接口传过来的】
- ELSE(表里有记录过这个【发送方地址】)
- 那么不用记录,并接下来开始在表里寻找【接收方的地址】
4、现在到寻找接收方了
- IF(表没有记录过这个【接收方地址】)
- 从别的接口【洪泛滥】出去,给全世界发送
- ELSE(表有记录过这个【接收方地址】)
- 根据表的记录,从这个记录【接收方】的【接口】处发出去
- 如果这个接口出去后刚好是这个【接收方】在的网段,那么发送成功
- 如果这个接口发出去后,网段没有这个接收方,那么接着在下一网桥重复操作
那其实可以发现一个特点:
只记录发数据的【发送方MAC地址和接口号】,通过不断积累【发送方的MAC地址】逐渐记录完所有主机的MAC地址;
然后【接收方MAC地址】在这个表里找,有的话就按接口号发出去,没有的话就洪泛滥广播出去
【源路由网桥】
自己看吧,不是很想讲,没啥卵用
二、以太网交换机
1、交换机特点
那为什么说【交换机】是【升级版网桥】?可以看一下豆包解释
- 其实就是在网桥的基础上【端口变多了】、【转发速率更高效了】
- 还有很重要的一点:网桥的【转发表】是静态的,你接了什么设备,数据就固定存在【转发表】了;但是交换机【转发表】是动态的,所有设备【即插即拔】,设备的地址数据随时动态更新到【转发表】
- 和网桥一样,可以隔离【冲突域】,但是不能隔离【广播域】
- 交换机将多个小局域网连成一个【更大的局域网】(广播域)
- 注意,前面《局域网》那一章我们说过,如果利用VLAN虚拟局域网,就可以在交换机物理局域网的基础上分成各个【虚拟逻辑局域网】,每个VLAN是属于自己的“广播域”,也就是————VLAN可以帮交换机分割【广播域】
- 交换机具有【并行性】!!!
- 各个【冲突域】是独立的网络:各个端口【独享带宽】交换机接口增多(冲突域增加)、某一冲突域故障,都不影响各自的冲突域!!!比如
- 而【总带宽】=【所有冲突域带宽之和】=【各个接口连接的子网络带宽之和】
提示:针对【并行性】再次解释
可能上面那样的概括还是不能够理解,这个概念很重要!!!
- 首先再三强调:【设备最大吞吐量】=【设备的总带宽和】不等于【这个局域网的带宽】!!!!前者仅仅是对各个端口的吞吐量(带宽之和)的统计,而后者才是实际这个局域网的速率
在传统集线器以太网里,因为大家都在一个网络,所有节点使用CSMA/CD协议,共享一个总线,这叫【共享带宽】!!!所以假设这个局域网的带宽是【X b/s】,有【N个】端口(主机),那么每个端口(主机)占有的带宽就是【N/X b/s】(另外,吞吐量也是【X b/s】)
- (相当于10个精神小伙去蜜雪冰城,都没钱就只买了一杯10毫升的奶茶,然后一个人喝的时候别人就得等,每个人只能平等喝1毫升)
- 然而这个【总带宽(吞吐量)】也依旧等于【局域网带宽】,因为本身就没有分出多个网络,就1个网络而已
而在交换机以太网里,因为各个端口都【独享一个网络】,允许多个用户同时并行地发数据,这叫【独享带宽】!!!所以假设这个局域网的带宽是【X b/s】,有【N个】端口(主机),那么每个端口(主机)占有的带宽就还是【X b/s】(另外,吞吐量是【N × X b/s】)
- (相当于10个有钱小伙去蜜雪冰城,每个人都买了一杯10毫升的奶茶,然后大家可以在同一时间同时喝自己的奶茶,每个人都能喝10毫升)
- 然而这个【总带宽(吞吐量)】等于【各个端口带宽之和】,因为交换机局域网分出了多个网络,总带宽就是统计一下各个网络带宽加起来的和而已
2、交换机工作原理
如果你刚刚看了我前面讲【透明网桥】的工作原理的话,那么这里就就还是一样的流程;如果你没看直接跳过的话,那这里也再稍微解释一下
在王道的视频里,因为还没讲到【网络层】,所以这里只涉及【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地址】,也就是【源地址】
【存储转发表】的过期作废机制
那如果【存储转发表】都已经记录完【所有主机的MAC地址】之后
突然换掉了其中主机的【接口】连接,会不会因为没有对应上【存储转发表】而导致以后收不到信息了?
那么其实并不会,因为每个表项都有一个过期时间,到时就过期作废;那么只需要再次像一开始的【自学习模式】流程那样过一遍,就有能生成新的【存储转发表】了
3、交换机2种交换方式
又到了文科时间,知识点不多:
2种交换方式:【直通交换】和【存储转发交换】
- 【直通交换】
- 可以类似理解成最开始学的【电报转发】
- 他只要帧的帧头的【目的地址 6字节(48bit)】
- 根据【目的地址】,他就可以直接找到【接收方】,一条线路直通送达
- 这样的方式类似电报转发,那么很明显,转发信息的【时延是最快的】
- 但是 “除了快一无所有” :
- 不能速率匹配:你发的快,也得对方适应,对方是猪队友的话,你发得快对方也接收不了
- 不能协议转换:如果以太网发来的802.3协议,现在要转发给无线局域网的AP,而直通线路不会转换协议,导致无法接收
- 不能差错控制:他都只要一个帧【目的地址】了,还检查个p啊
- 【存储转发交换】
- 可以类似理解成最开始学的【报文存储转发】
- 他要接收一整个帧,缓存在内部在转发
- 时延自然比较久
- 但是 “除了慢,啥都能干”:
- 能速率匹配、能协议转换、能差错控制