tcp:面向連線的可靠的傳輸層協議,基於資料流(位元組流),rfc編號。
特點:超時重傳;
解決亂序;
20,21:ftp檔案傳輸;
22:ssh,遠端登入,telnet的替代品;
80:http,網路服務;
443:https,安全的web(ssl/tls之上的http)。
inetd:internet daemon,用於管理、優化網路守護程序,如20埠的ftp。
全雙工,不支援組播和廣播。
push標誌位:立即傳輸;
urgent標誌位:緊急情況,立即處理,很少用;
syn:建立連線,syn=1,ack=0沒有使用捎帶確認;
ack:確認字段,syn=1,ack=1使用捎帶確認;
mtu:最大傳輸單元,限制資料報大小的一種方案;
32位序號:tcp關鍵特徵,用於乙個方向上滑動視窗,另乙個方向上確認(累計確認,確認號小於未收到的位元組編號)。
sack:選擇確認,對確認號的補充。
棘手問題(所幸的是資料流中的每乙個位元組有偏移值,因此該問題可以解決):
3072~4095的資料到達接受端,但是2048~3071還未到,因此接收端不能進行確認;
超時重傳的資料範圍與接收端需要的不一致。
tcp流量控制:滑動視窗協議(視窗大小可變,提高了靈活性)。
校驗和:提供了額外的可靠性。
mss:主機希望收到的最大段長。
時間戳:解決序號迴繞。
連線建立:三次握手。
syn泛洪攻擊:使用syn cookie解決。
連線釋放:四次揮手。如果在兩倍於資料報最大生存期內,針對fin的響應包沒有出現,則fin的傳送端自動釋放連線,另一方會注意到似乎沒人在監聽,因此會超時(並非完美無缺,但不存在完美的解決方案)。
連線建立、資料傳輸和連線釋放可以用有限狀態自動機表示。
三次握手過程:類似打**。
四次揮手過程:
tcp為乙個連線定義了11種狀態,狀態轉換圖如下:
tcp連線分組交換圖:
處於time_wait狀態的主動關閉方將會在該狀態停留分組最大生命週期的2倍,其目的是:
TCP協議筆記
參照 tcp ip詳解 一書,tcp首部格式如下 最常見的選項欄位為最大報文段長度mss maximum segment size 表示本端所能接受的最大tcp資料段長度。每個tcp連線通常在syn報文中設定這個選項。由於乙太網中資料幀不能超過1518個位元組,其中幀頭14位元組,校驗和4位元組,實...
TCP IP協議詳解卷1學習筆記 TCP協議
tcp協議 tcp首部 源埠號 目的埠號 位序號 位確認序號 首部長度 標誌位 視窗大小 檢驗和 緊急指標和其它選項。乙個ip位址和乙個埠號也成為乙個插口 socket 插口對可唯一確定網際網路中每個tcp連線的雙方。tcp連線的建立與終止 tcp是乙個面向連線的協議,無論哪方向另一方傳送資料之前,...
TCP IP學習筆記 8 TCP協議
tcp協議,這是tcp ip裡面最重要也是最精彩的部分,要花大力氣來學習。簡要介紹 tcp和udp處在同一層 傳輸層,但是tcp和udp最不同的地方是,tcp提供了一種可靠的資料傳輸服務,tcp是面向連線的,也就是說,利用tcp通訊的兩台主機首先要經歷乙個 撥打 的過程,等到通訊準備結束才開始傳輸資...