internet traffic policies and routing vic grout centre for applied internet research (cair)...
TRANSCRIPT
Internet TrafficPolicies and Routing
Vic GroutCentre for Applied Internet Research (CAIR)University of WalesNEWI Plas Coch Campus, Mold RoadWrexham, LL11 2AW, [email protected]://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. (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 1Access 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 telnetaccess-list 101 permit tcp 192.168.212.0 0.0.0.255 10.0.0.0 0.255.255.255 eq ftpaccess-list 101 permit tcp 192.168.212.0 0.0.0.255 10.0.0.0 0.255.255.255 eq httpaccess-list 101 deny ip 192.168.212.0 0.0.0.255 10.0.0.0 0.255.255.255access-list 101 permit icmp any 10.0.0.0 0.255.255.255 administratively-prohibitedaccess-list 101 permit icmp any 10.0.0.0 0.255.255.255 echo-replyaccess-list 101 permit icmp any 10.0.0.0 0.255.255.255 packet-too-bigaccess-list 101 permit icmp any 10.0.0.0 0.255.255.255 time-exceededaccess-list 101 permit icmp any 10.0.0.0 0.255.255.255 unreachableaccess-list 101 permit icmp 172.16.20.0 0.0.255.255access-list 101 deny icmp any anyaccess-list 101 permit ip 202.33.42.0 0.0.0.255 anyaccess-list 101 permit ip 202.33.73.0 0.0.0.255 anyaccess-list 101 permit ip 202.33.48.0 0.0.0.255 anyaccess-list 101 permit ip 202.33.75.0 0.0.0.255 anyaccess-list 101 deny ip 202.33.0.0 0.0.255.255 anyaccess-list 101 deny tcp 210.120.122.0 0.0.0.255 10.2.2.0 0.255.255.255 eq wwwaccess-list 101 deny tcp 210.120.183.0 0.0.0.255 10.2.2.0 0.255.255.255 eq wwwaccess-list 101 deny tcp 210.120.114.0 0.0.0.255 10.2.2.0 0.255.255.255 eq wwwaccess-list 101 deny tcp 210.120.175.0 0.0.0.255 10.2.2.0 0.255.255.255 eq wwwaccess-list 101 deny tcp 210.120.136.0 0.0.0.255 10.2.2.0 0.255.255.255 eq wwwaccess-list 101 deny tcp 210.120.177.0 0.0.0.255 10.2.2.0 0.255.255.255 eq wwwaccess-list 101 permit tcp any 10.2.2.0 0.255.255.255 eq wwwaccess-list 101 deny tcp any any eq wwwaccess-list 101 permit tcp any anyaccess-list 101 deny ip 195.10.45.0 0.0.0.255 anyaccess-list 101 permit ip any any{access-list 101 deny all} {implicit}
Rules
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
otherwise
ddv ijij
ij :0
1&:1 max
Traffic Routing in Wireless Networks:Path/Load (Drop) Constraints
Path length matrix, P = (pij: i,jV) 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
):(
),:(
),:(
),:(
Vi
Vji
VjilL
VjitT
i
ij
Nij
N
ij
)()(
),(
1
Vill
Vjill
iNji
Nij
n
j
ijNji
Nij
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,
Find T* such that
),:( VjiTij
T
Tji
TjiTij ),(:0
),(:1
1
1 1
1
1 1
* min)(min)(*
n
i
n
ij
TijijTConT
n
i
n
ij
TijijCon cTfcTf
Traffic Routing in Wireless Networks:MRP Formulation
Minimal Relay Problem Network, N E. Link matrix, N, as before Relay vector,
Find N*such that
n
j
Nij
n
j
Nij
Ni
Ni
N Vi
1
1
1:0
1:1
):(
n
i
NiNlN
n
i
Nil NfNf
1Re
1
*Re min)(min)(
*
Traffic Routing in Wireless Networks:MDRP Formulation
Minimal Degree Relay Problem Network degree vector,
Find N*such that
( )
n
j
Nij
Ni
Ni
N Vi
1
):(
n
i
Ni
NiNrDgN
n
i
Ni
NirDg
n
i
NiNnDgN
n
i
NinDg
NfNf
NfNf
11
*
11
*
min)(min)(
min)(min)(
**
*
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
n
jiji
i
ij
ij
e
Vi
Eji
Ejie
VjieE
1
):(
),(:0
),(: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 sj
N = 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 }
Example 3Routing Algorithms
?
??
?
??
?
?
Routers exchange linkstatus information …
… to build a complete knowledgeof the current network topology.
Example 3Routing Algorithms
Then each router …
… calculates the shortest path toeach of the others in turn
Routing Algorithms:Levels of Optimality
Possible to attempt optimisation on three levels1. 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: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
Define a path-routing Pab = ( : i,j N) for ab as i,jN.
Define a network-routing Qa = ( : b,i,j N) for a as b,i,jN.
Define a domain-routing R = ( : a,b,i,j N) as a,b,i,jN.
otherwise
jibaxab
ij :0
:1
abijp ab
ijabij xp
abijq ab
ijabij xq
abijr ab
ijab
ij xr
Routing Algorithms:Path Optimality
The cost of ij under a path-routing Pab is The path-cost of Pab is then given by
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
is minimised.
Easy – Dijkstra’s algorithm (OSPF)
),( ijababij mtcp
Ni Nj
ijababij
Ni Njijab
abij
ab mtxcmtcpC ),(),(
Na Nb Ni Nj
ijababij
Xpath mtxcK ),(
Routing Algorithms:Network Optimality
The (known) traffic on ij under a network-routing Qa is and its cost given by . The network-cost of Qa is then
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 network-optimal then
is minimised.
k-shortest paths – NP-complete distributed
Nb
ababij tq
Nbijab
abij mtqc ),(
Ni Nj Nb
ijababij
Ni Nj Nbijab
abij
a mtxcmtqcC ),(),(
Na Ni Nj
ijNb
ababij
Xnetwork mtxcK ),(
Routing Algorithms:Domain Optimality
The traffic on ij under a domain-routing R is andits 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?
Na Nb
abab
ij tr
Na Nb
ijabab
ij mtrc ),(
Ni Nj Ni Nj Na Nb
ijababij
Na Nbijab
abij mtxcmtrcC ).,(),(
Ni Nj Na Nb
ijababij
Xdomain mtxcCK ),()(
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?
‘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 GroutCentre for Applied Internet Research (CAIR)University of WalesNEWI Plas Coch Campus, Mold RoadWrexham, LL11 2AW, [email protected]://www.newi.ac.uk/Computing/Research
Thank you
NEWI North East Wales Institute of Higher Education - Centre for Applied Internet Research