计算机网络技术PPT课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章 数据链路层
本章主要内容
数据链路层的设计问题 差错检测与纠正 基本数据链路协议 滑动窗口协议 数据链路协议举例
1. 数据链路层的主要功能及设计问题
主要功能
为网络层提供良定义的服务接口 处理传输错误 流量控制
主要设计问题
服务类型 组帧 差错控制 流量控制
分组与帧的关系图示
Relationship between packets and frames
协议1:一个无限制的单工信道
假设信道不会出错,且网络层和物理层始终处于准备好状 态,因此既不需要差错控制也不需要流量控制。
发送方 1) 从网络层接收一个分组; 2) 将分组装入帧的信息域; 3) 将帧传给物理层; 4) 返回 1)
接收方 1) 等待帧到达事件; 2) 从物理层接收一个帧; 3) 从帧中取分组传给网络层; 4) 返回 1)
编码的类型
检错码:只能检测到数据传输发生了错误,但无法自 行纠正,通常与反馈重传结合起来使用以便进行差错 恢复; 纠错码:不权能够检测到数据传输发生了错误,而且 能够自行纠正错误。
如何检测与纠正错误?
码字(codeword):由m比特的数据(消息)加上r比特的 冗余(校验位)构成; 有效编码集:由2m个有效码字组成; 检错:当收到的码字为无效码字时检测出错误; 海明距离(Hamming Distance):两个码字的对应位上取 值不同的位数; 纠错:将收到的无效码字纠正到距其最近的有效码字; 检错码与纠错码的能力都是有限的。
CRC码的编码方法
例:G(X) = X4 + X + 1, 对1101011011进行CRC编码。
3. 基本数据链路协议
通过三个由简单到复杂的数据链路协议来介绍该层协议的 基本设计思想。
假设:
源主机A与目的主机B通过一条单工信道进行通信; 数据链路层通过库例程 to_physical_layer向物理层发送,帧校验的 计算由发送硬件完成并加上; 帧到达时先由硬件计算校验和,然后用事件(帧到达或收到坏帧) 向数据链路层报告,数据链路层用库例程 from_physical_layer从物 理层接收帧; 数据链路层通过库例程 to_network_layer和from_network_layer向/ 从网络层递交/接收分组; 数据链路层调用库例程wait_for_event (&event)等待事件的发生, 事件的类型从event中获得;
物理层编码违例法
使用物理层编码中的无效编码表示帧的边界。
字节填充图例
(a) A frame delimited by flag bytes (b) Four examples of byte sequences before and after stuffing.
比特填充图例
(a) The original data. (b) The data as they appear on the line. (c) The data as they are stored in receiver’s memory after destuffing.
1.1 服务类型
无确认的无连接服务
源节点向目的节点发送独立的帧,传输前不需要建立逻辑连接, 传输后也不要求目的节点进行确认,即不保证帧的正确传输。这 类服务适用于误码率非常低的传输环境及一些实时业务。
有确认的无连接服务
传输前不需要建立逻辑连接,但目的节点对于收到的每个帧都必 须进行确认,它保证每个帧都能被正确接收。这类服务适用于误 码率较高的传输环境。
1.3 差错控制与流量控制
差错控制的主要内容:
差错编码、反馈重传、超时重传、重复帧丢弃、定时 器管理等。
流量控制的主要机制:
基于反馈的流量控制(√) 基于速率的流量控制
2. 差错检测与纠正
出错的类型
单个错:由随机的信道热噪声引起,一次只影响1位; 突发错:由瞬间的脉冲噪声引起,一次影响许多位, 用突发长度表示突发错影响的最大数据位数。
带有字节填充的标志字节法
使用特殊的字节来表示帧的开始与结束。字节填充(特பைடு நூலகம்字节前 插入转义字符)。该方法依赖于特定的字符编码集,帧长必须是8 比特的整倍数,灵活性差,处理开销大。
带有比特填充的起止标志法
使用一个特殊的比特模式(01111110)作为帧的起始与结束标志。 比特填充(连续5个1后插入一个0)。该方法不依赖于特定的字符 编码集,灵活性强,处理简单。
这是一种多项式编码,它将位串看成是某个一元多项式的系数,如 1011001看成是一元多项式X6 + X4 + X3 + 1的系数; 信息多项式M(x):由m个信息比特为系数构成的多项式; 冗余多项式R(x):由r个冗余比特为系数构成的多项式; 码多项式T(x):在m个信息比特后加上r个冗余比特构成的码字所对应 的多项式,表达式为T(x) = xr·M(x) + R(x); 生成多项式G(x):双方预先确定用来计算R(x)的一个多项式; 编码方法:用对应于G(x)的位串去除对应于xr·M(x)的位串,所得的余 式即为R(x),将其附加到信息比特串的后面一起发送; 检错方法:用对应于G(x)的位串去除对应于T(x)的位串,若余式为0 则认为传输正确,否则认为传输错误; CRC码检错能力强,实现简单快捷,是应用最广泛的检错码。
编码集的检错与纠错能力
编码集的海明距离:编码集中任意两个有效码字的海明距 离的最小值。 检错能力:为检测出d比特错误,编码集的海明距离至少 应为d+1;奇偶校验是能够检测出1比特错误的检错码。 纠错能力:为纠正d比特错误,编码集的海明距离至少应 为2d+1;海明码是能够纠正1比特错误的纠错码。
循环冗余码(CRC码)
由于不需要确认,也就不需要帧序号。
有确认的面向连接的服务
传输前需要建立逻辑连接,每个帧被编上序号按序发送,目的节 点对收到的帧进行检错、确认与排序,它保证向网络层递交正确 有序的数据流。
数据链路层协议在路由器中的位置
Placement of the data link protocol
1.2 组帧(framing)
字符计数法
在帧头携带帧的长度。这种方法在帧传输出错后无法恢复同步。
本章主要内容
数据链路层的设计问题 差错检测与纠正 基本数据链路协议 滑动窗口协议 数据链路协议举例
1. 数据链路层的主要功能及设计问题
主要功能
为网络层提供良定义的服务接口 处理传输错误 流量控制
主要设计问题
服务类型 组帧 差错控制 流量控制
分组与帧的关系图示
Relationship between packets and frames
协议1:一个无限制的单工信道
假设信道不会出错,且网络层和物理层始终处于准备好状 态,因此既不需要差错控制也不需要流量控制。
发送方 1) 从网络层接收一个分组; 2) 将分组装入帧的信息域; 3) 将帧传给物理层; 4) 返回 1)
接收方 1) 等待帧到达事件; 2) 从物理层接收一个帧; 3) 从帧中取分组传给网络层; 4) 返回 1)
编码的类型
检错码:只能检测到数据传输发生了错误,但无法自 行纠正,通常与反馈重传结合起来使用以便进行差错 恢复; 纠错码:不权能够检测到数据传输发生了错误,而且 能够自行纠正错误。
如何检测与纠正错误?
码字(codeword):由m比特的数据(消息)加上r比特的 冗余(校验位)构成; 有效编码集:由2m个有效码字组成; 检错:当收到的码字为无效码字时检测出错误; 海明距离(Hamming Distance):两个码字的对应位上取 值不同的位数; 纠错:将收到的无效码字纠正到距其最近的有效码字; 检错码与纠错码的能力都是有限的。
CRC码的编码方法
例:G(X) = X4 + X + 1, 对1101011011进行CRC编码。
3. 基本数据链路协议
通过三个由简单到复杂的数据链路协议来介绍该层协议的 基本设计思想。
假设:
源主机A与目的主机B通过一条单工信道进行通信; 数据链路层通过库例程 to_physical_layer向物理层发送,帧校验的 计算由发送硬件完成并加上; 帧到达时先由硬件计算校验和,然后用事件(帧到达或收到坏帧) 向数据链路层报告,数据链路层用库例程 from_physical_layer从物 理层接收帧; 数据链路层通过库例程 to_network_layer和from_network_layer向/ 从网络层递交/接收分组; 数据链路层调用库例程wait_for_event (&event)等待事件的发生, 事件的类型从event中获得;
物理层编码违例法
使用物理层编码中的无效编码表示帧的边界。
字节填充图例
(a) A frame delimited by flag bytes (b) Four examples of byte sequences before and after stuffing.
比特填充图例
(a) The original data. (b) The data as they appear on the line. (c) The data as they are stored in receiver’s memory after destuffing.
1.1 服务类型
无确认的无连接服务
源节点向目的节点发送独立的帧,传输前不需要建立逻辑连接, 传输后也不要求目的节点进行确认,即不保证帧的正确传输。这 类服务适用于误码率非常低的传输环境及一些实时业务。
有确认的无连接服务
传输前不需要建立逻辑连接,但目的节点对于收到的每个帧都必 须进行确认,它保证每个帧都能被正确接收。这类服务适用于误 码率较高的传输环境。
1.3 差错控制与流量控制
差错控制的主要内容:
差错编码、反馈重传、超时重传、重复帧丢弃、定时 器管理等。
流量控制的主要机制:
基于反馈的流量控制(√) 基于速率的流量控制
2. 差错检测与纠正
出错的类型
单个错:由随机的信道热噪声引起,一次只影响1位; 突发错:由瞬间的脉冲噪声引起,一次影响许多位, 用突发长度表示突发错影响的最大数据位数。
带有字节填充的标志字节法
使用特殊的字节来表示帧的开始与结束。字节填充(特பைடு நூலகம்字节前 插入转义字符)。该方法依赖于特定的字符编码集,帧长必须是8 比特的整倍数,灵活性差,处理开销大。
带有比特填充的起止标志法
使用一个特殊的比特模式(01111110)作为帧的起始与结束标志。 比特填充(连续5个1后插入一个0)。该方法不依赖于特定的字符 编码集,灵活性强,处理简单。
这是一种多项式编码,它将位串看成是某个一元多项式的系数,如 1011001看成是一元多项式X6 + X4 + X3 + 1的系数; 信息多项式M(x):由m个信息比特为系数构成的多项式; 冗余多项式R(x):由r个冗余比特为系数构成的多项式; 码多项式T(x):在m个信息比特后加上r个冗余比特构成的码字所对应 的多项式,表达式为T(x) = xr·M(x) + R(x); 生成多项式G(x):双方预先确定用来计算R(x)的一个多项式; 编码方法:用对应于G(x)的位串去除对应于xr·M(x)的位串,所得的余 式即为R(x),将其附加到信息比特串的后面一起发送; 检错方法:用对应于G(x)的位串去除对应于T(x)的位串,若余式为0 则认为传输正确,否则认为传输错误; CRC码检错能力强,实现简单快捷,是应用最广泛的检错码。
编码集的检错与纠错能力
编码集的海明距离:编码集中任意两个有效码字的海明距 离的最小值。 检错能力:为检测出d比特错误,编码集的海明距离至少 应为d+1;奇偶校验是能够检测出1比特错误的检错码。 纠错能力:为纠正d比特错误,编码集的海明距离至少应 为2d+1;海明码是能够纠正1比特错误的纠错码。
循环冗余码(CRC码)
由于不需要确认,也就不需要帧序号。
有确认的面向连接的服务
传输前需要建立逻辑连接,每个帧被编上序号按序发送,目的节 点对收到的帧进行检错、确认与排序,它保证向网络层递交正确 有序的数据流。
数据链路层协议在路由器中的位置
Placement of the data link protocol
1.2 组帧(framing)
字符计数法
在帧头携带帧的长度。这种方法在帧传输出错后无法恢复同步。