TCP三次握手四次揮手

一、TCP協議
TCP是面向連接的、可靠的進程到進程通信的協議
TCP提供全雙工服務,即數據可在同一時間雙向傳輸

二、TCP報文段
TCP將若干個字節構成一個分組,叫報文段(Segment)
TCP報文段封裝在IP數據報中

TCP三次握手四次揮手

TCP報文段

TCP三次握手四次揮手

序號:發送端爲每個字節進行編號,便於接收端正確重組

確認號:用於確認發送端的信

ACK:確認序號位,當該位爲1時,用於確認發送方的數據

FIN:當TCP斷開連接時將該位置爲1

SYN:同步序號位,TCP需要建立連接時將該值設爲1

窗口大小:用於說明本地可接收數據段的數目,窗口大小是可變的

三、TCP連接

TCP建立連接的過程稱爲三次握手
TCP三次握手四次揮手

通過wireshark抓包來分析三次握手的過程
第一次握手
TCP三次握手四次揮手

第二次握手
TCP三次握手四次揮手

TCP三次握手
TCP三次握手四次揮手

TCP斷開連接的四次揮手
TCP三次握手四次揮手

第一次揮手
TCP三次握手四次揮手

第二次揮手
TCP三次握手四次揮手

第三次揮手
TCP三次握手四次揮手

第四次揮手
TCP三次握手四次揮手

四、常用的TCP端口號及其功能

端口 協議 說  明

21 FTP FTP服務器所開放的控制端口
23 TELNET 用於遠程登錄,可以遠程控制管理目標計算機
25 SMTP SMTP服務器開放的端口,用於發送郵件
80 HTTP 超文本傳輸協議
110 POP3 用於郵件的接收

五、附註
        關於三次握手與四次揮手通常都會有典型的面試題,在此提出供有需求的XDJM們參考:
        (1)三次握手是什麼或者流程?四次握手呢?答案前面分析就是。
        (2)爲什麼建立連接是三次握手,而關閉連接卻是四次揮手呢?
        這是因爲服務端在LISTEN狀態下,收到建立連接請求的SYN報文後,把ACK和SYN放在一個報文裏發送給客戶端。而關閉連接時,當收到對方的FIN報文時,僅僅表示對方不再發送數據了但是還能接收數據,己方也未必全部數據都發送給對方了,所以己方可以立即close,也可以發送一些數據給對方後,再發送FIN報文給對方來表示同意現在關閉連接,因此,己方ACK和FIN一般都會分開發送。

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