470 likes | 487 Views
Routing Concept. Sirak Kaewjamnong Computer Network Tech and Security. Agenda. Basic concepts Routing components Classes of routing protocol Internet routing protocol. Application layer. Application layer. Presentation layer. Presentation layer. Session layer. Session layer.
E N D
Routing Concept Sirak Kaewjamnong Computer Network Tech and Security
Agenda • Basic concepts • Routing components • Classes of routing protocol • Internet routing protocol
Application layer Application layer Presentation layer Presentation layer Session layer Session layer Transport layer Transport layer Network layer Network layer Network layer Data link layer Data link layer Data link layer Physical link Physical link Physical link What’s Routing Routing - path finding from one end to the other • Routing occurs at layer 3 • Bridging occurs at layer 2 Network B Network A
IP Routing • IP performs: • search for a matching host address • search for a matching network address • search for a default entry • Routing done by IP router, when it searches the routing table and decide which interface to end a packet out. incoming which interface ?
Routing Tables • Routing is carried out in a router by consulting routing table. • No unique format for routing tables, typically table contains: • address of a destination • IP address of next hop router • network interface to be used • subnet mask for the this interface • distance to the destination
Routing Component • Three important routing elements : • algorithm • database • protocol • Algorithm : can be differentiate based on several key characteristics • Database : table in routers or routing table • Protocol: the way information for routing to be gathered and distributed
Routing Algorithm Design goals • Optimality - compute the best route • Simplicity/low overhead - efficient with a minimum software and utilization overhead • Robustness/stability- perform correctly in the face of unusual circumstances • Rapid convergence- responds quickly when the network changes • Flexibility- accurate adapt to a variety of network
Routing Protocols • Routing protocol : protocol to exchange of information between routers about the current state of the network • Routing protocol jobs • create routing table entries • keep routing table up-to-date • compute the best choice for the next hop router
Routing Metrics • How do we decide that one route is better than another? • Solution : using a metric as a measurement to compare routes • Metrics may be distance, throughput, delay, error rate, and cost. • Today, IP supports Delay, Throughput, Reliability and Cost (DTRC)
2 hops 1 hop 1 hop 1 hop 1 hop Hop Count • A hop is defined as a passage through one router R1 R2 R3
Routing Algorithm Types • Static V.S. Dynamic • Source routing V.S. Hop-by-hop • Centralize V.S. Distributed • Distance vector V.S. Link state
Routing Algorithm: Static Route • Manually configuration routing table • Can’t react dynamically to network change such as router’s crash • Work well with small network or simple topology • Unix hosts use command route to add an entry point to point connection route to this way only, no need for update
Routing Algorithm: Static Technique Flooding • Every incoming packet is sent out every outgoing • Retransmit on all outgoing at each node • Simple technique, require no network information • Generate vast numbers of duplicate packet flooding incoming
Routing Algorithm: Dynamic Route Dynamic route • Network protocol adjusts automatically for topology or traffic changes • Unix hosts run routing daemon routed or gated
Routing Algorithm:Dynamic Route operation • Routing protocol maintains and distributes routing information Routing Table Routing Table Routing Protocol Routing Protocol Update Routing Information
Routing Algorithm: Source Routing • Source routing • Source will determine the entire route • Routers only act as store-forward devices • Hop-by-hop • Routers determine the path based on theirs own calculation
Routing Algorithm: Distance Vector • Distance means routing metric • Vector means destination • Flood routing table only to its neighbors • RIP is an example • Also known as Bellmann-Ford algorithm or Ford-Fulkerson algorithm
routing table W 0 X 0 Y 1 Z 2 routing table W 1 X 0 Y 0 Z 1 routing table W 2 X 1 Y 0 Z 0 Distance Vector Algorithm • Using hop count as a metric • Each router periodically sends a copy of its routing table to neighbors • send <network X, hopcount Y> R2 R1 R3 X Z W Y
recompute R1’s routing table recompute R3’s routing table recompute R2’s routing table topology change R3 sends out the updated table R2 sends out the updated table Distance Vector Routing Update • Step by step from router to router • Slow convergence R1 R2 R3
I, 1 hop J, 1 hop J, 1 hop K, 1 hop M, 1 hop N, 1 hop N, 1 hop O, 1 hop I, 1 hop K, 1 hop L, 1 hop L, 1 hop M, 1 hop O 1 hop Distance Vector: Broadcast (I) • The first round R1 J I R3 K R2 N L R5 M O R4
Distance Vector: Broadcast (II) I, 1 hop J, 1 hop K, 2 hops L, 2 hops M, 2 hops N, 2 hops J, 1 hop K, 1 hop M, 1 hop N, 1 hop I, 2 hops L, 2 hops O, 2 hops • The second round R1 N, 1 hop O, 1 hop J, 2 hops K, 2 hops M, 1 hop L, 2 hops J I R3 K R2 N L I, 1 hop K, 1 hop L, 1 hop J, 2 hops M, 2 hops N, 2 hops O, 2 hops R5 M O R4 L, 1 hop M, 1 hop O, 1 hop I, 2 hops K, 2 hops J, 2 hops N, 2 hops
Distance Vector: Broadcast (III) I, 1 hop J, 1 hop K, 2 hops L, 2 hops M, 2 hops N, 2 hops O, 3 hops J, 1 hop K, 1 hop M, 1 hop N, 1 hop I, 2 hops L, 2 hops O, 2 hops • The third round R1 N, 1 hop O, 1 hop J, 2 hops K, 2 hops M, 1 hop L, 2 hops I, 3 hops J I R3 K R2 N I, 1 hop K, 1 hop L, 1 hop J, 2 hops M, 2 hops N, 2 hops O, 2 hops L R5 M O R4 L, 1 hop M, 1 hop O, 1 hop I, 2 hops K, 2 hops J, 2 hops N, 2 hops
Distance Vector: Crashed Recovery R1 • R3 crashed • New complete route of R1 J I R3 R2 K R1 routing table L N hop via 1 N/A 1 N/A 2 R2 2 R2 2 R3 2 R3 3 R5 net I J K L M N O R5 M O hop via 1 N/A 1 N/A 2 R2 2 R2 3 R2 4 R2 3 R2 net I J K L M N O R4
Count to Infinity • R2 does not hear any thing from R3 • R1 says : don’t worry, I can reach R3 in 2 hops, R2 update hop count to 3 • R1 sees R2’s update, then update itself to 4 and so on…… R3 crashed R2 R3 R1 I J 2 1 initial 2 3 1st round 4 3 2nd round 4 5 3rd round hop count to R3
Split Horizon • Solve by set distance “16” as infinity • No destination can be more than 15 hops away from any other • Distance to X is not reported on the line that packet for X are sent • Actually, it reports with infinity R3 crashed R2 R3 R1 I J to R3 to R3
Dijkstra’s Shortest Path First Algorithm • Routers send out update messages whenever the state of a link changes. Hence the name: “Link State” algorithm. • Each router calculates lowest cost path to all others, starting from itself. • At each step of the algorithm, router adds the next shortest (i.e. lowest-cost) path to the tree. • Finds spanning tree routed on source router.
Open Shortest Path First (OSPF) • RIP limited in large internets • OSPF preferred interior routing protocol for TCP/IP based internets • Link state routing used
Routing Algorithm: Link State • Flood routing information to all nodes • Each router finds who is up and flood this information to the entire routers • Use the link state to build a shortest path map to everybody • OSPF is an example • Also known as Shortest Path First (SPF) algorithm
Flooding • Packet sent by source router to every neighbor • Incoming packet resent to all outgoing links except source link • Duplicate packets already transmitted are discarded • Prevent incessant retransmission • All possible routes tried so packet will get through if route exists • Highly robust • At least one packet follows minimum delay route • Reach all routers quickly • All nodes connected to source are visited • All routers get information to build routing table • High traffic load
Link State Overview • Using cost as a metric • Exchange its connection and cost to its neighbors • Each router compute the set of optimum path to all destination (Shortest Path First) X Z W Y link state X 0 Y 0 link state W 0 X 0 link state Y 0 Z 0
Link State Concept • Each router initially begins with directly connected network • Determine full knowledge of distant routers and theirs connection R1 exchange link state packets R2 R4 build topological database Routing Table R3 compute SPF update routing table
topology change Link State Routing Update • Send information to other routers • Fast convergence R1 R4 R2 R3
OSPF Overview • Router maintains descriptions of state of local links • Transmits updated state information to all routers it knows about • Router receiving update must acknowledge • Lots of traffic generated • Each router maintains database • Directed graph
Link Costs • Cost of each hop in each direction is called routing metric • OSPF provides flexible metric scheme based on type of service (TOS) • Normal (TOS) 0 • Minimize monetary cost (TOS 2) • Maximize reliability (TOS 4) • Maximize throughput (TOS 8) • Minimize delay (TOS 16)
Areas • Make large internets more manageable • Configure as backbone and multiple areas • Area – Collection of contiguous networks and hosts plus routers connected to any included network • Backbone – contiguous collection of networks not contained in any area, their attached routers and routers belonging to multiple areas
Operation of Areas • Each are runs a separate copy of the link state algorithm • Topological database and graph of just that area • Link state information broadcast to other routers in area • Reduces traffic • Intra-area routing relies solely on local link state information
Comparison Distance Vector Link State pass a copy of pass links state update whole routing table add metric from calculate the shortest path router to router to other routers frequent periodic update: event updated: fast slow convergence convergence
IGP IGP IGP IGP IGP IGP IGP IGP IGP Internet Routing Architecture Autonomous System EGP/BGP EGP/BGP Autonomous System BGP4 BGP4 Autonomous System BGP4 Autonomous System EGP/BGP EGP/BGP EGP/BGP EGP/BGP Autonomous System
Routing in the Internet The Internet uses hierarchical routing • The Internet is split into Autonomous Systems (AS’s) • Within an AS, the administrator chooses an Interior Gateway Protocol (IGP) • Examples of IGPs: RIP (rfc 1058), OSPF (rfc 1247). • Between AS’s, the Internet uses an Exterior Gateway Protocol • AS’s today use the Border Gateway Protocol, BGP-4 (rfc 1771)
Autonomous System • AS is a collectionof LANs and WANs and the interconnectting routers which under the control of one management authority • The same AS runs the same Interior Gateway Protocol • Why setting up AS? - establish a direct link to each other rather than route through the core Internet • How to select AS? - register and get the AS number from IAB
Gateway Protocol • Interior gateway protocol • exchange routing information between routers within a single AS • RIP, RIP II, OSPF • Exterior gateway protocol • collect network-reachablity information for the AS • EGP, BGP
Interior Routing Protocols • RIP • Uses distributed Bellman-Ford algorithm. • Updates sent every 30 seconds. • No authentication. • Originally in BSD UNIX. • OSPF • Link-state updates sent (using flooding) as and when required. • Every router runs Dijkstra’s algorithm. • Authenticated updates. • Autonomous system may be partitioned into “areas”.
Exterior Routing Protocols Problems: • Topology: The Internet is a complex mesh of different AS’s with very little structure. • Autonomy of AS’s: Each AS defines link costs in different ways, so not possible to find lowest cost paths. • Trust: Some AS’s can’t trust others to advertise good routes (e.g. two competing backbone providers), or to protect the privacy of their traffic (e.g. two warring nations). • Policies: Different AS’s have different objectives (e.g. route over fewest hops; use one provider rather than another).
Border Gateway Protocol (BGP-4) • BGP is not a link-state or distance-vector routing protocol. • BGP advertises complete paths (a list of AS’s). • Example of path advertisement: • “The network 171.64/16 can be reached via the path {AS1, AS5, AS13}”. • Paths with loops are detected locally and ignored. • Local policies pick the preferred path among options. • When a link/router fails, the path is “withdrawn”.
References • http://www.cisco.com/en/US/products/hw/routers/ps274/index.html • http://www.cisco.com/en/US/products/hw/routers/ps274/products_data_sheet09186a008010fba1.html • Computer Networks with Internet TechnologyBy William Stallings Chapter 11 Interior Routing Protocols