计算机网络可靠传输的三种基本实现机制

这篇具有很好参考价值的文章主要介绍了计算机网络可靠传输的三种基本实现机制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

可靠传输的means

在数据链路层会给上层网络层提供可靠传输或者不可靠传输,不可靠传输是指检测到传输差错的时候只是丢弃该分组而不进行任何处理,而可靠传输会给发送者一个信号进行重发该分组。

以下给出的三种基本实现机制是提出一些问题,慢慢改进一些地方进行提出的,xdm可以根据这个进行理解和记忆。

First-停止-等待协议(SW)

第一个问题:接收方如何通知发送方该数据分组在传输过程中出现差错呢?我们可以让接收方给发送方一个确认分组ACK,当发送方收到来自接收方的确认分组的时候就知道分组传输完成,此时就可以进行下一个分组的传输,相应的如果在传输过程中发生一系列的差错,接收方检测到就会给发送方发送一个否认分组NAK,此时发送方收到这个否认分组的时候就会重新发送该分组。

计算机网络可靠传输的三种基本实现机制

第二个问题:如果在数据分组传输的过程中丢失了,那么接收方也就不会接收到该分组也就不会发出确认或者否认分组,这样该如何解决呢?

我们可以设置一个超时计时器,超时计时器的时间应该大于往返时间RTT。当若到了超时重传计时器的时间之后,发送方就可以重发该分组。

计算机网络可靠传输的三种基本实现机制

 第三个问题:如果在接收方发送确认分组的过程中由于某种原因,导致确认分组滞留了一段时间,此时已经到达了超时重传计时器的时间,那么发送方就会重新发送此分组,那么此时接收方如何区分这是新的分组还是重复的分组呢?

我们可以将分组就行0/1编号,根据该序号就可以判别是否为重复分组。如果为重复分组就可以丢弃。

计算机网络可靠传输的三种基本实现机制

类似的我们也可以将确认分组就行编号,这样发送方也就可以分别出是否为重复的分组。

计算机网络可靠传输的三种基本实现机制

四个问题,四个解决方法就可以提出了我们的停止-等待 协议(SW)

Second-回退N帧协议(GBN)

由于停止等待每次只能等确认分组之后才能再次发送下一个分组,故效率较低,因此我们想可以利用流水线方式来发送分组,这就引出了回退N帧协议(GBN)。

流水线方式一下子也不可能直接把分组全发送了,故所以需要控制每次发送分组的数量,我们这里引出一个发送窗口的概念,在发送方的发送窗口中的分组才能进行发送,所以我们也就可以给分组编号,落在发送窗口中的序号分组可以进行发送。如下图:

计算机网络可靠传输的三种基本实现机制

 发送窗口的大小和接收窗口的大小如何确定呢,在回退N帧协议当中接收窗口的大小指定为1,这与上面停止等待是一样的,而与下面的选择重传协议不同。

那么我们只需要确定发送窗口大小即可,一般的发送窗口的大小一般取1<=W<=(2的n次方)-1,n为给分组编号的比特数。

为什么要小于(2的n次方)-1?我们假设发送窗口的大小等于2的n次方,那么发送方发送这些分组给接收方,接收方给发送方发送这些分组的确认分组,但是如果在发送的过程中确认分组丢失了,那么发送方就会重传0-(2的n次方)-1个分组一共n个分组,由于这些分组的编号和下一批分组的编号相同,接收方无法分辨出新旧分组,故就限制发送窗口的大小为1<=W<=(2的n次方)-1,当W=1时即为停止等待协议。

回退N帧协议当中有个特殊的地方就在于累计确认,即接收方不一定要对收到的分组逐个进行确认,而是可以在收到好几个数据分组后,对按序到达的最后一个数据分组进行发送确认,ACKn表示序号为n及以前的所有数据分组都已经正确接收。接收方只能接收按序到达的分组

发送方每收到一个确认分组就会移动发送窗口,将发送过的分组缓存删除。

Third-选择重传协议(SR)

回退N帧协议有个效率低的问题就在于,那么没有按序到达的分组,虽然没有任何的误码但是还是被丢弃,所以我们可以根据这个问题来改进一下,我们选择有问题的分组重传,而那么虽然没有按序到达的分组仍然保留在接收窗口内,这样就要求接收窗口的大小不再是1,而是大于1。这就是选择重传协议(SR)

选择重传协议为了仅重传那么只有发生差错的分组,那么就不再需要回退N帧协议当中的累计确认机制了,而是对每一个分组都进行确认,等接收窗口中所有所缺的分组都到达后,再一并交给上层进行处理。

类似于回退N帧协议我们也限制了选择重传协议中接收窗口和发送窗口的大小,发送窗口的大小1<W<=2的n-1次方,n还是分组序号的比特数。一般来说接收窗口的大小和发送窗口的大小一致。1<W接收窗口<=W发送窗口

计算机网络可靠传输的三种基本实现机制

总结一下

我们考试的时候有几点注意的地方文章来源地址https://www.toymoban.com/news/detail-432981.html

  1. 接收窗口和发送窗口的大小,接收窗口大小和发送窗口的大小的和要<=帧序号
  2. 回退N帧的累计确认、停止等待和选择重传都是每个都需要确认。
  3. 接收窗口过大会导致的无法分辨新旧分组问题。

到了这里,关于计算机网络可靠传输的三种基本实现机制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 计算机网络 运输层下 | TCP概述 可靠传输 流量控制 拥塞控制 连接管理

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

    2024年02月04日
    浏览(54)
  • 【计算机网络】TCP原理 | 可靠性机制分析(三)

    个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】【Java系列】 本专栏旨在分享学习网络编程、计算机网络的一点学习心得,欢迎大家在评论区交流讨论💌 滑动窗口可以保证在TCP可靠性传输的前提下,数

    2024年01月24日
    浏览(37)
  • 【计算机网络】TCP原理 | 可靠性机制分析(四)

    个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】 本专栏旨在分享学习计算机网络的一点学习心得,欢迎大家在评论区交流讨论💌 接收方在接收到数据后并不立即发送ACK报文,而是等待一定的延迟时间,

    2024年01月16日
    浏览(39)
  • 【计算机网络】TCP原理 | 可靠性机制分析(一)

    个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】【Java系列】 本专栏旨在分享学习网络编程、计算机网络的一点学习心得,欢迎大家在评论区交流讨论💌 无连接:知道对端的IP和端口号就可以直接进行传

    2024年02月03日
    浏览(42)
  • 【计算机网络】—— 详解码元,传输速率的计算|网络奇缘系列|计算机网络

    🌈个人主页:  Aileen_0v0 🔥系列专栏:  一见倾心,再见倾城  ---  计算机网络~ 💫个人格言: \\\"没有罗马,那就自己创造罗马~\\\" 目录 码元  速率和波特 思考1   思考2  思考3 带宽(Bandwidth)  📝总结 码元 是指用一个 固定时长的信号波形 _(数字脉冲),代表不同离散数值的基本波

    2024年02月04日
    浏览(61)
  • 计算机网络必会:TCP和UDP,面向连接,无连接,可靠与不可靠

    我在学习计算机网络的过程中,遇到了TCP和UDP解释,其中,无连接,面向连接,对我有很多新启发,下面就简单来聊聊,有兴趣多点个赞收藏一下,有错误可以私信反馈,欢迎打扰 TCP的主要特点: 1、TCP是面向连接的传输层协议。 2、每一条TCP连接只能有两个端点,TCP连接只

    2024年02月06日
    浏览(61)
  • 计算机网络--网络层传输层复习

    R1. 问题: Let\\\'s review some of the terms used in this book. Earlier, we talked about how the name of a packet at the transport layer is a message segment, and the name of a packet at the data link layer is a frame. What is the name of the network layer packet? As mentioned earlier routers and link layer switches are called packet switches. What is the fu

    2024年02月09日
    浏览(102)
  • 计算机网络(4)传输层

    目录 小知识点: 三次握手: 状态: tcpdump: 一:命令介绍:     二:命令选项: tcpdump的表达式: 使用python扫描LAN工具: subprocess模块 arp协议 arp病毒: ICMP协议: 如果ping不通可能有什么原因: 负载均衡工作在第四层和第七层 IP地址:点到点 端到端:就是端口号到端口号

    2024年02月05日
    浏览(43)
  • 计算机网络五 传输层

    传输层是指ISO/OSI模型中的第四层,在计算机网络中起着非常重要的作用。它负责数据在网络中的传输,管理数据传输的可靠性和流量控制,保证数据在网络中不会丢失或重复。 传输层提供的主要服务有两种,分别是面向连接服务和无连接服务。面向连接服务提供可靠的数据

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

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

    2024年02月08日
    浏览(50)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包