计算机网络 第三章: 数据链路层概述

文章目录

数据链路层在网络体系结构中所处的地位

数据链路层在网络体系结构中处于关键的位置,它提供了物理传输的可靠性,并负责处理数据的错误检测、流量控制和介质访问等功能。它是网络通信的基础,为网络层提供了稳定的数据传输环境。

链路、数据链路和帧

链路

链路 (Link)是指从一个节点到相邻节点的一段物理线路(有线或无线),而中间没有任何其他的交换节点。

数据链路 (Data Link)是基于链路的。当在一条链路上传送数据时,除需要链路本身,还需要一些必要的通信协议来控制这些数据的传输,把实现这些协议的硬件和软件加到链路上,就构成了数据链路。

计算机中的网络适配器(俗称网卡)和其相应的软件驱动程序就实现了这些协议。一般的网络适配器都包含了物理层和数据链路层这两层的功能。

帧(Frame)是数据链路层对等实体之间在水平方向进行逻辑通信的协议数据单元PDU。

数据链路层的三个重要问题

封装成帧和透明传输

发送方的应用层将待传输的应用层协议数据单元交付给运输层,运输层为其添加一个运输层首部, 使之封装为运输层协议数据单元 并将运输层协议数据单元交付给网络层, 网络层位其添加一个网路层首部, 使之封装为网络层协议数据单元并将网路层数据单元交付给数据链路层, 数据链路层为其添加一个首部和尾部:

下图表示透明传输:

如果不解决上述问题,则数据链路层就会对上层交付的PDU的内容有所限制,即PDU中不能包含帧定界符。显然,这样的数据链路层没有什么应用价值。

如果能够采取措施,使得数据链路层对上层交付的PDU的内容没有任何限制,就好像数据链路层不存在一样,就称其为透明传输。

差错检测

发送方给接收方发送桢, 由于实际的通信链路都不是理想的, 表示比特的信号在信道上传输时不可避免的会产生失真 甚至出现误码, SO , 接收方收到该桢后 如何才能知道桢中出现了误码呢? 这就需要 差错检测: (奇偶校验 循环冗余校验两种算法)

可靠传输

如果数据链路层向其上层提供的是不可靠的传输服务, 则接收方的数据链路层丢弃有误码的桢即可.

若数据链路层向其上层提供的是可靠的传输服务, 这就需要数据链路层通过某种机制实现发送什么, 接收方都能正确收到.

总结

封装成帧和透明传输

数据链路层给上层交付下来的协议数据单元PDU添加帧首部和帧尾部,这称为封装成帧。

如果能够采取措施,使得数据链路层对上层交付的PDU的内容没有任何限制,就好像数据链路层不存在一样,就称其为透明传输。

差错检测

帧在传输的过程中可能出现误码。

接收方根据发送方添加在帧尾部中的检错码,可以检测出帧是否出现了误码。

可靠传输

不可靠传输服务:收到有误码的帧,直接丢弃,其他什么也不做;未收到发送方发送的帧,也不进行任何处理。

可靠传输服务:实现发送方发送什么,接收方最终都能正确收到。

相关推荐
Sheffield2 天前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
YuMiao6 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
Jony_9 天前
高可用移动网络连接
网络协议
chilix9 天前
Linux 跨网段路由转发配置
网络协议
DianSan_ERP11 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅11 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
gihigo199811 天前
基于TCP协议实现视频采集与通信
网络协议·tcp/ip·音视频
2501_9462055211 天前
晶圆机器人双臂怎么选型?适配2-12寸晶圆的末端效应器有哪些?
服务器·网络·机器人
linux kernel11 天前
第七部分:高级IO
服务器·网络
数字护盾(和中)11 天前
BAS+ATT&CK:企业主动防御的黄金组合
服务器·网络·数据库