IP地址

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書

IP地址(英語:IP Address,全稱Internet Protocol Address),又譯為網際協議地址網際網路協定位址。是網際協議中用於標識發送接收數據報的設備的一串數字。[1][2]

概述

當設備連接網絡,設備將被分配一個IP地址,用作標識。通過IP地址,設備間可以互相通訊,如果沒有IP地址,我們將無法知道哪個設備是發送方,無法知道哪個是接收方。[2] IP地址有兩個主要功能:標識設備或網絡尋址

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

功能

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

  1. 標識主機:更具體地說,標識其網絡接口,並且提供主機在網絡中的位置。
  2. 網絡尋址:網際協議(縮寫:IP)的一個重要機制就是網絡尋址(英語:internet address)。該功能的目的是將數據報從一個網絡模塊送到目的地。在發送的整個過程,IP地址(address)充當着目的地的位置,域名(name)意味着我們要找什麼,路由(route)代表着如何到達目的地的這個過程。[3] 每個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協議版本4IPv4).

直到1990年代初,可供分配給Internet服務器提供商ISP)和最終用戶組織的IPv4地址空間迅速的消耗殆盡,促使Internet工程任務組IETF)探索新的技術以擴展在Internet上的尋址能力。結果是對Internet協議進行重新設計,該協議最終在1995年被稱為Internet協議版本6IPv6)。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網絡可以在IPv4IPv6中劃分子網。為此,將IP地址識別成由兩部分組成:網絡前綴(高位)和其餘的位(稱為其餘字段,主機標識符或者接口標識符(IPv6)),用於網絡內的主機編號。子網掩碼(subnet mask)或無類別域間路由(英語:Classless Inter-Domain Routing,簡稱:CIDR)表示法確定了IP地址如何分為網絡部分和主機部分。

子網掩碼一詞僅用於IPv4地址中。但是,兩個版本的IP地址都使用CIDR概念和符號。在此,在IP地址後面加斜槓和用於標識網絡部分的位數(十進制),也稱路由前綴。例如:IPv4地址及其子網掩碼分別可以是 192.0.2.1255.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日用盡[4][5]。相應的科研組織已研究出128位的IPv6,其IP位址數量最高可達3.402823669 × 1038個,屆時每個人家居中的每件電器,每件物件,甚至地球上每一粒沙子都可以擁有自己的IP位址。

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

IPv4地址分類
A類IPv4地址 B類IPv4地址 C類IPv4地址 D類IPv4地址 E類IPv4地址
網絡標誌位 0 10 110 1110 11110
IP地址範圍 0.0.0.0~127.255.255.255 128.0.0.0~191.255.255.255 192.0.0.0~223.255.255.255 224.0.0.0~239.255.255.255 240.0.0.0~255.255.255.255
可用IP地址範圍 1.0.0.1~127.255.255.254 128.0.0.1~191.255.255.254 192.0.0.1~223.255.255.254
是否可以分配給主機使用
網絡數量(個) 126 (27-2) 16384 (214) 2097152 (221) --- ---
每個網絡中可容納主機數(個) 16777214 (224-2) 65534 (216-2) 254 (28-2) --- ---
適用範圍 大量主機的大型網絡 中等規模主機數的網絡 小型局域網 留給Internet體系結構委員會(IAB)使用【組播地址】 保留,僅作為搜索、Internet的實驗和開發用
備註 0.0.0.0為特殊地址,表示本網主機 255.255.255.255為特殊地址,用於定向廣播

說明:D類與E類IPv4地址不區分網絡地址與主機地址

特殊IP地址
網絡號 主機號 是否可以作為源地址 是否可以作為目的地址 備註/描述
全為0 全為0 允許 禁止 表示本網主機
全為0 Host ID 允許 禁止 表示特定主機
全為1 全為1 禁止 允許 定向廣播地址
127 任意合法的值 允許 允許 迂迴地址,用於本地測試
Network ID 全為1 禁止 允許 直接廣播地址

子網劃分的歷史

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

一流的網絡設計允許進行大量的單獨網絡分配和細顆粒的子網設計。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地址。

參見

參考資料

  1. ^ IP 地址简介 - Google 搜索帮助. support.google.com. [2020-04-18]. (原始內容存檔於2020-08-30). 
  2. ^ 2.0 2.1 IPv4 vs. IPv6: What’s the Difference?. IPv4 vs. IPv6: What’s the Difference?. [2020-04-18]. (原始內容存檔於2020-05-18) (英語). 
  3. ^ Postel, J. Internet Protocol(2.3. Function Description). tools.ietf.org. [2020-03-15]. (原始內容存檔於2011-07-17) (英語). 
  4. ^ 柯山. ICANN将宣布IPv4地址耗尽全球进入IPv6时代. 趙秀芹. 搜IT. 2011年2月2日 [June 22, 2011]. (原始內容存檔於2011年2月6日). 
  5. ^ IANA. 102, 103, 104, 179 and 185 have been allocated. No unicast IPv4 /8s remain unallocated.. 2011-02-03 [2011-02-03]. (原始內容存檔於2011-02-07). 
  6. ^ Postel, J. RFC791 Internet Protocol. tools.ietf.org. [2020-08-26]. (原始內容存檔於2011-07-17) (英語). 

參見

外部連結