[转载] 计算机网络——OSI模型究竟忽悠了多少人
來源:http://blog.c114.net/html/60/250760-60744.html
?
不了解歷史的人,注定要重復(fù)歷史。
--J. Onions, RFC 1606
?
歷史上OSI模型和TCP/IP長達十幾年的競爭,現(xiàn)在已經(jīng)很少提及了。在今天的中國,各種標準陸續(xù)出臺,下一代互聯(lián)網(wǎng)、IPv6等成為業(yè)界關(guān)注的熱點,甚至也有宣稱IPv9互聯(lián)網(wǎng)在中國取得了成功。
不了解歷史的人,很容易重復(fù)歷史。我們能否在實踐檢驗之前就宣布它的成功、宣稱它代表未來的發(fā)展趨勢?本文回顧OSI誕生到消亡的這段歷史,希望能夠引發(fā)對未來互聯(lián)網(wǎng)體系結(jié)構(gòu)研究及相關(guān)問題的思考。
?
一、OSI的概要和現(xiàn)狀
OSI(Open System Interconnection)參考模型是國際標準化組織(ISO)制定的一個用于計算機或通信系統(tǒng)間互聯(lián)的標準體系,一般稱為OSI參考模型或七層模型。它是一個七層的、抽象的模型,不僅包括一系列抽象的術(shù)語或概念,也包括具體的協(xié)議。在國內(nèi)、國外所有關(guān)于計算機網(wǎng)絡(luò)的教科書中,如果不提OSI參考模 型,就仿佛沒有了“理論”指導(dǎo),相信絕大多數(shù)學(xué)過計算機網(wǎng)絡(luò)的人,都學(xué)過或多少聽說過。
在八十年代末、九十年代初,OSI的確有一統(tǒng)天下的架勢,主流的學(xué)術(shù)期刊無數(shù)的文章都給人們描繪了一個偉大的未來:“OSI模型及其協(xié)議將會統(tǒng)領(lǐng) 整個世界,從而把所有其他技術(shù)和標準都排除出局”[1]。人們將從IBM的SNA技術(shù)、APARNET的TCP/IP技術(shù)、Digital的DECnet 技術(shù)的奴役中解放出來,投入到OSI協(xié)議統(tǒng)一的天國。
然而,在90年代中后期,TCP/IP和OSI模型的競爭以互聯(lián)網(wǎng)的成功和OSI的失敗而結(jié)束了。我們今天廣泛使用的互聯(lián)網(wǎng)是基于TCP/IP模型,它卻是一個四層(有人也說是五層)模型。今天,無論在工程界還是學(xué)術(shù)界,我們只用OSI參考模型所定義的某些術(shù)語或概念進行交流,卻很少廠商或個人實 現(xiàn)或使用 OSI的協(xié)議,幾乎根本看不到了。
但是直到今天,有沒有人懷疑過,我們是不是被“忽悠”了?這個人人都敬若神明、卻又看不到的OSI模型,究竟是何方神圣設(shè)計的?
?
二、OSI七層模型的誕生和消亡
很多人質(zhì)疑過OSI參考模型。在國內(nèi)廣泛使用的《計算機網(wǎng)絡(luò)》教材中,Tanenbaum先生就總結(jié)了一些教訓(xùn)“糟糕的時機、糟糕的技術(shù)、糟糕的實現(xiàn)、糟糕的政策”[1],想必很多學(xué)生都讀過。然而有關(guān)OSI參考模型制定的故事,未必有很多人知道。以下來自William Stalling先生教材的參考資源網(wǎng)站[2],William Stalling是美國至少兩本優(yōu)秀教材的作者。這個故事在[3][4]中得到了驗證。
據(jù)William Stalling先生介紹,OSI的大部分設(shè)計工作實際上只是Honeywell Information System公司的一個小組完成的,小組的技術(shù)負責人是Charlie Bachman。70年代中期,這個小組主要是為了開發(fā)一些原型系統(tǒng)而成立的,主要關(guān)注數(shù)據(jù)庫系統(tǒng)的設(shè)計。當時,為了支持數(shù)據(jù)庫系統(tǒng)的訪問,需要一個結(jié)構(gòu)化的分布式通信系統(tǒng)體系結(jié)構(gòu)。于是這個小組研究了當時已存在的一些解決方案,其中包括IBM公司的SNA(System Network Architecture)、ARPANET(Internet的前身)的協(xié)議、以及為數(shù)據(jù)庫標準化而正在研究中的一些表示服務(wù) (presentation services)的相關(guān)概念,在1977年他們提出了一個七層的體系結(jié)構(gòu)模型,內(nèi)部稱之為分布式系統(tǒng)體系結(jié)構(gòu)(DSA)。
與此同時,1977年英國標準化協(xié)會(BSI)向國際標準化組織(ISO)提議,為了定義分布處理之間的通信基礎(chǔ)設(shè)施,需要一個標準的體系結(jié)構(gòu)。 結(jié)果, ISO就開放系統(tǒng)互聯(lián)(OSI)問題成立了一個專委會(TC 97, SC 16),指定由美國國家標準協(xié)會(ANSI)開發(fā)一個標準草案,在專委會第一次正式會議之前提交。
Charlie Bachman 參加了ANSI早期的會議,并提交了他的七層模型,這個模型就成了提交ISO專委會的唯一的一份草案。1978年3月,在ISO的OSI專委會在華盛頓召開的會議上,與會專家很快達成了共識,認為這個分層的體系結(jié)構(gòu)能夠滿足開放式系統(tǒng)的大多數(shù)需求,而且具有可擴展的能力,能夠滿足新的需求。于是,1978年發(fā)布了這個臨時版本,1979年稍作細化之后,成了最終的版本。因此,OSI模型和1977年DSA模型基本相同。
以下故事來源于普度大學(xué)著名教授Douglas E. Comer先生的個人主頁上的一篇文章“網(wǎng)絡(luò)分層和OSI模型起源的真實故事”。Douglas E. Comer先生質(zhì)疑:互聯(lián)網(wǎng)如今已經(jīng)取得了如此的成功,為什么仍然用OSI的七層模型而不是互聯(lián)網(wǎng)的五層來描述互聯(lián)網(wǎng)?
“研究人員開始回顧OSI七層參考模型的起源,琢磨這個笨重的、模糊不清的模型為什么如此的持久力,總是揮之不去。他們發(fā)現(xiàn)了一個令人吃驚的事 實。雖然我們早就知道,這個模型是一個小組的工作;但是我們不知道,那群人在一天深夜聚在酒吧里取笑美國的流行文化。他們在餐巾紙上胡亂寫下迪斯尼電影 “白雪公主和七個小矮人”中的七個小矮人的名字,有人開玩笑說,‘7’對網(wǎng)絡(luò)分層來講是一個很好的數(shù)字。第二天上午在標準化委員會的會議上,工作組傳看著餐巾紙,一致同意了他們前天夜里喝醉以后的重大發(fā)現(xiàn)。那天結(jié)束時,他們對七個層次重新命名(使之聽起來更象科學(xué)),于是基本模型誕生了。以下羅列了七層協(xié)議的名字和一些解釋:
層次 小矮人的名字?? OSI分層的名字 解釋
1?? Sleepy???? Physical(物理層) (略)
2?? Sneezy???? Link (鏈路層)???? (略).?
3?? Happy????? Network(網(wǎng)絡(luò)層) (略)..?
4?? Doc?????? Transport(傳輸層) (略)
5?? Dopey????? Session(會話層) (略)
6?? Bashful???? Presentation(表示層) (略)
7?? Grumpy???? Application (應(yīng)用層) (略)
這個故事的教訓(xùn):如果你是一個標準委員會的工程師,就不要和你的同事去喝酒——深夜里一個拙劣的笑話,有可能成為工業(yè)界幾十年都揮之不去的夢魘?!?
Douglas E. Comer來清華演講時,我還沒有看到這篇文章,沒有向他求證故事的真假,自認為其中有很多調(diào)侃的成份。但是美國許多知名學(xué)者對OSI的態(tài)度卻不需要過多求證了,OSI是一批沒有網(wǎng)絡(luò)設(shè)計和開發(fā)經(jīng)驗的人設(shè)計的,也基本可以得到證實。
“偉大”的OSI參考模型的思想在酒吧里誕生以后,確實“忽悠”了很多組織和研究者,其中包括美國聯(lián)邦政府。1990年美國通過國家標準和技術(shù)協(xié)會發(fā)布了聯(lián)邦信息處理標準(FIPS) 標準 FIPS 146-1,也就是GOSIP(Government Open Systems Interconnection Profile )。GOSIP定義了OSI協(xié)議的子集,要求聯(lián)邦政府機構(gòu)的信息系統(tǒng)都要遵循GOSIP協(xié)議進行通訊,并要求向政府部門供貨的設(shè)備廠商的必須能夠證明他們 的設(shè)備能夠與GOSIP兼容。然而,就像Douglas E. Comer先生在清華的演講中提到的,聯(lián)邦政府后來又允許已有的設(shè)備、緊急的項目采用TCP/IP協(xié)議或其他的協(xié)議,于是幾乎所有的項目都聲稱自己是緊急的。到1995年,聯(lián)邦政府又發(fā)布了POSIT(Profiles for Open Systems Internetworking Technologies) FIPS PUB 146-2[6],在第3條中聲明“修改FIPS 146-1,刪除聯(lián)邦機構(gòu)購買網(wǎng)絡(luò)產(chǎn)品和服務(wù)是必須遵守GOSIP協(xié)議的要求。”?
從此,除了少數(shù)軍方應(yīng)用使用X.500的郵件系統(tǒng)以外,OSI已經(jīng)名存實亡了。
?
三、OSI對Internet產(chǎn)生了“嚴重”影響嗎?
有人或許會說,設(shè)計者是誰并不能妨礙OSI模型的偉大,不能否定它對互聯(lián)網(wǎng)發(fā)展的指導(dǎo)意義。那么OSI七層模型對Internet的發(fā)展是否真的產(chǎn)生了“嚴重影響”呢?
至少我們知道,OSI的七層模型誕生之前,ARPANET已經(jīng)存在了。但是有人說,至少TCP/IP使用了OSI的許多術(shù)語,比如協(xié)議層的名字。我們再來看看Debby Koren博士在“OSI七層模型和Internet協(xié)議模型”一文中的說明[7]:
“許多教科書中Internet協(xié)議的描述中使用了OSI的許多術(shù)語,比如物理層和數(shù)據(jù)鏈路層。然而,在1981年之前并非如此。1981年 Jon Postel 等在計算機網(wǎng)絡(luò)(1981年第5期,pp261-271)上發(fā)表的文章中有一個圖表,我們今天所說的IP層(對應(yīng)OSI的第3層,即Network Layer),實際上是Internetwork Layer,它運行在Network Layer(對應(yīng)OSI的第2層,即Data Link Layer)之上。”?
就像周正龍的華南虎照片和年畫一樣,我們不難說明誰影響了誰。
當然不能否認,在互聯(lián)網(wǎng)領(lǐng)域,無論學(xué)術(shù)界還是工程界,我們已經(jīng)習慣了OSI的術(shù)語,用它交流一般也不會產(chǎn)生誤解。比如我們說一個工作在“第7層”的系統(tǒng),我們都知道是應(yīng)用層,也不必非要說它是TCP/IP的第5層。
?
四、互聯(lián)網(wǎng)設(shè)計的“指導(dǎo)原則”究竟是什么?
也許很多學(xué)生在學(xué)習互聯(lián)網(wǎng)的過程中,都聽說過互聯(lián)網(wǎng)設(shè)計的一些“設(shè)計原則”或是“指導(dǎo)思想”,比如:
- 無連接(Connectionless),區(qū)別于傳統(tǒng)電信網(wǎng)絡(luò)面向連接的概念,使用分組交換而不是電路交換。
- 端到端(End to End),在網(wǎng)絡(luò)層(IP層)以上,通信的端系統(tǒng)(計算機)應(yīng)該直接通信不需要中間設(shè)備,類似防火墻、地址轉(zhuǎn)換設(shè)備等中間盒子(Middle-Box)是不被看好的。
- 簡單性原則。。。。
- 分層思想等等。。。
這些設(shè)計原則的確為后來網(wǎng)絡(luò)技術(shù)的研究提供了很大幫助,也許是適應(yīng)當時互聯(lián)網(wǎng)發(fā)展的。然而這些原則從哪里來的?是來自美國政府(如國防部)的“最高指示”嗎?還是來自上帝的啟示?
我們看一下MIT 的David Clark教授1988年發(fā)表的這篇文章[8],我們可以看到,在互聯(lián)網(wǎng)的設(shè)計之初,很多設(shè)計目標、動機都是很模糊的,許多所謂的設(shè)計原則或設(shè)計思想,在互聯(lián)網(wǎng)發(fā)展過程中逐漸總結(jié)出來的。
例如,無連接的思想在一開始并沒有充分強調(diào),IP層和TCP層分層的思想,在一開始也不是當初計劃書的一部分。比如ICMP、OSPF是哪一層的協(xié)議? ICMP是封裝在IP分組中的,但是卻與IP是同一層次;OSPF有與TCP同等層次的協(xié)議號碼(protocol number),然而TCP/IP協(xié)議棧中“傳輸層”或者“第4層”的協(xié)議只有TCP和UDP,卻不包括OSPF。
我最近參加的IETF會議上,cisco 公司的資深專家Fred Baker介紹cisco 公司解決局域網(wǎng)安全問題的“IP Source Guard”技術(shù)時,不止一次提到,他們的解決方案的確違反了網(wǎng)絡(luò)分層的原則,是指他們在二層交換機上檢查了數(shù)據(jù)包的三層信息。他們沒有讓“分層原則”束縛了自己的手腳。
上學(xué)期,美國普渡大學(xué)的教授、互聯(lián)網(wǎng)先驅(qū)之一Douglas Comer 先生在這個會議室做了一次報告,題目是“Lessons Learned From The Internet Project” [9]。我選取其中的幾點介紹一下:
端到端的原則也沒有象當初想象的那么關(guān)鍵,目前一半以上的計算機通過網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)上網(wǎng)(即使用192.168.x.x這類的私有地址),而且防火墻也已經(jīng)被廣泛的接受,而這些,都打破了互聯(lián)網(wǎng)的端到端原則。
l 由多個網(wǎng)絡(luò)構(gòu)成的通信系統(tǒng)與一個龐大的單一網(wǎng)絡(luò)構(gòu)成的通信系統(tǒng)相比,更為靈活,并且更容易適應(yīng)技術(shù)的變化;
l 一個由智能終端系統(tǒng)和簡單的網(wǎng)絡(luò)構(gòu)成的網(wǎng)絡(luò),富于創(chuàng)新的潛力,但是有時較為脆弱 ;
l 制定一個有限的目標,構(gòu)建一個具體的系統(tǒng),或者解決一個具體的工程問題,比起一個宏偉的目標、復(fù)雜的系統(tǒng)更為現(xiàn)實 ;
l OSI七層參考模型表明,由一個專家委員會設(shè)計的東西,不會有什么好結(jié)果。
那么,互聯(lián)網(wǎng)的研究與開發(fā)有沒有“世界觀”、“方法論”一類的指導(dǎo)思想呢?1992年David Clark教授在IETF會議上總結(jié)了這樣一句話“We reject: kings, presidents, and voting. We believe in: rough consensus and running code(我們拒絕國王、總統(tǒng)和投票,我們相信大多數(shù)人的意見和運行的代碼)。”[10]這就是廣為流傳的“互聯(lián)網(wǎng)哲學(xué)(Internet Philosophy)”。
也許讓許多搞哲學(xué)的先生們大跌眼鏡,這算哪門子哲學(xué)?
?
五、總結(jié)與思考
本文只是我個人目前對OSI模型以及類似政府強制推行的“官方標準”的一點看法,因此我收集的關(guān)于OSI和TCP/IP歷史的資料并不全面。 OSI模型對于理解網(wǎng)絡(luò)協(xié)議也許有一些作用,但是我不認為它曾經(jīng)對網(wǎng)絡(luò)研究有過什么指導(dǎo),以后的研究更不應(yīng)該局限于OSI的框架之內(nèi)。
在技術(shù)研究領(lǐng)域中,我認為研究應(yīng)當以解決問題為目標,也就是“具體問題具體分析”,“實事求是”。一個“理論模型”,應(yīng)該來自于實踐,同時還應(yīng)該 接受實踐的檢驗,“實踐是檢驗真理的唯一標準”。一個由所謂的“精英”或“專家”委員會設(shè)計出來的東西,在未經(jīng)檢驗之前就宣布它是成功的,宣稱它代表了未 來的發(fā)展方向,是不能讓人信服的,它的結(jié)果往往和OSI和GOSIP一樣。
在我看來,在互聯(lián)網(wǎng)領(lǐng)域中美國的大忽悠也不比中國少。OSI是他們忽悠出來的,不僅忽悠了美國政府,而且忽悠了全世界。不過我也不認為,像有些學(xué) 者所說,美國人關(guān)起門來偷偷地研究TCP/IP,卻騙其他國家都走OSI的彎路,使得美國再互聯(lián)網(wǎng)領(lǐng)域占盡了先機。也許不少民族主義的“愛國者”會相信這 樣的說法,以證實美國的確有狼子野心。
然而,在一個言論自由、允許學(xué)術(shù)爭鳴的國度里,不怕有人忽悠,就像華南虎照片最終會被揭穿一樣。從OSI參考模型誕生之日起,就有一批人“We reject: kings, presidents, and voting. We believe in: rough consensus and running code”。最終大多數(shù)人還是會選擇他們能夠看到、用到、感受到的實際的東西,而不是想象中的烏托邦(OSI)。
然而在中國,一些學(xué)術(shù)權(quán)威引進了美國忽悠出來的東西之后,就不允許其他人提出反對的聲音了。更加可怕的是,這些忽悠出來的理論不經(jīng)檢驗就宣布它是真理,代表著未來的發(fā)展方向,于是我們就只有被忽悠的自由了。
最后用本文開頭的那句話結(jié)尾吧,這本是1994年愚人節(jié)發(fā)布的一個RFC(可是中國的學(xué)者居然把它實現(xiàn)了),這個文檔只有最后的這句話是嚴肅的: Those who do not study history, are doomed to repeat it(不研究歷史的人,注定要重復(fù)歷史)。
希望中國互聯(lián)網(wǎng)的研究,不要重復(fù)過去失敗的歷史。
?
參考文獻
[1]?? Tanenbaum《計算機網(wǎng)絡(luò)》第四版,清華大學(xué)出版社,pp39?
[2]? http://williamstallings.com/Extras/OSI.html。
[3]? http://www.cisco.com/web/about/a ... -2/book_review.html]?
[4]?? http://www.groklaw.net/articlebasic.php?story=20050219170121955]?
[5]? The True Story Of Network Layering And The Origin Of The OSI Model ,http://www.cs.purdue.edu/homes/dec/essay.network.layers.html ;
[6]? POSIT(Profiles for Open Systems Internetworking Technologies) FIPS PUB 146-2(http://www.itl.nist.gov/fipspubs/fip146-2.htm),
[7]? Debby Koren, The OSI Model - A Surviving Remnant of the OSI Protocol Stack, http://www2.rad.com/networks/introductory/layers/main.htm,?
[8]? David D. Clark, The Design Philosophy of the DARPA Internet Protocols, http://xys.ccert.edu.cn/referenc ... sign-philosophy.pdf?
[9]? Douglas Comer, Lessons Learned From The Internet Project, http://xys.ccert.edu.cn/reference/Comer_Internet_Lessons_Talk.pdf ;
[10]? David D. Clark, A Cloudy Crystal Ball--Visions of the Future, IETF, July 1992, http://xys.ccert.edu.cn/reference/future_ietf_92.pdf
轉(zhuǎn)載于:https://www.cnblogs.com/6DAN_HUST/archive/2012/03/24/2415148.html
總結(jié)
以上是生活随笔為你收集整理的[转载] 计算机网络——OSI模型究竟忽悠了多少人的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wince 6.0 嵌入式开发指导
- 下一篇: Linux下,安装配置Weblogic