В обычном формате IPv4 с четырьмя точками адрес и порт отделяется двоеточием, как в этом примере веб-сервера на интерфейсе обратной связи:
127.0.0.1:80
но с нотацией IPv6 сам адрес может содержать двоеточия. Например, это краткая форма адреса обратной связи:
::1
Как порты (или их функциональный эквивалент) выражаются в текстовом представлении IPv6-адреса / конечной точки порта?
Я почти уверен, что порты участвуют только в tcp и udp. Так что это точно так же, даже если вы используете новый IP-протокол.
источник
Википедия указывает что синтаксис IPv6-адреса включает двоеточия и имеет сокращенную форму, предотвращающую синтаксический анализ фиксированной длины, и поэтому вам необходимо разделить часть адреса с помощью []. Это полностью позволяет избежать лишних ошибок синтаксического анализа.
(Взято из редактирования, которое Питер Вон внес в исходный вопрос.)
источник
Я бы сказал, что лучшая ссылка - это Формат для буквальных адресов IPv6 в URL-адресах, где определено использование [].
Кроме того, если это для программирования и кода, в частности для Java, я бы посоветовал здесь прочитать определение класса для Inet6Address java / net / URL, где подробно описано использование адреса Inet4 в коннотации Inet6 и другие случаи. В моем случае IPv4-сопоставленный адрес формы :: ffff: wxyz, поскольку IPv6-адрес используется для представления IPv4-адреса, также решил мою проблему. Это позволяет собственной программе использовать одну и ту же структуру данных адреса, а также один и тот же сокет при взаимодействии с узлами IPv4 и IPv6. Так обстоит дело с настройкой по умолчанию облачных ящиков Linux на Amazon.
источник