本節書摘來華章計算機《計算機網絡:自頂向下方法(原書第6版)》一書中的第1章 ,第1.7節,(美)james f.kurose keith w.ross 著 陳 鳴 譯 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。
1.1節到1.6節概述了計算機網絡和網際網路的技術。你現在應當有足夠的知識來給家人和朋友留下深刻印象了。然而,如果你真的想在下次雞尾酒會上一鳴驚人,你應當在你的演講中點綴上一些有關網際網路引人入勝的曆史轶聞[segaller 1998]。
計算機網絡和今天網際網路領域的開端可以回溯到20世紀60年代的早期,那時電話網是世界上占統治地位的通信網絡。1.3節講過,電話網使用電路交換将資訊從發送方傳輸到接收方,這種适當的選擇使得語音以一種恒定的速率在發送方和接收方之間傳輸。随着20世紀60年代早期計算機的重要性越來越大,以及分時計算機的出現,考慮如何将計算機連接配接在一起,并使它們能夠被地理上分布的使用者所共享的問題,也許就成了一件自然的事。這些使用者所産生的流量很可能具有“突發性”,即活動的間斷性,例如向遠端計算機發送一個指令,接着由于在等待應答或在對接收到的響應進行思考而有靜止的時間段。
全世界有3個研究組首先發明了分組交換,以作為電路交換的一種有效的、健壯的替代技術。這3個研究組互不知道其他人的工作[leiner 1998]。有關分組交換技術的首次公開發表出自leonard kleinrock[kleinrock 1961,kleinrock 1964],那時他是麻省理工學院(mit)的一名研究所學生。kleinrock使用排隊論,完美地展現了使用分組交換方法處理突發性流量源的有效性。1964年,蘭德公司的paul baran[baran 1964]已經開始研究分組交換的應用,即在軍用網絡上傳輸安全語音,同時在英國的國家實體實驗室(npl),donald davies和roger scantlebury也在研究分組交換技術。
mit、蘭德和npl的工作奠定了今天的網際網路的基礎。但是網際網路也經曆了很長的“邊建構邊示範(let’s-build-it-and-demonstrate-it)”的曆史,這可追溯到20世紀60年代早期。j.c.r.licklider[dec 1990]和lawrence roberts都是kleinrock在mit的同僚,他們轉而去上司美國進階研究計劃署(advanced research projects agency,arpa)的計算機科學計劃。roberts公布了一個号稱arpanet[roberts 1967]的總體計劃,它是第一個分組交換計算機網絡,是今天的公共網際網路的直接祖先。在1969年的勞動節,第一台分組交換機在kleinrock的監管下安裝在ucla(美國加州大學洛杉矶分校),其他3台分組交換機不久後安裝在斯坦福研究所(stanford research institute,sri)、美國加州大學聖巴巴拉分校(uc santa barbara)和猶他大學(university of utah)(參見圖1-26)。羽翼未豐的網際網路祖先到1969年年底有了4個結點。kleinrock回憶說,該網絡的最先應用是從ucla到sri執行遠端注冊,但卻導緻了該系統的崩潰[kleinrock 2004]。

到了1972年,arpanet已經成長為約15個結點,由robert kahn首次對它進行了公衆示範。在arpanet端系統之間的第一台主機到主機協定稱為網絡控制協定(ncp),就是此時完成的[rfc 001]。随着端到端協定的可供使用,這時能夠寫應用程式了。在1972年,ray tomlinson編寫了第一個電子郵件程式。
最初的arpanet是一個單一的、封閉的網絡。為了與arpanet的一台主機通信,一台主機必須與另一台arpanet imp實際相連。從20世紀70年代早期和中期,除arpanet之外的其他分組交換網絡問世:alohanet是一個微波網絡,它将夏威夷島上的大學[abramson 1970],以及darpa的分組衛星[rfc 829]和分組無線電網 [kahn 1987]連接配接到一起;telenet是bbn的商用分組交換網,基于arpanet技術;由louis pouzin領銜的cyclades是一個法國的分組交換網[think 2012];如tymnet和ge資訊服務網這樣的分時網絡,以及20世紀60年代後期和70年代初期的類似網絡[schwartz 1977];ibm的sna(1996~1974),它與arpanet并行工作[schwartz 1977]。
網絡的數目開始增加。時至今日人們看到,研制将網絡連接配接到一起的體系結構的時機已經成熟。網際網路絡的先驅性工作(得到了美國國防部進階研究計劃署(darpa)的支援)由vinton cerf和robert kahn [cerf 1974]完成,本質上就是建立一個網絡的網絡;術語網絡互聯(internetting)就是用來描述該項工作的。
這些體系結構的原則被具體表達在tcp協定中。然而,tcp的早期版本與今天的tcp差異很大。tcp的早期版本與資料可靠的順序傳遞相結合,經過具有轉發功能(今天該功能由ip執行)的端系統的重傳(仍是今天的tcp的一部分)。tcp的早期實驗以及認識到對諸如分組語音這樣的應用程式——一個不可靠、非流控制的端到端傳遞服務的重要性,導緻ip從tcp中分離出來,并研制了udp協定。我們今天看到的3個重要的網際網路協定——tcp、udp和ip,到20世紀70年代末在概念上已經完成。
除了darpa的網際網路相關研究外,許多其他重要的網絡活動也在進行中。在夏威夷,norman abramson正在研制alohanet,這是一個基于分組的無線電網絡,它使在夏威夷島上的多個遠端站點互相通信。aloha協定[abramson 1970]是第一個多路通路協定,允許地理上分布的使用者共享單一的廣播通信媒體(一個無線電頻率)。metcalfe和boggs基于abramson的多路通路協定,研制了基于有線的共享廣播網絡的以太網協定[metcalfe 1976]。令人感興趣的是,metcalfe和boggs的以太網協定是由連接配接多台pc、列印機和共享磁盤在一起的需求所激勵的[perkins 1994]。在pc革命和網絡爆炸的25年之前,metcalfe和boggs就奠定了今天pc lan的基礎。
到了20世紀70年代末,大約200台主機與arpanet相連。到了20世紀80年代,連到公共網際網路的主機數量達到100000台。20世紀80年代是聯網主機數量急劇增長的時期。
這種增長導緻了幾個建立計算機網絡将大學連接配接到一起的顯著成果。bitnet為位于美國東北部的幾個大學之間提供了電子郵件和檔案傳輸。建立了csnet(計算機科學網),以将還沒有接入arpanet的大學研究人員連接配接在一起。1986年,建立了nsfnet,為nsf資助的超級計算中心提供接入。nsfnet最初具有56kbps的主幹速率,到了20世紀80年代末,它的主幹運作速率是1.5mbps,并成為連接配接區域網絡的基本主幹。
在arpanet界中,許多今天的網際網路體系結構的最終部分逐漸變得清晰起來。1983年1月1日見證了tcp/ip作為arpanet的新的标準主機協定的正式部署,替代了ncp協定。從ncp到tcp/ip的遷移[rfc 801]是一個标志性事件,所有主機被要求在那天轉移到tcp/ip上去。在20世紀80年代後期,tcp進行了重要擴充,以實作基于主機的擁塞控制[jacobson 1988]。還研制出了dns(域名系統),用于把人可讀的網際網路名字(例如gaia.cs.umass.edu)映射到它的32比特ip位址[rfc 1034]。
在20世紀80年代初期,在arpanet(這絕大多數是美國努力的成果)發展的同時,法國啟動了minitel項目,這個雄心勃勃的計劃是讓資料網絡進入每個家庭。在法國政府的支援下,minitel系統由公共分組交換網絡(基于x.25協定集)、minitel伺服器和具有内置低速數據機的廉價終端組成。minitel于1984年取得了巨大的成功,當時法國政府向每個需要的住戶免費分發一個minitel終端。minitel站點包括免費站點(如電話目錄站點),以及一些專用站點。這些專用站點根據每個使用者的使用來收取費用。在20世紀90年代中期的鼎盛時期,minitel提供了20000多種服務,涵蓋從家庭銀行到特殊研究資料庫的廣泛範圍。minitel在大量法國家庭中存在了10年後,大多數美國人才聽說網際網路。
20世紀90年代出現了許多标志網際網路持續革命和很快到來的商業化的事件。作為網際網路祖先的arpanet已不複存在。1991年,nsfnet解除了對nsfnet用于商業目的的限制。nsfnet自身于1995年退役,這時網際網路主幹流量則由商業網際網路服務提供商負責承載。
然而,20世紀90年代的主要事件是網際網路(world wide web)應用程式的出現,它将網際網路帶入世界上數以百萬計的家庭和企業中。web作為一個平台,也引入和配置了數百個新的應用程式,其中包括搜尋(如谷歌和bing)、網際網路商務(如亞馬遜和ebay)和社交網絡(如臉譜),對這些應用程式我們今天已經習以為常了。
web是由tim berners-lee于1989~1991年期間在cern發明的[berners-lee 1989],最初的想法源于20世紀40年代vannevar bush [bush 1945]和20世紀60年代以來ted nelson[xanadu 2007]在超文本方面的早期工作。berners-lee和他的同僚研制了html、http、web伺服器和浏覽器的初始版本,這是web的4個關鍵部分。到了1993年末前後,大約有200台web伺服器在運作,而這些隻是正在出現的web伺服器的冰山一角。就在這個時候,幾個研究人員研制了具有gui接口的web浏覽器,其中的marc andreessen和jim clark一起創辦了mosaic communications公司,該公司就是後來的netscape通信公司[cusmano 1998;quittner 1998]。到了1995年,大學生們每天都在使用netscape浏覽器在web上沖浪。大約在這段時間,大大小小的公司都開始運作web伺服器,并在web上處理商務。1996年,微軟公司開始開發浏覽器,這導緻了netscape和微軟之間的浏覽器之戰,并以微軟公司在幾年後獲勝而告終[cusumano 1998]。
20世紀90年代的後5年是網際網路飛速增長和變革的時期,伴随着主流公司和數以千計的後起之秀創造網際網路産品和服務。到了2000年末,網際網路已經支援數百流行的應用程式,包括以下4種備受歡迎的應用程式:
電子郵件,包括附件和web可通路的電子郵件。
web,包括web浏覽和網際網路商務。
即時訊息(instant messaging),具有聯系人清單。
mp3的對等(peer-to-peer)檔案共享,由napster所領銜。
值得一提的是,前兩個應用程式出自專業研究機構,而後兩個卻由一些年輕創業者所發明。
1995~2001年,這段時間也是網際網路在金融市場上急轉突變的時期。在成為有利可圖的公司之前,數以百計的新興網際網路公司靠首次公開募股(ipo)并在股票市場上交易起家。許多公司身價數十億美元,卻沒有任何主要的收入管道。網際網路的股票在2000~2001年崩盤,導緻許多創業公司倒閉。不過,也有許多公司成為網際網路世界的大赢家,包括微軟、思科、雅虎、e-bay、谷歌和亞馬遜。
計算機網絡中的變革繼續以急促的步伐前進。所有的前沿研究正在取得進展,包括部署更快的路由器和在接入網和網絡主幹中提供更高的傳輸速率。但下列進展值得特别關注:
自2000年開始,我們見證了家庭寬帶網際網路接入的積極發展——不僅有電纜數據機和dsl,而且有光纖到戶,這些在1.2節中讨論過。這種高速網際網路為豐富的視訊應用創造了條件,包括使用者生成的視訊的分發(例如youtube),電影和電視節目流的點播(例如netflix)和多人視訊會議(例如skype)。
高速(54mbps及更高)公共wifi網絡和經過3g和4g蜂窩電話網的中速(高達幾mbps)網際網路接入越來越普及,不僅使在運動中保持持續連接配接成為可能,也産生了新型特定位置服務。2011年,與網際網路連接配接的無線裝置的數量超過了有線裝置的數量。高速無線接入為手持計算機(iphone、安卓手機、ipad等)的迅速出現提供了舞台,這些手持計算機具有對網際網路持續不斷和無拘束接入的優點。
諸如臉譜和推特(twitter)這樣的線上社交網絡已經在網際網路之上建構了巨大的人際網絡。許多網際網路使用者今天主要“活在”臉譜中。通過他們的api,線上社交網絡為新的聯網應用和分布式遊戲建立了平台。
如在1.3.3節中所讨論的,線上服務提供商如谷歌和微軟已經部署了自己的廣泛的專用網絡。該專用網絡不僅将它們分布在全球的資料中心連接配接在一起,而且通過直接與較低層isp對等連接配接,能夠盡可能繞過網際網路。是以,谷歌幾乎可以立即提供搜尋結果和電子郵件通路,仿佛它們的資料中心運作在自己的計算機之中一樣。
許多網際網路商務公司在“雲”(如亞馬遜的ec2、谷歌的應用引擎、微軟的azure)中運作它們的應用。許多公司和大學也已經将它們的網際網路應用(如電子郵件和web集合)遷移到雲中。雲公司不僅可以為應用提供可擴充的計算和存儲環境,也可為應用提供對其高性能專用網絡的隐含通路。