LINUX.ORG.RU

Что делать с версиями сетевых протоколах?

 ,


0

1

Допустим, мы подключились к серверу и узнали что он поддерживает только другую версию протокола. Что дальше?

При разработке сетевых протоколов и реализаций возникает такая проблема: какие версии протоколов поддерживать, особенно если это криптографический протокол, ведь старый, наверное, менее безопасный.

Как вы такую проблему решаете?

Что дальше?

А что, есть много вариантов? Реши какой объём легаси и в течение какого срока ты хочешь поддерживать. Это зависит от кучи факторов как-то безопасность, стоимость поддержки, распространённость, требования ключевых клиентов, желание левой пятки и т.д. и не решается для общего случая.

наверное, менее безопасный

При разработке криптографических протоколов терминами «наверное» не пользуются.

slovazap ★★★★★
()

В смысле? Если своя система, то это административный вопрос, можешь ты каких то клиентов заставить обновиться/кинуть чтобы не поддерживать протокол

zerhud
()

Указываешь в библиотеке до каких версий протокола можно даунгрейдиться и обеспечиваешь обратную совместимость. Так работает TLS.

xpahos ★★★★★
()

вот такой же вопрос сейчас возникает в децентрализованной сети. первичный протокол (его часть) пишется так, чтобы что-то сразу работало, а в будущем придётся поддерживать пока все не обновятся (очень условно, на самом деле пока всё по-другому). в связи со всем этим думаю, что надо сигналировать устаревшим нодам «пора обновиться» и не поддерживать слишком глубокий легаси (например, разработать систему lts релизов). собственно вот и вам рекомендую сразу в протокол внести внятный механизм репортинга ошибок и просьб об обновлении

отдельно есть техники структурировать легаси так, чтобы это не было миллионом ифов или свитчей

caryoscelus
()