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