Transmission Control Protocol 传输控制协议
面向连接的、可靠的、基于字节流的传输通讯协议。属于传输层。
一个完整的 TCP 连接的生命周期包括了“建立连接”“传输数据”和“断开连接”三个阶段。
三次握手,是指在建立一个 TCP 连接时,客户端和服务器总共要发送三个数据包以确认连接的建立。
传输数据阶段。在该阶段,接收端需要对每个数据包进行确认操作,也就是接收端在接收到数据包之后,需要发送确认数据包给发送端。所以当发送端发送了一个数据包之后,在规定时间内没有接收到接收端反馈的确认消息,则判断为数据包丢失,并触发发送端的重发机制。同样,一个大的文件在传输过程中会被拆分成很多小的数据包,这些数据包到达接收端后,接收端会按照 TCP 头中的序号为其排序,从而保证组成完整的数据。
四次挥手,数据传输完毕之后,来保证双方都能断开连接。
总结:
互联网中的数据是通过数据包来传输的,数据包在传输过程中容易丢失或出错。
IP 负责把数据包送达目的主机。
UDP 负责把数据包送达具体应用。
而 TCP 保证了数据完整地传输,它的连接可分为三个阶段:建立连接、传输数据和断开连接。
下层为上层提供服务
附上:
HTTP 属于应用层,位于TCP协议的上层
问题:
如果一个页面的网络加载时间过久,如何分析卡在哪个阶段的?
1 首先猜测最可能的出问题的地方,网络传输丢包比较严重,需要不断重传。然后通过ping curl看看对应的时延高不高。
2 然后通过 wireshake 看看具体哪里出了问题。
3 假如别人访问很快,自己电脑很慢,就要看看自己客户端是否有问题了。
4 结合网络模块分析:https://developers.google.com/web/tools/chrome-devtools/network/reference#timing-explanation
网友评论