網路相關資訊整理

網路線接頭有分 568A / 568B 兩種,故有下列兩種接線
  • 568A - 568B 為跳線,用於 PC - PC 或 ADSL modem - PC
  • 568A - 568A 或 568B - 568B 為平行線,用於 PC - Hub
不過目前的 Hub 大部份都有自動跳線的功能,故跳線不太需要了


  • Hub 為共享媒體,所有的 Port 都會收到相同的資料,差別在使用或丟棄而己,而且會有碰撞問題
  • Switch Hub 為非共享媒體,會自動判斷來源與目的地才連線,所以不會浪費頻寬

  • ARP:記錄 MAC 與 IP 的關係
  • DNS:記錄 IP 與 URL 的關係
  • Router:負責 網段 與 網段 的溝通
  • NAT:負責 Public IP 與 Private IP 的轉換
  • Gateway:網段 對外的大門
  • Network
  • Netmask
  • 同網段封包傳輸是用 Broadcast 的方式
  • 跨網段則需要透過 Router,也就是 翻譯 的工作
  • Router 就好像會雙語的人才,負責翻譯收到的封包 (修改 IP 表頭)
  • 網路 TCP 傳輸是雙向的,也就是透過 三向交握
  • Default Gateway 要跟其它 PC 或裝置在相同網段內 (講相同的語言),如果在不同網段內不能溝通,那要如何翻譯呢?
  • DMZ:非軍事區域,指位於 Internet 與 LAN 兩個防火牆之間的中立區域,通常用來放置伺服器,當 Internet 或 LAN 任何一方被攻陷時,另一方仍能正常存取伺服器,故名非軍事區域。參考:9.1.4 防火牆的一般網路佈線示意


FTP 的工作模式

主動式
  • Client 端利用 TCP 三向交握向 Server 端 Port 21 建立 命令通道
  • Client 端利用命令通道告知 Server 端:Client 端使用的 資料通道 為 Port BB
  • Server 端透過 Port 20 主動 連接 Client 端 Port BB 後開始傳輸資料
如果 Client 端位於 LAN 時,則 Server 端要對 Client 端建立資料通道時,會被防火牆擋住。因為 Server 端只能看到防火牆的 IP,無法穿透。除非防火牆針對 Port BB 開啟 NAT 對應,但 Port BB 是隨機決定的,所以 NAT 設定會有困難

被動式
  • Client 端利用 TCP 三向交握向 Server 端 Port 21 設立 命令通道
  • Client 端利用命令通道告知 Server 端 PASV  的連線需求
  • Server 端告知 Client 端可以使用 Port PASV 來建立資料通道
  • Client 端透過 Port BB 連接 Server 端 Port PASV 後開始資料傳輸
被動式是由 Client 端向 Server 端發起資料通道的連線,所以不存在主動式的問題

參考:21.1.2 FTP 的運作流程與使用到的埠口

留言

這個網誌中的熱門文章

Linux 批次檔的寫法

【分享】如何顯示 Debug Message

[分享] Visual Studio 遠端偵錯