首頁 > 軟體

TCP三次握手四次揮手入門知識

2020-06-16 16:48:03

一、TCP協定
TCP是面向連線的、可靠的進程到進程通訊的協定
TCP提供全雙工服務,即資料可在同一時間雙向傳輸

二、TCP報文段
TCP將若干個位元組構成一個分組,叫報文段(Segment)
TCP報文段封裝在IP資料包中

TCP報文段

序號:傳送端為每個位元組進行編號,便於接收端正確重組

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

ACK:確認序號位,當該位為1時,用於確認傳送方的資料

FIN:當TCP斷開連線時將該位置為1

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

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

三、TCP連線

TCP建立連線的過程稱為三次握手

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

第二次握手

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一般都會分開傳送。

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

本文永久更新連結地址https://www.linuxidc.com/Linux/2018-08/153624.htm


IT145.com E-mail:sddin#qq.com