前言
本文是計算機網路概論筆記的第一篇文章,將會介紹簡單OSI七層網路架構,並概述每層的功能。
何謂OSI?
OSI的全名是Open System Interconnection Model,由國際標準化組織(ISO)提出,是一個網路的概念模型,用來描述不同裝置怎麼透過網路互相通訊,這個參考模型讓大家在設計的時候可以參考,也能比較好理解網路的概念,不過真的實作時也不一定會完全參考OSI模型。OSI模型總共有7層,每一層各司其職,組成了網路的運作。如下圖:
上圖中的左右兩端代表我們傳輸和接收資料的設備,比如手機、平板、電腦等等。資料在其中一端的最上層(Application Layer)產生後會層層向下傳,並在每一層加上標頭(header),標頭代表該層的資訊,比如目的地的IP地址等等,這個加上標頭的動作稱為Encapsulation。傳到實體層(Physical Layer)後,原本要產生的資料已經變成了0和1組合的位元,這些位元會被送到另一個使用者端,到了另外一端再往上傳,接著每經過一層就把該層對應的標頭拿掉,這個拿掉標頭的動作則稱為Decapsulation。最後資料到達接收端的最上層(Application Layer),接收端就可以看到資料了。Encapsulation 和 Decapsulation 的過程如下圖所示,其中 Hj 代表第j層的標頭:
如上圖所示,資料先從傳輸端的應用層產生,並開始加上標頭,比如用LINE傳訊息時,訊息會從手機的應用層產生,一路到實體層後再傳到接收端的實體層,最後才會跑到接收端的應用層,這時候別人就可以看到訊息了。
在開始介紹每一層架構之前,必須先介紹什麼是通訊協定(Protocol)。通訊協定是電腦之間互相通訊時共同遵守的規則,就像我們要講同一種語言才能溝通一樣,電腦在傳輸資料時也要求雙方都遵守通訊協定,否則的話電腦就不知道對方到底在講什麼了。舉例來說,瀏覽網站時就會用到http這個通訊協定。
以下簡單介紹每一層的架構:
1. 實體層(Physical Layer):
實體層是OSI架構的第一層,負責處理原始資料的傳輸,傳輸的媒介可以是有線的,比如透過同軸電纜或是光纖;也可以是無線的,比如透過電磁波。資料會以位元的形式傳送,比如以電位高或電位低代表1或0、以有光或沒光代表1或0等等。
2. 資料連結層(Data Link Layer):
資料連結層是OSI架構的第二層,負責處理兩個相鄰節點的傳輸。比如有時候資料要傳得很遠,中間可能會經過多個節點,資料連結層就要負責把資料從前一個節點傳到下一個節點。
3. 網路層(Network Layer):
網路層是OSI架構的第三層,負責將資料從出發點傳到目的地,並且考量各種因素(網路的壅塞、網路的走線等等)決定整條路線要怎麼走,以便更有效率的傳輸資料。
4. 傳輸層(Transport Layer):
傳輸層是OSI架構的第四層,負責針對不同的需求提供不同的服務,比如控制數據流量、數據傳輸等等。我們常聽到的TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)就是在傳輸層的通訊協定。
5. 會議層(Session Layer):
會議層是OSI架構的第五層,負責建立連線、管理連線和終止連線,決定傳送端和接收端傳送資料的開始與結束。
6. 展示層(Presentation Layer):
展示層是OSI架構的第六層,會把傳送端的應用層的資料轉換成接收端的應用層也相容的格式。比如傳送端使用UTF-8的編碼方式,而接收端用其他的編碼方式,那麼展示層就要負責讓傳送端的資料到了接收端還是可以被正確讀取。
7. 應用層(Application Layer):
OSI架構的最頂層,是和應用程式最靠近的一層。這層的協定有非常多種,比如常聽到的http、DNS、SMTP都是這層的協定。
本文非常簡單介紹了OSI架構,而本系列的接下來幾篇文章將會簡介乙太網路(Ethernet)、路由器(Router)、TCP/IP等等常見的網路名詞,希望讓大家對網路世界有更多的認識。