← คู่มือ Mesh Networking — สื่อสารในที่ที่ไม่มีเสาสัญญาณ
LEVEL 4 · ระดับเทพ
จากจำลองสู่สนามจริง
บทสุดท้าย ว่าด้วยสิ่งที่สิบสี่บทที่ผ่านมาไม่ได้บอก และเป็นสิ่งที่ตัวจำลองไม่มีวันบอกคุณได้
15.1 ห้าอย่างที่โมเดลโกหกเสมอ
หนึ่ง — ระยะไม่ใช่วงกลม ทุกโค้ดในเล่มนี้ตัดสินว่ามีลิงก์หรือไม่จากระยะทางล้วน ๆ ซึ่งไม่มีอยู่จริงในธรรมชาติ ของจริงเป็นหย่อม ๆ ตามภูมิประเทศ บางทีคุณคุยกับคนที่อยู่ไกล 2 กม. ได้ แต่คุยกับคนที่อยู่หลังเนินห่าง 200 เมตรไม่ได้
สอง — ลิงก์ไม่สมมาตร A ได้ยิน B ชัด ไม่ได้แปลว่า B ได้ยิน A ชัด เพราะกำลังส่ง เสาอากาศ และสภาพรอบตัวของสองฝั่งไม่เท่ากัน · นี่คือเหตุผลที่ ETX ต้องคูณสองทิศตั้งแต่บทที่ 4 ไม่ใช่วัดทิศเดียวแล้วยกกำลังสอง
สาม — มีคนอื่นในอากาศเสมอ สนามจริงมีวิทยุของหน่วยอื่น มีสัญญาณรบกวนจากอุปกรณ์ที่ไม่มีใครรู้ว่ามาจากไหน ตัวจำลองมีแต่โหนดของเราเอง
สี่ — แบตหมดเร็วกว่าที่คำนวณ ความเย็น ความร้อน และการส่งกำลังสูงกินแบตเร็วกว่าตัวเลขบนกระดาษเสมอ
ห้า — คนใช้งานไม่ทำตามที่ออกแบบไว้ โหนดที่คุณออกแบบให้เป็นตัวส่งต่อกลางทาง อาจถูกใครสักคนหยิบใส่กระเป๋าแล้วเดินออกจากพื้นที่
15.2 ลำดับที่ควรทำถ้าจะลงมือจริง
- จำลองตรรกะให้ผ่านก่อน — flapping ต้องหยุด เส้นทางต้องซ่อมตัวเองได้ อย่าเพิ่งแตะฮาร์ดแวร์
- ทดสอบสองโหนดบนโต๊ะ — พิสูจน์ว่ารูปแบบข้อความส่งถึงกันจริงและ ATAK อ่านออก (บทที่ 13)
- ทดสอบสามโหนดที่บังคับให้ต้องกระโดด — วางให้ตัวริมสองตัวคุยกันตรงไม่ได้ นี่คือการทดสอบ mesh ครั้งแรกที่มีความหมาย
- ออกภาคสนามพร้อมเครื่องมือวัด — บันทึก ETX จริงเทียบกับที่โมเดลทำนาย ส่วนต่างตรงนี้คือความรู้ที่หาจากที่อื่นไม่ได้
- แก้โมเดลให้ตรงกับที่วัดได้ แล้ววนกลับข้อ 1
⚠️ ข้อ 5 คือข้อที่คนข้ามบ่อยที่สุด ถ้าออกภาคสนามแล้วไม่เอาผลกลับมาแก้โมเดล การจำลองรอบต่อไปก็ยังโกหกเรื่องเดิม
15.3 กลับไปที่ประโยคเดียวของเล่มนี้
ลิงก์ในเมชไม่ใช่สาย แต่เป็นค่าประมาณที่เน่าตามเวลา
ทุกกลไกที่ผ่านมาคือคำตอบต่อประโยคนี้ในมุมต่างกัน — hello สู้กับความเน่า · ETX สู้กับความเป็นค่าประมาณ · hysteresis ยอมรับว่าค่าที่แกว่งไม่ใช่ความจริงที่เปลี่ยน · หลายคลื่นเปลี่ยนสนามแข่งทั้งสนาม · และ stale ใน CoT เขียนความจริงข้อนี้ลงไปในข้อมูลตรง ๆ ว่า "นี่คือสิ่งที่ฉันรู้ล่าสุด ไม่ใช่สิ่งที่เป็นอยู่ตอนนี้"
ถ้าจะเหลือประโยคเดียวจากทั้งเล่ม ขอให้เป็นประโยคนี้ เพราะเวลาเจอปัญหาที่เล่มนี้ไม่ได้พูดถึง คำถามแรกที่ควรถามคือ "ตรงนี้ระบบกำลังเชื่ออะไรที่มันไม่มีทางรู้แน่นอน และมันเชื่อมานานแค่ไหนแล้ว"
อ่านต่อ: System Design#
เมชแก้ปัญหาว่าข้อมูลจะเดินทางถึงกันได้ยังไงเมื่อไม่มีโครงสร้างพื้นฐาน แต่พอข้อมูลถึงปลายทางแล้ว คำถามถัดไปคือระบบที่รับมันไว้ควรถูกออกแบบยังไง — เก็บที่ไหน ขยายตัวยังไง และพังแล้วกู้กลับมาแบบไหน
System Design Handbook — ออกแบบระบบให้รองรับโลกจริงตั้งแต่เซิร์ฟเวอร์เดียวถึง production
ถ้าเนื้อหานี้มีประโยชน์ —เลี้ยงกาแฟสักแก้ว