【计算机网络笔记】传输层——可靠数据传输之流水线机制与滑动窗口协议

这篇具有很好参考价值的文章主要介绍了【计算机网络笔记】传输层——可靠数据传输之流水线机制与滑动窗口协议。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

系列文章目录

什么是计算机网络?
什么是网络协议?
计算机网络的结构
数据交换之电路交换
数据交换之报文交换和分组交换
分组交换 vs 电路交换
计算机网络性能(1)——速率、带宽、延迟
计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率
计算机网络体系结构概念
OSI参考模型基本概念
OSI参考模型中非端-端层(物理层、数据链路层、网络层)功能介绍
OSI参考模型中端-端层(传输层、会话层、表示层、应用层)功能介绍
TCP/IP参考模型基本概念,包括五层参考模型
网络应用的体系结构
网络应用进程通信
网络应用对传输服务的需求
Web应用之HTTP协议(涉及HTTP连接类型和HTTP消息格式)
Cookie技术
Web缓存/代理服务器技术
传输层服务概述、传输层 vs. 网络层
传输层——多路复用和多路分用
传输层——UDP简介
传输层——可靠数据传输原理之Rdt协议



流水线机制与滑动窗口协议

流水线机制允许发送方在收到ACK之前连续发送多个分组。这样链路上同时就可以有很多分组,那么资源的利用率整体就提高了。实现流水线机制需要:

  • 更大的序列号范围。原来的0和1这两个序列显然不够用了
  • 在发送方和/或接收方需要更大的存储空间以缓存分组

下面是Rdt协议与流水线机制的一个简单对比图:

【计算机网络笔记】传输层——可靠数据传输之流水线机制与滑动窗口协议,计算机网络,笔记

在计算机网络中要想实现流水线机制就需要滑动窗口协议

  • 窗口是一个抽象的概念,用它管理那些发出去但还没确认的分组。所以窗口也是允许使用的序列号范围。所以如果窗口窗口尺寸为 N,意味着最多有 N个等待确认的消息。
  • 滑动窗口。是因为随着协议的运行,窗口在序列号空间内向前滑动。
  • 滑动窗口协议:GBN, SR

如下图所示,窗口尺寸是N,窗口左边(绿色的)是那些已经发出且确认的分组,窗口内黄色部分的是发出去但没确认的,如果收到最左边黄色的分组的确认消息,这个窗口就可以向右边滑了,蓝色的代表还可以使用的序列号范围。

【计算机网络笔记】传输层——可靠数据传输之流水线机制与滑动窗口协议,计算机网络,笔记


GBN(Go-Back-N)协议

发送方:

  • 分组头部包含k-bit序列号
  • 窗口尺寸为 N,最多允许 N个分组未确认
  • 采用累积确认的机制。也就是说要确认到序列号n(包含n)的分组均已被正确接收
  • 为空中的分组设置计时器(timer)

接收方:

  • ACK机制: 发送拥有最高序列号的、已被正确接收的分组的ACK
  • 对于乱序到达的分组:直接丢弃,并不会缓存这些已经收到的但不是期望的分组。

SR(Selective Repeat)协议

GBN的缺陷:在重传的时候会重传很多分组,比如当N这个序列号的分组丢失的时候,会重传N以及N以后那些没确认的分组。这样会影响性能。改进的方法是不采用累积确认的机制,而是单个确认,同时也不丢弃那些乱序的分组,而是缓存起来。这就是SR协议。

  • 接收方对每个分组单独进行确认。并且设置缓存机制,缓存乱序到达的分组
  • 发送方只重传那些没收到ACK的分组。这时需要为每一个分组设置定时器,当某个分组超时后,就重传这个分组
  • 发送方窗口没什么变化,依旧是N个连续的序列号,限制已发送且未确认的分组

SR比GBN多了一个接收方的窗口。

窗口前面的是已经接收到的并且按序到达的分组,窗口中灰色的是希望收到但没有收到的,红色的是乱序到达的分组,对于乱序到达的分组,接收方将它们缓存起来并且发送了ACK,当这些分组前面的分组都到达的时候就可以一起提交给上层。蓝色的是还可以接收的序列号范围。

【计算机网络笔记】传输层——可靠数据传输之流水线机制与滑动窗口协议,计算机网络,笔记

同时要注意发送方的窗口和接收方的窗口是不同步的。彼此并不知道对方的窗口处于什么状态。

下面是一个示例:

【计算机网络笔记】传输层——可靠数据传输之流水线机制与滑动窗口协议,计算机网络,笔记

同时还要注意:当序列号有k个时,发送方窗口的尺寸和接收方窗口的尺寸和不能大于2^k。

【计算机网络笔记】传输层——可靠数据传输之流水线机制与滑动窗口协议,计算机网络,笔记文章来源地址https://www.toymoban.com/news/detail-738456.html

到了这里,关于【计算机网络笔记】传输层——可靠数据传输之流水线机制与滑动窗口协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机网络学习09(TCP传输可靠性保障)

    1、TCP 如何保证传输的可靠性? 基于数据块传输 : 应用数据被分割成 TCP 认为最适合发送的数据块,再传输给网络层,数据块被称为报文段或段。 对失序数据包重新排序以及去重: TCP 为了保证不发生丢包,就给每个包一个序列号,有了序列号能够将接收到的数据根据序列号

    2024年02月01日
    浏览(39)
  • 计算机网络可靠传输的三种基本实现机制

    在数据链路层会给上层网络层提供可靠传输或者不可靠传输,不可靠传输是指检测到传输差错的时候只是丢弃该分组而不进行任何处理,而可靠传输会给发送者一个信号进行重发该分组。 以下给出的三种基本实现机制是提出一些问题,慢慢改进一些地方进行提出的,xdm可以根

    2024年02月02日
    浏览(47)
  • 【计算机网络】网络协议五层模型下的各层数据传输的结构(以TCP包为例)

    1.应用层      应用层的数据就是我们写的代码的内容。比如我要传一个字符串 “hello wolrd” 到目的主机,那么 报文M 就表示的是 hello world 的二进制(0 1)形式。      应用层就是我们主机的应用程序的那一层。比如你用 visual studio运行了你写好的代码程序,正在运行的代

    2024年02月03日
    浏览(39)
  • 计算机网络 运输层下 | TCP概述 可靠传输 流量控制 拥塞控制 连接管理

    TCP是面向连接的运输协议 每一条TCP只能有两个端点,点对点 提供可靠的全双工交付 面向字节流,但占用很多资源 不提供广播和多播服务 所以从某种意义来说 UDP是一种更加有效的工作方式 TCP面向流的概念 把字节写入发送缓冲,加上TCP首部构成TCP报文段,从接收缓存读取字

    2024年02月04日
    浏览(42)
  • 计算机网络-数据通信基础知识(数据通信模型 相关术语 单工/半双工/全双工 串行/并行 同步/异步 码元 数据传输速率 带宽)

    广域网中有模拟信道,模拟信道能传模拟信号,不能传数字信号 数据从计算机网卡中以数字信号发出,经过调制解调器转换为模拟信号以放到广域网上的模拟信道传输,再由调制解调器转换为数字信号,数字信号经过计算机的转换才将数据展现出来 发送端的调制解调器:发

    2024年01月25日
    浏览(45)
  • 【计算机网络笔记】传输层服务概述、传输层 vs. 网络层

    什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型

    2024年02月08日
    浏览(41)
  • 【计算机网络笔记】传输层——UDP简介

    什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型

    2024年02月07日
    浏览(42)
  • 【计算机网络笔记】传输层——多路复用和多路分用

    什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型

    2024年02月07日
    浏览(37)
  • 【计算机网络笔记】传输层——拥塞控制原理与解决方法

    什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型

    2024年02月05日
    浏览(37)
  • 计算机网络笔记:TCP协议 和UDP协议(传输层)

    TCP 和 UDP都是传输层协议,他们都属于TCP/IP协议族。 TCP的全称是 传输控制协议 是一种 面向连接的、可靠的、基于字节流 的 传输层 通信协议。TCP 是面向连接的、可靠的流协议(流就是指不间断的数据结构) TCP报文 是TCP层传输的数据单元,也称为 报文段 ,一个TCP报文段由

    2024年02月02日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包