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

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

第三章 数据链路层


3.1 数据链路层概述


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


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


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


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


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


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


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


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

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


3.2 封装成帧


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

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

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

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

3.3 差错检测


3.3.1 奇偶校验

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

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


3.3.2 循环冗余校验


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

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

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

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

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


相关文章
|
9天前
|
存储 算法 网络虚拟化
【计算机网络】学习笔记,第三篇:数据链路层
现在的光纤宽带接入 FTTx 都要使用 PPPoE 的方式进行接入。在 PPPoE 弹出的窗口中键入在网络运营商购买的用户名和密码,就可以进行宽带上网了 利用 ADSL 进行宽带上网时,从用户个人电脑到家中的 ADSL 调制解调器之间,也是使用 RJ-45 和 5 类线(即以太网使用的网线)进行连接的,并且也是使用 PPPoE 弹出的窗口进行拨号连接的
21 5
|
1天前
|
网络协议 Java 开发者
网络编程概述
网络编程
26 8
|
11天前
计算机网络——数据链路层-媒体接入控制-静态划分信道(频分复用FDM、时分复用TDM、波分复用WDM、码分复用CDM)
计算机网络——数据链路层-媒体接入控制-静态划分信道(频分复用FDM、时分复用TDM、波分复用WDM、码分复用CDM)
13 1
|
11天前
计算机网络——数据链路层-媒体接入控制的基本概念
计算机网络——数据链路层-媒体接入控制的基本概念
21 7
|
11天前
|
网络协议 C语言 网络架构
计算机网络——数据链路层-点对点协议(组成部分、PPP帧格式、透明传输、差错检测、工作状态)
计算机网络——数据链路层-点对点协议(组成部分、PPP帧格式、透明传输、差错检测、工作状态)
34 7
|
11天前
|
缓存
计算机网络——数据链路层-可靠传输的实现机制:选择重传协议SR(介绍、工作原理、窗口尺寸、题目练习)
计算机网络——数据链路层-可靠传输的实现机制:选择重传协议SR(介绍、工作原理、窗口尺寸、题目练习)
15 0
|
28天前
|
消息中间件 Java Linux
2024年最全BATJ真题突击:Java基础+JVM+分布式高并发+网络编程+Linux(1),2024年最新意外的惊喜
2024年最全BATJ真题突击:Java基础+JVM+分布式高并发+网络编程+Linux(1),2024年最新意外的惊喜
|
10天前
|
网络协议 算法 Linux
【嵌入式软件工程师面经】Linux网络编程Socket
【嵌入式软件工程师面经】Linux网络编程Socket
27 1
|
11天前
|
负载均衡 Ubuntu Linux
Linux命令探秘:bond2team与网络绑定技术
Linux的`bond2team`是网络绑定和团队技术工具,用于组合多个网络接口以提升带宽、容错性和负载均衡。通过安装`ifenslave-2.6`,在`/etc/sysconfig/network-scripts/`或`/etc/network/interfaces`配置文件中设定接口绑定模式,如`activebackup`。它支持负载均衡、容错和热备等多种工作模式,确保网络高可用性和性能。在配置前务必备份,并重启服务使配置生效。
|
13天前
|
Linux 数据安全/隐私保护 Windows
linux 搭建cloudreve win映射网络驱动器WebDav
linux 搭建cloudreve win映射网络驱动器WebDav

热门文章

最新文章