tcp偽報頭 TCP和UDP報頭的比較

2021-10-16 19:39:17 字數 2659 閱讀 5916

匿名使用者

1級2018-06-08 回答

一、tcp報頭

?? tcp報文段的報頭有10個必需的字段和1個可選字段。報頭至少為20位元組。報頭後面的資料是可選項。

??1、源埠號(16位)

?? 標識傳送報文的計算機埠或程序。乙個tcp報文段必須包括源埠號,使目的主機知道應該向何處傳送確認報文。

??2、目的埠號(16位)

?? 標識接收報文的目的主機的埠或程序。

??3、序列號(32位)

?? 用於標識每個報文段,使目的主機可確認已收到指定報文段中的資料。當源主機用於多個報文段傳送乙個報文時,即使這些報文到達目的主機的順序不一樣,序列號也可以使目的主機按順序排列它們。

?? 在建立連線時傳送的第乙個報文段中,雙方都提供乙個初始序列號。tcp標準推薦使用以4ms間隔遞增1的計數器值作為這個初始序列號的值。使用計數器可以防止連線關閉再重新連線時出現相同的序列號。

?? 對於那些包含資料的報文段,報文段中第乙個資料位元組的數量就是初始序列號,其後資料位元組按順序編號。如果源主機使用同樣的連線傳送另乙個報文段,那麼這個報文段的序列號等於前乙個報文段的序列號與前乙個報文段中資料位元組的數量之和。例如,假設源主機傳送3個報文段,每個報文段有100位元組的資料,且第乙個報文段的序列號是1000,那麼第二個報文段的序列號就是1100(1000+100),第三個報文段的序列號就是1200(1100+100)。

?? 如果序列號增大至最大值將復位為0。

??4、確認號(32位)

?? 目的主機返回確認號,使源主機知道某個或幾個報文段已被接收。如果ack控制位被設定為1,則該字段有效。確認號等於順序接收到的最後乙個報文段的序號加1,這也是目的主機希望下次接收的報文段的序號值。返回確認號後,計算機認為已接收到小於該確認號的所有資料。

?? 例如,序列號等於前乙個報文段的序列號與前乙個報文段中資料位元組的數量之和。例如,假設源主機傳送3個報文段,每個報文段有100位元組的資料,且第乙個報文段的序列號是1000,那麼接收到第乙個報文段後,目的主機返回含確認號1100的報頭。接收到第二個報文段(其序號為1100)後,目的主機返回確認號1200。接收到第三個報文段後,目的主機返回確認號1300。

?? 目的主機不一定在每次接收到報文段後都返回確認號。在上面的例子中,目的主機可能等到所有3個報文段都收到後,再返回乙個含確認號1300的報文段,表示已接收到全部1200位元組的資料。但是如果目的主機再發回確認號之前等待時間過長,源主機會認為資料沒有到達目的主機,並自動重發。

?? 上面的例子中,如果目的主機接收到了報文段號為1000的第乙個報文段以及報文段號為1200的最後乙個報文段,則可返回確認號1100,但是再返回確認號1300之前,應該等待報文段號為1100的中間報文段。

??5、報文長度(4位)

?? 由於tcp報頭的長度隨tcp選項字段內容的不同而變化,因此報頭中包含乙個指定報頭欄位的字段。該字段以32位元為單位,所以報頭長度一定是32位元的整數倍,有時需要在報頭末尾補0。如果報頭沒有tcp選項字段,則報頭長度值為5,表示報頭乙個有160位元,即20位元組。

??6、保留位(6位)

?? 全部為0。

??7、控制位(6位)

?? urg:報文段緊急。

?? ack:確認號有效。

?? psh:建議計算機立即將資料交給應用程式。

?? rst:復位連線。

?? syn:程序同步。在握手完成後syn為1,表示tcp建立已連線。此後的所有報文段中,syn都被置0。

?? fin:源主機不再有待傳送的資料。如果源主機資料傳送完畢,將把該連線下要傳送的最後乙個報文段的報頭中的fin位置1,或將該報文段後面傳送的報頭中該位置1。

??8、視窗(16位)

?? 接收計算機可接收的新資料位元組的數量,根據接收緩衝區可用資源的大小,其值隨計算機所傳送的每個報文段而變化。源主機可以利用接收到的視窗值決定下乙個報文段的大小。

??9、校驗和(16位)

?? 源主機和目的主機根據tcp報文段以及偽報頭的內容計算校驗和。在偽報頭中存放著來自ip報頭以及tcp報文段長度資訊。與udp一樣,偽報頭並不在網路中傳輸,並且在校驗和中包含偽報頭的目的是為了防止目的主機錯誤地接收存在路由的錯誤資料報。

??10、緊急指標(16位)

?? 如果urg為1,則緊急指標標誌著緊急資料的結束。其值是緊急資料最後1位元組的序號,表示報文段序號的偏移量。例如,如果報文段的序號是1000,前8個位元組都是緊急資料,那麼緊急指標就是8。緊急指標一般用途是使使用者可中止程序。

??11、tcp選項(0或更大)

?? 完整的tcp報頭必須是32位元的整數倍,為了達到這一要求,常在tcp選項欄位的末尾補零。

??12、資料部分

?? 報頭後面是可選的報文段資料部分。ip協議標準要求株距能接收最長達576位元組的資料報。無其他選項的ip報頭是20位元組,無其他選項的tcp報頭也是20位元組,所以ip選項和tcp選項且含有多達536位元組資料的tcp報文段無須分片就可達到目的主機。

二、udp報頭由4個域組成,其中每個域各占用2個位元組,具體為:

源埠號 目標埠號 資料報長度 校驗值

udp協議使用埠號為不同的應用保留其各自的資料傳輸通道

資料報的長度是指包括報頭和資料部分在內的總的位元組數。因為報頭的長度是固定的,所以該域主要被用來計算可變長度的資料部分(又稱為資料負載)

udp協議使用報頭中的校驗值來保證資料的安全。校驗值首先在資料傳送方通過特殊的演算法計算得出,在傳遞到接收方之後,還需要再重新計算。且udp必須要有校驗值

tcp偽報頭 TCP和UDP報頭的比較

該樓層疑似違規已被系統摺疊 隱藏此樓檢視此樓 一 tcp報頭 tcp報文段的報頭有10個必需的字段和1個可選字段。報頭至少為20位元組。報頭後面的資料是可選項。1 源埠號 16位 標識傳送報文的計算機埠或程序。乙個tcp報文段必須包括源埠號,使目的主機知道應該向何處傳送確認報文。2 目的埠號 16位...

TCP報頭相關

tcp協議頭最少20個位元組,包括以下的區域 標示報問的返回位址。tcp目的埠 destination port 16位的目的埠域定義傳輸的目的。這個埠指明報文接收計算 機上的應用程式位址介面。tcp序列號 序列碼,sequence number 32位 tcp應答號 acknowledgment ...

TCP報頭格式

1 埠號 用來標識同一臺計算機的不同的應用程序。1 2 目的埠 埠指明接收方計算機上的應用程式介面。tcp報頭中的源埠號和目的埠號同ip資料報中的源ip與目的ip唯一確定一條tcp連線。2 序號和確認號 是tcp可靠傳輸的關鍵部分。序號是本報文段傳送的資料組的第乙個位元組的序號。在tcp傳送的流中,...