IP 地址

IP 地址（IP Address，全稱 Internet Protocol Address），又譯為網際協議地址、網際網路協定位址。是網際協議中用於標識傳送或接收資料報的裝置的一串數字。

概述

當裝置連線網路，裝置將被分配一個 IP 地址，用作標識。透過 IP 地址，裝置間可以互相通訊，如果沒有 IP 地址，我們將無法知道哪個裝置是傳送方，無法知道哪個是接收方。 IP 地址有兩個主要功能：標識裝置或網路和定址。

常見的 IP 位址分為 IPv4 與 IPv6 兩大類，IP 地址由一串數字組成。IPv4 為 32 位長，通常書寫時以四組十進位制數字組成，並以點分隔，如：172.16.254.1 ；IPv6 為 128 位長，通常書寫時以八組十六進位制數字組成，以冒號分割，如：2001:db8:0:1234:0:567:8:1。

功能

IP 地址有兩個主要的功能：

標識主機：更具體地說，標識其網路介面，並且提供主機在網路中的位置。
網路定址：網際協議（縮寫：IP）的一個重要機制就是網路定址（internet address）。該功能的目的是將資料報從一個網路模組送到目的地。在傳送的整個過程，IP 地址（address）充當著目的地的位置，域名（name）意味著我們要找什麼，路由（route）代表著如何到達目的地的這個過程。 每個 IP 資料包的標頭包含了傳送主機的 IP 地址和目的主機的 IP 地址。

歷史

1981 年，IETF 定義了 32 位 IP 地址的 IPv4。隨著網際網路的發展，網路位置（IPv4）漸漸被消耗殆盡，雖然當前的網路地址轉換及無類別域間路由等技術可延緩網路位置（IPv4）匱乏之現象，但為求解決根本問題，從 1990 年開始，網際網路工程工作小組開始規劃 IPv4 的下一代協議，除要解決即將遇到的 IP 地址短缺問題外，還要發展更多的擴充套件，為此 IETF 小組建立 IPng，以讓後續工作順利進行。1994 年，各 IPng 領域的代表們於多倫多舉辦的 IETF 會議中，正式提議 IPv6 發展計劃，該提議直到同年的 11 月 17 日才被認可，並於 1996 年 8 月 10 日成為 IETF 的草案標準，最終 IPv6 在 1998 年 12 月由網際網路工程工作小組以網際網路標準規範的方式正式公佈。

IP 地址空間 是由網際網路號碼分配局（英語：Internet Assigned Numbers Authority，簡稱：IANA）以及其他 5 個區域網際網路註冊管理機構（英語：Regional Internet Registry，簡稱：RIR）在其指定區域內分配給本地 Internet 登錄檔，例如網路服務提供商（英語：Internet Service Providers，簡稱：ISP）和其他終端使用者。IPv4 地址被 IANA 以塊為單位分佈給 RIR，每個地址塊大約為 1680 萬個地址，但自 2011 年以來在 IANA 級別已用盡。在非洲，RIR 中只有 1 個 RIR 仍然可以給當地分配。一些 IPv4 地址是為專用網路保留的，並不是全域性唯一的。

IP 版本

當今，Internet 上普遍使用兩種版本的 Internet 協議。Internet 協議的原始版本於 1983 年在 ARPANET（Internet 的前身，中文：阿帕網）中首次部署，其版本是 Internet 協議版本 4（IPv4）.

直到 1990 年代初，可供分配給 Internet 伺服器提供商（ISP）和終端使用者組織的 IPv4 地址空間迅速的消耗殆盡，促使 Internet 工程任務組（IETF）探索新的技術以擴充套件在 Internet 上的定址能力。結果是對 Internet 協議進行重新設計，該協議最終在 1995 年被稱為 Internet 協議版本 6（IPv6）。IPv6 技術處於各個測試階段，一直到 2000 年代中期開始商業生產部署。

今天，這兩個版本的 Internet 協議（網際協議）在同時使用。除了其他的技術性更改之外，每個版本對地址的格式定義都不同。由於 IPv4 的歷史悠久，通用術語 IP 地址仍通常指 IPv4 定義的地址（即 IPv4 地址）。IPv4 和 IPv6 之間的版本順序差距是由 1979 年將版本 5 分配給實驗性 Internet 流協議而引發的，但是從未將其稱之為 IPv5。

雖然定義了其他的協議版本，版本 1（v1）到版本 9（v9），但是隻有 v4 和 v6 得到了廣泛的使用，v1 和 v2 是 1974 年和 1977 年的 TCP 協議（傳輸控制協議）的名稱，因為當時 IP 規範是分開的。v3 於 1978 年定義，而 v3.1 是 TCP 與 IP 分離的第一個版本。v6 是幾個建議的版本的集合，其中包括 v6 簡單 Internet 協議，v7 TP/IX：下一個網際網路，v8 PIP（P Internet 協議）和 v9 TUBA（TCP&UDP 和大的地址）。

子網

IP 網路可以在 IPv4 和 IPv6 中劃分子網。為此，將 IP 地址識別成由兩部分組成：網路字首（高位）和其餘的位（稱為其餘欄位，主機識別符號或者介面識別符號（IPv6）），用於網路內的主機編號。子網掩碼（subnet mask）或無類別域間路由（英語：Classless Inter-Domain Routing，簡稱：CIDR）表示法確定了 IP 地址如何分為網路部分和主機部分。

子網掩碼一詞僅用於 IPv4 地址中。但是，兩個版本的 IP 地址都使用 CIDR 概念和符號。在此，在 IP 地址後面加斜槓和用於標識網路部分的位數（十進位制），也稱路由字首。例如：IPv4 地址及其子網掩碼分別可以是 192.0.2.1 和 255.255.255.0 。因為 IP 地址的前 24 位表示網路和子網，所以相同的 IP 地址和子網的 CIDR 表示法為 192.0.2.1/24。

IPv4

IP 地址由 32 位二進位制陣列成，為便於使用，常以 XXX.XXX.XXX.XXX 形式表現，每組 XXX 代表小於或等於 255 的 10 進位制數，該表示方法稱為點分十進位制。例如維基媒體的一個 IP 位址是 208.80.152.2。位址可分為 A、B、C、D、E 五大類，其中 E 類屬於特殊保留地址。

IP 地址是唯一的。目前 IPv4 技術可能使用的 IP 地址最多可有 4,294,967,296 個（即 232）。看上去像是很難會用盡，但由於早期編碼和分配上的問題，很多區域的編碼實際上被空出或不能使用。加上網際網路的普及，使大部分家庭都至少有一部電腦，連同公司的電腦，以及連線網路的各種裝置都消耗大量 IPv4 地址資源。

隨著網際網路的快速成長，IPv4 的 42 億個地址最終於 2011 年 2 月 3 日用盡。相應的科研組織已研究出 128 位的 IPv6，其 IP 位址數量最高可達 3.402823669 × 1038 個，屆時每個人家居中的每件電器，每件物件，甚至地球上每一粒沙子都可以擁有自己的 IP 位址。

在 A 類、B 類、C 類 IP 地址中，如果主機號是全 1，那麼這個地址為直接廣播地址，它是用來使路由器將一個分組以廣播形式傳送給特定網路上的所有主機。32 位全為 1 的 IP 地址「255.255.255.255」為受限廣播地址（"limited broadcast" destination address），用來將一個分組以廣播方式傳送給本網路中的所有主機，路由器則阻擋該分組透過，將其廣播功能限制在本網內部。

說明：D 類與 E 類 IPv4 地址不區分網路地址與主機地址

6.1 子網劃分的歷史

在 Internet 協議開發的早期階段，網路號始終是最高階的八位元組（最高且有效的八位）。由於此方法僅允許 256 個網路使用，因此很快被證明這樣是不夠的，因為所開發的其他網路都獨立於已經由網路號指定的現有網路。1981 年，隨著分類網路體系結構的引入，對定址規範進行了修訂。

一流的網路設計允許進行大量的單獨網路分配和細顆粒的子網設計。IP 地址的最高的有效的八位元組的前三位被定義為地址的類別位。為通用單播定址定義了三個類別（A 類、B 類和 C 類）。根據派生的類，網路標識基於整個地址的八位位元組邊界段。每個類別在網路識別符號中依次使用其他八位元組，從而減少高階類別（B 類和 C 類）中的主機數量。上表概述了這個過時的系統。

分類網路的設計在 Internet 啟用階段就達到了這個目的，但是對於 20 世紀 90 年代的網路的迅速發展，它缺乏可擴充套件性。地址空間的類系統在 1993 年被無類別域間路由（CIDR）取代。CIDR 基於可變長子網掩碼（VLSM），允許基於任意長度字首來分配以及路由。當今，分類網路的殘餘概念僅僅在有限的範圍內用於某些網路的軟體和硬體（例如子網掩碼）的預設配置引數，以及用於網路管理員們討論中使用的術語。

IPv6

7.1 IP 編址

從 IPv4 到 IPv6 最顯著的變化就是網路地址的長度。RFC 2373 和 RFC 2374 定義的 IP 地址，就像下面章節所描述的，有 128 位長；IP 地址的表達形式，一般採用 32 個十六進位制數。

IP 中可能的地址有 2128≈3.4×1038 個，具體數量為 340,282,366,920,938,463,463,374,607,431,768,211,456（即 1632)，因為 32 位地址每位可以取 16 個不同的值。

在很多場合，IP 地址由兩個邏輯部分組成：一個 64 位的網路字首和一個 64 位的主機地址，主機地址通常根據物理地址自動生成，叫做 EUI-64（或者 64 - 位擴充套件唯一標識）。

7.2 私有地址

就像 IPv4 為專用的網路保留的地址一樣，在 IPv6 中也有被預留的地址。在 IPv6 中，這些地址被稱為唯一本地地址（ULA）。路由字首：fc00::/7 就是為這個塊保留的，且被分為 2 個 /8 塊，都具有不同的隱藏策略。這些地址包括一個 40 位的偽隨機數，如果站點合併或者資料包被錯誤的路由，則可以將地址衝突的風險降到最低。

以 fe80:: 開頭的地址，我們稱之為本地鏈路地址，將這類地址分配給鏈路上的通訊介面，這些地址由作業系統為每個介面自動生成。這為在鏈路上的所有的 IPv6 的主機之間提供了即時通訊。此功能適用於 IPv6 網路中的管理的較低的層，例如鄰居發現協議。

專用地址字首和本地鏈路地址不得在公共網際網路中進行路由。

IP 地址的分配

IP 地址是在主機加入網路時動態分配的，或是透過主機硬體 / 軟體的配置永久分配給主機的。永久性的配置也稱為使用靜態 IP 地址。相反，在每次重新啟動時分配的 IP 地址，稱為使用動態 IP 地址。

動態 IP 地址是透過網路使用動態主機配置協議（DHCP）分配的。DHCP 是分配地址最常用的技術。它避免了為網路上的每臺裝置分配特定靜態地址的管理負擔。如果某些裝置在特定的時間處於聯機狀態，它還允許裝置共享網路上有限的地址空間。通常，在現代的臺式計算機作業系統中，預設情況下會啟用動態 IP 地址分配。

DHCP 分配的地址於租約相關聯，並且一般都是具有有效期。如果主機在到期前未能續訂租約，則可以將該地址分配給其他裝置中的一臺裝置。某些 DHCP 實現會在主機每次加入網路時根據其 MAC 地址嘗試將相同的 IP 地址重新分配給該主機。網路管理員可以透過基於 MAC 地址分配特定的 IP 地址來配置 DHCP。

DHCP 並不是唯一一種動態 IP 地址分配技術。Bootstrap 協議是 DHCP 的類似協議和前身。撥號和某些寬頻網路使用點對點協議的動態地址功能。

用於網路設施的計算機和裝置（例如：路由器或者郵件伺服器等），通常配置為靜態地址分配。

在動態或者靜態地址分配失效的情況下，作業系統可以將無狀態地址自動配置，將連結本地的地址分配給主機。

地址轉換

NAT 裝置會將專用網路上的不同 IP 地址對映為公共網際網路上的不同的 TCP 或者 UDP 的埠號。在家用網路中，NAT 功能通常是在家庭網路的閘道器中實現的。在這種情況下，連線到閘道器的計算機具有專用的 IP 地址，並且閘道器會在外部介面上進行 Internet 通訊。內部的計算機共享這一個公共的 IP 地址。