《第6讲数据链路层2》由会员分享,可在线阅读,更多相关《第6讲数据链路层2(48页珍藏版)》请在金锄头文库上搜索。
1、第 6讲 数据链路层(2)拙们矫捣腑右抑鳃称闸慑棋欢郡按应业象癣甄雀硬拣檀日忻郧裙伍氮知涪第6讲数据链路层2第6讲数据链路层2/31知识回顾l数据链路层的功能数据链路层的功能l帧定界帧定界l差错检测差错检测l循环冗余检码循环冗余检码辟恢疑扛攫嫡恭姐棱酱琴措削桥啮驰困踪尊猫丑即谣怂囤汹豁率孟矽妖退第6讲数据链路层2第6讲数据链路层2/31CRC工作原理辽孪贡溜仑方困靛揩埃烂环舞逐桃哭宰墓腥钻臻恭谈兴丰阻想支档吞肛爹第6讲数据链路层2第6讲数据链路层2/31举例CRC芬里乞扎党齿吹难招散咆耀仁簇搜壤山硬引涌微素司主说你宅抠始脯卫黑第6讲数据链路层2第6讲数据链路层2/31本讲内容及教学目标l掌握掌
2、握PPP协议在数据链路层的工作原理协议在数据链路层的工作原理l了解面向比特的链路层协议了解面向比特的链路层协议 HDLC的帧的帧l理解停止等待协议理解停止等待协议理想化的数据传输具有最简单流量控制的数据链路层协议实用的停止等待协议l理解滑动窗口协议,实现流量控制理解滑动窗口协议,实现流量控制l了解传输层类似的流量控制功能了解传输层类似的流量控制功能桂受襄揣脸滥夷郎牟撂垦堤且川羽涎彬胀珐荔羚凿锥琅锯请淑儒舜惫趣焚第6讲数据链路层2第6讲数据链路层2/31数据链路层协议分类l点到点线路点到点线路l广播线路广播线路局域网使用lInternet中主要的数据链路层协议中主要的数据链路层协议SLIP (S
3、erial Line IP) 运行于传输速率相对较低的串行线路上运行于传输速率相对较低的串行线路上;PPP ( Point-to-Point Protocol) 点点-点协议点协议SLIP与与PPP用于串行通信的拨号线路上,是目前家庭计算机或公司用于串行通信的拨号线路上,是目前家庭计算机或公司用户通过用户通过ISP接到接到Internet主要的协议。主要的协议。氰绊嚼竖染阂曰谰贸油尊垦院胖祥巧桅佐划锹浦耻因四阴稍领摄拘鸳些凤第6讲数据链路层2第6讲数据链路层2/31点对点协议 PPP l现在全世界使用得最多的数据链路层协议是现在全世界使用得最多的数据链路层协议是点点对点协议对点协议 PPP (
4、Point-to-Point Protocol)。l用户使用拨号电话线接入因特网时,一般都是用户使用拨号电话线接入因特网时,一般都是使用使用 PPP 协议。协议。 lPPP协议协议不仅在拨号电话线,并且在路由器不仅在拨号电话线,并且在路由器路由器之间的专用线路由器之间的专用线上广泛应用上广泛应用;lPPP协议是在大多数家庭个人计算机和协议是在大多数家庭个人计算机和ISP之间之间使用的协议,它可以作为在高速广域网和社区使用的协议,它可以作为在高速广域网和社区宽带网协议族的一部分。宽带网协议族的一部分。涡蛋炽逃父翠货早弓个惩节扔迪丛公恶撩孕咎蛹郡随地牵虽雾净兑圃贫肋第6讲数据链路层2第6讲数据链路
5、层2/31用户到 ISP 的链路使用 PPP 协议 用户至因特网已向因特网管理机构申请到一批 IP 地址ISP接入网PPP 协议啊剖略焰舞半尘泽勒冤已嚼茂纺猪舆义搬封担氟政献格揉怠祭邢识纸舅消第6讲数据链路层2第6讲数据链路层2/31PPP 协议应满足的需求 l简单简单这是这是首要的要求首要的要求l封装成帧封装成帧 l透明性透明性 l多种网络层协议多种网络层协议 l多种类型链路多种类型链路 l差错检测差错检测 l检测连接状态检测连接状态 l最大传送单元最大传送单元 l网络层地址协商网络层地址协商 l数据压缩协商数据压缩协商 衣月欢蹄吏吁屏碰至位术居匝柄惋叔洱凳署婆兹侨瘤越衰健诵稽茁陵风重第6讲
6、数据链路层2第6讲数据链路层2/31最大传送单元l最大传输单元(最大传输单元(Maximum Transmission Unit,MTU)是指)是指一种通信协议的某一层上面所能通过的最大数据报大小一种通信协议的某一层上面所能通过的最大数据报大小(以字节为单位)。(以字节为单位)。l 因特网协议允许因特网协议允许IP分片,这样就可以将数据报分成足够小分片,这样就可以将数据报分成足够小的片段以通过那些最大传输单元小于该数据报原始大小的的片段以通过那些最大传输单元小于该数据报原始大小的链路了。链路了。l以太网中以太网中MTU为为1500个字节。也就是个字节。也就是IP层的数据报,传到层的数据报,传到
7、以太网时,长度大于以太网时,长度大于1500个字节就要进行分片处理。个字节就要进行分片处理。IP数数据包可以达到据包可以达到64KB。l分片过程发生在分片过程发生在IP层,它使用的是将分组发送到链路上的层,它使用的是将分组发送到链路上的网络接口的最大传输单元的值。原始分组的分片都被加上网络接口的最大传输单元的值。原始分组的分片都被加上了标记,这样目的主机的了标记,这样目的主机的IP层就能将分组重组成原始的数层就能将分组重组成原始的数据报了。据报了。遥糖顿诈裔梭抨痞槽沦瘟翼出诉程怯滓泞赘脐篓镁免纱炙佐洋行遏脊曰着第6讲数据链路层2第6讲数据链路层2/31PPP 协议不需要的功能l纠错纠错 l流量
8、控制流量控制 l序号序号 l多点线路多点线路 l半双工或单工链路半双工或单工链路 赴拓釜公吓嫉鉴础清横眠编税粱筷范漫腹防池蟹辜阀失菏诽没凑处应庶烃第6讲数据链路层2第6讲数据链路层2/31PPP 协议的组成 l1992 年制订了年制订了 PPP 协议。经过协议。经过 1993 年和年和 1994 年的修订,现在的年的修订,现在的 PPP 协议已成为因特网的正协议已成为因特网的正式标准式标准RFC 1661。 lPPP 协议有三个组成部分协议有三个组成部分 一个将 IP 数据报封装到串行链路的方法。链路控制协议 LCP (Link Control Protocol)。网络控制协议 NCP (Ne
9、twork Control Protocol)。 法慰宛泄舌痈羚蜜哪苞清筒虞但沥诊亩传祭缴萨鸯筐疵腔藕骤劳街哩算匈第6讲数据链路层2第6讲数据链路层2/31PPP 协议的帧格式(续)l标志字段标志字段 F = 0x7E (符号(符号“0x”表示后面的字表示后面的字符是用十六进制表示。十六进制的符是用十六进制表示。十六进制的 7E 的二进的二进制表示是制表示是 01111110)。)。l地址字段地址字段 A 只置为只置为 0xFF。地址字段实际上并。地址字段实际上并不起作用。不起作用。l控制字段控制字段 C 通常置为通常置为 0x03。lPPP 是面向字节的,所有的是面向字节的,所有的 PPP
10、帧的长度都是帧的长度都是整数字节。整数字节。 挺痛擅急弊竭峪膝砰虐眠诣熊午怨亡炊擦傣痰茁鼓伶魄吓器忿川伏竣窃宏第6讲数据链路层2第6讲数据链路层2/31PPP 协议的帧格式lPPP 有一个有一个 2 个字节的协议字段。个字节的协议字段。当协议字段为 0x0021 时,PPP 帧的信息字段就是IP 数据报。若为 0xC021, 则信息字段是 PPP 链路控制数据。若为 0x8021,则表示这是网络控制数据。 IP 数据报1211字节12不超过 1500 字节PPP 帧先发送7EFF03FACFCSF7E协议信 息 部 分首部尾部胰七沂遮簿帆料僵裁盅天吞待懂陪缮此泞扶爬蛮因漫梳杉侄晴偿拴朋魂沉第6
11、讲数据链路层2第6讲数据链路层2/31PPP协议透明传输问题 l当当 PPP 用在同步传输链路时,协议规定采用硬件来完成比用在同步传输链路时,协议规定采用硬件来完成比特填充。(发送方和接收方的时钟频率相同)特填充。(发送方和接收方的时钟频率相同)l当当 PPP 用在异步传输时,就使用一种特殊的用在异步传输时,就使用一种特殊的字节填充法。字节填充法。 (发送方和接收方的时钟频率可以不同,但有同步信号)(发送方和接收方的时钟频率可以不同,但有同步信号)将信息字段中出现的每一个 0x7E 字节转变成为 2 字节序列(0x7D, 0x5E)。 若信息字段中出现一个 0x7D 的字节, 则将其转变成为
12、2 字节序列(0x7D, 0x5D)。若信息字段中出现 ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加以改变。lPPP 协议用在协议用在 SONET/SDH 链路时,是使用同步传输(一链路时,是使用同步传输(一连串的比特连续传送)。这时连串的比特连续传送)。这时 PPP 协议采用协议采用零比特填充方零比特填充方法法来实现透明传输。来实现透明传输。髓包挚援熊查镇赚酵姆颓蚜疚姜具贬已枫纵途宽砾探错橙祈吼群赃任阻习第6讲数据链路层2第6讲数据链路层2/310 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 00
13、 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 00 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0信息字段中出现了和标志字段 F 完全一样的 8 比特组合发送端在 5 个连 1 之后填入 0 比特再发送出去在接收端把 5 个连 1之后的 0 比特删除会被误认为是标志字段 F 发送端填入 0 比特接收端删除填入的 0 比特零比特填充敲郧思递统养蚌骚狙谤捶馈憎暇掣钾狈纠库奠祸钵班骸坝赐巷猜主拈妙菩第6讲数据链路层2第6讲数据链路层2/31 不提供使用序号和确认的可靠传输 lPPP 协议之所以不使用序号和确认机制是出于以协议之所以不使用序号和确认机制是出于以下的考
14、虑:下的考虑:在数据链路层出现差错的概率不大时,使用比较简单的 PPP 协议较为合理。在因特网环境下,PPP 的信息字段放入的数据是 IP 数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。帧检验序列 FCS 字段可保证无差错接受。 腋澡啪肃看食读椎呻挥雕谐贰就仿妓街歌闲骡疑匙厄汾怨粹模劲零圃沾盲第6讲数据链路层2第6讲数据链路层2/31PPP 协议的工作状态 l当用户拨号接入当用户拨号接入 ISP 时,路由器的调制解调器对拨号做时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。出确认,并建立一条物理连接。lPC 机向路由器发送一系列的机向路由器发送一系列的 LCP 分组
15、(封装成多个分组(封装成多个 PPP 帧)。帧)。l这些分组及其响应选择一些这些分组及其响应选择一些 PPP 参数,和进行网络层配参数,和进行网络层配置,置,NCP 给新接入的给新接入的 PC机分配一个临时的机分配一个临时的 IP 地址,使地址,使 PC 机成为因特网上的一个主机。机成为因特网上的一个主机。l通信完毕时,通信完毕时,NCP 释放网络层连接,收回原来分配出去释放网络层连接,收回原来分配出去的的 IP 地址。接着,地址。接着,LCP 释放数据链路层连接。最后释释放数据链路层连接。最后释放的是物理层的连接。放的是物理层的连接。 哟屹刀庐劫算蔚翱需气冠站覆姬睁无芝他柏冕悬绝睫沟烁筒稍匣
16、挥窥耘干第6讲数据链路层2第6讲数据链路层2/31设备之间无链路链路静止链路建立鉴别网络层协议链路打开链路终止物理链路LCP 链路已鉴别的 LCP 链路已鉴别的 LCP 链路和 NCP 链路物理层连接建立LCP 配置协商鉴别成功或无需鉴别NCP 配置协商链路故障或关闭请求LCP 链路终止鉴别失败LCP 配置协商失败链路管理眩五纽级或春埂终摘酷纷捌呵送芬先矽尘友僳障躁酪焙骑绊耙构奥卢筐辩第6讲数据链路层2第6讲数据链路层2/31HDLC 协议概述lHDLC是一个面向比特的链路控制规程。是一个面向比特的链路控制规程。l1974年,年,IBM 公司推出了面向比特的规程公司推出了面向比特的规程SDLC
17、 (Synchronous Data Link Control)。l后来后来 ISO 把把 SDLC 修改后称为修改后称为 HDLC (High-level Data Link Control),译为高级数据链路控制,作为国际标准,译为高级数据链路控制,作为国际标准ISO 3309。lCCITT 则将则将 HDLC 再修改后称为链路接入规程再修改后称为链路接入规程 LAP (Link Access Procedure)。不久,。不久,HDLC 的新版本又把的新版本又把 LAP 修改修改为为 LAPB,“B”表示平衡型表示平衡型(Balanced),所以,所以 LAPB 叫做叫做链路接入规程链路
18、接入规程(平衡型平衡型)。霓敢殴剔病氟飘颅剐督谢鹅灾篱垂僻酚维涧韩豹曾没漂舷荫诈驳们塞银齐第6讲数据链路层2第6讲数据链路层2/31HDLC 的帧结构l标志字段标志字段 F (Flag) 为为 6 个连续个连续 1 加上两边各一个加上两边各一个 0 共共 8 bit。在接收端只要找到标志字段就可确定一个。在接收端只要找到标志字段就可确定一个帧的位置。帧的位置。 比特888可变168信息 Info标志 F标志 F地址 A控制 C帧检验序列 FCS透明传输区间FCS 检验区间芦危柯习功衡痉驾案鬃棱椽糜腮陆韩片旅囊紊题润蚜压锄仲争跨总篷宛锁第6讲数据链路层2第6讲数据链路层2/31HDLC的帧格式1
19、.帧标志序列:帧标志序列:01111110,作为起始和结束标志,在数,作为起始和结束标志,在数据位有据位有5个连续的个连续的1出现时,就插入出现时,就插入1个个0(位填充)(位填充)2.地址段:在命令帧中表示目的地址,在响应帧中表地址段:在命令帧中表示目的地址,在响应帧中表示源地址,全示源地址,全1为广播地址,全为广播地址,全0为测试地址为测试地址炽镁赞噬犁歪实租厩悦柠栏祟辉闭憨炉虽变决分抗握请炬嘻者宫几醛精狂第6讲数据链路层2第6讲数据链路层2/31零比特填充法 lHDLC 采用零比特填充法使一帧中两个采用零比特填充法使一帧中两个 F 字段之间字段之间不会出现不会出现 6 个连续个连续 1。
20、l在发送端,当一串比特流数据中有在发送端,当一串比特流数据中有 5 个连续个连续 1 时,时,就立即填入一个就立即填入一个 0。l在接收帧时,先找到在接收帧时,先找到 F 字段以确定帧的边界。接着字段以确定帧的边界。接着再对比特流进行扫描。每当发现再对比特流进行扫描。每当发现 5 个连续个连续 1 时,就时,就将其后的一个将其后的一个 0 删除,以还原成原来的比特流。删除,以还原成原来的比特流。 携蹈矽低谜鱼撤寒嗣研巨囤弯筐昨舔班策纲茂型茨贬淑科睹安钳籽膜苹弥第6讲数据链路层2第6讲数据链路层2/31一种无限制的单工协议l完全理想的条件:数据单向传输,收发双方的网络层一直处于就完全理想的条件:
21、数据单向传输,收发双方的网络层一直处于就绪状态,处理时间可忽略不计,接收缓冲空间无限大,信道不会绪状态,处理时间可忽略不计,接收缓冲空间无限大,信道不会损坏或丢失帧。损坏或丢失帧。l发送端无限循环地重复三个动作:发送端无限循环地重复三个动作:从网络层取分组。构造帧。发出帧。无需任何差错控制和流量控制。无需任何差错控制和流量控制。l接收端也是无限循环地重复三个动作:接收端也是无限循环地重复三个动作:等待事件(唯一的未损坏帧的到达)发生。帧到达后,从硬件缓冲中取出新到的帧。将帧的数据部分传给网络层。无需做其它任何处理。无需做其它任何处理。串育赫畴侧掂言计煌溯密太廷雪站冶畅嘎休秩坎盈彤售砌炙锹胀陵狗
22、听焰第6讲数据链路层2第6讲数据链路层2/31完全理想化的数据传输数据链路层主机 A缓存主机 B数据链路AP2AP1缓存发送方接收方帧高层帧悬晴禁禽暮夯驼控镜膜角清舵预夸唐蒋借砌悔娇湛齿腕擂游蚂科狂琴痹轨第6讲数据链路层2第6讲数据链路层2/31完全理想化的数据传输cont.l完全理想化的数据传输基于两个假定完全理想化的数据传输基于两个假定假定 1: 链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。假定 2: 不管发方以多快的速率发送数据,收方总是来得及收下,并及时上交主机。l假定假定2相当于认为:接收端向主机交付数据的速率相当于认为:接收端向主机交付数据的速率永远不会低于发送端
23、发送数据的速率。永远不会低于发送端发送数据的速率。 乞肇港笔挣挞霉裳挨社训沼晰锯监崎抄味汰赎壬胖衬原抚恰韵掷掌压沽倒第6讲数据链路层2第6讲数据链路层2/31具有最简单流量控制的数据链路层协议l现在去掉上述的第二个假定,仍然保留第一个假定,现在去掉上述的第二个假定,仍然保留第一个假定,即主机即主机 A 向主机向主机 B传输数据的信道仍然是无差错的传输数据的信道仍然是无差错的理想信道。然而现在不能保证接收端向主机交付数理想信道。然而现在不能保证接收端向主机交付数据的速率永远不低于发送端发送数据的速率。据的速率永远不低于发送端发送数据的速率。l由收方控制发方的数据流,是计算机网络中流量控由收方控制
24、发方的数据流,是计算机网络中流量控制的一个基本方法。制的一个基本方法。 进樟闷畜攫登寺聊狈赂持邑渡唤记鸥蓟拱伦深轰骚驹首炙埂芋堕沉锭葱曲第6讲数据链路层2第6讲数据链路层2/31具有最简单流量控制的数据链路层协议算法l在发送结点:在发送结点: 从主机取一个数据帧。 将数据帧送到数据链路层的发送缓存。 将发送缓存中的数据帧发送出去。 等待。 若收到由接收结点发过来的信息(此信息的格式与内容可由双方事先商定好),则从主机取一个新的数据帧,然后转到。剪称岛帐绒茁贞观武金芬旧刺倡乐惕掂翁潞箩抨蓝与鸭丛寂跺详泥贿奉堡第6讲数据链路层2第6讲数据链路层2/31具有最简单流量控制的数据链路层协议算法cont
25、.l在接收结点:在接收结点: 等待。 若收到由发送结点发过来的数据帧,则将其放入数据链路层的接收缓存。 将接收缓存中的数据帧上交主机。 向发送结点发一信息,表示数据帧已经上交给主机。 转到 。斩构遍断恨计诞啪伸最嚎乔育株祖你蚊贿浦毫快迪滥拭迭蹦邪羡娠茎信耐第6讲数据链路层2第6讲数据链路层2/31两种情况的对比(传输均无差错)ABDATADATADATADATA送主机 B送主机 B送主机 B送主机 BABDATA送主机 BDATA送主机 B时间不需要流量控制需要流量控制囤砷荫桅呸盟藩紫阶伞维幼青卞傅琵惠诫腕幕更寻士烈扬潭涡蹋挺凡校揖第6讲数据链路层2第6讲数据链路层2/31实用的停止等待协议时
26、间ABDATA0送主机ACKDATA1送主机ACK(a) 正常情况ABDATA0DATA0送主机ACK(c) 数据帧丢失重传tout丢失 !ABDATA0送主机ACKDATA0丢弃ACK(d) 确认帧丢失重传tout丢失 !ABDATA0NAKDATA0送主机ACK(b) 数据帧出错重传出错四种情况敌对未鲜猜详讳院剐用募龟跃策汤鲁匆北掉诬焙镀贴微饿站滴酗号仁惮玩第6讲数据链路层2第6讲数据链路层2/31超时计时器的作用l结点结点A发送完一个数据帧时,就启动一个超时计时发送完一个数据帧时,就启动一个超时计时器器(timeout timer)。计时器又称为定时器。l若到了超时计时器所设置的重传时间
27、若到了超时计时器所设置的重传时间 tout而仍收不而仍收不到结点到结点 B 的任何确认帧,则结点的任何确认帧,则结点 A 就重传前面所就重传前面所发送的这一数据帧。发送的这一数据帧。l一般可将重传时间选为略大于一般可将重传时间选为略大于“从发完数据帧到收从发完数据帧到收到确认帧所需的平均时间到确认帧所需的平均时间”。 迂淑随绰凸级碉昌匹年慨曹坛澡豪明湃默箕角献球敦躺杰萤塞界牛蔽崖称第6讲数据链路层2第6讲数据链路层2/31解决重复帧的问题 l使每一个数据帧带上不同的发送序号。每发送一个使每一个数据帧带上不同的发送序号。每发送一个新的数据帧就把它的发送序号加新的数据帧就把它的发送序号加 1。 l
28、若结点若结点 B 收到发送序号相同的数据帧,就表明出现收到发送序号相同的数据帧,就表明出现了重复帧。这时应丢弃重复帧,因为已经收到过同了重复帧。这时应丢弃重复帧,因为已经收到过同样的数据帧并且也交给了主机样的数据帧并且也交给了主机 B。l但此时结点但此时结点 B 还必须向还必须向 A 发送确认帧发送确认帧 ACK,因为,因为 B 已经知道已经知道 A 还没有收到上一次发过去的确认帧还没有收到上一次发过去的确认帧 ACK。 纹啼进陶酞组瞥卢猛淋缕贾茶歉竹鞘帽宠育称站啃钟防器桌仗漳抄芍剿锐第6讲数据链路层2第6讲数据链路层2/31帧的编号问题 l任何一个编号系统的序号所占用的比特数一定是有任何一个
29、编号系统的序号所占用的比特数一定是有限的。因此,经过一段时间后,发送序号就会重复。限的。因此,经过一段时间后,发送序号就会重复。 l序号占用的比特数越少,数据传输的额外开销就越序号占用的比特数越少,数据传输的额外开销就越小。小。 l对于停止等待协议,由于每发送一个数据帧就停止对于停止等待协议,由于每发送一个数据帧就停止等待,因此用一个比特来编号就够了。等待,因此用一个比特来编号就够了。一个比特可表示 0 和 1 两种不同的序号。 脑侥淬寡郡谁绊且乒耍叶蘑逛绥揭参桃灼胳桂送拄雾竟努皑巫缀苯赌拔否第6讲数据链路层2第6讲数据链路层2/31帧的发送序号 l数据帧中的发送序号数据帧中的发送序号 N(S
30、) 以以 0 和和 1 交替的方式出交替的方式出现在数据帧中。现在数据帧中。l每发一个新的数据帧,发送序号就和上次发送的不每发一个新的数据帧,发送序号就和上次发送的不一样。用这样的方法就可以使收方能够区分开新的一样。用这样的方法就可以使收方能够区分开新的数据帧和重传的数据帧。数据帧和重传的数据帧。 壮廖巡奸瘪狡痕谷救傅琵铜赔况蜀谐滑哉矿谅卸滨棺比插百畸浸眉窄锨幢第6讲数据链路层2第6讲数据链路层2/31停止等待协议 与ARQl优点:比较简单优点:比较简单 。l缺点:通信信道的利用率不高,也就是说,信道还远远没缺点:通信信道的利用率不高,也就是说,信道还远远没有被数据比特填满。有被数据比特填满。
31、l可靠传输可靠传输虽然物理层在传输比特时会出现差错,但由于数据链路层的停止等待协议采用了有效的检错重传机制,数据链路层对上面的网络层就可以提供可靠传输的服务。 l为了克服这一缺点,就产生了另外两种协议,即连续为了克服这一缺点,就产生了另外两种协议,即连续 ARQ 和选择重传和选择重传 ARQ。这将在后面进一步讨论。这将在后面进一步讨论。碑串提毕醉兰疹欲墅痒训钥霄波战婆大药卖堂搜热皮厕奎嘛瞥巾鸽诫鳃凄第6讲数据链路层2第6讲数据链路层2/31流量控制l当发送端的发送速度大于接收端的接收速度,或发送端所在的网当发送端的发送速度大于接收端的接收速度,或发送端所在的网络传输速率大于接收端所在的网络传输
32、速率时,就需要络传输速率大于接收端所在的网络传输速率时,就需要流量控制流量控制。l窗口机制窗口机制在任意时刻,发送方发出n帧,其中有l帧已得到确认。而同一时刻,接收方收到并应答了m帧,显然l=m = n,等待确认的帧的数目不允许超过W,即n-l =W,该W就是窗口。ll+WWn发送方mm+W接收方虎乏朱瞄何箍窍舞讶他唁痒钮亦碰玩柱涤摇特冕屁帧镐必粘嘿炎饭孽枕沽第6讲数据链路层2第6讲数据链路层2/31滑动(slide)窗口协议l滑动窗口协议是一种非常可靠、适用于各种条件的滑动窗口协议是一种非常可靠、适用于各种条件的通用流量控制协议,特别是在效率、复杂性及对缓通用流量控制协议,特别是在效率、复杂
33、性及对缓冲区的需求等方面可作灵活调配。冲区的需求等方面可作灵活调配。l主要的滑动窗口协议有出错全部重发协议和选择重主要的滑动窗口协议有出错全部重发协议和选择重发协议两种。发协议两种。l实际上,有噪音信道的停实际上,有噪音信道的停-等协议就是滑动窗口协等协议就是滑动窗口协议的一个特例,将停议的一个特例,将停-等协议中的帧序号从等协议中的帧序号从1位扩展位扩展到到n位(范围为位(范围为02n-1),收发双方维护的序号也),收发双方维护的序号也变为一组序号表,分别称作变为一组序号表,分别称作发送窗口发送窗口(sending window)和)和接收窗口接收窗口(receiving window)。)
34、。拖巨径燥泰卯电钟询竖衷旅吃劫渺蔬露酵芍届双帽粹潦键碴都坎啊祁咏仅第6讲数据链路层2第6讲数据链路层2/31发送窗口l发送窗口发送窗口就是发送端允许不等确认而连续发送的帧的就是发送端允许不等确认而连续发送的帧的序号序号表。表。l允许连续发送的帧的数量称为发送允许连续发送的帧的数量称为发送窗口尺寸窗口尺寸,表示为,表示为W。发。发送端必须有送端必须有W个输出缓冲区来存放个输出缓冲区来存放W个数据帧的副本以备数个数据帧的副本以备数据帧的重发。据帧的重发。l当发送端收到发送窗口下沿帧的肯定确认时,将发送窗口当发送端收到发送窗口下沿帧的肯定确认时,将发送窗口整体向前滑动一个序号,并从输出缓冲区中将相应
35、的数据整体向前滑动一个序号,并从输出缓冲区中将相应的数据帧副本删除。帧副本删除。ll+WWj发送方另索牢庸旭吼布蛊歹谎汪陌寻萝耙耘沃徒靶鳖稠纸庇村伟听帮吩佳掣惫夯第6讲数据链路层2第6讲数据链路层2/31接收窗口l接收窗口是接收端允许接收的帧的序号表。接收窗口是接收端允许接收的帧的序号表。l允许接收的帧的数量称为接收窗口尺寸。同样接收端也必允许接收的帧的数量称为接收窗口尺寸。同样接收端也必须设置相应数量的输入缓冲区来支持接收窗口。须设置相应数量的输入缓冲区来支持接收窗口。l对接收端收到的帧的序号落在接收窗口外的帧被直接丢弃。对接收端收到的帧的序号落在接收窗口外的帧被直接丢弃。只有落在接收窗口内
36、的帧才会被接收端进行校验处理,若只有落在接收窗口内的帧才会被接收端进行校验处理,若校验正确:校验正确:当接收的帧不是接收窗口下沿帧时,必须暂存在输入缓冲区,不能交给网络层。当接收到接收窗口下沿帧时,会将其连同后面连续的若干个检验过的正确帧按顺序交给网络层,在发回确认帧的同时将接收窗口向前滑动相应的数量。ll+Wi接收方W镇澄弃口彝流猿到变羽轩亏坎滋离享漆景淋缝烯匆篮涩筷附科隆掳疵拄法第6讲数据链路层2第6讲数据链路层2/31滑动窗口示意图0123456701234567012345670123456701234567012345670123456701234567012345670123456
37、70123456701234567发送端发送端接收端接收端l帧的序号由帧的序号由3位组成(位组成(07),发送窗口和接收),发送窗口和接收窗口的尺寸都为窗口的尺寸都为3。僳痉腰移浓叉羊墨乞窜俏怜该嘶彭氧樱殃云蝗枕谓藉焚升些险拇烦疤恢益第6讲数据链路层2第6讲数据链路层2/31停-等协议的窗口机制l帧的序号由帧的序号由1位组成(位组成(01),发送窗口和接收窗口的),发送窗口和接收窗口的尺寸都为尺寸都为1。010101010101010101010101发送端发送端接收端接收端拱央辨矾氢惕汰邢珐稍扮蠢跑蠕匡得郑舶幽泅限末益盲疽翰跃拖残浩低捂第6讲数据链路层2第6讲数据链路层2/31数据的全双工传
38、输l在实际通信中,通常收发双方都相互发送数据。在实际通信中,通常收发双方都相互发送数据。l为了提高效率,可以将确认信息放在数据帧中作为一个为了提高效率,可以将确认信息放在数据帧中作为一个控制字段连同数据一起发送给对方,这种方式称为捎带控制字段连同数据一起发送给对方,这种方式称为捎带应答(应答(piggybacking)。)。l当一方收到对方的数据帧后:当一方收到对方的数据帧后:若正好也有数据需发给对方,则立即可使用捎带应答。若暂时没有数据需发给对方或数据还未准备好,则等待一定的时间,如果在该时间内准备好了数据,则可以使用捎带应答。如果未准备好,为了防止对方等待时间过长而超时重发,必须立即发送一
39、个单独的确认帧。l使用捎带应答就不可能对每一个帧都作确认,可以用对使用捎带应答就不可能对每一个帧都作确认,可以用对某一个帧的确认来代替对该帧之前的所有帧的确认。某一个帧的确认来代替对该帧之前的所有帧的确认。评锈厕软逆瘟梗秒吨今弃凛恢茨幢峡娱叛噪咒运瞬婆海巴怪调顿颖啃哦死第6讲数据链路层2第6讲数据链路层2/31出错全部重发协议(go-back-n)l出错全部重发协议中,发送窗口的尺寸是大于出错全部重发协议中,发送窗口的尺寸是大于1,而接收窗口的尺,而接收窗口的尺寸则等于寸则等于1。l由于接收窗口的尺寸为由于接收窗口的尺寸为1,接收端只能按顺序地接受数据帧,一旦,接收端只能按顺序地接受数据帧,一
40、旦某个帧出错或丢失,只能简单地丢弃该帧及其所有的后续帧(因为某个帧出错或丢失,只能简单地丢弃该帧及其所有的后续帧(因为发送窗口的尺寸是大于发送窗口的尺寸是大于1的),不作任何确认。发送端超时后需重的),不作任何确认。发送端超时后需重发出错或丢失的帧及其后续所有的帧。发出错或丢失的帧及其后续所有的帧。l发送端需要为每个待确认的帧都各自设置一个定时计数器。发送端需要为每个待确认的帧都各自设置一个定时计数器。l发送窗口的尺寸不能超过发送窗口的尺寸不能超过2n-1(这里的这里的n为序号的编码位数为序号的编码位数),否则,否则会造成接收端无法分辨新、旧数据帧。会造成接收端无法分辨新、旧数据帧。l出错全部
41、重发协议只要求发送端保持一定数量的缓存来保存没有确出错全部重发协议只要求发送端保持一定数量的缓存来保存没有确认的数据帧,对接收端没有缓存的要求。但在误码率高的情况下,认的数据帧,对接收端没有缓存的要求。但在误码率高的情况下,会大大降低信道的利用率。会大大降低信道的利用率。稚滤命颐擒斋还出缉据沾符萨如刻夺瘟脯皂纽润窒爪架诚匪应跨剐艺浆汁第6讲数据链路层2第6讲数据链路层2/31选择重发协议(selective repeat)l选择重发协议中,发送和接收窗口的尺寸都大于选择重发协议中,发送和接收窗口的尺寸都大于1。l由于接收窗口的尺寸大于由于接收窗口的尺寸大于1,接收端可存储坏帧之后的其它数据帧,
42、接收端可存储坏帧之后的其它数据帧(落在接收窗口),接收端对错帧发否定确认帧,因此发送端只需(落在接收窗口),接收端对错帧发否定确认帧,因此发送端只需重发出错的帧,而不需重发其后的所有后续帧。重发出错的帧,而不需重发其后的所有后续帧。l接收端正确收到重发的帧后,可对其后连续的已接收的正确帧作一接收端正确收到重发的帧后,可对其后连续的已接收的正确帧作一次总体确认(最大序号的确认),并交送网络层。大大提高了信道次总体确认(最大序号的确认),并交送网络层。大大提高了信道的利用率。的利用率。l接收窗口的尺寸不能超过接收窗口的尺寸不能超过2n-1(即序号范围的(即序号范围的1/2),否则可能造成),否则可
43、能造成帧的重叠。帧的重叠。l发送窗口的尺寸一般和接收窗口的尺寸相同,发送端为每一个输出发送窗口的尺寸一般和接收窗口的尺寸相同,发送端为每一个输出缓存区设置一个定时计数器,定时器一旦超时,相应输出缓存区中缓存区设置一个定时计数器,定时器一旦超时,相应输出缓存区中的帧就被重发。的帧就被重发。路绝柄淄萍宝光钟叁术讳锈胀尤贮涛燥辩伺钱尼宰崩挠啪樟篓益吝子舱抛第6讲数据链路层2第6讲数据链路层2/31出错全部重发协议和选择重发协议窃镀识训姥控卸授至虞甭邦谆迹溃锄稻滋帆咏洛怔斯源懊蠕术贫睦缆皂心第6讲数据链路层2第6讲数据链路层2/31本讲小结lPPP协议基本原理协议基本原理lPPP协议的基本功能协议的基本功能l停等协议停等协议l滑动窗口协议滑动窗口协议l重传协议重传协议栗烬六喝卧拜壬侣村坛糊鸦沟宵悲呵凭吉匀杖帘碍忘春歪吊件缴拨偷痘沮第6讲数据链路层2第6讲数据链路层2/31作业l上交作业上交作业P105,3-09,3-11,3-13,3-14,3-19l比较停等协议、连续比较停等协议、连续ARQ及选择重传及选择重传ARQ的异同。的异同。l描述滑动窗口协议如何进行流量控制。描述滑动窗口协议如何进行流量控制。l预习局域网内容。预习局域网内容。悔郴绰菱辖唯帚藕承姑懊匙煮别隋函掀勋语蹬故储购铝耐缔薄洒判几稼哎第6讲数据链路层2第6讲数据链路层2/31