第3章 数据链路层
第3章数据链路层-1

g1
g2
gr-1
R0
R1
Rr-1
信息输入端
图3.5 CRC码的编码电路
码字输出端 输出开关
3.2 差错检测与校正(续)
常用的检错码 ----循环冗余码
大于r+1的突发错误
• 若具体取r=16,则能检测出所有双错、奇数位错、突 发长度小于等于16的突发错以及1-2-15(约为99.997%) 的突发长度为17的突发错和1-2-16(约为99.998%)的
突发长度大于等于18的突发错
3.2 差错检测与校正(续)
常用的检错码 ----循环冗余码
除以G(x)的运算易于用移位寄存器和半 加器来实现
3.2 差错检测与校正(续)
传输差错的特性
➢ 噪声分类:
• 信道所固有的,持续存在的随机热噪声 • 由于外界特定的短暂原因所造成的冲击噪声
➢ 噪声比较:
• 随机错通常较少 • 冲击噪声的幅度可以相当大 ,它是传输中产生差错
的重要原因
3.2 差错检测与校正(续)
传输差错的特性
➢ 衡量一个信道质量的重要参数是误码率:
*是要求同学了解的,这些内容在本电子教案中并未讲解而是要求同学自己阅读教材。
3.1 数据链路层的功能
➢ 基本功能:
• 将物理层提供的原始的传送比特流的可能出错的物理连 接改造成为逻辑上无差错的数据链路
• 最基本的服务就是将源机器网络层来的数据可靠地传输 到相邻节点的目标机网络层
• 要完成许多特定的功能 ☆ 主要有如何将比特组合成帧(frame); ☆ 处理传输中出现的差错; ☆ 调节发送方的发送速率不至于使较慢的接收方不能 承受,以及数据链路层连接的建立、维持和释放, 称之为链路管理。
计算机网络—第3章 数据链路层

数据链路层的简单模型
主机 H1 向 H2 发送数据
路由器 R1 电话网 局域网 路由器 R2 广域网 路由器 R3 局域网 H2 应用层 R1 网络层 链路层 物理层 R2 网络层 链路层 物理层 R3 网络层 链路层 物理层 运输层 网络层 链路层 物理层 主机 H2
从层次上来看数据的流动
仅从数据链路层观察帧的流动
用控制字符进行帧定界的方法举例
帧开始符
SOH SOH
帧结束符 装在帧中的数据部分 帧
EOT EOT
发送在前 帧尾部
第3章 数据链路层—曹来成
10
3.1.2.2 透明传输
出现了“EOT” 完整的帧 发送 在前 数据部分
SOH SOH EOT EOT EOT
解决透明传输问题
字节填充(byte stuffing)或字符填充(character stuffing) ① 发送端的数据链路层:在数据中出现控制 字符“SOH”或“EOT”的前面插入一个转义 字符“ESC”(其十六进制编码是 1B)。 ② 接收端的数据链路层:在将数据送往网络 层之前删除插入的转义字符。
(a) 接收 帧
结点 B
3.1.2.1 封装成帧 • 封装成帧(framing)就是在一段数据的前后分 别添加首部和尾部。 • 首部和尾部的一个重要作用就是进行帧定 界。 IP 数据报 帧开始 帧结束
开始 发送 帧首部 帧的数据部分 MTU 数据链路层的帧长
2011/8/23 第3章 数据链路层—曹来成 9 2011/8/23
工作原理:
多项式除法,将余式作为冗余信息传 送。
2011/8/23 第3章 数据链路层—曹来成 19 2011/8/23 第3章 数据链路层—曹来成 20
《计算机网络(第7版)谢希仁著》第三章数据链路层要点及习题总结

《计算机⽹络(第7版)谢希仁著》第三章数据链路层要点及习题总结1.数据链路层的三个基本问题:封装成帧,透明传输,差错检测2.点对点信道的数据链路层 (1)链路和数据链路 链路(物理链路):链路(link)就是从⼀个结点到相邻结点的⼀段物理线路(有线或⽆线〉,⽽中间没有任何其他的交换结点 数据链路(逻辑链路):为当需要在⼀条线路上传送数据时,除了必须有⼀条物理线路外,还必须有⼀些必要的通信协议来控制这些数据的传输,换⽽⾔之,数据链路=链路+通信协议 (2)早期的数据通信协议叫通信规程 (3)数据链路层的协议数据单元-------帧 (4)封装成帧:封装成帧(framing)就是在⼀段数据的前后分别添加⾸部和尾部,这样就构成了⼀个帧。
⼀个帧的帧长等于帧的数据部分长度加上帧⾸部和帧尾部的长度。
⾸部和尾部的⼀个重要作⽤就是进⾏帧定界(即确定帧的界限),为了提⾼帧的传输效率,应当使帧的数据部分长度尽可能地⼤于⾸部和尾部的长度。
但是,每⼀种链路层协议都规定了所能传送的帧的数据部分长度上限⼀⼀最⼤传送单元 MTU (Maximum Transfer Unit),当数据是由可打印的 ASCII 码组成的⽂本⽂件时,帧定界可以使⽤特殊的帧定界符(如SOH和EOT)。
SOH:Start Of Header EOT:End Of Transmission (5)透明传输:所传输的数据中的任何 8 ⽐特的组合⼀定不允许和⽤作帧定界的控制字符的⽐特编码⼀样,⽆论什么样的⽐特组合的数据,都能够按照原样没有差错地通过这个数据链路层。
发送端的数据链路层在数据中出现控制字符 “SOH”或“EOT”的前⾯插⼊⼀个转义字符“ESC”(其⼗六进制编码是 1B,⼆进制是 00011011 )。
⽽在接收端的数据链路层在把数据送往⽹络层之前删除这个插⼊的转义字符。
这种⽅法称为字节填充或字符填充。
如果转义字符也出现在数据当中,那么解决⽅法仍然是在转义字符的前⾯插⼊⼀个转义字符。
计算机网络第五版课件(谢希仁编著)第三章 数据链路层

Note
Byte stuffing is the process of adding 1 extra byte whenever there is a flag or escape character in the text.
课件制作人:谢希仁
Figure 11.2 Byte stuffing and unstuffing
计算机网络(第 5 版)
第 3 章 数据链路层
课件制作人:谢希仁
第 3 章 数据链路层
3.1 使用点对点信道的数据链路层 3.1.1 数据链路和帧 3.1.2 三个基本问题 3.2 点对点协议 PPP 3.2.1 PPP 协议的特点 3.2.2 PPP 协议的帧格式 3.2.3 PPP 协议的工作状态
网络层 链路层
运输层
网络层 链路层
物理层
物理层
物理层
物理层
物理层
课件制作人:谢希仁
3.1 使用点对点信道的数据链路层
3.1.1 数据链路和帧
链路(link)是一条无源的点到点的物理线 路段,中间没有任何其他的交换结点。
一条链路只是一条通路的一个组成部分。
数据链路(data link) 除了物理线路外,还必须 有通信协议来控制这些数据的传输。若把实现 这些协议的硬件和软件加到链路上,就构成了 数据链路。
被接收端 被接收端当作无效帧而丢弃 误认为是一个帧 如果数据中的某个字节的二进制代码恰好和SOH或EOT控制 字符一样,则数据链路层会错误地找到帧的边界,只把部分 帧手下,剩下的丢弃。
以上的传输就不是透明传输,需要解决
课件制作人:谢希仁
解决透明传输问题
第三章数据链路层

定义:在星形拓扑中, 每个设备只与中心控 制器有点到点专用链 路。设备并不互相连 接。中心控制器通常 为集线器Hub。 HUB是一个共享设备,主要提供信号放大和中转 的功能,它把一个端口接收的所有信号向所有端 口分发出去。一些集线器在分发之前将弱信号加 强后重新发出,一些集线器则排列信号的时序以 提供所有端口间的同步数据通信。
连接中设备间相互关系:
对等式:设备平等地共享链路。如环形、 网状拓扑。
主从式:由一个设备控制通话而其他设备 必须通过它进行传输。如星形、树形拓扑。 总线式拓扑适合于任意一种模式。
1、Mesh Topology(网状拓扑) 定义:在网状拓扑中,设备之间实现点对点连接, 每条链路只承载所连接的两站点之 间的通信流量。
CRC是基于二进制除法的。 定义
CRC是通过在数据单元末尾附加一串循环冗余码 或循环冗余校验余数使得整个数据单元可被另一个预 定二进制数(生成函数)所整除。在传输终点,用同一 个数去除输入的数据单元。如果此时不产生余数,则 认为数据单元完全正确,接受该数据单元。有余数则 意味着该数据单元在传输过程中被破坏而拒绝该数据 单元。
余数为0, 所以码字正确。
② 因生成码共5位,所以: 冗余码有4பைடு நூலகம்,为1001 ;
信息码是:110011。
注意:
循环冗余校验CRC只能做到差错检测而不能进行 差错纠错。 循环冗余校验CRC只能做到无差错接受,即“凡 是接收端数据链路层接受的帧,都以非常接近于1的 概率认为这些帧在传输过程中没有产生差错”。 但要使传输到接收端的帧无差错、无丢失、无重 复,按发送顺序接受,就必须加上确认和重传机制。
到达接收方的数据单元首先是数据,然后是 CRC码,接收方将整个数据串(数据+CRC码)当作 一个整体去除以用来产生CRC码的同一个除数。 如果数据串无差错到达接收方,则产生余数0, 数据单元将通过校验;如果在传输中数据单元被改 变,则除法将产生非零余数,数据单元将不能通过 校验。
数据通信与计算机网络第五版(习题答案)——第三章数据链路层

数据通信与计算机网络第五版第三章数据链路层3-1 数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与“数据链路接通了”的区别何在?解答:所谓链路就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。
在进行数据通信时,两个计算机之间的通信路径往往要经过许多段这样的链路。
可见链路只是一条路径的组成部分。
数据链路则是另一个概念。
这是因为当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据的传输(这将在后面几节讨论)。
若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。
这样的数据链路就不再是简单的物理链路而是个逻辑链路了。
“电路接通了”仅仅是物理线路接通了通信双方可以在上面发送和接收0/1比特了,而“数据链路接通了”表明在该物理线路接通的基础上通信双方的数据链路层协议实体已达成了一致并做好了在该链路上发送和接收数据帧的准备(可能互相要协商某些数据链路层参数)。
3-2 数据链路层包括哪些主要功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点。
解答:数据链路层的链路控制的主要功能包括:封装成帧、透明传输和差错检测,可选功能包括可靠传输、流量控制等。
在数据链路层实现可靠传输的优点是通过点到点的差错检测和重传能及时纠正相邻结点间传输数据的差错。
若在数据链路层不实现可靠传输由高层如运输层通过端到端的差错检测和重传来纠正这些差错会产生很大的重传时延。
但是在数据链路层实现可靠传输并不能保证端到端数据传输的可靠,如由于网络拥塞导致路由器丢弃分组等。
因此,即使数据链路层是可靠的,在高层如运输层仍然有必要实现端到端可靠传输。
如果相邻结点间传输数据的差错率非常低,则在数据链路层重复实现可靠传输就会给各结点增加过多不必要的负担。
3-3 网络适配器的作用是什么?网络适配器工作在哪一层?解答:网络适配器的作用就是实现数据链路层和物理层的功能。
适配器接收和发送各种帧时不使用计算机的CPU 。
408考研计算机网络——第三章 数据链路层

408考研计算机网络——第三章数据链路层第3章数据链路层结点:主机、路由器链路:网络中两个结点之间的物理通道,传输介质有双绞线、光纤和微波。
分为有线、无线链路数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路帧:链路层的协议数据单元,封装网络层数据报功能:为网络层提供服务、链路管理、组帧、流量控制、差错控制3.1 数据链路层的功能数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。
其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路·为网络层提供服务无确认无连接服务有确认无连接服务有确认面向连接服务·链路管理即连接的建立、维持、释放(用于面向连接的服务)·组帧(帧定界、帧同步、透明传输)封装成帧:在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。
接收端在收到物理层上交的比特流后,根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
最大传送单元MTU:帧的数据部分的长度上限透明传输:当所传数据中的比特组合恰巧与某一个控制信息完全一样时,采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。
保证数据链路层的传输是透明的组帧的四种方法:字符计数法、字符(节)填充法、零比特填充法、违规编码法·流量控制限制发送方的数据流量,使其发送速率不超过接收方的接受能力✳对于数据链路层:控制的是相邻两结点之间数据链路上的流量对于传输层:控制源端到目的端之间的流量·差错控制位错:循环冗余校验CRC差错控制:自动重传请求ARQ帧错:定时器、编号机制*三个基本问题:封装成帧、透明传输、差错检测3.2 组帧·字符计数法帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数。
第三章数据链路层

第三章数据链路层重点内容(⼀)数据链路层的功能(⼆)组帧(三)差错控制1、检错编码2、纠错编码(四)流量控制与可靠传输机制1、流量控制、可靠传输与滑动窗⼝机制2、停⽌-等待协议3、后退N帧协议(GBN)4、选择重传协议(SR)⼀、使⽤点对点信道的数据链路层1、数据链路和帧链路是⼀条⽆源的点到点的物理线路段,中间没有任何其他的交换结点数据链路除了物理线路外,还必须有通信协议来控制这些数据的传输。
若把实现这些协议的硬件和软件加到链路上,就构成了数据链路常常在两个对等的数据链路层之间有⼀个数字管道,⽽在这条数字管道上传输的数据是帧2、基本问题(功能)(1)封装成帧封装成帧就是在⼀段数据的前后分别添加⾸部和尾部,这样就构成了⼀个帧。
接收端在收到物理层上交的⽐特流,就能根据⾸部和尾部的标记,从收到的⽐特流区别帧的开始和结束(⾸部和尾部还夹杂着控制信息)数据链路帧的特点数据部分的前⾯和后⾯分别添加上⾸部和尾部,构成⼀个完整的帧。
帧是数据链路层的数据传送单元。
⾸部和尾部还包括许多必要的控制信息每⼀种链路层协议都规定了所能传送的帧的数据部分长度上限——最⼤传送单元MTU⼀个控制字符SOH放在⼀个帧的最前⾯,表⽰帧的⾸部开始。
另⼀个控制字符EOT表⽰帧的结束(⼀般情况下,⾸部和尾部的长度加起来⼀般⼩于原始报⽂的长度)(2)透明传输“在数据链路层透明传输数据”表⽰⽆论什么样的⽐特组合的数据都能够通过这个数据链路层链路采⽤字节填充法,来确保上⽅情况的发⽣(3)差错检测传输错误的⽐特占所传输⽐特总数的⽐率称为误码率BER。
例如,误码率为10的负⼗次⽅时,表⽰平均每传送10的⼗次⽅个⽐特就会出现⼀个⽐特的差错在计算机⽹络传输数据时,必须采⽤各种差错检测措施。
⽬的在数据链路层⼴泛使⽤了循环冗余校验技术(CRC)CRC①在发送端,先把数据划分组,假定每组k个⽐特。
现假定待传送的数据M=1010001101(k=10)。
CRC运算就是在数据M的后⾯添加供差错检验⽤的冗余吗,然后构成⼀个帧发送出去,⼀共发送(k+n)位设n=5,P=110101(P是除数),模2运算的结果是:Q=1101010110余数R=01110将余数R作为冗余码添加在数据M的后⾯发送出去,即发送的数据是101000110101110,或2的n次⽅乘以M+R在数据后⾯添加上的冗余码称为帧检验序列FCS循环冗余检验CRC和帧检验序列FCS并不等同CRC是⼀种常⽤的检错⽅法,⽽FCS是添加在数据后⾯的冗余码FCS可以⽤CRC这种⽅法得出,但CRC并⾮⽤来获得到FCS的唯⼀⽅法②在接收端把接收到的数据以帧为单位进⾏CRC检验:把收到的每⼀个帧都除以同样的除数P(摸2运算),然后检验得到的余数R③在接收端对收到的每⼀帧经过CRC检验后,有以下两种情况:(a)若得出的余数R=0,则判定这个帧没有差错,就接受(b)若余数R≠0,则判定这个帧有差错,(但⽆法确定究竟是哪⼀位或哪⼏位出现了差错),就丢弃仅⽤循环冗余检验CRC差错检测技术只能做到⽆差错接受“⽆差错接受”是指:“凡是接受的帧(不包括丢弃的帧),我们都能以⾮常接近于1的概率认为这些帧在传输过程中没有产⽣差错”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
直到收到ACK 才发送下一帧
ACK DATA2
上交主机; 发送应答信息; 转到第一步
ACK
两种情况的对比(传输均无差错)
不需要流量控制
A
B
需要流量控制
A
B
送主机 B
送主机 B
送主机 B
时
间
送主机 B
送主机 B 送主机 B
实用的停止等待协议
A
B
送 主 机
送
时
主
间
机
(a) 正常情况
四种情况
A
B
A
B
出错
A 数据帧的
发送时间
tf
两个成功发送的
数据帧之间的 tT
最小时间间隔
tout
设置的
重传时间
DATA
DATA
B 传播时延 tp
ACK
处理时间 tpr 确认帧发送时间 ta 传播时延 tp 处理时间 tpr
时间
重传时间
重传时间的作用是:数据帧发送完毕后若经过了这样长的时 间还没有收到确认帧,就重传这个数据帧。
数据链路(data link) 除了物理线路外,还必须 有通信协议来控制这些数据的传输。若把实现 这些协议的硬件和软件加到链路上,就构成了 数据链路。
现在最常用的方法是使用适配器(即网卡)来实现 这些协议的硬件和软件。
一般的适配器都包括了数据链路层和物理层这两层 的功能。
数据链路层传送的是帧
被接收端当作无效帧而丢弃
解决透明传输问题
发送端的数据链路层在数据中出现控制字符 “SOH”或“EOT”的前面插入一个转义字符 “ESC”(其十六进制编码是 1B)。
字节填充(byte stuffing)或字符填充(character stuffing)——接收端的数据链路层在将数据送往网 络层之前删除插入的转义字符。
网络层
数据 链路层
结点 A
IP 数据报 装入
帧
物理层
1010… …0110
结点 B IP 数据报
取出 帧
1010… …0110
数据 链路层
结点 A
发送 帧
链路 (a)
链路 (b)
接收 帧
结点 B
3.1.2 三个基本问题
(1) 封装成帧 (2) 透明传输 (3) 差错控制
3.2 帧同步功能
为了使传输中发生差错后只将出错的有限数据进行重 发,数据链路层将比特流组织成以帧为单位传送。
ESC SOH
EOT
经过字节填充后发送的数据
3.2.2 比特填充的首尾定界符法
在前面介绍的字符分界法中存在一个大的不足,那就是 它仅依靠8位模式。而事实上,并不是所有的字符编码都 使用8位模式,如UNICODE编码就使用了16位编码方式。
“比特填充的首尾界定符法”是以一组特定的比特模式 (如01111110)来标志一帧的起始与终止,它允许任意 长度的位码,也允许任意每个字符有任意长度的位。
一个比特可表示 0 和 1 两种不同的序号。
帧的发送序号
数据帧中的发送序号 N(S) 以 0 和 1 交替 的方式出现在数据帧中。
每发一个新的数据帧,发送序号就和上 次发送的不一样。用这样的方法就可以 使收方能够区分开新的数据帧和重传的 数据帧了。
停止等待协议的算法
这里不使用否认帧(实用的数据链路层协议大 都是这样的),而且确认帧带有序号 n。
2: 不管发方以多快的速率发送数据, 收方总是来得及收下,并及时上交主机 。
2 停止等待协议 具有简单的流量控制
假设:链路是理想化的,所传输的数据不会出错也不会丢失。 协议思想:协调、控制接收方、发送方的速度。
发送方
接收方
协
DATA0
议
算
ACK
法
发出一帧; 等待;
DATA1
等待; 将收到的数据帧
tf = lf /C = lf /C (s)
(3-1)
发送时间 tf 也就是数据帧的发送时延。
数据帧沿链路传到结点B还要经历一个传播时延 tp。
结点 B 收到数据帧要花费时间进行处理,此时间称为
处理时间 tpr,发送确认帧 ACK 的发送时间为 ta。
停止等待协议中数据帧和确认帧 的发送时间关系
丢
失
tout
!
重 传
送 主 机
(b) 数据帧出错
重 传
送 主 机
(c) 数据帧丢失
A
B
tout 丢
送
失
主
重!
机
传
丢
弃
(d) 确认帧丢失
超时计时器的作用
结点A发送完一个数据帧时,就启动一个 超时计时器(timeout timer)。
计时器又称为定时器。
若到了超时计时器所设置的重传时间 tout 而仍收不到结点 B 的任何确认帧,则结 点 A 就重传前面所发送的这一数据帧。
但此时结点 B 还必须向 A 发送确认帧 ACK, 因为 B 已经知道 A 还没有收到上一次发过去 的确认帧 ACK。
帧的编号问题
任何一个编号系统的序号所占用的比特数一定 是有限的。因此,经过一段时间后,发送序号 就会重复。
序号占用的比特数越少,数据传输的额外开销 就越小。
对于停止等待协议,由于每发送一个数据帧就 停止等待,因此用一个比特来编号就够了。
若接收端收到的PPP帧的数据部分是 0001110111110111110110,问删除发送端加入的零比 特后变成怎样的比特串?
答案:(1) 011011111011111000 (2) 000111011111-11111-110
3.3 流量控制功能(传输层TCP来讲)
流量控制是指一组过程
限制发送方在等待确认前能够发送的数据量
保证发送实体发送的数据不超出接收实 体接收数据的能力
防止缓冲溢出
数据链路层功能 在数据链路层上传输数据帧
?发送方: 以多快的速度发送数据帧,即每帧之间相隔多长时间? 如何确认对方是否收到数据?
?接收方:
是否接收到正确的数据帧?如何告诉发送方? 能及时处理接收到的数据帧吗?
?传输过程: 会出错吗?会丢失数据帧吗?
!解决这些问题,是链路层的主要任务。
!针对这些问题所制定的通信规程就是数据链路层的通信协议。
3.3.1 完全理想化的数据传输
发送方 主 机 AP1 A
缓存
帧
帧
数据链路
接收方
主 AP2 机
B
高层
缓存 数ቤተ መጻሕፍቲ ባይዱ链路层
完全理想化的数据传输 所基于的两个前提
1: 链路是理想的传输信道,所传送的 任何数据既不会出差错也不会丢失。
一般可将重传时间选为略大于“从发完 数据帧到收到确认帧所需的平均时间” 。
解决重复帧的问题
使每一个数据帧带上不同的发送序号。每发送 一个新的数据帧就把它的发送序号加 1。
若结点 B 收到发送序号相同的数据帧,就表明 出现了重复帧。这时应丢弃重复帧,因为已经 收到过同样的数据帧并且也交给了主机 B。
发送端在 5 个连续 1 之后 填入 0 比特再发送出去
010011111010001010 发送端填入 0 比特
在接收端把 5 个连 续1 之后的 0 比特删除
010011111010001010 接收端删除填入的 0 比特
例题:
PPP协议使用同步传输技术传送比特串 0110111111111100。试问经过零比特填充后变成怎样 的比特串?
从层次上来看数据的流动
R1 网络层 链路层 物理层
R2 网络层 链路层 物理层
R3 网络层 链路层 物理层
H2
应用层 运输层 网络层 链路层 物理层
数据链路层的简单模型( 续)
主机 H1 向 H2 发送数据
主机 H1
路由器 R1
电话网
局域网
路由器 R2
广域网
路由器 R3
主机 H2
局域网
H1
应用层 运输层 网络层 链路层 物理层
按照习惯的表示法,ACKn 表示“第 n – 1 号帧 已经收到,现在期望接收第 n 号帧”。
ACK1 表示“0 号帧已收到,现在期望接收的下一 帧是 1 号帧”;
ACK0 表示“1 号帧已收到,现在期望接收的下一 帧是 0 号帧”。
停止等待协议的要点
连续出现相同发送序号的数据帧,表明 发送端进行了超时重传。连续出现相同 序号的确认帧,表明接收端收到了重复 帧。
为方便起见,我们设重传时间为 tout = tp + tpr+ ta + tp + tpr
设上式右端的处理时间 tpr 和确认帧的发送时间 ta 都远小于 传播时延 tp,因此可将重传时间取为两倍的传播时延,即 tout = 2tp
两个发送成功的数据帧之间的最小时间间隔是 tT = tf + tout = tf + 2tp
计算机网络
第 3 章 数据链路层
第3章 数据链路层
3.1 数据链路层概述 3.2 帧同步功能 3.3 流量控制功能 3.4 差错检测(重点)
3.1 数据链路层概述
数据链路层是OSI参考模型中的第二层,介乎于物理层和 网络层之间,在物理层所提供的服务的基础上向网络层 提供服务。数据链路层的作用是对物理层传输原始比特 流的功能的加强,将物理层提供的可能出错的物理连接 改造成为逻辑上无差错的数据链路,即使之对网络层表 现为一条无差错的链路。
如果转义字符也出现数据当中,那么应在转义字 符前面插入一个转义字符。当接收端收到连续的 两个转义字符时,就删除其中前面的一个。
用字节填充法解决透明传输的问题
帧开始符
SOH
EOT
原始数据
SOH
ESC