我們現在所謂的「資訊高速公路」在30年前還是幾乎荒蕪一片,沒有太多的流量,也沒有任何設限或控管。
以當時的情況,學術機構與軍事研究單位發出的電子訊息要發生衝突的機會極為渺茫。不過Xerox公司著名的Palo Alto Research Center(PARC研究中心)的科學家們卻很清楚這種情況勢必會發生變革。
負責制訂出一套可連節電腦並在網路上相互交互訊息的任務就落在Xerox PARC研究員Bob Metcalfe身上,他在1973年的內部文件中就已經描繪了現今極為普及的乙太網路(Ethernet)協定。Metcalfe的乙太網路並非第一套網路協定,先前已有人開發出類似的東西,即使後來也陸續還有其他不同的協定出現。但後來卻是由乙太網路勝出,逐漸成了企業區域網路(LAN)技術的主角,並進而延伸至網路網路中,擊敗一長串Metcalfe口中所說的「網路大怪獸」(networking Godzillas)。
現年57歲的Metcalfe從MIT麻省理工學院取得電子工程與管理雙學位,並擁有應用數學碩士,後來一路唸到哈佛電腦科學博士。他完成博士論文(Packet Communication,現有精裝本出版,專門探討Arpanet與Aloha Network)的同年也正是他寫出乙太網路文件之時。現在與太太及兩個青少年兒女住在波士頓的Metcalfe在出席IDG論壇的Vortex電腦網路大會時接受CNET記者專訪。
首先談談現今的乙太網路跟30年前有何不同?
已經有很大的改變。目前的乙太網路跟我與David Boggs在1974年建立的東西已經全然不同,因此大家不免會問,到底現在的乙太網路是什麼?我有好幾個答案:現今的版本速度更快、可透過集線器與交換器連接,就這都是原始版本所沒有的,原始乙太網路會有封包衝突,但現在的版本幾乎沒有這種問題了。
現今的乙太網路技術非常多樣化,跟74年出現的技術幾乎沒有共通之處,不過大家還是管教它乙太網路,這是我的看法。
那當時的乙太網路對你而言是代表何種意思?
我比較幸運的是碰上一個大家都沒解決過的問題:如何將好幾部電腦連接起來?我算是當時少數幾個第一批投入解決此一問題的人,當時我們也開始建立第一台雷射印表機,你如何連結彼此的電腦,並連上印表機,然後再連上早期的網際網路Arpanet?
乙太網路是以封包(packets)為主,資料以封包形式傳送,而以太網路則是採分散式模式,無須擔心中間是否會有故障或無法擴充的問題。它是採分層協定架構,因此只需處理本身該負責的部分,而非其他協定堆疊所交付的工作,這在當時算是相當新穎的觀念,這也是它的優點之一。另一項優點是所謂的「隨機重送」(randomized retransmissions)。這是以夏威夷大學Norm Abramson所建立的Aloha網路為基礎,Aloha網路即是具有隨機重送的802.11前身。
可否解釋一下「隨機重送」?
這表示若傳輸在時間上有有重疊造成干擾,也就是我們所說的衝突,則他們會再稍後進行重新傳送。
Arpanet在1969年引進封包交換,Aloha則在1970年將封包交換引進無線電設頻中,因此在73年激盪出兩件大事,一是乙太網路的發明,另一個則是TCP/IP開始發展,這是史丹佛大學在1973年夏季開始進行的事,網際網路與乙太網路自此同步進展,目前,多數網際網路封包都是在乙太網路上傳送的,99.99%都是如此。
但網際網路,或其前身Arpanet都比你提出乙太網路架構的時間點來得早,而乙太網路首次實際部署也是好幾年之後的事,那在乙太網路出現之前,訊息都是怎麼傳送的?
網際網路原先有一套協定,專攻小型網路使用,那是全球性的,但主機數量較少,同時也非為了相互連網功能,因此TCP/IP的出現大幅擴展了網路的空間,並提供了建立一個大型網路的技術,讓LAN可與WAN(廣域網路)相互連接。
乙太網路後來如何勝過舊的協定與其他後來出現的其他版本?
我這次會在大會中演講「網路與大怪獸」(Ethernet vs. Godzilla),這意思是乙太網路曾面臨許多競爭對手的追殺,數量還真不少,最有名的就是IBM的token ring(記號環)網路,它不但是大怪獸,且最是凶猛無比,因為這個技術是由當時電腦產業的龍頭老大所主導。
記號環網路跟乙太網路有何不同?跟乙太網路相比有什麼優缺點?
記號環是由IBM開發出來的,這就已經是最大的先天優勢了,它的原理是記號(token)會從一個點依序傳送至下個點,因此電腦可以先後順序依次傳送訊息。乙太網路則不然,每個點都會立即傳送出去,並期望盡量免發生衝突。記號會下達傳遞訊息的許可指令,他們認為記號環最大優勢在於所謂的「決定論」(determinism),但我認為這反而是最大的敗筆。
怎麼說?
決定論的重點在於,他們可保證資料可在多少時間內傳遞出去。理論上,少了這種記號設定,乙太網路封包傳送似乎會沒完沒了,但實際上這比地球爆炸的機率還小,但IBM還是喜歡拿「決定論」大作文章。
若說記號環是靠著記號來運作,那乙太網路又是如何運作的呢?
任何想傳遞封包的點(station)會先在記憶體中形成封包,然後聆聽乙太(ether)媒介(指電纜、光纖或任何媒介),看看是否有其他傳輸在進行中。若已有其他傳輸在進行,它靜待其他傳輸先傳送完畢,然後才送出自己的封包,但有可能同時有多個點在等待傳送中,因此會有衝突發生,若纜線上有這種干擾出現,它會發出通知,也就是我們所謂的「衝突偵測」,一旦偵測到有衝突,該點會取消傳送,隨機挑個號碼,靜待幾個微秒(microsecond)再重新傳送。第二次傳送可延遲並避免多重衝突發生。(陳奭璁)
(下集Metcafe將繼續談論記號環這隻大怪獸的下場,以及更多乙太網路後續發展,敬請期待。)



