TCP在慢启动阶段,每一个RTT拥塞窗口按指数级增长,TCP在拥塞避免阶段,每一个RTT拥塞窗口线性增加1。这些都是书上讲的,不必太认真,真实的情况要比这个复杂的多! 首先我们看大部分的资料里讲的TCP是怎么实现每RTT增窗的,一切都是扯理论,没什么现实意义! 在慢启动阶段,每收到一个ACK(数据包从发出到收到其ACK,就是一个RTT),窗口增加1,在拥塞避免阶段,每收...
分类:
移动开发 时间:
2016-05-12 22:45:22
阅读次数:
443
阅读目录 延迟的因素 速度延时 带宽延时 最后一公里延时-tracerouter 目标 rwnd的设置 慢启动过程 慢启动的影响 慢启动对HTTP影响的一次计算 拥塞窗口的合适值 服务器配置调优 应用程序行为调优 性能检查清单 针对三次握手、流量控制(接收窗口)、慢启动(cwnd,拥塞窗口)、队首阻... ...
分类:
Web程序 时间:
2016-04-23 14:56:29
阅读次数:
311
TCP提供可靠、面向连接的字节流服务,面向连接意味着两个使用tcp的应用在彼此交换数据之前必须先建立一个tcp连接
在一个tcp链接中,仅仅两方进行彼此通信,不支持广播和多播功能
滑动窗口:
慢启动:
成块数据段
拥堵
TCP超时和重传
4个定时器
拥塞避免算法
快速重传和快速恢复算法
ICMP差错
模糊窗口综合征
TCP保...
分类:
其他好文 时间:
2016-04-22 20:59:14
阅读次数:
218
慢启动? 最初的TCP在连接建立成功后会向网络中发送大量的数据包,这样很容易导致网络中路由器缓存空间耗尽,从而发生拥塞。因此新建立的连接不能够一开始就大量发送数据包,而只能根据网络情况逐步增加每次发送的数据量,以避免上述现象的发生。具体来说,当新建连接时,cwnd初始化为1个最大报文段(MSS)大小 ...
分类:
其他好文 时间:
2016-04-20 11:28:03
阅读次数:
174
这篇文章基本是对《Web性能权威指南》第一章和第二章的读书笔记,另外加一些扩展内容,这本书确实赞,推荐 针对三次握手、流量控制(接收窗口)、慢启动(cwnd,拥塞窗口)、队首阻塞等方面看下TCP对HTTP的影响 所有网络通信都有决定性影响的两个方面:延迟和带宽 假定光通过光纤的速度 约为每秒 200
分类:
Web程序 时间:
2016-03-16 19:04:58
阅读次数:
312
Chart4 ====连接管理==== 一、TCP连接 1. Http和Https的网络协议栈: 2. Http在TCP/IP传输中的位置: 3. Http怎么利用TCP传输: 二、Http依赖的TCP性能(延时)简介 1. TCP连接建立握手:安全的三次握手 2. TCP慢启动拥塞控制 (1)什么
分类:
Web程序 时间:
2016-03-12 01:26:25
阅读次数:
205
说明:
1).本文以TCP的发展历程解析容易引起混淆,误会的方方面面
2).本文不会贴大量的源码,大多数是以文字形式描述,我相信文字看起来是要比代码更轻松的
3).针对对象:对TCP已经有了全面了解的人。因为本文不会解析TCP头里面的每一个字段或者3次握手的细节,也不会解释慢启动和快速重传的定义
4).除了《TCP/IP详解》(卷一,卷二)以及《Unix网络编程》以及Linux源代码之外,...
分类:
其他好文 时间:
2016-01-01 19:08:18
阅读次数:
251
为什么要使用KeepAlive?终极的原因就是需要加快客户端和服务端的访问请求速度。KeepAlive就是浏览器和服务端之间保持长连接,这个连接是可以复用的。当客户端发送一次请求,收到相应以后,第二次就不需要再重新建立连接(慢启动的过程),就可以直接使用这次的连接来发送请求了。在HTTP1.0及各种...
分类:
Web程序 时间:
2015-12-14 14:22:06
阅读次数:
138
TCP的数据流大致能够分为两类,交互数据流与成块的数据流。交互数据流就是发送控制命令的数据流。比方relogin,telnet。ftp命令等等。成块数据流是用来发送数据的包,网络上大部分的TCP包都是这样的包。非常明显。TCP在传输这两种类型的包时的效率是不一样的,因此为了提高TCP的传输效率,应该...
分类:
编程语言 时间:
2015-12-07 22:19:56
阅读次数:
1015
最近换了电脑,重新配置安卓开发环境,记录一下: 早期研究安卓开发,用eclipse觉得挺臃肿庞大,后来出了android-studio,等版本渐渐稳定下来用起来还不错,但是还是比较难忍受AVD模拟器的缓慢启动速度,又不喜欢...
分类:
移动开发 时间:
2015-10-26 19:12:47
阅读次数:
222