没别的,就聊聊以太网和交换机
零、前言
上一篇文章咱们梳理了一下两个模型的分级,咱们就“接地气”来聊吧,咱们从第二层数据链路层开始聊,然后再聊第三层的网络层。至于为什么不是从第一层物理层开始,看看你电脑主机后面连的网线,手机通知栏显示的信号就知道了吧,物理层就是规定这些介质应该遵守什么的协议,从而保证数据能稳定准确得传输。废话不多说,开始我们得正题,聊聊这个我们每天都在使用的以太网以及不每天都在用但没什么感知的交换机
一、以太网是什么?
以太网是当今现有局域网(Local Area Network, LAN)采用的最通用的通信协议标准,定义了局域网中采用的电缆类型和信号处理方法。
以太网是建立在CSMA/CD (Carrier Sense Multiple Access/Collision Detection,载波监听多路访问/冲突检测)机制上的广播型网络。
也就是说咱们使用的是一种为了实现局域内通信所采用的一种标准,现在咱们使用的以太网基本属于交换式以太网,但在早期都是使用共享式以太网,要说这两个的区别,其实也挺简单的,咱们这举个例子来说说这个 交换式以太网 与 共享式以太网 :
假设一开始有一群志同道合的小伙伴打算创业,早期没钱租办公区域,索性买下一个小门面,每天给很多潜在客户打电话,这几个小伙伴每天都忙着打电话谈业务,但几个人同时说话,让一个门面中的每个人都听不清客户说了啥东西,这个情况咱们叫这个门面是一个 冲突域 ,因为每个人说话都影响到别人了,那怎么解决?
那就买台座机呗,谁先打电话谁就先说话,别人就先听着,等第一个说完了再第二个打电话,总之只有一个人能说话,不然就混乱了,这就是 CSMA/CD(载波监听多路访问/冲突检测) 。
听起来现在还算能解决,但随后客户越来越多了,小伙伴们觉得有点资金了,业务也越来越多了,这样下去影响公司发展,所以租下一层楼的门面,开始扩招,这个时候每个人都有一个小房间了,每个人打电话都是单独分开的,每个人打业务电话都不影响其他人。遇到公司月总结、季度总结时,就会通过 广播 告诉每个员工“准备开会啦”,这个时候这一层楼就叫一个 广播域 ,这里的发布通知消息的“大喇叭”就是 交换机 ,交换机的每个链路就是一个冲突域。
再之后,公司越来越有钱了,乃至能买下一栋办公楼了,刚开始创业的那几个小伙伴觉得怎么说也得分部门了,创业的这帮人怎么也是董事了,得搬到上层办公区。这个时候下面的 广播 已经通知不到上层的各位董事了,那怎么办?假如员工有积极的提议向上层报告呢?那就安排各个部门的管理人收集意见,筛选出需要反馈给上层的有用信息,再开个领导会议,这里的各个部门的管理人就是网络中的 路由器 ,路由器可以隔离出各个广播域。
好了各位,别做梦了,咱们还是老老实实当个打工人吧。
打工人,打工魂,打工都是人上人。
二、以太网帧又是什么?
以太网技术所使用的帧称为以太网帧 (Ethernet Frame),或简称以太帧。
以太帧的格式有Ethernet_II格式和IEEE 802.3格式这两种帧格式。
这两种帧就长这样:
上一篇文章咱们最后是不是聊到一个词叫 MAC地址表 的东西当时我将它比喻成人员清单,结合一下上面那个案例,假如说这个时候张三打个电话到董事之一那去了,说是要找个低层办公区的一个年轻妹子叫李四,这个时候怎么办?董事就根据电话里的部门找来部门经理,然后告诉他找李四,让她回个电话给张三,部门经理当时就懵了,就在广播里问“谁是李四”,结果来了两个同名的妹子,好在当时张三还留下李四的 身份证号 ,确认身份的李四就知道原来是她前男友跑来和她复合了。。。
这里的 身份证号 就是MAC(Media Access Control)地址,咱们的电脑都有一个MAC地址,被烧写在网卡上,同样的,每个交换机的接口也有MAC地址,路由器的每个接口也有MAC地址,而且这个MAC地址是全世界独一无二的,为什么这么说?因为MAC地址的前三个字节统一是由IEEE组织管理分配的,一般情况下一个厂商对应一个OUI(当然,有些通信设备大厂还是需要有几个厂商代码的,不然MAC地址分配不够用呐),而后三个字节厂商分配时也是会保证唯一性,可参考下表内容:
OUI | 制造商分配 |
---|---|
厂商代码,由IEEE组织分配 | 制造商分配 |
3Byte,24bit | 3Byte,24bit |
OUI(Organizationally Unique Identifier,组织唯一标识符)在任何一块网卡(NIC)中烧录的6字节MAC地址中,前3个字节体现了OUI,其表明了NIC的制造组织。通常情况下,该标识符是唯一的。
三、交换机能做什么?
刚说过,交换机有一张MAC地址表,可以保存和查询它连接的设备的接口信息与MAC信息,当然只有在终端发送请求时,交换机才会记录,就像假如你不去和部门经理对线一次,他估计压根不会认识你一样。。。所以在终端数据向外发送,经过交换机时,它就会记录下来发送端的信息,同时当有数据发送给这个终端时,它就能直接转发这个数据给它接口下的终端,这种单对单的就是交换机的 单播 ,这种帧处理方式咱们叫 转发(Forwarding)。
当然,假如部门经理要下达小组任务时,就会采用一种叫 组播 的特殊通知通道(比如偷偷给每个小组建个QQ群啥的)。
假如这个时候部门经理找一个他也不认识的人,就会直接通过大喇叭喊,这种全员通知的方式就是 广播 ,这种帧处理方式咱们叫 泛洪(Flooding),然后当那个人回复自己时,就会把这个人的信息 写入MAC地址表 中。
当然还有一种最无情的,别的部门实习一周的新人来找部门经理麻烦,说管理上这里那里有问题,这个时候部门经理可能管都不想管,就是俗话说的左耳朵进右耳朵出,咱们叫这种帧处理方式叫 丢弃 (Discarding)。
四、结尾
虽然看起来交换机的处理数据帧的方式很合理,但是之前的文章里提到过,交换机假如不做任何配置,它总会想着怎么把数据扔出去,假如接收到一个不存在的请求,就好比在一个部门找一个不是这个公司的人,假如A部门经理喊喇叭没回复。而B部门经理听见了,在B部门也开始喊,也没人回复。这个时候C部门经理刚好路过,也听到喊话了,也在C部门喊。然后A部门经理也没记着这事,听见C部门都喊喇叭了,又开始喊了,然后就一直循环。。。下一次咱们聊聊怎么解决这种无限无休止的喊话行为,同时开始聊咱们的第一个协议STP协议(Spanning Tree Protocol,生成树协议)。别担心,没别的,就聊聊而已。
- 点赞
- 收藏
- 关注作者
评论(0)