1. 程式人生 > >[計算機網路] TCP報文段中的序號和確認號

[計算機網路] TCP報文段中的序號和確認號

本篇內容參考自:《計算機網路 自頂向下方法》原書第六版

前言

  • 序號欄位和確認號欄位是TCP報文段首部中兩個最重要的欄位,這兩個欄位是TCP可靠傳輸服務的關鍵部分。
  • TCP把資料看成一個無結構的、有序的位元組流。序號是建立在傳送的字元流之上的,而不是建立在傳送的報文段的序列之上

序號

一個報文段的序號是該報文段首位元組的位元組流編號,舉個栗子~

假設主機A的一個程序想通過一條TCP連線向主機B上的一個程序傳送一個數據流,主機A中的TCP將隱式地對資料流中的每一個位元組編號。假定資料流由一個包含500 000位元組的檔案組成,其MSS(最大報文段長度)為1000位元組,資料流的首位元組編號是0,如下圖所示:


該TCP將為該資料流構建500個報文段,給第一個報文段分配序號0,第二個報文段分配序號1000,以此類推,每一個序號被填入到相應TCP報文段首部的序號欄位中。

確認號

TCP是全雙工的,即主機A在向主機B傳送資料的同時,也許也在接收來自主機B的資料。從主機B到達的每個報文段中都有一個序號用於從B流向A的資料。主機A填充進報文段的確認號是主機A期望從主機B收到的下一位元組的序號,舉栗子說明:

假設主機A已經收到了來自主機B的編號為0-535的所有位元組,同時假設它打算髮送一個報文段給主機B,主機A等待主機B的資料流中位元組536及其後的所有位元組,所以主機A會在它發往主機B的報文段的確認號欄位中填上536。

再舉一個栗子~

假設主機A已收到主機B的包含位元組0-535位元組的報文段,以及另一個包含位元組900-1000的報文段。由於某種原因,主機A還沒有收到位元組536-899的報文段。在這個例子裡,主機A為了重新構建主機B的資料流,仍在等待位元組536(和其後的位元組)。因此,A到B的下一個報文段將在確認號欄位中包含536

。因為TCP只確認該流中到第一個丟失位元組為止的位元組,所以TCP提供的是累積確認

主機A雖然收到了位元組900-1000的報文段,但是並不會在下一個發往主機B的報文段的確認號欄位中填1001,因為535後面的位元組還沒有得到確認,而收到的900-1000位元組的報文段屬於失序到達,對於失序到達的報文段的處理方法由TCP程式設計人員去具體實現,有兩個基本選擇:一是丟棄失序報文段,二是保留失序位元組並等待缺少的位元組以填補該間隔(這是實踐中採用的方法)

相關推薦

[計算機網路] TCP報文序號確認

本篇內容參考自:《計算機網路 自頂向下方法》原書第六版前言序號欄位和確認號欄位是TCP報文段首部中兩個最重要的欄位,這兩個欄位是TCP可靠傳輸服務的關鍵部分。TCP把資料看成一個無結構的、有序的位元組流。序號是建立在傳送的字元流之上的,而不是建立在傳送的報文段的序列之上序號一

計算機網路-TCP報文格式

TCP面向位元組流,為網路提供可靠的連線,是以報文段為資料單位的。 源埠:佔16位字,記錄傳送方的埠值; 目的埠:佔16位字,記錄接收方的埠值; 序號:佔32位字,序號使用 mod 2^3

TCP報文格式三次握手——三次握手三個tcp包(header+data),此外,TCP 報文的數據部分是可選的,在一個連接建立一個連接終止時,雙方交換的報文僅有 TCP 首部。

pan 內容 由於 clas nts data 奇偶校驗 rom 加載中 from:https://blog.csdn.net/mary19920410/article/details/58030147 TCP報文是TCP層傳輸的數據單元,也叫報文段。 1、端口號:用來標

2、【網路程式設計】TCP報文/網路位元組序/主機位元組序/網-主位元組序轉換函式

一、TCP報文段格式     TCP雖然是面向位元組流的,但TCP傳送的資料單元卻是報文段。一個TCP報文段分為首部和資料兩個部分。TCP報文段首部的前20個位元組是固定的,後面有4n位元組是根據需要增加的選項。TCP首部的最小長度是20位元組,最大長度是60位元組。

計算機網路——TCP協議的三次握手四次揮手以及11種狀態轉換

TCP的傳輸連線分為3個階段:連線建立(三次握手)、資料傳送和連線釋放(四次揮手)。TCP傳輸連線的管理就是使傳輸連線的建立和釋放都能正常地進行。 一、TCP的三次握手 準備工作:伺服器必須準備好接受外來的連線。這通常通過呼叫socket,bind和listen這三個

[轉]分析MySQL數據類型的長度【mysql數據字 lengthdecimals的作用!熟悉mysql必看】

一個 不足 rop asp 接受 enum webp 0 rows varchar 你看到的這個文章來自於http://www.cnblogs.com/ayanmw 轉載自:http://blog.csdn.net/daydreamingboy/article/detail

計算機網路TCP“三次握手”

終於有時間寫這篇文章了,最近真的比較忙! TCP協議  之 “三次握手”   引言:我們知道,TCP是面向連線的協議(相較於UDP無連線的協議),會在傳送資料之前先在 傳送端 & 接收端 之間建立一條連線,所以實現了可靠傳輸。而運輸連結是用來傳送TCP報文的。TCP運輸連線的建立,是面向

計算機網路系列--什麼是電路交換分組交換?

分組 首先我們來了解下分組的概念。所謂分組,就是將一個數據包分成一個個更小的資料包。例如對於一個10GB的資料包,總不可以一次性發送過去吧,而是把它分成若干個小的資料包傳送過去。每個分組資料塊的結構圖:檔案頭一般是一些說明性資料,例如源地址和目標地址,資料型別等。資料部分就是真正要傳達給物件的內容 電路交換

-1-7 java 網路程式設計基本知識點 計算機網路 TCP/IP協議棧 通訊必備 tcp udp

Socket和ServerSocket 建立客戶端和伺服器端 建立連線後,通過Socket中的IO流進行資料的傳輸 關閉socket 同樣,客戶端與伺服器端是兩個獨立的應用程式。

計算機網路之一 應用層(DNShttp)

應用層協議:為了解決某一類應用問題,通過位於不同主機中的多個應用程序之間的通訊和協同工作來完成的。應用層的具體內容:規定應用程序在通訊時所遵循的協議。一、域名系統(DNS)1、域名系統概述       域名系統(DomainName System)用來把便於人們使用的機器名字

TCP報文、UDP資料報、IP資料報區別

重要說明:既然TCP/IP現在如此成熟,那麼裡面的技術必然是經過各種各樣的大牛們千錘百煉而來,它的每個特有片語,十分肯定的說不是隨隨便便命名的,其背後隱含著設計者的考慮,例如,TCP傳輸給IP的資料單元為什麼叫TCP報文段(TCPsegment)(詳見《TCP/IP詳解卷

為什麼TCP傳輸單元叫作TCP報文,而UDP的叫作UDP資料報

為什麼TCP傳輸單元叫作“TCP報文段”,而UDP的叫作UDP傳輸單元“UDP資料報”? 這個問題也是我剛接觸網路時感到疑惑的問題,最近幾天看書過程中,我總結一點。這點純屬個人觀點,如果不對還請多指教

TCP報文首部URGPSH的區別

TCP報文首部 URG(緊急位):當URG = 1時表明緊急指標欄位有效,他告訴系統此報文段中有緊急資料,應儘快傳送,而不要按原來的排隊順序來傳送,傳送方的TCP就把緊急資料放到本報文段資料的最前面。URG標誌位要與首部中的緊急指標欄位配合使用,緊急指標指

TCP報文格式

時間戳選項(Timestamps):使用該欄位就很容易區分相同序列號的不同報文段(迴繞序列號),還可以計算RTT(往返時間),當傳送端傳送一個報文段的時候把當前時間放入這個時間戳選項,當接收方收到後將其複製到確認報文段,傳送方接收到這個確認報文段後就可以計算往返時間了。

計算機網路第六彈——對稱加密非對稱加密

對稱祕鑰加密:加密和解密使用同一個祕鑰的方式,這種方式存在的最大問題就是如何安全的將祕鑰傳送給對方。非對稱加密:使用一堆非對稱祕鑰,即公鑰和私鑰,公鑰可以隨意釋出,私鑰只有自己知道,傳送密文的一方使用對

TCP報文的首部格式

源埠 目的埠                                                              序號                                                          

計算機網路學習-報文交換

報文交換=Message switching其工作方式為:源(應用)傳送資訊整體(即報文)在網路中一站一站的傳送到目的應用。其特點是不需在兩個通訊節點之間建立專用的通路,使用者可隨時傳送報文。完成報文交換的路由器需要具有“儲存”資訊,“轉發”資訊的功能,即“儲存-轉發”功能。

計算機網路 TCP 滑動視窗協議 詳解

滑動視窗機制解析: 1.視窗機制滑動視窗協議的基本原理就是在任意時刻,傳送方都維持了一個連續的允許傳送的幀的序號,稱為傳送視窗;同時,接收方也維持了一個連續的允許接收的幀的序號,稱為接收視窗。傳送視窗和接收視窗的序號的上下界不一定要一樣,甚至大小也可以不同。不同的滑動視窗

計算機網路 —— TCP/IP四層模型與OSI七層模型

0. 前言 TCP/IP協議族(TCP/IP Protocol Suite),簡稱TCP/IP。 該協議族的兩個核心協議為:TCP(傳輸控制協議,Transmission Control Protocol)和IP(網際協議或稱為網際網路協議,Internet Protoco

計算機網絡(三),TCP報文詳解

ber 緊急指針 span align 有序性 目標 緊急 ima cal 目錄 1.TCP(Transmission Control Protocol傳輸控制協議)作用 2.TCP報文段詳解 三、TCP報文段詳解 1.TCP(Transmission Control Pr