TCP协议

作者: vavid | 来源:发表于2020-07-09 16:40 被阅读0次

    Transmission Control Protocol 传输控制协议
    面向连接的、可靠的、基于字节流的传输通讯协议。属于传输层。
    一个完整的 TCP 连接的生命周期包括了“建立连接”“传输数据”和“断开连接”三个阶段。

    一个TCP连接的生命周期
    三次握手,是指在建立一个 TCP 连接时,客户端和服务器总共要发送三个数据包以确认连接的建立。
    传输数据阶段。在该阶段,接收端需要对每个数据包进行确认操作,也就是接收端在接收到数据包之后,需要发送确认数据包给发送端。所以当发送端发送了一个数据包之后,在规定时间内没有接收到接收端反馈的确认消息,则判断为数据包丢失,并触发发送端的重发机制。同样,一个大的文件在传输过程中会被拆分成很多小的数据包,这些数据包到达接收端后,接收端会按照 TCP 头中的序号为其排序,从而保证组成完整的数据。
    四次挥手,数据传输完毕之后,来保证双方都能断开连接。

    总结:
    互联网中的数据是通过数据包来传输的,数据包在传输过程中容易丢失或出错。
    IP 负责把数据包送达目的主机。
    UDP 负责把数据包送达具体应用。
    而 TCP 保证了数据完整地传输,它的连接可分为三个阶段:建立连接、传输数据和断开连接。
    下层为上层提供服务

    附上:
    HTTP 属于应用层,位于TCP协议的上层

    HTTP 请求流程示意图
    问题:
    如果一个页面的网络加载时间过久,如何分析卡在哪个阶段的?
    1 首先猜测最可能的出问题的地方,网络传输丢包比较严重,需要不断重传。然后通过ping curl看看对应的时延高不高。
    2 然后通过 wireshake 看看具体哪里出了问题。
    3 假如别人访问很快,自己电脑很慢,就要看看自己客户端是否有问题了。
    4 结合网络模块分析:https://developers.google.com/web/tools/chrome-devtools/network/reference#timing-explanation

    相关文章

      网友评论

          本文标题:TCP协议

          本文链接:https://www.haomeiwen.com/subject/ruouzhtx.html