1. 程式人生 > >三次握手,四次斷開

三次握手,四次斷開

TCP協議的建立必須經過三次握手的過程,

三次握手,四次斷開
 

三次握手即:1.客戶端傳送同步序列號請求SYN(seq=100  ctl=SYN);

                        2.伺服器接收到客戶傳送的SYN後ACK確認,並向客戶端傳送SYN(seq=300,ack=101,ctl=syn,ack)以及ACK確認                             資訊;

                        3.客戶端接收伺服器傳送的SYN後ACK確認(seq=101,ack=301ctl=ack);

                        至此,雙方正式建立連線。

 

當需要斷開連線時,需經過四次斷開過程:

三次握手,四次斷開
 

1.客戶端向伺服器傳送FIN(seq=101,ack=301,ctl=FIN,ack),請求斷開連線;

2.伺服器接收到FIN資訊後,ACK確認(seq=301,ack=102,ctl=ack);

3.伺服器再次向客戶端傳送FIN(seq=301,ack=102,ctl=fFIN,ack)請求斷開連線;

4.客戶端接收FIN資訊後,ACK確認(seq=102,ack=302,ctl=ack)

        至此,雙方正式斷開連線,為了能夠更好的理解該過程,我將其理解成淘寶退貨流程,當我們對所購買貨物不滿意時,我們通常可以在淘寶介面點選退貨申請(第一斷開請求),當賣方收到我們的退貨申請時,會進行申請確認(第二次斷開),然後向我們發出退貨請求(第三次斷開),最後我們收到資訊後,向賣家退貨(第四次斷開)。相信大家將知識轉換成生活中常常接觸的的事物時,將有助於我們更好的理解。

 注:SYN:同步序列號請求(當SYN置1時,則表示建立連線)

          seq:序列號(傳送請求的次數)

          ack:確認(TCP協議規定,ack為1時有效;ack=seq+1

          FIN:請求斷開連線;

           ctl: 當前傳送的狀態;