Подтвердить что ты не робот

Почему IPv6 использует двоеточие в качестве разделителя вместо точки?

Я не могу найти причину, по которой IPv6 использует двоеточие в качестве разделителя вместо точки.
Когда адрес описывается номером порта, мне кажется неуклюжим.

[2001:db8:85a3:8d3:1319:8a2e:370:7348]:443

Что оправдывает использование двоеточия?

4b9b3361

Ответ 1

Я просмотрел более старые IPv6 RFC, чтобы найти ключ к истории, но я думаю, что ответ лежит в RFC 4291 раздел 2.2.3:

3. An alternative form that is sometimes more convenient when dealing
   with a mixed environment of IPv4 and IPv6 nodes is
   x:x:x:x:x:x:d.d.d.d, where the 'x are the hexadecimal values of
   the six high-order 16-bit pieces of the address, and the 'd are
   the decimal values of the four low-order 8-bit pieces of the
   address (standard IPv4 representation).  Examples:

      0:0:0:0:0:0:13.1.68.3

      0:0:0:0:0:FFFF:129.144.52.38

   or in compressed form:

      ::13.1.68.3

То есть вы не сможете "внедрить" IPv4-совместимый адрес, если адреса IPv6 были разделены точками.

Чтобы ответить на ваш вопрос о двоеточие, столкнувшись с номером порта в URL-адресе, я думаю, что ответ заключается в том, что в то время, когда IPv6 разрабатывался в начале 1990-х годов, hypertext и . Поскольку номера портов отделены от IP-адресов, не было стандартного для указания кортежа (порт, адрес). (Например, клиент командной строки telnet использует пространство для ветки IP-адреса от порта.)