Professional Documents
Culture Documents
1
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
It’s 50% of your grade, so do a good job!
2
Overview
Inference
Bottleneck bandwidth
Multicast Tomography
Points of Congestion
3
Problems with current routing for TCP
Current IP routing is
non-priority
drop-tail
4
TCP Synchronization
Packet loss
Rate
TCP
Time
5
TCP Synchronization (cont’d)
Flow 1
Flow 2
Time
6
Stopping Synchronization
bottleneck
rate
Aggregate
load
Rate
Flow 1
Flow 2
Time
7
One Solution: RED
minth
avg queue length to not
maxp
drop every pkt
maxp: the drop
probability as avg queue
0
len approaches maxth
Avg. Queue Len maxth 8
RED: Average Queue Length
11
Network Fairness
12
Max-Min Fairness
Ssend Srcv
15
Max-min fair example
5
6 S1 8 R1
10
5
4 S2
15
36 12
8 R2
3
5
4 S3
R3
3. If T = {} then end
4. Find the largest δ where for all L,
∑A(S’) + δ IS’ є T ≤ CL
S’ є s(L)
17
Problems with max-min fairness
S4 R4
S2 R2
2
∑US(x)
2
S1 2 R1
S3 R2
19
x
Proportional to Max-Min Fairness
Proportional Fairness
can come close to
emulating max-min
fairness:
Let US(x) = -(-log (x))α
As α∞, allocation
becomes max-min fair
utility curve “flattens”
faster: benefit of
-(-log (x))α
increasing one low
bandwidth flow a little
bit has more impact on
aggregate utility than
increasing many high
bandwidth flows 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 link’s 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
22
Some Simple Inferences
23
Bottleneck Bandwidth
Ssend Srcv
bottleneck
24
Probing for bottleneck bandwidth
1/ρ
25
Multi-queue example
ρ1 ρ2 ρ3
1/ρ1 1/ρ2 1/ρ2
2ndpacket 1st packet
2nd packet exits
queues
queues system
behind 1st
behind 1st before 2nd
arrives
27
BProbe Limitations
28
Different Packet Sizes
? = or
R R R R R R R R R R R R
31
Inference on packet loss
4 step process .4
Step 1: multicast packets and
record which receivers lose each
packet .15 .2
Step 2: Form groups where each
group initially contains one
R1 R2 R3 R4
receiver
Step 3: Pick the 2 groups that
.7 .1 .23
have the highest correlation in
loss and merge them together
into a single group loss correlation graph
Step 4: If more than one group
remains, go to Step 3
33
Tomography Grouping Example
.4 .23
{R1}, {R2}, {R3}, {R4}
.15 .2
R1 R2 R3 R4
R1 R2 R3 R4
.7
{{R1, R2}, R4}, {R3}
.1 .23
.37
R1 R2 R3 R4
R1 R2 R3 R4
.13
.23 {R1, R2}, {R3}, {R4} 34
Ruling out coincident losses
Assumption: losses at
different routers are
R R R R independent
35
Example
S
1 p1 = .1
p2 = .7
2 3 p3 = .5
A B
PA PB
36
A simple multicast topology model
A sender and 2 receivers, A & B S
packets lost at router 1 are lost by both
receivers 1 p1
packets lost at router 2 are lost by A
p2
packets lost at router 3 are lost by B 2 3 p3
Packets dropped at router i with
probability pi
A B
Receivers compute
PAB: P(both receivers lose the packet) PA PB
PA: P(just rcvr A loses the packet) PAB
PB: P(just rcvr B loses the packet)
To solve: Given topology, PAB, PA, PB,
compute p1,p2,p3
37
Solving for p1, p2, p3
S
PAB = p1 + (1-p1) p2 p3
PA = (1-p1) p2 (1-p3) 1 p1
PB = (1-p1)(1-p2) p3 p2
2 3 p3
Xi = P(packet reaches i) PA PB
PAB
p2 = PB / XA
p3 = PA / XB
p1 = 1 – PA / (p2 (1-p3))
38
Multicast Tomography: wrapup
39
Shared Points of Congestion (SPOCs)
When sessions share a point of congestion (POC)
can design congestion control protocols that operate on the
aggregate flow
the newly proposed congestion manager takes this approach
Other apps:
• web-server load balancing
• distributed gaming R1
• multi-stream applications
S1 Sessions 1 and 2 would
not “share” congestion
S2 if these are the
congested links
Network Assumptions:
routers use FIFO forwarding
The two flows’ POCs are either all shared or all separate
41
Techniques for detecting shared POCs
BG BG
BG
43
Approach (High level)
such that
if Mc < Ma then infer POCs are separate
else Mc > Ma and infer POCs are shared
44
The Correlation Statistics...
i-4
Loss-Corr for co-located senders:
Flow 1 i-3
Mc = Pr(Lost(i) | Lost(i-1)) pkts
i-2
Ma = Pr(Lost(i) | Lost(prev(i)))
time
Flow 2 i-1
Loss-Corr for co-located receivers:
pkts
in paper (complicated)
i
E[XY] - E[X]E[Y]
C(X,Y) =
(E[X2] - E2[X])(E[Y2] - E2[Y]) 45
Intuition: Why the comparison works
46
Summary
Covered today:
Active Queue Management
Fairness
Network Inference
Next time:
network security
47