Introduction to OSPF (Open Shortest Path First)
Introduction to OSPF (Open Shortest Path First)
OSPF (Open Shortest Path First) एक standard link state routing protocol है। इसका मतलब ये हुआ की आप अपने network में किसी भी vendor का router यूज़ कर सकते है। ये protocol सभी vendors के routers के साथ काम कर सकता है। इसलिए आपको जरुरी नहीं की आपके network में सभी routers Cisco के हो।
उदाहरण के लिए EIGRP protocol एक Cisco proprietary protocol है, जो की सिर्फ Cisco devices के साथ ही काम करता है। लेकिन OSPF एक common standard है जो सभी vendors follow करते है। इसलिए network में आप Cisco के अलावा दूसरे vendors के routers भी यूज़ कर सकते है।
OSPF के बारे में कुछ technical facts नीचे दिए जा रहे है आइये इन्हें समझने का प्रयास करते है।
- OSPF protocol Areas (एक बड़े OSPF network को छोटे छोटे networks में divide किया जाता है, जिन्हें area कहते है।) को use करते हुए hierarchical network design (2 layers) set करता है।
- OSPF एक area के अंदर adjacent routers (directly connected) के बीच neighbor relationship (routing information share करने का contract ) build करता है।
- Connected routers के साथ distance (hops) share करने के बजाय OSPF protocol directly connected links का status share करता है। ऐसा करने के लिए OSPF Link State Advertisements (LSA) को use करता है। LSA एक packet होता है जो की link status को carry करता है। LSA packets के भी कई type होते है, जिनके बारे में आप आगे पड़ेंगे। OSPF adjacent routers के link status को collect करके एक network topology build करता है।
- जब भी link में कोई change आता है तो OSPF LSA send करता है। इस LSA में केवल उसी link से related update होती है। Complete update हर 30 second में LSA के द्वारा भेजी जाती है।
- OSPF सभी packets को multicast address 224.0.0.5 पर भेजता है। ये address सभी OSPF routers का common address होता है। यँहा भेजा जाने वाला packet सभी OSPF routers receive करते है।
- Shortest path determine करने के लिए OSPF protocol Dijkstra algorithm use करता है।
- OSPF एक classless (Subnet किये हुए networks के साथ काम कर सकता है।) routing protocol है और इसलिए ये VLSM (Variable Length Subnet Mask) को support करता है।
Characteristics of OSPF
नीचे OSPF की कुछ characteristics दी जा रही है।
- OSPF केवल IP routing को support करता है। इसका मतलब ये हुआ की ये protocol सिर्फ एक source से destination तक जाने के लिए best path find करता है। Data को source से destination तक ले जाने का काम OSPF का नहीं होता है। इसके लिए दूसरे protocols use किये जाते है जैसे की TCP और UDP आदि।
- OSPF routes की administrative distance 110 होती है। मैं आपको बता दूँ administrative distance वो distance होती है जो की 2 best path मिलने पर एक को चुनने के लिए use की जाती है।
- Metric calculate करने के लिए OSPF cost use करता है। ये cost link की bandwidth होती है। OSPF में कोई भी hop count limit नहीं होती है। जैसे की RIP में 15 होती है।
OSPF Protocol Tables
OSPF protocol 3 तरह की अलग अलग tables maintain करता है। आइये इन tables के बारे में जानने का प्रयास करते है।
Table | Description |
---|---|
Neighbor table | इस routing table में सभी neighbor routers की list होती है। |
Topology table | इस table में एक area के अंदर सभी identified networks के possible routes store किये जाते है। |
Routing table | इस table में हर identified network के लिए best route store किये जाते है। |
Neighbour Relation Forming
OSPF neighbor relationship hello packets के द्वारा बनाता है। ये relationship एक ही area में बनायीं जाती है। इसका मतलब ये हुआ की एक area का router दूसरे area के router से relation नहीं build कर सकता है। Hello packets multicast address 224.0.0.5 पर भेजे जाते है। Neighbor relationship build होने के बाद ही routers एक दूसरे के साथ routing information build कर सकते है। Neighbor relationship को adjacencies भी कहा जाता है।
हर OSPF router को unique Router ID के द्वारा identify किया जाता है। किसी भी router पर Router ID तीन तरह से apply की जा सकती है।
- आप Router ID manually specify कर सकते है।
- यदि आप Router ID manually specify नहीं करते है, तो router के किसी भी loop back interface (एक virtual interface) पर configure किया हुआ highest IP address Router ID बन जाता है।
- यदि loop back interface exist नहीं करता है तो किसी भी physical interface पर configure किया हुआ highest IP address Router ID बन जाता है।
By default OSPF enabled interfaces पर hello packets हर 10 second में भेजे जाते है। इन्हें broadcast किया जाता है और non broadcast के द्वारा हर 30 second में hello packets भेजे जाते है।
OSPF में एक dead interval भी होती है जो ये बताती है की कितनी देर तक router को hello packets का इंतज़ार करने के बाद neighbor को down announce करना है। Broadcasts के लिए default dead interval 40 seconds होती है और non broadcasts के लिए ये 120 होती है। Dead interval time hello timer का 4 गुना होता है।
OSPF routers केवल तब ही neighbors बनते है जब नीचे दिए गए parameters same हो।
- Area ID
- Area Type
- Prefix
- Subnet Mask
- Hello interval
- Dead interval
- Network Type (Broadcast, Unicast)
- Authentication
जब ऊपर दिए गए सभी parameters match करते है तो routers neighbors बन सकते है।
Hello packets की मदद से कोई router को जल्दी से ये पता चल जाता है की उसका neighbor down है या नहीं। एक neighbor table hello packets के द्वारा बनायीं जाती है। Hello packets में नीचे दी गयी information होती है।
- हर neighbor router की router ID होती है।
- हर neighbor router की current state होती है
- सभी directly connected interfaces जो neighbors से connected होते है।
- हर neighbor के remote address का IP address होता है।
Neighbour States
Neighbor adjacencies कई states से होकर progress करती है। इन states के बारे में नीचे दिया जा रहा है।
State | Explanation |
---|---|
Down | ये state बताती है की neighbor router से कोई hello packet receive नहीं किया गया है। |
Init | ये state बताती है की neighbor से hello packet मिल गया है लेकिन 2 way communication अभी initialize नहीं हुआ है। |
2-Way | इस state से पता चलता है की 2 way communication establish हो चूका है। Hello packet में neighbor field होता है इसलिए इसे 2 way communication माना जाता है। |
ExStart | ये state बताती है की routers link state information share करने के लिए ready है। |
Exchange | ये state बताती है की routers एक दूसरे के साथ Database Descriptors (इसमें routers के topology database का description होता है।) exchange कर रहे है। |
Loading | इस state से पता चलता है की routers एक दूसरे के साथ Link State Advertisements exchange कर रहे है। |
Full | ये state बताती है की routers पूरी तरह synchronized हो चुके है। |
Full/DR | इस state से पता चलता है की router एक DR (Designated Router) है। |
OSPF Designated Routers
OSPF network में routing information हर 30 second में send की जाती है। मान लीजिये network में कोई router fail हो गया है। इसकी update दूसरे router को भेजी जाएगी वो router इसके बारे में दूसरे routers को बताएगा। और अचानक network के सभी routers इस update के बारे में एक दूसरे को update send करना शुरू कर देंगे। ऐसा होने से links की bandwidth बहुत अधिक consume हो जाती है। और network के लिए ये एक अच्छी situation नहीं मानी जाती है। इसे flood कहा जाता है।
इस situation से बचने के लिए OSPF routers में से किसी एक router को designated router बनाया जाता है। Designated router वो router होता है जिसे link fail होने की update भेजी जाती है। फिर यह router एक एक करके सभी दूसरे routers को link fail (router down) होने की updates भेजता है।
इसे आसान शब्दों में कहे तो सभी routers के एक दूसरे को link fail updates भेजने की बजाय, एक router ही सबको एक एक करके update भेजता है। ऐसा करने से bandwidth भी consume नहीं होती है और network में flood भी नहीं आता है।
Designated router को updates 224.0.0.6 multicast address पर भेजी जाती है। OSPF network में किसी भी router को Designated Router बनाया जा सकता है। जिस भी router की priority सबसे अधिक होती है वही Designated Router बन जाता है और जिसकी priority DR से कम होती है वह Backup Designated Router बन जाता है। किसी भी router की priority आप इस प्रकार set कर सकते है।
Router(config-if)# ip ospf priority 125
Cisco routers पर default priority 1 होती है। यदि आप चाहते है की एक particular router कभी भी designated router ना बने तो इसके लिए आपको उसकी priority 0 set करनी चाहिए।
OSPF Network Types
अलग अलग network topology types में OSPF की functionality भी अलग अलग होती है। आइये इन different network types के बारे में जानने का प्रयास करते है।
Point-to-Point
Point-to-Point वह network topology होती है जिसमें 2 routers एक दूसरे से directly connected होते है। जब network topology point to point होती है तो OSPF Designated Router और Backup Designated Router elect नहीं करता है। सारा OSPF traffic 224.0.0.5 address पर multicast किया जाता है। इस तरह की network type में neighbor को manually specify करने की कोई आवश्यकता नहीं होती है। Point-to-Point network को आप अपने router पर इस प्रकार configure कर सकते है।
Router(config-if)# ip ospf network point-to-point
Broadcast
Broadcast वह network होता है जिसमे की broadcast होता है। इसका मतलब किसी एक router के द्वारा दूसरे सभी routers को एक साथ message भेजा जाता है। Broadcast network में OSPF Designated Router और Backup Designated Router choose करता है। Designated और Backup Designated routers को traffic multicast address 224.0.0.6 भेजा जाता है। Designated और Backup Designated routers से traffic 224.0.0.5 multicast address को भेजा जाता है। इस तरह के network में आपको neighbors को manually specify करने की आवश्यकता नहीं होती है। किसी भी router पर broadcast network type आप इस प्रकार configure कर सकते है।
Router(config-if)# ip ospf network non-broadcast
Point to Multi-point
इस तरह के network में एक router दूसरे कई routers से connect हो सकता है। Source से destination के बीच का हर connection एक point to point link होता है। इस तरह के network में OSPF DR और BDR elect नहीं करता है। सारा OSPF traffic multicast address 224.0.0.5 पर भेजा जाता है।
Router(config-if)# ip ospf network point-to-multipoint
LSA (Link State Advertisements) Types
OSPF routers routing के लिए एक दूसरे पर निर्भर नहीं रहते है जैसे की RIP और IGRP रहते है। इसके बजाए OSPF routers खुद के area में link के status की जानकारी रखते है और उसे एक दूसरे के साथ share करते है। इन link और उनके status से topology database बनता है। Topology database को updated रखने के लिए OSPF router एक दूसरे को LSA भेजते है। ये LSA कई प्रकार के होते है। आइये इनके बारे में जानने का प्रयास करते है।
Type 1 (Router LSA)
इस तरह के LSA में सभी local links उनके status और cost की जानकारी होती है। Type 1 के LSA सभी local routers के द्वारा generate किये जाते है और local area के अंदर दूसरे सभी routers को भेजे जाते है।
Type 2 (Network LSA)
ये LSA एक OSPF के अंदर सभी Designated Routers के द्वारा generate किये जाते है। इन LSA में जितने भी routers Designated Router से attached होते है उनकी list होती है।
Type 3 (Network Summary LSA)
ये LSA सभी Area Border Routers (वे routers जो OSPF network में 2 areas की border के पास होते है। ) के द्वारा generate किये जाते है और इन LSA में एक area के अंदर सभी destination networks की list होती है।
Type 4 (ASBR Summary LSA)
ये LSA OSPF network में सभी ABR द्वारा generate किया जाता है और इसमें OSPF network के किसी भी ASBR (एक ASBR वह router होता है जो दूसरे OSPF area से connected होता है और साथ ही ये दूसरे routing protocols से भी connected हो सकता है।) तक जाने का route होता है। इस तरह के LSA local system के अंदर भेजे जाते है ताकि local routers को पता रहे की बाहर कैसे निकलना है।
Type 5 (External LSA)
इस तरह के LSA OSPF के अंदर सभी ASBR के द्वारा generate किये जाते है। इन LSA में local autonomous system से बाहर के destination networks के लिए route होता है।