簡述TCP IP協(xié)議組件的發(fā)展歷程
說到網(wǎng)絡(luò),它的發(fā)展意義其實(shí)非常簡單。單一為了多個局域網(wǎng)也就是孤島的通信而進(jìn)行的鏈接。逐漸擴(kuò)大,從而形成了我們現(xiàn)在所使用的互聯(lián)網(wǎng)。本意上也是一種信息共享的理念。那么,我們現(xiàn)在就來談一下其中TCP IP協(xié)議組件的相關(guān)內(nèi)容。假設(shè)我們在一個局域網(wǎng)(LAN)如以太網(wǎng)中有兩臺主機(jī),二者都運(yùn)行FTP協(xié)議。
這里,我們列舉了一個FTP客戶程序和另一個FTP服務(wù)器程序。大多數(shù)的網(wǎng)絡(luò)應(yīng)用程序都被設(shè)計成客戶-服務(wù)器模式。服務(wù)器為客戶提供某種服務(wù),在本例中就是訪問服務(wù)器所在主機(jī)上的文件。在遠(yuǎn)程登錄應(yīng)用程序Telnet中,為客戶提供的服務(wù)是登錄到服務(wù)器主機(jī)上。
在同一層上,雙方都有對應(yīng)的一個或多個協(xié)議進(jìn)行通信。例如,某個協(xié)議允許TCP層進(jìn)行通信,而另一個協(xié)議則允許兩個IP層進(jìn)行通信。
我們注意到應(yīng)用程序通常是一個用戶進(jìn)程,而下三層則一般在(操作系統(tǒng))內(nèi)核中執(zhí)行。盡管這不是必需的,但通常都是這樣處理的,例如UNIX操作系統(tǒng)。
頂層與下三層之間還有另一個關(guān)鍵的不同之處。應(yīng)用層關(guān)心的是應(yīng)用程序的細(xì)節(jié),而不是數(shù)據(jù)在網(wǎng)絡(luò)中的傳輸活動。下三層對應(yīng)用程序一無所知,但它們要處理所有的通信細(xì)節(jié)。
FTP是一種應(yīng)用層協(xié)議,TCP是一種運(yùn)輸層協(xié)議,IP是一種網(wǎng)絡(luò)層協(xié)議,而以太網(wǎng)協(xié)議則應(yīng)用于鏈路層上。TCP IP協(xié)議組件是一組不同的協(xié)議組合在一起構(gòu)成的協(xié)議族。盡管通常稱該協(xié)議組件為TCP IP傳輸協(xié)議,但TCP和IP只是其中的兩種協(xié)議而已。(該協(xié)議組件的另一個名字是Internet協(xié)議族(Internet Protocol Suite)。
網(wǎng)絡(luò)接口層和應(yīng)用層的目的是很顯然的――前者處理有關(guān)通信媒介的細(xì)節(jié)(以太網(wǎng),令牌環(huán)網(wǎng)等),而后者處理某個特定的用戶應(yīng)用程序(FTP,Telnet等)。但是,從表面上看,網(wǎng)絡(luò)層和運(yùn)輸層之間的區(qū)別不那么明顯。為什么要把它們劃分成兩個不同的層次呢?為了理解這一點(diǎn),我們必須把視野從單個網(wǎng)絡(luò)擴(kuò)展到一組網(wǎng)絡(luò)。
在80年代,網(wǎng)絡(luò)不斷增長的原因之一是大家都意識到只有一臺孤立的計算機(jī)構(gòu)成的“孤島”沒有太大意義,于是就把這些孤立的系統(tǒng)組在一起形成網(wǎng)絡(luò)。隨著這樣的發(fā)展,到了90年代,我們又逐漸認(rèn)識到這種由單個網(wǎng)絡(luò)構(gòu)成的新的更大的“島嶼”同樣沒有太大的意義。于是,人們又把多個網(wǎng)絡(luò)連在一起形成一個網(wǎng)絡(luò)的網(wǎng)絡(luò),或稱作互連網(wǎng)(internet)。一個互連網(wǎng)就是一組通過相同協(xié)議族互連在一起的網(wǎng)絡(luò)。
構(gòu)造互連網(wǎng)最簡單的方法是把兩個或多個網(wǎng)絡(luò)通過路由器進(jìn)行連接。它是一種特殊的用于網(wǎng)絡(luò)互連的硬件盒。路由器的好處是為不同類型的物理網(wǎng)絡(luò)提供連接:以太網(wǎng),令牌環(huán)網(wǎng),點(diǎn)對點(diǎn)的鏈接,F(xiàn)DDI(光纖分布式數(shù)據(jù)接口)等等。
在TCP IP協(xié)議組件中,網(wǎng)絡(luò)層IP提供的是一種不可靠的服務(wù)。也就是說,它只是盡可能快地把分組從源結(jié)點(diǎn)送到目的結(jié)點(diǎn),但是并不提供任何可靠性保證。而另一方面,TCP在不可靠的IP層上提供了一個可靠的運(yùn)輸層。為了提供這種可靠的服務(wù),TCP采用了超時重傳,發(fā)送和接收端到端的確認(rèn)分組等機(jī)制。由此可見,運(yùn)輸層和網(wǎng)絡(luò)層分別負(fù)責(zé)不同的功能。
從定義上看,一個路由器具有兩個或多個網(wǎng)絡(luò)接口層(因?yàn)樗B接了兩個或多個網(wǎng)絡(luò))。任何具有多個接口的系統(tǒng)英文都稱作是多接口的multihomed。一個主機(jī)也可以有多個接口,但一般不稱作路由器, 除非它的功能只是單純地把分組從一個接口傳送到另一個接口。同樣,路由器并不一定指那種在互連網(wǎng)中用來轉(zhuǎn)發(fā)分組的特殊硬件盒。大多數(shù)的TCP IP實(shí)現(xiàn)也允許一個多接口主機(jī)來擔(dān)當(dāng)路由器的功能,但是主機(jī)為此必須進(jìn)行特殊的配置。在這種情況下,我們既可以稱該系統(tǒng)為主機(jī)(當(dāng)它運(yùn)行某一應(yīng)用程序時,如FTP或Telnet),也可以稱之為路由器(當(dāng)它把分組從一個網(wǎng)絡(luò)轉(zhuǎn)發(fā)到另一個網(wǎng)絡(luò)時)。我們在不同的場合下使用不同的術(shù)語。
互連網(wǎng)的目標(biāo)之一是在應(yīng)用程序中隱藏所有的物理細(xì)節(jié)。但是應(yīng)用層不能關(guān)心(也不關(guān)心)一臺主機(jī)是在以太網(wǎng)上,而另一臺主機(jī)是在令牌環(huán)網(wǎng)上,它們通過路由器進(jìn)行互連。隨著增加不同類型的物理網(wǎng)絡(luò),可能會有20個路由器,但應(yīng)用層仍然是一樣的。物理細(xì)節(jié)的隱藏使得互連網(wǎng)功能非常強(qiáng)大,也非常有用。
連接網(wǎng)絡(luò)的另一個途徑是使用網(wǎng)橋。網(wǎng)橋是在鏈路層上對網(wǎng)絡(luò)進(jìn)行互連,而路由器則是在網(wǎng)絡(luò)層上對網(wǎng)絡(luò)進(jìn)行互連。網(wǎng)橋使得多個局域網(wǎng)(LAN)組合在一起,這樣對上層來說就好像是一個局域網(wǎng)。