第三章 数据链路层_第1页
第三章 数据链路层_第2页
第三章 数据链路层_第3页
第三章 数据链路层_第4页
第三章 数据链路层_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1教学内容:教学内容:3.1 概述概述3.2 帧的组成帧的组成 3.3 差错控制差错控制3.4 可靠传输可靠传输3.5 PPP协议协议 第3章 数据链路层2教学内容:教学内容:3.1 概述概述3.2 帧的组成帧的组成 3.3 差错控制差错控制3.4 可靠传输可靠传输3.5 PPP协议协议 第3章 数据链路层33.13.1 概述概述什么是数据链路层,干什么的?什么是数据链路层,干什么的?为什么要有为什么要有数据链路层数据链路层?数据链路层怎么工作的?数据链路层怎么工作的?应用层应用层传输层传输层网络层网络层数据链路层数据链路层物理层物理层在在OSI/RMOSI/RM中明确定义。中明确定义。数据链

2、路层是在物理层提供比特流服务数据链路层是在物理层提供比特流服务的基础上,建立的基础上,建立相邻结点之间相邻结点之间的数据链的数据链路,通过路,通过差错控制差错控制提供提供数据帧数据帧在信道上在信道上的的“透明透明”传输传输。4网与网的连接;网与网的连接;点与点的连接;点与点的连接;局域网局域网广域网广域网主机主机 H1主机主机 H2路由器路由器 R1路由器路由器 R2路由器路由器 R3电话网电话网局域网局域网3.13.1 概述概述5?发送方:?发送方:?接收方:?接收方:?传输过程:?传输过程:!解决这些问题,是链路层的主要任务。!解决这些问题,是链路层的主要任务。!针对这些问题所制定的通信规

3、程就是数据链路层的通!针对这些问题所制定的通信规程就是数据链路层的通信协议。信协议。以多快的速度发送数据帧,即每帧之间相隔以多快的速度发送数据帧,即每帧之间相隔多长时间?如何确认对方是否收到数据?多长时间?如何确认对方是否收到数据?是否接收到正确的数据帧?如何告诉发是否接收到正确的数据帧?如何告诉发送方?能及时处理接收到的数据帧吗?送方?能及时处理接收到的数据帧吗?会出错吗?会丢失数据帧吗?会出错吗?会丢失数据帧吗?3.1 概述概述6邮寄邮寄分拣分拣运送运送投递投递封装;封装;地址;地址;相邻节点的地址相邻节点的地址透明;透明;中途破损;中途破损;3.1 概述概述7链路层功能链路层功能 为上层

4、服务为上层服务 无无连接连接无无确认确认服务服务 有确认的面向无连接有确认的面向无连接 有确认的面向连接有确认的面向连接 组帧组帧 差错控制差错控制 流量控制流量控制3.1 概述概述81、无连接服务原语:、无连接服务原语: DL-UNITDATA.request:传送数据单元请求传送数据单元请求 DL-UNITDATA.indication:接受数据单元通知接受数据单元通知2、面向连接的服务原语:、面向连接的服务原语: 连接阶段:连接阶段:DL-CONNECT.request, DL-CONNECT.indication DL-CONNECT.responseDL-CONNECT.confir

5、m 维持阶段:维持阶段:DL-DATA.request DL-DATA.indication 释放阶段:释放阶段:DL-DISCONNECT.request DL-DISCONNECT.indication3.1 概述概述9面向无连接和面向连接服务面向无连接和面向连接服务10一、基本概念一、基本概念 链路链路(link)是一条无源的点到点的物理线路段,是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。中间没有任何其他的交换结点。 一条链路只是一条通路的一个组成部分。一条链路只是一条通路的一个组成部分。 数据链路数据链路(data link) 除了物理线路外,还必须除了物理线路外,还必

6、须有通信协议来控制这些数据的传输。若把实现有通信协议来控制这些数据的传输。若把实现这些协议的这些协议的硬件和软件加到链路上硬件和软件加到链路上,就构成了,就构成了数据链路。数据链路。3.13.1 概述概述11数据链路层使用的信道主要有以下两种类型:数据链路层使用的信道主要有以下两种类型: 点对点信道点对点信道。这种信道使用一对一的点对点通这种信道使用一对一的点对点通信方式。信方式。 广播信道。广播信道。这种信道使用一对多的广播通信方这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来机很多,因此必

7、须使用专用的共享信道协议来协调这些主机的数据发送。协调这些主机的数据发送。 3.1 概述概述12 数据链路层的数据单位数据链路层的数据单位帧帧主机 25432154321主机 1报文报文/数据报数据报H510100110100101 比 特 流 110101110101应 用 程 序 数 据H5应 用 程 序 数 据H4H5应 用 程 序 数 据H3H4H5应 用 程 序 数 据H4报文报文/数据报数据报H3分组分组H2T2链路层尾部帧帧比特比特3.1 概述概述13IP 数据报数据报1010 0110帧帧取出取出数据数据链路层链路层网络层网络层链路链路结点结点 A结点结点 B物理层物理层数据数

8、据链路层链路层结点结点 A结点结点 B帧帧(a)(b)发送发送帧帧接收接收链路链路IP 数据报数据报1010 0110帧帧装入装入数据链路数据链路层传送的层传送的是帧是帧3.1 概述概述14(1) 封装成帧封装成帧(2) 透明传输透明传输(3) 差错控制差错控制 3.1 概述概述15教学内容:教学内容:3.1 概述概述3.2 帧的组成帧的组成 3.3 差错控制差错控制3.4 可靠传输可靠传输3.5 PPP协议协议 第第3 3章章 数据链路层数据链路层161 封装成帧封装成帧IP数据报数据报帧的数据部分帧的数据部分帧首部帧首部帧尾部帧尾部MTU帧开始帧开始帧结束帧结束数据链路层的帧长数据链路层的

9、帧长从这里开始发送从这里开始发送 封装成帧封装成帧(framing)就是在网络层的就是在网络层的IP数据报数据报的前后分别添加首部和尾部,然后就构成了的前后分别添加首部和尾部,然后就构成了一个帧。一个帧。 首部和尾部的一个重要作用就是进行帧定界首部和尾部的一个重要作用就是进行帧定界17定界方法举例:用特殊的控制字符定界方法举例:用特殊的控制字符SOH装在帧中的数据部分装在帧中的数据部分帧帧帧开始符帧开始符帧结束符帧结束符发送在前发送在前EOT正确情况下,收到完整的帧;正确情况下,收到完整的帧;出错情况下,丢弃不完整的帧。出错情况下,丢弃不完整的帧。18封装帧的方法封装帧的方法 字符计数法字符计

10、数法 带字符填充的首尾界符法带字符填充的首尾界符法 带位填充的首尾标志法带位填充的首尾标志法 物理层编码违例法物理层编码违例法19字符计数法字符计数法假设帧的长度用一个字节表示,并作为帧的头部假设帧的长度用一个字节表示,并作为帧的头部 一旦帧长度计数被误读,将无法再同步,所以不能采用一旦帧长度计数被误读,将无法再同步,所以不能采用 第第1帧帧第第2帧帧帧长度计数错帧长度计数错帧长度计数帧长度计数第第1帧帧第第4帧帧第第3帧帧第第2帧帧512345678980123456878901235123476789801234568789012320带字符填充的首尾界符法带字符填充的首尾界符法 用特殊的

11、字符作为帧头和帧尾界符用特殊的字符作为帧头和帧尾界符FLAG HeaderPayload field Trailer FLAG这是一种面向字符的帧格式,所传输的数据都是字符这是一种面向字符的帧格式,所传输的数据都是字符(ASCII或或EBCDIC字符),但帧中不允许出现帧界符字符),但帧中不允许出现帧界符标志,在面向字符的串型通信中常使用这种格式标志,在面向字符的串型通信中常使用这种格式(PPP)接收方一旦丢失了一个接收方一旦丢失了一个FLAG,只要继续搜索下一个,只要继续搜索下一个FLAG,就可重新确定帧边界,即具有再同步能力,就可重新确定帧边界,即具有再同步能力2122透明传输透明传输 透

12、明传输透明传输就是指无论在数据帧中出现什么样就是指无论在数据帧中出现什么样的数据都能够正确地传输过去。的数据都能够正确地传输过去。SOHEOT出现了“EOT(00000100)”被接收端当作无效帧而丢弃被接收端被接收端误认为是一个帧误认为是一个帧数据部分EOT完整的帧23解决方法:解决方法: 字节填充字节填充(或(或字符填充字符填充)发送端的数据链路层发送端的数据链路层在数据中出现控制字在数据中出现控制字符符“SOH”SOH”或或“EOT”EOT”的前面的前面插入插入一个一个转义字符转义字符“ESC”(ESC”(其十六进制编码是其十六进制编码是 1B)1B)。接收端的数据链路层接收端的数据链路

13、层在将数据送往网络层在将数据送往网络层之前之前删除删除插入的转义字符。插入的转义字符。如果转义字符也出现数据当中,那么应在转义如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。续的两个转义字符时,就删除其中前面的一个。 24SOHSOHEOTSOHESCESCEOTESCSOHESCESCESCSOH原始数据原始数据EOTEOT经过字节填充后发送的数据经过字节填充后发送的数据字节填充字节填充字节填充字节填充字节填充字节填充字节填充字节填充发送在前帧开始符帧开始符帧结束符帧结束符举例:

14、用字节填充法解决透明传输举例:用字节填充法解决透明传输的问题的问题 SOH25带位填充的首尾标志法带位填充的首尾标志法 在面向二进制位的同步串行通信中常使用在面向二进制位的同步串行通信中常使用带位带位填充的首尾标志填充的首尾标志格式,如格式,如HDLC 这是一种面向二进制位的帧格式,把所有需传输的数据(不论是字符这是一种面向二进制位的帧格式,把所有需传输的数据(不论是字符或表示一个浮点数的二进制位串,还是一个或表示一个浮点数的二进制位串,还是一个MP3的文件)一字排开,的文件)一字排开,并以特殊的位模式并以特殊的位模式01111110作为帧标志,即一个帧的开始(同时标志作为帧标志,即一个帧的开

15、始(同时标志前一个帧的结束)前一个帧的结束) 如果由于干扰,一个帧标志没有被正确接收,则继续扫描接收串,一如果由于干扰,一个帧标志没有被正确接收,则继续扫描接收串,一旦扫描到旦扫描到01111110,即新的一帧从此开始,即具有再同步能力,即新的一帧从此开始,即具有再同步能力 即使字符也并非都是即使字符也并非都是8位的,东方文字是位的,东方文字是16位,位,UNICODE是是16位位26面向面向bit的帧格式的帧格式 当帧中出现一个与帧标志相同的位串当帧中出现一个与帧标志相同的位串01111110,则在,则在连续连续5个个1后自动插入一个后自动插入一个0,即变成,即变成01111101,接收,接

16、收方将自动删除第方将自动删除第5 个个1后的后的0 这称为位插入法,也是透明传输的一种。这称为位插入法,也是透明传输的一种。01101111111111111111001001101111101111101111101001001101111111111111111001027物理层编码违例法物理层编码违例法 在曼切斯特编码中,连续高电平或连续在曼切斯特编码中,连续高电平或连续低电平可用作帧界符低电平可用作帧界符 采用冗余编码技术,如曼切斯特编码,即对连续两个信号进行采用冗余编码技术,如曼切斯特编码,即对连续两个信号进行采样,可得到一个二进制位采样,可得到一个二进制位 数据数据0:低:低-高电

17、平对高电平对 数据数据1:高:高-低电平对低电平对 高高- -高电平对和低高电平对和低- -低电平对没有使用,如在二进制低电平对没有使用,如在二进制编码中出现则称为编码违例,但这两种违例编码正编码中出现则称为编码违例,但这两种违例编码正好可用作帧界符,在令牌环网中使用编码违例格式好可用作帧界符,在令牌环网中使用编码违例格式28教学内容:教学内容:3.1 概述概述3.2 帧的组成帧的组成 3.3 差错控制差错控制3.4 可靠传输可靠传输3.5 PPP协议协议 第第3 3章章 数据链路层数据链路层293. 差错检测差错检测 不不“可靠可靠”传输可能会出现哪些问题?传输可能会出现哪些问题? 比特差错

18、比特差错 帧丢失帧丢失 帧重复帧重复 帧失序帧失序1010000010100010321213212213321231n在现有网络实现中,数据链路层只提供在现有网络实现中,数据链路层只提供比特差错检测。比特差错检测。303 差错检测差错检测 传输错误的比特占所传输的比特总数的比率:传输错误的比特占所传输的比特总数的比率: PE=NE/N 例如:误码率为例如:误码率为10-10,表示平均发送,表示平均发送1010个比特数就个比特数就会出现一个比特差错。会出现一个比特差错。 误码率和数据传输速率一起构成了数据通信指标误码率和数据传输速率一起构成了数据通信指标。31实现差错检测的办法实现差错检测的办

19、法 广泛使用广泛使用循环冗余检验循环冗余检验 CRC 方法。方法。 32CRC检测检测原理原理: : 将位串看成系数为将位串看成系数为 0 0 或或 1 1 的的多项式。多项式。 如如位串位串1 0 1 0 0 1 1 1 1 0 1 0 0 1 1 1 即对应于多项式:即对应于多项式: x x7 7 + x+ x5 5 + x+ x2 2 + x + 1+ x + 1 =1 =1* *x x7 7 +0+0* *x x6 6 +1+1* *x x5 5 +0+0* *x x4 4+0+0* *x x3 3+1+1* *x x2 2 +1+1* *x+1x+1* *x x0 0 收发双方约定一

20、个生成多项式收发双方约定一个生成多项式 G(x)G(x)(其最高其最高阶和最低阶系数必须为阶和最低阶系数必须为1 1),发送方用位串及),发送方用位串及 G(x)G(x)进行某种运算得到校验和,并在帧的末尾加上校进行某种运算得到校验和,并在帧的末尾加上校验和,使带校验和的帧的多项式能被验和,使带校验和的帧的多项式能被 G(x) G(x) 整除整除; ; 接收方收到后,用接收方收到后,用 G(x) G(x) 除多项式,若有余数,除多项式,若有余数,则传输有错。则传输有错。33CRC检测检测发送端编码:发送端编码:1、将要传送的数据位后面加上、将要传送的数据位后面加上r个个0, xr M(x)2、

21、用、用xr M(x)除以除以G(x),得到的余数得到的余数r(x)3、用用xr M(x)加上余数加上余数r(x) ,构成要传输数据构成要传输数据T(x)除以除以G(x)M(x)待传数据待传数据 r个个0M(x)待传数据待传数据 r个余数个余数34CRC检测检测35接收端对收到的帧进行接收端对收到的帧进行 CRC 检验检验 用接收到的数据除以用接收到的数据除以G,(1)若得出的余数若得出的余数 R = 0,则判定这个帧没有差错,则判定这个帧没有差错,就就接受接受(accept)。(2) 若余数若余数 R 0,则判定这个帧有差错,就,则判定这个帧有差错,就丢弃丢弃。 只要经过严格的挑选,并使用位数

22、足够多的除只要经过严格的挑选,并使用位数足够多的除数数 G,那么出现检测不到的差错的概率就很小。,那么出现检测不到的差错的概率就很小。 但这种检测方法并不能确定究竟是哪一个或哪但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。几个比特出现了差错。36确认确认 接收方在收到了正确的帧后向发送方发肯接收方在收到了正确的帧后向发送方发肯定性确认;如收到的帧有问题,则发否定定性确认;如收到的帧有问题,则发否定性确认,此时发送方将重发此帧性确认,此时发送方将重发此帧 确认的前提是必须经过差错检测确认的前提是必须经过差错检测37应注意应注意 仅用循环冗余检验仅用循环冗余检验 CRC 差错检测技术

23、只能做差错检测技术只能做到到无差错接受无差错接受(accept)。 “无差错接受无差错接受”是指:是指:“凡是接收端数据链路凡是接收端数据链路层接受的帧都没有层接受的帧都没有传输差错传输差错”.对于重复、失对于重复、失序并没有做出要求。序并没有做出要求。 要做到要做到“可靠传输可靠传输”(即发送什么就收到什么)(即发送什么就收到什么)就必须再加上就必须再加上确认确认和和重传重传机制。将在机制。将在TCP层去层去考虑。考虑。 38数据链路层的可靠传输数据链路层的可靠传输 “可靠传输可靠传输”就是要做到:数据链路就是要做到:数据链路层的发送端发送什么,在对应的接收层的发送端发送什么,在对应的接收端

24、就收到。端就收到。 传输差错可分为两大类:传输差错可分为两大类:比特差错比特差错帧丢失或帧重复帧丢失或帧重复39教学内容:教学内容:3.1 概述概述3.2 帧的组成帧的组成 3.3 差错控制差错控制3.4 可靠传输可靠传输3.5 PPP协议协议 第3章 数据链路层40流量控制流量控制 发送速率和接收速率的匹配即流量控制发送速率和接收速率的匹配即流量控制如接收方的处理能力低于发送方,即使传输中没有如接收方的处理能力低于发送方,即使传输中没有出错,也可能被出错,也可能被“ “ 淹没淹没”,所以通常在接收方的缓,所以通常在接收方的缓冲区到达一定量时,应及时通知发送方,暂停发送,冲区到达一定量时,应及

25、时通知发送方,暂停发送,等候通知,这就是流量控制机制等候通知,这就是流量控制机制 基本数据链路协议基本数据链路协议停止等待协议停止等待协议 滑动窗口协议滑动窗口协议41停止等待ARQ协议完全理想化的数据传输完全理想化的数据传输单向通信单向通信1 1:在链路上传送数据帧不会出错,也不会丢失。:在链路上传送数据帧不会出错,也不会丢失。 2 2:接收方的速度永远不会低于发送方的速度。:接收方的速度永远不会低于发送方的速度。这时数据链路层这时数据链路层协议非常简单协议非常简单:只要控制发送方把数据帧从缓冲区发送到数只要控制发送方把数据帧从缓冲区发送到数据链路上;接收方把数据帧从链路上接收到据链路上;接

26、收方把数据帧从链路上接收到缓冲区,并上交给主机。缓冲区,并上交给主机。假假设设协协议议42A、B两台主机要求可靠的、面向连接的通信,两台主机要求可靠的、面向连接的通信,在接收方的数据链路层,目前正运行的是在接收方的数据链路层,目前正运行的是wait_for_event(&event),即等待某个事件,即等待某个事件发生发生基本数据链路协议基本数据链路协议 1可以这样理解:在一台主机中,物理层、数据可以这样理解:在一台主机中,物理层、数据链路层、网络层等,都有各自的进程在运行,链路层、网络层等,都有各自的进程在运行,并且假设:并且假设:43帧头帧头基本链路协议基本链路协议 144451

27、取包取包2 封装封装3 发送发送1取帧取帧2 上交上交46去掉第二个假设去掉第二个假设:链路不出错,但有可能出现流链路不出错,但有可能出现流量不匹配情况量不匹配情况解决方案解决方案:1. 不现实的解决方案不现实的解决方案:简单插入一时延简单插入一时延t,使得接收方有使得接收方有足够时间来接收和处理。足够时间来接收和处理。 问题:问题: t选择困难,且变化选择困难,且变化2. 现实的解决方案现实的解决方案:让接收方提供反馈信息给发送方让接收方提供反馈信息给发送方 data0ackdata1发方发方:每发一帧,停止下来每发一帧,停止下来收方收方:每收到一帧,上交网络层,每收到一帧,上交网络层,再发

28、一个确认给发方,表示收到再发一个确认给发方,表示收到发方发方:收到确认,再发下一帧收到确认,再发下一帧基本链路协议基本链路协议 247两种情况的对比(传输均无差错)ABDATADATADATADATA送主机 B送主机 B送主机 B送主机 BABDATA送主机 BDATA送主机 B时间不需要流量控制需要流量控制48等待接收方的反馈等待接收方的反馈发送哑帧反馈给发送方发送哑帧反馈给发送方49 去掉两个假设去掉两个假设: 信道可能出错信道可能出错,要进行要进行差错控制差错控制 要进行要进行流量控制流量控制 差错控制编码与否认帧差错控制编码与否认帧(NAK) 通过通过CRC,如如B检测有错检测有错,则

29、发则发NAK(否则否则ACK) A收到收到NAK,则重发,直到收到,则重发,直到收到B发发来的来的ACK为止为止 若若B多次收到多次收到NAK,则向上提示出错,则向上提示出错datanakdata错错解决解决了了帧出错帧出错的问题的问题基本链路协议基本链路协议350data0ackdata0Tout帧重复帧重复确认帧丢失会导致什么确认帧丢失会导致什么后果?又该如何解决?后果?又该如何解决?帧编号帧编号流量控制基本链路协议基本链路协议351超时计时器的作用52解决重复帧的问题 使每一个数据帧带上不同的发送序号。每发送一个新的数据使每一个数据帧带上不同的发送序号。每发送一个新的数据帧就把它的发送序

30、号加帧就把它的发送序号加 1 1。 若结点若结点 B B 收到发送序号相同的数据帧,就表明出现了重复收到发送序号相同的数据帧,就表明出现了重复帧。这时应丢弃重复帧,因为已经收到过同样的数据帧并且帧。这时应丢弃重复帧,因为已经收到过同样的数据帧并且也交给了主机也交给了主机 B B。 但此时结点但此时结点 B B 还必须向还必须向 A A 发送确认帧发送确认帧 ACKACK,因为,因为 B B 已经已经知道知道 A A 还没有收到上一次发过去的确认帧还没有收到上一次发过去的确认帧 ACKACK。 53帧编号的目的帧编号的目的:让让接收端能够区分一个接收端能够区分一个帧到底是新帧还是已帧到底是新帧还

31、是已经处理过的旧帧。经处理过的旧帧。data0ack0data0Tout重复,丢弃ack0data1对于对于stop-and-wait协协议:议:一次只发送一个帧,一次只发送一个帧,序号只需要序号只需要1位,用于标位,用于标记当前帧和它的下一个记当前帧和它的下一个帧帧确认帧:确认帧:也要编号也要编号基本链路协议基本链路协议354帧的编号问题 任何一个编号系统的序号所占用的比特数一定任何一个编号系统的序号所占用的比特数一定是有限的。经过一段时间后,是有限的。经过一段时间后,发送序号就会重发送序号就会重复!复! 序号占用的位数越少,数据传输的额外开销就序号占用的位数越少,数据传输的额外开销就越小。

32、越小。 对于停止等待协议,由于每发送一个数据帧就对于停止等待协议,由于每发送一个数据帧就停止等待,因此用停止等待,因此用一个位一个位来编号就够了。来编号就够了。55停等协议的算法 这里这里不使用否认帧不使用否认帧,而且确认帧带有序号,而且确认帧带有序号 n n。 ACKACKn n 表示表示“第第 n n 1 1 号帧已经收到,现在号帧已经收到,现在期望接期望接收收第第 n n 号帧号帧”。ACK1 ACK1 表示表示“0 0 号帧已收到,现在期望接收的下号帧已收到,现在期望接收的下一帧是一帧是 1 1 号帧号帧”;ACK0 ACK0 表示表示“1 1 号帧已收到,现在期望接收的下号帧已收到,

33、现在期望接收的下一帧是一帧是 0 0 号帧号帧”。 56较为实用的噪声信道单工协议这里的噪声信道单工协议,其实是噪声信道半双工协议这里的噪声信道单工协议,其实是噪声信道半双工协议协议协议3的帧格式中定义一个帧序号字段的帧格式中定义一个帧序号字段发送方要记录下一个准备发送的顺序号发送方要记录下一个准备发送的顺序号接收方要记录下一个期待接收的顺序号接收方要记录下一个期待接收的顺序号由于是半双工噪声信道,发送和接收过程将严格交替由于是半双工噪声信道,发送和接收过程将严格交替 协议协议3只定义了肯定性确认帧只定义了肯定性确认帧ACK,而没有定义否定性,而没有定义否定性确认确认NAK接收方收到一个正确(

34、接收方收到一个正确(CRC正确)的帧,即便不是所正确)的帧,即便不是所期待的帧(即重复帧),都必须发送一个确认帧期待的帧(即重复帧),都必须发送一个确认帧ACK57协议3中帧格式 帧类型:有数据帧帧类型:有数据帧DATA 和确认帧和确认帧ACK(肯(肯定性确认)两种类型定性确认)两种类型 帧序号:仅一个帧序号:仅一个bit,在发送方的数据帧中是,在发送方的数据帧中是该帧的序号该帧的序号0/1,在接收方的确认帧中是接收,在接收方的确认帧中是接收方期待接收的下一帧的序号方期待接收的下一帧的序号1/058帧的格式帧的格式基于上述讨论,一个数据链路层的帧至少应该包括下基于上述讨论,一个数据链路层的帧至

35、少应该包括下列内容:列内容: 信息 校验信息 info CRC确认号Ack_no帧序号Seq_no帧类型type帧头帧头59数据帧到达数据帧到达停止等待协议流程图停止等待协议流程图60/* Protocol 3 (par) allows unidirectional data flow over an unreliable channel. */void sender3(void) seq_nr next_frame_to_send;/* seq number of next outgoing frame */ frame s; /* scratch variable */ packet buffer;/* buffer for an outbound packet */ event_type event; next_frame_to_send = 0;/* 初始化数据帧编号为初始化数据帧编号为0 */ from_network_layer(&buffer);/* 从网络层从网络层“接收接收”分组,存放到缓冲区,为封装数据帧做准备分组,存放到缓冲区,为封装数据帧做准备 */

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论