接下來的幾篇,我們來看看網路中的協議到底規範了哪些東西,為什麼要有這些規則?又有何優缺點?
首先來看看 TCP/IP 和 OSI 這兩種 Model 吧!第一個問題,Model 用來幹嘛?
我們將要談到的 TCP/IP 和 OSI 都是一種模型(Model),規範模型的其中一個原因是為了方便不同領域的人一起建造網路的基礎架構。
要從 Alice 家傳送一個訊息到 Bob 家,會經過很複雜的過程。
例如,從 Alice 送出訊息開始,如果訊息量大的話可能需要切割成數個封包、把封包轉成不同形式的訊號,走光纖的的被轉換成光訊號、走 Wi-Fi 的則調變成無線電波。
*訊息傳遞
途中經過的節點,也不是隨便走走而已,需要判斷哪條路走不通、哪個路徑比較快;如果中途資料掉了怎麼辦,要重新送還是乾脆放棄?
每個問題都是巨大的工程,都會需要各方面的專家在不同的技術上追求進步。訊號傳遞上要找到更好的傳遞材料、路徑選擇上要設計出更好的演算法、應用面也需要開發更方便的工具給使用者。
因此在規範模型時,切出不同的「層級(Layer)」就是很重要的事,只要協議好層級間的溝通方式(例如封包的格式談好,處理訊息的層級把訊息包成封包,丟給傳送封包的層級),大家就散會各自努力。
所謂 TCP/IP 和 OSI 就是眾多網路架構模型中的其中兩種。其中 TCP/IP 由兩位圖靈獎獲得者 Vint Cert 及 Robert Kahn 所開發,取名自 TCP(傳輸控制協定)及 IP(網際網路協定),是 Internet Protocol Suite(網際網路協議套組)的簡稱,因為 TCP 和 IP 是此套組中最早的兩個,就得此簡稱了。
而 OSI Model(Open System Interconnection Model 開放式系統互聯模型)則是由 ISO(國際標準化組織)提出。
在上世紀 90 年代左右開始,TCP/IP 和 OSI 兩種模型都已相應推出,TCP/IP 將模型分成四層,而 OSI 則將模型細分成七層。
但協議提出,就像是語言一樣,也要有人使用才能蓬勃發展。在 TCP/IP 較為實務的架構下,各層級支援的協定大多使用了 TCP/IP 的架構去建立,而 OSI 模型由於多為定義及抽象的標準,在十幾年後幾乎只在教科書上有出現,現實生活中支援 OSI 的其它協定則幾乎消聲匿跡。
接下來我們再來分別看 TCP/IP 及 OSI 分別定義了些什麼。