這一章是整個 AWS 筆記的網路地基。你在瀏覽器按下 Enter 的那一刻,資料被切成一個個「封包」寄往世界另一端——本章跟著這個封包走一趟,把 IP、Port、TCP/UDP、NAT 這些 AWS 筆記「直接拿來用」的詞一次補齊。讀完後再回去看 EC2(ch02)、負載平衡(ch03)、VPC(ch06)會順很多。
你在瀏覽器輸入網址按下 Enter,資料並不是「一整包」送出去的——它會被切成很多個封包(packet),像一箱貨拆成好幾個包裹分批寄送。既然是寄包裹,每個包裹上就必須寫「收件地址」和「寄件地址」,這個地址就是 IP 位址。
192.168.1.10。總共只有約 43 億個(32 bit),早就不夠全世界用了。2001:db8::1),數量多到幾乎用不完。考題看到「IPv4 位址不足」的解法之一就是啟用 IPv6。10.0.0.0/8(空間最大,企業與雲端最愛)172.16.0.0/12(172.16.x.x ~ 172.31.x.x)192.168.0.0/16(家用路由器最常見)10.0.0.0/16——VPC 是你的私有網路,理當從私有網段挑一塊來用,而 10.x 空間最大最好切。10.x.x.x、172.16~31.x.x、192.168.x.x 就是私有 IP——它自己出不了網,一定要靠 NAT 或 Internet Gateway 幫忙(見下方 NAT 卡)。IP 只能幫封包找到「那台機器」,但一台機器上往往同時跑很多服務——網頁伺服器、資料庫、SSH 遠端登入。封包到門口之後要進哪個房間?靠 Port(埠號)。
10.0.1.5:443 的意思是「10.0.1.5 這棟樓的 443 號房」。22 = SSH(遠端登入 Linux)80 = HTTP(未加密網頁)443 = HTTPS(加密網頁)3306 = MySQL、5432 = PostgreSQL、53 = DNS0.0.0.0/0」白話是「任何人都可以走 HTTPS 進來」;「允許 TCP 22 來自公司 IP」是「只有公司網路能 SSH 進來」。封包在網路上旅行時可能會遺失、也可能亂序抵達。TCP 和 UDP 是兩種不同的「寄送策略」,差別在願不願意為可靠性付出速度代價。
問題來了:私有 IP 在網際網路上沒人認得(大家都可以用 10.0.1.5,回信要寄給誰?),那 Private Subnet 裡的機器要怎麼下載系統更新?答案是 NAT(Network Address Translation,網路位址轉換)。
AWS 筆記裡「低延遲」「高吞吐」出現的頻率極高,但這兩個詞常被混用。用高速公路類比一次分清楚:
| 特性 | TCP | UDP |
|---|---|---|
| 類比 | 掛號信(要簽收) | 明信片(寄了就不管) |
| 建立連線 | 先三次握手確認對方在家 | 不握手,直接送 |
| 可靠性 | 掉包重傳、自動排序 | 掉了就掉了 |
| 速度/延遲 | 多了確認成本,稍慢 | 快、延遲低 |
| 典型用途 | 網頁、API、資料庫 | 視訊通話、遊戲、DNS 查詢 |
| AWS 對應 | ALB(L7 HTTP)底層也是 TCP | 需要 UDP → 只能選 NLB(L4) |
| 特性 | 公有 IP | 私有 IP | Elastic IP |
|---|---|---|---|
| 誰找得到 | 全網際網路 | 只有同一個內網(VPC 內) | 全網際網路 |
| 唯一性 | 全球唯一 | 各家內網可重複(10.x/172.16-31.x/192.168.x) | 全球唯一且綁定你的帳號 |
| EC2 停機再開 | 會換一個新的 | 不變 | 不變 |
| 典型用途 | Public Subnet 的 EC2 臨時對外 | VPC 內部溝通(一定有) | 對外 IP 不能變的服務(如 DNS 直指 IP) |
| Port | 服務 | 白話 | 哪裡會遇到 |
|---|---|---|---|
| 22 | SSH | 遠端登入 Linux 主機 | SG 開 22 給跳板機/自家 IP |
| 80 | HTTP | 未加密網頁 | ALB Listener、常設定轉導到 443 |
| 443 | HTTPS | 加密網頁(TLS) | 對外服務幾乎都開這個 |
| 3306 | MySQL | MySQL/Aurora 資料庫連線 | RDS 的 SG 只對 App 層開 3306 |
| 5432 | PostgreSQL | PostgreSQL 資料庫連線 | RDS for PostgreSQL |
| 53 | DNS | 網域名稱查詢(多走 UDP) | Route 53 的 53 就是這個 Port |
點擊卡片翻面查看答案,共 10 張。