总结一下连接的一些要点:
1.tcp为http提供了一条可靠的比特传输管道
2.tcp流是分段的,有ip分组传输
ip分组包括:
(1).ip分组首部
(2)tcp段首部
(3)tcp数据块
3.tcp的性能
常见的tcp相关延时包括如下几个:
(1)tcp连接建立握手
这个很好理解,每次建立新的连接都要进行握手动作,这里也是耗时的常见点
(2)tcp慢启动拥塞控制
tcp连接会随着时间的推移提高传输速度,这种自我调谐成为tcp慢启动
tcp慢启动限制了一个tcp端点在任意时刻可以传输的分组数
通俗来说就是:每成功接收一个分组,发送端就有了发送另外两个分组的权限
如:
摸个http事物有大量数据要发送,但是不能将所有的分组一次性发送出去,必须发送一个分组,等待确认,然后发送两个,等待确认,再发送四个,一次类推,这种方式成为“打开拥塞窗口”
(3)数据聚集的Nagle算法
如果tcp发送了大量包含少量数据的分组,网络性能就会严重下降,这时候就用Nagle算法进行优化发送,但是算法会阻止数据的发送,所有会带来一些延迟,很少。
4.提高http连接性能
(1)并行连接:通过多条tcp连接发起并行的http请求
(2)持久连接:重用tcp
(3)管道化连接:通过共享的tcp连接发起并发的http请求