[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: