一、TCP(Transmission Control Protocol)原理介绍(参考维基百科)
TCP连接包括三种状态:连接建立、数据传送和连接终止。
TCP用三路握手(three-way handshake)过程穿件一个连接。在连接创建过程中,很多参数要被初始化,例如序号被初始化以保证按序传输和连接的强壮性。一对中断同时初始化一个它们之间的连接是可能的。但通常是由一端打开一个套接字(socket)然后监听来自另一方的连接,这就是通常所指的被动打开(passion open)。服务器端被动打开以后,用户端就能开始创建主动打开(actiive open)。
- 客户端通过向服务器端发送一个SYN(synchronnous)来创建一个主动打开,作为三路握手的一部分。
- 服务器端应当为一个合法的SYN回送一个SYN/ACK。
- 最后,客户端再发送一个ACK(acknowledgement)。当服务端受到这个ACK的时候,就完成了三路握手,并进入了连接创建状态