计算机网络 第 3 章 数据链路层.

Slides:



Advertisements
Similar presentations
1 曾老師、各位同學大家好 ! 首先自我介紹 ; 個人聯合大學電機系 畢業,服完兩年兵役後, 75 年開始就 業 ; 四年內換了幾個工作, 79 年創立貿 特科技, 90 年、 91 年分別於大陸寧波 與昆山設立特一電子與柏特電子,經 歷 20 年的工作磨鍊,今天事業上算是 穩定、成熟 ! 承蒙曾老師看重,利用一.
Advertisements

中正國中 特教組長 粘玉芳 校內分機 : /02/21. 下列條件擇一: 一、身心障礙手冊 二、特殊教育學生鑑定及就學輔導會證明.
3.2 使用点对点信道的数据链路层 使用点对点信道的数据链路层 点对点协议 PPP PPP 协议的特点 PPP 协议的帧格式 PPP 协议的工作状态.
大學中文閱讀與書寫課程 推動事項說明與研議 通識教育中心 賴素玫 以小班制 TA 適性輔導為精神之中文閱讀書寫課 程 共同課綱(經外審) /共同教材/共同 學習成果量 延伸教材: 高大中文 一百 書單 推動班級讀書會 制度班級讀書會 制度 強化中文基礎能力檢測機制 高東屏跨校中文能力檢測.
示範課 -- 作文立意. 重溫作文構思課  構思嘗試深化  多角度思考  宜先剖析題目, 運用聯想, 循序漸進擴大範圍, 然後歸納材料, 定訂主題  同學的作品, 反映部分能夠掌握, 主線清晰, 層 層深入, 舉例恰當  但有部分同學只有枝葉, 欠缺主線, 更無中心思 想, 反映立意不足.
幼教人員法律事件探討 ─ 幼兒教育及照顧法 姚其壯 第一章 總則〈第一條至第六條〉 第二章 幼稚園設立及其教保服務 〈第七條至第十四條〉 第三章 幼稚園組織與人員資格及權益 〈第十五條至第二十八條〉 第四章 幼稚權益保障 〈第二十九條至第三十三條〉 第五章 家長之權利與義務 〈第三十四條至第四十條〉
畫面中的兩個人要去參加金融業儲備幹部的面試 活動,你認為誰的面試穿著是正確的? V.S 動動腦 V.S 動動腦 慎重 讓人感到 尊重 輕便 讓人聯想 隨便 畫面中的兩個人要去參加金融業儲備幹部的面試 活動,你認為誰的面試穿著是正確的?
高考心理辅导  福建中医药大学  林山  高考是什么?  真有那么 “ 苦大仇深 ” ?  为什么不能是 “ 快乐挑战 ” ?  高考(事) --- 认知(怎么个事 - 压力大小) --- 情绪反应(烦躁、焦虑、害怕 VS 自信、 从容、期盼) --- 行为表现(发挥正常.
社工之路的通行證 --- 社工師證照 考試心得分享 東吳大學社工系碩一 呂錦綸. 一、考前準備 閱讀主流老師的書籍、掌握各科概要。 閱讀主流老師的書籍、掌握各科概要。 重視概念性的知識,打好基礎是很重要低 ~ 重視概念性的知識,打好基礎是很重要低 ~ 是必備讀物 ! 是必備讀物 ! 勤作考古題,參考當年度碩士班考試及高.
饭水分离 阴阳饮食法 拿掉饭桌上的汤水 创造生命的奇迹 作者/李祥文 八正文化出版
第二章 中药药性理论的现代研究 掌握中药四性的现代研究 掌握中药五味的现代研究 掌握中药毒性的现代研究 了解中药归经的现代研究.
新生儿寒冷损伤综合征.
心理学辅导.
作家研究-簡媜 指導教授:鄭定國 執行TA:簡珮如.
兩岸融合教育之議題: 以東莞台商子弟學校為例
金門的特色小吃 ~結合自然與人文的美食之旅~
从永磁体谈起.
小綠葉蟬的『祕蜜』~ 蜜香烏龍茶.
個人投資理財與策略 富蘭克林:邱良弼.
穿越迷雾,读懂全球化经济本质 谈美国次贷危机与人民币升值问题.
教育部 試辦中小學 教師專業發展評鑑基本概念 台中教育大學 徐照麗.
第三章 魏晉南北朝的分合.
移民與文化--鄉愁的想像 王婉甄.
司法体制改革与律师执业前景瞻望 黄太云
2008年3月8日 順德聯誼總會何日東小學上午及下午校
103年度北區教學資源中心計畫 5月份管考會議
葉金源臨床心理師 台南市臨床心理師公會理事長 台南市社區大學生命與健康學程講師 台南縣家庭教育中心審查委員 台南地方法院家事調解委員
第二冊 第五課 行政法與生活 師大附中 陳采妍.
差错控制的方式 采用检错码的差错控制 采用纠错码的差错控制 不用编码的差错控制 关于帧或分组顺序的差错控制
吉林大学通信工程学院 赵蓉 数据通信原理 吉林大学通信工程学院 赵蓉
面对高考之—— 战略与战术 主讲:张海顺 我们的口号: 战略上藐视高考 战术上重视高考.
莊子思想 vs. 存在主義 M111甲孝 陳昕慧  指導老師:李開濟教授.
理學大師周敦頤 ※原名敦實,因避宋英宗諱改名敦頤,字茂叔 。道州營道(今湖南道縣)人。
執行業務所得 結算申報講習會 1.
恒泰期货研究所2016年 期债暴跌告一段落,短期波动降低 国债期货周报
电磁铁.
學校:臺中市立大業國民中學 領域:語文學習領域(國語文) 作者:林瑩貞
你行,她也行 參賽組別:數位簡報類 作品名稱:你行,她也行 參賽學校:南市東區勝利國小 作者姓名:杜玥潾、謝舒惠.
高中第二群組 1.北一女 中~ 2.中山女中~ 3.政大附中~.
——开启你计算机网络之门的金钥匙 图书作者:王达 制作
我的社區_觀塘 第三課.
教育信息化建设诊断评价与改进一级指标体系构建
荆门市农业水价综合改革 工作情况汇报 湖北省荆门市水务局 二0一六年九月.
104-1學期教學助理說明會 教務處 教學業務暨發展中心 教務長:黃啟煌 主 任:蔡錦雀 承辦人:曹君琪
第 3 章 数据链路层 基本内容:数据链路层的基本概念,数据链路层协议的工作原理:停止等待协议,连续ARQ协议,滑动窗口,选择ARQ协议,Internet中的数据链路层协议。 重点掌握: 数据链路层的基本概念。 数据链路层协议的工作原理。 滑动窗口原理。
紧抓PPP项目为招标代理机构 带来的转型发展机遇
物理学专业 光学实验绪论 主讲人:路莹 洛阳师范学院物理与电子信息学院 2009年3月.
100學年度土木工程系專題研究成果展 題目: 指導老師:3223 專題學生:2132、2313 前言: 成果: 圖1 圖2 方法與流程:
远 动 监 控 技 术 西南交通大学电气工程学院.
第三章 資料連結層 3-1 資料連結層簡介 3-2 訊框化 3-3 通訊連線管理 3-4 流量控制 3-5 滑動視窗法 3-6 錯誤檢出
Chapter Four 数据链路层.
第三章 计算机网络模型 主要内容 1. 网络标准化组织 2. ISO/OSI模型.
计算机网络(第 5 版) 第 5 章 传输层.
计算机网络 第 3 章 数据链路层 课件制作人:谢希仁.
第3章 数据链路层 设计问题 为网络层提供的服务 帧 差错控制 流量控制 05:55:10.
生產的意義 生產:生產者結合各種生產要素,並將投入轉換 為產出,以創造或增加消費者的效用,並 使生產者獲利的經濟行為。
Chapter 3 数据链路层.
转义字符填充法 零比特填充法 采用特殊的信号与编码法 确定数据长度法
2.3.1 导向传输媒体 双绞线 同轴电缆 光缆 屏蔽双绞线 STP (Shielded Twisted Pair)
第 5 讲 数据链路层(1) 1/31.
潜行追踪 之红包快跑. 潜行追踪 之红包快跑 红黑对决 随着互联网的发展,网速的飞速提高,有一个特殊的群体,也随之发展壮大,就是一群抢红包黑客,ta们手段高明,耳目灵通,不管红包们深藏何处,没有一个红包能够逃过ta们的手心,都被ta们迅速收归囊中;这一次两群黑客相互不服,准备来一场赌局,以决定谁才是真正的黑老大;而红包们也决定利用这次机会,派出实景红包来打击一下黑客们的嚣张气焰,激烈的决斗马上开始了。。。。。。
中国农业科学院博士后学术论坛 博士后基金申请的经验及体会 中国农业科学院生物技术研究所 秦 华 博士
自然與生活科技:太陽的觀測 高雄市 博愛國小 林佳蓉老師 2008/11/10.
靜宜大學100學年度二學期 服務學習基礎講座 課程助理經驗分享
2010之後 臺灣通識教育的機會與挑戰 臺北醫學大學人文暨社會科學院 林從一.
生活教育 我會坐火車.
计算机通信网 Lecture 3: 数据链路层.
知识点4---向量的线性相关性 1. 线性相关与线性无关 线性相关性的性质 2..
主讲人:徐悦甡(16年入职) 课程:数据通信与计算机网络 软件学院
3.4 链路控制协议示例 一.面向字符的控制规程-- BSC
Presentation transcript:

计算机网络 第 3 章 数据链路层

第 3 章 数据链路层 *3.1 数据链路层的基本概念 *3.2 停止等待协议 3.2.1 完全理想化的数据传输 第 3 章 数据链路层 *3.1 数据链路层的基本概念 *3.2 停止等待协议 3.2.1 完全理想化的数据传输 3.2.2 具有最简单流量控制的数据链路层协议 3.2.3 实用的停止等待协议 3.2.4 循环冗余检验的原理 3.2.5 停止等待协议的算法 3.2.6 停止等待协议的定量分析

第 3 章 数据链路层(续) *3.3 连续 ARQ 协议 3.3.1 连续 ARQ 协议的工作原理 3.3.2 连续 ARQ 协议的吞吐量 第 3 章 数据链路层(续) *3.3 连续 ARQ 协议 3.3.1 连续 ARQ 协议的工作原理 3.3.2 连续 ARQ 协议的吞吐量 3.3.3 滑动窗口的概念 3.3.4 信道利用率与最佳帧长 3.4 选择重传 ARQ 协议

第 3 章 数据链路层(续) *3.5 面向比特的链路层协议 HDLC 3.5.1 HDLC 协议概述 3.5.2 HDLC 的帧结构 第 3 章 数据链路层(续) *3.5 面向比特的链路层协议 HDLC 3.5.1 HDLC 协议概述 3.5.2 HDLC 的帧结构 *3.6 因特网的点对点协议 PPP 3.6.1 PPP 协议的工作原理 3.6.2 PPP 协议的帧格式 3.6.3 PPP 协议的工作状态

3.1 数据链路层的基本概念 链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。 一条链路只是一条通路的一个组成部分。 数据链路(data link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。 现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。 一般的适配器都包括了数据链路层和物理层这两层的功能。

数据链路层像个数字管道 常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。 早期的数据通信协议曾叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。 结点 帧

数据链路层的主要功能 (1) 链路管理 (2) 帧定界 (3) 流量控制 (4) 差错控制 (5) 将数据和控制信息区分开 (6) 透明传输 (7) 寻址

3.2 停止等待协议 先研究一下数据链路层的模型。

数据链路层的简化模型 主机 H1 向 H2 发送数据 从层次上来看数据的流动 路由器 R1 路由器 R3 主机 H1 路由器 R2 电话网 局域网 广域网 局域网 链路层 应用层 运输层 网络层 物理层 R1 R2 R3 H1 H2 从层次上来看数据的流动

数据链路层的简化模( 续) 主机 H1 向 H2 发送数据 仅从数据链路层观察帧的流动 路由器 R1 路由器 R3 主机 H1 路由器 R2 电话网 局域网 广域网 局域网 仅从数据链路层观察帧的流动 H1 H2 应用层 应用层 R1 R2 R3 运输层 运输层 网络层 网络层 网络层 网络层 网络层 链路层 链路层 链路层 链路层 链路层 物理层 物理层 物理层 物理层 物理层

3.2.1 完全理想化的数据传输 发送方 接收方 主 机 A 主 机 B AP1 AP2 高层 缓存 缓存 帧 帧 数据链路层 数据链路

完全理想化的数据传输 所基于的两个假定 假定 1: 链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。 假定 2: 不管发方以多快的速率发送数据,收方总是来得及收下,并及时上交主机。 这个假定就相当于认为:接收端向主机交付数据的速率永远不会低于发送端发送数据的速率。

3.2.2 具有最简单流量控制的数据链路层协议 现在去掉上述的第二个假定。但是,仍然保留第一个假定,即主机 A 向主机 B传输数据的信道仍然是无差错的理想信道。然而现在不能保证接收端向主机交付数据的速率永远不低于发送端发送数据的速率。 由收方控制发方的数据流,乃是计算机网络中流量控制的一个基本方法。

具有最简单流量控制的 数据链路层协议算法 在发送结点: (1) 从主机取一个数据帧。 (2) 将数据帧送到数据链路层的发送缓存。 (3) 将发送缓存中的数据帧发送出去。 (4) 等待。 (5) 若收到由接收结点发过来的信息(此信息 的格式与内容可由双方事先商定好),则 从主机取一个新的数据帧,然后转到(2)。

具有最简单流量控制的 数据链路层协议算法(续) 在接收结点: (1) 等待。 (2) 若收到由发送结点发过来的数据帧, 则将其放入数据链路层的接收缓存。 (3) 将接收缓存中的数据帧上交主机。 (4) 向发送结点发一信息,表示数据帧已 经上交给主机。 (5) 转到(1)。

两种情况的对比(传输均无差错) 不需要流量控制 需要流量控制 A B A B DATA DATA 送主机 B 送主机 B DATA 时 间 送主机 B

3.2.3 实用的停止等待协议 四种情况 A B A B DATA0 NAK 送 主 机 ACK (b) 数据帧出错 重 传 出错 A B 3.2.3 实用的停止等待协议 四种情况 A B A B DATA0 NAK 送 主 机 ACK (b) 数据帧出错 重 传 出错 A B DATA0 送 主 机 ACK (c) 数据帧丢失 重 传 tout 丢 失 ! A B DATA0 送 主 机 ACK 丢 弃 (d) 确认帧丢失 重 传 tout 失 ! DATA0 送 主 机 ACK DATA1 送 主 机 ACK 时 间 (a) 正常情况

超时计时器的作用 结点A发送完一个数据帧时,就启动一个超时计时器(timeout timer)。 计时器又称为定时器。 若到了超时计时器所设置的重传时间 tout而仍收不到结点 B 的任何确认帧,则结点 A 就重传前面所发送的这一数据帧。 一般可将重传时间选为略大于“从发完数据帧到收到确认帧所需的平均时间”。

解决重复帧的问题 使每一个数据帧带上不同的发送序号。每发送一个新的数据帧就把它的发送序号加 1。 若结点 B 收到发送序号相同的数据帧,就表明出现了重复帧。这时应丢弃重复帧,因为已经收到过同样的数据帧并且也交给了主机 B。 但此时结点 B 还必须向 A 发送确认帧 ACK,因为 B 已经知道 A 还没有收到上一次发过去的确认帧 ACK。

帧的编号问题 任何一个编号系统的序号所占用的比特数一定是有限的。因此,经过一段时间后,发送序号就会重复。 序号占用的比特数越少,数据传输的额外开销就越小。 对于停止等待协议,由于每发送一个数据帧就停止等待,因此用一个比特来编号就够了。 一个比特可表示 0 和 1 两种不同的序号。

帧的发送序号 数据帧中的发送序号 N(S) 以 0 和 1 交替的方式出现在数据帧中。 每发一个新的数据帧,发送序号就和上次发送的不一样。用这样的方法就可以使收方能够区分开新的数据帧和重传的数据帧了。

可靠传输 虽然物理层在传输比特时会出现差错,但由于数据链路层的停止等待协议采用了有效的检错重传机制,数据链路层对上面的网络层就可以提供可靠传输的服务。

3.2.4 循环冗余检验的原理 在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。 3.2.4 循环冗余检验的原理 在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。 假设待传送的数据 M = 1010001101(共k bit)。我们在M的后面再添加供差错检测用的 n bit 冗余码一起发送。

冗余码的计算 用二进制的模 2 运算进行 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。 得到的 (k + n) bit 的数除以事先选定好的长度为 (n + 1) bit 的数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 至少要少1 个比特。

冗余码的计算举例 设 n = 5, P = 110101,模 2 运算的结果是:商 Q = 1101010110, 余数R = 01110。 将余数 R 作为冗余码添加在数据 M 的后面发送出去,即发送的数据是101000110101110,或 2nM + R。

循环冗余检验的原理说明 除数 P → 110101 101000110100000 ← 2nM 被除数 1101010110 ← Q 商 111011 111010 111110 101100 110010 01110 ← R 余数

帧检验序列 FCS 在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。 循环冗余检验 CRC 和帧检验序列 FCS并不等同。 CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。 FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的惟一方法。

检测出差错 只要得出的余数 R 不为 0,就表示检测到了差错。 但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。 一旦检测出差错,就丢弃这个出现差错的帧。 只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测不到的差错的概率就很小很小。

应当注意 仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受(accept)。 “无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错”。 也就是说:“凡是接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。 要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。

3.2.5 停止等待协议的算法 这里不使用否认帧(实用的数据链路层协议大都是这样的),而且确认帧带有序号 n。 3.2.5 停止等待协议的算法 这里不使用否认帧(实用的数据链路层协议大都是这样的),而且确认帧带有序号 n。 按照习惯的表示法,ACKn 表示“第 n – 1 号帧已经收到,现在期望接收第 n 号帧”。 ACK1 表示“0 号帧已收到,现在期望接收的下一帧是 1 号帧”; ACK0 表示“1 号帧已收到,现在期望接收的下一帧是 0 号帧”。

在发送结点 (1) 从主机取一个数据帧,送交发送缓存。 (2) V(S)←0。 (3) N(S)←V(S)。 (1) 从主机取一个数据帧,送交发送缓存。 (2) V(S)←0。 (3) N(S)←V(S)。 (4) 将发送缓存中的数据帧发送出去。 (5) 设置超时计时器。 (6) 等待。 {等待以下(7)和(8)这两个事件中最先出现的一个} (7) 收到确认帧 ACKn, 若 n = 1 – V(s),则: 从主机取一个新的数据帧,放入发送缓存; V(S)←[1  V(S)],转到 (3)。 否则,丢弃这个确认帧,转到(6)。 (8) 若超时计时器时间到,则转到(4)。

在接收结点 (1) V(R)←0。 (2) 等待。 (3) 收到一个数据帧; 若 N(S) = V(R),则执行(4); (2) 等待。 (3) 收到一个数据帧; 若 N(S) = V(R),则执行(4); 否则丢弃此数据帧,然后转到(6)。 (4) 将收到的数据帧中的数据部分送交上层软件 (也就是数据链路层模型中的主机)。 (5) V(R)←[1  V(R)]。 (6) n←V(R); 发送确认帧 ACKn,转到(2)。

停止等待协议的要点 只有收到序号正确的确认帧 ACKn 后,才更新发送状态变量 V(S)一次,并发送新的数据帧。 接收端接收到数据帧时,就要将发送序号 N(S) 与本地的接收状态变量 V(R) 相比较。 若二者相等就表明是新的数据帧,就收下,并发送确认。 否则为重复帧,就必须丢弃。但这时仍须向发送端发送确认帧 ACKn,而接收状态变量 V(R) 和确认序号 n 都不变。

停止等待协议的要点(续) 连续出现相同发送序号的数据帧,表明发送端进行了超时重传。连续出现相同序号的确认帧,表明接收端收到了重复帧。 发送端在发送完数据帧时,必须在其发送缓存中暂时保留这个数据帧的副本。这样才能在出差错时进行重传。只有确认对方已经收到这个数据帧时,才可以清除这个副本。

停止等待协议的要点(续) 实用的 CRC 检验器都是用硬件完成的。 发送端对出错的数据帧进行重传是自动进行的,因而这种差错控制体制常简称为 ARQ (Automatic Repeat reQuest),直译是自动重传请求,但意思是自动请求重传。

停止等待协议中数据帧和确认帧的发送时间关系 A B 数据帧的 发送时间 tT 传播时延 tp tf DATA 两个成功发送的 数据帧之间的 最小时间间隔 处理时间 tpr tout ACK 确认帧发送时间 ta 设置的 重传时间 传播时延 tp 处理时间 tpr DATA 时间

停止等待协议 ARQ 的优缺点 优点:比较简单 。 缺点:通信信道的利用率不高,也就是说,信道还远远没有被数据比特填满。 为了克服这一缺点,就产生了另外两种协议,即连续 ARQ 和选择重传 ARQ。这将在后面进一步讨论。

3.3 连续 ARQ 协议 3.3.1 连续 ARQ 协议的工作原理 在发送完一个数据帧后,不是停下来等待确认帧,而是可以连续再发送若干个数据帧。 如果这时收到了接收端发来的确认帧,那么还可以接着发送数据帧。 由于减少了等待时间,整个通信的吞吐量就提高了。

连续 ARQ 协议的工作原理 … A B DATA0 ACK1 确认 DATA0 DATA1 送交主机 超 时 重 传 间 ACK1 ?? ACK2 DATA2 出错,丢弃 DATA3 tout DATA3 不按序,丢弃,重传 ACK2 DATA4 ACK2 DATA4 不按序,丢弃,重传 ACK2 DATA5 ACK2 DATA5 不按序,丢弃,重传 ACK2 重传 DATA2 ACK2 ACK3 确认 DATA2 重传 DATA3 ACK3 ACK4 确认 DATA3 重传 DATA4 送交主机 ACK4 重传 DATA5 …

需要注意: (1) 接收端只按序接收数据帧。虽然在有差错的 2号帧之后接着又收到了正确的 3 个数据帧,但接收端都必须将这些帧丢弃,因为在这些帧前面有一个 2 号帧还没有收到。虽然丢弃了这些不按序的无差错帧,但应重复发送已发送过的最后一个确认帧(防止确认帧丢失)。 (2) ACK1 表示确认 0 号帧 DATA0,并期望下次收到 1 号帧;ACK2 表示确认 1 号帧 DATA1,并期望下次收到 2 号帧。依此类推。

需要注意: (3) 结点 A 在每发送完一个数据帧时都要设置该帧的超时计时器。如果在所设置的超时时间内收到确认帧,就立即将超时计时器清零。但若在所设置的超时时间到了而未收到确认帧,就要重传相应的数据帧(仍需重新设置超时计时器)。 在等不到 2 号帧的确认而重传 2 号数据帧时,虽然结点 A 已经发完了 5 号帧,但仍必须向回走,将 2号帧及其以后的各帧全部进行重传。连续 ARQ 又称为Go-back-N ARQ,意思是当出现差错必须重传时,要向回走 N 个帧,然后再开始重传。

需要注意: (4) 以上讲述的仅仅是连续 ARQ 协议的工作原理。协议在具体实现时还有许多的细节。例如,用一个计时器就可实现相当于 N 个独立的超时计时器的功能。

3.3.2 连续 ARQ 协议的吞吐量 可以很方便地导出连续 ARQ 协议的吞吐量公式。

3.3.3 滑动窗口的概念 发送端和接收端分别设定发送窗口和接收窗口 。 发送窗口用来对发送端进行流量控制。 3.3.3 滑动窗口的概念 发送端和接收端分别设定发送窗口和接收窗口 。 发送窗口用来对发送端进行流量控制。 发送窗口的大小 WT 代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。

发送窗口 WT (a) 1 2 3 4 5 6 7 1 2 允许发送 5 个帧 不允许发送这些帧 1 2 3 4 5 6 7 不允许发送这些帧 还允许发送 4 个帧 WT 已发送 (b) 1 2 3 4 5 6 7 不允许发送这些帧 WT 已发送 (c) 1 2 3 4 5 6 7 不允许发送这些帧 还允许发送 3 个帧 WT 已发送 并已收到确认 (d)

接收端设置接收窗口 在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下。 若接收到的数据帧落在接收窗口之外,则一律将其丢弃。 在连续 ARQ 协议中,接收窗口的大小 WR = 1。 只有当收到的帧的序号与接收窗口一致时才能接收该帧。否则,就丢弃它。 每收到一个序号正确的帧,接收窗口就向前(即向右方)滑动一个帧的位置。同时发送对该帧的确认。

WR (a) 1 2 3 4 5 6 7 1 2 不允许接收这些帧 准备接收 0 号帧 不允许接收这些帧 1 2 3 4 5 6 7 WR 准备接收 1 号帧 已收到 (b) 不允许接收这些帧 1 2 3 4 5 6 7 WR 准备接收 4 号帧 已收到 (c)

滑动窗口的重要特性 只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。 收发两端的窗口按照以上规律不断地向前滑动,因此这种协议又称为滑动窗口协议。 当发送窗口和接收窗口的大小都等于 1时,就是停止等待协议。

发送窗口的最大值 当用 n 个比特进行编号时,若接收窗口的大小为 1,则只有在发送窗口的大小 WT  2n  1时,连续 ARQ 协议才能正确运行。 例如,当采用 3 bit 编码时,发送窗口的最大值是 7 而不是 8。

3.3.4 信道利用率 由于每个数据帧都必须包括一定的控制信息(如帧的序号、地址、同步信息以及其他的一些控制信息),所以即使连续不停地发送数据帧,信道利用率(即扣除全部的控制信息后的数据率与信道容量之比)也不可能达到 100 %。 当出现差错时(这是不可避免的),数据帧的不断重传将进一步使信道利用率降低。

最佳帧长 若数据帧的帧长取得很短,那么控制信息在每一帧中所占的比例就增大,因而额外开销增大,这就导致信道利用率的下降。 若帧长取得太长,则数据帧在传输过程中出错的概率就增大,于是重传次数将增大,这也会使信道利用率下降。 由此可见,存在一个最佳帧长,在此帧长下信道的利用率最高。

3.4 选择重传 ARQ 协议 可加大接收窗口,先收下发送序号不连续但仍处在接收窗口中的那些数据帧。等到所缺序号的数据帧收到后再一并送交主机。 选择重传 ARQ 协议可避免重复传送那些本来已经正确到达接收端的数据帧。 但我们付出的代价是在接收端要设置具有相当容量的缓存空间。 对于选择重传 ARQ 协议,若用 n 比特进行编号,则接收窗口的最大值受下式的约束 WR  2n/2 (3-18)