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

文章目录

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

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

链路、数据链路和帧

链路

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

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

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

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

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

封装成帧和透明传输

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

下图表示透明传输:

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

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

差错检测

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

可靠传输

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

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

总结

封装成帧和透明传输

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

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

差错检测

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

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

可靠传输

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

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

相关推荐
weixin_416667963 小时前
【无标题】
运维·服务器·网络
予昊3 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket
Json____4 小时前
校园跑腿系统:使用node从零构建一套前后端分离的全栈实践项目
计算机网络·node·管理系统·wwwoop.com
上海云盾-小余5 小时前
流量攻击复盘:为什么 WAF 完好,业务依旧瘫痪
运维·服务器·网络
戴西软件5 小时前
戴西iDWS.3DViz Suite数据轻量化可视化软件,从传统桌面软件向云端协同的重大突破
大数据·运维·网络·人工智能·机器学习·3d
芯盾时代5 小时前
《金融业网络安全管理办法(征求意见稿)》全条款深度拆解(三)
网络·安全·网络安全
米饭不加菜5 小时前
ESP-01S通过TCP直接与手机建立通信
网络·tcp/ip·智能手机
闲云野鹤在人间6 小时前
OpenStack架构介绍和安装流程
linux·网络·架构·openstack
xx~t7 小时前
嵌入式——Linux软件编程——网络1
linux·c语言·网络·vscode·网络协议
夜听莺儿鸣8 小时前
901-005_系统分析师基础知识-计算机网络与分布式系统
计算机网络·软件工程·软考·系统分析师