Download Internet Traffic Policies and Routing

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Traffic flow wikipedia , lookup

Network science wikipedia , lookup

Pattern recognition wikipedia , lookup

Natural computing wikipedia , lookup

Genetic algorithm wikipedia , lookup

Types of artificial neural networks wikipedia , lookup

Algorithm wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

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,jV)
Maximum distance, dmax
Line-of-sight matrix,  = (ij: i,jV)
Edge viability matrix, V = (vij: i,jV)

Node viability vector, v = (vi: iV)




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,jV)


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)
 1i,jn, 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   cijijT
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 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 = (tab: a,bN) 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,bN.)
A protocol P = (M, c), acting on a domain D, is defined by a metric
matrix M = (mij: i,jN) and a cost function c(t,m). mij 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
1 : a  b  i  j
xijab  
 0 : otherwise
Define a path-routing Pab = ( pij: i,j N) for ab as pij  xij  i,jN.
ab
ab
ab
Define a network-routing Qa = (qij : b,i,j N) for a as qijab  xijab  b,i,jN.
ab
Define a domain-routing R = (rijab: a,b,i,j N) as rijab  xijab  a,b,i,jN.
Routing Algorithms:
Path Optimality
ab
The cost of ij 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
ab. X is path-optimal if Pab minimises Cab  a,bN. If X
is path-optimal then
K Xpath   c( xijabtab , mij )
aN bN iN jN
is minimised.

Easy – Dijkstra’s algorithm (OSPF)
Routing Algorithms:
Network Optimality
The (known) traffic on ij under a network-routing Qa is
qijabtab and its cost given by c(  qijabtab , mij ). The network-cost

bN
bN
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  bN. If X is networkoptimal then
K Xnetwork   c(  xijabtab , mij )
is minimised.


aN iN jN
bN
k-shortest paths – NP-complete
distributed 
Routing Algorithms:
Domain Optimality
 r
ab
ij ab
t
The traffic on ij under a domain-routing R is aN bN
and
ab
its cost given by c(  rij tab , mij ) . The domain-cost of R is then
aN bN
C    c(   rijab t ab , mij )    c(   xijab t ab , mij ).
iN jN
aN bN
iN jN
aN bN
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 )
iN jN
aN bN
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(ij:y) > MaxGain then
MaxGain := Cx – Cx(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?



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