ch03-routing - Chapter 3 Routing Master, Supcom, F2004 The...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Chapter 3 Routing Master, Supcom, F2004 The Problem Process of finding a path from a source to a Process destination in the network destination Suppose That a customer wants to connect a Suppose the university server from his/her desktop while he/she is far away he/she what route should he/she take? does a shorter route exist? what if a link along the route goes down? what if the customer uses a mobile wireless link? Routing attempts to address these issues Local actions A routing protocol sets up a routing table in routing routing routers and switch controllers routers switch A node makes a local choice depending on node global topology. global Sub-problems 1. How to make correct local decisions: Each router must know something about global state 2. How to represent Global states (inherently large, dynamic, hard to collect) Requirements: 1. A routing protocol must intelligently summarize relevant information 2. Routing table space should be minimized (fast to look up, less to exchange) 3. Number and frequency of control messages should be Minimized 4. Robustness: avoid black holes, loops, oscillations 5. Choose optimal path Choices Centralized vs. distributed routing: centralized is simpler, but more prone to failure and congestion Source-based vs. hop-by-hop: size of the packet header is reduced with the hop-by-hop Stochastic vs. deterministic: stochastic spreads load, avoiding oscillations, but misorders Single vs. multiple path: primary and alternative paths have different use of resources State-dependent vs. state-independent: Routes depending on current network state (e.g. delay) offer better QoS Summary 1. Routing in telephone networks 2. Distance-vector routing 3. Link-state routing 4. Hierarchical routing 5. Internet routing protocols 6. Routing within a broadcast LAN 7. Multicast routing 8. Routing with policy constraints 9. Routing for mobile hosts 1. Telephone network topology 3-level hierarchy, with a fully-connected core Features of telephone network routing Stable load: can predict pairwise load throughout the day can choose optimal routes in advance downtime is less than a few minutes per year can assume that a chosen route is available can collect global statistics and implement global can changes changes Extremely reliable switches Single organization controls entire core Very highly connected network Connections require resources (but all need the Connections same) same) The cost of simplicity Simplicity of routing a historical necessity, but requires: reliability in every component logically fully-connected core Can we build an alternative that has same features as the telephone network, but is cheaper because it uses more sophisticated routing? Answer: Yes, that is one of the motivations for ATM Effect: 80% of the cost is in the local loop (not affected by changes in core routing) Moreover, many of the software systems assume topology (too expensive to change them) Dynamic nonhierarchical routing How DNHR works: Simplest core routing protocol ➢ accept call if one-hop path is available, else drop ➢ divides day into around 10-periods ➢ in each period, each switch is assigned a primary onehop path and a list of alternatives ➢ can overflow to alternative if needed ➢ drop only if all alternate paths are busy Problems: Problems: ➢ does not work well if actual traffic differs from does prediction prediction ➢ Burst of activity can cause network to enter Burst metastable state metastable Real-time network routing No centralized control is made by RTNR No Each toll switch maintains a list of lightly loaded links Intersection of source and destination lists gives set Intersection of lightly loaded paths of Example: ➢ ➢ ➢ ➢ At A, list is C, D, E => links AC, AD, AE lightly loaded At B, list is D, F, G => links BD, BF, BG lightly loaded A asks B for its list Intersection = D => AD and BD lightly loaded => ADB Intersection lightly loaded => it is a good alternative path lightly Effective in practice: about 1 call blocked in core out Effective of about 125 million calls attempted every day of 2. Distance vector routing Environment: links and routers unreliable, Alternative paths Environment: scarce, and traffic patterns can change rapidly scarce, Two key algorithms: distance vector and link-state Both algorithms assume router knows the address of each Both neighbor and the cost of reaching each neighbor neighbor Both allow a router to determine global routing information by Both talking to its neighbors talking Basic idea: ➢ ➢ ➢ Node tells its neighbors its best idea of distance to every other Node every node in the network node Node receives these distance vectors from its neighbors Node distance Updates its notion of best path to each destination, and the next Updates hop for this destination hop Example 2 o 3. Link state routing In link state, routers know entire network topology, and computes shortest path by itself. Key elements are: Topology Dissemination: Topology ➢ ➢ ➢ ➢ A router describes its neighbors with a link state packet (LSP) router link Use controlled flooding to distribute this everywhere Use controlled store an LSP in an LSP database store LSP if new, forward to every interface other than incoming one Maintain a set of nodes P to whom we know the shortest path consider every node one hop away from nodes in P = T find every way in which to reach a given node in T, and choose find shortest one shortest then add this node to P Computing shortest routes: Computing ➢ ➢ ➢ ➢ Sequence numbers How do we know an LSP is new? Use a sequence number in LSP header Greater sequence number is newer What if sequence number wraps around? smaller sequence number is now newer! On boot up, what should be the initial sequence On number? number? have to somehow purge old LSPs Solution: aging Solution: aging Aging Creator of LSP puts timeout value in the header Router removes LSP when it times out ➢ also floods this information to the rest of the network So, on booting, a router just has to wait for its old LSPs to be purged old But what age to choose? ➢ if too small ➢ ➢ purged before fully flooded needs frequent updates router waits idle for a long time on rebooting ➢ if too large ➢ Securing LSP databases LSP databases must be consistent to avoid routing LSP must loops loops Malicious agent may inject spurious LSPs Routers must actively protect their databases ➢ checksum LSPs ➢ ack LSP exchanges ➢ passwords Computing shortest paths: Example Choosing link costs Shortest path uses link costs Can use either static of dynamic costs In both cases: cost determine amount of traffic on the link ➢ ➢ lower the cost, more the expected traffic if dynamic cost depends on load, can have oscillations Static metrics: implest: set all link costs to 1 => min hop routing ➢ Give links weight proportional to capacity Independent of link capacity Cost proportional to length of router queue ➢ Many problems when network is loaded: network completely ignored paths with high costs, queue length does not predict future loads Modified metrics queue length averaged over a queue small time small wide dynamic range queue queue length assumed to queue predict future loads predict no restriction on no successively reported costs all tables computed simultaneously simultaneously queue length averaged over queue a longer time longer dynamic range restricted cost also depends on cost intrinsic link capacity intrinsic restriction on successively restriction reported costs attempt to stagger table computation computation 4. Hierarchical routing Large networks need large routing tables more computation to find shortest paths more bandwidth wasted on exchanging Dvs and LSPs Solution: hierarchical routing Key idea: Key ➢ ➢ ➢ ➢ divide network into a set of domains gateways connect domains computers within domain unaware of outside computers gateways know only about other gateways Example: PNNI Link-state Many levels of hierarchy Switch controllers at each level form a peer group Group has a group leader Leaders are members of the next higher level group Leaders summarize information about group to tell Leaders higher level peers higher All records received by leader are flooded to lower level LSPs can be annotated with per-link QoS metrics Switch controller uses this to compute source routes for Switch call-setup packets call-setup Hierarchy in the Internet Three-level hierarchy in addresses : network number, Three-level subnet number, host number subnet Core advertises routes only to networks, not to subnets Core (e.g. 193.95.*, 192.20.225.*). Gateways talk to backbone to find best next-hop to every other network in the Internet to Internet has three levels of routing ➢ ➢ ➢ highest is at backbone level, connecting autonomous highest backbone systems (AS) systems next level is within AS lowest is within a LAN Protocol between AS gateways: exterior gateway protocol Protocol within AS: interior gateway protocol Routing within a broadcast LAN What happens at an endpoint? On a point-to-point link, no problem On a broadcast LAN ➢ ➢ ➢ ➢ is packet meant for destination within the LAN? if so, what is the datalink address ? if not, which router on the LAN to pick? what is the router’s datalink address? Multicast routing Unicast: single source sends to a single Unicast: destination destination Multicast: hosts are part of a multicast group Multicast: multicast ➢ packet sent by any member of a group are packet any received by all all multiparty videoconference distance learning resource location Useful for ➢ ➢ ➢ Multicast group Associates a set of senders and receivers with each Associates other other ➢ ➢ ➢ ➢ But independent of them created either when a sender starts sending from a group or a receiver expresses interest in receiving even if no one else is there! rendezvous point Sender does not need to know receivers’ identities ➢ Issues in wide-area multicast Difficult because ➢ sources may join and leave dynamically ➢ need to dynamically update shortest-path tree would like to exploit LAN broadcast capability ➢ leaves of tree are often members of broadcast LAN ➢ Would like a receiver, to join or leave without explicitly notifying sender; otherwise it will not scale sender; Tunnels s Why do we need them? s s s s s Consider packet sent from A to F via multicast-incapable D If packet’s destination is Class D, D drops it If destination is F’s address, F doesn’t know multicast If address! address! So, put packet destination as F, but carry multicast address So, internally internally Encapsulate IP in IP => set protocol type to IP-in-IP Multicast routing protocol s Interface on “shortest path” to source depends on whether Interface path is real or virtual path s s Shortest path from E to A is not through C, but F so packets from F will be flooded, but not from C Need to discover shortest paths only taking multicast-capable Need routers into account routers DVMRP DVMRP s s Distance-vector Multicast routing protocol Distance vector, hop count metric s Used in conjunction with flood-and-prune (to determine memberships) prunes store per-source and per-group information reverse-path forwarding (to decide where to forward a reverse-path packet) packet) explicit join messages to reduce join latency (but no explicit source info, so still need flooding) source Core-based trees s s Problems with DVMRP-oriented approach need to periodically flood and prune to determine need group members group need to source per-source and per-group prune need records at each router records Key idea with core-based tree coordinate multicast with a core router coordinate core host sends a join request to core router routers along path mark incoming interface for forwarding Example s Advantages routers not part of a group are not involved in pruning explicit join/leave makes membership changes faster router needs to store only one record per group s Disadvantages x x all multicast traffic traverses core, which is a all bottleneck bottleneck traffic travels on non-optimal paths Protocol independent multicast s s Tries to bring best aspects of CBT and DVMRP Choose different strategies depending on whether Choose multicast tree is dense or sparse dense sparse flood and prune good for dense groups only need a few prunes CBT needs explicit join per source/group CBT good for sparse groups s s Dense mode PIM == DVMRP Sparse mode PIM is similar to CBT but receivers can switch from CBT to a shortest-path tree PIM (contd.) s s In CBT, E must send to core In PIM, B discovers shorter path to E (by looking at unicast In routing table) routing sends join message directly to E sends prune message towards core s s Core no longer bottleneck Survives failure of core Routing vs. policy routing s In standard routing, a packet is forwarded on the In ‘best’ path to destination ‘best’ choice depends on load and link status s With policy routing, routes are chosen depending on With policy directives regarding things like policy source and destination address transit domains transit quality of service time of day charging and accounting fine balance between correctness and information fine hiding hiding s The general problem is still open Multiple metrics Simplest approach to policy routing Advertise multiple costs per link Routers construct multiple shortest path trees All routers must use the same rule in computing paths Problems: Remote routers may misinterpret policy ➢ ➢ source routing may solve this but introduces other problems Mobile routing s s How to find a mobile host? Two sub-problems location (where is the host?) routing (how to get packets to it?) s We will study mobile routing in the Internet and We in the telephone network in Mobile routing in the telephone network Each cell phone has a global ID that it tells remote MTSO when turned on (using slotted ALOHA up channel) when Remote MTSO tells home MTSO To phone: call forwarded to remote MTSO to closest base From phone: call forwarded to home MTSO from closest base New MTSOs can be added as load increases Mobile routing in the Internet s s s Very similar to mobile telephony; but outgoing traffic Very does not go through home, and need to use tunnels to forward data to Use registration packets instead of slotted ALOHA Use packets passed on to home address agent Old care-of-agent forwards packets to new care-ofagent until home address agent learns of change Problems Security ➢ mobile and home address agent share a common mobile secret secret ➢ checked before forwarding packets to COA Loops ...
View Full Document

This note was uploaded on 03/31/2010 for the course SUPCOM 1 taught by Professor Boudriga during the Spring '10 term at Hibbing CC.

Ask a homework question - tutors are online