← คู่มือ Mesh Networking — สื่อสารในที่ที่ไม่มีเสาสัญญาณ
LEVEL 0 · ปูพื้นจากศูนย์
เมื่อไม่มีเสาสัญญาณให้พึ่ง
ลองนึกภาพนี้ให้ชัดก่อน เพราะทั้งเล่มจะวนกลับมาที่มันตลอด
ทีมกู้ภัยหกคนเข้าไปในหุบเขาที่ไฟกำลังไหม้ โทรศัพท์ทุกเครื่องขึ้นว่าไม่มีสัญญาณ — ไม่ใช่เพราะเครื่องเสีย แต่เพราะเสาสัญญาณที่ใกล้ที่สุดอยู่ห่างออกไปยี่สิบกิโลเมตรและมีภูเขาขวางอยู่ ทุกคนยังต้องรู้ว่าอีกห้าคนอยู่ตรงไหน ไฟลามไปทางไหนแล้ว และใครกำลังเดินเข้าไปในทิศที่ลมกำลังพัดไฟมา
คำถามของเล่มนี้คือคำถามเดียว: ทำให้ทั้งหกคนคุยกันได้ยังไง ในเมื่อไม่มีใครเป็นศูนย์กลาง
1.1 ทำไมเครือข่ายที่เราคุ้นเคยถึงใช้ไม่ได้
เครือข่ายที่คุณใช้ทุกวันมีโครงสร้างแบบ ดาว — มีตัวกลางหนึ่งตัวที่ทุกคนต่อเข้าหา
มือถือคุณไม่เคยคุยกับมือถือเพื่อนโดยตรงสักครั้งเดียว มันคุยกับเสา เสาคุยกับเครือข่ายผู้ให้บริการ แล้วเครือข่ายค่อยส่งต่อลงมาที่เสาอีกต้นที่เพื่อนคุณเกาะอยู่ WiFi ที่บ้านก็เหมือนกัน โน้ตบุ๊กคุยกับ router ตัวเดียว ไม่ได้คุยกับทีวีที่นั่งอยู่ข้าง ๆ โดยตรง
โครงสร้างแบบนี้ทำงานดีมากจนเราลืมไปว่ามันมีเงื่อนไข: ตัวกลางต้องมีอยู่ และทุกคนต้องเอื้อมถึงมัน พอเงื่อนไขนั้นหายไป — เสาไฟไหม้ ไฟดับ น้ำท่วมสถานี หรือแค่เดินเข้าไปในที่ที่ไม่เคยมีใครลากไฟเข้าไป — เครือข่ายทั้งระบบกลายเป็นศูนย์ ไม่ใช่ช้าลง แต่เป็นศูนย์
1.2 ทางออกที่ชื่อว่า mesh
Mesh network คือเครือข่ายที่ไม่มีตัวกลาง ทุกเครื่องเป็นทั้งผู้ใช้และผู้ส่งต่อในตัวเดียวกัน
ถ้าคนที่ 1 กับคนที่ 6 อยู่ไกลกันเกินกว่าวิทยุจะคุยกันตรง ๆ ได้ ข้อความจะไม่ตาย — มันจะกระโดดผ่านคนที่ 3 ที่บังเอิญยืนอยู่ตรงกลาง แล้วต่อไปที่คนที่ 6 การกระโดดหนึ่งครั้งเรียกว่า hop และความสามารถในการหาเส้นทางกระโดดเองโดยไม่มีใครสั่ง คือหัวใจทั้งหมดของเล่มนี้
💡 คำที่จะเจอตลอดเล่ม — โหนด (node) = อุปกรณ์หนึ่งตัวในเครือข่าย (วิทยุ + คอมพิวเตอร์เล็ก ๆ ในกล่องเดียว) · ลิงก์ (link) = ความสามารถในการคุยกันตรง ๆ ระหว่างโหนดสองตัว · เส้นทาง (route) = ลำดับ hop ที่ข้อมูลต้องเดินเพื่อไปถึงปลายทาง
1.3 ทำไมมันถึงไม่ใช่เรื่องง่าย
ถ้าโจทย์มีแค่ "หาทางไปให้ถึง" มันคงจบตั้งแต่ยุค 1970 อัลกอริทึมหาเส้นทางสั้นที่สุดในกราฟเป็นเรื่องที่แก้ได้นานแล้ว ปัญหาจริงคือสามข้อที่กราฟในตำราไม่มี
หนึ่ง — โหนดขยับตลอดเวลา คนเดิน รถวิ่ง โดรนบิน เส้นทางที่คำนวณไว้เมื่อสามสิบวินาทีก่อนอาจไม่มีอยู่แล้ว
สอง — ลิงก์ไม่ได้มีแค่ "มี" กับ "ไม่มี" สายแลนเสียบแล้วคือเสียบ แต่คลื่นวิทยุมีสภาพเป็นเฉด — ส่งได้บ้างไม่ได้บ้าง ดีตอนเช้าแย่ตอนบ่าย ดีตอนยืนแย่ตอนนั่ง
สาม — ทุกคนใช้อากาศก้อนเดียวกัน ในเครือข่ายมีสาย การที่ A คุยกับ B ไม่รบกวน C คุยกับ D เพราะเป็นคนละเส้น แต่ในอากาศ ทุกคนที่อยู่ในระยะได้ยินกันหมด และการพูดพร้อมกันแปลว่าไม่มีใครได้ยินอะไรเลย
สามข้อนี้คือเหตุผลที่ทั้งเล่มต้องยาวถึงสิบห้าบท และเป็นเหตุผลที่บทหน้าต้องเริ่มจากคลื่นวิทยุก่อน — เพราะถ้าไม่เข้าใจว่าคลื่นทำตัวยังไง ข้อสองกับข้อสามจะเป็นแค่คำพูดลอย ๆ ที่จำได้แต่ใช้ไม่เป็น