三次握手是為了建立連接,流程大致如下:
第一次握手:建立連接時(shí),客戶端發(fā)送SYN包(假設(shè)seq=j)到服務(wù)器,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器確認(rèn)
第二次握手:服務(wù)器收到SYN包 ,必須確認(rèn)客戶的SYN(ack=j+1),同時(shí)自己發(fā)送一個(gè)SYN包(假設(shè)seq=k),即SYN+ACK包,同時(shí)進(jìn)入SYN_RECY狀態(tài)
第三次握手: 客戶端收到服務(wù)器的SYN+ACK包,并向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1),此包發(fā)送完畢,完成三次握手
為什么需要三次握手才可以建立連接? :? 為了確認(rèn)初始化sequence Number 的值
server會(huì)重發(fā)5次 第一次是1s 之后每次翻倍 所以是63秒