




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
.在計算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)中,運(yùn)輸層處于什么地位?.運(yùn)輸層的功能是什么?,什么是端到端通信?.運(yùn)輸層合同包含哪些要素?[學(xué)習(xí)目標(biāo)]本章主要要求把握運(yùn)輸層的功能和模型;把握運(yùn)輸服務(wù)的概念;理解運(yùn)輸合同的分類;了解運(yùn)輸合同的設(shè)計中要解決的主要問題和解決問題的一般方法;正確理解運(yùn)輸合同的主要兀素。[學(xué)習(xí)指南]本章學(xué)習(xí)的關(guān)鍵在于首先理解運(yùn)輸層在整個網(wǎng)絡(luò)體系結(jié)構(gòu)中所處的地位。運(yùn)輸層處于網(wǎng)絡(luò)體系結(jié)構(gòu)的核心位置,它采用通信子網(wǎng)的功能為上層應(yīng)用供應(yīng)肯定QoS的傳輸服務(wù)。把握住這一點(diǎn),就不難理解運(yùn)輸合同分類、連接管理、故障恢復(fù)等概念了。[難重點(diǎn)].運(yùn)輸服務(wù)模型.運(yùn)輸合同類.運(yùn)輸層編址.連接管理.多路復(fù)用.故障恢復(fù)第一節(jié)運(yùn)輸層功能與模型運(yùn)輸層的地位:采用網(wǎng)絡(luò)層的服務(wù)和運(yùn)輸實(shí)體的功能,向會話層供應(yīng)服務(wù)。運(yùn)輸層是整個合同層次結(jié)構(gòu)的核心。其任務(wù)是為從源端機(jī)到目的機(jī)供應(yīng)牢靠的、價格合理的數(shù)據(jù)傳輸,而與當(dāng)前網(wǎng)絡(luò)或使用的網(wǎng)絡(luò)無關(guān)。假如沒有傳輸層,整個分層合同的概念也就沒有什么意義了。本章涉及到以下概念:■運(yùn)輸實(shí)體(TE,TransportEntity)TS-Userdata用戶數(shù)據(jù)連接建立階段:勝利建立連接、被叫用戶拒絕建立連接、TS供應(yīng)者拒絕建立連接;對于通信子網(wǎng)的用戶,也就是對用戶進(jìn)程來說,我們盼望得到的是端到端的牢靠通信服務(wù)。所謂端到端即從進(jìn)程到進(jìn)程。有時還可能盼望得到其他的服務(wù),例如多對進(jìn)程之間的通信復(fù)用到一個網(wǎng)絡(luò)連接上。在互連網(wǎng)的狀況下,各子網(wǎng)所能供應(yīng)的服務(wù)往往是不一樣的。為了能使通信子網(wǎng)的用戶得到一個統(tǒng)一的通信服務(wù),就有必要設(shè)置一個運(yùn)輸層。運(yùn)輸層彌補(bǔ)了各個通信子網(wǎng)供應(yīng)的服務(wù)的差異和缺乏,而在各通信子網(wǎng)供應(yīng)的服務(wù)的基礎(chǔ)上,采用本身的運(yùn)輸合同,增加了服務(wù)功能,使得對兩端的網(wǎng)絡(luò)用戶來說,各通信子網(wǎng)都變成透亮的,而對各子網(wǎng)的用戶,面對通信的運(yùn)輸接口就成為通用的。換言之,運(yùn)輸層向高層用戶屏蔽了下面通信子網(wǎng)的細(xì)節(jié),使高層用戶看不見實(shí)現(xiàn)通信功能的物理鏈路是什么,看不見數(shù)據(jù)鏈路采納的是什么規(guī)程,也看不見下面究竟有幾個子網(wǎng)以及這些子網(wǎng)是怎樣互連起來的。運(yùn)輸層使高層用戶觀察的就是好象在兩個運(yùn)輸層實(shí)體之間有一條端到端的牢靠的通信通路。第四節(jié)運(yùn)輸合同一、運(yùn)輸合同的元素傳輸服務(wù)是通過建立連接的兩個傳輸實(shí)體之間所用的傳輸合同來實(shí)現(xiàn)的。在某些方面,傳輸合同類似數(shù)據(jù)鏈路層合同,二者都必需解決過失掌握、分組挨次、流量掌握及其它問題,但二者之間也存在著顯著的差異。這些差異主要是由于兩個合同所運(yùn)行的環(huán)境不同所造成的,如圖5.6所示。在數(shù)據(jù)鏈路層,兩個路由器通過物理通道直接通信;而在運(yùn)輸層,這個物理通道由整個子網(wǎng)所取代。這一差異對合同產(chǎn)生了很多重要的影響。首先,在數(shù)據(jù)鏈路層,不必為一個路由器指明它要與哪個路由器通話-每條輸出線對應(yīng)唯一的一個路由器。在運(yùn)輸層里,需要顯式地給出目的端地址。其次,在圖5.6(a)中的線路上建立連接的過程很簡潔:另一端總是存在的(只有在它已崩潰的狀況下才不存在),每一方都沒有太多事情要做。對運(yùn)輸層而言,初始連接的建立要簡單得多,這點(diǎn)我們以后會看到。數(shù)據(jù)鏈路層和運(yùn)輸層之間另一個主要的區(qū)分是子網(wǎng)的存儲力量。當(dāng)路由器發(fā)送了一幀時,該幀可能會到達(dá)目的地,也可能會喪失,但它不會徘徊一會兒,隱藏在網(wǎng)絡(luò)的某個角落,而在某個不合適的時刻又突然冒出來。假如子網(wǎng)內(nèi)部采納數(shù)據(jù)報和適應(yīng)性路由選擇策略,那么就極可能將一個分組存儲幾秒鐘,然后再傳送。子網(wǎng)能將分組存儲起來的力量有時可能會產(chǎn)生災(zāi)難性后果。因此需要使用特殊的合同。數(shù)據(jù)鏈路層和運(yùn)輸層之間的最終一個區(qū)分是數(shù)量上的差異而非類型上的差異。在兩層中都需要有數(shù)據(jù)緩沖和流量掌握,但在運(yùn)輸層中消失的大量的、動態(tài)變化的連接要求可能需要使用與在數(shù)據(jù)鏈路層中不同的處理方法。在數(shù)據(jù)鏈路層中,有些合同為每個連接均安排了固定數(shù)目的緩沖區(qū)。在運(yùn)輸層中,由于需要管理很大數(shù)目的連接,因此,為每個連接安排很多緩沖區(qū)的策略不具有吸引力。在以下的幾小節(jié)中,將考察全部這樣和那樣的問題。二、編址當(dāng)一個應(yīng)用程序盼望與一個遠(yuǎn)程應(yīng)用程序建立連接時,它必需指定是與哪個應(yīng)用程序相連(無連接的傳輸存在同樣的問題:每個報文應(yīng)發(fā)送給誰)。一般采納的方法是定義進(jìn)程可以偵聽連接懇求的傳輸?shù)刂?。在因特網(wǎng)中,這些端點(diǎn)是(IP地址,本地端口)對。在ATM(異步傳輸模式)中,那么為AAL-SAP,我們使用中性術(shù)語傳輸服務(wù)訪問點(diǎn)TSAP(TransportServiceAccessPoint)來描述。網(wǎng)絡(luò)層中類似的端點(diǎn)(即網(wǎng)絡(luò)層地址)那么稱為NSAP。IP地址就是NSAP的例子。圖5.7說明白一個面對連接的子網(wǎng)(如ATM)中NSAP,TSAP,網(wǎng)絡(luò)連接和傳輸連接之間的關(guān)系。留意,傳輸實(shí)體通常支持多個NSAP。在有些網(wǎng)絡(luò)中,也可能存在多個NSAP,但對其他網(wǎng)絡(luò),每臺機(jī)器只有一個NSAP(如一個IP地址)。在面對連接的網(wǎng)絡(luò)層上建立一個傳輸連接,可能采納的連接方案如下:.主機(jī)2上的定時器服務(wù)進(jìn)程將自己連到122號TSAP上,等待即將到來的懇求。一個進(jìn)程如何將自己與TSAP相連是屬于網(wǎng)絡(luò)模型以外的問題,它完全依靠于本地的操作系統(tǒng)。例如,可以用USTEN調(diào)用。.主機(jī)1上的一個應(yīng)用進(jìn)程想找出當(dāng)天的時間,于是發(fā)出一個CONNECT懇求,將6號TSAP設(shè)定為源地址,將122號TSAP設(shè)定為目的地址。.主機(jī)1上的傳輸實(shí)體在其機(jī)器上選擇一個網(wǎng)絡(luò)地址(假如它不止一個)并在它們之間建立一個網(wǎng)絡(luò)連接。對于無連接子網(wǎng),無須建立該網(wǎng)絡(luò)層連接,使用該網(wǎng)絡(luò)連接,主機(jī)1的傳輸實(shí)體便能與主機(jī)2的傳輸實(shí)體通話了。.主機(jī)1上的傳輸實(shí)體向主機(jī)2上對等端說的第一句話是:“早上好,我想在我的6號TSAP和你的122號TSAP之間建立一個傳輸連接。你認(rèn)為如何?”.主機(jī)2上的傳輸實(shí)體便詢問122號TSAP的定時服務(wù)器是否情愿接受一個新的連接。假如它同意,傳輸連接便建立勝利。留意,傳輸連接是從TSAP到TSAP的,而網(wǎng)絡(luò)連接只是其中的從NSAP到NSAP的局部。主機(jī)1上的用戶進(jìn)程如何知道定時服務(wù)器是連接到122號TSAP上的呢?假如我們已經(jīng)解決了這一問題,以上描繪的圖景就很美了。一種可能性是定時服務(wù)器常年與122號TSAP相連,并且全部網(wǎng)絡(luò)用戶都漸漸了解到這一點(diǎn)。在這種模型中,各種服務(wù)都有不變的、可以打印出來的TSAP地址,并且能通告給新加入到網(wǎng)絡(luò)中的用戶。圖5.7TSAP,NSAP和連接不變的TSAP地址可能適用于少數(shù)從不轉(zhuǎn)變的關(guān)鍵服務(wù)。一般地,用戶進(jìn)程常常想與其他的用戶進(jìn)程通話,這些用戶進(jìn)程只是短時間存在并且預(yù)先不知道TSAP地址。而且,假如有很多潛在的服務(wù)器進(jìn)程,而其中的大多數(shù)很少使用,那么,讓每個進(jìn)程成天處于活動狀態(tài)并成天偵聽不變的TSAP地址是一種鋪張。簡而言之,需要一種更好的方案。被UNIX主機(jī)用于因特網(wǎng)上的一種該方案的簡化形式如圖5.8所示,稱為初始連接合同(initialconnectionprotocol)o該方案不再讓每個可能存在的服務(wù)器去偵聽一個眾所周知的TSAP地址,而是讓每臺盼望向遠(yuǎn)端用戶供應(yīng)服務(wù)的機(jī)器運(yùn)行一個特殊的進(jìn)程服務(wù)器(processserver),它充當(dāng)載荷較輕的服務(wù)器的代理。它同時偵聽一系列端口,等待TCP連接懇求。需耍某種服務(wù)的用戶通過執(zhí)行CONNECT懇求開頭,然后設(shè)定他們所需服務(wù)的TSAP地址(TCP端口)。假如沒有服務(wù)器在等待它的到來,它將會連接到進(jìn)程服務(wù)器上,如圖5.8(a)所示。當(dāng)進(jìn)程服務(wù)器收到傳入的懇求后,便裝入用戶懇求的服務(wù)器,并將已經(jīng)建立的與用戶的連接轉(zhuǎn)交給它。于是新的服務(wù)器便開頭執(zhí)行用戶懇求的任務(wù),而進(jìn)程服務(wù)器那么又回去偵聽新的用戶連接懇求,如圖5.8(b)所示。盡管初始連接合同對于那些需要隨時創(chuàng)立的服務(wù)器來說是特別有效的,但確實(shí)存在著很多服務(wù)不依靠于進(jìn)程服務(wù)器的狀況。例如,文件服務(wù)器需要在特定的硬件(帶有硬盤的機(jī)器)上遠(yuǎn)行,而不能當(dāng)有用戶想與其通話時才倉促創(chuàng)立。在這種狀況下常常采納另一種方案。在這種模型中,存在一個稱為名字服務(wù)器(nameserver),有時稱作名錄服務(wù)器(dictionaryserver)的特殊進(jìn)程。為了找到與一個給定服務(wù)名稱(如定時服務(wù)器("time-of-day”))相對應(yīng)的TSAP地址,用戶要與該名字服務(wù)器(它始終在偵聽一個眾所周知的TSAP)建立一個連接。接著,用戶向名字服務(wù)器發(fā)送一個報文,指明服務(wù)的名稱,而名字服務(wù)器那么將相應(yīng)的TSAP地址返回給用戶。接下來,用戶釋放與名字服務(wù)器之間的連接,而與盼望得到的服務(wù)之間建立-個新的連接。在這種模型中,當(dāng)創(chuàng)立一個新的服務(wù)時,必需向名字服務(wù)器注冊,給出它的服務(wù)名稱(一般是ASIONREQUEST)TPDU,并等待對方接受連接(CONNECTIONACCEPTED)的應(yīng)答就足夠了,但當(dāng)網(wǎng)絡(luò)可能喪失、存儲和消失重復(fù)分組時,問題便消失了。設(shè)想一個子網(wǎng)特別擁塞以至于根本不能準(zhǔn)時返回“確認(rèn)”,每個分組由于在規(guī)定時限內(nèi)得不到確認(rèn)而需要重發(fā)二次或三次的情形。假設(shè)該子網(wǎng)內(nèi)部使用數(shù)據(jù)報,并且每個分組擁有不同的路由。一些分組可能會由于子網(wǎng)內(nèi)部的線路擁塞.需要很長一段時間才能到達(dá),即它們被存儲到子網(wǎng)中,并在很久以后突然消失。最壞的可能性是發(fā)生下面的狀況。一個用戶與銀行之間建立了一條連接,并發(fā)送報文讓銀行將一筆巨款轉(zhuǎn)至一個不能完全信任的人的賬戶下,然后便釋放連接。不幸的是,此時每個分組均被復(fù)制并存放于子網(wǎng)中。當(dāng)連接已經(jīng)斷開后。全部的復(fù)制分組又會從子網(wǎng)中發(fā)出并挨次到達(dá)目的瑞,懇求與銀行建立一個新的連接并再次轉(zhuǎn)賬,然后釋放連接。而銀行那么無法區(qū)分這些分組是重復(fù)的,便假定這是其次次獨(dú)立的轉(zhuǎn)賬業(yè)務(wù)。于是將巨款再次轉(zhuǎn)移。本節(jié)剩下的局部將特地爭論延遲的重復(fù)分組問題,特殊重點(diǎn)爭論牢靠地建立連接的算法,以防止類似于上述災(zāi)難性問題的發(fā)生。問題的關(guān)鍵是由于子網(wǎng)中存在著延遲的重復(fù)分組。解決這一問題的方法很多,但都不是很令人滿足。一種方法是廢棄使用過的傳輸?shù)刂?。在這種方法中,每次需要一個傳輸?shù)刂窌r,系統(tǒng)便產(chǎn)生一個新的。當(dāng)釋放一個連接時,傳輸?shù)刂繁惚粡U棄了。這一策略使進(jìn)程服務(wù)器變?yōu)闊o效。另一種可能的解決方法是給每個連接安排一個連接標(biāo)識符,即一個隨連接建立而遞增的挨次號,該標(biāo)識符由懇求連接方選擇,并放進(jìn)包括連接懇求在內(nèi)的每個TPDU中。當(dāng)每個連接被釋放后,各傳輸實(shí)體可以更新一張表,列出全部過時的連接對(對等的傳輸實(shí)體,連接標(biāo)識符)。每當(dāng)收到一個連接懇求時,便檢查這張表,看該連接是否屬于以前所釋放的連接。不幸的是,這種方案有一些基本的缺陷:它要求每個傳送實(shí)體長時間保持肯定量的歷史信息。假如某臺機(jī)器由于崩潰而喪失了它存儲的信息,那么它便無法再獲知哪些連接標(biāo)識符是用過的。因而我們需要實(shí)行一種不同的方法。我們必需設(shè)計出一種機(jī)制來刪除那些仍在網(wǎng)中”徘徊”的過時的分組,不讓它們永久存留在子網(wǎng)中。假如我們能夠確保任何一個分組在子網(wǎng)中的存留時間都不超過某個的時間.那么問題在某種程度上就變得較易處理了。采納下述的技術(shù)之一,可以將分組的生命周期限制在一個的最大值內(nèi):.受限制的子網(wǎng)設(shè)計;.在每個分組內(nèi)設(shè)置一個生存時間;,為每個分組加上時間戳。第一種方法包括防止分組進(jìn)入回路,以及限制延時不超過(當(dāng)前的)可能最長的路徑時延。其次種方法是在每次轉(zhuǎn)發(fā)分組時使生存時間加1。數(shù)據(jù)鏈路層合同將丟棄那些生存時間值超過某個特定值的分組。第三種方法要求每個分組均包含生成時間,山路由器負(fù)責(zé)丟棄超過預(yù)定時間的舊分組。第三種方法要求路由器的時鐘同步,而同步本身就是一項(xiàng)繁重的任務(wù),除非同步信號來自子網(wǎng)絡(luò)外部,如通過收聽定期廣播精確時間的無線電臺。在實(shí)際應(yīng)用中,我們不僅需要保證一個分組已經(jīng)無效,而且要保證對該分組的全部確認(rèn)均告失效,因此,我們現(xiàn)在引進(jìn)T的概念,它表示實(shí)際最長的生命期的某個不太大的倍數(shù)。該倍數(shù)與所用的合同無關(guān),只是對延長T有影響。假如在一個分組發(fā)出后等待了時間T,我們便可以確定有關(guān)該分組的一切現(xiàn)在已告失效,該分組及其確認(rèn)將不會再次突然消失而使問題簡單化。依據(jù)分組限定的生命期,有可能設(shè)計出一種建立牢靠連接的平安方法。下面描述的方法源于Tomlinson(1975),該方法解決了這一問題,但同時也帶來了特殊問題。這一方法后來經(jīng)Sunshine和Dalal(1978)做了進(jìn)一步的優(yōu)化。該方法以各種形式廣泛用于實(shí)踐中。為了解決系統(tǒng)崩潰后機(jī)器會喪失全部存儲信息的問題。Tomlinson建議為每臺主機(jī)增設(shè)一個計時(time-of-day)時鐘。不同主機(jī)的時鐘不需同步。假定每個時鐘都采納二進(jìn)制計數(shù)器形式,在統(tǒng)一的時間間隔內(nèi)累加計數(shù)。而且,計數(shù)器內(nèi)的位數(shù)必需等于或大于序列號內(nèi)的位數(shù)。最終,也是更重要的,是假定時鐘始終在運(yùn)轉(zhuǎn),即使主機(jī)停機(jī)亦如此?;舅枷胧谴_保在同一時刻永久不會消失兩個編號相同的TPDUo當(dāng)一個連接建立后,時鐘的低k位作為初始序號(也是k位)。這樣便不同于數(shù)據(jù)鏈路層所介紹的合同,每個連接均以不同的序號開頭對其TPDU進(jìn)行編號,序號空間應(yīng)很大,以便當(dāng)序號再次(循環(huán)了一周)消失時,具有相同序號的舊的TPDU早已傳送完畢。時間和初始序號之間的線性關(guān)系如圖5.9所示。一旦建立連接的兩個傳輸實(shí)體接受了初始序號,便可以使用任何滑動窗口合同來實(shí)現(xiàn)數(shù)據(jù)流量掌握。實(shí)際上,初始序號曲線(由粗線表示)并非真正線性的,而是階梯形的,由于時鐘是以離散形式前進(jìn)的。為簡潔起見,我們忽視這一細(xì)節(jié)。當(dāng)主機(jī)崩潰時會消失問題,即當(dāng)主機(jī)再次啟動運(yùn)行后,其傳輸實(shí)體不知道它處在序號空間的什么位置。一種解決方法是要求傳輸實(shí)體在主機(jī)恢復(fù)后空閑等待Ts,以便使全部過時的TPDU失效。然而,在一個簡單的網(wǎng)絡(luò)系統(tǒng)中,T值可能很大,所以這種方法不具有吸引力。為了避開在系統(tǒng)崩潰后所要求的Ts空閑等待時間,有必要對序號的使用引入一種新的限制。通過一個例子我們會看到這種限制的必要性。設(shè)分組的最長生命期為60S,計時時鐘每秒計數(shù)一次。如圖5.9所示,對于x時刻接通的連接,其初始序號將為X。設(shè)想當(dāng)t=30s時,發(fā)送至5號連接(已經(jīng)接通)的一個一般的數(shù)據(jù)TPDU被給予的序號為80。不妨稱其為TPDUX。在將TPDUX發(fā)送出去后。主機(jī)即崩潰并且很快重啟。在t=60s的時亥IJ,它開頭重新接通0至4號連接。在t=70s時,它依據(jù)連接懇求以初始序號70重新接通了5號連接。在接下來的15s內(nèi),主機(jī)發(fā)送出70?80號數(shù)據(jù)TPDLL于是,當(dāng)t=85s時,一個序號為80的新的TPDU以及連接5被送入子網(wǎng)中。不幸的是,此時TPDUX仍舊存在。假如TPDUX能先于新的TPDU80到達(dá)接收方,它便會被接受,但正確的TPDU80卻被作為重復(fù)數(shù)據(jù)而拒收。為了避開消失這類問題,我們必需做到在一些序號可用作初始序號之前的時間T內(nèi)禁止使用它們(即給予新的TPDU)。時間和序號的非法組合如圖5.9(a)中的禁止區(qū)域所示。任何連接在發(fā)送任何TPDU之前,傳輸實(shí)體都必需讀計時值,并進(jìn)行檢查,以確保該TPDU的序號和時間組合不在禁止區(qū)域內(nèi)。該合同在兩種不同狀況下可能會陷入逆境。假如一臺主機(jī)在一個剛剛接通的連接上發(fā)送的數(shù)據(jù)太多、太快,實(shí)際的序號與時間的關(guān)系曲線要比初始序號與時間的關(guān)系曲線更陡些(斜率更大)。這意味著在任何連接上的最大數(shù)據(jù)傳輸速率是每秒鐘傳送一個TPDU;還意味著在系統(tǒng)崩潰恢復(fù)后接通一個新的連接之前,傳輸實(shí)體必需空閑等待一段時間,以免同一序號被重用。這兩點(diǎn)都要求時鐘的脈沖間隔要短(幾個毫秒)。很不幸,由于發(fā)送數(shù)據(jù)太快而從曲線下方進(jìn)入禁止區(qū)域并不是陷入逆境的唯一情形。從圖5.9(b)中可以清晰地看到,當(dāng)任何數(shù)據(jù)傳輸速率低于時鐘速率時,實(shí)際所用的序號與時間曲線將最終從左側(cè)進(jìn)入禁止區(qū)域。實(shí)際所用序號曲線的斜率越大,該曲線進(jìn)入禁區(qū)的時間越晚。正如上面講過的,傳輸實(shí)體在發(fā)送兩個TPDU之前必需檢查該TPDU是否將進(jìn)入禁止區(qū)域,假如是,那么將延遲Ts后再發(fā)送該TPDU,或者重新對序號進(jìn)行同步。基于時鐘的方法解決了數(shù)據(jù)TPDU的延遲重發(fā)問題,但要使該方法可行,必需首先建立連接。由于掌握TPDU也可能被延遲,所以在使雙方都接受初始序號這點(diǎn)上可能消失問題。例如,假設(shè)連接是由主機(jī)1向遠(yuǎn)端對等主機(jī)2發(fā)送連接懇求TPDU而建立的,該TPDU中包含了主機(jī)1建議的初始序號和目的端口號。接收方(主機(jī)2)通過回送一個接受連接TPDU來確認(rèn)該懇求。假如連接懇求TPDU在傳送時喪失而延遲的重復(fù)連接懇求突然消失在主機(jī)2上,那么連接將會被錯誤地建立。為了解決這一問題,Tomlinson(1975)引入了三次握手(three-wayhandshake)的方法。該建立連接的合同并不要求連接的雙方以相同的序號開頭發(fā)送數(shù)據(jù),所以它可以在同步方式下使用,而不必非要采納全局計時時鐘的方式。當(dāng)主機(jī)1發(fā)出連接懇求時,連接建立的一般過程:主機(jī)1選擇一個序號x并向主機(jī)2發(fā)送一包含了該序號的連接懇求TPDU;接著,主機(jī)2回應(yīng)一個接受連接TPDU,確認(rèn)x并聲明自己所選用的初始序號y;最終,主機(jī)1在其發(fā)送的第一個數(shù)據(jù)TPDU中確認(rèn)主機(jī)2所選擇的初始序號?,F(xiàn)在來看看當(dāng)消失延遲的重復(fù)掌握TPDU時,三次握手方法是如何工作的。第一個TPDU是來自于一個已經(jīng)釋放的連接的延遲重復(fù)的連接懇求,該TPDU在主機(jī)1毫不知曉的狀況下到達(dá)主機(jī)2。主機(jī)2通過向主機(jī)1發(fā)送一個接受連接TPDU來響應(yīng)TPDU,而該接受連接TPDU的真正目的是要證明主機(jī)I確實(shí)試圖建立一個新的連接。當(dāng)主機(jī)1拒絕接受主機(jī)2建立連接的意圖時,主機(jī)2便意識到自己受到了延時的重復(fù)TPDU的哄騙并放棄該連接。這樣,延時的重復(fù)數(shù)據(jù)便不會產(chǎn)生不良后果。最糟糕的狀況是當(dāng)一個延時的CR(連接懇求)和一個對ACC(接受連接)確實(shí)認(rèn)并存于子網(wǎng)中時,見動畫。如上例一樣,主機(jī)2收到了一個延時的CR并做了確認(rèn)應(yīng)答。在這里,關(guān)鍵是要熟悉到主機(jī)2已經(jīng)建議使用y作為從主機(jī)2到主機(jī)1進(jìn)行數(shù)據(jù)傳輸?shù)某跏夹蛱枺捎谥鳈C(jī)2特別清晰當(dāng)前沒有序號y或?qū)進(jìn)行確認(rèn)的TPDU存在。于是,當(dāng)其次個延時的TPDU到達(dá)主機(jī)2時,主機(jī)2依據(jù)它確認(rèn)的是序號z而不是y知道這也是一個過時的重復(fù)TPDLL重要的是要熟悉到此處不會消失過時的CR,ACC或其他可能引起合同失敗的TPDU組合的狀況,也不會無故建立無人要求的連接。另一種針對延遲的重復(fù)TPDU而能牢靠地建立連接的方案請參見(Waston,1981)。該方案使用了多個定時器來排解意外的大事。2.釋放連接連接的釋放要比建立更簡潔些。盡管如此,仍有很多不引人留意的細(xì)節(jié)問題。前面曾提到過,終止連接有兩種方式:非對稱釋放和對稱釋放。非對稱釋放是系統(tǒng)動作方式:當(dāng)一方掛機(jī)后,連接即告中斷。對稱釋放將連接依據(jù)兩個獨(dú)立的單向連接來處理,要求每一方分別釋放連接。非對稱釋放很突然,因而可能會導(dǎo)致喪失數(shù)據(jù)。請看動畫中所示的釋放連接(DR)情形。當(dāng)連接建立后,主機(jī)1發(fā)送了一個數(shù)據(jù)TPDU并正確抵達(dá)主機(jī)2,接著,主機(jī)1發(fā)送了另一個數(shù)據(jù)TPDU,這次很不幸,主機(jī)2在收到其次個TPDU之前先發(fā)出了DISCONNECT(釋放連接懇求),結(jié)果是連接被釋放,數(shù)據(jù)被喪失。明顯,我們需要采納更為完善的連接釋放合同來防止數(shù)據(jù)喪失。一種方法是采納對稱釋放方式,每個方向獨(dú)立釋放本方的連接。這種方式中,即使主機(jī)已經(jīng)發(fā)出了釋放連接TPDU,仍舊能夠連續(xù)接收數(shù)據(jù)。對稱釋放方式適用于每個用戶進(jìn)程有固定數(shù)量的數(shù)據(jù)需要發(fā)送,而且清晰地知道何時發(fā)送完畢的狀況。其他狀況下,打算全部工作是否已經(jīng)完成和連接是否應(yīng)釋放是沒有把握的??梢灶A(yù)想一種合同,在該合同下,主機(jī)1說:“我發(fā)送完了。你呢?”假如主機(jī)2響應(yīng):”我也發(fā)送完了。再見。“那么,連接變可以被平安釋放。不幸的是,這種合同并非總是有效的。對此有一個聞名的問題,稱為兩軍問題(twoarmyproblem)o設(shè)想一支白軍被圍困在一個山谷中,如圖5.10所示。山谷兩側(cè)是藍(lán)軍。白軍在人數(shù)上比山谷兩側(cè)的任何一支藍(lán)軍都多,但少于兩支藍(lán)軍合在-起的人數(shù)。假如單獨(dú)一支藍(lán)軍對白軍發(fā)動進(jìn)攻,那么必敗無疑;但假如兩支藍(lán)軍同時進(jìn)攻,便可取勝。假設(shè)藍(lán)軍1號的指揮官發(fā)出消息、:”我建議在3月29日拂曉發(fā)起攻擊。怎么樣?”現(xiàn)在假設(shè)信息送到了,藍(lán)軍2號的指揮官同意這一建議,并且他的回信平安送回到藍(lán)軍1號處。那么能否發(fā)動進(jìn)攻呢?很可能不會,由于藍(lán)軍2號的指揮官不知道他的回信是否平安到達(dá)了。假如未送到,藍(lán)軍1號將不會適時發(fā)起攻擊,那么他貿(mào)然進(jìn)攻就是愚蠢的?,F(xiàn)在我們采納三次握手的方法來改進(jìn)這一合同。最初提出建議的指揮官必需確認(rèn)對該建議的應(yīng)答信息。假如信息沒有喪失,藍(lán)軍2號將收到該確認(rèn)信息,但現(xiàn)在藍(lán)軍1號指揮官開頭遲疑起來。由于他究竟不知道他確實(shí)認(rèn)信息是否被平安收到了,假如未被收到,他清晰藍(lán)軍2號不會按時發(fā)動進(jìn)攻。那么我們現(xiàn)在采納四次握手合同會如何呢?結(jié)果仍是于事無補(bǔ)。實(shí)際上,可以證明不存在有效解決該問題的合同。假如存在某種合同的話,那么,合同中最終一條信息要么是必需的,要么不是。假如不是,可以刪除它(以及其他任何不必要的信息),直到剩下的合同中每條信息均必不行少。那么假設(shè)最終-條信息沒有平安到達(dá)目的地會怎樣呢?剛才說過這條信息是必需的,因此,假如它喪失了,進(jìn)攻方案便不會實(shí)施。由于最終發(fā)出信息的指揮官永久無法確定該信息能否平安到達(dá)。所以他便不會貿(mào)然行動。同樣,另一支藍(lán)軍也明白這個道理,所以也不會發(fā)動進(jìn)攻。為了看清兩軍問題與釋放連接之間的相關(guān)性,只需用“釋放連接“代替”攻擊”一詞就行了。假如連接的雙方在確信對方也預(yù)備釋放連接之前都不預(yù)備斷開連接,那么連接將永久也得不到釋放。在實(shí)際應(yīng)用時,人們在解決釋放連接問題時往往預(yù)備冒比進(jìn)攻白軍問題更大的風(fēng)險,所以問題并非完全沒有盼望解決。動畫說明白采納三次握手方法進(jìn)行連接釋放的四種狀況。這一合同并非肯定無誤,但它已令人滿足了。正常釋放的情形,此時,一個用戶發(fā)出一個DR(釋放連接懇求)TPDU,而首先要求釋放連接。當(dāng)該TPDU到達(dá)后,接收方也回送個DRTPDU,并同時啟動定時器以防止其DRTPDU喪失。當(dāng)應(yīng)答方的DR到達(dá)后,最初提出釋放連接的一方又回送一個ACK(確認(rèn))TPDU,并斷開連接。最終,當(dāng)ACKTPDU抵達(dá)目的地后,接收方也釋放連接。釋放一個連接意味著傳輸實(shí)體從其記載全部接通的連接的表中刪除該連接的有關(guān)信息并設(shè)法通知該連接的全部者(傳輸用戶)。該操作有別于傳輸用戶調(diào)用DISCONNECT原語的情形。假如最終的ACK(確認(rèn))TPDU喪失,如動畫所示,那么就需要用定時器來補(bǔ)救了。當(dāng)定時器超過時限后,連接將被“強(qiáng)行“釋放?,F(xiàn)在考察其次個DR(響應(yīng)的DR)喪失的情形。這時,首先提出釋放連接的用戶將不能收到所期盼的響應(yīng),待到定時器超時,再次開頭要求釋放連接。從動畫中可以看到這種狀況下是如何工作的,假設(shè)其次次沒有任何TPDU喪失,并且全部TPDU都正確、準(zhǔn)時地到達(dá)目的地。最終一種狀況。除了假設(shè)由于喪失TPDU使全部重發(fā)DR的嘗試均失敗以外,其他狀況與上個動畫完全相同。這樣,經(jīng)過N次嘗試后,發(fā)送方(提出釋放連接的一方)只好放棄努力并斷開連接。同時,接收方(被動釋放連接的一方)由于定時器超時也釋放掉連接。這種合同通常已經(jīng)滿足需要了,但理論上當(dāng)?shù)谝粋€DR和全部N次重發(fā)均被喪失的狀況下,該合同便會失敗。由于此時發(fā)送方將放棄重發(fā)并釋放連接,而另一方卻對對方的釋放連接企圖一無所知,而處于連接有效狀態(tài)。這種狀況將導(dǎo)致一個半接通的連接。可以實(shí)行一種措施來避開這種問題的發(fā)生,即禁止發(fā)送方在做完N次嘗試后放棄連接而讓它始終連續(xù)下去,直到已收到了一個應(yīng)答。然而,假如另一方采納超時而釋放連接的方法,那么,發(fā)送方將會永久處于發(fā)送DR狀態(tài),由于它不行能再收到應(yīng)答信息了(對方已經(jīng)釋放連接了)。假如我們禁止接收方采納超時中斷連接的方法,那么該合同對圖5.22(b)所示的狀況便會束手無策。一種消退半接通連接的方法是,假如在一段時間內(nèi)沒有收到任何TPDU,連接便自動釋放。這樣,假如一方已經(jīng)釋放了連接,那么另一方將檢測不到對方的活動因而也斷開連接。當(dāng)然,假如引進(jìn)這一規(guī)章,就需要為每個傳輸實(shí)體設(shè)置一個定時器,每當(dāng)收到一個TPDU時都要使定時器停止并重新啟動。假如該定時器超時,就發(fā)送一個偽TPDU,目的只是不讓對方釋放連接。另一方面,假如采納自動釋放連接的規(guī)章,并且在一個處與空閑狀態(tài)的連接上連續(xù)喪失了很多的偽TPDU,那么連接的雙方將會先后釋放連接。對這個問題本書不再作進(jìn)一步說明白,(暨陽社區(qū)版權(quán)全部),但現(xiàn)在應(yīng)清晰,釋放一個連接并非像初看起來那么簡潔。在連接、虛電路及物理鏈路上,多路復(fù)用幾組對話的方法在網(wǎng)絡(luò)結(jié)構(gòu)的很多層上都有肯定的作用。在傳輸層中對多路復(fù)用技術(shù)的需要表現(xiàn)在很多方面。例如,子網(wǎng)內(nèi)部使用虛電路的網(wǎng)絡(luò)中,每個接通的連接在連接的整個階段均需占據(jù)路由器中的一些表空間。假如緩沖區(qū)是被安排給每個路由器中的虛電路的,那么登錄到遠(yuǎn)端機(jī)器上的用戶離開終端去喝咖啡期間,他仍舊在耗費(fèi)著昂貴的資源。盡管這種分組交換的實(shí)現(xiàn)與使用分組交換的主要緣由之一一一用戶只依據(jù)傳輸?shù)臄?shù)據(jù)量而不是依據(jù)連接時間付費(fèi)相抵觸,但很多通信公司還是選擇了按時間收費(fèi)的方法,由于它特別類似于他們在過去的幾十年中巳經(jīng)習(xí)慣了的電路交換模型。在這種價格結(jié)構(gòu)下,長時間保持虛電路的接通特別不利,于是使不同的傳輸連接復(fù)用到同一網(wǎng)絡(luò)連接上的技術(shù)便很有吸引力。這種形式的多路復(fù)用稱為向上多路復(fù)用(upwardmultiplexing),如圖5.11(a)所示。圖中,4個不同的傳輸連接都使用同一網(wǎng)絡(luò)連接(例如,ATM虛電路)與遠(yuǎn)端主機(jī)相連。當(dāng)連接時間成為通信費(fèi)用的主要因素時,就由傳輸層依據(jù)傳輸連接的目的地將它們分為不同的組,并將每個分組映射到最小數(shù)目的網(wǎng)絡(luò)連接上。假如有太多的傳輸連接被映射到同一個網(wǎng)絡(luò)連接上,性能就會變得很差,由于窗口通常是滿的,用戶不得不排隊(duì)等待發(fā)送報文。假如映射到一個網(wǎng)絡(luò)連接上的傳輸連接過少,那么服務(wù)費(fèi)用會很昂貴。當(dāng)在ATM上向上多路復(fù)用時,盡管ATM特意為了標(biāo)識連接而為每個虛通路供應(yīng)了4000多虛電路號碼,但我們還是要用傳送報文頭部的一個字段來標(biāo)明連接,這真是一個莫大的挖苦。由于另一個與傳輸技術(shù)而非價格因素有關(guān)的緣由,使多路復(fù)用在傳輸層中也可能有用。例如,假定某個重要的用戶有時需要高帶寬的連接。假如子網(wǎng)需要用n位序號作為一個滑動窗口的流量掌握,那么當(dāng)有2n-1分組未得到確認(rèn)時,用戶就必需停止發(fā)送,等待這些分組到達(dá)遠(yuǎn)端主機(jī)并得到確認(rèn)。假如物理連接是通過衛(wèi)星相連的,那么用戶便被嚴(yán)格限制在每540ms傳送2n-1個分組的速率上。例如,當(dāng)n=8,并且分組大小為128字節(jié)時,可用帶寬大約是4Mb/s,即使物理通道帶寬比它高出100多倍,也是枉然。一種可能的解決方案是讓傳輸層接通多個網(wǎng)絡(luò)連接,以循環(huán)輪轉(zhuǎn)的策略在這些連接上安排傳輸信息,如圖5.11(b)所示。這種方法的操作稱為向下多路復(fù)用(downwardmultiplexing)o在k個網(wǎng)絡(luò)連接接通的狀況下,有效帶寬將增加k倍。采納4095條虛電路,128字節(jié)長的分組以及8位的序號,理論上可能會到達(dá)超過1.6Gb/s的數(shù)據(jù)傳輔速率。當(dāng)然,這種性能只有當(dāng)輸出線中支持1.6Gb/s速率的狀況下才有可能實(shí)現(xiàn)。這是由于全部4095條虛電路仍舊在一條物理線路上發(fā)送數(shù)據(jù),至少在圖5.11(b)中是這樣的。假如采納多條輸出線路,那么向下多路復(fù)用還可能大幅度地提高性能。五、故障恢復(fù)假如主機(jī)和路由器易崩潰,那么就存在著從崩潰恢復(fù)的問題。假如傳輸實(shí)體完全在主機(jī)內(nèi)部,那么從網(wǎng)絡(luò)和路由器崩潰中恢復(fù)是直截了當(dāng)?shù)?。假如網(wǎng)絡(luò)層供應(yīng)數(shù)據(jù)報服務(wù),傳輸實(shí)體對喪失的TPDU留有副本,就會知道如何解決恢復(fù)問題。假如網(wǎng)絡(luò)層供應(yīng)的是面對連接的服務(wù),那么處理虛電路突然中斷的方法是建立一條新的虛電路,接著探查遠(yuǎn)端機(jī)的傳輸實(shí)體,看它已經(jīng)收到了哪些TPDU以及哪些還未收到,后者可以重發(fā)。一個較簡單的問題是如何從主機(jī)崩潰中進(jìn)行恢復(fù)。尤其是當(dāng)服務(wù)器崩潰并很快重新啟動后,客戶端盼望能夠連續(xù)進(jìn)行崩潰前的操作。為了說明其困難程度,我們假設(shè)客戶端主機(jī)正在使用一個簡潔的?!龅群贤蜻h(yuǎn)端的文件服務(wù)器主機(jī)發(fā)送一個長文件。服務(wù)器端的傳輸層只是簡潔地將收到的TPDU依次傳給用戶。在傳送到1/2時,服務(wù)器崩潰了。當(dāng)它重新啟動后,它全部的登記表均被初始化,因此它不能確定其發(fā)生崩潰前的狀況。為了能恢復(fù)崩潰前的狀態(tài),服務(wù)器可以以廣播方式向全部其他的主機(jī)發(fā)送一個TPDU,說明自己剛才發(fā)生崩潰并要求其客戶主機(jī)通知全部接通的連接所處的狀態(tài)。每個客戶主機(jī)可能處于兩種狀態(tài)之一:有一個未被確認(rèn)的TPDU-S1狀態(tài),或沒有未被確認(rèn)的TPDU-SO狀態(tài)。依據(jù)這種狀態(tài)信息,客戶主機(jī)必需打算是否要重發(fā)最近的TPDU。乍一看好像很明顯:客戶端在得知遠(yuǎn)端服務(wù)器崩潰而自己有一個未被確認(rèn)的TPDU時(即處于狀態(tài)S1)才應(yīng)重發(fā)。然而,再認(rèn)真考慮一下便會覺察這種簡潔的方法存在的困難。例如,考慮下面這種狀況,遠(yuǎn)端服務(wù)器的傳輸實(shí)體只發(fā)送一個確認(rèn),當(dāng)確認(rèn)發(fā)生后,又對應(yīng)用進(jìn)程執(zhí)行一個寫操作。向輸出流寫一個TPDU和發(fā)送一個確認(rèn)是兩個不同而又不行分的大事,二者不能同時進(jìn)行。假如在確認(rèn)發(fā)出后而在寫操作執(zhí)行前崩潰發(fā)生了,此時客戶端將收到這個確認(rèn)。當(dāng)崩潰恢復(fù)聲明到達(dá)時它處于狀態(tài)SO??蛻舳藢⒁虼瞬辉僦匕l(fā),由于它錯以為那個TPDU已經(jīng)到達(dá)服務(wù)器端??蛻舳说倪@種打算會導(dǎo)致喪失一個TPDU。在這點(diǎn)上讀者可能會認(rèn)為:這個問題很簡潔解決。唯一需要做的是重新編寫傳輸實(shí)體的(合同)程序,讓其先進(jìn)行寫操作,然后再發(fā)送確認(rèn)。再試試看,設(shè)想已經(jīng)完成了寫操作但在確認(rèn)發(fā)出前系統(tǒng)發(fā)生了崩潰。此時客戶端將處于狀態(tài)S1并因此重傳數(shù)據(jù),從而會導(dǎo)致在服務(wù)器應(yīng)用進(jìn)程的輸出流上消失一個未經(jīng)檢測的重復(fù)的TPDLL無論怎樣對發(fā)送方和接收方的合同進(jìn)行編程,總是存在合同不能正確地從故障中恢復(fù)的狀況。服務(wù)器端可以按下述兩種狀況之一進(jìn)行編程:先發(fā)確認(rèn)或先進(jìn)行寫操作。客戶端可以依據(jù)四種方式之一進(jìn)行編程:總是重發(fā)最終一個TPDU;從不重發(fā)最終的TPDU;只有在狀態(tài)SO時重發(fā),和只有在狀態(tài)S1時重發(fā)。于是消失了8種組合,但我們會看到,對于每種組合都存在一些大事的集合使合同失敗。服務(wù)器端有三種可能的大事:發(fā)送確認(rèn)(A);將數(shù)據(jù)寫入到輸出進(jìn)程(W),和崩潰(C)。這三種大事可能會依據(jù)六種不同的排列挨次消失、即:AC(W),AWC,C(AW),C(WA),WAC和WC(A)O其中括號用來說明A或W不能在C后消失(即一旦發(fā)生了崩潰,全部進(jìn)程■網(wǎng)絡(luò)服務(wù)訪問點(diǎn)(NSAP,NetworkServiceAccessPoint)運(yùn)輸服務(wù)訪問點(diǎn)(TSAP,TransportServiceAccessPoint)運(yùn)輸實(shí)體間的運(yùn)輸連接(TC,TransportConnection)運(yùn)輸實(shí)體間的運(yùn)輸層合同(TP,TransportProtocol)運(yùn)輸服務(wù)供應(yīng)者(TS-Provider)運(yùn)輸服務(wù)用戶(TS-User)會話合同數(shù)據(jù)單元(SPDU,SessionProtocolDataUnit)運(yùn)輸服務(wù)數(shù)據(jù)單元(TSDUJransportServiceDataUnit)運(yùn)輸合同數(shù)據(jù)單元(TPDU,TransportProtocolDataUnit)網(wǎng)絡(luò)服務(wù)數(shù)據(jù)單元(TSDU,TransportServiceDataUnit)運(yùn)輸層的基本功能(可以和貨物運(yùn)輸?shù)臓顩r作類比)運(yùn)輸層依據(jù)會話層的服務(wù)質(zhì)量(QoS,QualityofService)要求,選擇適當(dāng)?shù)木W(wǎng)絡(luò)層服務(wù)和運(yùn)輸層合同,以供應(yīng)牢靠的、價格合理的、與網(wǎng)絡(luò)層無關(guān)的數(shù)據(jù)傳送。QoS相當(dāng)于在貨物運(yùn)輸?shù)睦又兴紤]的時間、牢靠性、費(fèi)用等。選擇網(wǎng)絡(luò)服務(wù)相當(dāng)于在貨物運(yùn)輸?shù)睦又羞x擇運(yùn)輸方式,比方:空運(yùn)、鐵路等。運(yùn)輸層合同相當(dāng)于郵寄信件時是使用平信,還是掛號信,等等。運(yùn)輸層處于OSI模型的上3層與下3層之間,供應(yīng)進(jìn)程間端到端的、透亮的、牢靠的數(shù)據(jù)傳送。網(wǎng)絡(luò)層是供應(yīng)系統(tǒng)間的數(shù)據(jù)傳送,而運(yùn)輸層是供應(yīng)進(jìn)程間的數(shù)據(jù)傳送。OSI模型中上3層的功能為:信息傳送,了解數(shù)據(jù)含義,進(jìn)程間通信;下3層的功能為:數(shù)據(jù)傳送,不關(guān)懷數(shù)據(jù)含義,系統(tǒng)間通信。運(yùn)輸層的功能為:數(shù)據(jù)傳送,不關(guān)懷數(shù)據(jù)含義,進(jìn)程間通信;可視為低層的一局部。彌補(bǔ)高層(上3層)要求與網(wǎng)絡(luò)層(基于下3層)數(shù)據(jù)傳送服務(wù)質(zhì)量間的差異(過失率、過失恢復(fù)力量、吞吐率、延時、費(fèi)用等),對高層屏蔽網(wǎng)絡(luò)層的服務(wù)的差異,供應(yīng)穩(wěn)定均告停止)圖5.12顯示了客戶端和服務(wù)器端的全部8種組合方案以及對于每種組合的合法大事排列挨次。留意,對每種方案都存在引起合同失敗的一系列大事。例如,假如客戶端總是重發(fā)數(shù)據(jù),盡管AC(w)和c(AW)大事可以正確運(yùn)行,但AWC大事將會產(chǎn)生一個未經(jīng)檢測的重復(fù)TPDU。進(jìn)一步完善合同也于事無補(bǔ)。即使客戶端和服務(wù)器端在服務(wù)器預(yù)備進(jìn)行寫操作前已經(jīng)交換了幾個TPDU,以便客戶端能準(zhǔn)確知道將要發(fā)生什么,但客戶端還是無法確定崩潰是在寫操作前還是寫操作之后發(fā)生。因此我們得出如下結(jié)論:基于對非同時大事所制訂的基本規(guī)章,無法使主機(jī)崩潰和恢復(fù)做到對于高層透亮。使用更一般的術(shù)語,這一結(jié)果可以重新表達(dá)為:從第N層崩潰中恢復(fù)只能由第N+1層來完成,并且只有在第N+1層保存有足夠的狀態(tài)信息的狀況下才能完成。正如上面提到的,假如連接的兩端均保持了當(dāng)前的狀態(tài)信息、,傳輸層可以從網(wǎng)絡(luò)層的錯誤中進(jìn)行恢復(fù)。這一問題使我們不得不弄清晰所謂的端到端確認(rèn)的真正含義。原那么上,傳輸合同是端到端的,而不像較低層次那樣是鏈接的?,F(xiàn)在考慮用戶為了同遠(yuǎn)端數(shù)據(jù)庫進(jìn)行事務(wù)處理而輸入懇求信息的狀況。假設(shè)遠(yuǎn)程傳輸實(shí)體的編程是先將TPDU傳送到其上一層,然后進(jìn)行確認(rèn)。即使在該種狀況下,在用戶的機(jī)器上收到一個返回確實(shí)認(rèn)信息并非意味著遠(yuǎn)端主機(jī)運(yùn)行了足夠的時間,并真正對數(shù)據(jù)庫進(jìn)行了修改。一個真正的端到端確實(shí)認(rèn)意味著工作已經(jīng)實(shí)際完成,未確認(rèn)那么表示尚未完成,但這種真正的端到端確實(shí)認(rèn)可能無法實(shí)現(xiàn)。有關(guān)這方面的狀況,(Salter等,1984)已經(jīng)進(jìn)行了更為具體的爭論。[章節(jié)小結(jié)]本章主要從原理上表達(dá)了運(yùn)輸層的作用和掌握機(jī)制。運(yùn)輸層在0SI7層合同中處在一個承上啟下的作用,負(fù)責(zé)對上屏蔽低層網(wǎng)絡(luò)的差異,因此運(yùn)輸層要保證端到端的正確傳輸,它之上的上層合同不再關(guān)懷數(shù)據(jù)是如何傳輸,如何保證不出錯。運(yùn)輸層為保證端到端的正確傳輸,實(shí)行與數(shù)據(jù)鏈路層相像的策略,但運(yùn)輸層與數(shù)據(jù)鏈路層不同的是,運(yùn)輸層之下的網(wǎng)絡(luò)層其性能在不同的應(yīng)用場合是不同,因此分組在網(wǎng)絡(luò)層上的表達(dá)出的傳輸特性是不同的,如時延、喪失率等,因此運(yùn)輸層的掌握機(jī)制就簡單了,如重傳時間的測量、連接建立的三次握手等。所以運(yùn)輸層依據(jù)網(wǎng)絡(luò)層的服務(wù)質(zhì)量分為5類,同時向上供應(yīng)的復(fù)用解復(fù)用等特性,是依據(jù)上層的服務(wù)質(zhì)量要求和網(wǎng)絡(luò)層能供應(yīng)的服務(wù)由運(yùn)輸層來禰補(bǔ)二者之間在時間、經(jīng)濟(jì)性、流量等方面的差異。[課后習(xí)題].簡述運(yùn)輸層在OSI模型中所處的地位。.簡述運(yùn)輸層的基本功能。.簡述網(wǎng)絡(luò)服務(wù)分類。劃分的依據(jù)是什么?.OSI模型規(guī)定了哪幾種運(yùn)輸合同類?各供應(yīng)怎樣的功能?.簡述運(yùn)輸服務(wù)的特性。.運(yùn)輸層的連接和數(shù)據(jù)鏈路層的連接有什么區(qū)分?課后習(xí)題答案:.解答:在OSI模型中,運(yùn)輸層位于網(wǎng)絡(luò)層和會話層之間,采用網(wǎng)絡(luò)層的服務(wù)和運(yùn)輸實(shí)體的功能,向會話層供應(yīng)服務(wù)。從通信和信息處理的角度看,運(yùn)輸層屬于面對通信局部的最高層。但從網(wǎng)絡(luò)功能或用戶功能來劃分,那么運(yùn)輸層又屬于用戶功能中的最低層。運(yùn)輸層是整個網(wǎng)絡(luò)體系結(jié)構(gòu)中關(guān)鍵的一層。在整個層次結(jié)構(gòu)中起到承上啟下的作用,在通信子網(wǎng)中沒有運(yùn)輸層。運(yùn)輸層只存在于通信子網(wǎng)以外的端主機(jī)中。.解答:運(yùn)輸層依據(jù)會話層的服務(wù)質(zhì)量(QoS,QualityofService)要求,選擇適當(dāng)?shù)木W(wǎng)絡(luò)層服務(wù)和運(yùn)輸層合同,以供應(yīng)牢靠的、價格合理的、與網(wǎng)絡(luò)層無關(guān)的數(shù)據(jù)傳送。運(yùn)輸層采納多路復(fù)用/解復(fù)用,分流/合流等方式,彌補(bǔ)高層(上3層)要求與網(wǎng)絡(luò)層(基于下3層)數(shù)據(jù)傳送服務(wù)質(zhì)量間的差異(過失率、過失恢復(fù)力量、吞吐率、延時、費(fèi)用等),對高層供應(yīng)穩(wěn)定和全都的界面。運(yùn)輸層還供應(yīng)進(jìn)程間端到端的、透亮的、牢靠的數(shù)據(jù)傳送。.解答:依據(jù)網(wǎng)絡(luò)層供應(yīng)的服務(wù)質(zhì)量(由殘留過失率和可報告過失率兩個參數(shù)來評價)的性質(zhì),網(wǎng)絡(luò)服務(wù)被劃分為三種類型。A類網(wǎng)絡(luò)服務(wù)網(wǎng)絡(luò)連接具有可接受的殘留過失率和可接受的可報告過失率。網(wǎng)絡(luò)服務(wù)是一個完善的、抱負(fù)的、牢靠的服務(wù)。B類網(wǎng)絡(luò)服務(wù)網(wǎng)絡(luò)連接具有可接受的殘留過失率和不行接受的可報告過失率。網(wǎng)絡(luò)服務(wù)是完善的分組傳遞交換。但有網(wǎng)絡(luò)連接釋放或網(wǎng)絡(luò)連接重建問題。C類網(wǎng)絡(luò)服務(wù)網(wǎng)絡(luò)連接具有不行接受的殘留過失率和不行接受的可報告過失率。這類網(wǎng)絡(luò)服務(wù)質(zhì)量最差。.解答:針對網(wǎng)絡(luò)服務(wù)質(zhì)量的差異,運(yùn)輸層定義了5個運(yùn)輸合同類:0類合同0類合同是面對A類網(wǎng)絡(luò)服務(wù)的。其功能只是建立一個簡潔的端到端的運(yùn)輸連接和在數(shù)據(jù)傳輸階段具有將長數(shù)據(jù)報文分段傳送的功能。0類合同是最簡潔的合同。1類合同1類合同是面對B類網(wǎng)絡(luò)服務(wù)的。其功能是在0類合同的基礎(chǔ)上增加了基本過失恢復(fù)功能。2類合同2類合同也是面對A類網(wǎng)絡(luò)服務(wù)的。但2類合同具有復(fù)用功能,能進(jìn)行對運(yùn)輸連接的復(fù)用,合同具有相應(yīng)的流量掌握功能。2類合同中沒有網(wǎng)絡(luò)連接故障恢復(fù)功能。3類合同3類合同是面對B類網(wǎng)絡(luò)服務(wù)的。3類合同的功能既有過失恢復(fù)功能,又有復(fù)用功能。4類合同4類合同是面對C類網(wǎng)絡(luò)服務(wù)的。4類合同具有過失檢測、過失恢復(fù)、復(fù)用等功能。它可以在網(wǎng)絡(luò)服務(wù)質(zhì)量差時保證高牢靠的數(shù)據(jù)傳輸。4類合同是最簡單的合同。.解答:運(yùn)輸服務(wù)特性:1)供應(yīng)運(yùn)輸QoS選擇:吞吐量、延時、殘留過失率等。在滿足用戶要求的前提下,優(yōu)化資源使用,以到達(dá)最優(yōu)的性能價格比。2)運(yùn)輸QoS與網(wǎng)絡(luò)QoS獨(dú)立:對運(yùn)輸用戶供應(yīng)相對穩(wěn)定的服務(wù)界面。運(yùn)輸層可彌補(bǔ)運(yùn)輸層用戶QoS要求與網(wǎng)絡(luò)層供應(yīng)的QoS間的差異,使運(yùn)輸服務(wù)用戶可不關(guān)懷底層的通信網(wǎng)絡(luò)。3)供應(yīng)端到端數(shù)據(jù)傳送。4)供應(yīng)透亮的數(shù)據(jù)傳送:對運(yùn)輸用戶的數(shù)據(jù)內(nèi)容、格式和編碼沒有限制。5)良好的尋址系統(tǒng):運(yùn)輸?shù)刂穼?yīng)唯一的TSAP,并能映射到相應(yīng)的網(wǎng)絡(luò)層地址機(jī)構(gòu)。.解答:運(yùn)輸層的連接和數(shù)據(jù)鏈路層的連接存在著顯著的差異。這些差異主要是由于兩個合同所運(yùn)行的環(huán)境不同所造成的。在數(shù)據(jù)鏈路層,兩個網(wǎng)絡(luò)設(shè)施通過物理通道直接通信;而在傳輸層,這個物理通道由整個子網(wǎng)所取代。這些差異主要表現(xiàn)在:1)在數(shù)據(jù)鏈路層,不必指明與誰建立連接一一每條輸出線對應(yīng)唯一的一個目的端設(shè)施。在傳輸層里,需要顯式地給出建立連接的目的端地址。2)數(shù)據(jù)鏈路層建立連接的過程很簡潔,而傳輸層建立連接的過程要簡單得多,通常要用到屢次握手的方法。3)對數(shù)據(jù)鏈路層而言,物理通道沒有存儲力量;而運(yùn)輸層連接那么必需處理由子網(wǎng)的存儲力量而帶來的問題。4)在數(shù)據(jù)鏈路層中,通常為每個連接安排固定數(shù)目的緩沖區(qū);而運(yùn)輸層的連接是大量的、動態(tài)變化的,因此其緩沖區(qū)管理也是動態(tài)的。和全都的界面。其次節(jié)運(yùn)輸合同類運(yùn)輸層合同是依據(jù)網(wǎng)絡(luò)層供應(yīng)的服務(wù)質(zhì)量來分類的。經(jīng)過多年的爭論與爭論,ISO于1984年通過了OSI運(yùn)輸合同的標(biāo)準(zhǔn)。這就是ISO8072和ISO8073。CCITT參加了這一標(biāo)準(zhǔn)的制訂,并通過了相應(yīng)的X.214和X.224建議書。歐洲計算機(jī)廠家協(xié)會ECMA,美國我國標(biāo)準(zhǔn)學(xué)會ANSI以及美國我國標(biāo)準(zhǔn)局NBS等也都樂觀參加了運(yùn)輸層合同標(biāo)準(zhǔn)的制訂。NBS已于1988年底改名為我國標(biāo)準(zhǔn)與技術(shù)爭論院NISTo一、網(wǎng)絡(luò)服務(wù)網(wǎng)絡(luò)服務(wù)質(zhì)量參數(shù),網(wǎng)絡(luò)層所供應(yīng)的服務(wù)質(zhì)量是由以下兩個參數(shù)來評價的:殘留過失率?可報告過失率?殘留過失率(ResidualErrorRate):反映網(wǎng)絡(luò)連接質(zhì)量,網(wǎng)絡(luò)實(shí)體不行檢測;或漏檢過失率。殘留過失是網(wǎng)絡(luò)層未改正的差錯且不通知運(yùn)輸層。(1)全部傳送的網(wǎng)絡(luò)服務(wù)數(shù)據(jù)單元(NSDU)的分類(4類):Nk勝利傳送(SuccessfullyTransferred)的NSDU:Ns錯誤(Incorrect)的NSDU:Ne喪失的(Lost)NSDU:Nl重復(fù)(Extra)的NSDU:Nx(2)定義:在測量時間內(nèi),在網(wǎng)絡(luò)連接上傳送的全部錯誤的、喪失的和重復(fù)的NSDU與所傳送的全部NSDU之比。(3)公式:可報告過失率:指在可檢測的過失中不行恢復(fù)的過失所占的比例O(1)殘留過失(ResidualError):網(wǎng)絡(luò)實(shí)體不行檢測的過失;反映過失檢測力量;(2)可報告過失(SignalledError):網(wǎng)絡(luò)實(shí)體可檢測,但不行恢復(fù)的過失;反映過失恢復(fù)力量。①檢測到有不行恢復(fù)過失的NSDU時,網(wǎng)絡(luò)實(shí)體并不遞交運(yùn)輸實(shí)體,而是報告運(yùn)輸實(shí)體對它進(jìn)行恢復(fù);通知運(yùn)輸層的網(wǎng)絡(luò)連接釋放(release)或網(wǎng)絡(luò)連接恢復(fù)(reset)o②可報告過失率低,表示網(wǎng)絡(luò)實(shí)體的過失恢復(fù)力量強(qiáng)。⑴A類網(wǎng)絡(luò)服務(wù):可接受的殘留過失率、可接受的可報告過失率;A型網(wǎng)絡(luò)服務(wù)是一個完善的、抱負(fù)的、牢靠的網(wǎng)絡(luò)服務(wù)。分組在網(wǎng)絡(luò)中傳送時不會喪失也不會失序(失序指分組到達(dá)的挨次與發(fā)送的挨次不全都),這樣,運(yùn)輸層就不需要故障恢復(fù)的服務(wù)和重新排序的服務(wù)等等,因而運(yùn)輸層就特別簡潔。(2)B類網(wǎng)絡(luò)服務(wù):可接受的殘留過失率、不行接受的可報告過失率;需要運(yùn)輸實(shí)體進(jìn)行過失恢復(fù)。⑶c類網(wǎng)絡(luò)服務(wù):不行接受的殘留過失率、不行接受的可報告過失率;C型網(wǎng)絡(luò)服務(wù)的質(zhì)量最差。對于這類網(wǎng)絡(luò),運(yùn)輸合同應(yīng)能檢測出網(wǎng)絡(luò)的過失,同時要有過失恢復(fù)力量。對失序、重復(fù)以及錯誤投遞的數(shù)據(jù)分組,也應(yīng)能檢測出并進(jìn)行改正。某些局域網(wǎng)和一些具有移動結(jié)點(diǎn)的城域網(wǎng)以及具有衰落信道的分組無線電網(wǎng)都局于c型網(wǎng)絡(luò)。二、運(yùn)輸合同類為了能夠在各種不同網(wǎng)絡(luò)上進(jìn)行不同類型的數(shù)據(jù)的傳送,ISO定義了5類(class)運(yùn)輸合同,即第0類至第4類的運(yùn)輸合同。這5類運(yùn)輸合同都是面對連接的。也就是說,用戶要進(jìn)行通信,必需先建立運(yùn)輸連接。當(dāng)然,這必定要用到網(wǎng)絡(luò)層供應(yīng)的服務(wù),或者說,要建立網(wǎng)絡(luò)連接。同理,在建立網(wǎng)絡(luò)連接時,又需要建立各有關(guān)鏈路的連接。當(dāng)數(shù)據(jù)傳送結(jié)束后,那么必需釋放運(yùn)輸連接。針對網(wǎng)絡(luò)服務(wù)質(zhì)量的差異,運(yùn)輸層定義了5個運(yùn)輸合同類,供應(yīng)不同的功能。網(wǎng)絡(luò)層服務(wù)質(zhì)量降低時,對運(yùn)輸合同的要求就提高,以向運(yùn)輸層用戶供應(yīng)一種比擬穩(wěn)定的服務(wù)界面。表5.1運(yùn)輸合同類主要功能使用的網(wǎng)絡(luò)服務(wù)TPO簡潔類(SimpleClass)運(yùn)輸連接管理;ATP1基本過失恢復(fù)類(BasicErrorRecoveryClass)TP0+過失恢復(fù);BTP2復(fù)用類(MultiplexingClass)TP0+復(fù)用/解復(fù)用;流量掌握;ATP3過失恢復(fù)與復(fù)用類(Er
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥學(xué)考后總結(jié)與反思試題及答案
- 納米激光技術(shù)研究試題及答案
- 藥劑類考試合理規(guī)劃方案及試題及答案
- 藥劑分類與特性試題及答案
- 繼續(xù)前行衛(wèi)生管理證書考試試題及答案
- 如何評估行業(yè)內(nèi)專利競爭環(huán)境對業(yè)務(wù)發(fā)展的影響試題及答案
- 深入研究2024年文化產(chǎn)業(yè)管理證書考試內(nèi)容試題及答案
- 系統(tǒng)規(guī)劃師考試的試題及答案的調(diào)查研究
- 心理咨詢師2024年科學(xué)的心理評估工具探討試題及答案
- 衛(wèi)生管理對職業(yè)發(fā)展的影響考題
- 高二下學(xué)期《家校攜手凝共識齊心協(xié)力創(chuàng)輝煌》家長會
- (二模)滄州市2025屆高三總復(fù)習(xí)質(zhì)量監(jiān)測 生物試卷(含答案詳解)
- 2025年四川蓬安相如旅游開發(fā)有限責(zé)任公司招聘筆試參考題庫含答案解析
- 2025建筑材料供應(yīng)商采購合同模板2
- 機(jī)械基礎(chǔ)試題庫及參考答案
- 2024年農(nóng)藝師考試實(shí)務(wù)考核試題及答案
- 餐飲合伙協(xié)議合同范本
- 人教鄂教版科學(xué)五年級下冊第一單元 晝夜與四季單元教學(xué)教案
- 山東省煙臺市芝罘區(qū)(五四制)2022-2023學(xué)年七年級下學(xué)期期中考試英語試題及答案
- 2024年福建泉州交發(fā)集團(tuán)招聘考試真題
- 深度學(xué)習(xí)入門試題及答案概述
評論
0/150
提交評論