计算机网络考试复习——第三章 3.1 3.2

news2025/1/17 0:27:26

本章考试范围为3.1 3.2 3.3 3.4

首先明确数据链路层在网络中是在物理层的上面从下网上看是在第二层,在数据链路层传输的单位是

网络中的主机、路由器等都必须实现数据链路层,局域网中的主机、交换机等都必须实现数据链路层。

数据链路层的地位:

数据链路层的两种信道类型:点对点通信,使用一对一的点对点通信方式。广播式通信,使用一对多的广播通信方式。 必须使用专用的共享信道协议来协调这些主机的数据发送。

3.1数据链路层的几个公共问题

1)数据链路和帧:

链路 (link) :

一条无源的点到点的物理线路段,中间没有任何其他的交换结点。

一条链路只是一条通路的一个组成部分。 或物理链路。

数据链路 (data link):

把实现控制数据传输的协议的硬件和软件加到链路上,就构成了数据链路。 或逻辑链路。

典型实现:适配器(即网卡)

2)三个基本问题

1.封装成帧

封装成帧 (framing):在一段数据的前后分别添加首部尾部,构成一个帧。 首部和尾部的一个重要作用就是进行帧定界(即确定帧的界限)。

用控制字符作为帧定界符:

控制字符 SOH (Start Of Header) 放在一帧的最前面,表示帧的首部开始。

控制字符 EOT (End Of Transmission) 放在一帧的末尾,表示帧的结束。

 2.透明传输

如果数据中的某个字节的二进制代码恰好和 SOH 或 EOT 一样,数据链路层就会错误地“找到帧的边界”,导致错误。遇到这个问题就需要采用零比特传输的方式来解决。

透明:指某一个实际存在的事物看起来却好像不存在一样。

“在数据链路层透明传送数据”表示:无论发送什么样的比特组合的数据,这些数据都能够按照原样没有差错地通过这个数据链路层。

 3.差错控制

在传输过程中可能会产生比特差错:1->0, 0->1。

在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate)。

为了解决这个问题提出了:循环冗余检验 CRC (Cyclic Redundancy Check) 原理

在发送端,先把数据划分为组。假定每组 k 个比特。 CRC 运算在每组 M 后面再添加供差错检测用的 n 位冗余码,然后构成一个帧发送出去。一共发送 (k + n) 位。

CRC 冗余码的计算

这种为了进行检错而添加的冗余码常称为帧检验序列 FCS (Frame Check Sequence)。

采用冗余码计算的一个过程

1,用二进制的模 2 运算进行 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。

2,得到的 (k + n) 位的数除以事先选定好的长度为 (n + 1) 位的除数 P,得出商是 Q ,余数是 R,余数 R 比除数 P 少 1 位,即 R 是 n 位。

3,将余数 R 作为冗余码拼接在数据 M 后面,一起发送出去。

 计算举例:这样的计算是肯定要会的这里的计算要特别注意,和我们平常的计算是不一样的,不是单纯的一个除法是模2除法。可以观察到除的时候被除数第一个是1就填1第一个是0就填0然后不是做减法是进行比较若相同则为0若相反则为1也就是一个异或的过程。

在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。

循环冗余检验 CRC 和帧检验序列 FCS 并不等同。

1.CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。

2.FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。

仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受 (accept)。 即:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错”。 即:“凡是接收端数据链路层接受的帧均无差错”。

这个是检错码并非纠错码只可以判断是否错误而不可以进行纠正。

注意:“无比特差错”与“无传输差错”是不同的

可靠传输:数据链路层的发送端发送什么,在接收端就收到什么。

传输差错可分为两大类: 比特差错传输差错:帧丢失、帧重复或帧失序等。

在数据链路层使用 CRC 检验,能够实现无比特差错的传输,但这还不是可靠传输。 要做到可靠传输,还必须再加上帧编号、确认和重传等机制。 

3.2点对点协议

1)点对点协议的特点

对于点对点的链路,目前使用得最广泛的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。 PPP 协议在 1994 年就已成为互联网的正式标准 [RFC 1661, STD51]

1. PPP 协议应满足的需求(看着字多实际上重点就前4个看看即可)

1,简单 ——首要要求。

2,封装成帧 —— 必须规定特殊的字符作为帧定界符。

3,透明性 —— 必须保证数据传输的透明性。

4,多种网络层协议 —— 能够在同一条物理链路上同时支持多种网络层协议。

5,多种类型链路 —— 能够在多种类型的链路上运行。

6,差错检测 —— 能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。

7,检测连接状态 —— 能够及时自动检测出链路是否处于正常工作状态。

8,最大传送单元 —— 必须对每一种类型的点对点链路设置最大传送单元  MTU 的标准默认值,促进各种实现之间的互操作性。

9,网络层地址协商 —— 必须提供一种机制使通信的两个网络层实体能够通过协商知道或能够配置彼此的网络层地址。

10,数据压缩协商 —— 必须提供一种方法来协商使用数据压缩算法。

2.ppp协议的组成

三个组成部分: 一个将 IP 数据报封装到串行链路的方法。 一个链路控制协议 LCP (Link Control Protocol)。 一套网络控制协议 NCP (Network Control Protocol)。

2)ppp协议的帧的格式

各个字段的意义:

首部:4 个字段

标志字段 F: 0x7E 。连续两帧之间只需要用一个标志字段。

地址字段 A:只置为 0xFF。实际上不起作用。

控制字段 C:通常置为 0x03。 协议字段。

尾部:2 个字段。

在涉及到透明传输问题是也是有两种解决方法 零比特填充和字节填充

当 PPP 用在异步传输时,使用字节填充法。 当 PPP 用在同步传输链路时,采用零比特填充法。

3)PPP 协议的工作状态(看看即可)

PPP 链路初始化过程: 用户拨号接入 ISP 后,就建立了一条从用户个人电脑到 ISP 的物理连接。 用户个人电脑向 ISP 发送一系列的链路控制协议 LCP 分组(封装成多个 PPP 帧),以便建立LCP连接。 之后进行网络层配置。网络控制协议 NCP 给新接入的用户个人电脑分配一个临时的 IP 地址。 当用户通信完毕时,NCP 释放网络层连接,收回原来分配出去的IP地址。LCP 释放数据链路层连接。最后释放的是物理层的连接。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/415528.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Win10 下编译 OpenCV 4.7.0详细全过程,包含xfeatures2d

在Win10下编译 OpenCV 4.7.0过程中,踩了几个坑,这里记录下来,供大家参考。 1. 下载源文件 GitHub上下载OpenCV 4.7.0源文件,及opencv_contrib-4.7.0,如果不方便下载,以下是百度网盘链接,有需要…

maven将jar包添加到本地仓库

第一步:下载需要添加的jar包 可以在maven库中查找下载,也可以在对应官网下载 maven库网址:https://mvnrepository.com/ 找到对应版本的jar包下载 第二步:将下载的jar包放到指定位置(位置自己指定)&#xf…

Spring的核心与设计思想

目录 IoC 传统程序开发思想 传统程序开发的缺陷 控制反转式程序开发 对比总结 理解Spring IoC DI 总结 我们通常所说的Spring指的是Spring Framework(Spring 框架),它是一个开源的框架,有着活跃而庞大的社区,Spring支持广泛的应用场景,可以让Java企业级的应用程序开发…

改进蚁狮优化算法

目录 ​1 主要内容 2 部分程序 3 程序结果 4 程序链接 ​1 主要内容 该程序方法复现《改进蚁狮算法的无线传感器网络覆盖优化》两种改进算法模型,即原始ALO算法的基础上添加了两种改进策略: - 改进1:将原先的间断性边界收缩因子变为连…

SpringAop 源码解析 (二) - 代理对象的创建以及执行过程

一、SpringAop 代理创建 以及 执行过程 在上篇文章中分析得出在使用 Aop 时,实际向 Spring 容器中注入了一个 AnnotationAwareAspectJAutoProxyCreator 动态代理 bean 生成处理器,该类有实现 BeanPostProcessor 扩展方法,并且在 postProcess…

文心一言 VS chatgpt (7)-- 算法导论2.3 3~4题

三、使用数学归纳法证明:当n刚好是2的幂时,以下递归式的解是 T(n)nlgn。若n2,T(n)2;若n2^k,k>1,T(n)2T(n/2)n。 文心一言: chatgpt: 首先,当 n2 时,T(n)2log₂n2,显…

结构体全解,适合初学者的一条龙深度讲解(附手绘图详解)

我们知道,C语言是允许我们自己来创造类型的,这些类型就叫做——自定义类型。 自定义类型又包括结构体类型,联合体类型还有枚举类型。 今天的文章,我们就着重讲解这其中的结构体类型。 目录 结构体的声明 1.1结构的基础知识 …

托福高频真词List01//附阅读真题

once in a whileoccasionally adv 偶尔 🍮segregateseparateV.隔离🍮leftover remainingadj.剩余的 rivalcompetitor rivalcompete n.对手 v.对抗 apparentlyseeminglyadv.显然 🍮unrivaledunequaledadj.无与伦比的 🍮&#x…

TCPIP vs OSI模型:网络通信的两种参考模型有哪些不同?

前言 欢迎来到今天的每日一题,每日一提。昨天聊的是面试中经常会问到tcp协议 。在面试中一旦问到TCP/IP,那么OSI模型肯定是躲不过的。如果直接回答OSI模型有7层,和TCP/IP的区别就是层数不一样。那么恭喜你可以提前回去等通知了。所以今天就聊…

23考研重大软院数一英一391分经验帖

今年这情况之后,所有前人的经验帖作废。 前言: 本校本专业生一战上岸,属于考研界难度最低的一档。 今年有个初试439的怪物,属于是蚌了,第二名也有419,第三名就断档了,我初试第五。 政治78&#…

基于html+css的盒子展示1

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

学习MongoDB这一篇就足够了

这篇博客详细的介绍了MongoDB的安装过程,并配置成了自启动服务,非常方便,亲测有效。 MongoDB的安装配置教程(很详细,你想要的都在这里)http://t.csdn.cn/XWV0B IDEA中 JAVA操作MongoDB: 1. 这篇博客主要介…

计算机操作系统第四版第五章虚拟存储器—课后题答案

1.常规存储器管理方式具有哪两大特征?它对系统性能有何影响? 一次性和驻留性。 一次性及驻留性特征使得许多在程序中不用或暂时不用的程序(数据)占据了大量的内存空间,而一些需要运行的作业又无法装入运行,…

CSDN每日一练:鬼画符门之点点大阵

CSDN每日一练:鬼画符门之点点大阵题目描述题目逻辑老顾的提交CSDN题目特色:阅读理解小结题目描述 题目名称:鬼画符门之点点大阵 时间限制:1000ms 内存限制:256M 题目描述 小艺师从鬼画符门派,由于学艺不精只…

如何解决DNS劫持

随着互联网的不断发展,DNS(域名系统)成为了构建网络基础的重要组成部分。而DNS遭到劫持,成为一种常见的安全问题。那么DNS遭到劫持是什么意思呢?如何解决DNS劫持问题呢?下面就让小编来为您一一解答。 DNS遭到劫持是什么意思? DNS遭到劫持指的是黑客通…

SSM学习记录2:传参(注释方式 + SprigMVC项目 + 2022发布版本IDEA)

SpingMVC传参(一般方式 json方式) 一般方式 package controller;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBod…

OldWang带你了解MySQL(五)

文章目录🔥MySQL中定义空值🔥MySQL中的别名🔥MySQL中去除重复🔥查询中的行选择🔥MySQL中的比较条件🔥其他比较条件🔥逻辑条件🔥优先规则🔥使用 ORDER BY 排序&#x1f52…

JavaScript【八】JavaScript函数高级

文章目录🌟前言🌟回调函数🌟递归函数🌟闭包🌟什么是闭包函数?🌟 闭包三个特性🌟 闭包的缺点🌟JavaScript的垃圾回收机制🌟闭包小案例🌟局部变量长期驻扎内存…

STM32F407串口通信

本文是基于江科大B站视频编写,参考各种资料进行学习。 1、USART串口协议 硬件电路(接线) 2、USART串口外设 常用波特率为9600、115200 必须对应特定引脚,才能实现通信,如果引脚冲突,看看有没有重…

数据结构和算法学习记录——层序遍历(层次遍历)、二叉树遍历的应用(输出二叉树中的叶节点、求二叉树的高度、二元运算表达式树及其遍历、由两种遍历序列确定二叉树)

目录 层序遍历 思路图解 代码实现 二叉树遍历的应用 输出二叉树中的叶节点 代码实现 求二叉树的高度 思路图解 代码实现 二元运算表达式树及其遍历 由两种遍历序列确定二叉树 层序遍历 层序遍历可以通过一个队列来实现,其基本过程为: 先根…