OSI模型
OSI(Open Systems Interconnection)模型是一個網絡架構模型,由七個層次組成。從底層到頂層分別是:實體層、資料連結層、網路層、傳輸層、會議層、展示層和應用層。每一層都有其專屬的任務和協議,用於確保網絡通信的順利進行。
-
實體層(Physical Layer): 這一層處理與硬件相關的事項,包括電壓、電流、編碼以及信號線路。
-
資料連結層(Data Link Layer): 主要負責創建和解除網絡連接。它使用MAC地址來確保IP資料單元能夠到達正確的目的地。
-
網路層(Network Layer): 這一層負責IP資料單元的路由和轉發,以及網絡地址(IP地址)的選擇和管理。
-
傳輸層(Transport Layer): 它提供了端到端的通信服務,可以保證IP資料單元按照順序和完整性來傳輸。
-
會議層(Session Layer): 負責在兩個通信系統之間建立、管理和終止會話(Session)。
-
展示層(Presentation Layer): 這一層處理數據的編碼和解碼,包括數據結構的轉換和數據的加密或解密。
-
應用層(Application Layer): 這是最接近用戶的一層,提供了多種應用服務,例如電子郵件(SMTP)、文件傳輸(FTP)和網頁瀏覽(HTTP)。
TCP/IP 模型
TCP/IP 模型是另一種網絡架構模型,通常分為四個層次:連接層、網際網路層、傳輸層和應用層。這個模型是網際網路的基礎,廣泛用於各種網絡通信。
-
網路存取層(Link Layer): 相當於OSI模型的實體層和資料連結層,負責物理和數據鏈路問題。
-
網際互聯層(Internet Layer): 負責IP地址的分配和IP資料單元的路由。
-
傳輸層(Transport Layer): 同OSI模型的傳輸層,負責確保IP資料單元的正確傳輸。
-
應用層(Application Layer): 包含各種用於數據交換、電子郵件、文件傳輸等的協議。
IP、TCP、UDP與DNS
IP
運作在網際網路層,負責定位和定義由多個連接網絡組成的網絡中的機器。
-
主要功能:
-
地址定位: 每一個接入網際網路的設備都會有一個唯一的IP地址,用以定位該設備。
-
路由和轉發: 當IP資料單元需要從一個網絡傳輸到另一個網絡時,IP協定負責找到最佳路徑並將IP資料單元轉發到正確的目的地。
-
分片和重組: 如果網絡間有最大傳輸單位(MTU)的不同,IP協定可以將大IP資料單元分片成較小的單位,並在達到目的地後重新組合。
-
錯誤處理: IP協定包括一些基本的錯誤檢測和報告機制,但不負責錯誤修復。
-
IP版本:
-
IPv4: 目前最廣泛使用的版本,但由於地址空間有限,逐漸被IPv6取代。
-
IPv6: 為了解決IPv4地址耗盡的問題,提供了更多的地址空間。
-
IPv4 vs IPv6 :
|
IPv4 |
IPv6 |
位址數量 |
2的32次方 |
2的128次方 |
長相 |
ex: 210.98.3.20 |
ex: 2001:0db8:86a3:08d3:1319:8a2e:0370:7344 |
安全性 |
IPSec預設不開啟 |
IPSec預設不開啟 |
QoS機制 |
表頭欄位不支援 |
表頭欄位支援 |
TCP(Transmission Control Protocol)
運作在傳輸層,為兩台電腦之間提供可靠的、有序的和無差錯的數據通信。
-
主要功能:
-
連接建立和終止: TCP使用三次握手(Three-Way Handshake)來建立一個連接,並用四次握手來終止連接。
-
數據傳輸: TCP確保數據以有序,無差錯的方式從源點傳送到目標點。
-
流量控制: 透過窗口機制,TCP能確保數據傳輸的流暢,防止網絡擁塞。
-
錯誤檢測與修復: TCP利用校驗和(Checksum)來檢測數據是否在傳輸過程中出現錯誤,並使用自動重傳(Automatic Retransmission)來修復丟失或出錯的IP資料單元。
-
可靠性: 能夠確保在網絡不穩定或IP資料單元丟失的情況下,數據仍能準確無誤地到達目標。
-
How?
-
建立連接: 通過三次握手來建立連接:
-
SYN1(同步): 客戶端發送一個SYN(synchronize)包到服務器,表示希望建立連接。
-
SYN2-ACK1(同步確認): 服務器收到SYN包後,返回一個SYN-ACK(synchronize-acknowledgment)包作為回應。
-
ACK2(確認): 客戶端再次發送一個ACK(acknowledgment)包給服務器,確認已經收到了SYN-ACK包。
-
數據傳輸: 數據被切割為小的IP資料單元,並按照特定的順序進行傳送。
-
確認機制: 每傳送一個IP資料單元,都需要接收端回傳一個確認(ACK)。
-
終止連接: 通過四次握手來終止連接。
UDP(User Datagram Protocol)
在傳輸層運作,較為簡單、快速,但不保證資料的可靠性(數據的順序或完整性)。
-
主要功能:
-
無連接: UDP不需要建立和終止連接,這意味著它能更快地開始傳輸數據。
-
數據傳輸: 將數據封裝成IP資料單元(Datagram)並直接發送,而不確保其順序或完整性。
-
低延遲: 由於沒有連接建立和數據確認過程,UDP通常具有比TCP更低的延遲。
-
簡單性: UDP協定的頭部信息較少,進而減少了數據報的大小和處理複雜性。
-
How?
-
封裝IP資料單元: 將應用層數據封裝成UDPIP資料單元。
-
發送IP資料單元: 直接將IP資料單元發送到目標地址,無需先建立連接。
-
接收IP資料單元: 目標端接收到IP資料單元後直接處理,不進行確認。
-
應用場景:
-
串流媒體服務: 如影片播放,實時性優於數據完整性。
-
VoIP(語音通過網際網路協定): 如Skype或Zoom,需要快速傳輸但可以容忍一些數據丟失。
-
線上遊戲: 高實時性要求。
-
DNS查詢: 通常只需要一個簡單的請求和應答。
DNS(Domain Name System)
在應用層運作,將人類可讀的網址轉換為 IP 地址。如www.example.com)轉換為相應的IP地址(如192.0.2.1)的分散式系統。
-
主要功能:
-
名稱解析: 將域名轉換成相應的IP地址。
-
反向解析: 將IP地址轉換回對應的域名。
-
緩存: 臨時存儲先前查詢的結果以提高效率。
-
負載平衡: 通過返回不同的IP地址,可以將用戶流量分散到不同的服務器。
-
How?
-
查詢開始: 當你嘗試訪問一個網站(例如www.example.com)時,瀏覽器會首先問問你的本地DNS服務器是否知道這個域名對應的IP地址。
-
轉發請求: 如果本地DNS服務器不知道,它會轉發這個請求到其他更高級的DNS服務器。
-
獲取地址: 最終,某個DNS服務器會知道這個IP地址,並將這個信息返回給發起請求的DNS服務器。
-
返回結果: 本地DNS服務器將這個IP地址返回給你的瀏覽器。
-
緩存: 這個域名和IP地址的對應關係會在本地DNS服務器上臨時儲存,以便下次更快地解析。
-
應用場景:
-
網站訪問: 當你在瀏覽器輸入網址時。
-
電子郵件傳送: 用於查找郵件服務器的IP地址。
-
網絡服務: 其他各種需要將域名轉換為IP地址的網絡服務。
小測驗
- OSI模型由多少層組成?
- 在TCP/IP模型中,哪一層負責IP地址?
- TCP和UDP主要運作在哪一層?
- DNS運作在OSI模型的哪一層?
- 簡述UDP的特點。
資料參考
https://vocus.cc/article/618c7853fd8978000108c4d5
https://hackmd.io/@Pang-Chang/BkQK8_tjF
https://www.canva.com/
https://www.ithome.com.tw/tech/92046