IGRP (Interior Gateway Routing Protocol)
Introduction to IGRP (Interior Gateway Routing Protocol)
IGRP एक Cisco proprietary protocol है। इसका मतलब ये हुआ की ये सिर्फ Cisco routers के साथ ही available है। जब किसी एक network में सभी routers Cisco के हो तो IGRP को implement किया जा सकता है।
IGRP एक Distance Vector Routing Protocol है। ये source से destination के बीच की distance को metric calculate करने के लिए यूज़ करता है। लेकिन सिर्फ RIP की तरह distance ही metric calculate करने के लिए नहीं यूज़ की जाती है। IGRP के case में distance, bandwidth और delay की एक composite key के द्वारा metric calculate की जाती है। Metric calculate करने के लिए Bellman Ford algorithm यूज़ की जाती है।
IGRP हर 90 seconds में routing updates भेजता है। इस update में router की पूरी routing table दूसरे IGRP neighbors के साथ share की जाती है। IGRP एक classful routing protocol है। इसलिए routing table में सभी networks classful boundaries में represent किये जाते है।
IGRP by default 100 hops तक packet delivery support करता है। लेकिन इस value को आप adjust करके 255 तक बड़ा सकते है।
Characteristics of IGRP (Interior Gateway Routing Protocol)
निचे IGRP protocol की कुछ characteristics दी जा रही है।
- IGRP में metric calculate करने के लिए composite key use की जाती है।
- Routing updates 90 seconds में भेजी जाती है।
- IGRP VLSM (Variable Length Subnet Mast) को support नहीं करता है।
- Maximum hop counts 255 तक हो सकते है।
- ये एक classful routing protocol होता है।
IGRP (Interior Gateway Routing Protocol) Timers
निचे IGRP में यूज़ होने वाले 4 important timers के बारे में बताया जा रहा है। ये timers routing operations को control करने के लिए यूज़ किये जाते है।
Timers | Explanation |
---|---|
Update timer | ये timer बताता है की कितनी देर में router periodic routing table updates भेजेगा। इसकी default value 90 seconds होती है। |
Invalid timer | यदि किसी route के लिए नयी updates नहीं आती है तो वह invalid मान लिया जाता है। ये timer बताता है की एक route invalid होने से पहले कितनी देर तक routing table में रहेगा। यदि इस बीच में route के लिए update आ जाती है तो timer फिर से reset हो जाता है। इस timer की default value 270 seconds होती है। Invalid routes को hold down state में रखा जाता है। |
Hold-down timer | ये timer बताता है की एक invalid route hold down state में कितनी देर तक रहेगा। |
Flush timer | ये timer बताता हैं की एक route flush होने से पहले routing table में कितनी देर तक रहेगा। |
IGRP Loop Avoidance Mechanism
कई बार IGRP network में infinite loop की condition आ जाती है। इसे avoid करने के लिए कुछ loop avoidance mechanisms यूज़ किये जाते है। उदाहरण के लिए निचे दिए गए network को देखिये।
मान लीजिए network 192.19.0.0 down हो चूका है। Router B 30 second में router A को update भेजकर बताएगा की network 198.19.0.0 down हो चूका है। लेकिन यदि 30 second से पहले Router A के periodic updates आ जाती है तो router B में उसकी entry हो जाएगी और router B network 192.19.0.0 को alive मान लेगा।
इस situation में router B को लगता है की वो network 192.19.0.0 तक router A से होकर जा सकता है। लेकिन router A की routing table के अनुसार network 192.19.0.0 तक router B से जाया जा सकता है। इसलिए Router A packet router B को भेजेगा और router B packet को वापस router A को भेजेगा। इस situation में एक infinite loop create हो जाता है।
इस looping situation को avoid करने के लिए आप 3 mechanisms use कर सकते है। इनके बारे में निचे दिया जा रहा है।
Split Horizon
इस mechanism में जिस router से routing update प्राप्त होती है उसे वापस routing update भेजने को disable कर दिया जाता है। ऊपर दिए गए उदाहरण में router A ने इस network के बारे में router B से जाना है। इसलिए इस mechanism को apply करने के बाद router A network 192.19.0.0 से related updates router B को नहीं भेज सकता है। ऐसा करने से इस network में loop की situation नहीं आयेगी। ये mechanism सभी Cisco routers में by default enabled रहता है।
Route Poisoning
इस mechanism में जब कोई network fail होता है तो उसकी update सभी IGRP routers को immediately भेज दी जाती है। इस mechanism में update भेजने के लिए timers के expire होने का wait नहीं किया जाता है। ऐसा करने से loop की situation create नहीं होती है।
Hold-down Timers
इस mechanism में जो routers hold down state में है उनके लिए नयी updates नहीं accept की जाती है। ऐसा करके loop को avoid किया जाता है।
IGRP Configuration
IGRP को configure करने से पहले आइये Autonomous System के बारे में जानने का प्रयास करते है।
Autonomous System
एक autonomous system IP networks का group होता है जिसे एक single network administrator operate करता है। एक autonomous system की routing policy clearly defined होती है। Autonomous systems के बीच में information share करने के लिए exterior routing protocols यूज़ किये जाते है। यदि 2 networks की routing policies different है तो ऐसी situation में उनको अलग अलग autonomous system में रख दिया जाता है और exterior routing protocols के द्वारा information share की जाती है। सभी autonomous systems की खुद खुद का global unique number होता है।
Basic IGRP Configuration
IGRP को configure करना बहुत ही आसान हैं। उदाहरण के लिए निचे दिए हुए network को देखिये।
IGRP को global configuration mode में configure किया जाता है। किसी भी router पर IGRP को configure करने के लिए सबसे पहले आप ip router igrp ASnumber command type करेंगे। यँहा पर ASnumber एक autonomous system number है। ये एक autonomous system को represent करता है। दूसरे routers जो इस autonomous system में होंगे सिर्फ वे ही इस router से update receive कर सकते है।
मान लीजिए की autonomous system 2 हैं तो router A पर IGRP को इस प्रकार configure किया जा सकता है।
RouterA(config)# router igrp 2
RouterA(config-router)# network 192.17.0.0
RouterA(config-router)# network 192.18.0.0
इसी प्रकार router B को भी configure किया जा सकता है।
RouterB(config)# router igrp 2
RouterB(config-router)# network 192.18.0.0
RouterB(config-router)# network 192.19.0.0
Passive Interface Configuration
IGRP में भी passive interface configure करने के लिए आप passive-interface command यूज़ करते है। मान लीजिए ऊपर दिए गए network में आप router B के s0 interface को passive बनाना चाहते है। ऐसा आप इस प्रकार कर सकते है।
RouterB(config-router)# passive interface s0
Maximum Hops Configuration
IGRP में default hop-count 100 होती है। लेकिन आप चाहे तो इसे configure करके adjust कर सकते है। ऐसा आप metric maximum-hops (num upto 255) command के दवारा कर सकते हैं। इसका उदाहरण निचे दिया जा रहा है।
RouterA(config-router)# router igrp 2
RouterA(config-router)# metric maximum-hops 255