TCP基本概念
發表於 : 2014-05-18, 03:37
TCP基本概念
TCP(Transmission Control Protocol)傳輸控制協定,為端對端(end-to-end)傳輸層內最重要的協定之一,TCP為通訊兩端的應用程式提供了一個連結導向(connection-oriented)、可靠的(reliable)、位元資料流(byte-stream)導向的服務,與UDP(User Datagram Protocol)同為擔負應用層與網路層間資料傳輸工作的重要協定。由於TCP常與IP搭配進行資料傳輸工作,因此合稱為TCP/IP協定群。
協定分層原則
設計分層協定時,接收方第N層協定收到的物件(object)應當與發送方第N層協定發送的物件完全一致,此種設計方式使得設計者每次僅需關注一層協定,不必考慮低層的行為,舉例而言,雖然在實際的運作上,傳輸層的TCP協定接收來自上層應用程式的資料並將之切分為合適的資料段(segment),並加上適當的表頭(header)資料後,交由下層的網路層、鍊結層進行資料的傳輸工作,然而在邏輯上,我們卻可將之視為是接收與發送兩端的傳輸層藉由TCP協定進行資料的傳輸。協定間的對談只發生在同一層的相同協定之間。
資料傳輸流程與資料封裝的方式
資 料 流 動 則 是 由 發 源 層 依 序 傳 至最 底 層 , 之 後 透 過 傳 輸 介 質 送 抵 對 方的 最 底 層 , 再 依 序 傳 至 目 標 層 , 每 一 層 將 資 料 傳至 下 一 層 之 前 會 先 於 其 資 料 區 塊 的 前端 附 加 一 稱 作 表 頭 (header) 的 控 制 資 訊 , 此 表 頭 記錄 了 該 資 料 塊 相 對 於 該 層 的 特 性 及 資訊 , 每 一 層 會 將 上 一 層 傳 來 的 資料 連 同 其 表 頭 一同 視 為 上 層 的 資 料 , 並 附 加 該 層 的 表頭 之 後 再 送 至 下 一 層, 這 種 資 料 封 裝 (encapsulation) 過程 大 抵 上 與 OSI 描 述 的 相 同 , 當 資 料 送抵 對 方 時 也 會 發 生 解 封 裝 (decapsulation) 動 作 , 意即 , 每 一 層 由 下 一 層 收 到 資 料 之 後,會 先 剝 去 該 層 的 表 頭 , 之 後 再 將 剩 餘 的 部 份 送至 上 一 層 。
TCP傳輸資料結構
TCP 稱 呼 它 的 資 料 塊 為 資 料 段, 每 個 資 料 段 由 一 TCP 添 加 的 表 頭 與 實 際 資 料 所 組 成 , 為 令 傳 送 的 資 料 可 信賴 , TCP 運 用 數 種 技 巧 , 首 先 , 為 令 資料 段 之 間 在 傳 送 時 不 至 失 去 原 有 的 次 序 , TCP 在 其 資 料 段 表 頭 內 設 置 了 序 號 (sequence number), 接 收 端 TCP 可 依 照 序 號 將 之重 組 回 原 始 資 料 的 順 序 。
TCP 資 料 段 可 承 載 的 最 大 資 料 段 長 度 (MSS) 一 般 預 設 為 1460 位 元 組 , 當 然 並 不 一 定 得 採 用 此 值 , 此 值 的 理 由 在 於 目 前 最 普 遍 的 區 域 網 路 介 質 是 Ethernet, 其 最 大 傳 輸 單 元 ( MTU) 為 1500 位 元 組 , 將 此 值 減 去 標 準 的 IP 表 頭 (20 位 元組 ) 及 TCP 表 頭 (20 位 元 組 ) 的 長 度 即 得 到 1460 , 較 正 確 的計 算 方 式 是 將 當 地的 傳 輸 介 質 的 MTU - 40 方 可 獲 得 正 確 的 MSS 值
TCP(Transmission Control Protocol)傳輸控制協定,為端對端(end-to-end)傳輸層內最重要的協定之一,TCP為通訊兩端的應用程式提供了一個連結導向(connection-oriented)、可靠的(reliable)、位元資料流(byte-stream)導向的服務,與UDP(User Datagram Protocol)同為擔負應用層與網路層間資料傳輸工作的重要協定。由於TCP常與IP搭配進行資料傳輸工作,因此合稱為TCP/IP協定群。
協定分層原則
設計分層協定時,接收方第N層協定收到的物件(object)應當與發送方第N層協定發送的物件完全一致,此種設計方式使得設計者每次僅需關注一層協定,不必考慮低層的行為,舉例而言,雖然在實際的運作上,傳輸層的TCP協定接收來自上層應用程式的資料並將之切分為合適的資料段(segment),並加上適當的表頭(header)資料後,交由下層的網路層、鍊結層進行資料的傳輸工作,然而在邏輯上,我們卻可將之視為是接收與發送兩端的傳輸層藉由TCP協定進行資料的傳輸。協定間的對談只發生在同一層的相同協定之間。
資料傳輸流程與資料封裝的方式
資 料 流 動 則 是 由 發 源 層 依 序 傳 至最 底 層 , 之 後 透 過 傳 輸 介 質 送 抵 對 方的 最 底 層 , 再 依 序 傳 至 目 標 層 , 每 一 層 將 資 料 傳至 下 一 層 之 前 會 先 於 其 資 料 區 塊 的 前端 附 加 一 稱 作 表 頭 (header) 的 控 制 資 訊 , 此 表 頭 記錄 了 該 資 料 塊 相 對 於 該 層 的 特 性 及 資訊 , 每 一 層 會 將 上 一 層 傳 來 的 資料 連 同 其 表 頭 一同 視 為 上 層 的 資 料 , 並 附 加 該 層 的 表頭 之 後 再 送 至 下 一 層, 這 種 資 料 封 裝 (encapsulation) 過程 大 抵 上 與 OSI 描 述 的 相 同 , 當 資 料 送抵 對 方 時 也 會 發 生 解 封 裝 (decapsulation) 動 作 , 意即 , 每 一 層 由 下 一 層 收 到 資 料 之 後,會 先 剝 去 該 層 的 表 頭 , 之 後 再 將 剩 餘 的 部 份 送至 上 一 層 。
TCP傳輸資料結構
TCP 稱 呼 它 的 資 料 塊 為 資 料 段, 每 個 資 料 段 由 一 TCP 添 加 的 表 頭 與 實 際 資 料 所 組 成 , 為 令 傳 送 的 資 料 可 信賴 , TCP 運 用 數 種 技 巧 , 首 先 , 為 令 資料 段 之 間 在 傳 送 時 不 至 失 去 原 有 的 次 序 , TCP 在 其 資 料 段 表 頭 內 設 置 了 序 號 (sequence number), 接 收 端 TCP 可 依 照 序 號 將 之重 組 回 原 始 資 料 的 順 序 。
TCP 資 料 段 可 承 載 的 最 大 資 料 段 長 度 (MSS) 一 般 預 設 為 1460 位 元 組 , 當 然 並 不 一 定 得 採 用 此 值 , 此 值 的 理 由 在 於 目 前 最 普 遍 的 區 域 網 路 介 質 是 Ethernet, 其 最 大 傳 輸 單 元 ( MTU) 為 1500 位 元 組 , 將 此 值 減 去 標 準 的 IP 表 頭 (20 位 元組 ) 及 TCP 表 頭 (20 位 元 組 ) 的 長 度 即 得 到 1460 , 較 正 確 的計 算 方 式 是 將 當 地的 傳 輸 介 質 的 MTU - 40 方 可 獲 得 正 確 的 MSS 值