วันพฤหัสบดีที่ 14 สิงหาคม พ.ศ. 2551

งานวันที่ 13 สิงหาคม 2551

Open Shortest Path First (OSPF)

Open Shortest Path First (OSPF) ถือเป็น เร้าติ้งโปรโตคอล (Routing Protocol) ตัวหนึ่งที่นิยมใช้กันอย่างแพร่หลายมากที่สุดในระบบเน็ตเวิร์ก เนื่องจากมีจุดเด่นในหลายด้าน เช่น การที่ตัวมันเป็น Routing Protocol แบบ Link State, การที่มีอัลกอรึทึมในการค้นหาเส้นทางด้วยตัวเอง ซึ่งเปรียบเสมือนว่า ตัวของ เราเตอร์ที่รัน OSPF ทุกตัวเป็นรูท (Root) หรือ จุดเริ่มต้นของระบบไปยังกิ่งย่อยๆ หรือโหนด (Node) ต่างๆ ซึ่งเป็นเทคนิคในการลดเส้นทางที่วนลูป (Routing Loop) ของการ Routing ได้เป็นอย่างดี รวมถึงความสามารถในการ Convergence หรือ การรับรู้ถึงความเปลี่ยนแปลงใน Topology หรือเส้นทางของ Network ได้อย่างรวดเร็วจนกระทั่งพูดได้เลยว่า แทบจะทันทีที่มีการเปลี่ยนแปลง Topology ขึ้นในระบบ และความสามารถในการรองรับการขยายของระบบ (Scalable) ได้อย่างดีเยี่ยม ซึ่ง ข้อดีดังกล่าวนั้น ทำให้ บรรดา Network Architect ต่างๆ นั้นนิยมเลือก OSPF มาเป็น Routing Protocol หลัก แทนที่ Routing Protocol แบบ Distance Vector เช่น RIP หรือ IGRP ซึ่ง ก่อนที่จะลงถึงรายละเอียดของ OSPF นั้น ก็จะมีการเกริ่นถึง คำที่เกี่ยวข้องภายใน Routing Protocol ของ OSPF เสียก่อน

OSPF Terminology

Neighbor – หรือ เราเตอร์เพื่อนบ้าน ในที่นี้จะหมายถึง เราเตอร์ที่ รัน Process ของ OSPF ซึ่งทำการเชื่อมต่ออยู่กับเราเตอร์ตัวอื่นๆ ที่รัน OSPF อยู่ด้วยเช่นกัน หรือที่เรียกว่า Adjacent Router (เราเตอร์ที่เชื่อมต่อกัน) ซึ่ง เราเตอร์เพื่อนบ้านกันนี้ จะคอยค้นหากันและกันผ่าน Hello Packet ซึ่งข้อมูลที่เกี่ยวข้องในการเราติ้งจะไม่ถูกส่งผ่านกันจนกว่าจะมีการฟอร์มความสัมพันธ์ระหว่างกันและกัน (Adjacency Forms)

Adjacency – หรือ เป็นการฟอร์มความสัมพันธ์กันระหว่างเราเตอร์เพื่อนบ้าน กับ เราเตอร์ที่ทำหน้าที่ที่เรียกว่า Designated Router และ Backup Designated Router (จะกล่าวเรื่องนี้อีกครั้งในช่วงต่อๆไป)

Link – เป็นการเรียกถึงเน็ตเวิร์กที่รัน OSPF อยู่ หรืออาจหมายถึง Interface ที่ทำการรัน OSPF อยู่ด้วยก็ได้

Interface หมายถึง พอร์ทที่เชื่อมต่ออยู่กับเราเตอร์ ซึ่งอาจจะเป็น Physical Port (เช่น อีเธอร์เน็ต) หรืออาจจะเป็น Logical Port (เช่น Sub-Interface ในการเซต Frame-Relay) เมื่ออินเทอร์เฟซนั้นๆ ถูกเซตให้อยู่ใน Process ของ OSPF แล้ว และอินเทอร์เฟซอยู่ในสถานะที่ UP ตัว Process ของ OSPF จะทำการสร้าง Link State Database โดยผ่านทาง Link นี้

Link State Advertisement (LSA) – เป็น แพคเกตข้อมูลที่ OSPF Process ใช้ในการแลกเปลี่ยนสถานะของอินเทอร์เฟซและลิงค์ในหมู่เราเตอร์ที่รัน OSPF ด้วยกัน ซึ่งจะมีการแยกประเภทของ LSA packet ในช่วงหลังของบทความ

Designated Router (DR) - เป็นเราเตอร์ที่เป็นจุดศูนย์กลางในการแลกเปลี่ยนข้อมูลหรือสถานะในระหว่างเราเตอร์ด้วยกัน เนื่องจาก การมี เราเตอร์ที่ทำหน้าที่เป็น Centralize ในระบบ จะสามารถช่วยลดปริมาณแพคเกต LSA ที่จะส่งกันในหมู่เราเตอร์ด้วยกันได้ ซึ่ง DR นี้ จะถูกใช้ใน เน็ตเวิร์กที่เป็น Broadcast (Multi-Access) และ Non-Broadcast Multi-Access (เช่น อีเธอร์เน็ต หรือ เฟรมรีเลย์ เท่านั้น)

Backup Designated Router (BDR) จะถือว่าเป็นเราเตอร์ตัวแทน (Hot Standby) ของ Designated Router (DR) โดยที่ BDR จะคอยรับ Routing Update จากเราเตอร์เพื่อนบ้าน แต่ตัวมันเองจะไม่ทำการ Flood LSA ออกไปเหมือนอย่างที่ DR ทำ จนกระทั่งหากว่า DR ในระบบล่มลงไป BDR จึงจะเข้ามาเป็น DR แทน

OSPF Areas – ในความหมายของ AREA ใน OSPF จะคล้ายๆกับ เป็น Autonomous System (AS) หนึ่งๆ ซึ่งเหมือนกับเป็นกลุ่มของเราเตอร์ที่รัน OSPF ด้วยกัน และมีขอบเขตในการแลกเปลี่ยนเราติ้งเทเบิลกันภายในกลุ่มของตัวเองเท่านั้นโดยดีฟอล์ต (Default)

Internal Router – หมายถึง เราเตอร์ที่รัน OSPF แต่ ทุกๆ Interface อยู่ภายใน Area ของตนเท่านั้น หรือ ไม่มี Interface ใดๆ อยู่ภายใน Area อื่น หรือ Routing Protocol อื่นๆ

Area Border Router (ABR) – หมายถึง เราเตอร์ที่รัน OSPF ที่มีอินเทอร์เฟซอยู่มากกว่า 1 AREA และ ถูกใช้เป็นทางเข้าสำหรับเราติ้งเทเบิลของภายนอก AS ที่จะเข้ามา update ภายใน Area ด้านใน

Autonomous System Boundary Router (ASBR) – หมายถึง เราเตอร์ที่มี อินเทอร์เฟซที่ นอกเหนือจากรัน OSPF แล้ว ยังรันเราติ้งโปรโตคอลอื่นๆ ด้วย เช่น EIGRP, RIP (เราถือว่า เราติ้งโปรโตคอลอื่นๆ ว่าเป็น External Area) และหน้าที่ของ ASBR ก็คือ การถ่ายทอด เราติ้งเทเบิลเข้ามายังใน OSPF Area

Non-Broadcast Multi-Access (NMBA), Broadcast Multi-Access – หมายถึง เน็ตเวิร์กที่อนุญาตให้มีการ Access มากกว่า 1 Session แต่ไม่มีการ Broadcast Packet เช่น Frame Relay, X.25 และ Broadcast Multi-Access เช่น อีเธอร์เน็ต เปนต้น

Point-to-Point – หมายถึงการเชื่อมต่อแบบ จุดต่อจุด เช่น Dedicated Link (T1), PPP เป็นต้น

Router ID – หมายถึง IP Address ที่ได้ทำการ Assign เพื่อเป็นการ Identify ให้กับเราเตอร์ในการเลือก DR, BDR โดยที่ปกติแล้ว เราเตอร์ใน OSPF จะเลือก DR จาก Router ID ที่ IP Address ที่สูงที่สุดที่เซตใน Loopback Interface แต่ถ้าหากว่า Loopback Interface ไม่ถูกเซตไว้ ก็จะทำการเลือก IP Address ที่สูงสุดใน Physical Interface แทน

ข้อดีของ OSPF

- สนับสนุนการแบ่งเน็ตเวิร์กเป็นลำดับขั้น (Hierarchical Network)
- ใช้อัลกอริทึม ของ Diijkstra (Link State) ในการค้นหาเส้นทาง และป้องกันเราติ้งลูป
- สนับสนุน Classless Routing และ CIDR (Classless Interdomain Routing)
- สามารถทำ Route Summarization เพื่อลดขนาดของเราติ้งเทเบิลได้
- ราติ้งอัพเดตสามารถที่จะควบคุมการส่งได้ ไม่เหมือน Routing Protocol แบบ Distance Vector ที่ต้องส่ง Routing Table ทั้งตัว ออกไปตามช่วงเวลาที่กำหนด ทำให้สูญเสีย แบนด์วิดธ์ไปโดยไม่จำเป็น
- ในการส่ง Routing Update จะทำผ่าน มัลติคาส์ท แอดเดรส (Multicast Address) ซึ่งมีข้อดีคือ ลดผลกระทบต่อ Host หรือ Client อื่นๆ จาก การ บรอดคาสท์ (Broadcast)
- สนับสนุนการทำ Authentication ทั้งแบบ Clear Text และ MD5

OSPF Overview

- Instances หรือ โปรเซสของ OSPF สามารถเริ่มได้ตั้งแต่ 1
– 65535 แต่ไม่สมควรกระทำการรัน OSPF มากกว่า 1 โปรเซสพร้อมๆ กัน หากไม่จำเป็น
- AREA ของ OSPF สามารถมีได้ถึง 2^32 หรือ ประมาน 4,200,000 AREA
- ในเราเตอร์ที่รัน OSPF จะต้องมี AREA 0 อยู่ เสมอ ถือว่าเป็น Backbone AREA
- หากว่าเน็ตเวิร์กนั้นๆ มีหลาย AREA ทุก AREA จะต้องคอนเนคเข้าหา AREA 0 เสมอ อาจจะเป็นการต่ออินเทอร์เฟซเข้าหา AREA 0 หรือทำ Virtual Links วิ่งเข้าหา AREA 0 ก็ได้
- Default Administrative Distance ของ OSPF คือ 110

OPSF Tables

ใน OSPF นั้น จะมีตารางภายในเราเตอร์ทั้งหมด 3 ตารางคือ
1. Neighbor Table ไว้เก็บรายชื่อเราเตอร์ที่ฟอร์มความสัมพันธ์ และ สถานะของ DR/BDR และ สถานะของลิงค์, Hello และ Dead Time Interval
2. Topology Table ไว้เก็บเส้นทางที่เป็นไปได้ทั้งหมดในการที่เราเตอร์จะส่งแพคเกตไปยังปลายทาง ซึ่งใน OSPF สามารถที่จะทำการกระจายโหลด (Load Balance) ไปยังเส้นทางที่มี Cost เท่ากันได้ 6 เส้นทาง (4เส้นทางโดยค่า Default)
3. Routing Table ไว้เก็บเส้นทางที่สั้นที่สุดที่ได้รับการคำนวณมาจาก SPF Algorithms เรียบร้อยแล้ว


SPF Calculation

ใน OSPF จะใช้ อัลกอรึทึมของ Diijkstra (Link State) ในการคำนวณหาเส้นทางที่สั้นที่สุด โดยพิจารณาจากเส้นทางที่สั้นที่จุดจากจุดหนึ่งไปยังอีกจุดหนึ่ง และเมื่อไปถึงปลายทางแล้ว ก็จะทำ Cumulative Cost หรือ ค่าของลิงค์หรือแบนด์วิดธ์โดยรวมมาเปรียบเทียบกัน ซึ่งหากว่า เส้นทางใดที่มองจากต้นทางไปยังปลายแล้ว มีค่า Cost ที่ ดีที่สุด เราจะถือว่าเส้นทางนั้นเป็นเส้นทางที่ Shortest Path ซึ่งใน Cisco Routers นั้น สูตรในการคำนวณ เส้นทางแต่ละเส้นทางของ OSPF จะนำมาจากสูตร

Cost = (10^8/Bandwidth)

ซึ่งการค้นหาเส้นทางที่สั้นที่สุด ก็จะนำเอา Cost ของจากขาออกของอินเทอร์เฟซจุดหนึ่งไปถึงอีกอินเทอร์เฟซจุดหนึ่งมาบวกต่อๆ กัน จนกระทั่งถึงอินเทอร์เฟซของเราเตอร์ปลายทาง และนำมาเปรียบเทียบกันกับเส้นทางอื่นๆ เราเรียกผลรวมในลักษณะนี้ว่า “Cumulative Cost”

OSPF Operation

กระบวนการของ OSPF จะเกิดขึ้นตามลำดับต่อไปนี้
- ค้นหาเราเตอร์ที่รัน OSPF และฟอร์มความสัมพันธ์ด้วย Hello Packet

- เราเตอร์ต่างเก็บชื่อและสถานะของ Link ไว้ที่ Neighbor Table
- เลือก DR/BDR (หากเป็น Point-to-Point, Point-to-Multipoint จุดนี้จะถูกข้ามไป)
- ทำการ Flood LSA เพื่อแลกเปลี่ยนสถานะของ Link และ Interface โดยทำการ Copy LSA และทำการเพิ่มสถานะของตน จากนั้น Flood ออกไปยัง DR ที่ Multicast Address 224.0.0.6 และให้ DR เป็นผู้ Flood LSA ต่อไปยังเราเตอร์ทุกๆตัวที่ Multicast Address 224.0.0.5
- Copy LSA ลงไปใน Topology Table ของตน
- ทำการคำนวณ Shortest Path First ด้วย Diijkstra Algorithms
- นำเส้นทางที่สั้นที่สุดมาใส่ลงใน Routing Table
- หากมีการเปลี่ยนแปลง Topology ใน ระบบ จะทำการ Flood LSA ออกไปทันที (Triggered Update)

OSPF Process Flow

Neighbor States

1. Down State – ไม่มีเราเตอร์ตัวไหนที่รับส่ง Hello Packet กัน
2. Init – Hello Packet ถูกส่งจากเราเตอร์ไปยังเราเตอร์เพื่อนบ้าน แต่เป็นการส่งกันทางเดียว เราเตอร์อีกฝั่งจะยังไม่เห็นเราเตอร์เพื่อนบ้านอื่นๆ
3. 2Way – Hello Packet ถูกรับส่งกันทั้งสองฝั่งซึ่งรวมถึง Router ID ด้วย และหากข้อมูลบางอย่างใน Hello Packet ตรงกัน ก็สามารถที่จะฟอร์มความสัมพันธ์กันได้
4. ExStart – ทำการเลือก DR/BDR
5. Exchange – เราเตอร์ทำการ Flood LSA ออกไปและแลกเปลี่ยนกัน
6. Loading – มีการแลก LSA ที่อัพเดตแล้วจาก DR/BDR ไปยังเราเตอร์ตัวอื่นๆ ที่ผ่านขั้นตอน ExStart มาแล้ว
7. Full – LSA ทั้งหมดได้รับการอัพเดตตรงกันทั้งหมดแล้วในเราเตอร์ทุกๆตัว

OSPF Hello Packet Information

ภายใน Hello Packet ของ OSPF ถูกบรรจุด้วยข้อมูลดังต่อไปนี้
- Router ID
- Area ID
- Authentication Information
- Network Mask
- Hello Interval
- Options
- Router Priority
- Router Dead Interval
- DR
- BDR
- Neighbor Router IDs
ในเน็ตเวิร์กแบบ NBMA, BMA นั้น จะมี ข้อมูลของ DR/BDR แต่ในขณะที่ Point-to-Point และ Point-to-Multipoint นั้นจะไม่มี DR/BDR และ ในการฟอร์มความสัมพันธ์กันนั้น ค่าของ Hello และ Dead Interval นั้นจะต้องเท่ากัน มิเช่นนั้นจะฟอร์มความสัมพันธ์กันไม่ได้ และ หากว่าเราเตอร์ตัวใดที่มีการเซตค่า Priority เป็น 0 จะไม่ถูกนำมาคิดในการเลือก DR/BDR

LSA Flooding

ในกระบวนการแลกเปลี่ยน LSA หรือ Link State Advertisement ของในเราเตอร์นั้น LSA Packet จะถูกแชร์กันในระหว่างหมู่เราเตอร์ที่รัน OSPF ด้วยกันผ่านทาง Multicast Address หมายเลข 224.0.0.5 ซึ่งใน LSA Packet นี้ จะมีอยู่ด้วยกันหลาย Type ซึ่ง จะแสดงให้เห็นคร่าวๆ ว่า LSA นั้น มีประเภทใดบ้าง (ใน CCNA ไม่เน้น แสดงเพื่อเพียงให้เห็นภาพเท่านั้น)

Link State Advertisement Types

1. Router LSA – เป็น LSA ที่รวบรวม สถานะของ Link ใช้ในการแชร์กันระหว่างเราเตอร์ที่รัน OSPF ใน AREA เดียวกัน
2. Network LSA – ถูกใช้โดย DR ในการส่ง LSA เพื่อบอกสถานะเกี่ยวกับ Network ในAREA ที่เฉพาะเจาะจง
3. Network Summary LSA - ใช้ในการส่ง LSA ที่เกี่ยวข้องกับ AREAอื่นๆ เข้ามาใน AREAของตนเอง โดยที่ สิ่งที่ส่งเข้ามาคือ Summary Route ของ AREA อื่นๆ
4. ASBR Summary LSA - ใช้ในการส่ง LSA ที่เกี่ยวข้องกับ AREAอื่นๆ เข้ามาใน AREAของตนเอง โดยที่ สิ่งที่ส่งเข้ามาคือ Summary Route ของ ASBR Router
5. AS External LSA – ใช้ในการส่ง LSA ของ External Routing Protocol (เช่น RIP) เข้ามายังภายใน AREA (มีการทำ Redistribute Route)
6. Group Membership LSA
7. NSSA (Not-So-Stubby Area) External LSA – ใช้ในการส่ง LSA ข้าม AREA ที่ไม่ต้องการให้มีการแพร่กระจาย LSA เข้าไปยัง AREA นั้นๆ โดยที่ เมื่อถึง AREA ปลายทาง LSA Type 7 นี้จะแปลงกลับมาเป็น LSA Type 5 เพื่อกระจาย External Route ให้แก่ Router ภายใน AREA นั้นๆ
8. External Attributes LSA

9. Opaque LSA (Link-Local Scope)
10. Opaque LSA (Area-Local Scope)
11. Opaque LSA (AS Scope)

LSA Acknowledgement and Validation

LSA ACK นั้น เป็นแพคเกตที่ส่งจากเราเตอร์ที่ได้รับ LSA จากเราเตอร์ต้นทาง กลับไปยังต้นทางว่า ตนเองนั้นได้รับ LSA แล้ว ซึ่ง LSA ACK นั้น จะมีอยู่ด้วยกันสองประเภทคือ

Explicit Acknowledgement คือ การที่ส่ง LSA ACK กลับไปยัง Interface ทีได้รับ LSA มาในตอนแรก

Implicit Acknowledgement เป็นการ Flood LSA ที่ตนเองได้รับซ้ำกลับไปยังเราเตอร์ต้นทาง และในส่วนของ Implicit Acknowledgement นี้ ก็จะมีสองกรณีอีกคือ

- Direct Method ซึ่งจะเกิดขึ้นเมื่อได้รับ LSA ที่ซ้ำกัน หรือ LSA นั้นๆได้หมดอายุลง (ค่า Default คือ 1 ชม.)
- Delay Method จะเกิดขึ้นเมื่อผู้ส่งต้องการส่ง LSA ACK พร้อมกับ LSA อื่นๆ ที่ต้องการส่งด้วย
- การ Validation จะกระทำผ่านทาง LSA Update ซึ่งก็จะมีการ Checksum ที่ส่วนท้ายของ Header


OSPF and Loopback Interface

Loopback Interface ถือเป็น อินเทอร์เฟซเสมือน (Logical Interface) ซึ่ง ใน OSPF นั้น จะพิจารณาว่า หากมีการ Configure Loopback Interface ไว้ จะถือว่า IP ของ Loopback Interface นี้เป็น Router ID ทันที และ ในการเลือก DR/BDR ใน NBMA, BMA จะทำการเลือกจาก IP Address ของ Loopback Interfaces ที่มีค่าของ IP Address ที่สูงที่สุด แต่หากว่า ไม่มีการเซ็ตค่า Loopback Interface ไว้ OSPF จะเลือก IP Address ที่สูงที่สุดจาก Physical Interface แทน ซึ่ง Network Administrator ที่ดี ควรจะเซต Router ID หรือ IP Address ที่ Loopback Interface เนื่องจาก Loopback Interface นั้น มีเสถียรภาพมากกว่า Physical Interface เนื่องจาก มันจะดาวน์ลงไปก็ต่อเมื่อ เราเตอร์ทั้งตัวนั้นได้ดาวน์ลงไปเท่านั้น ส่วน คำสั่งในการเซต Loopback Interface ได้แก่

- Cisco(config)#interface lo0

- Cisco(config-if)#ip address 203.148.145.241 255.255.255.255

- Cisco(config-if)#no shutdown
Subnet Mask 255.255.255.255 เราเรียกอีกอย่างหนึ่งว่า “Host Masks”

ประเภทของ Routing Entry ภายใน OSPF

ใน OSPF มีเราติ้งเอนทรีอยู่ด้วยกัน 3 ประเภทได้แก่
1. Intra-Area Routing หมายถึง เราติ้งเอนทรีที่คำนวณได้จากอัลกอรึทึม SPF ภายใน AREA เดียวกัน ซึ่งหากเราดูจากคำสั่ง show ip route เราจะพบว่า เราติ้งเอนทรีที่เป็น OSPF Intra-Area นี้ จะมีสัญลักษณ์ “O” อยู่ด้านหน้าเราติ้งเอนทรี
2. Inter-Area Routing หมายถึงเราติ้งเอนทรีที่ใช้เป็นเส้นทางที่ไปยังซับเน็ต (Subnet) ที่อยู่ต่าง Area กัน เราเตอร์ปัจจุบันที่เป็น Internal Router จะรับทราบเส้นทางประเภทนี้ได้จากเราเตอร์ที่ทำหน้าที่เป็น Area Border Router (ABR) ปัจจุบัน ซึ่งหากเราดูจากคำสั่ง show ip route เราจะพบว่า เราติ้งเอนทรีที่เป็น OSPF Inter-Area นี้ จะมีสัญลักษณ์ “O IA” อยู่ด้านหน้าเราติ้งเอนทรี
3. External Routes หมายถึงเราติ้งเอนทรีที่ใช้เป็นเส้นทางไปยังซับเน็ตที่อยู่ภายใต้ขอบเขตของเราติ้งโปรโตคอลอื่นๆ ซึ่งได้มาจากการทำ “Route Distribution” เราเตอร์ปัจจุบันจะรับทราบเส้นทางประเภทนี้ได้จากเราเตอร์ที่ทำหน้าที่เป็น Autonomous System Boundary Router (ASBR) ซึ่งหากเราดูจากคำสั่ง show ip route เราจะพบว่า เราติ้งเอนทรีที่เป็น OSPF External Routes นี้ จะมีสัญลักษณ์ “E1 หรือ E2” อยู่ด้านหน้าเราติ้งเอนทรี



******************************************************************

Routing Information Protocol (RIP)

RIP เป็น routing protocol ที่นิยมกันมากอีกตัวหนึ่งในการติดต่อสื่อสารของ Internet
RIP เป็น routing protocol ระยะทางซึ่งหมายถึง มันวางรากฐานทางเดินของ routing ของมันตามจำนวนการรับ-แล้ว-ส่งต่อ(hop) ไปจนถึงปลายทาง ในปี 1982 RIP ปรากฏใน Berkeley Software Distribution (BSD) ซึ่งเป็นversion ของUNIX ที่เป็นส่วนหนึ่งของ Transmission Control Protocol /Internet Protocol(TCP/IP) ปัจจุบันrouting protocols จำนวนมากใช้RIP เป็นพื้นฐาน ตัวอย่างเช่น routing protocol ของ AppleTalk อยู่บนพื้นฐานของ RIP บริษัทอื่นๆก็เช่น Novell และ Banyan มีRIP เป็นrouting protocol ตามความจริง Microsoft ได้เพิ่มประสิทธิภาพWAN ของ NT โดยการเพิ่มการสนับสนุน routing packets ที่วางรากฐานอยู่บน RIP
โพรโตคอลเลือกเส้นทางแบบตารางระยะทาง (RIP) ที่มีพื้นฐานมาจากอัลกอริทึมของ Bellman-Ford วิธีการนี้สามารถทำงานได้ดีในระบบขนาดเล็ก แต่ประสิทธิภาพจะลดลงเมื่อระบบมีขนาดใหญ่ขึ้น รวมทั้งมีปัญหาที่เรียก “Cout-to-infinity” และปัญหาความล่าช้าในการค้นหาคำตอบ
เราเตอร์นำ RIP ไปดำเนินการโดยเก็บรักษา information ใน ตารางการเดินทาง(routing table)ของมัน คอลัมภ์ปลายทางจะแสดงการเชื่อมโยงที่เป็นไปได้ทั้งหมด ในขอบเขตการรับ-แล้ว-ส่งต่อ(hop) ครั้งถัดไปจะหา router port ที่จะส่งแพ็กเก็ตถัดไป และในขอบเขตของระยะทางจะมีการค้นหาจำนวนการรับ-แล้ว-ส่งต่อ(hop) จนไปถึงปลายทางของ network ตารางการเดินทาง(routing table) ของ RIP จะบรรจุเส้นทางที่ดีที่สุดที่จะไปถึงปลายทางที่เจาะจงแล้วเท่านั้น
ถ้าตัวเราเตอร์ได้รับ routing information ใหม่มาจาก node อื่นๆมันจะบันทึกเอาไว้
RIP เก็บรักษาทางเดินของ routingที่เหมาะสม โดยการส่งข้อความการปรับปรุง routing ออกไป
ถ้า network topology มีการเปลี่ยนแปลง ตัวอย่าง ถ้าตัวเราเตอร์พบว่า linkมีข้อบกพร่องมันจะปรับปรุง ตารางการเดินทาง(routing table) ของมันเอง ต่อจาดนั้นจึงส่งcopy ของตาราง(table) ที่มีการเปลี่ยนแปลงไปยังเราเตอร์ข้างเคียง(neighbors)และเราเตอร์ข้างเคียง(neighbors)จะปรับปรุงตาราง(table)ของตัวเองด้วย information ใหม่ และส่งต่อไปยังเราเตอร์ข้างเคียง(neighbors)ของมันอีกต่อหนึ่งไปเรื่อยๆ ภายในระยะเวลาสั้นๆ เราเตอร์จะมีinformation ใหม่แต่ละ field ของ RIP packet เป็นดังนี้


COMMEND - หาความแตกต่างระหว่างการร้องขอหรือการตอบสนองได้หรือไม่ การร้องขอแพ็กเก็ต ถามเราเตอร์ข้างเคียง(neighbors router)ให้ตอบสนองโดยส่งตารางการเดินทาง(routing table)ของมันไปให้ การตอบรับแพ็กเก็ตอาจเป็นได้ทั้งคำตอบที่เกิดจากการร้องขอหรือตารางการเดินทาง(routing table) ที่ปรับปรุงใหม่โดยไม่มีการร้องขอ
VERSION NUMBER - จำแนก version ของ RIP
ADDRESS FAMILY IDENTIFIFR -จำเพาะaddress family สำหรับใน internet


เลขที่นี้จะต้องสอดคล้องกับIP(ค่า value=2)

ADDRESS - จำแนกตารางการเดินทาง(routing table)ของปลายทางที่เฉพาะเจาะจง
MATRIC - จำแนกจำนวนครั้งการรับ-แล้ว-ส่งต่อ ซึ่งจำเป็นอย่างยิ่งในการไปถึงปลายทางใน address field
เกี่ยวกับ RIP เราเตอร์แต่ละตัวมีอิสระในการส่ง copy ตารางการเดินทาง(routing table)ของมันไปยังเราเตอร์ข้างเคียง(neighbors)แต่ละตัวของมันโดยเป็นข้อความการตอบสนองทุกๆ30วินาที RIP packet ตัวหนึ่งจะบรรจุชุดของ Address Family Identifier , Address และ Metric ได้มากกว่า 25 ชุด เพราะฉะนั้น RIP packets หลายๆตัวจึงจำเป็นอย่างยิ่งที่จะใช้ตารางการเดินทาง(routing table) ขนาดใหญ่มากๆ ในการเพิ่มนั้นRIP จะเก็บช่วงเวลาของเราเตอร์ข้างเคียง(neighbors)แต่ละตัวมาพิจารณาหลังสุด ถ้าใช้เวลามากตัวอย่างเช่น 90 วินาที ผ่านไปโดยไม่มีการตอบสนองจากเราเตอร์ข้างเคียง(neighbors) RIP จะส่ง applicable rout จาก ตารางการเดินทาง(routing table) กลับมาและแจ้งให้เราเตอร์ข้างเคียง(neighbors)
ทราบถึงการเปลี่ยนแปลงนี้
RIP เสนอลักษณะเฉพาะหลายๆอย่าสงเช่น hop-count,hlod-downs,split horizoms และpoision reverse ปรับปรุงที่ความมั่นคงของตัวมันเอง
hop-count limit หลีกเลี่ยงการส่งไปอย่างไม่สิ้นสุดของแพ็กเก็ตถ้ามันเข้าไปใน routing loop
hop-count limitของ RIP คือ 15จำกัดโดยnetwork ที่เล็กกว่า
hold-downs ขัดขวางตัวเราเตอร์จาก routing information ที่รับมาไม่ถูกต้อง เช่น การนำกลับมาที่ไม่เหมาะสมของเส้นทางที่ถูกนำกลับมาโดยเร็ว การปรับปรุง(update) จะส่งออกไปเพื่อบ่งบอกถึงการเปลี่ยนแปลงใน topology เช่น link ที่ผิด,ไม่สามารถไปถึงอุปกรณ์ทั้งหมดใน network ได้ทันที เพราะฉะนั้นตัวเราเตอร์ที่ยังไม่ได้รับการปรับปรุงจะแสดงให้รู้ว่า link ผิดพลาด จึงควรจะส่งตารางการเดินทาง(routing table)ไปยังเราเตอร์ตัวอื่นที่บอกว่า link นั้นไม่ดีโดยเร็ว ตัวเราเตอร์จะนำ link ที่ผิดกลับมาอย่างไม่ถูกต้อง



********************************************************

Border Gateway Protocol (BGP)

Border Gateway Protocol (BGP) เป็นโปรโตคอลสำหรับการแลกเปลี่ยนข้อมูลของเส้นทางระหว่าง gateway host (ซึ่งแต่ละที่จะมี router ของตัวเอง) ในเครือข่ายแบบอัตโนมัติ BGP มักจะได้รับการใช้ระหว่าง gateway host บนระบบอินเตอร์เน็ต ตาราง routing ประกอบด้วยรายการของ router ตำแหน่งและตารางค่าใช้จ่าย (cost metric) ของเส้นทางไปยัง router แต่ละตัว เพื่อการเลือกเส้นทางที่ดีที่สุด

host ที่ใช้การติดต่อด้วย BGP จะใช้ Transmission Control Protocol (TCP) และส่งข้อมูลที่ปรับปรุงแล้วของตาราง router เฉพาะ host ที่พบว่ามีการเปลี่ยนแปลง จึงมีผลเฉพาะส่วนของตาราง router ที่ส่ง BGP-4 เป็นเวอร์ชันล่าสุด ซึ่งให้ผู้บริหารระบบทำการคอนฟิก cost metric ตามนโยบาย

การติดต่อด้วย BGP ของระบบ แบบอัตโนมัติที่ใช้ Internet BGP (IBGP) จะทำงานได้ไม่ดีกับ IGP เนื่องจาก router ภายในระบบอัตโนมัติต้องใช้ตาราง routing 2 ตาราง คือ ตารางของ IGP (Internet gateway protocol) และตารางของ IBGP
BGP เป็นโปรโตคอลที่ทันสมัยกว่า Exterior Gateway Protocol

ไม่มีความคิดเห็น: