当你输入网址时都发生了什么(2)——TCP链接的建立

关于TCP有一个重要并且著名的三次握手和四次分手,这里只说一下三次握手

首先看一下TCP包的首部结构

当你输入网址时都发生了什么(2)——TCP链接的建立


可以看到在这个结构的中间有URG,ACK等标识。

当客户机要和服务器建立链接时,就要通过这些标识来确认链接。

这里我们讨论的主要是SYN,ACK,SEQ。

首先,客户端发送一个SYN为1,且SEQ为随机(记为X)的一个包给服务器

服务器收到后,会产生一个SEQ(Y)为随机,且ACK为X+1的包返回给客户机

客户机收到后会将回应一个ACK为Y+1的包给服务器,这样链接就建立了。

具体的步骤推荐阅读《TCP/IP 卷一》的第十七和十八章