彭赟?劉志雄 曉莉?孫云蓮?査曉明 凌平
摘要:TCP/IP協(xié)議奠定了網(wǎng)絡(luò)通信的基石,也是“現(xiàn)代通信技術(shù)”這門課程的重要講授內(nèi)容。在TCP/IP協(xié)議體系結(jié)構(gòu)具體的分層劃分以及和OSI七層模型的對(duì)應(yīng)關(guān)系等若干細(xì)節(jié)上,國(guó)內(nèi)外教科書不盡相同,在實(shí)際教學(xué)中,也容易就此導(dǎo)致概念模糊。結(jié)合國(guó)內(nèi)外的主流網(wǎng)絡(luò)通信教材,列舉了目前的幾種主流TCP/IP協(xié)議分層結(jié)構(gòu),并針對(duì)此問(wèn)題提出了自己的看法。
關(guān)鍵詞:TCP/IP;體系結(jié)構(gòu);OSI模型;分層
作者簡(jiǎn)介:彭赟(1973-),女,湖北武漢人,武漢大學(xué)電氣工程學(xué)院;劉志雄(1973-),男,湖北武漢人,武漢大學(xué)電氣工程學(xué)院,講師。(湖北 武漢 430072)
基金項(xiàng)目:本文系武漢大學(xué)電氣工程學(xué)院2014年教改項(xiàng)目的研究結(jié)果。
中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-0079(2014)15-0038-02
現(xiàn)代生活已經(jīng)完全離不開(kāi)現(xiàn)代通信技術(shù),對(duì)于工科院校各專業(yè)的學(xué)生來(lái)講,各類通信基礎(chǔ)課程是專業(yè)必修或者重要選修課程之一。為了適應(yīng)寬口徑專業(yè)的培養(yǎng),為以后的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ),在武漢大學(xué)電氣工程學(xué)院培養(yǎng)計(jì)劃中,從2006年度起,就面向本科大二年級(jí)開(kāi)設(shè)了“現(xiàn)代通信技術(shù)”課程。
現(xiàn)代通信技術(shù)離不開(kāi)計(jì)算機(jī)網(wǎng)絡(luò),因此,在“現(xiàn)代通信技術(shù)”這門課程的教學(xué)中,計(jì)算機(jī)網(wǎng)絡(luò)通信部分由于其特殊性,在教學(xué)中占有十分重要的地位。網(wǎng)絡(luò)通信體系結(jié)構(gòu)一般指網(wǎng)絡(luò)通信協(xié)議分層以及各層的關(guān)系架構(gòu)。網(wǎng)絡(luò)通信涉及到不同的異構(gòu)網(wǎng)絡(luò)、不同廠家的設(shè)備互連,因此需要制訂大量的相關(guān)通信協(xié)議,通常這些協(xié)議按其內(nèi)容及作用被劃分為不同的層次。在實(shí)際開(kāi)發(fā)中,研究人員可以根據(jù)開(kāi)發(fā)的內(nèi)容,從某一個(gè)協(xié)議層開(kāi)始進(jìn)行開(kāi)發(fā),這樣就可以屏蔽低層協(xié)議,不用關(guān)注低層的軟件和相關(guān)硬件之間的差別,節(jié)省大量的開(kāi)發(fā)工作量,并可以進(jìn)一步保證應(yīng)用協(xié)議跟高層協(xié)議及軟件之間的互通。因此,從某種意義上說(shuō),網(wǎng)絡(luò)體系結(jié)構(gòu)事實(shí)上就是計(jì)算機(jī)通信網(wǎng)絡(luò)的軟硬件標(biāo)準(zhǔn)的重要組成及骨干部分。[1]在網(wǎng)絡(luò)通信教學(xué)中,分層的概念也非常重要,只有深入了解網(wǎng)絡(luò)通信分層的基本思想,才能對(duì)現(xiàn)代通信網(wǎng)絡(luò)有深入的理解。
在現(xiàn)代網(wǎng)絡(luò)通信的發(fā)展早期,由于各主流設(shè)備廠家的通信協(xié)議常存在不兼容的情況,這極大阻礙了網(wǎng)絡(luò)互聯(lián)通信的發(fā)展。早在1974年,系統(tǒng)網(wǎng)絡(luò)體系結(jié)構(gòu)SNA(System Network Architecture)就由IBM公司的研究人員率先提出,后來(lái)又經(jīng)過(guò)眾多專家及研究機(jī)構(gòu)的不斷補(bǔ)充完善,它成為當(dāng)時(shí)世界上廣泛使用的一種網(wǎng)絡(luò)體系結(jié)構(gòu)。[2]
網(wǎng)絡(luò)體系結(jié)構(gòu)的提出后,同一公司的產(chǎn)品容易互連成網(wǎng)。但是,不同公司的產(chǎn)品互連仍然存在障礙。隨著計(jì)算機(jī)通信網(wǎng)絡(luò)的飛速發(fā)展,網(wǎng)絡(luò)互連已經(jīng)成為迫切需要解決的問(wèn)題。因此,1983年,ISO(International Organization for Standards)組織提出了OSI(International Organization for Standards)七層模型,也就是著名的ISO 7498標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)中提出了一個(gè)經(jīng)典模型,其基本思想是把一個(gè)通信過(guò)程抽象為7層,從上到下依次是應(yīng)用層、表示層、會(huì)話層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層以及物理層。各層都指定了相應(yīng)的功能,除最高層和最低層外,各層都和上下層接口,為上層提供服務(wù)。值得注意的是,ISO組織的這個(gè)經(jīng)典七層模型的設(shè)計(jì)初衷是提供一個(gè)概念性的模型。[2]它試圖達(dá)到一個(gè)理想境界,即全世界的計(jì)算機(jī)網(wǎng)絡(luò)都遵循這一標(biāo)準(zhǔn)。該模型概念上較為清晰,其功能及層次劃分國(guó)內(nèi)外基本上沒(méi)有分歧,多年以來(lái),OSI模型的提出極大促進(jìn)了網(wǎng)絡(luò)通信的發(fā)展??梢哉f(shuō),今天在幾乎任何一本網(wǎng)絡(luò)通信教科書上都要講到這個(gè)模型,從某種意義上講,該模型也取得了巨大的成功。但是,在實(shí)際具體應(yīng)用中,由于該模型過(guò)于復(fù)雜等種種原因,并沒(méi)有得到大規(guī)模的推廣應(yīng)用。在后來(lái)的因特網(wǎng)的蓬勃發(fā)展中,TCP/IP協(xié)議得到了廣泛的應(yīng)用。
事實(shí)上,TCP/IP協(xié)議的提出要早于OSI七層模型。Vinton G.Cerf和Bob Kahn在1973年蘇塞科斯大學(xué)組織召開(kāi)了“國(guó)際網(wǎng)絡(luò)工作小組”提交了第一份TCP/IP協(xié)議草稿,提出Internet最初設(shè)想。之后,二人正式發(fā)表了TCP/IP協(xié)議。1983年,TCP/IP被Unix 4.2BSD系統(tǒng)采用。在當(dāng)時(shí),由于PC機(jī)尚未商業(yè)化和普及,Unix主機(jī)和終端占據(jù)主流地位。因此,隨著Unix系統(tǒng)在科研中的成功使用,TCP/IP協(xié)議也漸漸成為Unix主機(jī)操作系統(tǒng)的標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議。Internet是由ARPANET發(fā)展起來(lái)的,ARPANET發(fā)展于70年代初,它最初使用的是NCP(Network Control Protocol)協(xié)議,鑒于TCP/IP協(xié)議具有跨平臺(tái)、開(kāi)放、可以連接不同網(wǎng)絡(luò)的特性,ARPANET的開(kāi)發(fā)人員對(duì)TCP/IP協(xié)議進(jìn)行了一定的改進(jìn),將它作為ARPANET的通信規(guī)范,規(guī)定連入ARPANET的所有計(jì)算機(jī)都必須采用TCP/IP協(xié)議。隨著ARPANET逐漸發(fā)展成為Internet,TCP/IP協(xié)議就成為Internet的標(biāo)準(zhǔn)連接協(xié)議??梢哉f(shuō),正是由于TCP/IP協(xié)議的誕生和發(fā)展,因特網(wǎng)才能以驚人的速度蓬勃發(fā)展到今天的規(guī)模。鑒于TCP/IP協(xié)議族已經(jīng)成為互聯(lián)網(wǎng)的基石,因此,在現(xiàn)代通信課程的教學(xué)中,研究TCP/IP協(xié)議體系結(jié)構(gòu)的分層具有十分重要的意義。本文列舉了國(guó)內(nèi)外通信教材中具有代表性的幾種TCP/IP體系結(jié)構(gòu)層次劃分方法,以及其和OSI七層模型的各種對(duì)應(yīng)關(guān)系,并指出各種劃分方法的優(yōu)缺點(diǎn)。據(jù)查,目前國(guó)內(nèi)文獻(xiàn)鮮見(jiàn)本文類似研究。
一、TCP/IP協(xié)議的分層探究
OSI七層模型概念清晰,國(guó)內(nèi)外教材上沒(méi)有爭(zhēng)議。但是在TCP/IP協(xié)議體系結(jié)構(gòu)分層以及和OSI模型的對(duì)應(yīng)關(guān)系上,國(guó)內(nèi)外的教科書不盡相同。在TCP/IP協(xié)議分層上,通常使用四層模型或者五層模型。
1.四層架構(gòu)模型
國(guó)內(nèi)謝希仁編著的《計(jì)算機(jī)網(wǎng)絡(luò)》一書[2]中,認(rèn)為TCP/IP協(xié)議分別由應(yīng)用層、傳輸層、網(wǎng)際層、網(wǎng)絡(luò)接口層組成,是一個(gè)四層協(xié)議結(jié)構(gòu)。該分層和OSI七層模型的對(duì)應(yīng)關(guān)系如圖1所示:從下到上,最下層網(wǎng)絡(luò)接口層對(duì)應(yīng)的是OSI模型中的物理層和鏈路層,網(wǎng)際層對(duì)應(yīng)OSI模型的網(wǎng)絡(luò)層,運(yùn)輸層對(duì)應(yīng)OSI模型的運(yùn)輸層,應(yīng)用層則對(duì)應(yīng)OSI模型的上面三層(即應(yīng)用層、表示層、會(huì)話層)。目前,國(guó)內(nèi)的主流通信教科書中一般都采用這種劃分方法,如趙洪波主編的《現(xiàn)代通信技術(shù)概論》中[3]也采用這一分層結(jié)構(gòu)。在另一本國(guó)外知名網(wǎng)絡(luò)通信教材《Internetworking With TCP/IP》中,[4]未考慮TCP/IP分層和ISO模型的對(duì)應(yīng)關(guān)系,僅僅提及了TCP/IP協(xié)議架構(gòu)是個(gè)四層協(xié)議系統(tǒng),如圖2所示。
“清華大學(xué)計(jì)算機(jī)系列教材”之《計(jì)算機(jī)網(wǎng)絡(luò)與Internet》[1]一書由張堯?qū)W院士編著,書中TCP/IP協(xié)議也是分為四層,但各層次的劃分以及和ISO模型的對(duì)應(yīng)關(guān)系比較新穎。書中提出,OSI模型各層次與TCP/IP協(xié)議各層次的對(duì)應(yīng)關(guān)系如圖3所示??梢钥闯?,該層次劃分和圖1區(qū)別較大。在圖3中,TCP/IP協(xié)議的最底層稱為通信子網(wǎng)層,它對(duì)應(yīng)左邊OSI模型中的物理層、數(shù)據(jù)鏈路層和部分網(wǎng)絡(luò)層。而且,圖中TCP/IP的網(wǎng)絡(luò)層不僅僅對(duì)應(yīng)OSI模型的網(wǎng)絡(luò)層,還包含OSI模型運(yùn)輸層的部分功能,而其運(yùn)輸層也對(duì)應(yīng)著OSI模型的運(yùn)輸層和會(huì)話層的部分功能。TCP/IP協(xié)議的最高層即應(yīng)用層,對(duì)應(yīng)著OSI模型的應(yīng)用層、表示層和部分會(huì)話層。筆者以X.25協(xié)議為例來(lái)推測(cè)該劃分的依據(jù),X.25協(xié)議一般對(duì)應(yīng)的是OSI模型的低3層,即包含部分網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層及物理層,但在TCP/IP體系結(jié)構(gòu)分層模型中,它應(yīng)當(dāng)劃分在圖3中的通信子網(wǎng)層。這就是為什么該書將OSI模型的部分網(wǎng)絡(luò)層也劃入TCP/IP的通信子網(wǎng)層。至于其他層對(duì)應(yīng)關(guān)系和圖1中的劃分不同,估計(jì)也是基于類似的考慮。
OSI協(xié)議 TCP/IP協(xié)議
7 應(yīng)用層 4 應(yīng)用層
6 表示層
5 會(huì)話層
3 運(yùn)輸層
4 運(yùn)輸層
2 網(wǎng)絡(luò)層
3 網(wǎng)絡(luò)層
1 通信子網(wǎng)層
2 數(shù)據(jù)鏈路層
1 物理層
圖3 TCP/IP協(xié)議和OSI協(xié)議的對(duì)應(yīng)關(guān)系[1]
2.五層體系結(jié)構(gòu)
《Data Communication and Networking》[5]是國(guó)外使用較多的一個(gè)網(wǎng)絡(luò)通信類教材,國(guó)內(nèi)的影印本也經(jīng)常作為雙語(yǔ)教學(xué)教科書,該書由McGraw-Hill出版社出版。書中明確提出,因?yàn)門CP/IP協(xié)議的提出要早于OSI七層模型,所以TCP/IP協(xié)議不能和OSI模型精確的匹配。
該教材將TCP/IP協(xié)議架構(gòu)分為五層,分別是物理層、鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層,前四層和OSI的模型對(duì)應(yīng),應(yīng)用層這對(duì)應(yīng)OSI的會(huì)話層、表示層和應(yīng)用層。如圖4所示:
在另一本國(guó)外著名的計(jì)算機(jī)通信網(wǎng)絡(luò)教材《Data and Computer Communications》[6]中,又提出了不同的看法。該書中,TCP/IP體系結(jié)構(gòu)和OSI模型的對(duì)應(yīng)關(guān)系如圖5所示。圖中TCP/IP的5層模型和OSI的對(duì)應(yīng)關(guān)系按功能劃分,跟文獻(xiàn)[1]中的模型(見(jiàn)圖3)有些相似,比如TCP/IP分層架構(gòu)中的網(wǎng)絡(luò)接口層(Network access)對(duì)應(yīng)的是OSI的數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層的一部分。運(yùn)輸層(Transport)則對(duì)應(yīng)的是OSI的運(yùn)輸層和會(huì)話層(Session)的一部分。
OSI TCP/IP
Application Application
Presentation
Session
Transport
(host-to-host)
Transport
Internet
Network
Network
Data link
Physical Physical
圖5 OSI和TCP/IP的體系結(jié)構(gòu)對(duì)照[6]
同樣是五層模型,紀(jì)越峰編著的《現(xiàn)代通信原理》[7]中的劃分又不一樣。該書中層次劃分如圖6所示,TCP/IP體系結(jié)構(gòu)從上到下分為五層,分別是物理層、網(wǎng)絡(luò)接口層、互聯(lián)網(wǎng)層(網(wǎng)絡(luò)層)、傳輸層及應(yīng)用層。
二、結(jié)語(yǔ)
本文列舉了國(guó)內(nèi)外具有代表性的幾種TCP/IP體系結(jié)構(gòu)層次劃分以及和OSI七層模型的幾種對(duì)應(yīng)關(guān)系,由于教材編寫者的考慮角度不一樣,這些層次劃分及對(duì)應(yīng)關(guān)系不盡相同。造成這些區(qū)別的原因,筆者認(rèn)為主要有2點(diǎn):第一,正如文獻(xiàn)[2]中所述,從實(shí)質(zhì)上講,TCP/IP協(xié)議只有三層,即應(yīng)用層、運(yùn)輸層、網(wǎng)際層(網(wǎng)絡(luò)層),因?yàn)樽钕旅娴木W(wǎng)絡(luò)接口層并沒(méi)有實(shí)質(zhì)的具體內(nèi)容。第二,嚴(yán)格意義上講,網(wǎng)絡(luò)接口層只是一個(gè)接口,并不是一個(gè)層次。更重要的是,如文獻(xiàn)[5]所述,TCP/IP協(xié)議產(chǎn)生于OSI七層模型之前,它們不能精確匹配。因?yàn)楫?dāng)年參與設(shè)計(jì)開(kāi)發(fā)TCP/IP協(xié)議的先驅(qū)們首先考慮的是實(shí)用性,不可能去按照后來(lái)提出的OSI模型去考慮TCP/IP網(wǎng)絡(luò)體系結(jié)構(gòu)的分層。從嚴(yán)格學(xué)術(shù)意義上講,圖5中的分層模型對(duì)應(yīng)關(guān)系也許更精確,但是,在本科教學(xué)中,特別在非計(jì)算機(jī)專業(yè)的本科教學(xué)中,筆者覺(jué)得,圖2中的分層較為妥當(dāng),因?yàn)樗鼘?duì)應(yīng)關(guān)系明確,概念清晰,學(xué)生容易理解接受。如果是針對(duì)計(jì)算機(jī)專業(yè)的本科學(xué)生或者是高年級(jí)的研究生,按照?qǐng)D5中的模型講述TCP/IP協(xié)議的分層架構(gòu)是一個(gè)更好的選擇。不論按照哪個(gè)分層模型講述,在課堂上,更重要的是要讓學(xué)生領(lǐng)會(huì)協(xié)議分層的思想,即理解下列幾個(gè)問(wèn)題:為什么要分層;分層的依據(jù)是什么;各層有哪些協(xié)議。
參考文獻(xiàn):
[1]張堯?qū)W.計(jì)算機(jī)網(wǎng)絡(luò)與internet教程[M].第1版.北京:清華大學(xué)出版社,1999.
[2]謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)[M].第4版.北京:電子工業(yè)出版社,2003.
[3]趙宏波.現(xiàn)代通信技術(shù)概論[M].北京:北京郵電大學(xué)出版社,
2003.
[4]Douglas E .Comer.Internetworking with TCP/IP[M].趙剛,等,譯.北京:電子工業(yè)出版社,1998.
[5]Behrouz A.Forouzan.Data Communications And Networking(Fourth Edition)[M]. 影印版.New York:McGraw-Hill, 2007.
[6]William Stalling.Data and Computer Communications (Eighth Edition)[M]. New Jersey:Pearson Prentice Hall,2007.
[7]紀(jì)越峰.現(xiàn)代通信技術(shù)[M].第二版.北京:北京郵電大學(xué)出版社,2002.
注:劉志雄為本文通訊作者。
(責(zé)任編輯:王意琴)