讓我們舉個例子:
PC 1 (1.1.1.1)
|
|----- **Router 1** (IP 3.3.3.3) ------------- **Router 2** --- Google Server(8.8.8.8 for eg)
|
PC 2 (2.2.2.2)
在這種情況下,假設兩台 PC 均已通過 Google 驗證,且指派的 cookie 分別為 Cookie1 和 Cookie2。
現在,這兩台電腦同時開啟「gmail.com」。現在,當Google伺服器收到請求時,兩個資料包的資料包來源IP都是3.3.3.3(這就是我所知道的)。
因此,當路由器 1 收到來自 Google 伺服器的回覆封包時,它們的目標 IP 將是相同的(即 3.3.3.3)。那麼路由器如何知道封包是傳送給PC1還是PC2呢?
它可以將 PC1 的郵件發送到 PC2,但事實並非如此。如何?
答案1
TCP 連線包括來源連接埠和目標連接埠。來源連接埠與目標連接埠無關,並且可以(在 NAT 的情況下)用於追蹤 NAT 後面的多個設備,因為每個設備可能有不同的來源連接埠(即使沒有,路由器可以重寫它以便追蹤)