TCP 协议

· 637 words · 4 min

互联网本质上是协议组成的体系架构。数据通过数据包进行传输,数据包过大时,就会进行拆包,分多次进行传输。

IP:把数据送到目的主机

数据包要在互联网上传输,就要符合网络协议(Internet Protocol,IP)。IP 协议负责把数据包从 A 主机传送到 B 主机。

IP

UDP:把数据包送达应用程序

确定将数据报送给哪个应用程序需要用到用户数据包协议(User Datagram Protocol,UDP), UDP 协议最重要的信息就是端口号,端口号信息会被封装进 UDP 头里面,包括目的端口和源端口。

UDP 发送数据时,各种因素可能会导致数据包出错。虽然 UDP 可以校验数据是否正确, 但是对于出错的数据包,UDP 不提供重发机制,只会丢弃当前错误的包,而且发送至后也无法知道是否到达了目的地。 虽然 UDP 不能保证数据的准确性,但是传输速度非常块。因此 UDP 会应用在一些关注速度、但是对数据完整性要求不高的场合, 如在线视频、互动游戏等。

UDP

TCP:把数据完整的送达到应用程序

TCP(Transmission Control Protocol)传输控制协议是一种面向相连接的、可靠的、基于字节流的传输层通行协议。相对于 UDP,TCP 有如下优点:

TCP

完整的 TCP 连接过程包括:建立连接、传输数据、断开连接三个阶段。

TCP 连接过程

TCP 为了保证数据传输的可靠性,牺牲了数据包的传输速度,因为“三次握手”和“数据包校验机制”把数据包的数量提高了一倍。

From 极客时间