arq實現(xiàn)方法有三種 為什么位于網(wǎng)絡(luò)邊緣的主機才有運輸層?
為什么位于網(wǎng)絡(luò)邊緣的主機才有運輸層?傳輸層為應(yīng)用層提供通信服務(wù),應(yīng)用層屬于面向通信部分的最高層,用戶功能的最底層。傳輸層的功能是為相互通信的應(yīng)用程序進程提供邏輯通信。對于應(yīng)用進程的通信,通俗的說法就是
為什么位于網(wǎng)絡(luò)邊緣的主機才有運輸層?
傳輸層為應(yīng)用層提供通信服務(wù),應(yīng)用層屬于面向通信部分的最高層,用戶功能的最底層。傳輸層的功能是為相互通信的應(yīng)用程序進程提供邏輯通信。對于應(yīng)用進程的通信,通俗的說法就是兩臺主機通信,也叫端到端通信。邏輯通信是指傳輸層之間的通信可以看作是沒有物理連接的水平通信。
當(dāng)網(wǎng)絡(luò)邊緣部分的主機通過網(wǎng)絡(luò)核心部分進行通信時,只有網(wǎng)絡(luò)邊緣部分的主機的協(xié)議棧有傳輸層,而網(wǎng)絡(luò)核心部分沒有,只使用接下來的三層:網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層。
一般來說,傳輸層有兩個主要功能:
1、為應(yīng)用程序進程提供端到端的邏輯通信
2、接收報文錯誤檢測。
5.1.2傳輸層的兩個主要協(xié)議
首先,什么是傳輸協(xié)議數(shù)據(jù)單元TPDU?兩個對等傳輸實體通信時傳輸?shù)臄?shù)據(jù)單元。
1,面向連接的TCP:傳輸控制協(xié)議
只提供盡力而為的、可靠的和面向連接的服務(wù),所以TPDU的報頭中的開銷很大,并且占用了大量的處理器資源。邏輯信道是相當(dāng)全雙工和可靠的,但信道不是。;我不知道它通過哪些路由器,而路由器不知道。;我不知道傳輸層是否已經(jīng)建立了連接。傳輸?shù)腡PDU是TCP數(shù)據(jù)段。TCP不提供廣播和多播服務(wù)。
2、無連接UDP:用戶數(shù)據(jù)報協(xié)議
傳輸數(shù)據(jù)之前不需要建立連接,邏輯信道是不可靠的信道。傳輸?shù)腡PDU是UDP消息。一方的傳輸層在收到UDP消息后不需要給另一方任何確認。即便如此,有時UDP是最有效的工作。
5.1.3運輸層端口
主機如何判斷數(shù)據(jù)包屬于哪個進程?比如網(wǎng)頁,或者?使用進程標(biāo)識符。
并且可以將端口想象成通信的端點。端口是傳輸層和應(yīng)用層之間的服務(wù)接口。傳輸層的復(fù)用和解復(fù)用功能只能通過端口實現(xiàn)。
軟件端口:協(xié)議棧之間的抽象協(xié)議端口,以及應(yīng)用層中各種協(xié)議進程與傳輸實體交互的地址。
硬件端口:路由器和交換機上的端口,以及不同硬件設(shè)備之間的交互接口。
TCP端口用一個16位的端口號來標(biāo)識,這個端口號只有本地意義,只是為了標(biāo)記這臺電腦應(yīng)用層的進程。
三種類型的端口:
1、熟悉港口
2.注冊端口號
3、客戶端口號/短端口號
5.2用戶數(shù)據(jù)報協(xié)議UDP
UDP概述
UDP在IP數(shù)據(jù)報中增加了端口功能和錯誤檢測功能。;這就是全部。
主要特點:
N UDP是無連接的,即發(fā)送數(shù)據(jù)前不需要建立連接。
N UDP使用盡力傳送,即不保證可靠的傳送,并且不使用擁塞控制。
UDP是面向消息的。UDP沒有擁塞控制,非常適合多媒體通信。要求。
N UDP支持一對一、一對多、多對一、多對多的交互通信。
n UDP的報頭開銷很小,只有8個字節(jié)。
5 . 2 . 2 UDP報頭格式
當(dāng)計算校驗和時, "偽標(biāo)題 "和UDP用戶數(shù)據(jù)報臨時連接在一起。偽報頭僅用于計算校驗和。
5.3傳輸控制協(xié)議TCP概述
TCP TCP的主要特性
1、面向連接(虛擬連接)
2.每個TCP連接只有兩個端點,并且是點對點和一對一的。
3.提供可靠的交付服務(wù)
4.提供全雙工服務(wù)。
5、面向字節(jié)流
TCP根據(jù)對方給定的窗口值和當(dāng)前的網(wǎng)絡(luò)擁塞程度(UDP發(fā)送的消息長度由應(yīng)用進程給定)來決定一個消息段應(yīng)該包含多少字節(jié),所以它不 我不在乎應(yīng)用程序進程一次向TCP緩存發(fā)送消息需要多長時間。如果太長,它會劃分數(shù)據(jù)塊,重新發(fā)送。
TCP連接
TCP連接的端點不是主機,不是主機的IP地址,不是應(yīng)用進程,也不是傳輸層的協(xié)議端口。TCP連接的端點稱為套接字或套接字。
套接字是通過連接端口號和IP地址形成的。
每個TCP連接都由通信兩端的兩個端點(即兩個套接字)唯一確定。
5.4可靠傳輸?shù)墓ぷ髟?/p>
5.4.1停止等待協(xié)議
這種可靠的傳輸協(xié)議通常被稱為自動重復(fù)請求(ARQ)。
ARQ表示重傳請求是自動的。接收者不需要請求發(fā)送者重發(fā)錯誤的分組。
停止等待協(xié)議的優(yōu)點是簡單,缺點是信道利用率太低。利用管道傳輸連續(xù)發(fā)送多個包,可以提高信道利用率。
5.4.2連續(xù)ARQ協(xié)議
滑動窗口協(xié)議,圖(a)顯示了發(fā)送方維護的發(fā)送窗口。發(fā)送方可以連續(xù)發(fā)送五個包,每發(fā)送一個包都不用停下來等待對方的確認。
因為信道上總是有不間斷的數(shù)據(jù)傳輸,所以這種傳輸可以獲得較高的信道利用率。
接收端采用累積確認,即不需要對接收到的數(shù)據(jù)包逐一發(fā)送確認,而是對按順序到達的最后一個數(shù)據(jù)包發(fā)送確認,這意味著直到這個數(shù)據(jù)包的所有數(shù)據(jù)包都已被正確接收。
優(yōu)點:易于實現(xiàn),即使確認丟失,也無需重發(fā)。
缺點:接收方已經(jīng)正確接收到的所有數(shù)據(jù)包的信息無法反映給發(fā)送方。
Go-back-N:您需要再次返回以重新傳輸已經(jīng)發(fā)送的N個數(shù)據(jù)包。
例如,發(fā)送方發(fā)送了前五個數(shù)據(jù)包,中間的第三個數(shù)據(jù)包丟失。這時,接收器只有前兩個數(shù)據(jù)包可以被確認。發(fā)送者可以 I don'我不知道最后三個數(shù)據(jù)包的位置,所以他必須再次重發(fā)所有最后三個數(shù)據(jù)包。
TCP可靠通信的具體實現(xiàn):
TCP連接在兩端都有兩個窗口:發(fā)送和接收。這四個端口都是動態(tài)變化的。
TCP可靠傳輸機制由字節(jié)序列號控制,所有確認都基于序列號而不是消息段。
TCP連接的往返時間RTT不固定。有必要使用特定的算法來估計合理的重傳時間。
5.5 TCP數(shù)據(jù)段的報頭格式
源端口和目的端口字段中的——各為2個字節(jié)。端口是傳輸層和應(yīng)用層之間的服務(wù)接口。傳輸層的復(fù)用和解復(fù)用功能只能通過端口實現(xiàn)。
序列號字段——占用4個字節(jié)。TCP連接中傳輸?shù)臄?shù)據(jù)流中的每個字節(jié)都有編號。序列號字段的值是指本段發(fā)送的數(shù)據(jù)的第一個字節(jié)的序列號。
確認號字段——占用4個字節(jié),這是預(yù)期從另一方接收的下一個消息段的數(shù)據(jù)的第一個字節(jié)的序號。
數(shù)據(jù)偏移(即報頭長度)——占用4位,表示TCP數(shù)據(jù)段的數(shù)據(jù)起點距離TCP數(shù)據(jù)段的起點有多遠。 amp的單位"數(shù)據(jù)偏移 "是一個32位字(按4個字節(jié)計算)。
檢查和——占2個字節(jié)。驗證和字段驗證的范圍包括表頭和數(shù)據(jù)。計算校驗和時,應(yīng)該在TCP數(shù)據(jù)段前面添加一個12字節(jié)的偽報頭。
選項字段的——長度是可變的。TCP最初只指定了一個選項,即最大分段長度MSS。MSS告訴TCP: "我的緩存可以接收的消息段數(shù)據(jù)字段的最大長度是MSS字節(jié)。 "
MSS (MaximumSegment Size)是TCP數(shù)據(jù)段中數(shù)據(jù)字段的最大長度。數(shù)據(jù)字段加上TCP報頭等于整個TCP數(shù)據(jù)段。
5.6 TCP可靠傳輸?shù)膶崿F(xiàn)
5.6.1滑動窗口(字節(jié))
5.6.2超時重傳時間的選擇
5.6.3選擇確認SACK。
5.7 TCP流量控制
5.7.1使用滑動窗口實現(xiàn)流量控制。
流量控制是為了使發(fā)送者 s發(fā)送速率不要太快,這樣接收方才能及時收到,網(wǎng)絡(luò)也不會擁塞。
TCP對每個連接都有一個持久計時器。
只要TCP連接的一端從另一端收到零窗口通知,它就會啟動持續(xù)計時器。
如果持續(xù)定時器設(shè)置的時間到期,則發(fā)送零窗口檢測消息段(僅攜帶1)。字節(jié)的數(shù)據(jù)),而對方在確認這個探測段的時候給出了當(dāng)前的窗口值。
如果窗口仍然為零,接收該消息段的一方重置持續(xù)時間計時器。
如果窗口不為零,則可以打破死鎖。
5.7.1必須考慮傳輸效率。
如果網(wǎng)絡(luò)中多個資源同時擁塞,網(wǎng)絡(luò)性能會明顯惡化,整個網(wǎng)絡(luò)的吞吐量會隨著輸入負載的增加而降低。
擁塞控制有一個前提,就是網(wǎng)絡(luò)能夠承受現(xiàn)有的網(wǎng)絡(luò)負載。
流量控制通常是指控制給定發(fā)送方和接收方之間的點對點流量。
流量控制要做的就是抑制發(fā)送方發(fā)送數(shù)據(jù)的速率,讓接收方能夠及時接收。
5.8 TCP擁塞控制
5.8.1擁塞控制的一般原則:開環(huán)控制和閉環(huán)控制。
5.8.2幾種擁塞控制方法
1、慢啟動和擁塞避免
發(fā)件人 s控制擁塞窗口的原理是,只要網(wǎng)絡(luò)不擁塞,擁塞窗口就會增大,以發(fā)送更多的數(shù)據(jù)包。但只要網(wǎng)絡(luò)擁塞,擁塞窗口就會縮小,以減少注入網(wǎng)絡(luò)的數(shù)據(jù)包數(shù)量。
2.快速重傳和快速恢復(fù)
5.9 TCP傳輸連接管理
傳輸連接有三個階段:連接建立、數(shù)據(jù)傳輸和連接釋放。
TCP連接的建立
TCP連接由客戶端服務(wù)器建立。
使用三次握手建立TCP連接
TCP連接發(fā)布
您必須等待2MSL。
首先,為了確保A發(fā)送的最后一個ACK段能夠到達B..
第二,預(yù)防 "無效的連接請求消息段 "不會出現(xiàn)在這里。a .發(fā)送完最后一個ACK段后,需要2MSL才能使這個連接持續(xù)期間生成的所有段從網(wǎng)絡(luò)上消失。這樣,舊的連接請求消息段將不會出現(xiàn)在下一個新的連接中。
arq方法最基本的兩種方案?
反饋檢測方法
反饋檢測方法,也稱為回聲檢查或 "回聲報方法,主要用于面向字符的異步傳輸,如終端與遠程計算機之間的通信。這是一種不使用任何特殊代碼的錯誤檢測方法。雙方傳輸數(shù)據(jù)時,接收方將接收到的數(shù)據(jù)(可以是字符,也可以是幀)發(fā)回發(fā)送方,發(fā)送方檢查是否與原始數(shù)據(jù)完全一致。如果不是,發(fā)送方發(fā)送一個控制字符(如DEL)通知接收方刪除錯誤數(shù)據(jù),重新發(fā)送數(shù)據(jù);如果是,則發(fā)送下一個數(shù)據(jù)。該反饋檢測方法原理簡單,易于實現(xiàn),可靠性高。但是每個數(shù)據(jù)傳輸兩次,信道利用率很低。一般在面向字符的異步傳輸中,信道效率不是主要因素,所以這種差錯控制仍然被廣泛使用。