網際網路筆記(未完)

這不是上課時記下來的,比較像是一份複習筆記,想到什麼寫什麼,也許會有缺漏,哪天決定重新聽課時可能會依照上課章節整理。

 

網路架構模型 

實體設備

功能

規範

OSI 七層架構

TCP/IP 四層架構

手機、平板、電腦

NAS

應用程式間通訊

HTTPSMTPFTP

Application Layer

應用層

Application Layer

應用層

 

Data 轉譯、加密、壓縮

JSONSSL/TLSUTF-8

Presentation Layer

表現層

同上

 

建立/終止網路連結

NetBIOSRPC

Session  Layer

會話層

同上

 

流量控制、錯誤控制

Data 分段 & 重組

TCPUDP

Transport Layer

傳輸層

Transport Layer

傳輸層

路由器

若在同個內網,會繞過

拆解&收封包

IPADR、路由協議

Network Layer

網路層

Internet Layer

網路互連層

Switch、網路介面卡

流量與錯誤控制

Ethernet(以太網)MAC

Frame Relay

Data Link Layer

資料連結層

Link Layer

網路存取層

網路介面卡、電纜

Hub

 

IEEE 802.3(以太網)

IEEE 802.11(無線局域網)

Physical Layer

實體層

同上

記得以前上課好像都著重講 Transport Layer 和 Internet Layer,所以先標重點色了。

我們可以把網路想像成郵政系統或運輸系統,從 user 端每往下傳一層,封包都需要重新被裝箱、貼託運單(header),而從實體層每往上傳一層,都需要拆開封包、並根據託運單的資訊把封包送到下一個目的地。 

為什麼會有兩種網路架構? 

被問「網路有幾層架構?」時,最好先問清楚對方要的是 OSI 還是 TCP/IP。

OSI 是由國際標準化組織 (ISO) 在 1980s 提出。為的是提供一個理論框架,讓各種不同廠商的網路設備與通訊協定能「對齊」在同一個結構裡。算是一種教科書上的理想模型,但實際上不按照它實作

TCP/IP 則是由美國國防部提出,時間上比 OSI 早,目的是讓不同電腦之間能夠可靠通訊,目前開發是以這個模型為主。 

 

L2:Network Layer

這一層的主要任務是 Addressing 與 Routing,確保資料能從來源端正確送達目的端。

  • 邏輯位址管理:提供全球唯一的 IP 位址 (IPv4 的 32 位元、IPv6 的 128 位元)
  • 路由選擇:決定資料應該走哪一條路徑才能抵達目的地
  • 分割與重組:IPv4 中可能有 Fragmentation (分片),但在 IPv6 中則移除至更高層處理
  • 封裝與傳遞:將 L4 (TCP/UDP) 的資料包裝在 IP 封包中,並交由 L2 實際傳送

IPv6 vs IPv4 

IPv4 與 IPv6 都是典型的 Network Layer 協定,因為 IPv4 的 address 快被用完,故出現了 IPv6 來解決此問題,同時也改進封包處理效率、安全性與自動化支援。 

 

IPv4

IPv6

位址

32-bit10 進位

128-bit16 進位

標頭長度

可變,20–60 Bytes

固定 40 Bytes

Fragmentation (分片)

由路由器與主機處理

僅來源主機處理

Checksum

移除(交由 L2L4 處理)

QoS 支援

DSCP/TOS,有限

Traffic Class + Flow Label,更完整

安全性

需額外協定 (IPsec 可選)

IPsec 強制支援

Auto-configuration

需要 DHCP 來分配 IP

支援 SLAAC,裝置可自行生成位址

Network Address Translation

需要

不用,每個裝置都有唯一地址

Multicast (多播)

有限

大幅改進效率

Anycast (任播)

沒有原生任播

支援常用於 CDNDNS Root Serve

封包結構解析 

這邊以 IPv6 為例,我用 title 對每個欄位的意思做了註解,把滑鼠移上去就可以知道該欄位的用途。 

IPv6 長度固定為 40 bytes。第一行橫排為 bit 數 (Version 為 0~4 bit),第一列為每 4 個 bytes 的計數。

  4 8 12 16 20 24 28 32
1 Version Traffic Class Flow Label
2 Payload Length Next Header Hop Limt
3 Source address
4
5
6
7 Destination address
8
9
10

 

L3:Transport Layer

TCP VS UDP

特性

TCP

UDP

傳輸方式

連線

無連線

可靠性

提供可靠傳輸:確認 (ACK)、重傳機制、錯誤檢測

僅錯誤檢測,無確認與重傳,不保證可靠性

順序性

保證資料按發送順序到達

不保證順序,可能亂序

速度

較慢(有連線建立、確認、流量控制等)

較快(開銷小,無連線)

封包大小

較大(包含序號、ACK、控制訊息等)

較小(僅必要的標頭資訊)

應用場景

HTTP/HTTPSSMTP/IMAP/POP3

FTPSSH

即時影音 (VoIP、直播)、線上遊戲、DNS 查詢、物聯網感測資料傳輸

流量控制

適合情境

需要可靠性與完整性的應用

需要低延遲與即時性的應用

簡單來說,TCP 為了更加可靠,付出了速度、封包大小等代價。 

TCP

RFC 793 定義,內容有點多,請參見 網際網路筆記:TCP 。

擁塞控制的部分請參見 網際網路筆記:TCP 擁塞控制

UDP

RFC 768 定義,內容請參見 網際網路筆記:UDP


L4:Application Layer

HTTP

網際網路筆記:HTTP method 


3GPP

請參見 網際網路筆記:3GPP

 

Reference 

什麼是 OSI 模型? 

維基百科:TCP