網(wǎng)絡(luò)層和傳輸層的區(qū)別
在協(xié)議棧中,傳輸層協(xié)議為不同主機(jī)上運(yùn)行的進(jìn)程提供邏輯通信,而網(wǎng)絡(luò)層協(xié)議為不同主機(jī)提供邏輯通信。這個(gè)區(qū)別很微妙,但卻非常重要。下面我們用一家人作為類比來(lái)說(shuō)明一下這個(gè)區(qū)別:
假設(shè)想有兩所房子,一個(gè)位于東海岸而另一個(gè)位于西海岸,每所房子里都住著10個(gè)小孩。東海岸的房子里的小孩和西海岸房子里的小孩是堂兄妹。兩所房子里的孩子喜歡互相通信——每個(gè)孩子每周都給每一個(gè)堂兄妹寫(xiě)一封信,每一封信都由老式的郵局分別用信封來(lái)寄。
這樣,每一家每周就都有100封信要送到另一家(這些孩子如果可以用電子郵件的話就可以省掉很多錢(qián)了?。┰诿恳患依锩?。都由一個(gè)孩子——西海岸的房子里的Ann和東海岸房子里的BilI——負(fù)責(zé)郵件的收集和分發(fā)。每周Ann都從她的兄弟姐妹那里收集信件,并將這些信件送到每天都來(lái)的郵遞服務(wù)員那里。當(dāng)信件到達(dá)西海岸的房子,Ann又將這些信件分發(fā)給她的兄弟姐妹。BilI在東海岸有著同樣的工作。
在這個(gè)例于中,郵遞服務(wù)提供著兩所房子之間的邏輯通信——郵遞服務(wù)在兩所房子之間傳遞郵件,而不是針對(duì)每個(gè)人的服務(wù)。另一方面,Ann和BilI提供堂兄妹之間的邏輯通信——Ann和BilI從他們的兄弟姐妹那里收集郵件并將郵件遞送給他們。注意,從這些堂兄妹的角度看,Ann和BilI是郵件的服務(wù)人,盡管他們倆只是端到端寄送服務(wù)的一部分(終端系統(tǒng)部分)。
這個(gè)例子是傳輸層和網(wǎng)絡(luò)層之間的關(guān)系的一個(gè)形象比喻: 主機(jī)(也稱為終端系統(tǒng))=房子 進(jìn)程 = 堂兄妹
應(yīng)用程序消息 = 信封里的信
網(wǎng)絡(luò)層協(xié)議 = 郵遞服務(wù)(包括郵遞員) 傳輸層協(xié)議 = Ann和Bill
繼續(xù)這個(gè)例子,Ann和Bill各自在他們的家中做所有的工作:
他們不負(fù)責(zé)各個(gè)郵遞中心的郵件分類工作以及將郵件從一個(gè)中心送到另一個(gè)中心的工作。這正與傳輸層協(xié)議在終端系統(tǒng)中的作用一樣。在一個(gè)終端系統(tǒng)中,傳輸層協(xié)議將應(yīng)用進(jìn)程的消息傳送到網(wǎng)絡(luò)邊緣(也就是網(wǎng)絡(luò)層),反之亦然:但是它并不涉及消息是如何在網(wǎng)絡(luò)層之間傳送的工作。事實(shí)上,中間路由器對(duì)于傳輸層加在應(yīng)用程序消息上的信息不能做任何識(shí)別和處理。
繼續(xù)這個(gè)例子,假設(shè)Ann和Bill都去度假了,另外一對(duì)堂兄妹——Susan和Harvey代替——他們來(lái)提供家庭內(nèi)部的郵件收取和分發(fā)工作。不幸的是,Susan和Harvey所提供的收集和分發(fā)工作與Ann和Bill所提供的不完全相同。對(duì)于年齡更小的Susan和Harvey來(lái)說(shuō),他們收集和分發(fā)郵件的頻率比較少,而且偶爾會(huì)發(fā)生丟失信件的事情。
這樣,這一對(duì)堂兄妹Susan和Harvey提供了一套不同于Ann和Bill的服務(wù)(也就是說(shuō),服務(wù)模型不同)。打比方來(lái)說(shuō),正如一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)可以接受不同的傳輸層協(xié)議一樣,每一個(gè)協(xié)議為應(yīng)用程序提供不同的服務(wù)模型。
Ann和Bill所能提供的服務(wù)明顯受限于郵遞服務(wù)所提供的服務(wù)。例如,如果郵遞服務(wù)并不提供在兩所房子之間傳遞郵件所需要的最大時(shí)限(如3天),那么Ann和Bill也就不能保證各個(gè)堂兄妹之間的郵件的最大延遲。
同樣,傳輸層協(xié)議所提供的服務(wù)也通常受限于位于其下方的網(wǎng)絡(luò)層協(xié)議。如果網(wǎng)絡(luò)層協(xié)議不能提供主機(jī)之間傳送的PDU的延遲和帶寬保證,那么傳輸層協(xié)議也不能提供進(jìn)程之間傳送的消息的延遲和帶寬保證。