metaclass: (дзедline)
metaclass ([personal profile] metaclass) wrote2013-02-19 07:26 pm

IPv6 или "День псоглавца"

Понял, что не знаю, как отличить валидный ipv6 адрес от невалидного, как отделить адрес с портом от адреса без порта и как проверять правильность и доступность адресов :)

[identity profile] vk11.livejournal.com 2013-02-19 05:48 pm (UTC)(link)
перебирай священные man'ы ;)

[identity profile] arush-damage.livejournal.com 2013-02-20 08:54 am (UTC)(link)
Не, тут не маны, тут RFC надо читать %)))

[identity profile] vk11.livejournal.com 2013-02-20 09:18 am (UTC)(link)
какой дурак читает стандарты? :)

[identity profile] arush-damage.livejournal.com 2013-02-20 11:21 am (UTC)(link)
А я про STD ничего и не говорил %))))

[identity profile] denisioru.livejournal.com 2013-02-19 06:26 pm (UTC)(link)
Больше ненависти и псения!

[identity profile] nivanych.livejournal.com 2013-02-20 04:10 am (UTC)(link)
Такчо, IPv4-капец уже настал или ещё не очень? ;-)

[identity profile] vp.livejournal.com 2013-02-20 09:22 am (UTC)(link)
унутре оно будет жить еще очень долго.

[identity profile] norian.livejournal.com 2013-02-20 09:17 am (UTC)(link)
вот что им мешало просто добавить 2 байта и сделать их нулевыми у существующих адресов ?

все бы давно перешли на v6 ..

[identity profile] vp.livejournal.com 2013-02-20 09:22 am (UTC)(link)
Не 6 байт, а 16. 8 вордов в адресе.

[identity profile] norian.livejournal.com 2013-02-20 10:35 am (UTC)(link)
охренеть .. "благодаря этим улучшениям заголовок пакета удлинился всего лишь вдвое: с 20 до 40 байт" и вместо уродского ната (который ещё лет 100 не помрёть) всё равно будут передавацца лишние 20 байт на пакет, внутри которых по 100500 заборов с коровнегами

"обеспечит возможность использования более 300 млн IP-адресов на каждого жителя Земли" - нехай хомяк лопнет (с)

вообще лучше было бы добавить 2 байта спереди на новые сетки и 2 байта сзади на цивильную замену ната - и аллес абгемахт (ну и выкорчевать атавизьмы)

роутеры просто бы сдвигали легаси-адреса на 16 бит, не бином ньютона, а провайдеры меняли нат на хвосты

а теперь всю сетевую логику к беням переписывать и ещё v4 с натом хрен знает сколько поддерживать

повбывав бы (с)

[identity profile] victor bolshakov (from livejournal.com) 2013-02-20 05:21 pm (UTC)(link)
Чета ржу :)
Вы не представляете о чем вы говорите.
IPv6 это не просто апгрейд адреса, это совершенно новый протокол. Кроме того, что удлинился адрес, из заголовка выкинули кучу мусора.

[identity profile] norian.livejournal.com 2013-02-22 07:07 am (UTC)(link)
а вы читать многабукаф (тм) не научились, а лезете своим мерзким свиным рылом - сказано же было, атавизьмы из заголовка следует выкорчевать

[identity profile] victor bolshakov (from livejournal.com) 2013-02-20 05:08 pm (UTC)(link)
Зачем, если нужно переписать 100500 мульенов строк кода... И что еще хуже, это в любом случае не будет работать, если IP реализован в железе.

[identity profile] vp.livejournal.com 2013-02-20 09:25 am (UTC)(link)
какой адрес с портом? Порты сами по себе - адреса сами по себе
Принято писать адреса в квадратных скобках, порт - как обычно после, через :

[aaaa:bbbb:cccc:dddd:eeee:ffff:1111:2222]:8080

[identity profile] metaclass.livejournal.com 2013-02-20 09:32 am (UTC)(link)
Жопа. Раньше разделители были точки, а сейчас зачем-то двоеточия.

[identity profile] vp.livejournal.com 2013-02-20 09:42 am (UTC)(link)
Они потому что идиоты. Обчитались питона, и теперь пишут диапазоны как множества:

::1 loopback
::ffff:xx.xx.xx.xx 96

Но откуда двоеточия пролезли в АДРЕС - ума не приложу. Я подозреваю это сделано для того, чтобы эту кашу однозначно отличать от доменных имен.
Edited 2013-02-20 09:43 (UTC)

[identity profile] victor bolshakov (from livejournal.com) 2013-02-20 05:10 pm (UTC)(link)
А чем вас не устраивает?
Тащемта, для юзера должен быть DNS. И нефиг на голые адреса смотреть, они стесьняются.

[identity profile] victor bolshakov (from livejournal.com) 2013-02-20 05:18 pm (UTC)(link)
Вы еще поспорте, как маску записывать как 255.255.255.0 или /24 :)

[identity profile] golosptic.livejournal.com 2013-02-23 08:06 pm (UTC)(link)
1) Когда это придумывали - питон был не особо актуален, так что обчитались они явно чего-то другого.
2) Двоеточия по официальной версии пролезли в адрес 'чтобы адреса IP v4 не путали с адресами IP v6'.

[identity profile] vp.livejournal.com 2013-02-23 08:53 pm (UTC)(link)
Это как сказать, что "мы путаем IPv4 с десятичной дробью". Подсказка: там 4 группы цифр, а там - 8. Как их спутать?

[identity profile] golosptic.livejournal.com 2013-02-23 08:56 pm (UTC)(link)
Увольте меня от ответов на такие вопросы.
Но причина появления двоеточий в IP v6 широкоизвестна (была когда всё это придумывали).

[identity profile] ihar hrachyshka (from livejournal.com) 2013-02-21 10:34 am (UTC)(link)
> как отличить валидный ipv6 адрес от невалидного
if (inet_pton(...) != 1) { fail(); }

> как отделить адрес с портом от адреса без порта
[ipv6_addr]:port

> и как проверять правильность
#define правильность

> и доступность адресов
globally: [r]whois; locally: NDP

А вообще - читать TCP/IP Illustrated.

[identity profile] vp.livejournal.com 2013-02-21 10:43 am (UTC)(link)
>> как отличить валидный ipv6 адрес от невалидного
>if (inet_pton(...) != 1) { fail(); }

Имелось ввиду проверить глазами :)

А функцию inet_pton пидорасы делали, однозначно. За функции, которые возвращают минус, ноль или плюс нужно отрывать ноги по самые гланды.

[identity profile] ihar hrachyshka (from livejournal.com) 2013-02-21 10:47 am (UTC)(link)
> А функцию inet_pton пидорасы делали, однозначно
Таки да: http://en.wikipedia.org/wiki/Marshall_Kirk_McKusick