圖解 TCP IP 協議:三次握手、四次揮手

更多內容: http://blog.yuhai.win

參考地址:
1、http://mp.weixin.qq.com/s?__biz=MzAwNjMxMTA5Mw==&mid=2651340249&idx=1&sn=ad3bde6844f04049c5408334d09da871&scene=0#wechat_redirect
2、http://www.cricode.com/3568.html

1、TCP 的通信過程如下圖:

image

TCP 的傳輸過程主要包括

a、 建立連接

b、 傳輸數據

c、 斷開連接


2、 SYN(synchronous)是TCP/IP建立連接時使用的握手信息。在客戶機與服務器之間建立正常的TCP網絡連接時,客戶機首先發出一個SYN消息,服務器使用SYN+ACK應答表示接收到了這個信息,最後客戶機再以ACK消息響應。


3、ACK(Acknowledgement),即確認字符,在數據通信中,接收站發給發送站的一種傳輸類控制字符,表示發來的數據已確認接收無誤。


4、三次握手建立連接

a、第一次握手:客戶端發送SYN包(seq=x)到服務器,並進入SYN_SEND 狀態,等待服務器確認

b、第二次握手: 服務器接收到SYN包,必須確認客戶的SYN(ack=x+1),同時自己也發送一個SYN包(seq=y),即SYN+ACK包,此時服務器進入SYN_RECV狀態

c、第三次握手:客戶端接收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=y+1),此包發送完畢,客戶端和服務器端進入ESTABLISHED狀態,完成三次握手。


5、四次揮手斷開連接

a、主動關閉發送一個FIN,用來關閉主動發到被動方的數據傳送,也就是主動關閉方告訴被動關閉方,我已經不會再給你發數據了,但此時主動關閉方還可以接收數據。

b、第二次揮手 被動關閉方收到FIN包後,發送一個ACk給對方,確認序號爲收到序號+1(與SYN相同,一個FIN佔用一個序號)

c、第三次揮手: 被主動關閉方發送一個FIN,用來關閉被動關閉方到主動關閉方的數據傳輸,也就是告訴主動關閉方,我的數據也發送完了,不會再給你發數據了。

d、第四次揮手 主動關閉收到FIN後,發送一個ACk給被動關閉方,確認序號爲收到序號+1,至此完成四次揮手

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章