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,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
minT f Con (T ) minT 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
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 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 )
iN jN
iN jN
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
KXpath 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 )
iN jN
bN
iN jN
bN
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
KXnetwork 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
Kdomain ( 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