成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

TCP數據段格式+UDP數據段格式詳解

網絡 通信技術
TCP(Transmission Control Protocol 傳輸控制協議)是一種面向連接的、可靠的、基于字節流的傳輸層通信協議。

TCP 報文格式

TCP數據段格式+UDP數據段格式詳解
TCP數據段格式+UDP數據段格式詳解

TCP(Transmission Control Protocol 傳輸控制協議)是一種面向連接的、可靠的、基于字節流的傳輸層通信協議。

TCP 報文段的報頭有 10 個必需的字段和 1 個可選字段。報頭至少為 20 字節。報頭后面的數據是可選項。

1.源端口(16位)

標識發送報文的計算機端口或進程。一個 TCP 報文段必須包括源端口號,使目的主機知道應該向何處發送確認報文。

2.目的端口(16位)

標識接收報文的目的主機的端口或進程。

3.序號(也叫序列號)(32位)

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

在 SYN 標志未置位時,該字段指示了用戶數據區中***個字節的序號;在 SYN 標志置位時,該字段指示的是初始發送的序列號。

在建立連接時發送的***個報文段中,雙方都提供一個初始序列號。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 報文段的起始處有多遠,即首部長度。 由于 TCP 報頭的長度隨 TCP 選項字段內容的不同而變化,因此報頭中包含一個指定報頭字段的字段。該字段以 32 比特為單位,所以報頭長度一定是 32 比特的整數倍,有時需要在報頭末尾補 0 。如果報頭沒有 TCP 選項字段,則報頭長度值為 5 ,表示報頭一個有 160 比特,即 20 字節。

6.保留位(6位)

由跟在數據偏移字段后的 6 位構成, 全部為 0 。

7.控制位(6位)

緊急 URG:此位置 1,表明緊急指針字段有效,它告訴系統此報文段中有緊急數據,應盡快傳送。

確認 ACK:僅當 ACK = 1 時確認號字段才有效,TCP 規定,在連接建立后所有傳達的報文段都必須把 ACK 置 1。

推送 PSH: 當兩個應用進程進行交互式的通信時,有時在一端的應用進程希望在鍵入一個命令后立即就能夠收到對方的響應。在這種情況下,TCP 就可以使用推送(push)操作,這時,發送方 TCP 把 PSH 置 1 ,并立即創建一個報文段發送出去,接收方收到 PSH = 1 的報文段,就盡快地(即“推送”向前)交付給接收應用進程,而不再等到整個緩存都填滿后再向上交付。

復位 RST:用于復位相應的 TCP 連接

同步 SYN:僅在三次握手建立 TCP 連接時有效。當 SYN = 1 而 ACK = 0 時,表明這是一個連接請求報文段,對方若同意建立連接,則應在相應的報文段中使用 SYN = 1 和 ACK = 1。因此,SYN 置 1 就表示這是一個連接請求或連接接受報文。

終止 FIN:用來釋放一個連接。當 FIN = 1 時,表明此報文段的發送方的數據已經發送完畢,并要求釋放運輸連接。

8.窗口(16位)

此字段用來進行流量控制,這個值是本機期望一次接收的字節數,即發送數據的窗口大小。告訴對方在不等待確認的情況下,可以發來多大的數據。這里表示的***長度是2^16 - 1 = 65535,如需要使用更大的窗口大小,需要使用選項中的窗口擴大因子選項。

指發送本報文段的一方的接收窗口(而不是自己的發送窗口)。

9.校驗和(16位)

源主機和目的主機根據 TCP 報文段以及偽報頭的內容計算校驗和。在偽報頭中存放著來自 IP 報頭以及 TCP 報文段長度信息。與 UDP 一樣,偽報頭并不在網絡中傳輸,并且在校驗和中包含偽報頭的目的是為了防止目的主機錯誤地接收存在路由的錯誤數據報。

偽首部, 又稱為偽包頭(Pseudo Header):是指在 TCP 的分段或 UDP 的數據報格式中,在數據報首部前面增加源 IP 地址、目的 IP 地址、IP 分組的協議字段、TCP 或 UDP 數據報的總長度等共12字節,所構成的擴展首部結構。此偽首部是一個臨時的結構,它既不向上也不向下傳遞,僅僅只是為了保證可以校驗套接字的正確性。

TCP數據段格式+UDP數據段格式詳解

10.緊急指針(16位)

僅在 URG = 1 時才有意義,它指出本報文段中的緊急數據的字節數(緊急數據結束后就是普通數據),即指出了緊急數據的末尾在報文中的位置,注意:即使窗口為零時也可發送緊急數據。

如果 URG 為 1 ,則緊急指針標志著緊急數據的結束。其值是緊急數據*** 1 字節的序號,表示報文段序號的偏移量。例如,如果報文段的序號是 1000,前 8 個字節都是緊急數據,那么緊急指針就是 8 。緊急指針一般用途是使用戶可中止進程。

11.選項、填充字段

可能包括“窗口擴大因子”、“時間戳”等選項。長度可變,最長可達 40 字節,當沒有使用選項時,TCP 首部長度是 20 字節。

填充用于保證任選項為 32bit 的整數倍。

12.數據(長度可變)

TCP 首部結束之后的部分

UDP 報文格式

TCP數據段格式+UDP數據段格式詳解

UDP 是 User Datagram Protocol 的簡稱, 中文名是用戶數據報協議,是一種無連接的傳輸層協議,提供面向事務的簡單不可靠信息傳送服務。

1)源端口(2 字節):發送方端口號

2)目的端口(2 字節 ):接收方端口號

3)報文長度(2 字節):UDP 用戶數據報的總長度,以字節為單位。

4)校驗和(2 字節):檢測 UDP 用戶數據報在傳輸中是否有錯,有錯就丟棄。

用于校驗 UDP 數據報的數字段和包含 UDP 數據報首部的“偽首部”。

偽首部, 又稱為偽包頭(Pseudo Header):是指在 TCP 的分段或 UDP 的數據報格式中,在數據報首部前面增加源 IP 地址、目的 IP 地址、IP 分組的協議字段、TCP 或 UDP 數據報的總長度等共12字節,所構成的擴展首部結構。此偽首部是一個臨時的結構,它既不向上也不向下傳遞,僅僅只是為了保證可以校驗套接字的正確性。

TCP數據段格式+UDP數據段格式詳解

5)數據:UDP 的數據部分如果不為偶數需要用 0 填補,就是說,如果數據長度為奇數,數據長度加“1”。

責任編輯:武曉燕 來源: 博客園
相關推薦

2010-06-13 15:22:16

TCP協議數據報頭

2019-03-28 13:34:22

IP TCP握手

2021-07-14 07:55:47

Linux CPULinux 系統

2013-10-17 10:35:06

TCP字節流UDP數據報

2017-07-13 13:00:41

數據庫Oracle損壞塊

2013-01-16 09:11:26

Wi-Fi會議話筒

2010-07-12 17:31:36

UDTUDP協議

2018-03-07 13:21:26

RocksDB數據存儲

2011-03-17 16:19:42

Oracle數據庫管理

2011-07-29 16:21:21

Oracle數據庫回滾段

2010-11-15 11:49:18

Oracle數據庫的段

2011-03-17 16:35:20

Oracle數據庫段管理

2011-05-26 13:54:04

Json

2023-09-06 15:00:35

Pandas存儲格式

2011-08-03 09:26:49

2014-10-13 09:22:39

TCPIPwireshark

2011-04-11 13:14:58

AjaxWEB服務

2009-06-08 17:47:00

JavaExcel

2019-07-22 08:49:37

PythonJSON編程語言

2017-08-25 17:41:17

Paradox數據文件格式
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 麻豆亚洲| 日韩欧美中文字幕在线观看 | 天天躁人人躁人人躁狂躁 | 久久久福利 | 日韩欧美中文字幕在线视频 | 久久久入口 | 仙人掌旅馆在线观看 | 国产91亚洲精品一区二区三区 | 中文字幕一区二区三区乱码在线 | www.久| 国产偷录视频叫床高潮对白 | 久久午夜视频 | 久久精品色欧美aⅴ一区二区 | 亚洲国产精品一区二区三区 | 国产精品爱久久久久久久 | 狠狠久久 | 国产精品一区二区三区四区五区 | 91xxx在线观看 | 成年人在线视频 | 视频在线一区二区 | av大全在线观看 | 青青草网 | 久久久久久国产精品免费免费狐狸 | 国产乱码精品一区二区三区中文 | 亚洲综合在线一区二区 | 毛片链接 | 在线a视频网站 | 日韩中文一区二区三区 | 91成人| 国产美女在线免费观看 | 欧美日韩综合一区 | av片毛片 | 国产视频在线一区二区 | 成人网av | 午夜在线免费观看 | 成年人在线观看 | 罗宾被扒开腿做同人网站 | 欧美又大粗又爽又黄大片视频 | 99久久精品免费看国产四区 | 日一区二区 | 日本在线一区二区 |