* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Internet Traffic Policies and Routing
Survey
Document related concepts
Transcript
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 protected] http://www.newi.ac.uk/Computing/Research 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. 2. 3. (Very briefly) Access control lists (ACLs) (again!) Cost minimisation in wireless networks (straightforward) 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) access-list 101 permit tcp 192.168.212.0 0.0.0.255 10.0.0.0 0.255.255.255 eq telnet access-list 101 permit tcp 192.168.212.0 0.0.0.255 10.0.0.0 0.255.255.255 eq ftp access-list 101 permit tcp 192.168.212.0 0.0.0.255 10.0.0.0 0.255.255.255 eq http access-list 101 deny ip 192.168.212.0 0.0.0.255 10.0.0.0 0.255.255.255 access-list 101 permit icmp any 10.0.0.0 0.255.255.255 administratively-prohibited access-list 101 permit icmp any 10.0.0.0 0.255.255.255 echo-reply access-list 101 permit icmp any 10.0.0.0 0.255.255.255 packet-too-big access-list 101 permit icmp any 10.0.0.0 0.255.255.255 time-exceeded access-list 101 permit icmp any 10.0.0.0 0.255.255.255 unreachable access-list 101 permit icmp 172.16.20.0 0.0.255.255 access-list 101 deny icmp any any access-list 101 permit ip 202.33.42.0 0.0.0.255 any access-list 101 permit ip 202.33.73.0 0.0.0.255 any access-list 101 permit ip 202.33.48.0 0.0.0.255 any access-list 101 permit ip 202.33.75.0 0.0.0.255 any access-list 101 deny ip 202.33.0.0 0.0.255.255 any access-list 101 deny tcp 210.120.122.0 0.0.0.255 10.2.2.0 0.255.255.255 eq www access-list 101 deny tcp 210.120.183.0 0.0.0.255 10.2.2.0 0.255.255.255 eq www access-list 101 deny tcp 210.120.114.0 0.0.0.255 10.2.2.0 0.255.255.255 eq www access-list 101 deny tcp 210.120.175.0 0.0.0.255 10.2.2.0 0.255.255.255 eq www access-list 101 deny tcp 210.120.136.0 0.0.0.255 10.2.2.0 0.255.255.255 eq www access-list 101 deny tcp 210.120.177.0 0.0.0.255 10.2.2.0 0.255.255.255 eq www access-list 101 permit tcp any 10.2.2.0 0.255.255.255 eq www access-list 101 deny tcp any any eq www access-list 101 permit tcp any any access-list 101 deny ip 195.10.45.0 0.0.0.255 any access-list 101 permit ip any any {access-list 101 deny all} {implicit} Rules Example 1 Access Control Lists (ACLs) Example 1 Access Control Lists (ACLs) 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 = (dij: i,jV) Maximum distance, dmax Line-of-sight matrix, = (ij: i,jV) Edge viability matrix, V = (vij: i,jV) Node viability vector, v = (vi: iV) Boolean • relay permitted/not permitted • fixed • (equipment already installed) or integer • maximum degree 1 : d d max & ij 1 vij ij 0 : otherwise Traffic Routing in Wireless Networks: Path/Load (Drop) Constraints Path length matrix, P = (pij: i,jV) Minimal degree vector, = (i: i V) maximum number of links between i and j number of (other) nodes to which i must be connected Traffic matrix Load matrix (N) Load limit matrix Load limit vector For any (valid) N T (tij : i, j V ) LN (lijN : i, j V ) ( ij : i, j V ) ( i : i V ) (edges) (nodes) lijN l jiN ij (i, j V ) n (l j 1 N ij l jiN ) i (i V ) 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 = (cij) 1i,jn, n = V Tree, T E Link matrix, T (T : i, j V ) ij Find T* such that n 1 n f Con (T ) cij * i 1 j i 1 T* ij 1 : (i, j ) T 0 : (i, j ) T T ij n 1 n min T f Con (T ) min T cijijT i 1 j i 1 Traffic Routing in Wireless Networks: MRP Formulation Minimal Relay Problem Network, N E. Link matrix, N, as before Relay vector, N ( iN : i V ) iN n N 1 : ij 1 j n1 0 : ijN 1 j 1 Find N*such that n f Re l ( N ) * i 1 N* i min N f Re l ( N ) min n N N i i 1 Traffic Routing in Wireless Networks: MDRP Formulation Minimal Degree Relay Problem Network degree vector, N ( iN : i V ) n ijN N i Find N*such that n ( f nDg ( N ) * i 1 n N* i i 1 N* i n min N f nDg ( N ) min N iN ) f rDg ( N ) * j 1 i 1 N* i n min N f rDg ( N ) min N iN iN i 1 Traffic Routing in Wireless Networks: MRP/MDRP Algorithms MRP and both MDRP NP-complete (minimal vertex cover) Add algorithm Edge matrix, Valency vector E (eij : i, j V ) 1 : (i, j ) E eij 0 : (i, j ) E ( i : i V ) n i eij Drop algorithm j 1 Traffic Routing in Wireless Networks: Add Algorithm for all i V do siN = 0 for all i, j V do ijN = 0 find i such that vi = max j vj siN = 1 while there exists j such that sjN = 0 do { for all j V such that eij = 1 and sjN = 0 do { ijN = 1 sjN = 1 } find i such that vi-iN = max j (vj-jN) where sjN = 1 } Traffic Routing in Wireless Networks: Drop Algorithm { Initialization } for all i, j V do ijN = 1 { Reduction } while there exists i, j such that iN > i and jN > j do { find i, j such that iN-i = min k (kN-k) ijN = 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 Heavily loaded links Number of switches Example 3 Routing Algorithms 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 2. Network-optimal 3. The shortest path is calculated independently between each pair of routers For each router, paths are chosen to optimise the combined routing for that router 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 Network Network Network Routing Algorithms: Principles of Optimal Routing In what follows, the notation ij is used to represent the single link from i to j and ab for the path between end points a and b. ab ij means that traffic from a to b is carried by the link ij. 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 = (tab: a,bN) where tab 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 tab = 1 a,bN.) A protocol P = (M, c), acting on a domain D, is defined by a metric matrix M = (mij: i,jN) and a cost function c(t,m). mij specifies the measure of ij 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 1 : a b i j xijab 0 : otherwise Define a path-routing Pab = ( pij: i,j N) for ab as pij xij i,jN. ab ab ab Define a network-routing Qa = (qij : b,i,j N) for a as qijab xijab b,i,jN. ab Define a domain-routing R = (rijab: a,b,i,j N) as rijab xijab a,b,i,jN. Routing Algorithms: Path Optimality ab The cost of ij under a path-routing Pab is pij c(tab , mij ) The path-cost of Pab is then given by C ab pijabc(tab , mij ) c( xijabtab , mij ) i N j N i N j N If Pab minimises Cab, Pab is said to be path-optimal for ab. X is path-optimal if Pab minimises Cab a,bN. If X is path-optimal then K Xpath c( xijabtab , mij ) aN bN iN jN is minimised. Easy – Dijkstra’s algorithm (OSPF) Routing Algorithms: Network Optimality The (known) traffic on ij under a network-routing Qa is qijabtab and its cost given by c( qijabtab , mij ). The network-cost bN bN a of Q is then C a c( qijabtab , mij ) c( xijabtab , mij ) i N j N b N i N j N b N If Qa minimises Ca, Qa is said to be network-optimal for a. X is network-optimal if Qa minimises Ca bN. If X is networkoptimal then K Xnetwork c( xijabtab , mij ) is minimised. aN iN jN bN k-shortest paths – NP-complete distributed Routing Algorithms: Domain Optimality r ab ij ab t The traffic on ij under a domain-routing R is aN bN and ab its cost given by c( rij tab , mij ) . The domain-cost of R is then aN bN C c( rijab t ab , mij ) c( xijab t ab , mij ). iN jN aN bN iN jN aN bN If R minimises C, R is said to be domain-optimal. X (=R) is domain-optimal if R is domain-optimal. If X is domainoptimal then X ab K domain ( C ) c( xij tab , mij ) iN jN aN bN 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)yrij) such that Cxy = minx’y’Cx’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 Cx – Cx(ij:y) > MaxGain then MaxGain := Cx – Cx(ij: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? Some very preliminary work currently being pursued ‘Agents’? ‘Ants’? generally on a small scale But early days Concluding Remarks Traffic flows in internets are large and complex Difficult to: 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 model simulate optimise … Fresh thinking required? There is a lot of work to do … Thank you Any questions? Vic Grout Centre for Applied Internet Research (CAIR) University of Wales NEWI Plas Coch Campus, Mold Road Wrexham, LL11 2AW, UK [email protected] http://www.newi.ac.uk/Computing/Research NEWI North East Wales Institute of Higher Education - Centre for Applied Internet Research