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

文章目录

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

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

链路、数据链路和帧

链路

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

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

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

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

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

封装成帧和透明传输

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

下图表示透明传输:

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

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

差错检测

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

可靠传输

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

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

总结

封装成帧和透明传输

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

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

差错检测

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

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

可靠传输

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

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

相关推荐
guts°2 小时前
17-VRRP
网络·智能路由器
Jewel Q2 小时前
动态路由协议基础
网络·智能路由器
宇称不守恒4.03 小时前
2025暑期—06神经网络-常见网络2
网络·人工智能·神经网络
Dreams_l3 小时前
网络编程2(应用层协议,传输层协议)
运维·服务器·网络
7ACE3 小时前
Wireshark TS | 发送数据超出接收窗口
网络协议·tcp/ip·wireshark
数据与人工智能律师4 小时前
数字迷雾中的安全锚点:解码匿名化与假名化的法律边界与商业价值
大数据·网络·人工智能·云计算·区块链
先知后行。4 小时前
网络协议HTTP、TCP(草稿)
网络·网络协议
xzkyd outpaper4 小时前
QUIC协议如何在UDP基础上解决网络切换问题
网络·计算机网络·udp·quic
明月看潮生4 小时前
编程与数学 03-002 计算机网络 06_网络层职责
计算机网络·青少年编程·编程与数学
碳酸的唐5 小时前
Inception网络架构:深度学习视觉模型的里程碑
网络·深度学习·架构