IPv4位址

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

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

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

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

IPv6位址

IPv6編址

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

IPv6中可能的位址有2128≈3.4×1038個,具體數量為340,282,366,920,938,463,463,374,607,431,768,211,456個。也可以想像為1632個,因為32位元位址每位可以取16個不同的值(參考組合數學)。

在很多場合,IPv6位址由兩個邏輯部分組成:一個64位元的網路字首和一個64位元的主機位址,主機位址通常根據實體位址自動生成,叫做EUI-64(或者64-位擴充功能唯一標識)

IPv6位址表示

IPv6位址為128位元長但通常寫作8組每組四個十六進位數的形式。例如:

  • 2001:0db8:85a3:08d3:1319:8a2e:0370:7344

是一個合法的IPv6位址。

如果四個數字都是0,可以被省略。例如:

  • 2001:0db8:85a3:0000:1319:8a2e:0370:7344

等價於

  • 2001:0db8:85a3::1319:8a2e:0370:7344

遵從這些規則,如果因為省略而出現了兩個以上的冒號的話,可以壓縮為一個,但這種零壓縮在位址中只能出現一次。因此:

  • 2001:0DB8:0000:0000:0000:0000:1428:57ab
  • 2001:0DB8:0000:0000:0000::1428:57ab
  • 2001:0DB8:0:0:0:1428:57ab
  • 2001:0DB8:0::0:1428:57ab
  • 2001:0DB8::1428:57ab

都是合法的位址,並且他們是等價的。但

  • 2001::25de::cade

是非法的。(因為這樣會使得搞不清楚每個壓縮中有幾個全零的分組)

同時前導的零可以省略,因此:

  • 2001:0DB8:02de::0e13

等價於

  • 2001:DB8:2de::e13

如果這個位址實際上是IPv4的位址,後32位元可以用10進位數表示;因此:

ffff:192.168.89.9等價於::ffff:c0a8:5909,但不等價於::192.168.89.9和::c0a8:5909。
ffff:1.2.3.4格式叫做IPv4對映位址,是不建議使用的。而::1.2.3.4格式叫做IPv4一致位址。

IPv4位址可以很容易的轉化為IPv6格式。舉例來說,如果IPv4的一個位址為135.75.43.52(十六進位為0x874B2B34),它可以被轉化為0000:0000:0000:0000:0000:0000:874B:2B34或者::874B:2B34。同時,還可以使用混合符號(IPv4-compatible address),則位址可以為::135.75.43.52。