Тры радкі ў профілі выглядаюць так, нібы ўсе яны адключаюць сцісканне, і толькі адзін з іх сапраўды гэта робіць. Розніца важная, бо папярэджанне, якое вы хочаце заглушыць, — гэта сімптом, а палітыка вырашае, ці можа суразмоўца яшчэ сціскаць. Параўнанне варыянтаў па адной восі, а менавіта што кожны дазваляе пасля змены, здымае большую частку нявызначанасці. Які з іх вам патрэбны, залежыць ад таго, ці вы мігруеце, ці ўжо ўладкаваліся.

Тры палітыкі, якія ў файле канфігурацыі выглядаюць падобна

Кожны варыянт адказвае на іншае пытанне. allow-compression no цалкам адмаўляе сціснутыя нагрузкі, allow-compression asym разгортвае тое, што прыходзіць, і ніколі не сціскае тое, што выходзіць, а стары comp-lzo no пакідае месца для push ад суразмоўцы, каб уключыць сцісканне. Толькі першы — гэта палітыка, якую сервер не можа пераадолець.

Запішыце гэтыя тры ў табліцу перад выбарам, бо назвы даволі блізкія, каб увясці ў зман рэцэнзента. Два з іх усё яшчэ выконваюць код разгортвання на атрыманых пакетах, і менавіта пра гэта ідзе гаворка ў аргуменце бяспекі. Трэці выдаляе магчымасць, а не абмяжоўвае яе кірунак. Калі ў запісе пра змену сказана, што сцісканне адключана, гэтаму сказу адпавядае роўна адзін радок.

Папярэджанне, з якога пачалося расследаванне, не з'яўляецца мэтай. Заглушыць яго, пакінуўшы дазвольную палітыку, дае чысты журнал і нязменную экспазіцыю.

SettingWhat it permitsWhen it is the right answer
allow-compression noNo compressed payloads, and no compression framing under offloadBoth ends can be changed now
allow-compression asymDecompress inbound onlyA dated migration while peers catch up
comp-lzo noOff locally, still pushable by a peerLegacy compatibility you can still justify

Што no значыць у старым варыянце LZO

У састарэлым варыянце LZO no адключае сцісканне для лакальнага боку, не забараняючы суразмоўцу ўключаць яго там, дзе палітыка гэта дазваляе. Менавіта праз гэтую асіметрыю пераход профілю на строгую адмову змяняе паводзіны так, як лабараторны тэст з адным серверам можа ніколі не выявіць.

Праблема бяспекі ўмоўная, а не абсалютная. Калі зламыснік можа змясціць выбраны адкрыты тэкст побач з сакрэтам і назіраць, як сцісканне змяняе памер шыфраванага трафіку, узнікае інфармацыйны канал. Пераход з LZO на LZ4 змяняе алгарытм і фарматаванне, а не гэты механізм.

Такім чынам, сумленная пастаноўка пытання датычыцца таго, што вы гатовыя дазволіць, а не таго, які алгарытм зараз рэкамендуецца. Строгая адмова — адзіны варыянт, які не залежыць ад супрацоўніцтва іншага боку.

Прыём-толькі — гэта стан міграцыі, а не пункт прызначэння

Асіметрычны прыём існуе для таго, каб адзін бок мог спыніць сцісканне, пакуль другі яго яшчэ чакае. Гэта мост, а масты патрабуюць даты завяршэння і ўладальніка. Запішыце, якія суразмоўцы ўсё яшчэ адпраўляюць сціснуты трафік, бо палітыка дазваляе менавіта такі трафік. Без гэтага спісу стан міграцыі па інэрцыі становіцца пастаяннай канфігурацыяй.

Кліент не можа прымусіць несумяшчальны сервер адмовіцца ад старога фарматавання, рэдагуючы ўласны файл. Кірунак push вызначаецца на серверы, таму канфігурацыя сервера і яго файлы для кожнага кліента — гэта месца, дзе міграцыя сапраўды завяршаецца.

Рэжымы-заглушкі захоўваюць фарматаванне, але прапускаюць сам працэс сціскання, і яны не з'яўляюцца прамой заменай старэйшага варыянта. Праверце іх на самым старым суразмоўцы, які ўсё яшчэ павінен падтрымлівацца, перш чым спыніцца на адным з іх.

Дзе offload канала даных змяняе адказ

Offload канала даных пераносіць апрацоўку пакетаў у ядро, і профіль, які ўсё яшчэ залежыць ад фарматавання сціскання, можа не ўпісацца ў гэты шлях. Збой не заўсёды гучны: кліент падключаецца, а затым паводзіць сябе не так, як тунэль, які вы тэставалі.

Праверце, якая рэалізацыя актыўная да і пасля змены, а не толькі тое, ці ўдаецца злучэнне. Калі шлях offload адмаўляе фарматаванне сціскання, строгая палітыка адмовы і разгортванне з offload узгадняюцца, а дазвольная палітыка і разгортванне з offload — не.

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

Выберыце палітыку, затым праверце ўзгоднены вынік

Выбірайце строгую адмову, калі можна змяніць абодва бакі, асіметрычны прыём, калі пакуль нельга, і поўнае сцісканне толькі тады, калі можаце сказаць, чаму экспазіцыя прымальная. Затым праверце, што было ўзгоднена, а не што напісана ў файле. Цішэйшы журнал — гэта доказ толькі тады, калі ён адпавядае палітыцы, якую вы збіраліся разгарнуць.

Трымайце рашэнне побач з профілем, да якога яно адносіцца, з датай і суразмоўцамі, якія ўсё яшчэ вызваленыя. Праз паўгода гэтая нататка — розніца паміж наўмысным выключэннем і аварыяй, якую ніхто не можа датаваць. Напішыце яе ў тым жа рэпазіторыі, што і профіль, каб наступны рэдактар убачыў прычыну перад дырэктывай.

Падобныя артыкулы