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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 停止等待 回退N帧 选择重传 -> 正文阅读

[网络协议]停止等待 回退N帧 选择重传

停止等待协议

1、发送下一个数据需要接收到先前的数据的ack

2、如果接收到损坏的数据需要发送nak通知发送端进行重传

3、如果发送端在发送数据的时候数据丢失,发送端需要启动重传计时器进行超时重传

4、如果接收者的ack丢失了,导致了超时重传,为了避免接收重复的报文,需要为报文打上序号

5、如果ack延时到达发送者,为了区分不同数据的ack,我们也同样需要为ack打上序号

停止等待协议的信道利用率

Td/RTT+Td+Ta(其中Td代表了数据的发送时间,RTT代表往返时间,Ta代表接收者发送ack的时间)

停止等待协议的信道利用率是非常低的,在10M的网络中利用率在百分之5左右,在100M的网络中利用率连百分之1都不到。

回退N帧

?回退N帧与停止等待的主要区别就是发送方窗口的数量,但是接收方的窗口数量依然只有一个

1、发送方可以连续发送多个在发送窗口中的数据

2、接收方使用一个接收窗口进行数据的接收,接收一个接收窗口中的报文就将窗口向右进行滑动

3、发送窗口和接收窗口都有对应的序号,防止导致重传数据或是延时接收的时候不能进行相对应的区分

4、发送方在发送了多个数据报文后,若没有接收到该报文中的最后一个报文的确认,其确认报文确认的内容仅仅是其他前面的报文,将会从其接收到的确认的报文开始进行重传,这就导致了无论你发送了多少的报文,只要这段连续的报文流中某个报文没有正确接收到,都要进行大批的重传

5、回退N帧的窗口为2的k方-1(其中k为组成窗口序号的比特位数),如果超过这个窗口大小将会导致新旧数据无法正常分别的问题

窗口大小原因解析:比如窗口序号为0-7,如果此时将窗口大小设置为8,发送窗口的序号也是从0到7。此时发送方将8个报文发送过去,接收者成功接收并将窗口向右滑动,窗口的第一个此时从0开始。假设此时第一个报文的ack丢失了,那么此时发送方就需要重传从0到7的8个报文,这是接收方就无法分辨这8个报文是旧的报文还是新的报文

选择重传

1、发送窗口和接收窗口有对应的序号,用来防止重复报文和ack延时造成的无法分辨的问题

2、发送窗口和接收窗口一般设置为一样的大小,但是窗口大小不能超过2(k-1),其中k为组成窗口序号的比特位数

3、如果接收方接收到一连串报文,其中这连串的报文中有某个报文没有正常接收,那么发送方不需要进行大量的重传,只要将错误的报文进行重传即可

4、窗口的滑动依然对于发送方来说依然受限于是否正常接收到ack,接收方是否正常接收到数据

窗口大小的原因解析:如果窗口序号为0-8,此时最大的窗口大小时4,也就是序号从0-3,假设我们将窗口大小设置为5,那么序号就是从0-4,还是一样的问题,当发送方正常发送,接收方正常接收,接收方的窗口向右滑动,这是窗口的范围如上图所示,新的窗口范围包含着上一轮接收报文的序号,此时发送方因为ack的丢失进行超时重传,这是接收方如果再接收这些重传的报文将无法分辨报文的新旧。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:59:52  更:2022-03-10 23:00:26 
 
开发: 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年10日历 -2024/10/5 13:25:03-

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