TCP IP體系結構之傳輸層 TCP協議

2021-08-27 16:29:24 字數 3714 閱讀 3767

首部格式

資料單位

特定注意

自動重傳請求arq

具體實現

傳送快取

接收快取

滑動視窗

確認丟失和確認遲到

超時重傳時間選擇

報文段的傳送時機

運輸連線

傳送tcp請求客戶端

擁塞處理相關概念

避免擁塞具體實現

tcp 的有限狀態機

圖釋:

各個段位說明:

tcp 傳送的資料單位協議是 tcp 報文段(segment)

tcp 是面向連線的傳輸層協議

每一條 tcp 連線只能有兩個端點(endpoint),每一條 tcp 連線只能是點對點的(一對一)

tcp 提供可靠交付的服務

tcp 提供全雙工通訊

面向位元組流

tcp 對應用程序一次把多長的報文傳送到tcp 的快取中是不關心的

tcp 根據對方給出的視窗值和當前網路擁塞的程度來決定乙個報文段應包含多少個位元組(udp 傳送的報文長度是應用程序給出的)

tcp 可把太長的資料塊劃分短一些再傳送.tcp 也可等待積累有足夠多的位元組後再構成報文段傳送出去

每一條 tcp 連線有兩個端點

tcp 連線的端點不是主機,不是主機的ip 位址,不是應用程序,也不是傳輸層的協議埠.tcp 連線的端點叫做套接字(socket)或插口

定義:可靠傳輸協議常稱為自動重傳請求arq (automatic repeat request)

累積確認:

go-back-n(回退n):

如果傳送方傳送了前 5 個分組,而中間的第 3 個分組丟失了.這時接收方只能對前兩個分組發出確認.傳送方無法知道後面三個分組的下落,而只好把後面的三個分組都再重傳一次

說明:圖釋:

傳送快取用來暫時存放:

圖釋:

接收快取用來暫時存放:

圖釋:

圖釋:

特點:要求:

具體實現:

具體實現:

tcp 每傳送乙個報文段,就對這個報文段設定一次計時器.只要計時器設定的重傳時間到但還沒有收到確認,就要重傳這一報文段

做法:tcp 保留了 rtt 的乙個加權平均往返時間 rtts(這又稱為平滑的往返時間),第一次測量到 rtt 樣本時,rtts 值就取為所測量到的 rtt 樣本值.以後每測量到乙個新的 rtt 樣本,就按下式重新計算一次 rtts:

公式:說明:

式中,0 ≤ α< 1.若α很接近於零,表示 rtt 值更新較慢若選擇 α 接近於1,則表示 rtt 值更新較快

rfc 2988 推薦的 α 值為 1/8,即 0.125

超時重傳時間rto:

rto 應略大於上面得出的加權平均往返時間 rtts.

rfc 2988 建議使用下式計算 rto:

rttd 是 rtt 的偏差的加權平均值

rfc 2988 建議這樣計算 rttd.第一次測量時,rttd 值取為測量到的 rtt 樣本值的一半.在以後的測量中,則使用下式計算加權平均的 rttd:

β是個小於 1 的係數,其推薦值是 1/4,即 0.25

在計算平均往返時間 rtt 時,只要報文段重傳了,就不採用其往返時間樣本

修正的karn演算法:

報文段每重傳一次,就把 rto 增大一些:

係數γ 的典型值是 2

當不再發生報文段的重傳時,才根據報文段的往返時延更新平均往返時延 rtt 和超時重傳時間 rto 的數值

持續計時器

tcp 維持乙個變數,它等於最大報文段長度 mss.只要快取中存放的資料達到 mss 位元組時,就組裝成乙個 tcp 報文段傳送出去

由傳送方的應用程序指明要求傳送報文段,即 tcp 支援的推送(push)操作

傳送方的乙個計時器期限到了,這時就把當前已有的快取資料裝入報文段(但長度不能超過 mss)傳送出去

三個階段:

資料傳送

連線釋放:

注意:tcp 連線必須經過時間 2msl 後才真正釋放掉(2msl 的時間的用意---為了保證 a 傳送的最後乙個 ack 報文段能夠到達 b.防止 「已失效的連線請求報文段」出現在本連線中.a 在傳送完最後乙個 ack 報文段後,再經過時間 2msl,就可以使本連線持續的時間內所產生的所有報文段,都從網路中消失.這樣就可以使下乙個新的連線中不會出現這種舊的連線請求報文段)

三個問題:

擁塞視窗:

含義:擁塞視窗的大小取決於網路的擁塞程度,並且動態地在變化.傳送方讓自己的傳送視窗等於擁塞視窗.如再考慮到接收方的接收能力,則傳送視窗還可能小於擁塞視窗

傳送方控制擁塞視窗的原則:

只要網路沒有出現擁塞,擁塞視窗就再增大一些,以便把更多的分組傳送出去.但只要網路出現擁塞,擁塞視窗就減小一些,以減少注入到網路中的分組數

乘法減小:

是指不論在慢開始階段還是擁塞避免階段,只要出現一次超時(即出現一次網路擁塞),就把慢開始門限值 ssthresh 設定為當前的擁塞視窗值乘以 0.5

加法增大:

是指執行擁塞避免演算法後,在收到對所有報文段的確認後(即經過乙個往返時間),就把擁塞視窗 cwnd增加乙個 mss 大小,使擁塞視窗緩慢增大,以防止網路過早出現擁塞

快重傳:

快重傳演算法首先要求接收方每收到乙個失序的報文段後就立即發出重複確認.這樣做可以讓傳送方及早知道有報文段沒有到達接收方,傳送方只要一連收到三個重複確認就應當立即重傳對方尚未收到的報文段

快恢復:

當傳送端收到連續三個重複的確認時,就執行「乘法減小」演算法,把慢開始門限 ssthresh 減半.但接下去不執行慢開始演算法

傳送視窗的上限值:

傳送方的傳送視窗的上限值應當取為接收方視窗 rwnd 和擁塞視窗 cwnd 這兩個變數中較小的乙個,即應按以下公式確定:

傳送視窗的上限值 min [rwnd, cwnd]

慢開始演算法:

擁塞避免演算法:

擁塞視窗 cwnd 緩慢地增大,即每經過乙個往返時間 rtt 就把傳送方的擁塞視窗 cwnd 加 1,使擁塞視窗 cwnd 按線性規律緩慢增長

慢開始門限 ssthresh 的用法:

網路出現擁塞時(其根據就是沒有按時收到確認):

說明:

TCP IP體系結構之網路層(路由協議)

路由協議特點 圖釋預設路由 特定主機路由 路由表資訊 分組 演算法 動態路由 理想路由演算法 分層次路由選擇協議 自治系統 as 網際網路有兩大類路由選擇協議 和路由選擇 不存在一種絕對的最佳路由演算法.所謂 最佳 只能是相對於某一種特定要求下得出的較為合理的選擇而已 實際的路由選擇演算法,應盡可能...

TCP IP四層網路體系結構

物理層 負責通訊網路收發資料報。網路層 選擇 流量控制 網路擁塞問題,ip協議是這一層的核心 傳輸層 機器之間建立用於會話的端到端連線 用於資料傳輸 該層的核心是tcp udp 應用層 主要為使用者提供針對性的服務,這一層的代表協議有 http 代表瀏覽器 smtp 代表簡單郵件傳輸協議 ftp 檔...

TCP IP體系結構簡介

tcp ip體系結構簡介 tcp ip協議集把整個網路分成四層,包括網路介面層 網際層 傳輸層和應用層。1.網路介面層 網路介面 network inte ce 和各種通訊子網介面,遮蔽不同的物理網路細節 1 arp協議 2 rarp協議 反向位址解析協議 reverse address resol...