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 位址有兩個主要的功能：

1. **標識主機：**更具體地說，標識其網路介面，並且提供主機在網路中的位置。
2. **網路定址：**網際協定（縮寫：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 月由互聯網工程工作小組以網際網路標準規範（RFC 2460）的方式正式公布。

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 位址不區分網路位址與主機位址**

#### 子網路劃分的歷史

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

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

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

## IPv6

### 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 - 位擴充唯一標識）。

### 私有位址

就像 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 位址。

## 參見

* RFC 791
* IP 協定（網際協定）

## 參考資料

## 參見

* 分類網路
* ipip.net（頁面存檔備份，存於網際網路檔案館） 通常 IP 庫較新
* IP2Location LITE（頁面存檔備份，存於網際網路檔案館） 通用國際版 IP 庫
* IP138（頁面存檔備份，存於網際網路檔案館）

## 外部連結

* 開放式目錄計劃中和 IP 位址相關的內容