contributed by <kaeteyaruyo
>
Computer Networking
在本章當中,我們已經探討了不少東西!我們看過了組成網際網路的部份或整體的各式各樣的軟硬體。從網路的邊緣開始,我們介紹了終端系統和其上的一些應用程式,也介紹了跑在這些終端系統當中的傳輸服務。我們也介紹了連接層當中的一些技術,和物理層當中的傳輸媒介,特別是被應用在接取網路當中的那些媒介。接著我們進入到網路的更深層當中,也就是網路的核心,認識了封包交換和電路交換這兩種最基本的透過電信網路傳輸資料的方法,並探討了這兩種方法各自的優缺點。接著我們探討了跨國的網際網路適用什麼樣的結構,並了解到網際網路實質上就是一個網路的網路。我們發現到網際網路適合一個分層式的架構,由高階和低階的 ISP 組成,如此一來才能廣納上千上萬個小小的網路。
在這個簡介章節的第二個部份,我們探討了在電腦網路聯網的領域當中的幾個核心議題。首先,我們討探了封包交換網路當中的延遲、吞吐量還有封包遺失的原由。我們為了計算傳輸延遲、傳播延遲和佇列延遲以及吞吐量建立了幾個量化的模型,在這本書接下來的作業當中,我們都會持續沿用這些模型來進行延遲的計算。接著我們探討了協定分層以及網路服務模型,這些都是在電腦網路連網當中最關鍵的結構化原則,在本書之後的章節當中也都會持續用到。我們也概述了當今的網際網路中最盛行的幾個安全性攻擊。在簡介的最後,我們粗略了介紹了電腦網路史,作為本節的收尾。第一章本身,就可以視為是一個電腦網路的微課程了。
以上,在這個第一章裏面,我們確實已經涵蓋了一大堆這個學科的知識了!如果你已經有點頭昏腦脹,別擔心。在接下來的章節中,我們會再重新把上述所有的內容看過一次,並且講解的更加詳細(這是個保證,不是威脅 :) )。現階段,我們希望讀者在看完本章之後,能夠對組成一個網路的各個元件有一些似懂非懂的理解、對電腦網路的用詞有一些一知半解的掌握(你之後可以隨時回來翻這一章查詢),並且對學習更多有關電腦網路的知識有無止盡的渴求。這就是在這本書的接下來,我們所要面對的課題。
在你開始任何旅行之前,你都應該要先看一下地圖,才不會對旅程中的各個主要道路和分岔點感到陌生。而對我們即將要啟程的這趟旅途來說,我們最終的目的,是要徹底了解電腦網路的原理原則 (how, what and why),因此我們的地圖就是這本書的章節列表:
第二章到第六章這五個章節是本書核心。你應該有注意到,這五個章節圍繞在網際網路五層協定模型當中的上面四層。進一步來說,我們會先從最上面那一層,也就是應用層開始,然後一路往下講。之所以要這樣編排,是因為我們一旦了解了上層的應用是怎麼運作的,我們就自然而然會知道下層需要提供哪些功能來支援上層的需求。接著我們就可以依序檢驗在這樣的網路架構底下,有哪些可能的實作方法。也就是說,先從應用層開始講會讓我們有更多的動力去探索後面的內容。
本書的後半段,也就是第七章到第九章,則是聚焦到了現代電腦網路當中超級無敵重要的三個(某種程度上互相獨立的)議題上。在第七章,我們會介紹無線網路和行動網路,包含無線區域網路(包含 WiFi 和藍牙)、蜂巢式電信網路(包含 GSM, 3G 和 4G)以及網路的可移動性(包含在 IP 網路中以及 GSM 網路中)。第八章則是在介紹電腦網路的安全性問題,我們會先從網路安全以及加密法的根本開始看起,然後再來檢視一些基本的理論是如何被應用到廣大的網際網路環境當中。最後一章提到了多媒體連網,我們會介紹各種有關音訊和視訊的應用服務,像是網路電話、視訊會議,以及多媒體串流。我們也會學到封包交換網路是怎麼被設計成能夠為音訊視訊服務提供穩定的傳輸品質的。
Leonard Kleinrock 是加州大學洛杉磯分校 (UCLA) 的電腦科學教授。1969 年時,他在 UCLA 的電腦變成了網際網路的史上第一個節點。他在 1961 年發明的封包交換機制成了撐起整個網際網路的核心技術。他在紐約市立學院 (City College of New York, CCNY) 取得了學士學位,後來在麻省理工學院取得了電機工程的碩士與博士學位。
1959 年的時候我在 MIT 念博士班,我發現我周遭的同學幾乎都在做跟資訊理論和編碼定理有關的研究。當時在 MIT 有一個很優秀的學者,那就是 Claude Shannon,他是第一個開始研究資訊理論的人,而且他那時候已經解決了該領域當中許多重要的問題,剩下來的研究問題大多都很難,而且也不是那麼地重要。所以我就決定要往當時沒人想過的新領域去鑽研。你要知道,我在 MIT 的時候身邊有一大堆電腦,我很清楚不久之後,我們就會有需要把這些機器都連接起來好讓他們可以互相溝通。但是在當時,還沒有任何一個有效的方法可以把機器們給串起來,所以我就決定要來開發一個可以讓有效率且可靠的資料傳輸網路得以運作的技術。
我在 1951 年到 1957 年間,在 CCNY 的夜間部攻讀電機工程的學士學位。白天的時候,我在一間叫作 Photobell 的小工廠工作,這間工廠生產工業用電子零件,我一開始是做技師,後來變成工程師。在那邊工作的期間,我把數位化的技術引進了他們的生產線。基本上,我們當時使用了光電元件來偵測某些物體的存在(像是箱子啊、人啊之類的),而我們發現有一種叫作雙穩態複振器的電路可以幫助我們把這個偵測的過程給數位化。這個電路剛好是組成電腦的基本元件,後來變成了大家所熟知的正反器 (flip-flops),或是以白話來說,又叫作開關 (switch)。
坦白說,我當下根本沒有意識到這個事件的重要性。我們沒有像過去那些發明家一樣準備什麼具有歷史性意義的經典名句(像是塞謬爾·摩斯傳了 「上帝的傑作 (What hath God wrought.)」, 亞歷山大·貝爾傳了 「華生,過來這裡!我需要你。 (Watson, come here! I want you.)」,還有尼爾·阿姆斯壯說了 「這是一個人的一小步,卻是人類的一大步 (That’s one small step for a man, one giant leap for mankind.)」),他們好天才欸!他們很懂媒體和公關。但我們當時想做的就只是登入 SRI 的電腦而已(XDD)。所以我們就先打了一個 "L",這個字成功的傳送了,然後我們又打了 "o",也成功傳送了,接著打了 "g",結果就害 SRI 的主機當了!所以,我們傳的訊息就變成了史上最短,或許也最像預言的 (prophetic) 的一個 "Lo!",就像「真沒想到! (Lo and behold!)」裡的那個 Lo 一樣。
在那一年的早些時候,我在 UCLA 的新聞稿當中說道,只要這個網路可以正常的跑起來,到時候我們就有辦法用像是連接電網或是電話網路一樣的方式從家裡或是辦公室連上電腦。我當時想像的未來是,網際網路會是一個無所不在、隨時提供服務、隨時可以連接、任何人拿著任何裝置都可以從任何地方連上的一個東西,而且他會是隱形的。但我沒料到的是,我那 99 歲的老媽媽居然也能有機會用到網際網路這個東西,而她還真的用到了!
想像未來最簡單的部份應該是預測網路基礎建設本身會有哪些變化吧。我預料未來我們將會佈署數量可觀的遊牧型運算 (nomadic computing)、可移動式裝置還有智慧空間。確實,近年來輕量、價格低廉、高效能,又輕便的運算與通訊裝置已經逐漸普及(再加上網際網路也無所不在),這讓我們愈來愈像網路世界的游牧民族。遊牧型運算指的是讓使用者可以在四處移動的同時也能絲毫不受干擾地存取網際網路的一種技術,無論該使用者去什麼地方、拿什麼裝置來連線,都要可以連得上。未來真的難以想像的部份應該是預測應用與服務會有什麼樣的發展,畢竟這部份的創新一直都讓人驚奇的不得了(電子郵件、搜尋引擎技術、全球資訊網、部落格、社群網路,和使用者生成的影片、音樂和圖片等)。我想我們應該快要有機會看到新奇又創新的行動應用服務出現在我們的手提裝置上了。
下一步則是讓我們從陰暗的電子世界走向實體的智慧空間。我們的環境(像是辦公桌、牆壁、交通工具、手錶、皮帶,還有其他東西)都會因為科技的關係變得活靈活現,這些科技包含執行器 (actuators)、感應器、程式邏輯、運算資源、儲存系統、攝影機、麥克風、喇叭、顯示器和通訊裝置等。這些嵌入式的科技會讓我們的環境能夠提供任何我們需要的網路服務。當我走進一個房間的時候,這個房間就會知道我進房間了。我可以很自然地跟這個環境進行溝通,只要講英文就可以了;接著我下的指令會以在牆壁上或是我的眼鏡上顯示網頁的方式得到回覆,甚至會有語音或是全像投影之類的更厲害的東西。
如果把眼光放得更遠一點,我還可以預料到網路連網的未來會包含以下幾個額外的關鍵元素。我能預料到之後會有智慧化的軟體被佈署到網路上面,這些軟體的工作是探勘資料、根據資料進行動作、觀測趨勢,並且以動態的、俱適應性的方式來完成任務。我能預料到之後會有更大量的網路流量,但並非完全都是人類產生的,而是由這些嵌入式裝置和智慧化軟體所產生的。我能預料到會有很大的幾個自我組織的系統被用來控制這個廣大又快速的網路。我能預料到會有成千上萬的資訊能夠近乎即時地穿梭過這個網路,卻又同時經過大量的處理與過濾。網際網路基本上會成為蔓延全球的神經系統。我能預料到上述這些以及更多的新技術會在我們飛速度過 21 世紀的過程中應運而生。
(太會猜了吧 damn… 這是哪年的訪談ㄚ)
目前為止,我能想到的就是 MIT 的 Claude Shannon,他是一個傑出的研究者,他可以用一種非常直觀的方式將自己在數學上的想法關聯到現實世界中。他是我博士論文的口試委員之一。
網際網路還有它所啟發的一切是一片寬廣的全新領域,充滿了令人驚奇的挑戰。同學們有很多創新的機會,千萬不要被現有的科技給侷限住了,勇敢踏入其中、想像有哪些可能性,並付諸實行吧。