Ответы:
::
может использоваться один раз в IPv6-адресе для замены последовательных нулевых блоков. Это может быть любая длина нулей, если она больше, чем один блок. Все нули в одном блоке могут быть представлены :0:
вместо записи всех четырех нулей.
В этом случае это означает все нули или эквивалент IPv6 для IPv4. 0.0.0.0
В качестве примера чего-то, что не все нули:
fe80:0000:0000:0000:34cb:9850:4868:9d2c
Который правильно «сводится» к:
fe80::34cb:9850:4868:9d2c
В качестве примера, он также может быть записан как:
fe80:0:0:0:34cb:9850:4868:9d2c
но это гораздо реже, чем просто "двойная колонизация".
:: - это «неуказанный» адрес IPv6, эквивалентный 0.0.0.0 - [] - это нотация для отделения адреса от спецификатора порта.
Программа, связанная с ::, получит трафик для любого фактического IPv6-адреса, назначенного системе - она также может получать трафик IPv4 также в форме IPv6-сопоставленных IPv4-адресов (:: ffff: xxxx), хотя это зависит от сокета параметры, установленные приложением.