internet traffic policies and routing vic grout centre for applied internet research (cair)...

40
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

Upload: elijah-waters

Post on 25-Dec-2015

217 views

Category:

Documents


1 download

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)

Routers

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

Example 1Access Control Lists (ACLs)

Example 1Access Control Lists (ACLs)

Example 1Access Control Lists (ACLs)

Optimal? No – considerable duplication

Example 1Access Control Lists (ACLs)

True optimum can only comefrom taking a ‘global’ view

Example 2Traffic 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

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: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,

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 }

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

Number of switches

Heavily loaded links

Example 3Routing Algorithms

Example 3Routing Algorithms

Routers exchange linkstatus information …

Example 3Routing Algorithms

?

??

?

??

?

?

Routers exchange linkstatus information …

… to build a complete knowledgeof the current network topology.

Example 3Routing Algorithms

Then each router …

Example 3Routing Algorithms

Then each router …

… calculates the shortest path toeach of the others in turn

Example 3Routing Algorithms

Is this optimal?

Example 3Routing Algorithms

Is this optimal?

No!

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: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  

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