Как порты работают с IPv6? - PullRequest
       65

Как порты работают с IPv6?

124 голосов
/ 09 октября 2008

Обычная четырехточечная нотация IPv4 разделяет адрес от порта двоеточием, как в этом примере веб-сервера на интерфейсе обратной связи:

127.0.0.1:80

, но с нотацией IPv6 сам адрес может содержать двоеточия. Например, это краткая форма адреса обратной связи:

::1

Как порты (или их функциональный эквивалент) выражаются в текстовом представлении адреса / конечной точки IPv6-адреса?

Ответы [ 7 ]

165 голосов
/ 09 октября 2008

Они работают почти так же, как сегодня. Тем не менее, убедитесь, что вы включили [] вокруг вашего IP.

Например: http://[1fff:0:a88:85a3::ac1f]:8001/index.html

В Википедии есть довольно хорошая статья об IPv6: http://en.wikipedia.org/wiki/IPv6#Addressing

27 голосов
/ 09 октября 2008

Протоколы, используемые в IPv6, такие же, как протоколы в IPv4. Единственное, что изменилось между двумя версиями, - это схема адресации DHCP [DHCPv6] и ICMP [ICMPv6]. Таким образом, все, что связано с TCP / UDP, включая диапазон портов (0-65535), остается неизменным.

Редактировать: Порт 0 является зарезервированным портом в TCP, но он существует. См RFC793

5 голосов
/ 29 августа 2014

Википедия указывает , что синтаксис IPv6-адреса включает двоеточия и имеет короткую форму, предотвращающую синтаксический анализ фиксированной длины, и поэтому вы должны разделить часть адреса с помощью []. Это полностью исключает нечетные ошибки синтаксического анализа.

(взято из , правка Питер Воне сделан к первоначальному вопросу.)

4 голосов
/ 03 марта 2016

Я бы сказал, что лучшим справочником будет Формат буквенных IPv6-адресов в URL-адресах , где определено использование [].

Кроме того, если речь идет о программировании и коде, в частности, о Java, я бы предложил следующее: Класс для Inet6Address определение java / net / URL , где использование адреса Inet4 в коннотации Inet6 и другие случаи представлены в деталях. В моем случае IPv4-сопоставленный адрес в форме :: ffff: w.x.y.z, для адреса IPv6, который используется для представления адреса IPv4, также решил мою проблему. Это позволяет нативной программе использовать ту же структуру данных адреса, а также один и тот же сокет при связи как с узлами IPv4, так и с узлами IPv6. Это относится к настройкам по умолчанию для облачных Amazon Linux boxs.

4 голосов
/ 09 октября 2008

Я почти уверен, что порты участвуют только в tcp и udp. Так что это точно так же, даже если вы используете новый протокол IP

4 голосов
/ 09 октября 2008

Они одинаковые, не так ли? Теперь я теряю уверенность в себе, но я действительно думал, что IPv6 - это просто изменение адресации. TCP и UDP все еще адресуются, так как они находятся под IPv4.

3 голосов
/ 09 октября 2008

Я не уверен, к чему ты клонишь. Уровень TCP и UDP имеет одинаковую структуру. IPV6, как следует из названия, касается улучшаемого уровня IP, а не уровней TCP или UDP.

...