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 NEWI North East Wales Institute of Higher Education - Centre for Applied Internet Research
Introduction and Overview Optimisation of network traffic requires care. Without it: An unrealistically simplified problem may be considered The wrong problem may be solved entirely This presentation considers three examples 1. (Very briefly) Access control lists (ACLs) (again!) 2. Cost minimisation in wireless networks (straightforward) 3. Routing protocols (more serious?) The first two (simple) examples point the way to the third
Example 1 Access Control Lists (ACLs) Routers
Example 1 Access Control Lists (ACLs) Rules
Example 1 Access Control Lists (ACLs)
Optimal? No – considerable duplication
Example 1 Access Control Lists (ACLs) True optimum can only come from taking a ‘ global ’ view
Example 2 Traffic Routing in Wireless Networks Wireless nodes Feasible links
Traffic Routing in Wireless Networks: Edge/Node (Add) Constraints Distance matrix, D = (d ij : i,j V) Maximum distance, d max Line-of-sight matrix, = ( ij : i,j V) Edge viability matrix, V = (v ij : i,j V) Node viability vector, v = (v i : i V) Boolean relay permitted/not permitted fixed (equipment already installed) or integer maximum degree
Traffic Routing in Wireless Networks: Path/Load (Drop) Constraints Path length matrix, P = (p ij : i,j V) maximum number of links between i and j Minimal degree vector, = ( i : i V) number of (other) nodes to which i must be connected Traffic matrix Load matrix ( N ) Load limit matrix (edges) Load limit vector (nodes) For any (valid) N
Traffic Routing in Wireless Networks: Feasible Links
Traffic Routing in Wireless Networks: MST Solution Number of switches
Traffic Routing in Wireless Networks: MST Formulation Graph, G = (V, E) vertices (nodes), edges Cost matrix, C = (c ij ) 1 i,j n, n = V Tree, T E Link matrix, Find T * such that
Traffic Routing in Wireless Networks: MRP Formulation Minimal Relay Problem Network, N E. Link matrix, N, as before Relay vector, Find N * such that
Traffic Routing in Wireless Networks: MDRP Formulation Minimal Degree Relay Problem Network degree vector, Find N * such that ( )
Traffic Routing in Wireless Networks: MRP/MDRP Algorithms MRP and both MDRP NP-complete (minimal vertex cover) Add algorithm Edge matrix, Valency vector Drop algorithm
Traffic Routing in Wireless Networks: Add Algorithm for all i V do s i N = 0 for all i, j V do ij N = 0 find i such that v i = max j v j s i N = 1 while there exists j such that s j N = 0 do { for all j V such that e ij = 1 and s j N = 0 do { ij N = 1 s j N = 1 } find i such that v i - i N = max j (v j - j N ) where s j N = 1 }
Traffic Routing in Wireless Networks: Drop Algorithm { Initialization } for all i, j V do ij N = 1 { Reduction } while there exists i, j such that i N > i and j N > j do { find i, j such that i N - i = min k ( k N - k ) ij N = 0 }
Traffic Routing in Wireless Networks: MST Solution Number of switches
Traffic Routing in Wireless Networks: Add Solution Number of switches
Traffic Routing in Wireless Networks: Drop Solution Number of switches Heavily loaded links
Example 3 Routing Algorithms
Routers exchange link status information …
Example 3 Routing Algorithms ? ? ? ? ? ? ? ? Routers exchange link status information … … to build a complete knowledge of the current network topology.
Example 3 Routing Algorithms Then each router …
Example 3 Routing Algorithms Then each router … … calculates the shortest path to each of the others in turn
Example 3 Routing Algorithms Is this optimal?
Example 3 Routing Algorithms Is this optimal? No!
Routing Algorithms: Levels of Optimality Possible to attempt optimisation on three levels 1. Path-optimal The shortest path is calculated independently between each pair of routers 2. Network-optimal For each router, paths are chosen to optimise the combined routing for that router 3. Domain-optimal For all routers, paths are chosen to optimise routing across the entire domain Increasingly difficult by level complexity distributed knowledge
Routing Algorithms: Routers and Networks Network
Routing Algorithms: Principles of Optimal Routing 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 ’. 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.) 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.
Routing Algorithms: Distributions and Routings A distribution X = (: a,b,i,j N), acting on a domain D, is defined as Define a path-routing P ab = ( : i,j N) for a b as i,j N. Define a network-routing Q a = ( : b,i,j N) for a as b,i,j N. Define a domain-routing R = ( : a,b,i,j N) as a,b,i,j N.
Routing Algorithms: Path Optimality The cost of i j under a path-routing P ab is The path-cost of P ab is then given by 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 is minimised. Easy – Dijkstra’s algorithm (OSPF)
Routing Algorithms: Network Optimality The (known) traffic on i j under a network-routing Q a is and its cost given by. The network-cost of Q a is then 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 is minimised. k-shortest paths – NP-complete distributed
Routing Algorithms: Domain Optimality The traffic on i j under a domain-routing R is and its cost given by. The domain-cost of R is then 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 is minimised. (k-shortest paths) 2 – NP-complete? centralised?
Routing Algorithms: Network Routing Heuristics Example: Local search starting from Dijkstra SPA for y := 1 to m do find R (x) = ( (x)y r ij ) such that C xy = min x ’ y ’ C x ’ y ’ {using DSPA} repeat MaxGain := 0; for y := 1 to m do for i := 1 to n do for j := 1 to n do if C x – C x (i j:y) > MaxGain then MaxGain := C x – C x (i j:y); y ’ := y; i ’ := i; j ’ := j if MaxGain > 0 then R (x ’ ) := R (x ’ ) (i ’ j ’ :y ’ ) until MaxGain = 0
Routing Algorithms: Domain Routing Heuristics Simple to apply heuristics example: local search example: starting from DSPA But how do we implement a centralised algorithm on a distributed basis? ‘Agents’? ‘Ants’? Some very preliminary work currently being pursued generally on a small scale But early days
Concluding Remarks Traffic flows in internets are large and complex Difficult to: model simulate optimise … And that ’ s assuming we ’ re dealing with the right problem in the first place! At present, we may not be getting the most from our systems Fresh thinking required? There is a lot of work to do …
Any questions? Vic Grout Centre for Applied Internet Research (CAIR) University of Wales NEWI Plas Coch Campus, Mold Road Wrexham, LL11 2AW, UK Thank you NEWI North East Wales Institute of Higher Education - Centre for Applied Internet Research