我們先來看看tcp與udp對於資料互動時的區別:
tcp:面向連線的可靠的位元組流服務
位元組流服務:
udp:無連線的不可靠的資料報服務
資料報服務:
我們這裡來看一看tcp和udp的報頭資訊:
tcp的報頭資訊:
我們將可以看到的內容按順序簡略介紹一番:
①16位源端埠號:告知主機該報文段來自**(源埠)。
②16位目的端埠號:上傳給哪個上層協議或應用程式(目的埠)。
③32位序號:一次tcp通訊過程中,某乙個傳輸方向上的一系列tcp報文段的編號。
第乙個報文段的序號值為系統生成的隨機值,後續的報文段的序號都是生成的隨機值 + 此報文段攜帶資料的第乙個位元組在整個位元組流中的偏移量
例如:發過來的序號為1500的tcp報文段,資料一共100位元組,那麼下乙個發過來的tcp報文段的第乙個位元組在整個位元組流中的偏移量為(100 + 1),則其序號為:1500 +(100 + 1)
④32位確認號:用作對另一方傳送過來的tcp報文段的響應。
由接收方填充,其值為接收到報文段的序號值 + 1, 對接受到的報文段進行反饋確認。
例如:對③回饋乙個1501 表示 序號為1500的tcp報文段 我已經確認收到了。
⑤4位頭部長度(header length):標識該tcp頭部一共有多少個4位元組。因為後面有可能還有40個位元組的選項部分(控制資訊),所以我們不能確定tcp報頭資訊到底有多少位元組,所以這裡得有這個4位頭部資訊用來標示tcp報頭資訊的大小,4位最大能表示15,所以tcp報頭資訊最大有15個(4位元組資訊),最大為60位元組,最少為20位元組。
⑥6位標誌位:也就是包的型別,主要用於操控tcp的狀態機的。這6個標誌位分別為urg,ack,psh,rst,syn,fin。詳細資訊下面進行介紹。
⑦16位視窗大小:是tcp流量控制的乙個手段,這裡說的視窗,指的是接收通告視窗。他告訴對方本端自己的的tcp接收緩衝區還能容納多少位元組的資料,這樣對方就可以控制傳送資料的速度了。
⑧16位校驗和:是由傳送端填充,接收端對tcp報文段執行crc演算法以檢驗tcp報文段在傳輸過程中是否損壞。注意,這個校驗不僅僅包括tcp頭部,也包括資料部分。這也是tcp可靠傳輸的乙個重要保障。
⑨16位緊急指標:是乙個正的偏移量。它和序號欄位的值相加表示最後乙個緊急資料的下一位元組的序號,也就是緊急資料後面的 不緊急資料的開頭。緊急資料從頭開始,到這個緊急指標結束。因此,確切的說,這個欄位是緊急指標相對當前序號的偏移。tcp的緊急指標是傳送端 向 接收端傳送緊急資料的方法。
⑩最多40位元組的選項部分:做一些控制資訊。
補充第⑥點資訊:6個標誌位包含的資訊:
分別含義為:
最後需要注意的幾點:
udp的報頭資訊:
我們可以看的出來,udp報頭資訊相比較tcp報頭資訊而言,少了很多東西,固定是8個位元組,所以不需要像tcp報頭那樣包含4位h-len來表示頭部長度,其他的資訊我們在tcp報頭那裡已經介紹過了,這裡就不重複介紹了。
我們認識了tcp報頭之後,再來總結一下tcp報頭中的資訊是如何保證資料傳輸的可靠性的:
資料傳輸的可靠性主要體現在3個方面,分別是:
至此,tcp協議與udp協議的區別及其報頭資訊的解析完畢。
tcp偽報頭 TCP和UDP報頭的比較
該樓層疑似違規已被系統摺疊 隱藏此樓檢視此樓 一 tcp報頭 tcp報文段的報頭有10個必需的字段和1個可選字段。報頭至少為20位元組。報頭後面的資料是可選項。1 源埠號 16位 標識傳送報文的計算機埠或程序。乙個tcp報文段必須包括源埠號,使目的主機知道應該向何處傳送確認報文。2 目的埠號 16位...
tcp偽報頭 TCP和UDP報頭的比較
1級2018 06 08 回答 一 tcp報頭 tcp報文段的報頭有10個必需的字段和1個可選字段。報頭至少為20位元組。報頭後面的資料是可選項。1 源埠號 16位 標識傳送報文的計算機埠或程序。乙個tcp報文段必須包括源埠號,使目的主機知道應該向何處傳送確認報文。2 目的埠號 16位 標識接收報文...
TCP與UDP簡介與對比
名稱 tcpudp 是否連線 面向連線 面向非連線 傳輸可靠性 可靠不可靠 應用場合 傳輸大量資料 少量資料速度慢 快tcp transmission control protocol,傳輸控制協議 是基於連線的協議,也就是說,在正式收發資料前,必須和對方建立可靠的連線。udp user data ...