tcp 滑动窗口网络传输协议动态演示

我是一个菜鸟,只为了有好东西和大家分享!

最近项目中遇到一个让我很纠结的问题,为什么浏览器下载速度我测试可以达到1兆,而当我用sperf测试服务器到我本机单纯的传输速度的时候,速度最大超不过200kb/s。首先应该明白的是浏览器是单线程,而传输速度却惊奇的达到1兆,我在vs中测试一个单纯的下载,速度也是1兆。那么到这里,我想到了可能是tcp  滑动窗口协议,协议的动态图,我付了链接。

不喜勿喷,我是菜鸟。

   http://histrory.visualland.net/tcp_swnd_tutorial.html

时间: 2024-08-04 12:25:15

tcp 滑动窗口网络传输协议动态演示的相关文章

TCP滑动窗口与回退N针协议

[转]TCP 滑动窗口协议/1比特滑动窗口协议/后退n协议/选择重传协议 2014-1-5阅读884 评论0 本文转自 http://www.cnblogs.com/ulihj/archive/2011/01/06/1927613.html 滑动窗口协议 一图胜千言,看下面的图,简单解释下: 发送和接受方都会维护一个数据帧的序列,这个序列被称作窗口.发送方的窗口大小由接受方确定,目的在于控制发送速度,以免接受方的缓存不够大,而导致溢出,同时控制流量也可以避免网络拥塞.下面图中的4,5,6号数据帧

TCP/IP(十一)TCP滑动窗口和用赛控制

目前建立在TCP协议上的网络协议特别多,有telnet,ssh,有ftp,有http等等.这些协议又可以根据数据吞吐量来大致分成两大类:(1)交互数据类型,例如telnet,ssh,这种类型的协议在大多数情况下只是做小流量的数据交换,比如说按一下键盘,回显一些文字等等.(2)数据成块类型,例如ftp,这种类型的协议要求TCP能尽量的运载数据,把数据的吞吐量做到最大,并尽可能的提高效率.针对这两种情况,TCP给出了两种不同的策略来进行数据传输. 1.TCP的交互数据流 对于交互性要求比较高的应用,

TCP滑动窗口控制流量的原理

TCP滑动窗口控制流量的原理 TCP的滑动窗口机制       TCP这个协议是网络中使用的比较广泛,他是一个面向连接的可靠的传输协议.既然是一个可靠的传输协议就需要对数据进行确认.TCP协议里窗口机制有2种:一种是固定的窗口大小:一种是滑动的窗口.这个窗口大小就是我们一次传输几个数据.对所有数据帧按顺序赋予编号,发送方在发送过程中始终保持着一个发送窗口,只有落在发送窗口内的帧才允许被发送:同时接收方也维持着一个接收窗口,只有落在接收窗口内的帧才允许接收.这样通过调整发送方窗口和接收方窗口的大小

TCP 三次握手四次挥手, ack 报文的大小.tcp和udp的不同之处、tcp如何保证可靠的、tcp滑动窗口解释

一.TCP三次握手和四次挥手,ACK报文的大小 首先连接需要三次握手,释放连接需要四次挥手 然后看一下连接的具体请求: [注意]中断连接端可以是Client端,也可以是Server端. [注意] 在TIME_WAIT状态中,如果TCP client端最后一次发送的ACK丢失了,它将重新发送.TIME_WAIT状态中所需要的时间是依赖于实现方法的.典型的值为30秒.1分钟和2分钟.等待之后连接正式关闭,并且所有的资源(包括端口号)都被释放. [问题1]为什么连接的时候是三次握手,关闭的时候却是四次

TCP 滑动窗口的简介(写得太好,转载过来的)

TCP 滑动窗口的简介 POSTED BY ADMIN ON AUG 1, 2012 IN FLOWS34ARTICLES | 0 COMMENTS TCP的滑动窗口主要有两个作用,一是提供TCP的可靠性,二是提供TCP的流控特性.同时滑动窗口机制还体现了TCP面向字节流的设计思路.TCP 段中窗口的相关字段. TCP的Window是一个16bit位字段,它代表的是窗口的字节容量,也就是TCP的标准窗口最大为2^16-1=65535个字节. 另外在TCP的选项字段中还包含了一个TCP窗口扩大因子

TCP滑动窗口 [转]

1. 滑动窗口其实是一种协议,它主要提供两个作用,一是提供TCP的可靠性,二是提供TCP的流量控制特性,我感觉因为其协议动作特征类似窗口在移动所以称为滑动窗口.如图,从TCP首部可以看到滑动窗口的大小占16位,故其最大为2^16-1即65535个字节,另外在TCP的选项字段中还包含了一个TCP窗口扩大因子,窗口扩大因子用来扩大TCP窗口,可把原来16bit的窗口,扩大为31bit. 2. 滑动窗口可以分为发送窗口和接收窗口,因为TCP是双工的协议,所以TCP会话的双方都各自维护一个"发送窗口&q

TCP 滑动窗口和 拥塞窗口

转http://coolshell.cn/articles/11609.html 滑动窗口 -- 表征发送端和接收端的接收能力 拥塞窗口-- 表征中间设备的传输能力 TCP滑动窗口 需要说明一下,如果你不了解TCP的滑动窗口这个事,你等于不了解TCP协议.我们都知道,TCP必需要解决的可靠传输以及包乱序(reordering)的问题,所以,TCP必需要知道网络实际的数据处理带宽或是数据处理速度,这样才不会引起网络拥塞,导致丢包. 所以,TCP引入了一些技术和设计来做网络流控,Sliding Wi

TCP滑动窗口

TCP的滑动窗口解决了端到端的流量控制问题,允许接受方对传输进行限制,直到它拥有足够的缓冲空间来容纳更多的数据.滑动窗口的大小由接收方确定,接收方在发送确认信号给发送方的同时告诉发送方自己的缓冲区大小(在TCP头部字段中),发送方根据此大小确定窗口大小,从而控制数据发送量.同时,滑动窗口协议允许发送方在停止并等待确认前可以连续发送多个分组,由于发送方不必每发一个分组就停下来等待确认,因此该协议可以加速数据的传输. 下面是一个例子: 在建立连接时,双方都告知了对方自己的MSS为1024,所以在传输

android产品研发(九)-->App网络传输协议

转载请标明出处:一片枫叶的专栏 上一篇文章中我们讲解了App的数据统计,其主要分为两种:使用第三方服务统计和自身实现数据统计.一般而言我们使用第三方统计服务已经可以很好的满足我们的也无需求了,只是部分数据敏感性App,可能自身实现数据统计服务是一个更好的选择. 而本文中将要介绍的是App端的网络传输协议.那么这里首先需要明确一点的是什么是网络传输协议呢?这里首先套用一段百度百科的定义: 网络传输协议或简称为传送协议(Communications Protocol[1] ),是指计算机通信的共同语