2021-05-12 14:32:11
TCP三次握手四次揮手入門知識
一、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
相關文章