考研複試 計算機網路第五章

2021-10-14 18:39:55 字數 4302 閱讀 3719

1、傳輸層的功能?

從通訊和資訊處理的角度看,傳輸層向它上面的應用層提供通訊服務,它屬於面向通訊部分的最高層,同時也是使用者功能中的最低層。傳輸層位於網路層之上,它為執行在不同主機上的程序之間提供了邏輯通訊,而網路層提供主機之間的邏輯通訊。顯然,即使網路層協議不可靠,傳輸層同樣能為應用程式提供可靠的服務。

傳輸層的功能如下:

(1)傳輸層提**用程序之間的邏輯通訊。與網路層的區別是,網路層提供的是主機之間的邏輯通訊。從網路層來說,通訊的雙方是兩台主機,ip資料報的首部給出了這兩台主機的ip位址。但「兩台主機之間的通訊」實際上時兩台主機中的應用程序之間的通訊,應用程序之間的通訊又稱端到端的邏輯通訊。

(2)復用和分用。復用是指傳送方不同的應用程序都可使用乙個傳輸層協議傳送資料;分用是指接收方的傳輸層在剝去報文的首部後能夠把這些資料正確交付到目的應用程序。

(3)傳輸層還要對收到的報文進行差錯檢測((首部和資料部分)。而網路層只檢查ip資料報的首部,不檢驗資料部分是否出錯。

(4)提供兩種不同的傳輸協議,即面向連線的tcp和無連線的udp。而網路層無法同時實現兩種協議(即在網路層要麼只提供面向連線的服務,如虛電路;要麼只提供無連線服務,如資料報,而不可能在網路層同時存在著兩種方式)。

2、udp協議?

rfc 768定義的udp只是做了傳輸協議能夠做的最少工作,它僅在ip的資料報服務之上增加了兩個最基本的服務:復用和分用以及差錯檢測。如果應用程式開發者選擇udp二非tcp,那麼應用程式幾乎直接與ip打交道。為什麼應用開發人員寧願在udp之上構建應用,也不選擇tcp?既然tcp提供可靠地服務,而udp不提供,那麼tcp總是首選嗎?答案是否定的,因為有很多應用更適合用udp,主要是因為udp具有如下特點:

1>udp無須建立連線。因此udp不會引入建立連線的時延。試想如果dns執行在tcp而非udp上,那麼dns的速度會慢很多。http使用tcp而非udp,是因為對於基於文字資料的web網頁來說可靠性是至關重要的。

2>無連線狀態。tcp需要在端系統中維護連線狀態。此連線狀態包括接收和傳送快取、擁塞控制引數和序號與確認好的引數。而udp不維護連線狀態,也不跟蹤這些引數。因此,某些專用應用伺服器使用udp時,一般都能支援更多的活動客戶機。

3>分組首部開銷小。tcp有20b的首部開銷,而udp僅有8b的公升銷。

4>應用層能更好地控制要傳送的資料和傳送時間。udp沒有擁塞控制,因此網路中的擁塞不會影響主機的傳送效率。某些實時應用要求以穩定的速度傳送,能容忍一些資料的丟失,但不允許有較大的時延,而udp正好滿足這些應用的需求。udp常用於一次性傳輸較少資料的網路應用如dns、snmp等,因為對此應用,若採用tcp,則將為連線建立、維護和拆除帶來不小的開銷。udp也常用於多**應用,顯然,可靠資料傳輸對這些應用來說並不是最重要的,但tcp的擁塞控制會導致資料出現較大的延遲,這是它們不可容忍的。

udp提供盡最大努力的交付,即不保證可靠交付,但這並不意味著應用對資料的要求是不可靠的,因此所有維護傳輸可靠性的工作需要使用者在應用層來完成。應用實體可以根據應用的需求來靈活設計自己的可靠性機制。

3、tcp協議?

tcp是在不可靠的ip層之上實現的可靠的資料傳輸協議,它主要解決傳輸的可靠、有序、無丟失和不重複問題。tcp是tcp/ip體系中非常複雜的乙個協議,主要特點如下:

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

2>每條tcp連線只能有兩個端點,每條tcp連線只能是點對點的。

3>tcp提供全雙工通訊,允許通訊雙方的應用程序在任何時候都能傳送資料,為此tcp連線的兩端都設有傳送資料和接受快取,用來臨時存放雙向通訊的資料。

傳送快取用來暫時存放以下資料:(1)傳送應用程式傳送給傳送方tcp準備傳送的資料;(2)tcp已傳送但尚未收到確認的資料。

接收快取用來暫時存放以下資料:(1)按序到達但尚未被接收應用程式收取的資料;(2)不按序到達的資料。

tcp連線的建立:

在tcp連線建立的過程中,要解決以下三個問題:

(1)要使每一方都能夠確知對方的存在。

(2)要允許雙方協商一些引數。

(3)能夠對運輸實體資源進行分配。

三次握手建立連線:

第一步:客戶機的tcp首先向伺服器的tcp傳送乙個連線請求報文段。這個特殊的報文段中不含應用層資料,其首部中的syn標誌位被置為1.另外,客戶機會隨機選擇乙個起始序號seq=x。

第二步:伺服器的tcp收到連線請求報文段後,如同意建立連線,就向客戶機發回確認,並為該tcp連線分配tcp快取和變數。在確認報文段中,syn和ack位都被置為1,確認號字段的值為x+1,並且伺服器隨機產生起始序號seq=y。確認報文段同樣不包含應用層資料。

第三步:當客戶機收到確認報文段後,還要向伺服器給出確認,並且也要給該連線分配快取和變數。這個報文段的ack標誌位被置1,序號段為x+1,確認號字段ack=y+1。該報文段可以攜帶資料,若不攜帶資料則不消耗序號。

成功進行以上三步後,就建立了tcp連線,接下來就可以傳送應用層資料。tcp提供的是全雙工通訊,因此通訊雙方的應用程序在任何時候都能傳送資料。另外,值得注意的是,伺服器端的資源是在完成第二次握手時分配的,而客戶端的資源是在完成第三次握手時分配的,這就使得伺服器易於受到syn洪氾攻擊。

四次握手釋放連線:

4、擁塞控制的四種演算法?

所謂擁塞控制,是指防止過多的資料注入網路,保證網路中的路由器或鏈路小致過載。出現擁塞時,端點並不了解到擁塞發生的細節,對通訊連線的端點來說,擁塞往往表現為通訊時延的增加。當然,擁塞控制和流量控制也有相似的地方,即它們都通過控制傳送方傳送資料的速率來達到控制效果。

擁塞控制與流量控制的區別:擁塞控制是讓網路能夠承受現有的網路負荷,是乙個全域性性的過程,涉及所有的主機、所有的路由器,以及與降低網路傳輸效能有關的所有因素。相反,流量控制往往是指點對點的通訊量的控制,即接收端控制傳送端,它所要做的是抑制傳送端傳送資料的速率,以便使接收端來得及接收。

(1)慢開始演算法(接收視窗rwnd,擁塞視窗cwnd)

在tcp剛剛連線好並開始傳送tcp報文段時,先令擁塞視窗cwnd=1,即乙個最大報文段長度mss。每收到乙個對新報文段的確認後,將cwnd加1,即增大乙個mss。用這樣的方法逐步增大傳送方的擁塞視窗cwnd,可使分組注入網路的速率更加合理。使用慢開始演算法後,每經過乙個傳輸輪次,擁塞視窗cwnd就會加倍,即cwnd的大小指數式增長。這樣,慢開始一直把擁塞視窗cwnd增大到乙個規定的慢開始門限ssthresh,然後改用擁塞避免演算法。

(2)擁塞避免演算法

擁塞避免演算法的做法如下:傳送端的擁塞視窗cwnd每經過乙個往返時延rtt就增加乙個mss的大小,而不是加倍,使cwnd按線性規律緩慢增長,而當出現一次超時時,令慢開始門限ssthresh等於當前cwnd的一半。

(3)快重傳

快重傳技術使用了冗餘ack來檢測丟包的發生。同樣,冗餘ack也用於網路擁塞的檢測。快重傳並非取消重傳計時器,而是在某些情況下可更早地重傳丟失的報文段。當傳送方連續收到三個重複的ack報文時,直接重傳對方尚未收到的報文段,而不必等待那個報文段設定的重傳計時器超時。

(4)快恢復

快恢復演算法的原理如下:傳送端收到連續三個冗餘ack時,執行「乘法減小」演算法,把慢開始門限ssthresh設定為出現擁塞時傳送方cwnd的一半。與慢開始的不同之處是,它把cwnd的值設定為慢開始門限ssthresh改變後的數值,然後開始執行擁塞避免演算法使用擁塞視窗緩慢地線性增大。由於跳過了cwnd從1起始的慢開始過程,所以被稱為快恢復。

5、為何不採用「三次握手」釋放連線,且傳送最後一次握手報文後要等待2msl的時間呢?

原因有兩個:

(1)保證a傳送的最後乙個確認報文段能夠到達b。如果a不等待2msl,若a返回的最後確認報文段丟失,則b不能進入正常關閉狀態,而a此時已經關閉,也不可能再重傳。

(2)防止出現「已失效的連線請求報文段」。a在傳送最後乙個確認報文段後,在經過2msl可保證本次連線持續的時間內所產生的所有報文段從網路中消失。

伺服器結束tcp連線的時間要比客戶機早一些,因為客戶機最後要等待2msl後可進入closed狀態。

6、為什麼不採用「兩次握手」建立連線呢?

這主要是為了防止兩次握手情況下已失效的連線請求報文段突然又傳送到伺服器而產生錯誤。考慮下面這種情況。客戶a向伺服器b發出tcp連線請求,第乙個連線請求報文在網路的某個結點長時間滯留,a超時後認為報文丟失,於是再重傳一次連線請求,b收到後建立連線。資料傳輸完畢後雙方斷開連線。而此時,前乙個滯留在網路中的連線請求到達伺服器b,而b認為a又發來連線請求,此時若使用「三次握手」,則b向a返回確認報文段,由於是乙個失效的請求,因此a不予理睬,建立連線失敗。若採用的是「兩次握手」,則這種情況下b認為傳輸連線已經建立,並一直等待a傳輸資料,而a此時並無連線請求,因此不予理睬,這樣就造成了b的資源白白浪費。

計算機網路第五章運輸層(5)

主要參考謝希仁 計算機網路 第七版 1運輸層向它的上層應用層提供通訊服務。兩台主機的通訊就是兩台主機中的應用程序互相通訊。2運輸層的復用和分用 復用是指傳送方不同的應用程序都可以使用同乙個運輸層協議傳送資料,分用是指接收方的運輸層在剝去報文的首部後能夠把這些資料正確的交付給目的的應用程序。3 硬體埠...

計算機網路第三第四第五章

ieee 802又稱為lmsc lan man standards committee,區域網 都會網路標準委員會 致力於研究 區域網和 都會網路的 物理層和 mac層中定義的服務和 協議,對應 osi網路參考模型的最低兩層 即物理層和 資料鏈路層 ieee 802將osi的資料鏈路層分為兩個子層,...

計算機網路第五章綜合練習術語解析

方便期末複習整理成這個樣子!第一組資料 1 arp 2 分組總長度 答案 d ip分組頭中16位的長度字段 3 專用位址 4 嚴格源路由 答案 f 規定分組經過的路勁上每個路由器及順序的路由 5 cidr 6 mpls 答案 v 路由使用第三層的路由協議,而交換是用第二層硬體去完成的協議 7 間接交...