實踐往往是理論的先導,互聯網的產生也同樣來自實踐的需要。
1964年,弗吉尼亞第二屆信息系統科學大會期間將電腦網絡建設提到日程上之後(見第一章 ),問題也越來越明顯:大家都在使用不同的電腦,大家都在為自己開發軟件。許多時候,各自在做著類似的工作,卻很難知道別人在幹什麼,更難利用別人的成果。
看來,真的需要建立一個能夠共享資源的網了。
第一次握手
第一個將兩台不同的電腦連接起來的實驗是由T.麥瑞爾(Thomas Merrill)提出來的。和當時的許多電腦迷一樣,麥瑞爾的專業也不是電腦。
他是一個心理學家,曾經是利克裡德爾的學生。
麥瑞爾有一個自己的電腦公司。雖然這個公司的規模很小,卻起了一個大名字:「美洲電腦公司」(CCA:Computer Corporation of America)。
1965年,麥瑞爾代表「美洲電腦公司」交給DAPAR一份計劃,提議在馬薩諸塞州和加利弗尼亞州之間進行一次聯網實驗。
可是,儘管起了個大名字,「美洲電腦公司」畢竟還是一個小公司。DARPA在這些事情上可真是不含糊。由於對這個公司的能力不那麼放心,他們就建議麻省理工學院的林肯實驗室來主持這項實驗。
當時,DARPA的信息處理技術辦公室還沒有成立。L.羅伯茨(Larry Roberts)正好在林肯實驗室工作,沒有受到「三顧茅廬」的騷擾。負責這項實驗的任務理所當然地落到了羅伯茨的肩上。
他們通過只有2,400bps(每秒鐘傳送的比特數)的調製解調器,將麻省理工學院林肯實驗室的TX-2電腦和加利弗尼亞州SDC系統發展公司(System Development Corp.)的Q-32電腦連接到了一起。
這是人類第一次實現遠距離的兩種不同電腦之間的聯網!而且,系統使用的是「分時」(TimeSharing)的方式。
我們知道,在多用戶的電腦網絡環境中,雖然每一個用戶都「覺得」是和大家同時一起工作,可是,電腦本身並沒有三頭六臂,不可能做到真正「同時」處理不同的工作。用戶之所以覺得是同時,是因為電腦把用戶的任務分成了單個的小段,然後對這些小段分別進行處理。比如,有甲、乙、丙、丁4個用戶同時聯入一台主機,進行操作。這個時候,主機並不是先完成甲然後再依次完成乙、丙、丁。而是先完成甲的一小段,再分別完成乙、丙、丁的一小段,然後再完成甲、乙、丙、丁各自的下一小段。這就是所謂的「分時」。我們現在用電腦處理多個任務的時候,也都使用「分時」的方式。
儘管這次實驗按計劃完成了,並且也達到了預期的目的;可是,接下來的問題仍然不少。
首先是速度。由於線路長而不穩定,這種聯網方式的實際速度只有幾百波特率,哪怕只是傳送很小的一段信息,就得等上喝一杯咖啡的時間。羅伯茨回憶,當時有個傢伙用拳頭敲著桌子說:「要是這個網絡不能做到一秒鐘內作出反應,那就沒什麼用!」
網絡的可靠性也值得懷疑。由於使用的是「線路交換」的方式,整條線路被佔用,在直接從出發點把信號傳到目的地的過程中可能的信號損失會很大。當然,這也就從另一個角度證明了長距離傳送數據應該使用象接力賽那樣的分佈式「包交換」的網絡。
更大的問題還是究竟應該建立一個什麼樣的網。萬事開頭難,如果一開始選擇了錯誤的方向,今後再改正可就麻煩了。儘管在此之前已經有人提出了分佈式網絡的理論,不少人還是覺得應該使用由中央控制的線路交換網。要知道,電話網是線路交換網的典型,既然全國的電話網工作得很好,為什麼按這種方式建立的電腦網絡就不能好好地工作?他們甚至提議將網絡控制的中心放在奧馬哈,因為這個城市正好處於美國的地理中心。
如果說在早期的研究過程中,有誰對羅伯茨的電腦理論產生過很大影響的話,這個人就是L.Kleinrock。正如前面談到的,Kleinrock也是討論過「包交換」原理的人。1961年他和羅伯茨在一起工作的時候,就發表過關於「包交換」思想的文章(參見第二章 )。
在1966年10月的一次大會上,L.羅伯茨和T.麥瑞爾提交了他們的報告:「通向分時的電腦網絡」("Toward a Cooperative Network of Time-Shared Computers",Fall AFIPSConf.,Oct.1966)。介紹了他們在馬薩諸塞州和加利弗尼亞州之間實驗不同電腦的聯網的過程和結果。
在報告中,他們寫道,將不同的電腦連接到一起並沒有多大的困難。但是問題在於,這種連接是通過電話線完成的,如果是遠距離通信的話,信號將很難順利達到終點。因此必須使用包交換的理論。這個結論對於後來互聯網的發展,可以說是決定性的。
1966年,也是L.羅伯茨「被迫」到DARPA的信息處理技術辦公室任職的一年。
他抓住這個機會,積極準備建立一個真正的網。1967年10月在ACM蓋特林堡大會上,羅伯茨終於提交了關於建立ARPANET的計劃:「多電腦網絡和電腦間的通信」(「MultipleComputer Networks and Intercomputer Communication」,ACM Gatlinburg Conf.,October1967)。
在此之後,DARPA才決定將麻省理工學院林肯實驗室的TX-2電腦和加利弗尼亞州SDC系統發展公司(System Development Corp.)的Q-32電腦加上DARPA資助的其它幾個學校和研究機構的節點,連接成ARPANET,深入進行網絡互聯方面的實驗。同時也要求他們把對ARPANET設計的數據傳送速率從2,400bps增加到50,000bps。
小的是好的
1968年8月,L.羅伯茨代表國防部高級研究計劃署的信息處理技術辦公室正式提出了課題,要求設計並製造出網絡通信的關鍵設備──包交換裝置,他們把這種裝置稱為:
「接口信號處理機」(IMP:Interface Message Processor)。希望通過IMP來研究在小型的、交互連接式的電腦上進行通信的系統。這個課題的具體要求是製造出給4個節點用的4個IMP,實現這4個節點之間的聯網,並且設計出今後可以容納17個網站的電腦網絡。
為了廣泛地篩選適合做這項工作的公司,羅伯茨代表信息處理技術辦公室發出了140份「項目招標」。一下子引來了幾十家對這個項目感興趣的公司,收到的標書加起來有6英尺高。
第一份送達的標書當然來自IBM公司。當時的IBM公司已經實力雄厚,統治了大型電腦系統的市場。公司大了,提出的方案也大。他們的計劃是使用IBM生產的360MODEL 50型電腦來作為「接口信號處理機」。
這個方案給人的感覺簡直就是殺小雞要用宰牛刀了。儘管IBM電腦的性能是最好的,可是價格太高,即使象國防部這樣的買主也要三思而後行。況且接口信號處理機的需求量太大,每一個主機都要配上一台這種機器。要是都用MODEL 50的話,代價也實在太大了。所以,即使是IBM公司的人,也都認為用他們的方案只能做實驗,並沒有實際使用意義。
AT&T的觀點也和IBM一樣,認為批量生產這種接口信號處理機並且用來組建一個分佈式的網絡,雖然想法很美好,但是不現實。至少,你沒有那麼多的錢來做這件事。
可是,在羅伯茨看來,還有另一條路,就是用更加小型,便宜的電腦來實現信號交換功能。在這個意義上,也許DEC公司生產的小型機PCP-8是比較合適的選擇。
大多數公司的思路和羅伯茨是一樣的。然而,他們選中了Honeywell公司的小型機DDP-516。按照當時的標準,8萬美元一台的價格,已經是便宜得不能再便宜了。
經過招標大會後,DARPA一共選擇了12份標書。再經過推敲,很快又把範圍限定在4家之內。
出乎絕大多數人意料的是,1968年12月,馬薩諸塞州的BBN公司在Frank Heart領導下的一個小組正式得到了DARPA的「接口信號處理機」(IMP)項目。
當時,公司裡共有600餘名職工,而Frank小組(後來被稱為「IMP的傢伙們」)也就10來個人。這個定單無疑是不能再好的聖誕禮物了。
這家BBN公司有一個長長的名字:「Bolt Beranek and Newman」。一看便知,公司是由三個人創始的。Richard Bolt是個建築師和物理學家,而Leo Beranek則是個電氣工程師。他們二人本來在麻省理工學院工作,Bolt是學院聲學實驗室主任。第二次世界大戰後,二人各自做聲學方面的設計。
1948年,聯合國請Bolt為一座新的建築做聲學設計。Bolt一個人實在無法完成這麼大的工程,於是就找Beranek來一起做。一年以後,又邀請了Robert Newman加盟。於是,Bolt加上Beranek,再加上Newman,他們三個人就把「BBN」湊齊了。
公司的生意一直很好,並且在聲學領域頗有名氣。1963年,肯尼迪遇刺時請他們做過錄音磁帶的分析。最著名的還是後來1974年對水門事件尼克松交來的磁帶中18分半鐘的空白進行的分析。
顯然,BBN公司的特長在聲學領域,這和電腦以及電腦網絡並沒有多大關係。
然而,1957年,利克裡德爾去DARPA之前,曾經在BBN工作過。倒不是因為他的心理學知識對聲學研究有什麼作用,而是Beranek對他的「人-機交互作用」的想法感興趣。或許這些想法會對他們的聲學研究產生什麼影響。
可是,並不太懂電腦的利克裡德爾到BBN公司工作還不到一年,就提出要買一台電腦。於是,Beranek問利克裡德爾:
「買這台電腦要花多少錢?」
「大概2萬5千美元吧。」
「這可是不少的錢吶,你要這台電腦做什麼?」
「我也不知道。」
公司的三個負責人沒有一個人懂得電腦。但是,利克裡德爾對Beranek許願,公司今後有可能會因此而得到政府在電腦方面的定單。而Beranek後來回憶:「我決定,冒2萬5千美元的風險,為了一個未知的目的而買一台未知的機器,還是值得的。」
歷史終於證明,不管是利克裡德爾,還是Beranek都沒有錯。
「網絡」上的第一個「節點」
這個標題看起來就自相矛盾。既然是聯網就至少應該有兩台電腦,也就是要有兩個節點相連。一個節點還算是網絡嗎?
可是ARPANET的實驗確實是從第一個節點開始的。換句話說,ARPANET最早的實驗是從主機和接口信號處理機(IMP)的連接開始的。
這裡所謂接口信號處理機,實際上是網絡中連接在各個主機之間的電腦,其作用是在各主機之間進行數據格式和信息的轉換,同時還要進行差錯控制。所以,接口信號處理機實際上是連接主機和網絡的一個橋樑,是長期運行的網絡關鍵設備,不管主機是否工作,即使過了「河」,也不能拆橋。
我們現在的互聯網仍然要使用「接口信號處理機」,不過這已經不再是當時的「IMP」,而叫做「路由器」(Router)了。
DARPA的這個項目將使用四台小型機作為存儲-轉發的節點,並且選定使用HonewellDDP 516小型機來完成這一任務。而這些小型機正是起到了一種「接口信號處理機」的作用。
在此期間,最早提出包交換理論,並且曾經對羅伯茨產生過影響的Kleinrock已經到加州大學洛山磯分校工作。羅伯茨給了他一個合同,在加州大學建立一個由他主持的「網絡評測中心」(Network Measurement Center)。因此,建立ARPANET的工作,也圍繞加州大學洛山磯分校開展起來,「網絡評測中心」則被選來當作ARPANET的第一個節點。
1969年9月,BBN公司給加州大學洛杉機分校(UCLA)送來了接口信號處理機(IMP)。他們把這台Honeywell DDP 516小型機與加州大學洛杉機分校的SDS Sigma7型電腦連在了一起。打開電源開關,電腦就運行了起來。
這個插圖就是1969年9月畫的加州大學洛杉機分校(UCLA)的一台主機(Sigma 7)與一台IMP連接的情況。這個接口是Wingfield設計的。值得慶幸的是,我們現在還可以看到經歷了時代的滄桑之後的互聯網上的第一個節點的「圖紙」。
在BBN公司正式接到信息處理技術辦公室的合同之後,僅僅用了10個月,「網絡上的第一個節點」就安裝調試成功了。1969年10月,BBN公司第1890號報告寫道:
「在此期間,第一個接口信號處理機按期運到了加州大學洛山磯分校。機器本身裝有一個操作程序。這台機器成功地和洛山磯分校的主機(Sigma 7)連接了起來。」
「花了幾天的運輸時間,8月30日,星期天,終於把接口信號處理機運到了加州大學洛山磯分校。機器被連到洛山磯分校的Sigma 7主機和電話公司的設備上,並且在環繞(loop)電話線路中成功地進行了發送和接收信號的實驗。」
後來,Leonard Kleinrock也寫詩回憶當時的情形:
記得那是星期二,我激動得想哭起來。
所有的人都像兄弟那樣在互相指責!
大家來自ARPA,GTE和Honeywell,UCLA和ATT
就像世界末日即將來臨。
我們仔細地連接好,比特開始流動。
每一部分都工作良好-為什麼這樣我卻不知道。
到了星期三早晨,信號傳送正常。
剩下來的就是歷史-「包交換」誕生了!
(見《關注網絡-從ARPANET到INTERNET以及其他》第14頁)
「四通四達」
我們的成語可以把通暢說成「四通八達」,可是網絡就是網絡,四個節點只能和四個節點連通。最初的ARPANET就是在四個節點之間連通的,因此,也就是「四通四達」。
在網絡上的第一個節點安裝調試成功後不久,BBN公司又給斯坦福研究院(SRI)的XDS-940型電腦連上了接口信號處理機(IMP),由此完成了ARPANET上第二個節點的安裝工作。就在這個斯坦福研究院,Doug Engelbart主持著「擴展人類智力」的研究項目。同時,由伊麗莎白·Feinler主持的「網絡信息中心」也在斯坦福研究院,這個中心到後來一直維護著主機名錄、地址鏡像和所有「徵求意見稿(RFC)」(後面將談到)的目錄。
一個月後,斯坦福研究院的主機(XDS-940)和加州大學洛山磯分校的主機(Sigma 7)已經和各自的IMP連通起來。Kleinrock從自己的實驗室給斯坦福研究院發送了第一個主機對主機(host-to-host)的信號。
隨後,加州大學桑塔芭芭拉學院(UCSB)的IBM 360/75電腦以及鹽湖城猶他學院(UTAH)的DEC PDP-10型電腦也都分別聯上了接口信號處理機(IMP)。這兩個學院之間有圖形方面的合作項目:桑塔芭芭拉學院的Glen Culler和Burton Fried正在研究通過存儲圖像的方法來顯示數學方面圖形;
而猶他學院的Robert Taylor和Ivan Sutherland則研究如何在網絡上顯示三維圖形的問題。
從當時的草圖中我們也可以看出,實際上,當時真正的「互聯網」是在加州大學洛山磯分校(UCLA),加州大學桑塔芭芭拉學院(UCSB)和斯坦福研究院(SRI)之間完成的。而猶他學院則是通過斯坦福研究院和其他節點連接的。
就這樣,到了1969年底,按照DARPA的計劃,由4個節點構成的ARPANET正式投入運行。在1970年1月BBN公司第1928號報告中,我們可以看到:
「網絡擴展到4個節點……還設了一個從IMP到主機的長約2000英尺的遠距離接口。編了一個測試電話線的程序。在50kbps的線路中,傳送2萬個比特時,測到了一個錯誤。」
也許,當時的那種聯網在今天看來實在是太初級了。當時用作接口機的Honeywell DDP516型小型機的內存只有12K,而我們現在普遍認為已經過時的486電腦的內存至少應該是4M,也就是4000K。
當時的傳輸速度也是今天所無法忍受的。從加州大學到斯坦福研究院之間,信號以每秒鐘50Kbps的速度傳送著。而現在如果在美國建一個T1(1,544Kbps)或者T3的節點已經是很平常的事。
然而,無論如何,這四台電腦的連接已經具有了今天的互聯網的最基本的功能!大家可以在這個原始的網絡上進行各種實驗和研究,驗證自己的理論是否合理。有些不合理的設想也可以在實驗中得到糾正。
下面的插圖則向我們顯示了這四個節點在美國的位置:
在1970年1月BBN公司第1928號報告中同時還寫道:高級研究計劃署把1969年的合同截止日期延續到了1970年12月31日。當初合同的總金額是50萬美元,而實際執行的時候大約增加了一倍。1970年的合同則是2,013,492美元。至少還要提供另外8台接口信號處理機。
從此以後,ARPANET的規模開始不斷擴大。1971年4月,聯入ARPANET的節點(Node)已經有15個,而要管理的各大學的網站(Site或host)則有23個。這些電腦都是通過接口信號處理機(IMP)實現互相連接的。
初露鋒芒
為了讓更多的人瞭解並支持這一事業,1971年底,已經從林肯實驗室轉到國防高級研究計劃署工作的L.羅伯茨叫上在BBN公司的Bob Kahn,準備在1972年10月將要召開的ICCC國際電腦通信大會(International Computer Communication Conference)上公開展示他們的ARPANET。
Kahn花了將近一年的時間來做準備。參加準備這次實驗的還有學校的學生和BBN公司的職工將近20人。有的負責硬件的安裝、也有的負責軟件的調試,還有的人負責文案、資料。其中的Frank Heart是BBN公司對這個項目的負責人,當時還是本科生的JackHaverty後來成了Oracle公司網絡負責人。
實驗的主要過程是將接口信號處理機安裝在華盛頓的希爾頓飯店地下室中,通過這個接口信號處理機使這裡的電腦可以和ARPANET相連。然後請大家來使用ARPANET,演示在美國各地的ARPANET上40台電腦互聯。
參加這次大會的電腦網絡專家有大約30多人。其中有英國國家物理實驗室的DonaldDavies,正如前面介紹過的那樣,他的研究項目也同樣是包交換問題;法國的RemiDespres,他後來負責那邊的商業X.25網;Larry 羅伯茨和Barry Wessler後來領導著BBN公司的Telnet的設計;意大利的網絡專家Gesualdo LeMoli、瑞士皇家研究院的KjellSamuelson、英國倫敦大學的Peter Kirstein等人也參加了會議。
能夠同時向這麼多專家展示ARPANET是一次絕好的機會。工夫不負有心人,這次實驗取得了巨大的成功。尤其是對當初持懷疑態度的AT&T公司的人來說真是吃驚不小。
大家趁熱打鐵,在會議期間成立了「互聯網絡工作小組」(InterNetwork WorkingGroup),來協調這方面的研究。這個組織就是著名的INWG。由於主持這次演示的Kahn工作太忙,抽不開身,大家就選Vinton Cerf擔任了「互聯網絡工作小組」為期4年的第一任主席。而Vinton Cerf則因此被不少人稱為是「互聯網之父」。
如果從今天的角度來看,1972年確實是值得記住的一年。由於Kahn在「國際電腦通信大會」期間主持的這次演示取得成功,以及「互聯網絡工作小組」的成立,使ARPANET的網絡工作方式得到了確認。由此為ARPANET的發展打下了良好的基礎。同時,也就是在1972年,ARPANET上影響最大,使用最為頻繁的電子郵件也開始在用戶中間廣泛流傳。
|
|