Internet

247 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
247
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Internet

  1. 1. Internet Traffic Policies and Routing Vic Grout Centre for Applied Internet Research ( CAIR ) University of Wales NEWI Plas Coch Campus, Mold Road Wrexham, LL11 2AW, UK [email_address] http://www.newi.ac.uk/Computing/Research NEWI North East Wales Institute of Higher Education - Centre for Applied Internet Research
  2. 2. Introduction and Overview <ul><li>Optimisation of network traffic requires care. Without it: </li></ul><ul><ul><li>An unrealistically simplified problem may be considered </li></ul></ul><ul><ul><li>The wrong problem may be solved entirely </li></ul></ul><ul><li>This presentation considers three examples </li></ul><ul><ul><li>(Very briefly) Access control lists (ACLs) (again!) </li></ul></ul><ul><ul><li>Cost minimisation in wireless networks (straightforward) </li></ul></ul><ul><ul><li>Routing protocols (more serious?) </li></ul></ul><ul><li>The first two (simple) examples point the way to the third </li></ul>
  3. 3. Example 1 Access Control Lists (ACLs) Routers
  4. 4. Example 1 Access Control Lists (ACLs) Rules
  5. 5. Example 1 Access Control Lists (ACLs)
  6. 6. Example 1 Access Control Lists (ACLs)
  7. 7. Example 1 Access Control Lists (ACLs) Optimal? No – considerable duplication
  8. 8. Example 1 Access Control Lists (ACLs) True optimum can only come from taking a ‘global’ view
  9. 9. Example 2 Traffic Routing in Wireless Networks Wireless nodes Feasible links
  10. 10. Traffic Routing in Wireless Networks: Edge/Node (Add) Constraints <ul><li>Distance matrix, D = (d ij : i,j  V ) </li></ul><ul><li>Maximum distance, d max </li></ul><ul><li>Line-of-sight matrix,  = (  ij : i,j  V ) </li></ul><ul><li>Edge viability matrix, V = (v ij : i,j  V ) </li></ul><ul><li>Node viability vector, v = (v i : i  V ) </li></ul><ul><ul><li>Boolean </li></ul></ul><ul><ul><ul><li>relay permitted/not permitted </li></ul></ul></ul><ul><ul><ul><li>fixed </li></ul></ul></ul><ul><ul><ul><ul><li>(equipment already installed) </li></ul></ul></ul></ul><ul><li>or </li></ul><ul><ul><li>integer </li></ul></ul><ul><ul><ul><li>maximum degree </li></ul></ul></ul>
  11. 11. Traffic Routing in Wireless Networks: Path/Load (Drop) Constraints <ul><li>Path length matrix, P = (p ij : i,j  V ) </li></ul><ul><ul><li>maximum number of links between i and j </li></ul></ul><ul><li>Minimal degree vector,  = (  i : i  V ) </li></ul><ul><ul><li>number of (other) nodes to which i must be connected </li></ul></ul><ul><li>Traffic matrix </li></ul><ul><li>Load matrix ( N ) </li></ul><ul><li>Load limit matrix (edges) </li></ul><ul><li>Load limit vector (nodes) </li></ul><ul><li>For any (valid) N </li></ul>
  12. 12. Traffic Routing in Wireless Networks: Feasible Links
  13. 13. Traffic Routing in Wireless Networks: MST Solution Number of switches
  14. 14. Traffic Routing in Wireless Networks: MST Formulation <ul><li>Graph, G = ( V , E ) </li></ul><ul><ul><li>vertices (nodes), edges </li></ul></ul><ul><li>Cost matrix, C = (c ij ) </li></ul><ul><ul><li>1  i,j  n , n =  V  </li></ul></ul><ul><li>Tree, T  E </li></ul><ul><li>Link matrix, </li></ul><ul><li>Find T * such that </li></ul>
  15. 15. Traffic Routing in Wireless Networks: MRP Formulation <ul><li>Minimal Relay Problem </li></ul><ul><li>Network, N  E . Link matrix,  N , as before </li></ul><ul><li>Relay vector, </li></ul><ul><li>Find N * such that </li></ul>
  16. 16. Traffic Routing in Wireless Networks: MDRP Formulation <ul><li>Minimal Degree Relay Problem </li></ul><ul><li>Network degree vector, </li></ul><ul><li>Find N * such that </li></ul><ul><li>( ) </li></ul>
  17. 17. Traffic Routing in Wireless Networks: MRP/MDRP Algorithms <ul><li>MRP and both MDRP NP-complete </li></ul><ul><ul><li>(minimal vertex cover) </li></ul></ul><ul><li>Add algorithm </li></ul><ul><ul><li>Edge matrix, </li></ul></ul><ul><ul><li>Valency vector </li></ul></ul><ul><li>Drop algorithm </li></ul>
  18. 18. Traffic Routing in Wireless Networks: Add Algorithm <ul><li>for all i  V do s i N = 0 </li></ul><ul><li>for all i, j  V do  ij N = 0 </li></ul><ul><li>find i such that v i = max j v j </li></ul><ul><li>s i N = 1 </li></ul><ul><li>while there exists j such that s j N = 0 do { </li></ul><ul><li>for all  j  V </li></ul><ul><li>such that e ij = 1 and s j N = 0 do { </li></ul><ul><li> ij N = 1 </li></ul><ul><li>s j N = 1 } </li></ul><ul><li>find i such that </li></ul><ul><li>v i -  i N = max j (v j -  j N ) where s j N = 1 } </li></ul>
  19. 19. Traffic Routing in Wireless Networks: Drop Algorithm <ul><li>{ Initialization } </li></ul><ul><li>for all  i, j  V do  ij N = 1 </li></ul><ul><li>{ Reduction } </li></ul><ul><li>while there exists i, j </li></ul><ul><li>such that  i N >  i and  j N >  j do { </li></ul><ul><li>find  i, j such that  i N -  i = min k (  k N -  k ) </li></ul><ul><li> ij N = 0 } </li></ul>
  20. 20. Traffic Routing in Wireless Networks: MST Solution Number of switches
  21. 21. Traffic Routing in Wireless Networks: Add Solution Number of switches
  22. 22. Traffic Routing in Wireless Networks: Drop Solution Number of switches Heavily loaded links
  23. 23. Example 3 Routing Algorithms
  24. 24. Example 3 Routing Algorithms Routers exchange link status information …
  25. 25. Example 3 Routing Algorithms ? ? ? ? ? ? ? ? Routers exchange link status information … … to build a complete knowledge of the current network topology.
  26. 26. Example 3 Routing Algorithms Then each router …
  27. 27. Example 3 Routing Algorithms Then each router … … calculates the shortest path to each of the others in turn
  28. 28. Example 3 Routing Algorithms Is this optimal?
  29. 29. Example 3 Routing Algorithms Is this optimal? No!
  30. 30. Routing Algorithms: Levels of Optimality <ul><li>Possible to attempt optimisation on three levels </li></ul><ul><ul><li>Path-optimal </li></ul></ul><ul><ul><ul><li>The shortest path is calculated independently between each pair of routers </li></ul></ul></ul><ul><ul><li>Network-optimal </li></ul></ul><ul><ul><ul><li>For each router, paths are chosen to optimise the combined routing for that router </li></ul></ul></ul><ul><ul><li>Domain-optimal </li></ul></ul><ul><ul><ul><li>For all routers, paths are chosen to optimise routing across the entire domain </li></ul></ul></ul><ul><li>Increasingly difficult by level </li></ul><ul><ul><li>complexity </li></ul></ul><ul><ul><li>distributed knowledge </li></ul></ul>
  31. 31. Routing Algorithms: Routers and Networks Network Network Network Network
  32. 32. Routing Algorithms: Principles of Optimal Routing <ul><li>In what follows, the notation i  j is used to represent the single link from i to j and a  b for the path between end points a and b . a  b i  j means that traffic from a to b is carried by the link i  j .  is used as shorthand for ‘for all’ or ‘for every’ and  for ‘there is’ or ‘there exists’ . </li></ul><ul><li>  </li></ul><ul><li>Define a domain D = (N, T) by a set of n networks N = {1,2,..,n} and a traffic matrix T = (t ab : a,b  N) where t ab represents the traffic requirement from a to b . (In situations in which traffic cannot be measured or predicted, we can set T = ( 1 ) , that is t ab = 1  a,b  N .) </li></ul><ul><li>  </li></ul><ul><li>A protocol P = (M, c) , acting on a domain D , is defined by a metric matrix M = (m ij : i,j  N) and a cost function c(t,m) . m ij specifies the measure of i  j used by P and c(t,m) the cost of carrying traffic t on a link of metric m . </li></ul>
  33. 33. Routing Algorithms: Distributions and Routings <ul><li>A distribution X = (: a,b,i,j  N), acting on a domain D , is defined as </li></ul><ul><li>  </li></ul><ul><li>  </li></ul><ul><li>Define a path-routing P ab = ( : i,j  N) for a  b as  i,j  N . </li></ul><ul><li>Define a network-routing Q a = ( : b,i,j  N) for a as  b,i,j  N . </li></ul><ul><li>Define a domain-routing R = ( : a,b,i,j  N) as  a,b,i,j  N . </li></ul>
  34. 34. Routing Algorithms: Path Optimality <ul><li>The cost of i  j under a path-routing P ab is </li></ul><ul><li>The path-cost of P ab is then given by </li></ul><ul><li>If P ab minimises C ab , P ab is said to be path-optimal for a  b . X is path-optimal if P ab minimises C ab  a,b  N . If X is path-optimal then </li></ul><ul><li>is minimised. </li></ul><ul><li>Easy – Dijkstra’s algorithm (OSPF) </li></ul>
  35. 35. Routing Algorithms: Network Optimality <ul><li>The (known) traffic on i  j under a network-routing Q a is </li></ul><ul><li>and its cost given by . The network-cost </li></ul><ul><li>of Q a is then </li></ul><ul><li>If Q a minimises C a , Q a is said to be network-optimal for a . X is network-optimal if Q a minimises C a  b  N . If X is network-optimal then </li></ul><ul><li>is minimised. </li></ul><ul><li>k-shortest paths – NP-complete </li></ul><ul><li>distributed  </li></ul>
  36. 36. Routing Algorithms: Domain Optimality <ul><li>The traffic on i  j under a domain-routing R is and </li></ul><ul><li>its cost given by . The domain-cost of R is then </li></ul><ul><li>If R minimises C , R is said to be domain-optimal . X ( =R ) is domain-optimal if R is domain-optimal. If X is domain-optimal then </li></ul><ul><li>is minimised. </li></ul><ul><li>(k-shortest paths) 2 – NP-complete? </li></ul><ul><li>centralised?  </li></ul>
  37. 37. Routing Algorithms: Network Routing Heuristics <ul><li>Example: Local search starting from Dijkstra SPA </li></ul><ul><li>for y := 1 to m do </li></ul><ul><li>find R (x) = ( (x)y r ij ) such that C xy = min x’y’ C x’y’ { using DSPA } </li></ul><ul><li>repeat </li></ul><ul><li>MaxGain := 0 ; </li></ul><ul><li>for y := 1 to m do </li></ul><ul><li>for i := 1 to n do </li></ul><ul><li>for j := 1 to n do </li></ul><ul><li>if C x – C x (i  j:y) > MaxGain then </li></ul><ul><li>MaxGain := C x – C x (i  j:y) ; </li></ul><ul><li> y’ := y ; i’ := i ; j’ := j </li></ul><ul><li>if MaxGain > 0 then </li></ul><ul><li>R (x’) := R (x’) (i’  j’:y’) </li></ul><ul><li>until </li></ul><ul><li> MaxGain = 0 </li></ul>
  38. 38. Routing Algorithms: Domain Routing Heuristics <ul><li>Simple to apply heuristics </li></ul><ul><ul><li>example: local search </li></ul></ul><ul><ul><ul><li>example: starting from DSPA </li></ul></ul></ul><ul><li>But how do we implement a centralised algorithm on a distributed basis? </li></ul><ul><ul><li>‘ Agents’? </li></ul></ul><ul><ul><li>‘ Ants’? </li></ul></ul><ul><li>Some very preliminary work currently being pursued </li></ul><ul><ul><li>generally on a small scale </li></ul></ul><ul><li>But early days </li></ul>
  39. 39. Concluding Remarks <ul><li>Traffic flows in internets are large and complex </li></ul><ul><li>Difficult to: </li></ul><ul><ul><li>model </li></ul></ul><ul><ul><li>simulate </li></ul></ul><ul><ul><li>optimise … </li></ul></ul><ul><li>And that’s assuming we’re dealing with the right problem in the first place! </li></ul><ul><li>At present, we may not be getting the most from our systems </li></ul><ul><ul><li>Fresh thinking required? </li></ul></ul><ul><li>There is a lot of work to do … </li></ul>
  40. 40. Any questions? Vic Grout Centre for Applied Internet Research ( CAIR ) University of Wales NEWI Plas Coch Campus, Mold Road Wrexham, LL11 2AW, UK [email_address] http://www.newi.ac.uk/Computing/Research Thank you NEWI North East Wales Institute of Higher Education - Centre for Applied Internet Research

×