计算机网络:数据链路层 —— 数据链路层概述

文章目录

数据链路层

在计算机网络中,链路层(Data Link Layer)是网络协议栈中的一层,负责管理和控制链路的建立、维护和释放 ,以及处理链路层的数据帧传输和错误控制 等功能。各种协议和技术(如以太网PPP 点对点协议等)都在链路层进行操作,以实现可靠的数据传输和链路的有效利用。

主要功能

  • 帧同步 :数据链路层负责将来自网络层的数据分割成合适大小的数据帧,并在接收端重新组装这些帧。帧同步确保每个帧的开始和结束可以被正确识别。

  • 差错检测与控制 :使用校验和 (checksum)或循环冗余校验(CRC, Cyclic Redundancy Check)等技术来检测传输过程中的错误。如果检测到错误,则数据链路层会要求重发受影响的数据帧。

  • 流量控制 :避免发送方发送数据的速度超过接收方处理的能力,通常采用滑动窗口(sliding window)等机制来控制数据流。

  • 拥塞控制:当网络中的数据量过大时,数据链路层会采取措施减少数据发送量,防止网络拥塞。

  • 介质访问控制(MAC) :确定何时以及如何访问共享介质(如以太网中的电缆)。常用的访问控制方法有 CSMA/CD(载波监听多址/碰撞检测)和 CSMA/CA(载波监听多址/冲突避免)。

  • 地址分配:分配唯一的硬件地址(如MAC地址)给网络上的每个设备,以便正确地寻址和转发数据帧。

  • 链路管理:建立、维护和终止数据链路连接,确保链路的有效性和可靠性。

基本概念

链路

链路(Link)是指用来连接两个节点(例如计算机、路由器等)的物理或逻辑路径 。它提供了节点之间的通信通路。即从一个节点到相邻节点的一段物理线路(有线或无线),而中间没有任何其他的交换节点。

链路的可靠性和带宽是网络连接的重要指标。可靠性指链路传输数据的稳定性和抗干扰能力,带宽则表示链路能够承载的数据传输速率。链路的性能和限制会根据具体的物理介质和网络设备而有所不同。

数据链路

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

数据链路负责将原始的比特流转化为有结构的数据帧,并管理数据的传输和错误控制数据链路层的主要作用是提供可靠的点对点数据传输,并检测和纠正数据传输中出现的错误

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

帧(Frame)是数据链路层中的基本传输单位 。它是由数据链路层定义的,存储了一个或多个数据字段,包括数据和控制信息。即,数据链路层对等实体之间在水平方向进行逻辑通信的协议数据单元PDU 。每个帧通常包含了帧头 (Frame Header)和帧尾(Frame Trailer)等控制字段,用于标识帧的开始和结束,并提供错误检测和纠正的机制。

在数据链路层的传输过程中,发送节点将数据进行分帧 ,并添加帧头和帧尾,形成完整的帧。接收节点通过接收到的帧进行帧解析,提取出数据和控制信息,并进行错误检测、纠正和确认。

帧在数据链路层的传输中起着重要的作用,它通过将数据划分为较小的块,并添加控制信息,实现了数据链路层的功能,如流量控制、差错检测和处理等。帧的具体结构和字段的定义会根据不同的数据链路协议而有所不同,例如以太网PPP 协议(Point-to-Point Protocol)等。

相关推荐
久绊A3 分钟前
网络攻击原理与攻击方法
运维·服务器·网络
张太行_16 分钟前
网络中的生成树协议(Spanning Tree Protocol,STP)
服务器·网络
问道飞鱼40 分钟前
【Kubernets】容器网络基础一:Veth Pair
网络·容器网络·veth pair
Pandaconda1 小时前
【计算机网络 - 基础问题】每日 3 题(三十二)
开发语言·网络·经验分享·笔记·后端·计算机网络·面试
戏神2 小时前
基于H3C环境的实验——OSPF
运维·网络·网络协议·ospf
hgdlip2 小时前
手机一键换IP地址软件:功能、应用与选择指南‌
网络·网络协议·tcp/ip·手机
三掌柜6662 小时前
2024三掌柜赠书活动第三十二期:渗透测试理论与实践
网络·安全·web安全
qq_254674412 小时前
IPv4数据报的首部格式 -计算机网络
网络·计算机网络
#include>3 小时前
【网络】初识https协议加密过程
网络·网络协议·https