tcp協議
==> tcp首部
源埠號、目的埠號、位序號、位確認序號、首部長度、標誌位、視窗大小、檢驗和、緊急指標和其它選項。
乙個ip位址和乙個埠號也成為乙個插口(socket)。插口對可唯一確定網際網路中每個tcp連線的雙方。
==> tcp連線的建立與終止
tcp是乙個面向連線的協議,無論哪方向另一方傳送資料之前,都必須先在雙方之間建立一條連線。
tcp連線的建立——三次握手。
tcp連線的終止——四次握手。這是由tcp的半關閉造成的。因為tcp是全雙工的,因此每個方向必須單獨的進行關閉。
==> 最大報文段長度mss
mss越大,允許每個報文段傳遞的資料越多,相對tcp和ip的首部有更高的利用率。
有些情況下,mss是可以在建立tcp連線時進行協商的選項,但是有些情況下不行 。
* 如果是本地網路,tcp可以根據網路外出介面處的mtu值減去固定的ip首部(20)和tcp長度(20),對於乙太網,可以達到1460。
* 如果ip位址為非本地的,則mss通常定為預設值536位元組(允許20位元組的ip首部和20位元組的tcp首部以適合576位元組的ip資料報)。
mss讓主機限制另一端傳送資料的長度,同時也能控制它自己傳送資料報的長度,避免較小mtu發生分片。
==> tcp的半關閉
tcp連線的一端在結束它的傳送後還能接收來自另一端資料(直到它也傳送fin)的能力,這就是所謂的半關閉。應用程式很少用到。
==> 復位報文段
* 不存在的埠(目的埠沒有程序監聽)。目的主機將對syn請求返回乙個rst報文段。(udp則將產生乙個埠不可達的資訊)
* 異常終止。
* 檢測半開啟的連線。
==> tcp伺服器的設計
* 大多數tcp伺服器的程序是併發的.
* 只有處於監聽的程序才能處理客戶端的連線請求.
* tcp伺服器可以對本地ip位址進行限制,但是一般不能對遠端ip位址進行限制.
TCP IP 詳解 卷1 協議
分層 鏈路層 裝置驅動程式及介面卡 網路層 ip icmp igmp internet組管理協議 運輸層 tcp udp 應用層 telnet ftp e mail等 可靠連線得由應用層提供。ip提供的是不可靠服務,盡可能快的把分組從源結點送到目的節點。應用層關心的是應用程式的細節,而不是資料傳輸活...
學習《TCP IP詳解卷1 協議》 TCP
tcp 傳輸控制協議 儘管tcp和udp都使用相同的網路層 ip tcp卻向應用層提供與udp完全不同的服務。tcp提供一種面向連線的 可靠的位元組流服務。面向連線意味著兩個使用tcp的應用 通常是乙個客戶和乙個伺服器 在彼此交換資料之前必須先建立乙個tcp連線。tcp通過下列方式來提供可靠性 1....
讀書筆記 《TCP IP協議詳解 卷1 協議》
tcp ip協議詳解 卷1 協議 第6章 icmp internet控制報文協議 1 icmp採用udp,在ip資料報內部所傳輸 2 有幾種情況下不會導致產生icmp差錯報文 icmp 差錯報文 廣播或多播 ip資料報,非 ip分片的第一片 3 icmp差錯報文必須包括生產該差錯報文的的資料報ip首...