CS 557 Distance Vector Routing RIPv2 - Carrying Additional Informatioin, RFC 1723, 1994 Detection of Invalid Routing Announcements in the RIP Protocol D. Pei, D. Massey, and L. Zhang, , 2003 Spring 2011
Distance Vector Protocols • Employed in the early Arpanet • Distributed next hop computation – adaptive • Unit of information exchange – vector of distances to destinations • Distributed Bellman-Ford Algorithm
Distributed Bellman-Ford Start Conditions: Each router R starts with a vector of (zero) distances to all directly attached networks Send step: Each router advertises its current vector to all neighboring routers. Receive step: Upon receiving vectors from each of its neighbor N, for each destination D announced by N if next(R,D) == N or dist(R,D) > cost(R,N) + dist(N,D) dist(R,D) = cost(R,N) + dist(N,D) next(R,D) = N endif endfor
Example - Initial Distances 1 Distance to node B C Info at A B C D E node 7 0 7 ~ ~ 1 A 8 2 B A 7 0 1 ~ 8 C ~ 1 0 2 ~ 1 2 D ~ ~ 2 0 2 D E E 1 8 ~ 2 0
E Receives D ’ s Routes 1 Distance to node B C Info at A B C D E node 7 0 7 ~ ~ 1 A 8 2 B A 7 0 1 ~ 8 C ~ 1 0 2 ~ 1 2 D ~ ~ 2 0 2 D E E 1 8 ~ 2 0
E Updates Cost to C 1 Distance to node B C Info at A B C D E node 7 0 7 ~ ~ 1 A 8 2 B A 7 0 1 ~ 8 C ~ 1 0 2 ~ 1 2 D ~ ~ 2 0 2 D E E 1 8 4 2 0
A Receives B ’ s Routes 1 Distance to node B C Info at A B C D E node 7 0 7 ~ ~ 1 A 8 2 B A 7 0 1 ~ 8 C ~ 1 0 2 ~ 1 2 D ~ ~ 2 0 2 D E E 1 8 4 2 0
A Updates Cost to C 1 Distance to node B C Info at A B C D E node 7 0 7 8 ~ 1 A 8 2 B A 7 0 1 ~ 8 C ~ 1 0 2 ~ 1 2 D ~ ~ 2 0 2 D E E 1 8 4 2 0
A Receives E ’ s Routes 1 Distance to node B C Info at A B C D E node 7 0 7 8 ~ 1 A 8 2 B A 7 0 1 ~ 8 C ~ 1 0 2 ~ 1 2 D ~ ~ 2 0 2 D E E 1 8 4 2 0
A Updates Cost to C and D 1 Distance to node B C Info at A B C D E node 7 0 7 5 3 1 A 8 2 B A 7 0 1 ~ 8 C ~ 1 0 2 ~ 1 2 D ~ ~ 2 0 2 D E E 1 8 4 2 0
Final Distances 1 Distance to node B C Info at A B C D E node 7 0 6 5 3 1 A 8 2 B A 6 0 1 3 5 C 5 1 0 2 4 1 2 D 3 3 2 0 2 D E E 1 5 4 2 0
Final Distances After Link Failure 1 Distance to node B C Info at A B C D E node 7 0 7 8 10 1 A 8 2 B 7 0 1 3 8 A C 8 1 0 2 9 1 2 D 10 3 2 0 11 D E E 1 8 9 11 0
View From a Node E ’ s routing table 1 Next hop B C dest A B D 7 1 14 5 A B 8 2 7 8 5 A C 6 9 4 D 4 11 2 1 2 D E
The Bouncing Effect dest cost dest cost 1 A 1 B 1 A B C 1 C 2 1 25 C dest cost A 2 B 1
C Sends Routes to B dest cost dest cost A ~ B 1 A B C 1 C 2 1 25 C dest cost A 2 B 1
B Updates Distance to A dest cost dest cost A 3 B 1 A B C 1 C 2 1 25 C dest cost A 2 B 1
B Sends Routes to C dest cost dest cost A 3 B 1 A B C 1 C 2 1 25 C dest cost A 4 B 1
C Sends Routes to B dest cost dest cost A 5 B 1 A B C 1 C 2 1 25 C dest cost A 4 B 1
Counting to Infinity • When link breaks, C marks D as unreachable and reports that to A B 1 A and B. • Suppose A learns it first. A now thinks best path to D is through B. A reports D unreachable to B 1 1 and a route of cost=3 to C. • C thinks D is reachable through C A at cost 4 and reports that to B. • B reports a cost 5 to A who reports new cost to C. 1 • Distance increases until it D reaches infinity – Infinity = 16 in RIP!
Fail-Stop Failure Assumptions • Fail-Stop: a router either works perfectly, or completely stops. My Distance to UCLA UCLA is Zero ! ARPANet in 1971 [ McQuillan:TOC78(12)]
BGPmon ¡Relays ¡
Background ¡ • Autonomous ¡ AS ¡Path: ¡CBE ¡ AS ¡Path: ¡DE ¡ System ¡(AS) ¡ AS ¡C ¡ AS ¡D ¡ • Border ¡Gateway ¡ Protocol ¡(BGP) ¡ AS ¡Path: ¡BE ¡ AS ¡B ¡ ¡ AS ¡E ¡ • Profit-‑driven ¡ I ¡own ¡prefix ¡p! ¡ policy ¡ AS ¡A ¡ Peer-‑Peer ¡ AS ¡Path: ¡ABE ¡ Customer-‑provider ¡ AS ¡update ¡message ¡ 22 ¡
Background ¡(cont.) ¡ AS ¡Path: ¡CBA ¡ AS ¡Path: ¡CBE ¡ • BGP ¡lacks ¡ AS ¡C ¡ authenJcaJon ¡ AS ¡D ¡ • Fabricated ¡AS ¡ announcement ¡ • Prefix ¡hijacking ¡ AS ¡B ¡ ¡ AS ¡Path: ¡BA ¡ AS ¡E ¡ p ¡ April ¡8, ¡2010: ¡Chinese ¡ISP ¡ hijacks ¡the ¡Internet: ¡China ¡ Telecom ¡originated ¡37,000 ¡ AS ¡A ¡ prefixes ¡not ¡belonging ¡to ¡ Peer-‑Peer ¡ them ¡in ¡15 ¡minutes, ¡causing ¡ Customer-‑provider ¡ I ¡own ¡prefix ¡p! ¡ massive ¡outage ¡of ¡services ¡ globally. ¡ AS ¡update ¡message ¡ 23 ¡ 23 ¡
¡Why ¡Track ¡BGP ¡Prefixes? ¡ • Given ¡a ¡network ¡outage ¡report... ¡ • Are ¡key ¡sectors ¡such ¡a ¡financial, ¡ ¡criJcal ¡ infrastructure, ¡ ¡ ¡government ¡ ¡impacted? ¡ • What ¡is ¡the ¡geographic ¡range ¡of ¡the ¡event? ¡ • Is ¡it ¡an ¡unintenJonal ¡error ¡or ¡an ¡aXack? ¡ • Who ¡is ¡responsible ¡and ¡who ¡needs ¡to ¡act ¡to ¡ repair ¡it? ¡ 10/9/2012 ¡ WIT: ¡A ¡Watchdog ¡for ¡Internet ¡RouJng ¡ 24
How ¡BGP ¡Data ¡CollecJon ¡Works ¡(1/3) ¡ Century ¡Link ¡ • ISPs ¡around ¡the ¡world ¡ WIDE ¡ offer ¡to ¡provide ¡BGP ¡data ¡ Telstra ¡ ¡ IIJ ¡ Hurricane ¡ Level3 ¡ • Agree ¡data ¡can ¡be ¡made ¡ Tiscali ¡ publically ¡available ¡to ¡any ¡ Telia ¡ And ¡Many ¡Many ¡More ¡ operator ¡or ¡researcher ¡ ¡ RUSnet ¡ NepalIX ¡ France ¡Telecom ¡ ¡ CERNET ¡ Sprint ¡ KDDI ¡ Telefonica ¡ 10/9/2012 ¡ WIT: ¡A ¡Watchdog ¡for ¡Internet ¡RouJng ¡ 25 ¡
How ¡BGP ¡Data ¡CollecJon ¡Works ¡(2/3) ¡ ¡Routers ¡ ¡BGP ¡Data ¡ To ¡Monitor ¡ Collectors ¡ • Monitoring ¡projects ¡deploy ¡ collectors ¡at ¡exchange ¡points ¡ • ISP ¡routers ¡peer ¡with ¡ collectors ¡ ¡Oregon ¡IX ¡ • To ¡the ¡ISP ¡router, ¡ ¡the ¡ collector ¡is ¡just ¡another ¡BGP ¡ peer ¡(e.g. ¡router) ¡ ¡LINX ¡ • Only ¡the ¡collector ¡never ¡ announces ¡any ¡routes! ¡ ¡ ¡Sydney ¡ ¡ 10/9/2012 ¡ WIT: ¡A ¡Watchdog ¡for ¡Internet ¡RouJng ¡ 26 ¡
How ¡BGP ¡Data ¡CollecJon ¡Works ¡(3/3) ¡ ¡Routers ¡ ¡BGP ¡Data ¡ ¡ResulJng ¡ ¡ To ¡Monitor ¡ Collectors ¡ Data ¡ ¡ ¡ Archive ¡ ¡ • All ¡Route ¡Updates ¡Are ¡ Logged ¡ ¡ • 15 ¡minute ¡intervals ¡ ¡Oregon ¡IX ¡ hXp://archive.routeviews.org/bgpdata/ ¡ • Collector ¡also ¡archives ¡ rouJng ¡table ¡of ¡each ¡peer ¡ ¡LINX ¡ router ¡ • 2 ¡hour ¡intervals ¡ ¡Sydney ¡ ¡ 10/9/2012 ¡ WIT: ¡A ¡Watchdog ¡for ¡Internet ¡RouJng ¡ 27 ¡ ¡
Oregon ¡RouteViews ¡Today ¡
Real-‑Time ¡Data ¡Access ¡ Fundamental ¡Changes ¡In ¡Monitoring ¡Infrastructure ¡ • Provide ¡real-‑Jme ¡access ¡to ¡route ¡tables ¡and ¡incremental ¡updates ¡ – Manage ¡table ¡transfers ¡and ¡update ¡bursts ¡from ¡routers ¡ – Scale ¡to ¡large ¡numbers ¡of ¡BGP ¡peers ¡ – Scale ¡to ¡vast ¡numbers ¡of ¡clients ¡ – Protect ¡monitoring ¡system ¡from ¡slow ¡or ¡misconfigured ¡clients ¡ ¡ – Requires ¡Soiware ¡Dedicated ¡to ¡Monitoring ¡ • BGPmon: ¡ ¡dedicated ¡soiware ¡for ¡monitoring ¡and ¡real-‑Jme ¡delivery ¡ – XML ¡format ¡for ¡resulJng ¡data ¡with ¡integrated ¡updates ¡and ¡tables ¡ – BGPmon ¡overcomes ¡both ¡design ¡and ¡ ¡deployment ¡challenges ¡ • 10/9/2012 ¡ WIT: ¡A ¡Watchdog ¡for ¡Internet ¡RouJng ¡ 29
CollecJng ¡RouJng ¡Data ¡ (Oregon ¡RouteViews ¡+ ¡BGPmon) ¡
Recommend
More recommend