wKioL1OIIOTwXUviAACCrQ3RV18185.jpg

1.第一次握手(Connection Request,CR):连接发起方(通常称为客户或请求端)发送一个 TCP报文,设置SYN标志,指明客户打算连接的服务器的端口,以及初始序列号ISN(在图中为x)。
  2.第二次握手(Connection Confirm,CC):服务器发回一个 TCP报文作为应答,该报文设置了SYN标志和ACK标志,将确认号设置为客户发来的ISN+1(在图5-36中为x+1),将序列号设置为服务器端的ISN(在图中为y)。
  3.第三次握手(Connection Establish,CE):客户开始向服务器发送数据,并设置ACK标志,将确认号设置为服务器发来的ISN+1(在图中为y+1),将序列号设置为客户的ISN+1(在图中为x+1)。
  当服务器收到第三次握手的报文时,客户和服务器之间就建立了连接。因此,连接可以由任一方或双方发起,一旦连接建立,数据就可以双向对等地流动,而没有所谓的主从关系。
  三次握手协议可以完成两个重要功能:确保连接双方做好传输准备,使双方统一初始顺序号。一般来说,初始连接序号的选择采用基于时钟的方案,每隔4微秒初始连接序号加1。因此每个连接都将具有不同的ISN。分组的最长寿命为120秒。