IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 传输层 --- 可靠数据传输 -> 正文阅读

[网络协议]传输层 --- 可靠数据传输

一.可靠数据传输概述

1.可靠传输的原理

(1)什么是可靠:不错、不丢、不乱。

(2)在应用层、运输层、数据链路层的重要性。

(3)不可靠信道的特点决定了可靠数据传输协议的复杂性。

在这里插入图片描述

2.可靠数据传输协议基本结构:接口

在这里插入图片描述

3.有限状态机描述方法

(1)逐渐递增地研究可靠数据传输协议(rdt)的发送方和接收方:
①仅考虑单向数据传输;
②但控制信息将在两个方向流动。

(2)使用有限状态机(Finite State Machine,FSM)来定义发送方和接收方。

(3)状态:当位于这个“状态时”,下个状态唯一地由下个事件决定。

在这里插入图片描述

二.rdt1.0:完全可靠信道上的可靠数据传输

1.底层信道完全可靠

a.无比特差错;
b.无分组丢失。

2.发送方、接收方具有各自的FSM:

a.发送方将数据发向底层信道;
b.接收方从底层信道读取数据。

在这里插入图片描述

问题在于:底层信道完全可靠的情况是几乎不存在的。

三.rdt2.0:具有比较差错的信道域

1.具有比特差错的底层信道:

a.有比特差错;
b.无分组丢失。

2.如何检测比特错误:

利用校验和检测位错误。

3.如何从错误中恢复:

a.确认机制(Acknowledgements,ACK):接收方式显式地告示发送方分组已正确接收。
b.NAK:接收方显式地告知发送方分组有错误。
c.发送方收到NAK后,重传分组。

4.基于这种重传机制的rdt协议称为ARQ(Automatic Repeat reQuest)协议。

5.rdt2.0新增加机制(与rdt1.0比较):

a.差错检测;
b.接收方反馈控制消息:ACK/NAK;
c.重传。

6.rdt2.0:FSM描述
①发送方:
在这里插入图片描述
②接收方:
在这里插入图片描述
③停等协议

发送方发出1个分组,等待接收方响应后再继续发送。

7.rdt2.0:无差错时的操作:
在这里插入图片描述
8.rdt2.0:有差错时的情况:
在这里插入图片描述

9.rdt2.0的重大缺陷:

(1)如果ACK/NAK消息发生错误/被破坏(corrupted)会怎样?

a.为ACK/NAK增加校验和,检错并纠错(添加额外的控制消息);
b.发送方收到被破坏ACK/NAK时不知道接收方发生了什么;
c.如果ACK/NAK坏掉,发送方重传;
d.不能简单的重传:产生重复分组;
e.不能只是重传:可能导致重复(duplicate)。

(2)处理重复(序号机制):

a.发送方对每个分组增加序列号;
b.如果ACK/NAK受损,发送方重传当前的分组;
c.接收方丢弃(不再向上交付)重复的分组。

四.rdt2.1:发送方,处理受损的ACK/NAK

1.发送方

a.序号seq #加入分组中;
b.两个序号seq. #’ s(0,1)将够用;
c.必须检查是否收到的ACK/NAK受损;
d.状态增加一倍:

  • 状态必须“记住”是否“当前的”分组具有0或1序号。

在这里插入图片描述

2.接收方

a.必须检查是否接收到的分组是冗余的

  • 状态指示是否0或1是所期待的分组序号seq #
    b.注意:接收方不能知道是否它的最后的ACK/NAK在发送方已经接收。

在这里插入图片描述

五.rdt2.2:一种无NAK的协议

1.与rdt2.1一样的功能,仅使用ACK;

2.如何实现:

a.接收方对最后正确接收的分组发送ACK;
b.在ACK消息中,接收方必须明确地包括被确认分组的序号。

3.在发送方重复的ACK导致如同NAK相同的动作:

重传当前分组。

在这里插入图片描述

六.rdt3.0:具有差错和丢包的信道

1.具有差错和丢包的底层信道

a.有比特差错;
b.有分组丢失。

2.现有机制(检错、反馈、重传、序号)还不够。

3.增加定时机制:发送方等待ACK一段“合理的”时间

a.如果这段时间没有收到ACK则重传;
b.如果分组(或ACK)只是延迟(没有丢失),重传将是冗余的,但序号的使用已经处理了该情况。
c.需要定时器。

4.发送方FSM
在这里插入图片描述

5.分组丢失
在这里插入图片描述
6.ACK丢失与超时
在这里插入图片描述
7.rdt3.0的性能

a.rdt3.0能够工作,但性能不太好;
b.例子:1Gbps链路,15ms端到端传播时延,1KB分组:
在这里插入图片描述

  • Usender:利用率-发送方用于发送时间的比率;
  • 每30msec 1KB分组 -> 经1Gbps链路有33kB/sec吞吐量;
  • 网络协议限制了物理资源的使用。

8.停等协议的运行
在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 19:06:09  更:2022-03-30 19:08:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:36:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码