‹

04. Protocol Drift — When Two Sides Disagree About the Contract

04. Protocol Drift — When Two Sides Disagree About the Contract

04. ​การเบี่ยงเบน​ของ​โปรโตคอล — ​เมื่อ​สอง​ฝ่าย​มี​ความเห็น​ไม่​ตรงกัน​เรื่อง​สัญญา

The Origins of Liberal Acceptance

​ต้นกำเนิด​ของ​การยอมรับ​แบบ​ยืดหยุ่น

In 1989, J. Postel and his colleagues codified a foundational design principle for internet communication within the document formally known as RFC 1122. This guideline, which advised developers to be conservative in what they do but liberal in what they accept, aimed to ensure maximum interoperability between disparate systems. The IETF architects believed that by accepting slightly malformed input, services could survive minor errors without collapsing, thereby keeping the network functional and resilient. However, this design choice quietly shifted the actual maintenance burden onto the side that attempted to remain strictly correct according to the original, intended specification. Because the receiver silently papered over errors, the sender was never alerted that their output had drifted away from the agreed-upon standards of the protocol. Over time, the original contract between these two systems effectively vanished, leaving behind a fragile, undocumented reality that neither party fully owned or understood.

​ใน​ปี 1989 J. Postel ​และ​คณะ​เขียน​หลักการ​ที่​ภายหลัง​จะ​ทำให้​สัญญา​ระหว่าง​ระบบ​เลือนหาย​ไป ​ลง​ใน​เอกสาร​ที่​รู้จัก​กัน​ใน​ชื่อ​ทางการ​ว่า RFC 1122 ​หลักการ​นั้น​ว่า​ไว้​สั้นๆ ​ทำ​ใน​สิ่ง​ที่​ตน​ทำ​อย่าง​อนุรักษ์นิยม ​ยอมรับ​สิ่ง​ที่​ได้รับ​อย่าง​ยืดหยุ่น ​เป้าหมาย​คือ​ให้​ระบบ​ที่​ต่างกัน​ทำงาน​ร่วมกัน​ได้มาก​ที่สุด ​สถาปนิก​ของ IETF ​เชื่อ​ว่า​ถ้า​ยอมรับ​อินพุต​ที่​ผิดรูป​แบบ​ไป​บ้าง ​บริการ​ต่างๆ ​จะ​รอด​จาก​ข้อผิดพลาด​เล็กน้อย​ได้​โดย​ไม่​ล่ม ​และ​เครือข่าย​จะ​ยัง​ทำงาน​ได้​และ​ทนทาน ​ทางเลือก​นี้​กลับ​ผลักภาระ​บำรุงรักษา​จริง​ไป​ไว้​ที่​ฝ่าย​ที่​พยายาม​ทำให้​ถูกต้อง​ตาม​ข้อกำหนด​ดั้งเดิม​อย่าง​เคร่งครัด ​โดย​ไม่​มี​ใคร​รู้ตัว ​ผู้รับ​กลบเกลื่อน​ข้อผิดพลาด​ไป​เงียบๆ ​ผู้ส่ง​จึง​ไม่​เคย​รู้​ว่า​เอาต์พุต​ของ​ตน​เบี่ยงเบน​ไป​จาก​มาตรฐาน​ของ​โปรโตคอล​ที่​ตกลง​กัน​ไว้ ​เมื่อ​เวลา​ผ่าน​ไป ​สัญญา​ดั้งเดิม​ระหว่าง​ระบบ​ทั้งสอง​ก็​หาย​ไป​ในทางปฏิบัติ ​เหลือ​ไว้​เพียง​ความเป็นจริง​ที่​เปราะบาง ​ไม่​มี​เอกสาร​กำกับ ​และ​ไม่​มี​ฝ่าย​ใด​เป็นเจ้าของ​หรือ​เข้าใจ​อย่าง​ถ่องแท้

The Cost of Silent Tolerance

​ต้นทุน​ของ​การยอมรับ​อย่าง​เงียบเชียบ

By 2023, the Internet Architecture Board, led by authors including Martin Thomson and T. Pauly, published RFC 9413 to formally address the consequences of this drift. The board observed that the long-standing habit of tolerating non-conforming input had inadvertently rewarded senders who failed to adhere to the established, rigorous protocol specifications. This silent tolerance entrenched deep ambiguity and created significant security flaws, as systems began to rely on unpredictable behaviors rather than the formal, explicit interface contract. The conservative sender, who continued to follow the rules, was forced to pay the maintenance cost indefinitely to accommodate the erratic behavior of the liberal peer. The IAB concluded that active protocol maintenance is far superior to the passive acceptance of malformed input, as it forces both sides to remain aligned. Contract testing, such as the use of consumer-driven contracts like Pact, serves as the modern enforcement mechanism that replaces vague assumptions with executable, verifiable interface expectations.

​ภายใน​ปี 2023 ​การเบี่ยงเบน​นี้​ถูก​จัดการ​อย่าง​เป็นทางการ Internet Architecture Board ​นำ​โดย​ผู้เขียน​ที่รวม​ถึง Martin Thomson ​และ T. Pauly ​เผยแพร่ RFC 9413 ​เพื่อ​รับมือ​กับ​ผล​ของ​มัน​โดยตรง ​คณะกรรมการ​สังเกตว่า​นิสัย​ยอมรับ​อินพุต​ที่​ไม่​ตรง​มาตรฐาน​ซึ่ง​มี​มา​นาน ​ให้รางวัล​แก่​ผู้ส่ง​ที่​ไม่​ทำตาม​ข้อกำหนด​โปรโตคอล​ที่​เข้มงวด​และ​ชัดเจน ​โดย​ไม่​มี​ใคร​ตั้งใจ ​การยอมรับ​เงียบๆ ​นี้​ฝัง​ความคลุมเครือ​ลง​ลึก ​และ​สร้าง​ข้อบกพร่อง​ด้าน​ความปลอดภัย​ที่​สำคัญ ​เพราะ​ระบบ​เริ่ม​พึ่งพา​พฤติกรรม​ที่​คาดเดา​ไม่​ได้ ​แทน​สัญญา​จุด​เชื่อมต่อ​ที่​ชัดเจน​และ​เป็นทางการ ​ผู้ส่ง​ที่​อนุรักษ์นิยม​และ​ยัง​ทำตาม​กฎ ​ต้อง​จ่าย​ต้นทุน​บำรุงรักษา​ไป​ไม่​มี​กำหนด ​เพื่อ​รองรับ​พฤติกรรม​ที่​เอา​แน่​เอา​นอน​ไม่​ได้​ของ​คู่สนทนา​ที่​ยืดหยุ่น​เกินไป IAB ​สรุป​ว่าการ​บำรุงรักษา​โปรโตคอล​เชิงรุก​เหนือกว่า​การรับ​อินพุต​ผิดรูป​แบบ​โดย​ไม่​โต้ตอบ​อยู่​มาก ​เพราะ​มัน​บังคับ​ให้​ทั้งสองฝ่าย​รักษา​แนวทาง​ให้​ตรงกัน​อยู่​เสมอ ​การทด​สอบ​สัญญา ​เช่น ​สัญญา​ที่​ขับเคลื่อน​โดย​ผู้ใช้งาน (consumer-driven contracts) ​อย่าง Pact ​คือ​กลไก​บังคับใช้​สมัยใหม่ ​มัน​แทนที่​ข้อสมมติ​ฐาน​ที่​คลุมเครือ​ด้วย​ความคาดหวัง​ต่อ​จุด​เชื่อมต่อ​ที่​รัน​ได้​และ​ตรวจสอบ​ได้​จริง

The Shift in Standards

​การเปลี่ยนแปลง​ของ​มาตรฐาน

The dispute regarding the validity of liberal acceptance is now resolved rather than contested, as the Internet Architecture Board has officially adopted the critique. The industry has moved away from the 1989 philosophy of RFC 1122 and toward the 2023 mandate of RFC 9413 for maintaining robust, predictable network protocols. The IETF has essentially reversed its stance, prioritizing explicit enforcement and clear contract adherence over the previous preference for loose, forgiving communication channels.

​ข้อพิพาท​เรื่อง​ความถูกต้อง​ของ​การยอมรับ​แบบ​ยืดหยุ่น​จบ​แล้ว ​ไม่​ใช่​ยัง​ถกเถียง​กัน​อยู่ ​เพราะ Internet Architecture Board ​รับคำ​วิจารณ์​นั้น​ไว้​อย่าง​เป็นทางการ ​อุตสาหกรรม​ย้าย​จาก​ปรัชญา​ปี 1989 ​ของ RFC 1122 ​ไป​สู่​ข้อบังคับ​ปี 2023 ​ของ RFC 9413 ​เพื่อ​รักษา​โปรโตคอล​เครือข่าย​ให้​ทนทาน​และ​คาดการณ์​ได้ IETF ​กลับ​จุดยืน​โดย​พื้นฐาน ​มัน​ให้น้ำ​หนัก​กับ​การบังคับใช้​ที่​ชัดเจน​และ​การทำตาม​สัญญา​ที่​ชัดแจ้ง ​มากกว่า​ช่องทางสื่อสาร​ที่​หละหลวม​และ​ให้อภัย​ความผิดพลาด​อย่าง​ที่​เคย​เลือก​ใน​อดีต

Example: A handshake that ignores a broken finger eventually leads to a grip that cannot hold any weight at all.

​ตัวอย่าง: ​จับมือ​โดย​ละเลย​นิ้ว​ที่​หัก ​สุดท้าย​มือ​นั้น​จะ​จับ​อะไร​ไม่​อยู่ ​รับ​น้ำหนัก​ไม่​ได้​เลย

Verdict. Systems fail when the interface contract is allowed to decay through the silent, unverified acceptance of inputs that deviate from the agreed specifications.

​คำตัดสิน. ​ระบบ​ล้มเหลว​เมื่อ​สัญญา​จุด​เชื่อมต่อ​ถูก​ปล่อย​ให้​เสื่อมถอย ​ผ่าน​อินพุต​ที่​เบี่ยงเบน​จาก​ข้อกำหนด​ที่​ตกลง​กัน​ไว้ ​แล้ว​ถูก​รับ​เข้ามา​เงียบเชียบ​โดย​ไม่​มี​การตรวจสอบ

Overturned if: A large-scale empirical study demonstrates that protocols enforcing strict input validation suffer higher rates of catastrophic failure than those using liberal acceptance policies.

​จะ​พลิก​คำตัดสิน​ได้​เมื่อ: ​มี​การศึกษา​เชิงประจักษ์​ขนาดใหญ่​แสดงว่า​โปรโตคอล​ที่บังคับ​ตรวจสอบ​อินพุต​อย่าง​เข้มงวด ​ล้มเหลว​ร้ายแรง​ใน​อัตรา​ที่สูง​กว่า​โปรโตคอล​ที่​ใช้​นโยบาย​ยอมรับ​แบบ​ยืดหยุ่น

Sources. 1989 · J. Postel et al., "Requirements for Internet Hosts — Communication Layers" — IETF Datatracker · 2023 · Internet Architecture Board / M. Thomson, T. Pauly, "Maintaining Robust Protocols" — RFC Editor

​แหล่ง​อ้างอิง. 1989 · J. Postel et al., "Requirements for Internet Hosts — Communication Layers" — IETF Datatracker · 2023 · Internet Architecture Board / M. Thomson, T. Pauly, "Maintaining Robust Protocols" — RFC Editor

บทถัดไป · 5 / 1205. Timeouts and Retries — The Cure That Causes the Disease
Size
Page
Font

At The Seams

❦
101. The Seam — Why Failure Concentrates Where Parts Meet01. รอยต่อ — เหตุใดความล้มเหลวจึงกระจุกตัว ณ จุดที่ส่วนประกอบมาบรรจบกัน202. Units and Assumptions — The Mismatch Nobody Owns02. หน่วยวัดและข้อสมมติฐาน — ความไม่เข้ากันที่ไม่มีใครรับผิดชอบ303. The Handoff — Where Information Goes to Die03. การส่งต่องาน — จุดที่ข้อมูลมักสูญหาย404. Protocol Drift — When Two Sides Disagree About the Contract04. การเบี่ยงเบนของโปรโตคอล — เมื่อสองฝ่ายมีความเห็นไม่ตรงกันเรื่องสัญญา505. Timeouts and Retries — The Cure That Causes the Disease05. การหมดเวลาและการลองใหม่ — ยาที่กลายเป็นต้นเหตุของโรค606. The Silent Success — Failure That Reports Everything Is Fine06. ความสำเร็จที่เงียบงัน — ความล้มเหลวที่รายงานว่าทุกอย่างเรียบร้อยดี707. Latent Conditions — Accidents That Were Already There07. เงื่อนไขแฝง — อุบัติเหตุที่ดำรงอยู่ก่อนแล้ว808. The Blame Reflex — Why 'Human Error' Ends the Inquiry08. ปฏิกิริยาตอบสนองด้วยการกล่าวโทษ — เหตุใด 'ความผิดพลาดของมนุษย์' จึงเป็นจุดจบของการสืบสวน909. The Postmortem — Turning an Outage Into an Asset09. การชันสูตรเหตุขัดข้อง — การเปลี่ยนเหตุการณ์หยุดชะงักให้เป็นสินทรัพย์1010. Resilience Engineering — Work as Imagined and Work as Done10. Resilience Engineering — งานอย่างที่คิดว่าทำ และงานอย่างที่ทำจริง1111. Control, Not Components — Leveson's Reframing11. การควบคุม ไม่ใช่ส่วนประกอบ — การปรับกรอบแนวคิดของ Leveson1212. Finding Your Own Seams — The Procedure12. การค้นหารอยต่อของคุณ — ขั้นตอนการปฏิบัติ