计算机网络——传输层-可靠数据传输原理

计算机网络系列博文——目录

可靠数据传输原理

可靠数据传输的实现问题在应用层,运输层,网络层,链路层普遍存在,本节在一般情境下讨论可靠数据传输。

为上层实体提供的服务抽象:数据可通过可靠信道传输。

可靠信道

1.不错 数据流中的比特不会反转
2.不乱 所有数据包按其发送顺序交付
3.不丢 数据包不会丢失

可靠数据传输协议设计

  • 渐进地设计可靠数据传输协议的发送方和接收方
  • 只考虑单向数据传输,但控制信息双向流动
  • 利用状态机刻画传输协议

接口

可靠数据传输协议基本结构.png

Rdt 1.0——底层信道完全可靠

假定

  • 底层信道完全可靠,即底层信道不错,不乱,不丢

状态机

发送方.png
接收方.png

Rdt 2.0——底层信道可能有位错误

假定

  • !底层信道可能翻转分组中的位,但假定接收方的反馈报文不会发送错误
  • 底层信道不乱不丢

应对机制

差错检测

一种使得接收方可以确认分组是否含比特差错的机制

  • 利用校验和检测位错误
  • ACK:接收方显式通知发送方分组已正确接收
  • NAK:接收方显式通知发送方分组存在差错
差错恢复
  • 发送方得知分组出错后(收到NAK),重传分组
  • 基于这种重传机制的rdt协议称为自动重传请求协议(Automatic Repeat reQuest,ARQ)
停—等协议

发送方发出一个分组后,等待接收方的反馈(ACK或NAK),在等待状态下,发送方不会发出新的分组

新机制

  • 差错检测
  • 接收方反馈控制消息: ACK/NAK
  • 重传

状态机

发送方.png
接收方.png

Rdt 2.1——接收方反馈可能受损

假定

  • !底层信道可能翻转分组中的位,特别的,接收方的反馈报文也可能发生错误
  • 底层信道不乱不丢

应对机制

差错检测
  • 为ACK/NAK增加校验和
差错恢复
  • 发送方收到受损的接收方反馈报文后,重传当前分组
冗余分组问题
  • 发送方对受损ACK或NAK直接重传分组的策略,引入了冗余分组,为处理冗余分组:
    发送方对分组编号,接收方记住上一个收到的分组编号,此处只需{0,1}编号;
    接收方收到重复的分组时,丢弃分组并发送该分组的ACK;

新机制

  • 增加了对反馈报文的差错检测机制和差错恢复机制
  • 引入了冗余分组问题
  • 为每个分组增加了序列号{0,1}

状态机

发送方.png
接收方.png

Rdt 2.2——无NAK消息协议

假定

同Rdt 2.1

  • 底层信道可能翻转分组中的位
  • 底层信道不乱不丢

目标

  • 在设计上消除反馈报文NAK以实现简化

新机制

  • 取消NAK
  • 接收方在反馈报文ACK中加入对应分组的编号
  • 冗余ACK策略
    接收方收到错误分组i+1后,发送一个对分组i的ACK;
    发送方收到对分组i的两个ACK后,可断定接收方没有正确接收分组i+1,故应重传分组i+1

状态机

状态机片段

Rdt 3.0——底层信道可能丢失分组

假定

  • 底层信道可能翻转分组中的位
  • !底层信道可能丢失分组
  • 底层信道不乱,即分组被按其发送顺序接收。

关注点

  • 如何检测丢包,丢包发生后如何处置

丢包检测与恢复

  • 发送方等待合理时间,若该时间内未收到ACK,则重传分组

可能的情况:

  1. 发送方发送的数据分组丢失
  2. 接收方发送的ACK分组丢失
  3. 数据分组或ACK分组传输的时延过长

冗余

  • 接收方发送的ACK分组丢失会引发发送方重传,其结果是接收方收到冗余数据分组
  • 发送方发送的数据分组传输时延过长会引发发送方重传,其结果是接收方收到冗余数据分组
  • 接收方发送的ACK分组传输的时延过长会引发发送方重传,其结果是发送方收到冗余ACK

以上冗余状况都可以依靠分组编号机制解决

状态机

发送方.png

分析

  • Rdt 3.0能够正确工作,但性能很差

  • 原因在于停等机制,大部分的时间发送方都在等待对上一个分组的确认

  • 由于停等机制,信道上的分组几乎不可能乱序,故rdt3.0是可以实际工作的,问题在于效率过低

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容

  • “慈母手中线,游子身上衣”,古诗中征袍、寒衣什么的都是慈母所授,好象当妈就一定要会缝衣服似的。 我的母亲年轻时是有...
    总是晚点阅读 1,510评论 23 60
  • 过罢芒种,临近夏至,黑夜快到了一年中最短的时刻。 牡鸡司晨,是大自然的生物钟之一。深夜,邻居家的一只大公鸡便鸣叫了...
    金卯刀8862阅读 709评论 0 9
  • 一,概述 1. 原理:面向切面编程 从关注点中分离出横切关注点,通俗点讲,即将解决特定领域问题的代码从业务逻辑中脱...
    WhyNotYue阅读 554评论 0 5
  • 中国人时常说“三皇五帝”和“五千年文明”,殷墟的考古活动,证实了中华文明至少在公元前3000年就已经存在。此外,重...
    艺金融阅读 1,254评论 0 4