Pnig0s P.S:这文章写的挺NB~顶下原作者 TCP的首部中有一个很重要的字段就是16位长的窗口大小,它出现在每一个TCP数据报中,配合32位的确认序号,用于向对端通告本地socket的接收窗口大小。也就是说,如果本地socket发送一个TCP数据,其32位确认序号是5,窗口大小是5840,则用于告诉对端,对端已经发出的4个字节的数据已经收到并确认,接下来,本地socket最多
转载 精选 2011-09-27 20:10:23
4571阅读
理解滑动窗口,先了解下面四个小知识TCP使用两个缓存和两个窗口控制字节流的传输过程。发送方有一个发送缓存,用了存储进程准备发送的数据。接收方有一个接收缓存,用来存储接收成功的数据,等待接收方应用程序读取。接收方通过接收缓存的空余空间,计算出接收窗口的大小,并且会通过应答报文告知发送方。发送方也有一个发送窗口,只要这个窗口不为0,发送方就可以发送数据。TCP不可能为对每个字节都进行确认,而是采用累
原创 2021-07-12 14:17:07
698阅读
TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现。一、滑动窗口协议 关于这部分自己不晓得怎么叙述才好,因为理解的部分更多,下面就用自己的理解来介绍下TCP的精髓:滑动窗口协议。 所谓滑动窗口协议,自己理解有两点:1. “窗口”对应的是一段可以被发送者发送的字节序列,其连续的范围称之为“窗口”;2. “滑动
  TCP协议作为基本的传输控制协议,提供了面向连接的、可靠的通信机制。由于其优越的特性,被广泛应用于网络通信中,成为了今天互联网的基石。其为了屏蔽网络底层种种复杂的因素做出了巨大的努力,同时也导致了TCP内部各种机制之间的相互作用,让初接触它的人们很难理清头绪。本文就从TCP的传输窗口这个点切入,带领大家一睹TCP实现机制的风采。1. 前言        我们大部分业务都建立在TCP之上,而且都
原创 2021-04-19 13:32:13
509阅读
TCP协议作为基本的传输控制协议,提供了面向连接的、可靠的通信机制。由于其优越的特性,被广泛应用于网络通信中,成为了今天互联网的基石。其为了屏蔽网络底层种种复杂的因素做出了巨大的努力,同时也导致了TCP内部各种机制之间的相互作用,让初接触它的人们很难理清头绪。本文就从TCP的传输窗口这个点切入
转载 2022-04-25 20:31:33
689阅读
终于来到了TCP滑动窗口,本来计算第二节就讲滑动窗口,但是每次都是计划赶不上变化,一推再推,所以来到了第5节,不过也不晚,趁早搞懂TCP/IP还是很有用的。
原创 2022-01-13 09:41:32
690阅读
相信大家都遇到过这样的场景: 同学 Luffy 给你打电话,让你记下一串手机号码,可是你记忆力不太好,你跟 Luffy 约定,一
原创 2022-08-26 11:55:10
151阅读
什么是滑动窗口协议? 一图胜千言,看下面的图。简单解释下,发送和接受方都会维护一个数据帧的序列,这个序列被称作窗口。发送方的窗口大小由接受方确定,目的在于控制发送速度,以免接受方的缓存不够大,而导致溢出,同时控制流量也可以避免网络拥塞。下面图中的4,5,6号数据帧已经被发送出去,但是未收到...
转载 2013-07-24 13:59:00
222阅读
2评论
滑动窗口协议属于TCP协议中的一种应用,用于网络数据传输时的流量控制,以避免拥塞的发生。该协议允许发送方在停止并等待确认前发送多个数据分组。由于发送方不必每发送一个分组就停下来等待确认,所以该协议可以加速数据的传输,提高网络吞吐量。TCP利用一个滑动窗口来告诉发送端对它所发送的数据能够提供多大的缓冲区,由16位定义,最大为65535个字节。滑动窗口本质上是描述接收方的TCO数据报缓冲区大小的数据
3.4节中介绍了三种滑动窗口协议:1位滑动窗口协议、GBN协议、SR协议。1位滑动窗口协议本质上就是一种全双工的停等式协议,它的发送窗口和接收窗口大小都是1,在此不做赘述,我主要分析后两种协议窗口大小。在SR协议中,窗口大小默认满足如下两个基本条件: 发送窗口大小 = 接收窗口大小 发送窗口大小 + 接收窗口大小 <= 2^n由此我们可以推得:发送(或接收)窗口大小 <= 2^(n-
what: 滑动窗口:是传输层为了进行流量控制而采取的一种措施。由接受方来告诉发送方自己窗口的大小,从而来控制发送方的速率。 滑动窗口分为:发送窗口和接受窗口滑动:发送方根据接受窗口来决定自己的发生窗口。发送窗口的位置会随着接受确认报文,而不断向后滑动;并且发生窗口的大小,也会随着接受窗口的大小 ...
转载 2021-08-26 00:57:00
481阅读
2评论
what: 滑动窗口:是传输层为了进行流量控制而采取的一种措施。由接受方来告诉发送方自己窗口的大小,从而来控制发送方的速率。 滑动窗口分为:发送窗口和接受窗口滑动:发送方根据接受窗口来决定自己的发生窗口。发送窗口的位置会随着接受确认报文,而不断向后滑动;并且发生窗口的大小,也会随着接受窗口的大小 ...
转载 2021-08-26 00:57:00
140阅读
2评论
滑动窗口:是两台主机间传送数据时的缓冲区。每台TCP/IP主机支持两个滑动窗口:一个用于接收数据,另一个用于发送数据。窗口尺寸表示计算机可能缓冲的数据量大小。  滑动窗口的大小对网络性能有很大的影响。如果滑动窗口过小,则需要在网络上频繁的传输确认信息
原创 2021-04-21 22:48:42
432阅读
原文出处:https://community.emc.com/message/840427#840427介绍 将TCP与UDP这样的简单传输协议区分开来的是它传输数据的质量。TCP对于发送数据进行跟踪,这种数据管理需要协议有以下两大关键功能:可靠性:保证数据确实到达目的地。如果未到达,能够发现并重传。数据流控:管理数据的发送速率,以使接收设备不致于过载。要完成这些任务,整个协议操作是围绕
tcp
转载 精选 2015-03-04 10:56:45
644阅读
IP层协议属于不可靠的协议,IP层并不关系数据是否发送到了对端,TCP通过确认机制来保证数据传输的可靠性。   它本质上是描述接收方的TCP数据报缓冲区大小的数据,发送方根据这个数据来计算自己最多能发送多长的数据,如果发送方收到接收方的窗口大小为0的TCP数据报,那么发送方将停止发送数据,等到接收方发送窗口大小不为0的数据报的到来假设A和B之间新建立了一条TCP连接。设备A需要
TCP滑动窗口
转载 精选 2012-05-07 16:45:37
611阅读
            TCP滑动窗口是用来控制流量的,避免拥塞的发生。滑动窗口又包括接收端滑动窗口和发送端滑动窗口,下面我们简单分析一下。                       上图显示的是接收缓冲区,其中接收窗口也在其中。接收窗口的大小是8,即4~12,此时由A可知,接收端下一个预计接收序列号4,当接收端接收到4~7之后,滑动窗口就会右移,此时接收端预计接收的下一个序列号为8,即图B的结...
原创 2021-06-04 16:09:58
447阅读
窗口由来按数据包进行确认应答,这样的传输方式有一个缺点:数据包的往返时间越长,通信的效率就越低。为解决这个问题,TCP 引入了窗口这个概念。有了窗口,就可以指定窗口大小,窗口大小就是指无需等待确认应答,而可以继续发送数据的最大值主要目的保证可靠、有序的数据传递,强制发送方和接收方之间进行流量控制。滑动窗口简介发送端发送端包的处理的4个部分发送了并且确认的包发送了但尚未确认的包没有发送,但是等待发送
原创 2023-07-28 10:21:54
101阅读
TCP的首部中有一个很重要的字段就是16位长的窗口大小,它出现在每一个TCP数据报中,配合32位的确认序号,用于向对端通告本地socket的接收窗口大小。也就是说,如果本地socket发送一个TCP数据,其32位确认序号是5,窗口大小是5840,则用于告诉对端,对端已经发出的4个字节的数据已经收到并确认,接下来,本地socket最多能够接收从第5个字节开始的5840个字节长度的数据。这是由接收方进
我们大部分业务都建立在TCP之上,而且都经过框架层层的封装,让人很难看清其中的奥妙。但在和外部机构(如银行)交互的过程中,有很多采用的是自研的基于TCP协议。此时无法依赖框架,我们就只能自己去编写基于TCP的代码,如果充分了解TCP的种种特性,和他们对接起来就会事半功倍。相信大家在开发TCP代码的过程中,也肯定了解了粘包、长短连接这些概念。粘包和TCP窗口有关、长短连接性能优劣和TCP传输策略有
原创 2020-11-18 22:00:40
1724阅读
1点赞
  • 1
  • 2
  • 3
  • 4
  • 5