2012-02-18 69 views
2

我知道有可能在IPv4中以整數形式寫入IP,例如, 2130706433而不是127.0.0.1罕見的IP符號

這種可能性的原因是什麼?

是否有類似的IPv6表示法?

我嘗試ping -6 1作爲ping ::1的嘗試,但不起作用(主機不存在)。

回答

3

IPv4地址可以用多種方式表示。例如默認的回送IP可以是以下之一:

  • 127.0.0.1
  • 0177.0.0.1
  • 0x7f.0.0.1
  • 127.0.1
  • 127.1
  • 0x7f000001

第一個符號(完整的8位小數點)廣泛使用,其餘的很少使用,但允許使用inet_addr POSIX標準函數。在處理IPv4和IPv6地址的較新的inet_ntop/inet_pton POSIX標準功能中,只保留了第一個熟悉的標記。

對於IPv6,採用16位十六進制點分表示法,並帶有可選的小數點後綴(用於嵌入式IPv4),也是可選的零壓縮是標準定義的內容。

如:

  • 2001:將0db8:85±3:0000:0000:8a2e:9370:7334
  • 2001:將0db8:85±3 :: 8a2e:9370:7334

有那麼仍然是單個地址的多個表示。爲避免造成混淆,RFC 5952建議使用允許唯一表示法的規範形式。

1

IPv4地址只是一個32位數字。你可以用任何方式來表示這個數字(十進制,十六進制,八進制)。虛線符號a.b.c.d更實用。

你可以用IPv6地址做同樣的事情,除了那些是128位數字 - 更難以十進制格式。

通常的工具只會處理通常的符號。十進制不是其中之一。