Internet Traffic Policies and Routing

Download Report

Transcript Internet Traffic Policies and Routing

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
 minT f Con (T )  minT   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
 minN f Re l ( N )  minN
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
 minN f nDg ( N )  minN   iN )
f rDg ( N )    
*
j 1
i 1
N*
i
n
 minN f rDg ( N )  minN  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