410 likes | 548 Views
Routing. Decision time Connection Oriented Service ( virtual circuit ) At start of session Made once for each session Connectionless Oriented Service ( datagram ) At each datagram Made for each datagram. Routing. Decision Place Distributed Decision made at each node (host or router)
E N D
Routing Decision time • Connection Oriented Service (virtual circuit) • At start of session • Made once for each session • Connectionless Oriented Service (datagram ) • At each datagram • Made for each datagram
Routing Decision Place • Distributed • Decision made at each node (host or router) • Centralized • Decisions made by some central node and passed back to each decision point • Source • Decision made by the originating host
Routing Strategy • Static or fixed • Non adaptive • Often done by manual entry • Hosts effectively do static routing • Used in early networks • Adaptive or dynamic • Routing changes dynamically with conditions • Algorithms more complex • Done today by routers
Routing Performance Criteria Pick ‘best’ or ‘optimal’ path What is the measure of ‘best’? • Number of hops • Time (delay) • Cost • Overall throughput Measure may vary by type of service
2 1 4 B 2 1 C 1 A 2 D E 3 F G Routing Table Node A Destination Node A B C D E F G Output Node - B B B E F F Static Routing
Adaptive Routing • Reacts to changes in network and network traffic • Routing is more complex • Routing changes based on information exchanged between nodes – increased traffic • May adapt too quickly or too slowly • Can improve overall network performance • Can aid in traffic control
Adaptive Routing • Centralized • A number of centralized nodes calculate all routes and then distribute routing table to individual nodes • Isolated • Routing path determined at node independent of outside information • Flooding • Distributed • All routing nodes dynamically exchange some routing information • Internet uses a distributed scheme
Distributed Adaptive Routing • Each node periodically sends information to its neighbors • Provides information about the delay from itself to others • Delay measures might be • Number of hops • Time delay • Queue lengths • Cost • Combinations of above factors
Example of Routing • Node X is directly connected node Y • Node X knows its delay to Node Y 1 hop m time delay q queue length • Periodically Node Y reports to Node X, and others, the delays from Y to any other node • Node X will do likewise to node Y • Node X will pass on to others what it learned from Node Y
Node Y Node X A 15 A 15 + m B 8 B 8 + m m C 5 C 5 + m D 16 D 16 + m .. .. .. .. .. .. .. .. K 7 K 7 + m .. .. .. .. .. .. .. .. Y 0 Y m • From this X knows the delay, through Y, to each other node • Node A, through Y = 15 + m • Node K, through Y = 7 + m
B C A D E F G Distance to Node Delay Stored at
B C A D E F G Distance to Node Delay Stored at
A B C D E Problems with Changing TopologiesSpreading the News Link to A is down 0 ∞ ∞ ∞ ∞ A comes up 0 1 ∞ ∞ ∞ 0 1 2 ∞ ∞ 0 1 2 3 ∞ 0 1 2 3 4
A B C D E Problems with Changing TopologiesSpreading the News A is up 1 2 3 4 A goes down 3 2 3 4 3 4 3 4 5 4 5 4 5 6 5 6 7 6 7 6 ∞ ∞ ∞ ∞
Routing Information Protocol(RIP) • Used in the early Internet • Described in RFC 1058 (1988) • One of a class of Distance Vector Protocols • Popular implementation in Berkley UNIX – routed • Does not detect routing loops • Does not work well with large number of routers • Slow convergence • Instability
RIPPartial Solutions to Problems • Split Horizons • Note from which node a best route was learned • When sending routing information, do not include information learned from that node • This splits the network into two parts • Routes learned from a node • Routes learned from other nodes • Poisoned Reverse • Include all routes but makes metric infinity for those routes learned from that node
RIP - Problems • Triggered updates • When changes occur, send updates immediately • This increases network traffic • Speeds up convergence
RIP Timers • Periodic Timer • Interval at which routing updates are exchanged • Usually 30 seconds • Expiration timer • When a route to a network is received, a timer is set • If no new updates are received within this time, the route is considered invalid • Usually set to 180 seconds • Garbage Collection timer • Removes invalidated routes after this time • Usually set for additional 120 seconds
Problems with Original RIP • Limited to 15 hops • Used hop counts only, no other metrics • Routing loops can occur • Does not converge very fast • Uses broadcasts to exchange tables • Original version has no knowledge of subnets • In general, has worked fine for small networks
Hierarchical Routing • As networks grow, tables become very large – larger memories • More cpu power to scan tables • More bandwidth to exchange routing information • Consider dividing network into regions • Each region knows all routing details within its region • Each region may know about other regions but little or no detail about routing inside other regions
Hierarchical Routing • How to set up regions? • Consider a set of interconnected networks and routers under a single administrative authority • This is called an Autonomous System (AS) • AS identification is a number assigned by the IANA • AS for UMS network is AS 557 • UMS managed IP address space group in this AS
AS 557Autonomous System for UMS http://bgp.potaroo.net/cgi-bin/as-report?as=AS557&view=1221
Routing Protocols • Routers within a single AS that exchange routing information are interior routers • Routers belonging to different AS that exchange information are called exterior routers • There are Interior gateway protocols (IGP) and exterior gateway protocols (EGP) • A single router could participate in both • There are multiple protocols for each type
Interior Gateway Protocols • RIP used as an IGP • RIP is part of a class of routing protocols based on Bellman-Ford algorithms, called distance vector protocols • Inter-Gateway Routing Protocol (IGRP) Proprietary protocol from Cisco Systems • EIGRP – extension to IGRP • Open Shortest Path First (OSPF) Link-state algorithm Devised by IETF and now a standard IGP
RIP - 2 • RFC 1388 (1993) • Passes additional information • Route-tag – Autonomous System number to support exterior gateway protocols • Subnet mask – to support CIDR • Can be used as an exterior routing protocol • Makes provision for authentication • Uses multicasting to exchanging routing vectors
Open Shortest Path First(OSPF) • This is an Interior Gateway Protocol • Open standard • Version 1 RFC 1131 • Version 2 RFC 1247 • Includes provisions for type of service • Provides for load balancing across multiple routes • Provides for authentication of OSPF messages • Allows a single AS to be further broken down into areas • Provides for exchanging information with ‘external’ sites
OSPF • Uses link states rather than distance vectors • Each router shares the state of its links to neighbors • Eventually each router can build a full topology of an Area • Additional information need be sent only when topology changes • Each router uses the topology derived from these link state exchanges to build its routing table • Link state information is sent by flooding • Each router sends information to all its neighbors • Each neighbors sends this information to all its neighbors • Associated with each link is a metric (on output side of interface • A form of cost • Type of service
OSPF OSPF classifies each link into one of four categories Point to Point Connects two routers
OSPF Stub Link Connects a network through a single router The router is called the designated router for that network
OSPF Transient Link Several routers connected to a single network How should it be represented?
Link State Routing • Each node creates Link Status Packets (LSP) to include Node ID, list of links, status of link, etc • These are sent to other nodes at start up • Sent when changes occur • Sent on a periodic basis (60 minutes-2 hours) • LSPs sent to all nodes through flooding • Each node receives a picture of entire topology • From the topology information, each node creates a shortest path tree • This is done through an algorithm due to Dijkstra • From the shortest path tree, each node creates its routing table
Areas in OSPF • An area is any logical collection of networks, hosts, and routers within an Autonomous System • An AS can be broken down into a number of areas • All areas in an AS must connect to a special area called the AS backbone • Routers that connect areas are called area border routers • Routers that exist in the backbone area are called backbone routers • A router can act as both a border router and a backbone router
Exterior Routing Protocol • Various versions over time • Current protocol used by all ISPs is Border Gateway Protocol version 4 (BGP-4) • Provides for • Routing among Autonomous Systems • Routing information is comprised of paths through AS • Applying policies
Border Gateway ProtocolBGP-4 • Currently used as the Exterior Gateway Protocol in the Internet • RFC 1771/1772 • BGP provides information about the reachability of networks • BGP exchanges reachability information with other BGP systems • BGP provides information about paths of Autonomous Systems to reach networks • In this way BGP can construct graphs of AS • Can remove loops from this graph
BGP-4 • Allows for policy based routing • Policy can be based on political, economic, or other considerations • Policy can include what is ‘permitted’ • Example, not all traffic can go across Internet2 • Contrary to previous routing protocols, uses TCP as its transports • This is a form of distance vectors but the distances can include ‘administrative’ distances
BGP Updates • BGP advertises reachability • Includes distance vectors which can be administratively set • BGP includes AS-PATH x.y.z.w/nnnext-hopASxxx ASyyy ASzzz • Does not require periodic refresh of entire routing table • Networks advertised as reachable can be withdrawn • Can also filter some entries
BGP Resources http://www.ripe.net http://www.nanog.org/isp.html
Growth of the BGP Table - 1994 to Present (Data Gathered from AS1221 and Route-Views)