330 likes | 660 Views
Network Layer Protocol Routing Protocol. Router ( เราท์เตอร์ ) คือ อุปกรณ์ที่ทำหน้าที่ ในเลเยอร์ 3 หรือเลเยอร์ เครือข่าย Router จะสามารถค้นหาเส้นทางในการส่งข้อมูลระหว่างเครือข่าย
E N D
Router (เราท์เตอร์) คือ อุปกรณ์ที่ทำหน้าที่ในเลเยอร์ 3 หรือเลเยอร์เครือข่าย Router จะสามารถค้นหาเส้นทางในการส่งข้อมูลระหว่างเครือข่าย Router จะมีข้อมูลเกี่ยวกับการจัดเส้นทางให้แพ็กเก็ต เรียกว่า Routing Table (เราติ้งเทเบิ้ล) หรือ ตารางการจัดเส้นทาง ข้อมูลในตารางนี้จะเป็นข้อมูลที่ Router ใช้ในการเลือกเส้นทางที่ดีที่สุดไปยังปลายทาง ถ้าเส้นทางหลักเกิดขัดข้อง Router ก็สามารถเลือกเส้นทางใหม่ได้
Routing Protocol Routing Protocolคือโพรโทคอลที่ใช้ในการแลกเปลี่ยน routing table ระหว่างอุปกรณ์เครือข่ายต่างๆที่ทำงานในระดับ Network Layer (Layer 3) เช่น Router เพื่อให้อุปกรณ์เหล่านี้สามารถส่งข้อมูล (IP packet) ไปยังคอมพิวเตอร์ปลายทางได้อย่างถูกต้อง โดยที่ผู้ดูแลเครือข่ายไม่ต้องแก้ไขข้อมูล routing table ของอุปกรณ์ต่างๆตลอดเวลา เรียกว่าการทำงานของ Routing Protocol ทำให้เกิดการใช้งาน dynamic routing ต่อระบบเครือข่าย
การส่งข้อมูล (Delivery) ในการส่งข้อมูลต่าง ๆ Network Layer จะเป็นตัวที่คอยควบคุมการส่งข้อมูล Packet ต่าง ๆ จากต้นทางไปจนถึงปลายทาง
การส่งต่อข้อมูล (Forwarding) Forwarding คือการกำหนดที่ตำแหน่งเส้นทางของ Packet เพื่อส่งไปยังเครื่องปลายทาง ในการ Forwarding จำเป็นต้องมีตารางเส้นทาง (Routing Table) ที่อยู่ใน Host หรือ Router ต่าง ๆ เมื่อ Host มี Packet ที่ต้องการส่ง หรือ Router ได้รับ Packet เข้ามามันจะทำการหาเส้นทางต่อไปจาก Routing Table แล้วก็ส่งไปยังเส้นทางเหล่านั้นส่งถึงปลายทาง
ตัวอย่าง 1 จงสร้าง Routing Table จาก Network ดังรูป
Tool ที่เกี่ยวข้อง เราสามารถใช้คำสั่ง netstat –rn ซึ่งจากเครื่องมือตัวนี้สามารถใช้ในการหา Routing table ได้ โดย r และ n เป็น option โดยที่ r คือแสดง Routing table ที่สนใจ และ n คือแสดงเฉพาะ address ที่เป็นตัวเลขเท่านั้น
Tool ที่เกี่ยวข้อง จากผลลัพธ์ของคำสั่ง netstat เราสามารถวาดเป็นระบบ network ได้ดังนี้
Tool ที่เกี่ยวข้อง คำสั่ง ifconfig สำหรับ Linux หรือ ipconfig สำหรับ Windows ใช้สำหรับดูรายละเอียดต่าง ๆ ในการ์ดแลนในเครื่องของเรา หรือ อาจจะเพิ่ม option เป็น ipconfig /all
ตารางหาเส้นทางประกอบด้วยข้อมูลที่สำคัญดังนี้ตารางหาเส้นทางประกอบด้วยข้อมูลที่สำคัญดังนี้ • Destination: หมายเลขเครือข่าย (Network IP Address) ที่จะใช้นำส่งแพ็คเก็ต ถ้าการนำส่งเป็นแบบ Host-specific routing ค่าในช่องนี้จะเป็นหมายเลขปลายทางของโฮสต์ (Host IP Address) • Next-hop address: หมายเลข IP ของเราเตอร์ตัวถัดไปที่จะส่งแพ็คเก็ตต่อไป • Interface: ชื่อของ Network Interface ที่เส้นทางนี้ใช้ • Flags: เครื่องหมายพิเศษเช่นU(up) หมายความว่าเส้นทางนั้นใช้งานได้อยู่ (Up and operational)G(Gateway) บ่งบอกว่าเส้นทางนี้เป็นการส่ง Datagram ไปยัง Gateway ถ้าหากว่าเส้นทางนั้นสามารถส่งข้อมูลไปถึงปลายทางได้เลย มันจะ ไม่มี flag นี้H (Host-specific) บ่งบอกว่าเส้นทางนั้นใช้ในการเดินทางไปยัง Host ใด Host หนึ่ง (แต่ปกติเราจะให้เป็นการเดินทางไปยัง Network มากกว่า)D(added by redirection จะถูก set เมื่อเส้นทางนั้นเป็นเส้นทางที่ถูกสร้างขึ้นเนื่องจากถูก Redirect จาก ICMP Redirecting Route Message และ M (modified by redirection)+Reference count: จำนวนผู้ใช้ที่กำลังใช้เส้นทางนี้+Use:จำนวนแพ็คเก็ตที่ได้ส่งผ่านเร้า เตอร์ตัวนี้
--เทคนิคการลดขนาดตารางหาเส้นทาง--เทคนิคการลดขนาดตารางหาเส้นทาง • เนื่องจากทุกวันนี้อินเตอร์เน็ตได้เป็นเครือข่ายที่มีขนาดใหญ่มาก มีจำนวนเครือข่ายค่อนข้างเยอะ เป็นผลให้ขนาดตารางหาเส้นทางใหญ่มากขึ้นด้วย ถ้าใช้ตารางหาเส้นทางแบบเดิมจะเป็นวิธีที่ไม่ค่อยมีประสิทธิภาพมากนัก ดังนั้นจึงได้มีการคิดค้นเทคนิคที่จะช่วยในการลดขนาดของตารางหาเส้นทางให้ เล็กลงและมีความปลอดภัยมากขึ้น • +Next-Hop Routingตารางหาเส้นทางจะเก็บข้อมูลเฉพาะเราเตอร์ตัวถัดไปที่แพ็กเก็ตจะต้องเดินผ่าน (next hop) เท่านั้น ไม่จำเป็นต้องเก็บข้อมูลของเราเตอร์ทั้งหมด+Network-Specific Routingเทคนิคนี้จะใช้วิธีของการเก็บแอดเดรสเครือข่ายไว้ แทนที่จะเก็บแอดเดรสของโฮสต์ ดังนั้นถึงแม้ว่าภายในเครือข่ายจะมี 1000 โฮสต์ แต่ไม่จำเป็นต้องเก็บแอดเดรสของโฮสต์ทั้งหมดก็ได้+Host-Specific Routingจะใช้หลักการที่ตรงข้ามกับ network-specific routing ถึงแม้ว่าเทคนิคนี้จะมีประสิทธิภาพน้อยกว่า เนื่องจากต้องเก็บแอดเดรสของโฮสต์เอาไว้ในตารางหาเส้นทาง แต่จะมีประโยชน์สำหรับผู้ควบคุมเครือข่ายที่สามารถกำหนดเส้นทางเดินให้กับ แต่ละ โฮสต์ได้ Host-Specific Routing จะใช้เพื่อวัตถุประสงค์บางอย่าง เช่น สำหรับทดสอบเส้นทางเดินของแพ็กเก็ต หรือเพื่อเหตุผลทางด้านความปลอดภัย เป็นต้น
การหาเส้นทางแบบสแตติกและไดนามิกการหาเส้นทางแบบสแตติกและไดนามิก • 1.การกำหนดแบบ static routing โดยผู้ดูแลระบบเครือข่ายจะเป็นผู้กำหนดค่าใน routing table เอง โดยไม่มีการเปลี่ยนแปลงในระหว่างการใช้งาน ตารางจึงไม่สามารถปรับปรุงโดยอัติโนมัติได้ ใช้ในกรณีที่การส่งข้อมูลระหว่างเน็ตเวิร์คมีเพียงเส้นทางเดียว หรือต้องการให้การส่งผ่านข้อมูลเป็นไปตามรูปแบบที่กำหนด ใช้สำหรับเครือข่ายขนาดเล็กที่ไม่ค่อยมีการเปลี่ยนแปลง • 2. การกำหนดแบบ dynamic routing โดยใช้โพรโตคอลหาเส้นทาง (routing protocol) ในการหาเส้นทางที่เหมาะสม ซึ่งข้อมูลในตารางหาเส้นทาง (routing table) อาจจะมีการเปลี่ยนแปลงเมื่อเน็ตเวิร์คมีการเปลี่ยนแปลง เช่น เราเตอร์บางตัวไม่สามารถใช้งานได้ หรือปริมาณของการสื่อสารในลิงค์หนึ่งมีความคับคั่งมาก โดยในการเปลี่ยนแปลงจะเกิดการสื่อสารระหว่างเราเตอร์เพื่ออัพเดทข้อมูลโดย ใช้ routing protocol ในการค้นหาเส้นทางอื่นที่ส่งข้อมูลไปยังเป้าหมายได้ หรือเส้นทางอื่นที่ดีกว่า ซึ่ง routing protocol ก็จะมีหลายโพรโตคอล เช่น OSPF (Open Shortest Path First), RIP (Routing Information Protocol), IGRP (Interior Gateway Routing Protocol) หรือ BGP (Border Gateway Protocol) โดยแต่ละโปรโตคอลจะมีความเหมาะสมในการใช้งานที่ต่างกัน เหมาะกับเครือข่ายขนาดใหญ่
ระบบออโตโนมัส คืออะไร • อินเตอร์เน็ตได้เติบโตไปมากจนเราเตอร์แต่ละตัวไม่สามารถเก็บ เส้นทางทั้งหมดในตารางหาเส้นทางได้อินเทอร์เน็ตจึงถูกแบ่งออกเป็น Autonomous System (AS) เป็นกลุ่มของเครือข่ายและเราเตอร์ที่มีการบริหารงานเป็นอิสระจากกลุ่มอื่นๆ
Unicast Routing Protocol Routing table สามารถเป็นได้ทั้ง static และ dynamic โดยแบบที่เป็น static คือเส้นทางต่าง ๆ ถูกกำหนดเอง ส่วนแบบ dynamic คือมีการแก้ไขเส้นทางแบบอัตโนมัติเมื่อเส้นทาง (route) ต่าง ๆ มีการเปลี่ยนแปลง
RIP (Routing Information Protocol) RIP จะเป็นการหาเส้นทางแบบ Distance vector นั่นคือคำนวณจากระยะห่าง หรือระยะทางต่าง ๆ ในเครือข่าย สำหรับการหาเส้นทางภายในระบบออโตโนมัส
RIP (Routing Information Protocol) การทำ RIP ในแต่ละ node จะทำการแชร์ข้อมูลกันระหว่าง Routing table แบบคร่าว ๆ และเมื่อมีการเปลี่ยนแปลงข้อมูลเส้นทาง การ update Routing table แบบ RIP
ตัวอย่าง 2 กำหนดค่าเริ่มต้นให้กับทุก Routing table
OSPF (Open Shortest Path First) OSPF จะมีการแบ่งระบบออโตโนมัสออกเป็นหลายพื้นที่ เพื่อให้การส่งแพ็กเก็ตเป็นไปได้อย่างมีประสิทธิภาพ แบบ Link state
Dijkstra algorithm • Dijkstra algorithm จะคำนวณเส้นทางที่สั้นที่สุดระหว่างจุด 2 จุดในเครือข่าย • ในการคำนวณจะมีการแบ่งโหนดออกเป็น 2 ชุด คือ • โหนดชั่วคราว(tentative) • โหนดถาวร (permanent) • ผลลัพธ์ที่ได้จากการคำนวณจะนำไปเก็บไว้ในฐานข้อมูลของ • link state • วิธีการคือ เปรียบเทียบระยะทางระหว่าง Node ต่าง ๆ แล้วเลือก Node ที่สั้นที่สุด
ตัวอย่าง 3 Routing table ของ node A
BGP (Border Gateway Protocol) เป็นโพรโตคอลสำหรับการหาเส้นทางระหว่างระบบออโตโนมัส ใช้เทคนิคในการหาเส้นทางที่เรียกว่า path vector path vector routing table
ตัวอย่าง 4 กำหนดค่าเริ่มต้นให้แต่ละ Routing table
ตัวอย่าง 4 ผลลัพธ์ที่ได้หลังจากหาเส้นทางแบบ path vector
2 9 4 6 10 8 5