iT邦幫忙

2025 iThome 鐵人賽

DAY 10
0

今天開始正式碰網路了!
之前那些資安基礎跟 Windows、Linux 指令都是暖身
真正會用在資安上的關鍵其實是網路
換句話說現在才是真正站在資安領域的大門前綱要敲門而已😂

room 1.Networking concepts

這間房間除了會介紹大家常常聽到的 IP adress、routing 以外還會介紹到所謂的 OSI model
這個 OSI model 是一種概念模型,由國際標準化組織提出網路的標準框架
現在就先從這個OSI model開始介紹

OSI model

開放式系統互相連線模型
Open Systems Interconnection Model

https://ithelp.ithome.com.tw/upload/images/20250912/20158215jiSUhifJZ8.png

  • OSI 模型總共有七層
  1. Physical(物理層)
    • 實體資料傳輸介質,例如:電纜、網路卡、電壓、訊號
  2. Data link(資料連結層)
    • 確保相鄰節點之間可靠的資料傳輸,處理錯誤檢測與校正
    • 使用 MAC 位址進行通訊
  3. Network(網路層)
    • 負責網路間的邏輯尋址與路由選擇
    • 使用 IP 位址來傳遞資料封包
  4. Transport(傳輸層)
    • 提供端對端通訊,處理資料分段、重組與錯誤控制
    • 典型協定有 TCP、UDP
  5. Session(會話層)
    • 建立、維護和同步應用之間的會話
    • 管理不同應用的對話狀態
  6. Presentation(表示層)
    • 負責資料格式轉換、加密與壓縮,讓不同系統能理解彼此的資料
  7. Application(應用層)
    • 直接為應用程式提供網路服務與介面
    • 常見協定:HTTP、FTP、SMTP、DNS

以上這七層最好是背下來,往後學習基本上都會被提到
除了這個OSI model外其實還有一個網路框架

TCP/IP-model

TCP/IP參考模型是一個抽象的分層模型,這個模型中所有的TCP/IP系列網路協定都歸類到4個抽象的「層」中
下面用一張圖來展示
https://ithelp.ithome.com.tw/upload/images/20250912/20158215YBIGCVKQ3d.png
可以看到這個模型對比上一個 OSI 總數少了三個
以下是層級變化

  • 7、6、5 → Application layer(應用層)
  • 4 → Transport layer(傳輸層)
  • 3 → Internet layer(網際網路層)
  • 1、2 → Link layer(連結層)

那為什麼要分成兩個模型?兩個模型差在哪?
簡單來說就是理論和實操的差別

  • OSI = 學術/理論 更容易用來「教學」和「理解」網路結構
  • TCP/IP = 工程/實作 現實世界大多用這個協定堆疊

可以說 OSI 是理論藍圖,TCP/IP 是實際建築
之後會提到的第幾層基本上都是再說 OSI 而非 TCP/IP

現在兩個網路框架大致講完了要來進入IP addtesses的部分

IP addtesses

Internet Protocol(IP) 它為連上網路的裝置分配一個獨特的「門牌號碼」,讓網路能夠準確地傳送和接收資料。

  • IPv4

    • 由四個 8-bit 組成,每個 8-bit 以十進位表示,範圍 0~255
    • 範例:192.168.1.1
    • 位址總數約 42 億個
  • IPv6

    • 由八組 16-bit 組成,以 16 進位表示,每組之間用冒號 : 分隔
    • 範例:2001:0db8:85a3:0000:0000:8a2e:0370:7334
    • 提供極大量的位址空間,解決 IPv4 枯竭問題
    • 支援自動配置(Stateless Address Autoconfiguration)和更多安全功能
  • Public IP addresses

    • 全球唯一,可在互聯網中被路由
    • 範例:8.8.8.8(Google DNS)、2001:4860:4860::8888(Google DNS IPv6)
    • 網站、伺服器通常需要 Public IP 才能被外界存取。
  • Private IP addresses

    • 僅在區域網路(LAN)內部使用,不會在全球互聯網上被路由
    • RFC 1918 定義的私有網段:
      • 10.0.0.0 – 10.255.255.255(10/8)
      • 172.16.0.0 – 172.31.255.255(172.16/12)
      • 192.168.0.0 – 192.168.255.255(192.168/16)
    • 家用 Wi-Fi 常見的 192.168.0.1 就是其中之一

小提醒
Private IP 要上網時,需要透過 NAT(Network Address Translation)轉換成 Public IP
這也是為什麼家裡明明有好幾台設備(手機、電腦),卻能共用一個對外的 IP 上網的原因

Routing

路由器就像你當地的郵局;你把包裹交給他們,他們就會知道如何投遞。

  • 路由器在第3層運行,檢查 IP 位址並將封包轉送到最佳網路(路由器),以便封包更接近其目的地

接下來是今天的最後一個主題TCP/UDP
主要是再寫就太長了😅

TCP/UDP

IP 協定使我們能夠存取網路上的目標主機;該主機由其 IP 位址標識
而我們需要一些協定來使聯網主機上的進程能夠相互通訊
有兩種傳輸協定可以實現這一點就是 UDPTCP

UDP

** UDP (User Datagram Protocol)**允許我們存取目標主機上的特定進程
特點:

  • 運行在transport layer (第四層)
  • 是一種簡單的無連接協議(Connectionless)意旨不會建立連線,直接傳送封包
  • 不可靠傳輸:不保證資料到達、順序正確或不重複
  • 速度快、延遲低,適合即時通訊或流媒體
  • 封包稱為 Datagram
  • 常用於: DNS 查詢、DHCP、SNMP、VoIP、影音串流
  • 有效連接port 1~65535
  • 沒有內建流量控制或擁塞控制

TCP

TCP (Transmission Control Protocol)是一種連線導向的傳輸協定,使用各種機制來確保在聯網主機上不同進程發送的資料可靠傳輸
特點:

  • 運行在transport layer (第四層)
  • 連線導向 (Connection-oriented):在傳送資料前需建立 TCP 連線(三次握手)
  • 可靠傳輸:確保資料完整到達、順序正確、不重複
  • 傳輸速度較慢,但資料安全可靠
  • 封包稱為 Segment
  • 常用於: HTTP / HTTPS、FTP、SSH、SMTP / IMAP / POP3
  • 流量控制 (Flow Control) 和擁塞控制 (Congestion Control)
  • 斷開連線時進行 四次握手 (Four-way handshake)
  • 支援全雙工通信(Full-duplex)

現在來講一下剛剛 TCP 提到的三次握手

three-way handshake

TCP連線透過所謂的三次握手建立,連接過程中會用到兩個標誌:SYN(同步)和 ACK(確認)

資料包發送方式:

  1. SYN 封包: 用戶端透過向伺服器傳送 SYN 封包來啟動連線。此資料包包含客戶端隨機選擇的初始序號
  2. SYN-ACK 封包: 伺服器使用 SYN-ACK 封包回應 SYN 封包,該封包新增了伺服器隨機選擇的初始序號
  3. ACK 封包: 當客戶端發送 ACK 封包以確認收到 SYN-ACK 封包時,三次握手就完成了
    簡單的示意圖如下
    https://ithelp.ithome.com.tw/upload/images/20250912/20158215uUGYWYHyzz.png

當然這只是簡單的示意說明,實際上背後的操作並沒有這麼簡單
至於為什麼要做這件事?
今天我要跟朋友打電話聊天也得先確定人家有空對吧,不然他在工作沒辦法接聽通話訊息不就是白做工😂
所以說我(Client)沒事先跟對方(server)確認過就傳訊息誰知道到底傳不傳的過去?

總之今天的筆記就先寫到這裡剩下的 Encapsulation、Telnet 明天再說
不然太長我自己也不想看🤣


上一篇
Day 09. Command Line
系列文
THM30天挑戰:從菜鳥到小駭客10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言