4.3.14 · Coding › Computer Networks
Ek router basically ek aisa device hai jo decide karta hai "is packet ko next hop kahan bhejna chahiye?" . Yeh decide karne ke liye woh ek routing table dekhta hai — jo ek lookup hai destination network → next hop / outgoing interface ka.
Static vs dynamic ka poora sawaal bas yeh hai: WHO routing table fill karta hai, aur WHEN?
Static = ek human admin haath se routes type karta hai. Table frozen rehti hai jab tak koi usse edit na kare.
Dynamic = routers ek routing protocol (RIP, OSPF, BGP...) use karke aapas mein baat karte hain aur table automatically fill karte hain , links ke upar ya neeche jaane par khud ko adapt karte hain.
Definition Static routing
Static routing tab hoti hai jab network administrator manually har route ko router ki routing table mein configure karta hai. Routes automatically nahi change hote jab topology change hoti hai — woh fixed rehte hain jab tak manually update na kiya jaaye.
Definition Dynamic routing
Dynamic routing tab hoti hai jab routers ek routing protocol (jaise RIP, OSPF, EIGRP, BGP) use karke information exchange karke automatically apni routing tables build aur update karte hain. Routes topology changes (link failures, naye networks) ke hisaab se automatically adapt ho jaate hain.
Definition Routing table entry
Ek row is form mein hoti hai: Destination network ::: Next-hop IP (ya exit interface) ::: metric. Router packet ki destination IP pe longest-prefix match karta hai row choose karne ke liye.
Intuition Hamesha dynamic kyun nahi use karte?
Dynamic routing strictly better lagti hai (self-healing!), toh static kabhi kyun use hoti hai? Kyunki adaptivity free nahi hoti :
Routing protocols periodic/triggered update messages bhejte hain → bandwidth consume hoti hai.
Woh continuously algorithms chalate hain → CPU aur memory consume hoti hai.
Woh ek attack surface khol dete hain (ek malicious neighbour fake routes inject kar sakta hai).
Ek chhote ya perfectly predictable network mein, un changes ke liye "adapt" karne ki sari cost uthana jo kabhi hoti hi nahi, yeh wasteful hai. Toh static simplicity, security, zero overhead mein jeetta hai — lekin manual labour aur no fault tolerance ki cost pe.
Aspect
Static
Dynamic
Table built by
human admin
routing protocol
Adapts to failures
❌ nahi
✅ haan
Bandwidth/CPU overhead
koi nahi
haan (updates + computation)
Scalability
poor (manual per route)
good
Security
high (koi injected routes nahi)
lower (neighbours pe trust)
Best for
small/stub networks
large/changing networks
Convergence
instant (pehle se set hai)
convergence time lagta hai
Configuration (Cisco-style syntax) destination network ke liye ek line set karta hai:
ip route 192.168.2.0 255.255.255.0 10.0.0.2
└ dest network ┘ └ mask ┘ └ next hop ┘
Worked example Do-router static setup
Topology: PC-A — R1 — (10.0.0.0/30) — R2 — PC-B, jahan PC-A 192.168.1.0/24 pe hai (R1 ke peeche) aur PC-B 192.168.2.0/24 pe hai (R2 ke peeche).
R1 ko chahiye: 192.168.2.0/24 tak kaise pahunche → R2 ko bhejo.
ip route 192.168.2.0 255.255.255.0 10.0.0.2
Yeh step kyun? R1 ko bilkul idea nahi ki PC-B ka network exist karta hai; humein haath se next hop (R2 ka interface IP) sikhana hoga.
R2 ko chahiye: 192.168.1.0/24 tak kaise pahunche → R1 ko bhejo.
ip route 192.168.1.0 255.255.255.0 10.0.0.1
Yeh step kyun? Routing dono ends pe configure karni hogi — PC-B se reply packet ko bhi wapas jaane ka route chahiye. Return route bhool jaana beginners ki #1 galti hai (ping "ek taraf kaam karta hai" lekin timeout ho jaata hai).
Worked example Default route (ek special static route)
Ek stub router jiske paas sirf ek exit hai woh 0.0.0.0/0 use karta hai ("jo kuch bhi main nahi jaanta"):
ip route 0.0.0.0 0.0.0.0 10.0.0.2
Yeh step kyun? 0.0.0.0/0 sabse chhota possible prefix hai, toh longest-prefix match se yeh sirf tab use hota hai jab koi aur specific route match na kare — ISP ki taraf ek perfect catch-all.
Har router periodically (ya change hone par) apne neighbours ko batata hai "yeh main reach kar sakta hoon aur kitni door." Har router jo sunta hai usse merge karta hai, ek algorithm chalaata hai, aur apne best routes recompute karta hai. Do badi families hain:
Distance-vector (RIP): "Main apne neighbour ke hop count pe trust karta hoon." Bellman-Ford style.
Link-state (OSPF): "Har router apne local links ka ek map flood karta hai; sabhi full graph build karte hain aur Dijkstra chalate hain."
Worked example Bellman–Ford haath se
Node X ke neighbours hain A (link cost 1) aur B (link cost 4). Woh destination Z tak costs advertise karte hain: D A ( Z ) = 3 , D B ( Z ) = 1 .
A se: 1 + 3 = 4
B se: 4 + 1 = 5
D X ( Z ) = min ( 4 , 5 ) = 4 , next hop A .
Yeh step kyun? Bhaale B cheaper advertise kar raha hai, total path cost matter karta hai — link + advertised combine karo, phir min lo.
Common mistake "Static routing mein koi routing table nahi hoti."
Kyun sahi lagta hai: "static" sunne mein lagta hai jaise kuch compute nahi hota, toh shayad table bhi nahi? Sach yeh hai: dono static aur dynamic ek routing table produce karte hain — table hamesha hi packets forward karti hai. Difference sirf table kaise bhari gayi mein hai (haath se vs protocol se). Fix: static mein bhi poori table hoti hai; woh sirf haath se likhi hui aur unchanging hoti hai.
Common mistake "Maine R1 pe route configure kar diya, toh ping kaam karega."
Kyun sahi lagta hai: tumne R1 ko destination tak pahunchna sikha diya. Sach yeh hai: reply packet opposite direction mein jaata hai aur return router pe apna route chahiye. Fix: hamesha dono directions ke liye routes configure karo (ya har side pe ek default route).
Common mistake "Dynamic routing hamesha better hai kyunki automatic hai."
Kyun sahi lagta hai: self-healing genuinely valuable hai. Sach yeh hai: automation bandwidth, CPU, convergence delay, aur security cost lagti hai. 2-router stub ke liye static faster aur safer dono hai. Fix: tool ko scale se match karo — 80/20: zyaadatar exam marks trade-off jaanne se aate hain, na protocol timers raat bhar yaad karne se.
Recall 12 saal ke bachche ko samjhao (Feynman)
Ek shahar ke post offices socho. Har office ko wall pe ek chart chahiye jo kahe "is mohalle ko khat bhejna hai toh us next office ko de do."
Static = boss haath se marker se chart likhta hai. Simple hai aur koi usse mess nahi kar sakta — lekin agar koi raasta band ho jaaye, chart ab galat hai aur khat kho jaate hain jab tak boss wapas aakar dubara na likhe.
Dynamic = offices har kuch minute mein ek doosre ko phone karti hain ki "yeh raasta khula hai, woh kitna door hai." Woh chart khud update karte rehte hain, toh raasta band ho jaaye toh automatically reroute ho jaata hai — lekin itna saara phoning time aur effort leta hai, aur ek prankster fake directions phone kar sakta hai.
Mnemonic Trade-off yaad rakho
"Static = Stable aur Simple lekin Stubborn; Dynamic = Adaptive lekin Active (bandwidth lagti hai)."
Static ke teen S (Stable, Simple, Secure) vs Dynamic ka "yeh Adapt karta hai lekin Active/expensive rehta hai."
Static routing mein routing table kaun banata hai? Network administrator, manually.
Dynamic routing mein routing table kaun banata hai? Routing protocols (RIP/OSPF/BGP), automatically information exchange karke.
Kya static routing link failure pe adapt karti hai? Nahi — manually change hone tak fixed rehti hai.
Dynamic routing protocols ki do main families? Distance-vector (jaise RIP) aur Link-state (jaise OSPF).
Bellman–Ford distance-vector equation batao. D x ( d ) = min v ( c ( x , v ) + D v ( d )) .
Ek chhota network static routing kyun prefer kar sakta hai? Koi protocol overhead nahi, zyaada secure, simpler, predictable.
Default route kya hai aur uska prefix kya hai? Ek catch-all route 0.0.0.0/0 jo tab use hoti hai jab koi aur specific route match na kare.
Routing-table entry select karne ka rule kya hai? Longest-prefix match.
OSPF (link-state) topology graph pe kaunsa algorithm chalaata hai? Dijkstra's shortest-path.
Static routes dono routers pe kyun set karni padti hain? Reply packets ko return route chahiye; routing per-direction hoti hai.
Dynamic routing ka static se compared main downside kya hai? Bandwidth/CPU consume karta hai, convergence delay hoti hai, bada attack surface hota hai.
Convergence time kya hai? Jab topology change hone ke baad sabhi routers consistent routes pe agree kar lein, usmein laga time.
Routing table — dono methods ka shared output
Bellman-Ford algorithm — distance-vector ke peeche ka math
Dijkstra's algorithm — link-state/OSPF ke peeche ka math
RIP protocol / OSPF protocol / BGP — concrete dynamic protocols
Longest prefix match — chosen table ko forward karne ke liye kaise use karte hain
Default gateway — sabse common static route
Network convergence — dynamic routing ki cost
Routing Protocol RIP OSPF BGP
Bandwidth CPU Attack Surface
Simplicity Security Zero Overhead