Re: systemd
Max Dmitrichenko -> Eugene Berdnikov @ Fri, 13 Nov 2015 13:05:00 +0300:
>> Скажем так: "можно" это меньше 15 минут, "невозможно" это больше 15.
>> Именно столько готов потратить юзер на поиск утилиты, которая
>> расшифрует ему протокол, если таковая существует. Если же нет,
>> то никто ни писать дешифратор, ни даже покупать техподдержку
>> не будет. Просто забьёт на глюкало вместе с его протоколом,
>> в результате протокол и глюкало сдохнут вместе.
MD> Таки интересные вещи вы тут рассказываете. А чё скайп-то до сих пор
MD> жив? Бинарный, глюкавый, без дешифраторов, например. Или вот появилась
MD> же как-то Samba, которая проимплементила бинарный закрытый глюкавый
MD> протокол.
Ну да. И в результате работа с SMB - одно из самых глюкавых мест в
нынешних линуксах вот уже лет 15.
>> Главное достоинство текстовых протоколов не столько в читабельности
>> (это действительно решается правильным логгингом и декодерами),
>> сколько в гибкости и лёгкой расширяемости под СВОИ нужды. Скажем,
>> добавить лишнюю опцию вроде ECN в ip-хедер проблематично без комитета,
>> а добавить лишний хедер в HTTP может любой, никого не спрашивая.
>> Причём так, что этот хедер ничему мешать не будет.
>> Эта возможность важнее 100 лет оверхеда. :)
MD> Таки IP-хедер продукт старой школы. Бинарные TLV структуры, с
MD> выделенным пространством T для vendor extension's - давно используются
MD> во многих протоколах.
Это, опять же, сведение задачи, ну не к эквивалентной, но весьма схожей
- нужно централизованное выделение подпространств в этих пространствах,
как с OID в ASN.1 (это, безусловно, проще, чем каждый раз править
протокол, но тем не менее), а то будут клэши. И размер идентификатора
довольно быстро растет. Зато, правда, есть именно что гарантия
отсутствия клэшей, а не просто хороший шанс, как в случае добавления
значимого текстового имени. Зато под СВОИ нужды как раз становится
неудобно расширять. В HTTP добавил СВОЙ хедер, носишь его к СВОЕМУ
серверу - и ничего тебя не гондурасит. Контент все равно парсишь, если
он парсится плохо - игнорируешь. Избыточности для обнаружения того, что
что-то тут не так, в текстовом протоколе достаточно. А в случае с TLV,
если ты не прошел процедуру получения своего подпространства имен, шанс
нарваться на то, что тебе принесут с тем же T совершенно другое по
замыслу отправителя V, заметно возрастает из-за неизбыточности
кодирования.
Естественные языки избыточны не просто так...
Reply to:
- Follow-Ups:
- Re: systemd
- From: Max Dmitrichenko <dmitrmax@gmail.com>