ثلاثة أسطر في ملف تعريف تبدو وكأنها جميعًا تُطفئ الضغط، وسطر واحد فقط يفعل ذلك فعلًا. الفرق مهم لأن التحذير الذي تريد إسكاته عَرَض، أما السياسة فهي التي تقرر ما إذا كان الطرف الآخر يستطيع الضغط. ومقارنة الخيارات على محور واحد، وهو ما يسمح به كل منها بعد التغيير، تُزيل معظم الغموض. والخيار الذي تريده يعتمد على ما إذا كنت تُرحّل أم تستقر.

ثلاث سياسات تبدو متشابهة في ملف التكوين

كل خيار يجيب عن سؤال مختلف. allow-compression no يرفض الحمولات المضغوطة رفضًا قاطعًا، بينما allow-compression asym يفكّ ضغط ما يصل ولا يضغط أبدًا ما يخرج، أما comp-lzo no القديم فيترك مجالًا لدفع الطرف الآخر لتفعيل الضغط. الأول وحده سياسة لا يستطيع الخادم تجاوزها.

اكتب الثلاثة في جدول قبل الاختيار، لأن الأسماء متقاربة بما يكفي لتُضلل المراجع. اثنان منها ما زالا يُشغّلان كود فكّ الضغط على الحزم الواردة، وهو بالضبط ما تتعلق به حجة الأمان. والثالث يُزيل القدرة بدلًا من تقييد اتجاهها. وإذا قال سجل التغيير إن الضغط معطّل، فإن صفًا واحدًا بالضبط يحقق تلك العبارة.

التحذير الذي بدأ التحقيق ليس هو الهدف. إسكاته مع إبقاء سياسة متساهلة ينتج سجلًا نظيفًا وتعرضًا لم يتغير.

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 يغيّر الخوارزمية والتأطير، لا تلك الآلية.

لذا يتعلق التأطير الصادق بما أنت مستعد للسماح به، لا بالخوارزمية الموصى بها حاليًا. الرفض الصارم هو الخيار الوحيد الذي لا يعتمد على تعاون الطرف الآخر.

الاستقبال فقط حالة ترحيل، وليس وجهة

القبول غير المتماثل موجود كي يتوقف أحد الطرفين عن الضغط بينما لا يزال الآخر يتوقعه. إنه جسر، والجسور تحتاج إلى تاريخ انتهاء ومالك. سجّل أي الأقران ما زالوا يرسلون حركة مضغوطة، لأن السياسة تسمح بهذه الحركة تحديدًا. وبدون تلك القائمة يصبح وضع الترحيل هو التكوين الدائم بفعل القصور الذاتي.

لا يستطيع العميل إجبار خادم غير متوافق على التخلي عن التأطير القديم عبر تعديل ملفه. فاتجاه الدفع يُحدد على الخادم، لذا فإن تكوين الخادم وملفاته لكل عميل هما المكان الذي ينتهي فيه الترحيل فعلًا.

أوضاع stub تحفظ التأطير بينما تتجاوز عمل الضغط نفسه، وهي ليست بديلًا مباشرًا للخيار الأقدم. اختبرها مع أقدم قرين لا يزال عليك دعمه قبل الالتزام بواحد منها.

أين تُغيّر تفريغ قناة البيانات الجواب

ينقل تفريغ قناة البيانات معالجة الحزم إلى النواة، وقد لا يناسب ملف التعريف الذي لا يزال يعتمد على تأطير الضغط هذا المسار المفرّغ. والفشل ليس صاخبًا دائمًا: يتصل العميل ثم يتصرف بشكل مختلف عن النفق الذي اختبرته.

تحقق من أي تنفيذ نشط قبل التغيير وبعده، لا فقط مما إذا كانت الاتصال ينجح. فعندما يرفض المسار المفرّغ تأطير الضغط، تتفق سياسة الرفض الصارم مع نشر مفرّغ، بينما لا تتفق سياسة متساهلة مع نشر مفرّغ.

يستحق هذا المزيج اختبارًا خاصًا به، لأنه بالضبط حيث يكون الملف الذي يبدو صحيحًا هو في صمت ليس الملف المستخدم. قارن الحالة المتفاوض عليها بالنية المسجلة في ملف التعريف، لأن واحدة منهما فقط ظاهرة في السجل.

اختر سياسة ثم تحقق من النتيجة المتفاوض عليها

اختر الرفض الصارم عندما تستطيع تغيير الطرفين، والقبول غير المتماثل عندما لا تستطيع بعد، والضغط الكامل فقط عندما تستطيع أن تبيّن سبب قبول التعرض. ثم تحقق مما تم التفاوض عليه لا مما يقوله الملف. السجل الأهدأ دليل فقط عندما يطابق السياسة التي كنت تنوي نشرها.

أبقِ القرار بجانب ملف التعريف الذي ينطبق عليه، مع التاريخ والأقران المعفيين بعد. بعد ستة أشهر، يكون ذلك التدوين هو الفرق بين استثناء متعمد وحادث لا يستطيع أحد تأريخه. اكتبه في المستودع نفسه الذي يحوي ملف التعريف ليرى المحرر التالي السبب قبل التوجيه.

مقالات ذات صلة