【计算机网络】第三章 数据链路层(概述 封装成桢 差错检错)

简介: 【计算机网络】第三章 数据链路层(概述 封装成桢 差错检错)

第三章 数据链路层


3.1 数据链路层概述


数据链路层是计算机网络体系结构中的一层,位于物理层和网络层之间。它负责在相邻节点之间传输数据,并提供可靠的数据传输。


数据链路层的主要功能包括:


帧封装:将由网络层传递下来的数据分割成较小的数据帧(Frame),并为每个帧添加首部和尾部,以便在物理介质上进行传输。


物理地址寻址:通过媒体访问控制(MAC)地址,也称为物理地址或硬件地址,唯一标识网络中的设备。数据链路层使用MAC地址来确定数据帧的发送和接收方。


媒体访问控制:协调不同设备在共享媒体上的访问,以避免冲突和碰撞。常见的媒体访问控制方法包括载波监听多路访问/碰撞检测(CSMA/CD)和载波监听多路访问/碰撞避免(CSMA/CA)。


错误检测与纠正:通过添加校验位或循环冗余检测(CRC)等机制,在数据帧中包含冗余信息,以便接收方可以检测到传输过程中引入的错误并进行纠正。


流量控制:通过使用滑动窗口等技术,控制发送方和接收方之间的数据流量,以确保接收方能够正确接收和处理数据。


链路管理:建立、维护和释放链路连接,包括链路的建立、认证、授权和关闭等操作。

数据链路层的三个重要问题:封装成桢,差错检错,可靠传输


3.2 封装成帧


封装成桢 是指数据链路层给上层交付的协议数据单元添加桢头和桢尾使之称为桢。

  • 桢头和桢尾中包含着重要的控制信息。
  • 桢头和桢尾的作用之一就是桢定界。

透明传输 是指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样。

  • 面向字节的物理链路使用字节填充(或称为字符填充)的方法实现透明传输。
  • 面向比特的物理链路使用比特填充的方法实现透明传输。

3.3 差错检测


3.3.1 奇偶校验

奇偶校验:在待发送的数据后面添加 1 位奇偶校验码,使整个数据(包括所添加的校验位在内)中“1”的个数为奇数(奇校验)或偶数(偶校验)。

奇偶校验的漏检率很高,通常不采用。


3.3.2 循环冗余校验


收发双方约定好一个 生成多项式 G(x)。

发送放基于待发送的数据和生成多项式计算出差错检测码(冗余码),将其添加到待传输的后面一起传输。

检错码 只能检测出桢在传输过程中出现了差错,但并不能定位错误,因此 无法纠正错误。

循环冗余校验 有很好的的检错能量(漏检率非常低),虽然计算比较复杂,但非常易于用硬件实现,因此被广泛应用于数据链路层。

在计算机网络中通常采用我们后续课程中将要讨论的 检错重传方式来纠正传输中的差错,或者仅仅是丢弃检测到差错的桢,这取决于数据链路层向上提供的是可靠传输服务还是不可靠传输服务。


相关文章
|
29天前
|
网络协议 网络架构
【网络】TCP/IP 五层网络模型:数据链路层
【网络】TCP/IP 五层网络模型:数据链路层
38 1
|
2月前
|
缓存 算法 网络协议
一文详细理解计算机网络 - 数据链路层(考试和面试必备)
这篇文章详细介绍了计算机网络中数据链路层的概念、基本问题、点对点信道和广播信道的数据链路协议(如PPP和CSMA/CD),以及局域网和以太网的相关知识。
171 0
一文详细理解计算机网络 - 数据链路层(考试和面试必备)
|
26天前
|
网络协议 网络架构
【第三期】计算机网络常识/网络分层模型与数据包封装传输过程
【第三期】计算机网络常识/网络分层模型与数据包封装传输过程
41 0
|
29天前
|
机器学习/深度学习 存储 自然语言处理
深度学习入门:循环神经网络------RNN概述,词嵌入层,循环网络层及案例实践!(万字详解!)
深度学习入门:循环神经网络------RNN概述,词嵌入层,循环网络层及案例实践!(万字详解!)
|
1月前
|
机器学习/深度学习 PyTorch API
深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(超详解!!!)
深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(超详解!!!)
|
3月前
|
弹性计算 网络协议
计算机网络-数据链路层
计算机网络-数据链路层
计算机网络-数据链路层
|
3月前
|
存储 网络协议 安全
|
2月前
|
Linux 调度 Docker
容器网络概述
【9月更文挑战第9天】容器技术利用如命名空间(namespace)和控制组(cgroup)等技术创建隔离环境,实现资源限制与独立运行。命名空间避免命名冲突,cgroup则能对CPU、内存等资源进行限制。容器状态可通过镜像保存并标准化,确保在任何环境中都能复现相同状态。
|
3月前
|
存储 NoSQL MongoDB
八:《智慧的网络爬虫》— MongoDB概述
【8月更文挑战第14天】本篇文章简单介绍了MongoDB的下载和安装以;其基本的操作语法,并附上每个语法的代码示例,为后续的爬虫学习打下基础
43 0
八:《智慧的网络爬虫》— MongoDB概述
|
3月前
|
存储 运维 监控