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