一起來聊聊 IP 地址、區域網、廣域網、IPV4 和 IPV6

小菠蘿測試筆記發表於2021-06-25

背景

  • 誰都知道 IP 地址是幹嘛的,但是它出現的前因後果你真的知道嗎?
  • 我覺得很有必要重新複習下計算機網路基礎知識,實在太太太重要了
  • 本篇文章素材均來自:https://www.bilibili.com/video/BV1DD4y127r4;這個 UP 感覺還是很不錯
  • by the way:有時候學習一個知識點,官網的確是最準確的, 但一定不是通俗易懂的,藉助大神做的一些動態圖和類比場景,能更快吸收一個知識點
  • 最佳學習方式:看一遍官方,看一遍別人做的學習視訊,再看一遍手動記錄乾貨,形成自己的知識體系

 

為什麼會出現 IP 地址

假設只有一臺電腦

  • 所有資料就會儲存在這臺電腦的硬碟上,和其他電腦本身不存在任何干系
  • 但一臺電腦能做的事情是非常少的,很可能會出現多臺電腦協同工作

 

假設有兩臺電腦

  • 兩臺電腦協同工作,那肯定會出現資料互動的需求,那就需要用中間介質(比如 U 盤)來交換
  • 這種方式既不是資料實時傳輸,也非常耗時耗力

 

線纜(網線)的出現

兩臺電腦之間可以通過網線來實時傳輸資料

 

但假設有很多臺電腦,那每兩臺電腦間都需要一條網線來連線,隨著裝置數量上升,需要的介面數量和線材數量也會越來越多,這是十分不合理的

  

交換機的出現

  • 電腦和電腦之間的連線不再是點對點連線
  • 而是全部都接入交換機,由交換機去分發來自不同裝置的資料

 

交換機的型別

  • 很多個介面的常規網路交換機
  • 伺服器
  • 家裡的路由器

交換機詳細介紹等後面的文章吧

 

非點對點連線的問題

  • 點對點連線時,兩臺電腦互動資料的是通過對應介面的,所以資料一定會傳送到目標主機上
  • 但是接入交換機之後,就不清楚資料傳送給哪個目標主機了
  • 類比:網購發貨,沒有填清楚收件人的地址,所以無法精準送貨

  

數字虛擬地址

  • 為了解決上述非點對點連線的問題,誕生了數字虛擬地址
  • 電腦傳送資料的時候,帶上這個數字虛擬地址,就能知道目標主機是誰了
  • 栗子:182.168.0.1 主機要傳送資料給 192.168.0.3 主機,就在資料的抬頭(包頭)上加上 192.168.0.1,這樣資料到達交換機後就能準確傳送給對應目標主機了

 

說明

  • 此處採用的交換機是三層交換機,具有 DHCP 分配 IP 的功能
  • MAC 地址為物理層面裝置識別
  • 資料傳輸依賴 TCP/UDP 

 

IP 地址來了

  • 其實數字虛擬地址就是 IP 地址
  • 類比:網購發貨的時候,傳送的物品就是資料,收件人地址可以理解為 IP 地址

 

區域網

每個電腦都擁有自己的 IP 以後,加上連線的交換機,就能組成一個小的可以用來交換資料的網路,這就是區域網

 

新加入一個區域網

需要把兩個區域網的交換機連線起來,組成一個更大的區域網 

 

隨著時間的推移,可能需要連線的區域網也會越來越大,那麼區域網之間又會通過一個新的交換機來連線

 

廣域網

  • 上面有說到,隨著區域網越來越多,這個網路也會變得越來越大,使用者只需要連線一個互動機可能就能訪問世界上絕大多數的裝置,這就是廣域網
  • 廣域網就是一個裝置數量超級龐大的區域網
  • 想要把世界各地的裝置連線起來並不容易
  • 需要在多個重要城市架設骨幹伺服器,還要在不同區域佈置分支伺服器,然後讓大家接入
  • 這需要大量的資金成本、後期維護
  • 做這種吃力不討好活的就是 ISP(網際網路服務提供商),在中國有聯通、電信、移動
  • 正需要資金成本和維護成本,所以你的手機流量和家用寬頻都是計費的

 

IPV 4

  • 由 32 位二進位制數構成
  • 理論上,可以提供 2^32 約 42.28 億 個地址

 

轉成十進位制

為了方便記憶和輸入,每 8 個二進位制數劃分為一組,然後轉換為十進位制數,變成常用的 4 個 0-255 數字

 

IP 地址的分類

一些地址有特殊的用途,所以被保留下來不允許被大眾使用,最後可能真正可用的 IP 地址只有 36.74 億個

 

全球 IPV4 地址不夠用

現在全球有75億個人,假設只有四分之一的人用網際網路,那麼也有 18 億人

 

但每個人的裝置數量可能有多個,比如手機+IPAD+電腦,如果都想要獨立的 IP 地址,那麼 IPV4 很明顯不夠用

 

IPV4 已經枯竭

  • 2011 年底,打包分配的 IPV4 地址已經枯竭了
  • 2020 年底,亞太網際網路資訊中心將釋出不出來一個新的地址
  • 除非有人返還舊的地址

 

NAT 網路地址轉換

為了解決 IPV4 地址枯竭的問題,引入了 NAT 地址轉換

上圖

  • 五臺電腦接入一個路由器
  • 路由器接入廣域網的 IP 是 6.6.6.6
  • 對於家用來說,路由器由於是接入廣域網並執行 NAT 的,所以路由器就是閘道器


傳輸場景,引入 NAT

  1. 假設電腦 A 需要訪問外部的 8.8.8.8 裝置
  2. 那麼就會將資料包傳送給路由器
  3. 路由器發現這個資料包是要傳送給 8.8.8.8 的,就會將 IP 對映成自己的 IP 6.6.6.6,並記錄成對映表 
  4. 最後,8.8.8.8 裝置接收到的資料包的 IP 是 6.6.6.6
  5. 這樣五臺電腦傳送出去的資料包,都能通過路由器轉換為 6.6.6.6,以這個 IP 去傳輸資料
  6. 就能實現五臺裝置共用一個 IP

 

接收方也可以作為閘道器

這樣它下面就會連線了很多臺裝置,那它們也可以共用 8.8.8.8 這個 IP

 

存在問題

  • 左側五臺裝置都是通過 6.6.6.6 來傳送資料包的,但是右側接收方並不知道傳送過來的資料包應該給哪臺裝置接收
  • 而 8.8.8.8 的下行資料傳送到 6.6.6.6 之後,也不知道給五臺裝置中的哪一臺來接收

 

埠對映

為了解決上面存在的問題,引入了埠對映

 

具體表現方式

  • 其實就是在 IP 後面加埠 6.6.6.6:8080 
  • 閘道器就會以不同的埠去和外網互動,然後把這些埠對映給區域網內的各個裝置
  • 傳輸資料包的時候,除了 IP 地址需要對映為閘道器 IP 之外,還需要將埠對映為閘道器的埠
  • 這樣就能實現共用一個 IP 還能精準傳送資料了(解決上面存在的問題),以實現 PAT 多對一對映了

其實就是因為 NAT 和埠對映的存在,才讓 IPV4 即使在不夠用的情況下還能堅持這麼久

 

公有 IP 和私有 IP

  • 前面有說到 A、B、C、D、E 五臺裝置共同連線一個路由器,那麼這五個裝置就是寄宿在 6.6.6.6 閘道器下的私有 IP
  • 閘道器所擁有的的可以直接用來在廣域網上互動資料的 6.6.6.6 就是公網IP

 

類比的栗子

  1. 比如你居住在一個名叫月亮灣的小區,具體地址是15號樓二單元101
  2. 假設全球只有一個小區叫這個名,那麼只要別人提起月亮灣就知道是哪個月亮灣了,這種能直接通過地址訪問,可以拿到大的層面上直接使用的地址就是公網 IP

  1. 而小區內部其實就是區域網,你只要在小區內說是15號樓二單元101的,別人就知道你在哪
  2. 假設隔壁小區也有15號樓二單元101,隔壁的隔壁小區也有15號樓二單元101,寄快遞的時候只寫15號樓二單元101不寫月亮灣,那麼快遞肯定不知道寄去哪裡
  3. 像這種只能在小區內(區域網內)使用的 IP 就是私有 IP,它只有連同一個區域網的其他裝置才會知道

 

IPV 6

能支援 3.4 * 10^ 38 個 IPV6 地址,這應該是多少億億億個了吧...給每個生物分配一個都夠用了

 

數字0-9,大寫字母A-F

 

ipv4 和 ipv6 是兩個完全不同的兩個協議

  • 它們之間不能直接互通,必須要藉助其他的裝置去做轉換和對映
  • 導致在短時間內,IPV6 替換 IPV4 是很困難的

 

會持續更新知識點

 

相關文章