雖然tcp和udp最後都會通過ip層傳輸,但是二者卻為使用者提供完全不同的服務,tcp提供的是面向連線的,可靠的位元組流服務
面向連線意味著倆個使用tcp的應用在彼此交換資料之前必須先建立乙個tcp連線。可以用打**比喻tcp的連線,要想倆個人通話,首先一方要撥通另一方的**,等待另一方接通**之後才可以通話,tcp連線只有倆方能通話,這和udp完全不同
tcp通過如下方式來提供可靠的服務
.應用資料被分成tcp認為最合適的資料塊
.當tcp發出乙個段時,它啟動乙個定時器,等待目的端確認接收這個段,如果不能及時收到確認將重發這個報文段
.當tcp收到來自tcp另一端的資料時,它將傳送乙個確認
.tcp將保持它首部和資料的檢驗和,這是個端到端的檢驗和,目的是檢驗資料在傳輸過程中有沒有變化
.如果有必要,tcp將對收到的資料進行重新排序,將收到的資料以正確的順序交給應用層
.tcp接收端必須丟掉重複的資料
.tcp雙方每一端都有固定大小的接收緩衝空間,tcp根據此空間提供流量控制
16位源埠號
16位目的埠號
32位序號
32位確認序號
4位首部長度
保留6位
16位視窗大小
16位校驗和
16位緊急指標
選項資料
(1)目地端和源端的埠號,用於尋找發端和收端應用程序
(2)序號用來標識從tcp發端向收端傳送的資料字節流,它表示在這個報文段中的第乙個資料位元組(其實說白了,它就是用來標識這個資料段的)
(3)確認序號包含傳送確認的一端所期望收到的下乙個序號,因此確認序號因該是上次已成功接收資料段序號加1只有ack為1時,確認序號才有效
(4)首部長度給出首部中32bit字的數目
(5)6位標誌他們中有多個可以被設為1,具體用法如下:
bit位
具體描述
ugr緊急指標
ack確認序號有效
psh接收方應盡快將這個報文段交給應用層
rst重建連線
syn同步序號用來發起乙個連線
fin發端完成任務
(6)16位視窗大小用於tcp流量控制
(7)最長見的可選字段是最長報文大小,又稱mss,通常在通訊的第乙個報文段指明這個
tcp是一種提供可靠的面向連線的位元組流運輸層服務,tcp將使用者資料打包構成報文段,它傳送資料後,產生乙個定時器,另一端對收到的資料確認,對失序的資料重新排序,丟棄重複資料,通過視窗大小提供端到端的流量控制,並計算和驗證乙個強制性的端到端的校驗和
tcp ip詳解學習 tcp
1。tcp連線的建立與終止 建立過程 1 客戶端請求建立連線。ack 0 syn 1 sequence number isn client acknowledgement number null options mss 2 服務段確認連線。ack 1 syn 1 sequence number is...
TCP IP學習筆記 TCP
tcp協議提供可靠的資料流服務,有以下5個特徵 1.面向資料流 2.虛電路連線 3.有緩衝的傳輸 4.無結構的資料流 5.全雙工連線 tcp使用確認 重傳來保障可靠性,採用滑動視窗機制來保障傳輸效率和進行流量控制 tcp報文段格式 6位code bit 其中視窗是16bit的捎帶視窗通告 tcp報文...
TCP IP詳解學習筆記 TCP(傳輸控制協議)
1.概述 tcp提供了一種可靠的面向連線的位元組流運輸層服務。tcp將使用者資料打包成報文段,它傳送後啟動乙個定時器,另一端收到的資料進行確認,對失序的資料重新排序,丟棄重複資料,tcp提供端到端的流量控制,並計算和驗證乙個強制性的端到端的檢驗和。許多流行的應用程式如 telnet,rlogin,f...