带带弟弟彻底搞懂链路层(三)

简介: hey guys,大家好啊,这里是 cxuan 计算机网络连载系列的文章第 12 篇文章。本篇文章我来跟你计算机网络中的数据链路层相关知识。

非共享介质型网络

如果说共享介质型网络是共享介质的话,那么非共享介质型网络就是不共享介质,那么如何通信呢?在这种方式下,网络中的每个介质会直接连上交换机,由交换机来转发数据帧。发送端和接收端不会共享通信介质,共享通信介质的意思就是介质之间直接通信。这种网络传输方式一般采用的是全双工通信。

非共享介质型网络比较适合应用于搭建虚拟局域网(VLAN),但是这种通信方式有一个及其致命的弱点:一旦交换机发生故障,那么与交换机相连的所有计算机都无法通信。

下面是非共享介质型网络的通信示意图

微信图片_20220416162304.png

如图所示,主机 A 发送了一个目标地址为 B,源地址为 A 的交换机,由交换机负责将数据转发给介质 B,如下图所示

微信图片_20220416162308.png

非共享型网络是一种全双工通信的方式,每个介质在发送数据的同时也能够接受来自交换机传递过来的数据。

交换集线器

交换集线器是一种共享型网络通信介质,它是使用同轴电缆作为传输介质,通常用于以太网中,交换集线器也叫做以太网交换机

微信图片_20220416162311.png

以太网交换机中的各个端口会根据介质的 MAC地址来转发数据,那么转发数据肯定得有所依靠啊,这时可以参考的表就叫做转发表(Forwarding Table),转发表中记录着每个介质的 MAC 地址。转发表当然不需要我们手动维护,交换机会自动维护转发表。交换机会自学每个数据包的经过介质的 MAC 地址,如下图所示

微信图片_20220416162314.png

由于不知道主机 B 的 MAC 地址,所以主机 A 发送的数据会经过交换机广播给以太网内的其他主机,主机 B 接收到数据后,会给主机 A 回送消息。

微信图片_20220416162318.png

在主机 B 给主机 A 回送消息后,交换机就知道主机 A 和主机 B 的 MAC 地址了,从此以后双方通信会在各自相连的端口之间进行。

由于 MAC 地址没有层次性,转发表中的记录个数与所有网络设备的数量有关,当设备增加时,转发表的记录也会越来越多,检索时间会逐渐增加。所以如果需要连接多个终端时,需要将网络分成多个数据链路,采用类似 IP 地址一样对地址进行分层管理。

在网络通信的过程中,由于网络链路的冗余或者路由线路冗余可能会造成闭环,也就是我们所称的环路。环路会导致数据报文在网络中不断重复复制,最终导致网络设备负载过重,无法正常运行。影响的范围可能会扩散至整个局域网,导致整个局域网里的计算机无法正常使用网络。

微信图片_20220416162322.png

那么如何检测网络中出现的环路呢?

环路检测方法

目前有两种检测环路的方式,一种是生成树,一种是源路由法

生成树:生成树指的是每个网桥必须在 1 - 10 秒内相互交换生成树协议单元包,以此来判断哪些接口使用,从而消除环路,一旦发生故障后就会立刻切换线路,利用没有被使用的端口进行传输。

源路由法:源路由法通常是用来解决令牌环路。这种方式可以判断发送数据的源地址是通过哪个网桥实现传输的,并将帧写入 RIF,网桥会根据这个 RIF 信息发送给目标地址,即使网桥中出现了环路,数据帧也不存在被反复转发的可能。

虚拟局域网 VLAN

网络通信过程中经常会遇到网络负载过高,通信性能下降的情况,往往遇到这种情况,就需要分散网络负载,变换部署网络设备的位置等。在虚拟局域网出现之前,往往需要管理员手动变更网络的拓扑结构,比如变更主机网段,进行硬件线路改造等,但是使用了虚拟局域网,就可以不用再做如此复杂的操作了,只需要修改网络结构即可。

那么虚拟局域网究竟是什么呢?

微信图片_20220416162326.png

如上图所示,交换机按照端口区分了多个网段,从而区分了广播数据的传播范围,提高网络安全性。然而异构的两个网段之间,需要利用具有路由功能的交换机才能实现通信。

由于交换机端口有两种 VLAN 属性,一个是 VLANID,一个是 VLANTAG,分别对应 VLAN 对数据包设置 VLAN 标签和允许通过的 VLANTAG(标签)数据包,不同 VLANID 端口,可以通过相互允许 VLANTAG,构建 VLAN。

以太网

以太网提了这么多次,那么以太网到底是什么?

数据链路层有很多分类,包括以太网、无线通信、PPP、ATM、POS、FDDI、Token Ring、HDMI 等,其中最著名的通信链路就是以太网了。

以太网最开始的时候,一般使用的是以同轴电缆为传输介质的共享介质型连接方式,这也是以太网的第一种方式,叫做经典以太网。而现在,随着互联设备的处理能力和传输速度的提高,现在都采用终端和交换机之间连接方式,这也是第二种方式,叫做交换式以太网。以太网使用的是 CSMA/CD 的总线技术,我们前面也介绍过了。

以太帧格式

在以太网链路上的数据包被称为以太帧,以太帧开头有一个叫做前导码(Preamble) 的部分,它是由 0、1 数字交替组合而成。前导码的末尾最后是一个叫做 SFD(Start Frame Delimiter) 的域,值为 11。前导码与 SFD 共同占用 8 个字节。

微信图片_20220416162330.png

以太网最后 2 bit 称为 SDF,而 IEEE802.3 中将最后 8 bit 称为 SDF。

IEEE802.3 是电气和电子工程师协会 (IEEE)标准的集合制定的标准。

这是以太帧的前导码部分,下面是以太帧的本体部分

微信图片_20220416162333.png

以太帧体格式也有两种,一种是以太帧格式,一种是 IEEE802.3 标准以太帧格式。

在以太帧格式中,以太帧的本体的前端是以太网的首部,总共占用 14 字节,分别是 6 字节的目标 MAC 地址、6 字节的源 MAC 地址和 2 字节的上层协议类型,后面是数据部分,占用 46 - 1500 字节,最后是 FCS(Frame Check Sequence,帧检验序列) 4 个字节。FCS 用于检查帧是否有所损坏,因为在通信过程中由于噪声干扰,可能会导致数据出现乱码位。

IEEE802.3 以太帧的格式有区别,一般以太帧中的类型字段却在 IEEE802.3 表示帧长度,此外新增加了 LLC 和 SNAP 字段。

数据链路层在细化的话可以分为两层,介质访问控制层和逻辑链路控制层

介质访问会根据以太网等不同链路特有的首部信息进行控制,逻辑链路层则根据以太网等不同链路共有的帧头信息进行控制。

LLC 和 SNAP 就是逻辑链路控制的首部信息,那么现在你应该明白怎么回事儿了吧。

相关文章
|
4月前
|
网络架构 智能硬件
重拾计网-第三弹 你不知道的计算机网络的秘密
重拾计网-第三弹 你不知道的计算机网络的秘密
|
4月前
|
网络协议 前端开发 Java
红中私教:计网那点事(1)
红中私教:计网那点事(1)
45 0
|
Java 关系型数据库 MySQL
【浅尝高并发编程】接私活差点翻车
作为一名本本分分的练习时长两年半的Java练习生,一直深耕在业务逻辑里,对并发编程的了解仅仅停留在八股文里。一次偶然的机会,接到一个私活,核心逻辑是写一个 定时访问api把数据持久化到数据库的小服务。
146 0
|
存储 域名解析 缓存
计算机网络连环炮40问
计算机网络体系大致分为三种,OSI七层模型、TCP/IP四层模型和五层模型。一般面试的时候考察比较多的是五层模型。
301 0
|
缓存 负载均衡 网络协议
【期末复习】计算机网络 谢希仁版(四)网络层(重点)
网络层 网络层 1. 网络层的核心功能: 分组转发与路由选择 1.1 网络协议IP 1.2 一些概念 2. 数据报服务和虚电路服务 2.1 虚电路网络 2.1.1 概念 2.1.2 组成 2.2 数据报网络 2.3 两者对比 3. IP 地址,子网掩码,无类地址,子网划分,路由聚合 3.1 IP地址 3.1.1 基础知识 3.1.2 特点 3.1.3 IP地址与硬件地址 3.1.4 两个地址127.0.0.1 和 192.168.1.xxx 区别 3.2 子网掩码 3.3 无类地址 3.4 子网划分 3.5 路由聚合 4. ARP协议 5. IP 数据报格式 6. IP 报文分片重组
311 0
【期末复习】计算机网络 谢希仁版(四)网络层(重点)
|
Web App开发 缓存 网络协议
计网必考题
计网必考题
150 0
|
网络协议 网络架构
带带弟弟彻底搞懂链路层(一)
hey guys,大家好啊,这里是 cxuan 计算机网络连载系列的文章第 12 篇文章。本篇文章我来跟你计算机网络中的数据链路层相关知识。
带带弟弟彻底搞懂链路层(一)
|
监控 数据安全/隐私保护
带带弟弟彻底搞懂链路层(二)
hey guys,大家好啊,这里是 cxuan 计算机网络连载系列的文章第 12 篇文章。本篇文章我来跟你计算机网络中的数据链路层相关知识。
带带弟弟彻底搞懂链路层(二)
|
存储 缓存 网络协议
【期末复习】计算机网络 谢希仁版(五)运输层(重点)
目录 运输层 1. 网络进程间的通信,端口号,套接字,在网络上唯一标识一个进程 2. UDP 与 TCP 2.1 端口 2.2 UDP 2.2.1 概述 2.2.2 首部格式 2.3 TCP 2.3.1 特点 3. TCP 报文段首部 4. TCP 连接建立,连接释放 4.1 TCP 连接建立,三次握手 4.2 TCP 连接释放,四次挥手 5. 可靠传输 5.1 工作原理 5.1.1 停止等待协议 5.1.2 连续ARQ协议 5.2 具体实现 5.2.1 以字节为单位的滑动窗口 5.2.2 超时重传时间的选择 5.2.3 选择确认SACK 6. TCP 窗口机制 7. TCP 的超时重传时间计
275 0
【期末复习】计算机网络 谢希仁版(五)运输层(重点)

相关实验场景

更多