2008-10-09 7 views
102

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

127.0.0.1:80 

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

::1 

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

ответ

3

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

+2

Это не просто изменение адреса. Предполагается, что он принесет некоторые интересные функции (например, глобальная многоадресная рассылка). Но да, он прозрачен для верхних слоев. – 2009-01-18 05:34:50

+4

Это «просто» изменение адреса.То, о чем вы говорите, касается адресации: Но причина, по которой это касается/смущает людей, заключается в том, что сетевой дизайн рассматривает «адресацию» как адреса и «службы» как номера портов. Но вы ничего не можете сделать в TCP или UDP без них, поэтому большинство людей пытается заставить адресацию на уровне сокетов работать, и не может понять, почему люди продолжают составлять или изменять разделитель: пробелы, затем точки , затем двоеточия, а затем знаки фунта? Итак, да, я вижу, что IPv6 заставляет людей волноваться. – benc 2009-07-26 20:18:06

21

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

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

2

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

+1

DCCP и SCTP также имеют порты, но порты в SCTP немного отличаются из-за дополнительного идентификатора ассоциации. – 2009-11-21 23:10:37

3

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

3

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

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

2

Я бы сказал, что лучше ссылка Format for Literal IPv6 Addresses in URL's где определяется использование [].

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

 Смежные вопросы

  • Нет связанных вопросов^_^