運輸層

運輸層解決的兩個基本問題:

1)兩個實體怎樣才能在一種會丟失或損壞數(shù)據(jù)的媒體上可靠地通信——協(xié)議

2)控制運輸層實體的傳輸速率以避免網(wǎng)絡擁塞,或從擁塞中恢復——擁塞控制

運輸層協(xié)議:

1)為運行在不同主機上的應用進程之間提供邏輯通信功能(網(wǎng)絡層提供主機之間的)

2)是在端系統(tǒng)中而不是在路由器中是實現(xiàn)的。

運輸層與網(wǎng)絡層的關系:

應用層報文 = 信封上的字符

進程 = 堂兄弟姐妹

主機 = 家庭

運輸層協(xié)議 = Ann和Bill

網(wǎng)絡層協(xié)議 = 郵政服務(包括郵車)

多種運輸層協(xié)議可以為應用程序提供不同的服務模型。

即使底層網(wǎng)絡協(xié)議不能再網(wǎng)絡層提供相應的服務,運輸層協(xié)議也能提供某些服務,如可靠的數(shù)據(jù)傳輸、加密等)

UDP和TCP的職責:

1)將兩個端系統(tǒng)間IP的交付服務擴展為運行在端系統(tǒng)上的兩個進程之間的交付服務。

2)可通過在其報文段首部中包括差錯檢查字段而提供完整性檢查。

TCP提供的附加服務:

1)可靠數(shù)據(jù)傳輸。使用流量控制、序號、確認和定時器,確保正確、按序?qū)?shù)據(jù)從發(fā)送進程交付到接收進程。將端系統(tǒng)間的不可靠IP服務轉(zhuǎn)換成了一種進程間的可靠數(shù)據(jù)傳輸服務。

2)擁塞控制。為每個通過一條擁塞網(wǎng)絡鏈路的連接平等地共享帶寬,可通過調(diào)節(jié)TCP連接的發(fā)送端發(fā)送進網(wǎng)絡的流量速率做到。(UDP流量是不可調(diào)節(jié)的)

一個進程有一個或多個套接字,相當于從網(wǎng)絡向進程傳遞數(shù)據(jù)和從進程向網(wǎng)絡傳遞數(shù)據(jù)的門戶,運輸層并沒有直接將數(shù)據(jù)交付給進程,而是將數(shù)據(jù)交付給了一個中間的套接字

多路復用與多路分解

多路分解:將運輸層報文段中的數(shù)據(jù)交付到正確的套接字的工作。

多路復用:在源主機從不同套接字中收集數(shù)據(jù)塊,并為每個數(shù)據(jù)塊封裝上首部信息從而生成報文段,然后將報文段傳遞到網(wǎng)絡層。

它們與在某層的單一協(xié)議何時被位于接下來的較高層的多個協(xié)議使用有關。

多路復用要求:

1)套接字有唯一標識符;

UDP套接字由二元組標識:目的IP地址、目的端口號;

TCP套接字由四元組標識:IP地址、源端口號、目的IP地址、目的端口號

2)每個報文段有特殊字段(源端口號和目的端口號)來指示該報文段所要交付到的套接字。

端口號:

1)一個16比特的數(shù),大小在0-65535之間;

2)0-1023的端口號是周知端口號;

3)當開發(fā)新的應用程序是,必須為其分配一個端口號;

4)應用程序的客戶端讓運輸層自動地(并且是透明的)分配端口號,而服務器端則分配一個特 定的端口號。

連接套接字并非總是有著一一對應的關系,如今高性能Web服務器通常只使用一個進程,但是為每個新的客戶連接創(chuàng)建一個具有新連接套接字的新線程(看作一個輕量級的子進程)。

許多應用更適合用UDP的原因:

1)關于何時、發(fā)送什么數(shù)據(jù)的應用層控制更精細。實時應用要求發(fā)送速率小、時延小、丟包容忍度高。

2)無需連接建立。UDP無建立連接的時延。

3)無連接狀態(tài)。能支持更多的活躍用戶。

4)分組首部開銷小。UDP僅有8字節(jié),TCP有20字節(jié)。

流行的因特網(wǎng)應用及其下面的運輸協(xié)議

UDP的應用是可以實現(xiàn)可靠數(shù)據(jù)傳輸?shù)?,可通過在應用程序自身中建立可靠性機制完成(如增加確認與重傳機制),這樣就可無需受制于TCP擁塞控制及傳輸速率限制。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容