What is it? • Process of finding a path from a source Routing to every destination in the network • Suppose you want to connect to Antarctica from your desktop An Engineering Approach to – what route should you take? Computer Networking – does a shorter route exist? – what if a link along the route goes down? – what if you’re on a mobile wireless link? • Routing deals with these types of issues Basics Key problem • A routing protocol sets up a routing • How to make correct local decisions? table in routers and switch controllers – each router must know something about global state • Global state – inherently large – dynamic – hard to collect • A routing protocol must intelligently summarize relevant information 1
Choices Requirements • Centralized vs. distributed routing • Minimize routing table space – centralized is simpler, but prone to failure and congestion – fast to look up • Source-based vs. hop-by-hop – less to exchange – how much is in packet header? • Minimize number and frequency of control – Intermediate: loose source route messages • Stochastic vs. deterministic • Robustness: avoid – stochastic spreads load, avoiding oscillations, but – black holes misorders – loops • Single vs. multiple path – oscillations – primary and alternative paths (compare with • Use optimal path stochastic) • State-dependent vs. state-independent – do routes depend on current network state (e.g. delay) Outline Telephone network topology • Routing in telephone networks • Distance-vector routing • Link-state routing • Choosing link costs • Hierarchical routing • Internet routing protocols • Routing within a broadcast LAN • Multicast routing • 3-level hierarchy, with a fully-connected core • AT&T: 135 core switches with nearly 5 million • Routing with policy constraints circuits • Routing for mobile hosts • LECs may connect to multiple cores 2
Features of telephone network Routing algorithm routing • If endpoints are within same CO, directly connect • Stable load • If call is between COs in same LEC, use one- – can predict pairwise load throughout the day hop path between COs – can choose optimal routes in advance • Otherwise send call to one of the cores • Extremely reliable switches • Only major decision is at toll switch – downtime is less than a few minutes per year – can assume that a chosen route is available – one-hop or two-hop path to the destination toll switch – can’t do this in the Internet – (why don’t we need longer paths?) • Single organization controls entire core • Essence of problem – can collect global statistics and implement global changes – which two-hop path to use if one-hop path is full • Very highly connected network • Connections require resources (but all need the same) The cost of simplicity Statistics • Simplicity of routing a historical necessity • But requires • Posson call arrival (independence – reliability in every component assumption) – logically fully-connected core • Can we build an alternative that has same • Exponential call “holding” time (length!) features as the telephone network, but is • Goal:- Minimise Call “Blocking” (aka cheaper because it uses more sophisticated routing? “loss”) Probability subject to minimise – Yes: that is one of the motivations for ATM cost of network – But 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 3
Dynamic nonhierarchical Metastability routing (DNHR) • Simplest core routing protocol – accept call if one-hop path is available, else drop • DNHR – divides day into around 10-periods – in each period, each toll switch is assigned a primary one-hop path and a list of alternatives – can overflow to alternative if needed • Burst of activity can cause network to enter – drop only if all alternate paths are busy metastable state • crankback – high blocking probability even with a low load • Problems • Removed by trunk reservation – does not work well if actual traffic differs from – prevents spilled traffic from taking over direct path prediction Real-time network routing Trunk status map routing • No centralized control (TSMR) – Each toll switch maintains a list of lightly loaded links • DNHR measures traffic once a week – Intersection of source and destination lists gives set of lightly loaded paths • TSMR updates measurements once an • Example hour or so – At A, list is C, D, E => links AC, AD, AE lightly loaded – only if it changes “significantly” – At B, list is D, F, G => links BD, BF, BG lightly • List of alternative paths is more up to loaded date – A asks B for its list – Intersection = D => AD and BD lightly loaded => ADB lightly loaded => it is a good alternative path • Very effective in practice: only about a couple of calls blocked in core out of about 250 million calls attempted every day 4
Underlying Network Properties D ynamic D A A lternative R R outing Underlying Network Properties ynamic lternative outing Fully connected network Very simple idea, but can be shown to • Underlying network is a trunk network provide optimal routes at very low Relatively small number of nodes complexity… • In 1986, the trunk network of British Telecom had only 50 nodes • Any algorithm with polynomial running time works fine Stochastic traffic • Low variance when the link is nearly saturated November 2001 Dynamic Alternative Routing 17 November 2001 Dynamic Alternative Routing 18 Dynamic Alternative Routing Dynamic Alternative Routing Fixed Tandem Fixed Tandem Proposed by F.P. Kelly, R. For any pair of nodes (i, j) we assign a fixed C i,j Gibbens at British Telecom node k as tandem i j (well, Cambridge, Really:) Needs careful traffic analysis and Whenever the link (i, j) is reprogramming saturated, use an alternative Inflexible during breakdowns and unexpected k node (tandem) traffic at tandem Q. How to choose tandem? November 2001 Dynamic Alternative Routing 19 November 2001 Dynamic Alternative Routing 20 5
Sticky Random Tandem Sticky Random Tandem Sticky Random Tandem Sticky Random Tandem Decentralized and flexible If there is no free circuit along (i, j) , a new call is No fancy pre-analysis of traffic required routed through a randomly chosen tandem k Most of the time friendly tandems are used: k is the tandem as long as it does not fail • p k (i, j) : proportion of calls between i and j which go through k If k fails for a call, the call is lost and a new tandem is selected • q k (i, j) : proportion of calls that are blocked p a (i, j)q a (i, j) = p b (i, j)q b (i, j) We may assign different frequencies to different tandems November 2001 Dynamic Alternative Routing 21 November 2001 Dynamic Alternative Routing 22 Trunk Reservation Trunk Reservation Trunk Reservation Trunk Reservation Unselfishness towards one’s friends i j is good up to a point!!! We need to penalize two link calls, at least when the lines are very busy! k A tandem k accepts to forward calls if it has free capacity more than R November 2001 Dynamic Alternative Routing 23 November 2001 Dynamic Alternative Routing 24 6
Max-flow Bound Max-flow Bound Bounds: Bounds: Erlang Erlang’ ’s s Bound Bound A node connected to C circuits Capacity of (i, j) : C ij C ij i j Arrival: Poisson with mean v Mean load on (i, j) : v ij The expected value of blocking: � � � E n ( t ) f ( v ( t )) � ij � � 1 k � � i j � c i < v v �� C � E ( v , C ) = � � C ! 0 ! i where f is: i � � � � = max x x � � � � + ij ikj � � i j k i , j < � November 2001 Dynamic Alternative Routing 25 November 2001 Dynamic Alternative Routing 26 Trunk Reservation Trunk Reservation Traffic, Capacity Mismatch Traffic, Capacity Mismatch Traffic > Capacity for some links Can we always find a feasible set of tandems? Red links: saturated links White links: not saturated Good triangle: one red, two white links November 2001 Dynamic Alternative Routing 27 November 2001 Dynamic Alternative Routing 28 7
Greedy Algorithm Greedy Algorithm Greedy Algorithm Greedy Algorithm a. No red links Success! a. No red links Success! b. Red link and a b. Red link and a For any p < 1/3, the greedy algorithm is Success! Success! good triangle good triangle T 1 successful with probability approaching 1. T 1 Add good Add good • • triangle to T k+1 triangle to T k+1 the list the list T k T k T 2 T 2 c. Red link and no c. Red link and no Fail Fail good triangle good triangle November 2001 Dynamic Alternative Routing 29 November 2001 Dynamic Alternative Routing 30 Extensions to DAR Extensions to DAR Comparison of Extensions Comparison of Extensions n -link paths • Too much resources consumed, little benefit Multiple alternatives • M attempts before rejecting a call Least-busy alternative Repacking • A call in progress can be rerouted November 2001 Dynamic Alternative Routing 31 November 2001 Dynamic Alternative Routing 32 8
Recommend
More recommend