TCP三次握手与四次挥手?

66 阅读1分钟

世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。

  1. 确认一些TCP元素
    序号:seq
    确认号:ack
    标志位:

    	ACK:确认有效
    	SYN:发起一个新连接
    	FIN:释放一个连接
    
  2. 三次握手
    客户端(SYN=1, seq=x) -> 服务端
    服务端(ack=x+1, seq=y, ACK=1) -> 客户端
    客户端(ack=y+1, seq=x+1, ACK=1) -> 服务端

  3. 四次挥手
    客户端(seq=u, FIN=1) -> 服务端
    服务端(ack=u+1, seq=v, ACK=1) -> 客户端
    客户端(等待确认关闭)
    服务端(ack=u+1, seq=w, ACK=1, FIN=1)-> 客户端
    客户端(ack=w+1, seq=u+1, ACK=1)