270 likes | 391 Views
Routing in Wired Nets CS 215 W 01 - Mario Gerla. Routing Principles. Routing : delivering a packet to its destination on the best possible path Routing steps : (a) determine node network address (b) compute/construct the path (c) forward the packet to destination
E N D
Routing Principles • Routing: delivering a packet to its destination on the best possible path • Routing steps: (a) determine node network address (b) compute/construct the path (c) forward the packet to destination Here, we will focus on (b) - routing alg. for path computation
Routing Alg Requirements • Find path with min delay, cost or other metric • dynamic reconfiguration after failures/changes • adaptive load balancing
Bellman Ford Alg • The algorithm used to compute DVs is the Bellman Ford (B-F) Algorithm • For DV computation, we have used a “decentralized” version of the B-F algorithm • The B-F based DV routing algorithm is used in many network routing protocols: BGP, ISO IDRP, RIP, Novell IPX, original ARPANET, Packet Radio net, etc.
Poison Reverse • If node Z uses next node Y to get to X, Z will advertises D(X) = 00 to Y
Poison Reverse (cont) • Note: loops with 3 or more nodes (instead of ping-pong) not detected by Poison Reverse • Solution? Path Vector: advertise not only the distance to destination, but the entire path to destination • Path vector used in internet BGP (interdomain routing)
Link State Routing • Each router measures the “costs” (eg, delay, bdw, pkt loss etc.) of its attached links • Periodically (or upon link change/failure) it packs the link costs in a Link State (LS) pkt, and broadcasts the LS pkt to its neighbors • The neighbors will in turn broadcast the LS pkt to their neighbors and so on until all nodes have heard the pkt (propagation via flooding) • Duplicate pkts are detected and dropped based on source ID and unique sequence number
Link State Routing (cont) • Each router builds a complete network topology and link cost map (identical for all routers) • Next, it computes routes from itself to all other nodes in the network (using, for example, Dijkstra’s Alg). It creates a routing table with such routes • Routing tables at different nodes are all consistent since they are based on the same topology/cost data base • LS routing protocol used in OSPF intradomain routing
Link State vs Distance Vector • Message complexity: For each cycle, O(nE) for both LS and DV, where E = # of links However, LS propagates change to ALL nodes; DV only to nodes affected by change • Speed of Convergence: LS updates propagate much faster than DV updates; this is one of the reasons why ARPANET dumped DV for LS in 1979
Link State vs Distance Vector (cont) • Robustness: both LS and DV tolerant of changes/failure; LS better protected against router mulfunctions (wrong path computation); the error remains local in LS; it affects the entire network in DV • QoS support: in LS, complete topology map allows router to compute paths with QoS constraints (Q-OSPF) • Implementation cost: LS requires more memory and more processing
Routing in the Internet • The Global Internet consists of Autonomous Systems (AS) interconnected with eachother: Stub AS: small corporation Multihomed AS: large corp. (no transit) Transit AS: provider • Two level routing: Intra-AS: administrator is responsible for choice Inter-AS: unique standard
Intra-AS Routing • Also known as Interior Gateway Protocol (IGP) • Most common IGPs: RIP: Routing Information Protocol OSPF: Open Shortest Path First
RIP ( Routing Info Protocol) • Distance vector type scheme • Included in BSD-UNIX Distribution in 1982 • Distance metric: # of hops (max = 15 hops) • Distance vector: exchanged every 30 sec via a Response Message (also called Advertisement) • Each Advertisement contains up to 25 destination nets
OSPF (Open Shortest Path First) • “open”: publicly available • uses the Link State algorithm (ie, LS packet dissemination; topology map at each node; route computation using Dijkstra’s alg) • OSPF advertisement carries one entry per neighbor router • advertisements disseminated to ENTIRE Autonomous System (via flooding)
OSPF “advanced” features (not in RIP) • Security: all OSPF messages are authenticated (to prevent malicious intrusion); TCP connections used • Multiple same-cost paths allowed (only one path in RIP) • For each link, multiple cost metrics for different TOS (eg, satellite link cost set “low” for best effort; high for real time) • Integrated uni- and multicast support: Multicast OSPF (MOSPF) uses same topology data base as OSPF • Hierarchical OSPF in large domains
Hierarchical OSPF • Two level hierarchy: local area and backbone • Link state advertisements do not leave respective areas • Nodes in each area have detailed area topology; they only know direction (shortest path) to networks in other areas • Area Border routers “summarize” distances to networks in the area and advertise them to other Area Border routers • Backbone routers run an OSPF routing alg limited to the backbone • Boundary routers connect to other ASs
Inter-AS routing (cont) • BGP (Border Gateway Protocol): the de facto standard • Path Vector protocol: and extension of Distance Vector • Each Border Gateway broadcasts to neighbors (peers) the entire path (ie, sequence of AS’s) to destination • For example, Gwy X may store the following path to destination Z: Path (X,Z) = X,Y1,Y2,Y3,…,Z
Inter-AS routing (cont) • Now, suppose Gwy X send its path to peer Gwy W • Gwy W may or may not select the path offered by Gwy X, because of cost, policy or loop prevention reasons • If Gwy W selects the path advertised by Gwy X, then: Path (W,Z) = w, Path (X,Z) Note: path selection based not only on cost (eg,# of AS hops), but also on administrative and policy issues (eg, do not route packets through competitor’s AS)
Inter-AS routing (cont) • Peers exchange BGP messages using TCP • OPEN msg opens TCP connection to peer and authenticates sender • UPDATE msg advertises new path (or withdraws old) • KEEPALIVE msg keeps connection alive in absence of UPDATES; it also serves as ACK to an OPEN request • NOTIFICATION msg reports errors in previous msg; also used to close a connection
Address “Scaling” • As Internet grows, werun out of addresses • Solution (a): subnetting. Eg, Class B Host field (16bits) is subdivided into <subnet;host> fields • Solution (b): CIDR(Classless Inter Domain Routing): assign block of contiguous Class C addresses to the same organization; these addresses all share a common prefix • repeated “aggregation” within same provider leads to shorter and shorter prefixes • CIDR helps also routing table size and processing: Border Gwys keep only prefixes and find “longest prefix” match
Why Intra- and Inter-AS routing ? • Policy: Inter is concerned with policies (which provider we must select/avoid, etc). Intra is contained in a single organization, so, no policy decisions necessary • Scale: Inter provides an extra level of routing table size and routing update traffic reduction above the Intra layer • Performance: Intra is focused on performance metrics; needs to keep costs low. In Inter it is difficult to propagate performance metrics efficiently (latency, privacy etc). Besides, policy related information is more meaningful. We need BOTH!