42 億個 IP 地址都被用光了?耽誤我網上衝浪么?

  • 2019 年 12 月 10 日
  • 筆記

欄目介紹

《SFKP • 電腦百科》是 SegmentFault 思否編輯部策劃的專題內容,面向在 21 世紀衝浪的每一位網友,進行電腦相關知識點的科普與開放討論。


這兩天有一種穿越了的感覺。

猶記得上大學的時候,教電腦原理的老師就告訴我們「IPv4 地址一共有 42.9 億個,隨著互聯網的發展現在已經耗盡了。」

這兩天怎麼又出現了「IPv4 正式用盡」的新聞?還是由負責英國、歐洲、中東和部分中亞地區互聯網資源分配的歐洲網路協調中心(RIPE NCC)宣布的。

通知的意思是最後的 IPv4 地址空間儲備池在 11 月 25 日 UTC + 1 15:35 完全耗盡,所有 43 億個 IPv4 地址已分配完畢。這意味著沒有更多的 IPv4 地址可以分配給 ISP 和其他大型網路基礎設施提供商。事實上,該過程自 80 年代以來就已預見到,頂級地址實際上已經在 2012 年耗盡。

從理論上講,IPv4 地址耗盡應該意味著不能將任何新的 IPv4 設備添加到 Internet,不過為什麼我們現在還有 IP 地址可以用?IPv4 到底沒沒沒?沒了我們怎麼辦?耽不耽誤我在網上衝浪?

這期的 「SFKP • 電腦百科」,我們就來「SFKP • IP 地址」。


啥是 IP?

名詞解析:IP(互聯網協議) 互聯網協議(英語:Internet Protocol,縮寫:IP)是用於分組交換數據網路的一種協議。IP 是在 TCP/IP 協議族中網路層的主要協議,任務僅僅是根據源主機和目的主機的地址來傳送數據。

1958 年,美國高級研究計劃局(Advanced Research Projects Agency,簡稱ARPA)成立,這是一個專門研發軍用高科技的行政機構,直接向美國國防部高層負責。

1969 年,ARPA 創建了一個只有 4 台電腦的網路 —— 阿帕網 ARPANET,是世界上第一個運營的數據包交換網路,也是我們今天互聯網的前身。

1983 年,ARPANET 中和軍事有關的部分被剝離並單獨成立了 MILNET,最終成為了美國國防數據網路(DDN)的一部分;而非軍用部分則逐漸演化發展成為今天的互聯網(Internet)。

其實互聯網的歷史遠不是這三個時間節點能講得完的,但這確實是互聯網誕生過程的一個脈絡。

在互聯網發明出來之後,就涉及到了機器的聯網問題。網路上有那麼多的電腦,如何找到想要訪問的那一台呢?科學家們給出了解決方案,給每個電腦分配一個類似於身份證號碼的地址就可以了,這就是「IP 地址」的由來。

為什麼給機器分配一個 IP 地址,它就能和其它 IP 地址網路通訊了,這很神奇,是電腦學界多年發展出來的研究成果,但概念上就這麼簡單…

說完了 IP 地址的背景和由來,再來嘮一些枯燥無味的技術向的嗑。

IP 地址一般由 32 位二進位數組成,為便於使用,常以 XXX.XXX.XXX.XXX 形式表現,每組 XXX 代表小於或等於 255 的 10 進位數,該表示方法稱為點分十進位。例如我們最常見的IP 地址:192.168.1.1。

地址一般被劃分為 A、B、C、D、E 五大類,其中 E 類屬於特殊保留地址。

IP 地址分類

因為 IP 地址的唯一性,IPv4 技術可使用的 IP 地址最多可有 4,294,967,296 個(即 2 的 32 次方)。看起來很多,但由於早期編碼和分配上的問題,使很多區域的編碼實際上被空出或不能使用。

加上互聯網的普及,大部分家庭都至少有一部電腦,連同公司的電腦,以及連接網路的各種設備都消耗大量 IPv4 地址資源。

就像開頭新聞中提到的,IPv4 的頂級地址 2012 年就被分配完了,到 11 月 25 日 42 億個地址也被正式耗盡。既然地址早就用完了,那運營商整天打電話找我們開卡辦寬頻是在忽悠人呢么?

並不是。

這兒就要提到另一項技術了,叫 NAT ( 地址轉換) 。雖然公網 IP 發不出來了,但這個公網 IP 底下可以發私有的 IP 地址。

具體的操作就相當於把一塊錢掰成八瓣,這樣至少每個人手裡就都有錢了…實際情況也是這樣,我們已經拼著用了好多年了…

不過老這麼湊合著也不是事兒啊,還是要想辦法解決的。

所以,就有了 IPv6。


IPv4 和 IPv6

有人問了,說完 IPv4 為什麼直接就到了 IPv6?IPv5 你咋不說了?

因為 IPv5 是一個測試性標準,在實驗中就夭折了,所以和 v1、v2、v3 一樣,我們略去不表。直到 IPv6 ,才有了實質性的巨大提升和更為豐富的應用場景。

IPv4 升級到 IPv6,很多人常見的誤解是,4 個數字的 IP 升級到了 6 個數字的 IP。但這個理解是錯的。

IPv6 里的 6 說的是「互聯網協議第六版」,不是 6 個數字。其實 IPv6 的一個地址,是 128 個比特,相當於 16 個 0-255 的數字組合。

和 IPv4 相比,IPv6 有三個最大的不同:

1. 地址空間更大。就像上面說的,IPv4 中規定 IP 地址長度為 32,而 IPv6 中 IP 地址的長度為 128。這可不是簡單的倍數關係。網上有個誇張的說法,IPv6 的地址空間,能讓全世界的每一粒沙子都會有相對應的一個 IP 地址。

2. 路由表更小。上面的圖就是 IPv4 和 IPv6 的路由表對比。肉眼可見的是右邊比左邊要簡潔很多,實際效果就是大幅減小了路由器中路由表的長度,提高了路由器轉發數據包的速度效率和準確性。

3. 安全性更高。在使用 IPv6 網路中,用戶可以對網路層的數據進行加密並對 IP 報文進行校驗,這極大地增強了網路安全。並且 IPv6 能夠提供更好的 Qos 支援,能夠在保證網路高效運行的同事,確保重要業務量不受延遲或丟棄。

既然這麼好,趕緊把 IPv4 換成 IPv6 就完事兒了啊,為啥不換呢?

其實 IPv6 早在數年前就已經推行開來了。但這不是發個通知就能實現的事情。涉及到很多技術、市場和政策層面的影響。

目前的推進辦法是,把已經支援 IPv4 的機器,更新升級到可以支援 IPv6,慢慢增加 IPv6 地址的數量。

比如我們自己的電腦就是這樣的。拿 windows 舉例,網路選項里的 TCP/IP,除了 IPv4 外,現在還多支援了 IPv6.

還有就是技術這塊兒,IPv4 這個協議,從根兒上就是有很大局限性的。

在根伺服器方面,全世界 IPv4 的根伺服器只有13台,1 個主根伺服器在美國,其餘還有 12 個輔根伺服器,9 個在美國,2 個在歐洲,還有 1 個在日本。

而 IPv6 的根伺服器架構,是在 IPv4 原有的 13 台基礎上,新增加了 25 台。因為這件事是中國主導的,所以在中國就部署了 4 台伺服器,一台主根三台輔根。這也打破了中國過去沒有根伺服器的困境(雖然可能並沒有什麼差別)

現在建成的 IPv6 根伺服器體系,實際上是一個「測試驗證」,從工程規模以及應用頻率上,還不能和 IPv4 相比。

雖然 IPv4 的根伺服器只有 13 台,但是下面的各級 DNS 伺服器非常多。並且 IPv4 的體系已經很成熟了,發展出了很多優化用應的辦法,而 IPv6 不管是從數量還是技術上,目前都還需要不斷的進化才行。

另一個可能延遲了 IPv6 發展的原因,就是有人在「從中作梗」。

雖然我們普通群眾拿不到 IP 地址,但很多運營商、網路提供商手裡其實還是有一些存貨的。物以稀為貴,鬧饑荒的時候,麩糠也會變成好東西。

不過就現在來看,如果能儘快普及 IPv6 的應用,不管對個人還是整個社會來說,還是有很大好處的。所以 2019 年 4 月份,工信部就發布了關於開展 2019 年 IPv6 網路就緒專項行動的通知,並設定了相關的目標。

2019 年末主要目標為獲得 IPv6 地址的 LTE 終端比例達到 90%,獲得 IPv6 地址的固定寬頻終端比例達到 40%;LTE 網路 IPv6 活躍連接數達到 8 億;完成全部 13 個互聯網骨幹直聯點 IPv6 改造。

截至 2019 年 5 月底,中國已分配 IPv6 地址用戶數達 12.07 億,其中 LTE 網路分配 IPv6 地址用戶數為 10.45 億,固定寬頻接入網路分配 IPv6 地址的用戶數為 1.62 億。IPv6地址儲備量已躍居全球第一位。

但技術是一把雙刃劍。

使用 IPv6 的好處很明顯:每個設備都可以有個獨立且唯一的 IP 地址。但另一個角度來說,就是我們每個人的資訊都非常準確的定位在互聯網上。那麼隱私保護方面就更難搞了。


一些和 IP 相關的電腦小技巧

1. 如何查詢自己的 IP 地址

最簡單的方法就是打開搜索引擎 —— 搜索「ip地址查詢」,就能查到自己此刻的 IP 地址。

覺得這個辦法 low,不符合自己 Geek 的身份,那也可以用電腦直接查詢 IP 地址。搜索電腦應用——命令提示符,或者直接在左下角搜索欄輸入—— CMD,打開命令提示符。隨後輸入 —— ipconfig,按住 Enter 鍵,就能查詢本機的 IP 地址了。

2. 如何修改自己的 IP 地址

首先,先去查一下自己的 IP 是多少。然後斷開網路,手機打開飛行模式。過幾秒之後再關閉飛行模式,去查詢自己的 IP 地址,你就會發現和之前的地址不一樣了~

PS: 這種方法利用的是IP的動靜態區分。使用動態IP是為了解決IP地址不夠用的問題。隨著網路普及,網民使用電腦的台數激增,IP地址就不夠用了,動態IP技術應運而生。同一時刻不會所有人都在上網,將未聯網的IP拿去給需要的人用,同理網民上網時會被分配無人使用的IP。

3. 如何隱藏自己的 IP 地址

隱藏 IP 這種說法其實很不實際,網路運營商總會知道你 IP。因為不管發送什麼數據,我們的網路數據包里都是包含我們的 IP 的,但通過一些網路代理,可以實現「張冠李戴」,從而隱藏自己地址的。

具體的技術細節不做分享,有的時候用一些網路代理確實可以保護我們的重要資訊,但一定不要用技術來做壞事。

就像黑客攻擊時,即便是抓肉雞做代理、找網路代理,哪怕很多人用多層跳板在中國外的伺服器上反覆橫跳,在網警的眼裡想查到原始 IP 還是很容易的。只要犯了法,只要他想。

最後奉勸各位一句:

不要去嘗試挑戰警察叔叔掌握的技術和法律的邊界,不要扭曲所謂的「Geek 精神」從而誤入迷途。