tcp協議
可靠性的保證
協議格式
toctcp提供了一種面向連線的、可靠的位元組流服務。
需要通過tcp通訊的雙方必須建立一條tcp連線,並且僅支援建立連線的雙方一對一的進行通訊,廣播與多播並不能用於tcp
tcp是面向位元組流的協議,應用程式的資料被分割成tcp認為最合適的大小的傳送資料塊
tcp的可靠性由下面的七種方式保證
序列號
由於tcp報文段以ip資料報來傳輸的
校驗和
tcp提供覆蓋首部和資料部分的校驗和
超時重傳
當傳送端發出乙個報文段後,會啟動乙個定時器(重傳定時器),等待接收端對這個報文段的確認,如果在超時時間內不能收到確認,則重傳該報文段
確認應答(ack)
當tcp接收端收到傳送端的報文段後,它會傳送乙個確認。但這個確認通常不是立即傳送的,而是會有乙個延遲,並且當三次重傳同一ack時,就執行快速恢復
連線管理
收發雙方通過三次握手、四次揮手來建立、斷開乙個連線,並且各自有乙個狀態機來維護這乙個連線。
流量控制
接受端有乙個固定大小的緩衝區,tcp根據接收端的處理能力來決定傳送端傳送的速度,以防止傳送端傳送過快導致的接收端緩衝區溢位
擁塞控制
通過傳送端對網路情況的探查,控制傳送端傳送的數量,防止過多的資料傳送到網路中導致網路過載而丟包。
tcp包首部通常是20位元組,選項部分最多不超過40位元組(和ip首部一樣):
32位序號:序號用來標識從tcp傳送端向tcp收接收端傳送的資料字節流,它表示在這個報文段中的的第乙個資料位元組。如果將位元組流看作在兩個應用程式間的單向流動,則tcp用序號對每個位元組進行計數。序號是32bit的無符號數,序號到達2^32-1後又從0開始。
32位確認序號:確認序號應當是上次已成功收到資料(成功接收並且校驗和正確)位元組序號加1。只有ack標誌為1時確認序號欄位才有效。
4位首部長度:首部長度指的是首部佔32bit字的數目,包括任何選項。它是乙個4位元字段,當4個位元全為1時,即1111(十進位制為15)時,首部長度可達最長的60個位元組。
6個位元標誌位:
urg緊急指標(urgentpointer)有效
ack確認序號有效
psh接收方應該盡快將這個報文段交給應用層,而不是等待判斷是否有額外的資料到達
rst重建連線
syn同步序號,用來發起乙個連線
fin發端完成傳送任務
來自為知筆記(wiz)
TCP IP 四層協議層羅列
tcp ip是一組不同層次上的多個協議的組合。tcp ip通常被認為是乙個四層協議系統 鏈路層 又叫資料鏈路層和網路介面層,通常包括作業系統中的裝置驅動程式和網路介面卡。網路層 有時也叫網際網路層,處理分組在網路中的活動。在tcp ip協議族中,網路層協議包括ip,icmp,igmp協議。運輸層 主...
基於第四層交換技術的負載均衡
摘 要 本文介紹了第四層交換技術的概念,技術原理以及如何使用第四層交換技術實現遠端教育系統中的應用伺服器負載均衡。凌仲權,現就讀於西安電子科技大學,2001級碩士研究生。主要的科研方向為計算機網路技術研究以及遠端教育的相關技術。丁振國,西安電子科技大學遠端教育學院院長,西安電子科技大學電子商務研究所...
TCP IP協議族四層模型
tcp ip協議族四層模型分為 應用層 傳輸層 網路層 鏈路層資料鏈路層 1.1 作用 1 實現網絡卡介面的網路驅動,以處理資料在乙太網線等物理媒介上的傳輸 2 網路驅動程式隱藏了不同物理網路的不同電氣特性,為上層協議提供乙個統一的介面 1.2 協議應用 arp和rarp reverse addre...