iT邦幫忙

2023 iThome 鐵人賽

DAY 18
0

https://ithelp.ithome.com.tw/upload/images/20231002/201493624z7JsavXi8.png
假設今天小丸子和小玉要透過電話聊天,要怎麼樣他們才可以順利溝通?
除了要有實體的電話以外
當然是雙方得說著一樣的語言囉~~
如果今天網路上兩個裝置要來交換資料,光有實體線路的連接還不夠,也必須要透過相同的語言才可以,在電腦的世界裡這個相同的語言稱為「協定」(protocol)

專有名詞先報你知

▪ 數據包(Data Packet)

又叫「封包」,是資料傳輸的計量單位。 一個封包可以分成兩個部份:

  • 控制部分:也就是表頭資料(header),包含控制訊息與位址資訊
  • 資料部分:傳送的資料內容,也就是負載(payload)

我們可以將一個封包想像成一封信,表頭的資料相當於信封外的地址、寄件人、收件人等資訊,而封包內的資料則相當於信的內容。和信不同的是,有時候一個大封包可以分成多個小封包

▪ 區段

傳遞資料的單位,一個「區段」(segment) 可以承載非常多個位元組,而所承載的位元組個數,稱為資料長度(data length)。可將多次寫入的資料累積為一個區段 or 將資料切割為多個區段

▪ 頁框/訊框 (Frame)

OSI 模型中「資料連結層」的表頭 + 資料 + 表尾 (如果有的話),稱作訊框 (頁框),為此層的資料傳輸單位


▋OSI 模型(Open System interconnection Model)

https://ithelp.ithome.com.tw/upload/images/20231002/20149362m0WQDXeJrg.jpg
圖片來源

為了把網路設備以及協定加以管理和分類,「國際標準組織」(International Organization for Standardization,簡稱:ISO)訂定了「OSI 模型」,用以區分通訊系統和其使用的協定(protocol),一共定義了七層(如上圖)的架構

由最高層到最低層排列,每層都各有各的用途:

▪ 第七層:應用層(Applocation Layer)

跟使用者最接近的一層,負責接收來自使用者的訊息,之後再轉交給表達層來處裡 or 接收來自表達層的資料。「服務通訊協定」也是定義在這一層,其應用如電子郵件、全球資訊網(WWW)、網路電話、HTTP、DNS、SSH 等

▪ 第六層:表達層(Presentation Layer)

又稱「表現層」,負責將使用者的資訊標準化,包括資料格式、編碼等,如文字檔案的 ASCII 格式和 UTF-8 格式。以網路電話為例,使用者傳遞聲音訊息,「應用層」在接受到後,便會把訊息後傳給「表達層」,「表達層」再將資訊後加以編碼、壓縮甚至是加密等操作,最後把已經轉為標準格式的資訊傳遞給下一層 - 「交談層」

▪ 第五層:交談層(Session Layer)

又稱「會議層」,負責進行「對話」的建立、關閉、維護,可以理解為「建立對話的管道」,像是用 FaceTime 視訊時,需要同時傳輸畫面和聲音的資料,「交談層」在這時就會建立兩個不同的虛擬通道來做資料的傳輸。分類在「交談層」的通訊協定像是 RPC(Remote Procedure Call),用來負責建立傳輸不同類型的多媒體資料通道、SSL(Secure Socket Layer) 負責建立用來傳輸加密後的資料的通道等

▪ 第四層:傳輸層(Transport Layer)

提供上層「資料傳輸」更進一步的服務,包括多工(multiplexing)、流量控制、錯誤處理等。
傳輸的單位以「區段」(Segment)、「數據包」(Data Packet)為單位,換句話說「傳輸層」會把資料切割為數個「區段」、「數據包」傳給「網路層」,其大小可以由使用者自行決定,但考量傳輸效率,大小通常會把「網路層」或「資料連結層」納入考慮,進行最佳化設定。此層常見的通訊協定像是 TCP(Transmission Control Protocol)UDP(User Datagram Protocol)

▪ 第三層:網路層(Network Layer)

「網路層」(也有叫「網際網路層」、「網際層」」)主要負責「網路位址」的指定、「資料切割」、「路由」的決定。資料傳輸以「封包」為單位,其 header 裡必須包含「來源」和「目的地」的網路位址,當「網路層」接收到來自上層的資料時,他必須將資料進行切割,以符合下一層規範的資料大小限制。而當接收到來自下層的封包時,也須將封包的資料重組,才能送給上層。「網路層」常見的通訊協定包含 IPv4, IPv6

▪ 第二層:資料連結層(Data Link Layer)

「資料連結層」主要負責處理兩個實體線路間的資料傳遞(透過頁框)、「錯誤偵測和修正」、「多重存取」等。資料傳輸是以「頁框」(Frame)為單位。資料連結層中的資料包含「位址段」和「資料段」,通常這個「位址段」稱為「實體位址」或是「MAC位址」,只限在區域網路內使用;「資料段」則包含實際要傳輸的資料。常見的應用有:ATM

▪ 第一層: 實體層(Physical Layer)

「OSI 模型」中最低的一層,負責將來自「資料連結層」的資料頁框(Frame)轉換為「傳輸媒介」所能傳遞的電子訊號,可透過「電腦網路的架構(上):主從式架構、 同儕式架構、傳輸媒介」這篇中所介紹的「傳輸媒介」來進行傳輸。傳輸以「位元」為單位,像是 RJ-45 接頭、光纖、集線器、序列埠、並列埠等都是實體層的裝置


▋TCP/IP 模型(Transmission Control Protocol/ Intermet Protocol)

https://ithelp.ithome.com.tw/upload/images/20231002/20149362vDiNslThDs.png
圖片來源
在實務上,通訊協定若要按照「OSI 模型」的各層做區分,其實哪那麼容易區別,由於實務上的考量,就有了「TCP/IP 模型」的出現,在其目的主要在簡化並合併分類及降低管理通訊協定的複雜度。由 Vint Cerf 和 Robert Elliot Kahn 所共同設計(兩位目前都已經 80 歲以上了)

一共定義了四層(如上圖)的架構,由「最高層」到「最低層」排列如下:

▪ 第四層:應用層(Applocation Layer)

包含「OSI模型」裡定義的「應用層」、「表達層」、「交談層」,負責提供網路服務給應用程式

▪ 第三層:傳輸層(Transport Layer)

與「OSI模型」裡的「傳輸層」類似,負責分段排序、錯誤控制、流量控制等工作

▪ 第二層:網路層(Network Layer)

與「OSI模型」裡的「網路層」類似,負責定址和路由等工作,常見的通訊協定有IP(Internet Protocol)

▪ 第一層:網路存取層(Network Access Layer)

又稱「連結層」or「網路介面層」,包含「OSI模型」裡定義的「資料連結層」、「實體層」,負責與硬體溝通,在主機和網路之間交換數據。此層支援所有標準的通訊協定

目前網際網路的的通訊協定大部分都是基於「TCP/IP 模型」所設計,因為它好管理,區別也比較容易。此外,各個層級所負責的工作跟「OSI模型」其實差不多,所以這裡就不多解釋了!

▋總結

https://ithelp.ithome.com.tw/upload/images/20231002/20149362r5IxvlUWez.jpg
網路資料的傳送都是從模型中的「最高層」開始傳送,經過層層的封裝後,最後才得以將「封裝」完成的訊息,透過實際的網路傳輸媒介進行傳送;而接收端在收到已封裝訊息後,會由「最下層」開始層層往上拆解,最終由負責的應用程式將訊息呈現給使用者

傳送:由最高層開始進行「封裝」
接收:由最低層開始拆「解封裝」

OSI 與 TCP/IP 模型,個人覺得較為抽象、難懂><,而且有些層級在做的事情真的頗像的!!維基百科上是有提到「OSI 模型」中的「表達層」、「交談層」後來被棄用,但目前好像也沒有看到其他文章和書上有提到,所以就先當他存在吧XD

如果對文章有什麼問題和建議,歡迎底下留言喔~/images/emoticon/emoticon41.gif

▋參考資料

  1. TCP/IP 四層架構 & OSI七層架構
  2. OSI 模型
  3. TCP/IP 協定簡介
  4. 網路概論

上一篇
Day 17 | 電腦網路的架構(上):主從式架構、 同儕式架構、傳輸媒介
下一篇
Day 19 | 網際網路及 IP 位址簡介
系列文
來場計概入門課吧X資訊人該了解的通識素養31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言