计算机网络数据链路层复习总结一(超详细!!!)

本文详细阐述了数据链路层在通信网络中的地位,包括封装成帧、透明传输的必要性及解决方法,以及点对点协议PPP的特点、帧格式和工作状态。重点介绍了PPP协议的三个组成部分:IP封装、链路控制协议LCP和网络控制协议NCP。
摘要由CSDN通过智能技术生成

数据链路层

数据链路层的地位

网络中的主机、路由器等都必须实现数据链路层

数据链路层信道类型

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

封装成帧、透明传输、差错控制

3.1.1数据链路和帧

链路:从一个节点到相邻节点的一段物理线路,中间没有任何其他的交换结点。 一条链路只是一条通路的一个组成部分。是物理链路

数据链路:把实现控制数据传输的协议的硬件和软件加到链路上,就构成了数据链路。 是逻辑链路。例子如:网络适配器(即网卡)。

数据链路=链路+协议

3.1.2三个基本问题

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

用帧首部和帧尾部封装成帧

最大传送单元 MTU  :规定了所能传送的帧的数据部分长度上限。

透明传输

为什么要有透明传输?

如果数据中的某个字节的二进制代码恰好和 SOH 或 EOT 一样,数据链路层就会错误地“找到帧的边界”,导致错误。

数据部分恰好出现与 EOT 一样的代码

在这里透明的意思是指某一个实际存在的事物看起来却好像不存在一样。即将可能被认错的数据可以安全的传输,而不被认为其他的数据,影响数据传输。

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

解决方法:用“字节填充”或“字符填充”法解决透明传输的问题

差错检测

在传输过程中可能会产生比特差错:即可能会把1传输为0,将0传输为1。

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

检测方法

循环冗余检验 CRC  原理

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

CRC 冗余码的计算

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

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

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

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

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

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

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

可靠传输与不可靠传输

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

在数据链路层使用 CRC 检验,能够实现无比特差错的传输,但这还不是可靠传输。

要做到可靠传输,还必须再加上帧编号、确认和重传等机制。

3.2 点对点协议 PPP

3.2.1 PPP协议的特点

对于点对点的链路,目前使用得最广泛的数据链路层协议是点对点协议 PPP。

用户到 ISP 的链路使用 PPP 协议

PPP 协议应满足的需求

简单 ——首要需求(只进行CRC检验)。

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

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

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

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

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

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

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

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

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

PPP 协议的组成

三个组成部分:

一个将 IP 数据报封装到串行链路的方法。

一个链路控制协议 LCP 。

一套网络控制协议 NCP 。

3.2.2 PPP协议的帧格式

各字段的意义

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

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

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

尾部:2 个字段。

字节填充

当 PPP 用在异步传输时,使用字节填充法

零比特填充

当 PPP 用在同步传输链路时,采用零比特填充法

3.2.3 PPP协议的工作状态

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

PPP 协议的状态图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值