XCPs Performance in the Presence of Malicious Flows Dina Katabi - - PDF document

xcp s performance in the presence of malicious flows
SMART_READER_LITE
LIVE PREVIEW

XCPs Performance in the Presence of Malicious Flows Dina Katabi - - PDF document

XCPs Performance in the Presence of Malicious Flows Dina Katabi dk@mit.edu How does XCP Work? Round Trip Time Round Trip Time Throughput Throughput Feedback Feedback = Feedback + 0.5 packet/sec Congestion Header How does XCP Work?


slide-1
SLIDE 1

XCP’s Performance in the Presence of Malicious Flows

Dina Katabi

dk@mit.edu Feedback Round Trip Time Throughput

Congestion Header

Feedback Round Trip Time Throughput

How does XCP Work?

Feedback = + 0.5 packet/sec

slide-2
SLIDE 2

Feedback = + 0.5 packet/sec Round Trip Time Throughput Feedback =

  • 0.3 packet/sec

How does XCP Work?

Cwnd = Cwnd + Feedback * RTT

How does XCP Work?

slide-3
SLIDE 3

Decouple Congestion Control From BW Allocation Policy

  • 1. Congestion Controller
  • 2. Fairness Controller

How Does an XCP Router Compute the Feedback?

Congestion Controller Fairness Controller

Goal: Divides Δ between flows to converge to fairness Algorithm: If Δ > 0 ⇒ Divide Δ equally between flows If Δ < 0 ⇒ Divide Δ between flows proportionally to their current rates

(shown to achieve Fairness [Jain])

Goal: Matches input traffic to link capacity & drains the queue Algorithm: Every Avg. RTT, Aggregate traffic changes by Δ Δ ~ Spare Bandwidth Δ ~ - Queue Size  quick response

Reaction is prop. to Spare and Queue. Update every avg. RTT Reaction is prop. to Spare and Queue. Update every avg. RTT AIMD De-allocation is prop. to throughput AIMD De-allocation is prop. to throughput

slide-4
SLIDE 4

What if sources are malicious?

Will lie about throughput Will lie about RTT Will ignore feedback

Can combine malicious attitudes!

What if sources are malicious?

Will lie about throughput Will lie about RTT Will ignore feedback

slide-5
SLIDE 5

Does lying about throughput affect utilization?

  • No. congestion controller makes the aggregate

increase/decrease proportionally to the spare and the queue

True Throughput / Reported Throughput Utilization

Simulated 20 flows all lying about their throughput:

Does lying about throughput affect fairness?

  • Yes. Liar simulates multiple flows  gets multiple fair shares

True Throughput / Reported Throughput Liar’s Throughput

Simulated one liars with 20 good flows

cwnd=1 Other flows will keep cwnd=1 Linear behavior

slide-6
SLIDE 6

What if sources are malicious?

Will lie about throughput Will lie about RTT Will ignore feedback

Does lying about RTT affect utilization?

  • Yes. congestion controller makes decision every avg. RTT

The liar can confuse the congestion controller! Simulated 20 flows lying about RTT:

True RTT/ Reported RTT Utilization

All RTT-Liars 50% RTT-Liars

Performance stays good when a limited number of flows lie about their RTTs Performance stays good when a limited number of flows lie about their RTTs

slide-7
SLIDE 7

Does lying about RTT affect fairness?

  • No. It increases variance in the fair share but does not

increase absolute throughput much

True RTT / Reported RTT Liar’s Throughput Normalized

Simulated one liars with 20 good flows a) No big incentive for senders to lie about RTT b) Can improve robustness to RTT-lies by making decisions every 100 ms rather than every Avg. RTT, but that would reduce responsiveness a) No big incentive for senders to lie about RTT b) Can improve robustness to RTT-lies by making decisions every 100 ms rather than every Avg. RTT, but that would reduce responsiveness

What if sources are malicious?

Will lie about throughput Will lie about RTT Will ignore feedback

slide-8
SLIDE 8

Utilization

CBR Throughput

CBR sending rate/ Capacity

When a flow ignores the feedback, the router tries to balance the utilization given the leftover capacity

CBR Throughput

Solution: Sample & Test With probability p=0.05 sample the flows Send the flow negative feedback & monitor it for 5 avg. RTTs If the flow doesn’t react, punish it Solution: Sample & Test With probability p=0.05 sample the flows Send the flow negative feedback & monitor it for 5 avg. RTTs If the flow doesn’t react, punish it

TeXCP: Using the XCP Framework for Traffic Engineering

Next with XCP

slide-9
SLIDE 9

Intra-Domain TE

Ingress 1 Egress 1 Ingress 2 Egress 2

Each ingress-egress pair has traffic demands

Intra-Domain TE

Ingress 1 Egress 1 Ingress 2 Egress 2

slide-10
SLIDE 10

Intra-Domain TE

Ingress 1 Egress 1 Ingress 2 Egress 2

Multi-path routing to minimize max utilization

Why Minimize the Max. Utilization ?

  • Removes hot spots
  • Deals with link failures
  • Deals with unpredictable traffic

spikes, flash crowds, and worm spreading

Prior work uses offline approaches (e.g., OSPF

  • ptimal weight setting)
slide-11
SLIDE 11
  • Multi-paths between ingress-egress pair

 Paths are tunnels pinned using MPLS

  • Think of ingress-egress tunnels as flows
  • Generalize congestion control

 One path  Multi-paths  100% utilization  Balanced utilization

  • Replace congestion header with occasional

control packets on the slow path

 Easy to deploy in router software  Doesn’t assume XCP

TeXCP: Online In-Network Approach for Minimizing Max Utilization

Reaction to Link Failure

Abilene Topology & Scaled Traffic Matrix

TeXCP OSPF Optimal Weight Setting

slide-12
SLIDE 12

Reaction to Link Failure

Abilene Topology & Scaled Traffic Matrix

TeXCP OSPF Optimal Weight Setting

TeXCP reacts quickly and optimally to link failures because it reacts in real-time TeXCP reacts quickly and optimally to link failures because it reacts in real-time

Conclusion

  • Lying about a flow’s throughput can increase

BW share but doesn’t affect utilization

  • Lying about the RTT can degrade utilization

 Need a large number of liars to degrade performance

 unlikely given that it does not benefit the source

  • Ignoring the feedback can result in a larger BW

share

 Deal with it using sample & test

  • XCP framework can be used for online in-

network traffic engineering

 Easy to deploy with only changes to the slow path