← กลับไปยังบทความทั้งหมด

โปรโตคอลการกำหนดเส้นทางแบบแหล่งกำเนิดไดนามิก (Dynamic Source Routing)

สรุปใจความสำคัญ

  • DSR เป็นโปรโตคอลแบบ On-demand ที่สร้างเส้นทางเมื่อต้องการใช้งานเท่านั้น
  • ใช้การกำหนดเส้นทางจากแหล่งกำเนิด (Source Routing) โดยระบุโหนดทั้งหมดในส่วนหัวของแพ็กเก็ต
  • เป็นโปรโตคอลแบบ Beacon-less ไม่ต้องส่งแพ็กเก็ต Hello เพื่อรักษาการเชื่อมต่อกับเพื่อนบ้าน
  • เหมาะสำหรับเครือข่าย MANETs ที่มีทรัพยากรจำกัดและมีการเคลื่อนที่ต่ำ

Dynamic Source Routing (DSR) คือโปรโตคอลการกำหนดเส้นทาง (Routing Protocol) สำหรับเครือข่ายเมชไร้สาย (Wireless Mesh Networks) และเครือข่ายแอดฮอกเคลื่อนที่ (Mobile Ad hoc Networks หรือ MANETs) โดยมีลักษณะเด่นคือเป็นโปรโตคอลแบบ On-demand หรือแบบตอบสนอง ซึ่งจะสร้างเส้นทางขึ้นเมื่อมีโหนดต้นทางต้องการส่งข้อมูลเท่านั้น แทนที่จะรักษาตารางการกำหนดเส้นทางให้เป็นปัจจุบันอยู่ตลอดเวลาเหมือนโปรโตคอลแบบ Table-driven

กลไกการทำงานของ DSR

ความแตกต่างที่สำคัญของ DSR เมื่อเทียบกับโปรโตคอลอื่น เช่น AODV คือการใช้ การกำหนดเส้นทางจากแหล่งกำเนิด (Source Routing) ซึ่งหมายความว่าโหนดต้นทางจะเป็นผู้กำหนดเส้นทางทั้งหมดที่แพ็กเก็ตข้อมูลจะต้องเดินทางผ่านจนถึงปลายทาง และระบุที่อยู่ของโหนดตัวกลางทุกโหนดไว้ในส่วนหัว (Header) ของแพ็กเก็ต

ระยะการค้นหาเส้นทาง (Route Discovery Phase)

เมื่อโหนดต้นทางต้องการส่งข้อมูลแต่ไม่มีเส้นทางไปยังปลายทางในแคช (Route Cache) จะเริ่มกระบวนการดังนี้:

  • การส่งคำขอเส้นทาง (Route Request - RREQ): ต้นทางจะส่งแพ็กเก็ต RREQ แบบกระจาย (Flooding) ไปยังโหนดเพื่อนบ้าน โดยใน RREQ จะมีหมายเลขลำดับ (Sequence Number) เพื่อป้องกันการเกิดลูป (Loop) และป้องกันไม่ให้โหนดตัวกลางส่งแพ็กเก็ตซ้ำ
  • การสะสมเส้นทาง: ทุกโหนดที่ได้รับ RREQ และไม่ใช่ปลายทาง จะเพิ่มที่อยู่ของตนเองลงในแพ็กเก็ตก่อนส่งต่อไปยังโหนดถัดไป ทำให้ปลายทางได้รับรายการโหนดทั้งหมดที่ต้องผ่าน
  • การตอบกลับเส้นทาง (Route Reply - RREP): เมื่อปลายทางได้รับ RREQ จะส่งแพ็กเก็ต RREP กลับไปยังต้นทาง โดยใช้เส้นทางที่ระบุไว้ใน RREQ หรือใช้เส้นทางที่มีอยู่ในแคชของตนเอง

ระยะการบำรุงรักษาเส้นทาง (Route Maintenance Phase)

เนื่องจากโหนดใน MANETs มีการเคลื่อนที่ตลอดเวลา เส้นทางที่เคยใช้งานได้อาจขาดหายไป DSR จึงมีกลไกจัดการดังนี้:

  • การแจ้งข้อผิดพลาด (Route Error - RERR): หากโหนดตัวกลางพบว่าไม่สามารถส่งข้อมูลไปยังโหนดถัดไปในเส้นทางที่ระบุได้ จะสร้างแพ็กเก็ต RERR ส่งกลับไปยังต้นทาง
  • การปรับปรุงแคช: เมื่อต้นทางได้รับ RERR จะลบเส้นทางที่เสียออกจากแคช และหากจำเป็นต้องส่งข้อมูลต่อ จะเริ่มกระบวนการค้นหาเส้นทาง (Route Discovery) ใหม่อีกครั้ง

การจัดการแบนด์วิดท์และประสิทธิภาพ

DSR ถูกออกแบบมาเพื่อลดการใช้แบนด์วิดท์ของแพ็กเก็ตควบคุม (Control Packets) โดยมีคุณสมบัติเด่นคือ เป็นโปรโตคอลแบบไร้บีคอน (Beacon-less) ซึ่งไม่ต้องส่งแพ็กเก็ต Hello เพื่อแจ้งสถานะการมีอยู่ของโหนดเพื่อนบ้านเป็นระยะๆ ช่วยลดการสิ้นเปลืองพลังงานและทรัพยากรเครือข่าย

ข้อดีและข้อจำกัด

ข้อดี

  • ลดภาระเครือข่าย: ไม่ต้องส่งข้อมูลอัปเดตตารางเส้นทางตลอดเวลา ทำให้ประหยัดแบนด์วิดท์ในสภาวะที่เครือข่ายไม่มีการส่งข้อมูล
  • ประสิทธิภาพของแคช: โหนดตัวกลางสามารถใช้ข้อมูลในแคชเพื่อช่วยในการส่งต่อข้อมูลได้รวดเร็วขึ้น
  • ความยืดหยุ่น: สามารถทำงานได้ดีในสภาพแวดล้อมที่มีการเคลื่อนที่ต่ำหรือคงที่

ข้อจำกัด

  • ภาระส่วนหัว (Overhead): เนื่องจากการระบุที่อยู่ของทุกโหนดในแพ็กเก็ต ทำให้ขนาดส่วนหัวของแพ็กเก็ตใหญ่ขึ้น โดยเฉพาะในเครือข่ายที่ใช้ IPv6 หรือเส้นทางที่มีจำนวนโฮป (Hop) มาก
  • ความล่าช้าในการเชื่อมต่อ: มีความล่าช้าในการเริ่มส่งข้อมูลครั้งแรก (Setup Delay) สูงกว่าโปรโตคอลแบบ Table-driven
  • ผลกระทบจากการเคลื่อนที่: ประสิทธิภาพจะลดลงอย่างรวดเร็วเมื่อโหนดมีการเคลื่อนที่สูง เนื่องจากเส้นทางในแคชจะล้าสมัย (Stale) ได้ง่าย และ DSR ไม่มีการซ่อมแซมลิงก์ที่ขาดหายในระดับท้องถิ่น (Local Repair)

คำถามที่พบบ่อย

Dynamic Source Routing (DSR) แตกต่างจาก AODV อย่างไร?

ความแตกต่างหลักคือ DSR ใช้ Source Routing ซึ่งต้นทางเป็นผู้กำหนดเส้นทางทั้งหมดไว้ในแพ็กเก็ต ในขณะที่ AODV ใช้การกำหนดเส้นทางแบบ Hop-by-hop โดยอาศัยตารางการกำหนดเส้นทางในแต่ละโหนดตัวกลาง

ทำไม DSR ถึงถูกเรียกว่าเป็นโปรโตคอลแบบ Beacon-less?

เพราะ DSR ไม่จำเป็นต้องส่งแพ็กเก็ต Hello หรือ Beacon เป็นระยะๆ เพื่อแจ้งให้โหนดรอบข้างทราบว่าตนเองยังอยู่ในเครือข่าย ซึ่งช่วยลดการใช้แบนด์วิดท์และประหยัดพลังงาน

ข้อเสียหลักของการใช้ Source Routing ใน DSR คืออะไร?

คือการเพิ่ม Overhead ในส่วนหัวของแพ็กเก็ต เนื่องจากต้องบรรจุที่อยู่ของทุกโหนดที่ข้อมูลต้องเดินทางผ่าน ยิ่งเส้นทางยาวหรือใช้ที่อยู่ขนาดใหญ่ (เช่น IPv6) จะยิ่งทำให้แพ็กเก็ตมีขนาดใหญ่ขึ้น

DSR ทำงานอย่างไรเมื่อเส้นทางขาดหาย?

เมื่อโหนดตัวกลางพบว่าลิงก์ขาด จะส่งแพ็กเก็ต Route Error (RERR) กลับไปยังต้นทาง เพื่อให้ต้นทางลบเส้นทางนั้นออกจากแคชและเริ่มกระบวนการค้นหาเส้นทางใหม่ (Route Discovery)