当前课程知识点:计算机网络 >  第三章 数据链路层 >  3.1 数据链路层的三个基本问题 >  数据链路层的三个基本问题

返回《计算机网络》慕课在线视频课程列表

数据链路层的三个基本问题在线视频

下一节:CSMA/CD协议

返回《计算机网络》慕课在线视频列表

数据链路层的三个基本问题课程教案、知识点、字幕

你好 数据链路层协议有许多

但有三个基本问题是共同的

今天将和大家分别讨论这三个问题

即封装成帧 透明传输和差错检测

一 封装成帧 (framing)

封装成帧就是

在一段数据的前后分别添加首部和尾部

然后就构成了一个帧

确定帧的界限

首部和尾部的一个重要作用就是进行帧界定

当数据是由可打印的 ASCII 码

组成的文本文件时

帧定界可以使用特殊的帧定界符

控制字符 SOH (Start Of Header)

放在一帧的最前面

表示帧的首部开始

另一个控制字符 EOT (End Of Transmission)

表示帧的结束

二 透明传输

当传送的帧由文本文件构成时

数据部分不会出现SOH

或EOT这样的帧定界控制字符

这样不管是什么字符都可以放在帧中传输过去

这样的传输就是透明传输

但当上述帧数据部分

由非ASCII码的文件构成时

如果其数据中某个字节的二进制代码

恰好和SOH或EOT一样

数据链路层就会错误地“找到帧的边界”

如图所示

遇到帧内容中的EOT时

被接收端错误解释为“传输结束”

后面的数据将被丢弃

这显然是非透明传输

解决方法 字节填充 (byte stuffing)

如图所示

发送端的数据链路层

在数据中出现控制字符SOH

或EOT的前面插入一个转义字符ESC

接收端的数据链路层

在将数据送往网络层之前

删除插入的转义字符

如果转义字符也出现在数据当中

那么应在转义字符前面插入一个转义字符ESC

当接收端收到连续的两个转义字符时

就删除其中前面的一个

三 差错检测

现实的通信链路都不会是理想的

传输过程中1可能变成0

0可能变成1 这就叫比特差错(误码率)

误码率和信噪比有很大的关系

因此 在计算机网络传输数据时

必须采用各种差错控制技术

目前在数据链路层广泛使用了

循环冗余检验的检错技术

一 循环冗余检验(CRC)

在发送端 先把数据划分为组

假定每组K个比特

现假定待传送的数据M=101001(k=6)

CRC运算就是在数据M后面

添加提供差错检测的n位冗余码

然后构成一个帧发送出去

一共发送(k+n )位

在所要发送的数据后添加冗余码

显然增大了数据传输的开销

但却可以进行差错检测

当传输可能出现差错时

付出的代价往往是很值得的

二 n位冗余码计算

用二进制的模2运算进行2^n乘M的运算

这相当于在M后面添加n个0

得到的(k+n )位的数除于收发双方

实现商定的长度为(n+1)位的除数P

得出的商是Q

而余数是R(n位,比P少一位)

R即为我们需要的冗余码

三 除数P

用生成多项式P(X)

表示上面的除数(假定n+1位)

P(X)=X^3+X^2+1 则P=1101

现在广泛使用的多项式P(X)有以下几种

CRC-16

CRC-CCITT

CRC-32

四 检测

在接收端把收到的数据以帧为单位

进行CRC检测

把收到的每一个帧除于同样的除数(模2运算)

然后检查得到的余数R

如果传输过程无差错

经过CRC检测得到的余数肯定是0

一 R=0则判定这个帧没有差错 接受

二 R!=0则判定这个帧有差错 丢弃

五 例子

M=101001(即 k = 6)

假定除数生成多项式P(X)=X^3+X^2+1

则除数P为1101(即n=3)

经模2除法运算的结果余数R=001

这个余数就作为冗余码

拼接在M的后面发送出去

这种为了进行差错检测添加的冗余码

常称为帧检验序列FCS

因此加上冗余码之后发送的帧是101001001

根据上述讨论 需要强调几点

一 在数据链路层

发送端帧检验序列FCS的生成

和接收端的CRC检验都是用硬件完成的

处理很迅速

因此并不会延误数据的传输

二 在数据链路层仅仅使用CRC差错检测技术

则只能做到对帧的无差错接受

“无差错接受”是指

凡是接受的帧 即不包括丢弃的帧

我们都能以非常接近于1的概率

认为这些帧在传输过程中没有产生差错

三 但还不是可靠传输

要做到“可靠传输” 即发送什么就收到什么

就必须再加上确认和重传机制

以上是数据链路层的三个基本单元内容

计算机网络课程列表:

第一章 概述

-1.1 计算机网络的发展历程及其在信息时代中的作用

--计算机网络的发展历程及其在信息时代中的作用

-1.2 互联网的组成

--互联网的组成

-1.3 电路交换和分组交换

--电路交换和分组交换

-1.4 计算机网络的性能

--计算机网络的性能

-1.5 计算机网络体系结构和层次划分

--计算机网络体系结构和层次划分

-第一章

第二章 物理层

-2.1 数据通信系统模型

--数据通信系统模型

-2.2 导向型传输媒体

--导向型传输媒体

-2.3 光导纤维

--光导纤维

-2.4 非导向型传输媒体

--非导向型传输媒体

-2.5 信道的极限容量

--信道的极限容量

-2.6 信道复用技术

--信道复用技术

-2.7 ADSL

--ADSL

-第二章

第三章 数据链路层

-3.1 数据链路层的三个基本问题

--数据链路层的三个基本问题

-3.2 CSMA/CD协议

--CSMA/CD协议

-3.3 虚拟局域网

--虚拟局域网

-3.4 扩展的以太网

--扩展的以太网

-3.5 高速以太网

--高速以太网

-第三章

第四章 网络层

-4.1 分类的IP地址-划分子网

--分类的IP地址-划分子网

-4.2 无分类编址-构造超网

--无分类编址-构造超网

-4.3 ICMP协议

--ICMP协议

-4.4 路由器结构

--路由器结构

-4.5 RIP协议

--RIP协议

-4.6 IP多播

--IP多播

-第四章

第五章 运输层

-5.1 用户数据报协议UDP

--用户数据报协议UDP

-5.2 TCP报文段首部格式

--TCP报文段首部格式

-5.3 可靠传输工作原理

--可靠传输工作原理

-5.4 字节为单位的滑动窗口实现

--字节为单位的滑动窗口实现

-第五章

第六章 应用层

-6.1 网络应用层

--网络应用层

-6.2 DNS

--DNS

-6.3 FTP

--FTP

-6.4 HTTP

--HTTP

-6.5 P2P

--P2P

-6.6 计算机网络面临的安全性威胁

--计算机网络面临的安全性威胁

-6.7 防火墙

--防火墙

--第六章

第七章 网络实验

-7.1 交换机基本配置

--交换机基本配置

-7.2 路由器基本配置

--路由器基本配置

-7.3 交换机端口隔离

--交换机端口隔离

-7.4 跨交换机实现相同VLAN通信

--跨交换机实现相同VLAN通信

-7.5 动态路由

--动态路由

-7.6 静态路由

--静态路由

数据链路层的三个基本问题笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。