關於 IP 地址

小心我查你 IP。

各種 IP 地址

首先要知道 IP 地址可以分成:

  • 虛擬 IP 地址
  • 浮動 IP 地址
  • 固定 IP 地址

固定 IP 地址

假設有:

  • 電腦1 => 20.241.73.84
  • 電腦2 => 20.241.73.85
  • 電腦3 => 40.13.73.85

當這些 IP 地址「不會變」,而且可以「直接連到那台電腦」,就代表這是固定 IP 地址。

通常是出現在「伺服器」的情況,因為人家要連到你這邊的時候才有辦法知道正確的位置在哪裡。

備註:「直接連到那台電腦」的意思大概是指你可以直接跟那台電腦做互動。像 FTP 就是透過 IP 地址直接連到某台主機,然後你才可以把檔案存到那邊去這樣的概念。而世紀帝國這種需要靠 IP 地址來連線的概念大概也是這樣子吧(我想是這樣子)。

浮動 IP 地址

每一次連接網路的時候 IP 地址都不一樣:

  • 電腦1 => 20.241.73.84
  • 電腦1 => 20.241.73.85
  • 電腦1 => 40.13.73.85

這種 IP 地址「會變來變去」,但是別人還是可以透過這個 IP 地址來直接連到你的電腦。

為什麼要有浮動 IP?

1. 需求性

一般用戶其實不像伺服器一樣需要有固定 IP 地址這種需求,反正真的需要跟朋友連線的時候在貼 IP 地址給對方就好

2. 安全性

如果被駭客發現自己的 IP 地址,下一次連線的時候 IP 地址就不一樣了,比較能降低被攻擊的可能。

虛擬 IP 地址

首先你連到網路(wifi)的時候會產生一個虛擬 IP 地址,像這樣:

fakeip

所以這個時候就會分成「內網」跟「外網」的概念,像這樣:

ip

簡單來說,連接到「同個網路」的人就代表他們處在「同個內網」,在內網的人都會有一個 虛擬 IP 地址,像上面的 192.168.0.20。而外網的部分則是「數據機」,代表「實際對外公開的 IP」。

舉個例子,假設你連到 google,那 google 的伺服器會看到你顯示的 IP 地址是對外公開的那個 20.46.77.58,而不是 192.168.0.20

別人是沒有辦法透過虛擬 IP 地址來跟你連線的,只有處在同個內網(連同個 wifi)的人可以直接連接到彼此的電腦,像上面圖中的 電腦1 就可以連到 電腦2電腦2 可以連到 電腦3,以此類推。

另外還有一個很重要的觀念:虛擬 IP 地址是可以重複的

例如說你在你家內網的虛擬 IP 地址可能是 192.168.0.20,別人在他家內網的虛擬 IP 地址也可以是 192.168.0.20。所以「同個 IP 不代表是同一台電腦」,有可能只是不同內網裡的電腦罷了。

其實仔細想想也合理,畢竟每個人家都有一個真正對外公開的 IP 地址,所以內網裡面重複也沒什麼好奇怪的,反正別人又沒辦法透過虛擬 IP 地址來跟你連線。

那實際要跟別人連線怎麼做?

其實就是透過「數據機」來做到,你想連線到外面(例如 google)來取得網頁資料,那就透過數據機對外公開的 IP 地址來跟 google 的伺服器溝通,接著數據機在把資料丟回來給內網裡的電腦。

參考這個流程:

  1. 192.168.0.20(電腦1)跟 20.46.77.58(數據機)說「我想要造訪 google.com」
  2. 20.46.77.58(數據機)跟 172.217.160.110(google 主機)說「我想要造訪 google.com」
  3. google 主機把 response 傳給數據機
  4. 數據機再把 response 傳給電腦1

為什麼要有虛擬 IP 地址?有什麼好處?

1. 需求性

一般用戶其實大多數情況不需要有固定的 IP 地址,因為沒什麼機會用到(跟別人直接連線)。

2. 節省資源

電信商不用給每台電腦分配一個固定 IP 地址,只要分配給數據機就好。

你不知道的 hosts 設定檔 SOAP 另一種跟伺服器溝通的協議
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×