TCP的传输连接管理

TCP传输连接管理概述

  • TCP传输连接有三个阶段,即:连接建立(三次握手)、数据传送和连接释放(四次挥手)。
  • TCP连接建立都是采用客户服务器方式。
  • 主动发起连接建立的应用进程叫做客户(client)。
  • 被动等待连接建立的应用进程叫做服务器(server)。

TCP的三次握手

  • TCP连接过程中常见符号意义如下:
    • SYN---同步标记,当SYN=1,ACK=0时,表明这是一个连接请求,对方若同意建立连接,则应在响应中使SYN=1,ACk=1;
    • ACK---确认号标志位,当ACK=1时,确认号ack有效,当ACK=0时,确认号ack无效;
    • seq---序号,代表TCP连接中传送的字节流中字节的编号;
    • ack---确认号,代表期望收到对方下一个数据包的第一个数据字节的序号。
  • TCP三次握手连接过程如下:
    • 第一次握手:客户A主动发起TCP连接建立请求,将SYN置1、ACK置0、seq置为随机值x,并发送该数据包给服务器B,接着,客户A进入SYN_SENT状态;
    • 第二次握手:服务器B确认上述数据包,由SYN=1,ACK=0知道客户A发起连接请求,然后将SYN置1,ACK置1,seq置为随机值y,ack置为x+1,并发送该数据包到客户A,接着,服务器B进入SYN_RCVD状态;
    • 第三次握手:客户A确认上述数据包,将ACK置1,seq置为x+1,ack置为y+1,接着,客户A进入ESTABLISHED状态,服务器B确认数据包后也进入ESTABLISHED状态,此时,客户A与服务器B即建立连接成功,可以进行数据传送。
  • TCP三次握手示意图如下:

猜你喜欢

转载自www.cnblogs.com/yiluyisha/p/9185746.html