Académique Documents
Professionnel Documents
Culture Documents
Lecture 10
Active Queue Mgmt
Fairness
Inference
Announcements
Course Evaluations
Please fill out (starting Dec. 1st)
Less than 1/3 of you filled out mid-term evals
Project
Report due 12/15, 5pm
Also submit supporting work (e.g., simulation code)
For groups: include breakdown of who did what
Its 50% of your grade, so do a good job!
Overview
Active Queue Management
RED, ECN
Fairness
Review TCP-fairness
Max-min fairness
Proportional Fairness
Inference
Bottleneck bandwidth
Multicast Tomography
Points of Congestion
simplicity
Problems
TCP Synchronization
Like many congestion control protocols, TCP uses
Rate
Packet loss
TCP
Time
bottleneck
rate
Rate
Aggregate
load
Flow 1
Flow 2
Time
Stopping Synchronization
Observation: if rate synchronization can be prevented, then
bottleneck
rate
Rate
Aggregate
load
Flow 1
Flow 2
Time
Drop Prob
1
minth
maxp
0
Avg. Queue Len
maxth
Marking
Originally, RED was discussed in the context of
dropping packets
10
Marking v. Dropping
Idea of marking was around since 88 when
Status of Marking:
TCP will have an ECN option that enables it to react to
marking
TCPs that do not implement the option should have their
packets dropped rather than marked
11
Network Fairness
Assumption: bandwidth in the network is limited
Q: What is / are fair ways for sessions to share
network bandwidth?
12
Max-Min Fairness
Fluid model of network (links have fixed capacities)
Idea: every session has equal right to bandwidth on any
given link
What does this mean for any session, S?
Ssend
Srcv
13
14
e.g., A = <10,9,4,2,4>
15
S1
5
4
S2
3
5
4
S3
10
R1
15
36
12
8
R2
R3
S s(L)
3. If T = {} then end
4. Find the largest where for all L,
A(S) + IS T CL
S s(L)
17
in many others:
S2
S1
S4
R2
R4
2
2
S3
R2
R1
18
Proportional Fairness
Each session S has a utility function, US(), that is
S1
S4
R2
R4
2
2
S3
R2
R1
US(x)
S2
19
As , allocation
becomes max-min fair
utility curve flattens
faster: benefit of
increasing one low
bandwidth flow a little
bit has more impact on
aggregate utility than
increasing many high
bandwidth flows
-(-log (x))
20
Fairness Summary
TCP fairness
formal definition somewhat unclear
popular due to the prevlance of TCP within the network
Max-min fairness
gives each session equal access to each links bandwidth
difficult to implement using end-to-end means
e.g., requires fair queuing
Proportional fairness
maximize aggregate session utility
ongoing work to explore how to implement via end-to-end
means with simple marking strategies
21
Network Inference
Idea: application performance could be improved
loss rates
end-to-end round trip delays
bottleneck bandwidths
route tomography
locations of network congestion
23
Bottleneck Bandwidth
Ssend
Srcv
bottleneck
24
1/
spaced by 1/
25
Multi-queue example
Slower queues will spread packets apart
Subsequent faster queues will not fill up and hence will not
1
2 packet
queues
behind 1st
nd
2
1/1
2nd packet
queues
behind 1st
3
1/2
1st packet
exits
system
before 2nd
arrives
1/2
26
bandwidth:
sends ICMP packet pairs
Bottleneck bandwidth = r = M / T
27
BProbe Limitations
BProbe must filter out invalid probes
another flows packet gets between the packet pair
a probe packet is lost
downstream (higher bandwidth) queues are non-empty
when first packet in pair arrives at queue
Solution:
Take many sample packet pairs
use different packet sizes
No packet in the middle: estimates come out same with
different packet sizes
Packet in the middle: estimates come out different
28
same estimate
29
Multicast Tomography
Given: sender, set of receivers
Goal: identify multicast tree topology (which
?
R
or
R
30
mtraceroute
One possibility: mtraceroute
sends packets with various TTLs
routers that find expired TTL send ICMP message
indicating transmission failure
used to identify routers along path
Problem with mtraceroute
requires assistance of routers in network
not all routers necessarily respond
31
point of
packet loss
32
.4
.15
R1
.2
R2
.7
R3
.1
R4
.23
33
.15
R1
.2
R2
R1
R3
.7
.23
R3
R4
R4
.23
.1
R2
.37
R1
R2
.13
R3
R4
.23
R1
R2
R3
R4
34
Q: can end-systems
distinguish between
these occurrences?
Assumption: losses at
R
35
Example
S
1 p1 = .1
p2 = .7
3 p3 = .5
PA
PB
36
probability pi
Receivers compute
S
1 p1
p2
3 p3
PA
PB
PAB
compute p1,p2,p3
37
PAB = p1 + (1-p1) p2 p3
PA = (1-p1) p2 (1-p3)
PB = (1-p1)(1-p2) p3
Let XA = 1 - PAB PA = (1-p1)(1-p2)
Let XB = 1 - PAB - PA = (1-p1)(1-p3)
Xi = P(packet reaches i)
1 p1
p2
3 p3
PA
PB
PAB
p2 = PB / XA
p3 = PA / XB
p1 = 1 PA / (p2 (1-p3))
38
39
R1
Sessions 1 and 2 would
not share congestion
if these are the
congested links
S1
S2
R2
40
The two flows POCs are either all shared or all separate
41
S1
S2
co-located receivers
R1
S1
R2
S2
R1
R2
42
e
t
In
t
e
rn
Separate POCs
FG Flow 1
FG Flow 2
BG
e
t
In
BG
t
e
rn
43
of correlation:
such that
44
i-3
Flow 2
pkts
i-1
i-2
time
Ma = Pr(Lost(i) | Lost(prev(i)))
Flow 1
pkts
i+1
Mc = C(Delay(i), Delay(i-1))
Ma = C(Delay(i), Delay(prev(i))
C(X,Y) =
E[XY] - E[X]E[Y]
(E[X2] - E2[X])(E[Y2] - E2[Y])
45
TarrT(prev(
i),, ii)]
)
arr(i-1
E[Tarr(i-1, i)] < E[Tarr
(prev(
i),
46
Summary
Covered today:
Active Queue Management
Fairness
Network Inference
Next time:
network security
47