計算機網路 視窗機制

2021-10-03 13:08:36 字數 2698 閱讀 5826

引言:

為什麼tcp需要有視窗這個機制?因為相對於udp,tcp需要提供穩定的服務,視窗(快取)機制就能提供這個功能。那麼為什麼要用視窗控制這個機制呢?因為tcp還要提供流控**務

首先先來說一哈:tcp是如何傳輸位元組流的:

1)按報文段(segment)傳輸—報文段:若干位元組構成

2)ip是按分組(package)處理的(而非位元組流),1個segment就封裝在1個package

3)位元組流按照報文段傳輸的後果:接收方tcp收到報文段可能失序、損傷、重複,或者丟失

···封裝成ip分組的tcp報文段可能走不同的路徑到達目的地

···接收到的tcp報文段可能:亂序、丟失、損壞、重複

···而tcp需要向上層按順序交付資料

那麼怎麼樣才能解決上述的問題呢:

基本思路:

接收方:每接收乙個資料都要返回乙個ack

傳送方:

每乙個傳送的資料都需要接收方的確認(ack)

傳送每乙個資料都需要快取,並啟動定時器,超時重傳

具體實施方案:

序號-是給每個位元組編上位元組號,而不是只給每個報文編號

···某個tcp連線上的某個報文段的序號(sequence number)= 報文段中第乙個資料位元組的位元組號

···而且每個報文並不是都是從0開始的,開始的位元組號都是隨機的。

確認-即接收方接收到特定報文,返回ack表示接收到指定報文。

acknowledgment number(確認號):對已經收到的位元組表示確認

例如 tcp報文段中的確認號是:1234,意味著:

已經收到了位元組號=1234的以前的所有位元組

希望收到了下乙個tcp報文段的序號=1234

超時重傳機制

···傳送方每傳送乙個報文段(segment),就啟動乙個定時器,如果在定時內,沒有收到對該報文段的確認(ack),重傳該報文段

···傳送方必須快取已經傳送但未收到確認的報文段

···發方在定時內沒有收到確認(ack),發方判斷:

······ 該報文段損壞

······ 或者該報文段丟失

······ 或者ack丟失

視窗控制

• 滑動(sliding)

滑動視窗:傳送視窗與接收視窗

o 視窗:快取中一組位元組號(或者報文序號)的集合

o 落在傳送視窗(sending window)位元組號

 兩部分:

• 發方已傳送但還未收到確認的位元組號(或者報文號)集合

• 發方可以立即傳送的位元組號(或者報文號)集合

 傳送視窗大小ws=一次性連續傳送的最大位元組數

o 落在接收視窗(receiving window )的序號:收方希望接收的位元組號 (或者報文號) 集合

 接收視窗大小wr=允許一次性接收的最大位元組數(即接收快取大小)

下面展示一下滑動的過程:

• 擴充套件(expanding)

o 當接收視窗發現傳送視窗傳輸速度比自己往上層應用傳輸的速度慢時,就會在ack報文中擴大傳送視窗的大小

o rwnd 變大

o 將rwnd通知傳送方(反饋)

o 傳送方擴充套件ws (ws = rwnd)

拓展過程展示如下:

• 縮回(shrinking)

o 接收方往上層應用傳輸資料的速度小於傳送方傳送的速度

o rwnd 變小

o 將rwnd通知傳送方(反饋)

o 傳送方收縮為ws = rwnd

• 關閉(closing)

o 接收視窗完全佔滿

o rwnd=0

o 將rwnd通知傳送方(反饋)

o 傳送方關閉視窗(視窗左邊=右邊),停止資料的傳送

計算機網路之滑動視窗機制

1.首先我們知道tcp可靠傳輸原理中的停止等待協議,該協議就是傳送方每傳送乙個報文段後就停止傳送,一直等收到接收方的確認後再傳送下乙個報文段。tcp通訊是全雙工的,我們假定a為傳送方,b為接收方。a會有乙個傳送視窗,b有乙個接收視窗。傳送視窗表示在沒有收到b確認的情況下,a也可以連續把傳送視窗的資料...

計算機網路9 計算機網路效能

1.網路效能的衡量指標 2.速率 3.頻寬 4.延遲 5.丟包率 6.時延頻寬積 7.吞吐率 網路效能的好壞可以由網路的速率 頻寬 延遲 丟包率 網路頻寬積 吞吐率等方面來判斷,下面讓我們一一詳細介紹。速率 資料率 data rate 也稱 資料傳輸速率或位元率 bit rate 指的是 單位時間 ...

計算機網路 計算機網路的效能

目錄 1.網路效能的衡量指標 2.速率 3.頻寬 4.延遲 5.丟包率 6.時延頻寬積 7.吞吐率 網路效能的好壞可以由網路的速率 頻寬 延遲 丟包率 網路頻寬積 吞吐率等方面來判斷,下面讓我們一一詳細介紹。速率 資料率 data rate 也稱 資料傳輸速率或位元率 bit rate 指的是 單位...