1. 程式人生 > >計算機網路第三章知識點複習總結

計算機網路第三章知識點複習總結

縮寫

TCP:傳輸控制協議
UDP:使用者資料報協議
FSM:有限狀態機
ARQ:自動重傳請求
GBN:回退N步協議
SR:選擇重傳
MSS:最大報文段長度
MTU:最大傳輸單元
SS:慢啟動
CA:擁塞避免
AIMD:加性增,乘性減
ABR:可用位元率
ATM:非同步傳遞方式

術語

Logical communication:邏輯通訊
segment:報文段
Full-duplex service:全雙工服務
multiplexing:多路複用
demultiplexing:多路分解
well-known port number:周知埠號
unidirectional data transfer:單向資料傳輸
sequence number:序號
finite-state machine:有限狀態機
alternating-bit protocol:位元交換協議
positive acknowledgements:肯定確認
negative acknowledgement:否定回答
congestion window:擁塞視窗
automatic repeat request:自動重傳請求
slow start:慢啟動
fast retransmission:快速重傳
sliding-window protocol:滑動視窗協議
cumulative acknowledgement:累計確認
three-way handshake:三次握手
maximum segment size:最大報文段長度(MSS)
flow control:流量控制
congestion control:擁塞控制
duplicate ACK:冗餘確認號
piggy backing ACK:捎帶確認號

多路分解與多路複用

多路分解:將運輸層報文段中的資料交付到正確的套接字的工作稱為多路分解。(接收)

多路複用:在源主機從不同套接字中收集資料塊,併為每個資料塊封裝上個首部資訊從而生成報文段,然後將報文段傳遞到網路層,所有這些工作稱為多路複用。(傳送)

多路複用的要求:
1.套接字有唯一識別符號
2.每個報文段有特殊字元來指示該報文段所要交付道德套接字,這些特殊欄位是源埠號欄位目的埠號欄位

埠號:埠號是一個16位元的數,其大小在0~65535之間。0~1023範圍的埠號稱為周知埠號
HTTP用埠號80,FTP用個埠號21

UDP套接字:一個UDP套接字是由一個二元組來全面標識的,該二元組包含一個目的IP地址和一個目的埠號。
如果兩個UDP報文段有不同的源IP地址和/或源埠號,但具有相同的目的IP地址和目的埠號,那麼這兩個報文段將通過相同的目的套接字被定向到相同的目的程序。

**TCP套接字:**TCP套接字是由一個四元組(源IP地址,源埠號,目的IP地址,目的埠號)來標識的。
兩個具有不同源IP地址或源埠號的到達TCP報文段將被定向到兩個不同的套接字,除非TCP報文段攜帶了初始建立連線的請求。

UDP對於TCP的優勢:
1.關於何時、傳送什麼資料的應用層控制更為精細。
2.無需連線建立
3.無連線狀態。
4.分組首部開銷小,每個TCP報文段都有20位元組的首部開銷,而UDP僅有8位元組。
這裡寫圖片描述

UDP檢驗和

1.檢驗和=16位元的 源埠號+目的埠號+長度的和取反碼(若有溢位,將溢位加到最後)
2.在接收方將 源埠號、目的埠號、長度、檢驗和相加,若16位全等於1,則正確。
3.UDP在端到端基礎上在運輸層提供差錯檢測。被稱為端到端原則


4.UDP雖然提供差錯檢測,但它對差錯恢復卻無能為力。

可靠資料傳輸原理(rdt)

經完全可靠通道的可靠資料傳輸(rdt1.0):
rdt的模型主要是用FSM(Finite State Machine-有限狀態機)來定義狀態與操作方式。
這裡寫圖片描述
這裡寫圖片描述
rdt1.0是假設使用最可靠的通道情況。主要有傳輸端與接收端兩個部分,資料傳輸方式很單純,傳輸端等待上層傳資料進來,收到上面的資料以後裝成封包送出去。
接收端收到封包以後,將封包解開,把訊息往上送。

經具有位元差錯通道的可靠資料傳輸(rdt2.0):
2.0考慮到了資料錯誤的情形,當接收端收到資料,會有ACK(相當於OK)與NAK(相當於Send Again)兩種訊息,當資料接收到以後確認無誤,會送ACK給來源已確定資料無誤。當偵測到錯誤時 會傳回NAK通知來源端再送一次。
這裡寫圖片描述
rst2.0應對位錯誤,相對1.0增加的內容
1.差錯檢測
2.接收方反饋
3.重傳

流水線可靠資料傳輸協議(Pipeline protocol)

不使用停等方式執行,允許傳送方傳送多個分組而無需等待確認。如圖
這裡寫圖片描述

回退N步(GBN)

這裡寫圖片描述

選擇重傳(SR)

這裡寫圖片描述
這裡寫圖片描述

面向連線的運輸:TCP

1.TCP被稱為是面向連線的,這是因為在一個應用程序可以開始向另一個應用程序傳送資料前,這兩個程序必須要先互相“握手”。
2.TCP連線提供的是全雙工服務(雙向的資料傳輸(允許同時傳輸))
3.TCP連線也總是點對點的,即在單個傳送方與單個接收方之間的連線。(UDP才可以實現多播,廣播)
4.TCP可以從快取中取出並放入報文段中的資料受限於最大報文段長度(Maximum Segment Size MSS),MSS通常根據最初確定的由本地傳送主機發送的最大鏈路層幀長度(即所謂的最大傳輸單元(Maximum Transmission Unit MTU))來設定。設定MSS要保證一個TCP報文段(當封裝在一個IP資料報中)加上TCP/IP首部長度(通常40位元組)將適合單個鏈路層幀。乙太網和PPP鏈路層協議都具有1500位元組的MTU,因此MSS的典型值為1460位元組。
5.TCP連線的組成包括:一臺主機上的快取、變數和與程序連線的套接字,以及另一臺主機上的另一組快取、變數和程序連線的套接字。
6.**TCP報文段由首部欄位和一個數據欄位組成。**TCP的首部一般是20位元組。
7.首部包括源埠號,目的埠號,它被用於多路分解/複用來自或送到上層應用的資料。
8.TCP首部也包含檢驗和欄位
9.32位元的序號欄位和32位元的確認號欄位。用來實現可靠資料傳輸服務。
10.16位元的接收視窗欄位:用於流量控制。表示接收方願意接收的位元組數量。
11.4位元的首部長度欄位,該欄位指示了以32位元的字為單位的TCP首部長度。
12.6位元的標誌欄位,ACK,RST,SYN,FIN,PSH,URG。
這裡寫圖片描述