Slides 100 MAPRG Principles for Measurability in Protocol ...

58
Principles for Measurability in Protocol Design Mark Allman, Rob Beverly, and Brian Trammell in ACM CCR, April 2017 Measurement and Analysis for Protocols RG IETF 100 Singapore — 13 November 2017

Transcript of Slides 100 MAPRG Principles for Measurability in Protocol ...

Page 1: Slides 100 MAPRG Principles for Measurability in Protocol ...

Principles for Measurability in Protocol Design

Mark Allman, Rob Beverly, and Brian Trammell in ACM CCR, April 2017

Measurement and Analysis for Protocols RG IETF 100 Singapore — 13 November 2017

Page 2: Slides 100 MAPRG Principles for Measurability in Protocol ...

Network Measurement

• Fundamental to network operations, research, protocol design, and informing Internet policy development.

• Minimal support from stack today (ping is what you get)

• Unintended features (e.g. traceroute)

• Brittle hacks (e.g. passive TCP loss/RTT)

• Inference (cf. any academic measurement paper)

Page 3: Slides 100 MAPRG Principles for Measurability in Protocol ...

Result: Important questions are hard

• What’s the best path to route traffic?

• What is the capacity or utilization of a link?

• How do networks interconnect?

• What AS operates a given router?

Page 4: Slides 100 MAPRG Principles for Measurability in Protocol ...

Even simple inferences are difficult!

• What's the delay between two hosts?

• (Per-protocol traffic differentiation, path vs. host delay, asymmetry)

• What are the endpoints in a communication?

• (NATs, CGNs, aliases, IPv6)

• How did packets arrive at a remote destination?

• (order? modified? mangled? path? queued?)

Page 5: Slides 100 MAPRG Principles for Measurability in Protocol ...

What if we re-think the Internet protocol stack with measurability as a first-class component?

Page 6: Slides 100 MAPRG Principles for Measurability in Protocol ...

Approach

• Imagine packets carry measurement information: what should they include?

• Goal: maximum benefit for minimum overhead

Principles for Measurability

Candidate Primitives

Measurement Capabilities

Page 7: Slides 100 MAPRG Principles for Measurability in Protocol ...

Principles for Measurability1. Measurement should be explicit

2. Measurement should be in-band

3. The measurement consumer should bear the cost

4. The measurement provider should retain control

5. Measurement must be visible

6. Measurement should be cooperative

Page 8: Slides 100 MAPRG Principles for Measurability in Protocol ...

Principles for Measurability1. Measurement should be explicit

2. Measurement should be in-band

3. The measurement consumer should bear the cost

4. The measurement provider should retain control

5. Measurement must be visible

6. Measurement should be cooperative

Reduces ambiguity, increases future-proof-ness

Page 9: Slides 100 MAPRG Principles for Measurability in Protocol ...

Principles for Measurability1. Measurement should be explicit

2. Measurement should be in-band

3. The measurement consumer should bear the cost

4. The measurement provider should retain control

5. Measurement must be visible

6. Measurement should be cooperative

Reduces ambiguity, increases future-proof-ness

Ensures measurement traffic treated similar to"real" traffic

Page 10: Slides 100 MAPRG Principles for Measurability in Protocol ...

Principles for Measurability1. Measurement should be explicit

2. Measurement should be in-band

3. The measurement consumer should bear the cost

4. The measurement provider should retain control

5. Measurement must be visible

6. Measurement should be cooperative

Reduces ambiguity, increases future-proof-ness

Ensures measurement traffic treated similar to"real" traffic

Shifts state and per-packet overhead offline, increases deployability

Page 11: Slides 100 MAPRG Principles for Measurability in Protocol ...

Principles for Measurability1. Measurement should be explicit

2. Measurement should be in-band

3. The measurement consumer should bear the cost

4. The measurement provider should retain control

5. Measurement must be visible

6. Measurement should be cooperative

Reduces ambiguity, increases future-proof-ness

Ensures measurement traffic treated similar to"real" traffic

Shifts state and per-packet overhead offline, increases deployability

Ensures users know how measurable their traffic is

Page 12: Slides 100 MAPRG Principles for Measurability in Protocol ...

Principles for Measurability1. Measurement should be explicit

2. Measurement should be in-band

3. The measurement consumer should bear the cost

4. The measurement provider should retain control

5. Measurement must be visible

6. Measurement should be cooperative

Reduces ambiguity, increases future-proof-ness

Ensures measurement traffic treated similar to"real" traffic

Shifts state and per-packet overhead offline, increases deployability

Ensures users know how measurable their traffic is

Increases transparency and trustworthiness in measurement

Page 13: Slides 100 MAPRG Principles for Measurability in Protocol ...

Principles for Measurability1. Measurement should be explicit

2. Measurement should be in-band

3. The measurement consumer should bear the cost

4. The measurement provider should retain control

5. Measurement must be visible

6. Measurement should be cooperative

Reduces ambiguity, increases future-proof-ness

Ensures measurement traffic treated similar to"real" traffic

Shifts state and per-packet overhead offline, increases deployability

Ensures users know how measurable their traffic is

Increases transparency and trustworthiness in measurement

Follows from P3/P4, leverages existing middle/endpoint tussle

Page 14: Slides 100 MAPRG Principles for Measurability in Protocol ...

Principles for Measurability1. Measurement should be explicit

2. Measurement should be in-band

3. The measurement consumer should bear the cost

4. The measurement provider should retain control

5. Measurement must be visible

6. Measurement should be cooperative

Reduces ambiguity, increases future-proof-ness

Ensures measurement traffic treated similar to"real" traffic

Shifts state and per-packet overhead offline, increases deployability

Ensures users know how measurable their traffic is

Increases transparency and trustworthiness in measurement

Follows from P3/P4, leverages existing middle/endpoint tussle

Page 15: Slides 100 MAPRG Principles for Measurability in Protocol ...

Candidate Primitives (see the paper)

• End to End Information §4.1

• Host Identification §4.1.1

• Timing §4.1.2

• Arrival §4.1.3

• Integrity §4.1.4

• Hop-Specific Information §4.2

• Topology

• Queue Performance

• Accumulated Path Information §4.3

• Path Change Detection

• Path Queue Delay

Page 16: Slides 100 MAPRG Principles for Measurability in Protocol ...

Candidate Primitives (see the paper)

• End to End Information §4.1

• Host Identification §4.1.1

• Timing §4.1.2

• Arrival §4.1.3

• Integrity §4.1.4

• Hop-Specific Information §4.2

• Topology

• Queue Performance

• Accumulated Path Information §4.3

• Path Change Detection

• Path Queue Delay

} focus of this talk

} also covered briefly

Page 17: Slides 100 MAPRG Principles for Measurability in Protocol ...

Candidate Primitive: Timing Information §4.1.2

• TCP TSOPT (RFC 7313) is almost right...

• ...but not designed for passive measurement

• Approach: add a Tnow, Techo, TΔ tuple to packets:

• Tnow = timestamp in constant-rate clock

• Techo = last timestamp seen from peer

• TΔ = ticks in constant-rate clock since Techo seen

• Resolution-overhead tradeoff: can be sent on 1/n packets.

Page 18: Slides 100 MAPRG Principles for Measurability in Protocol ...

Candidate Primitive: Timing Information §4.1.2

• TCP TSOPT (RFC 7313) is almost right...

• ...but not designed for passive measurement

• Approach: add a Tnow, Techo, TΔ tuple to packets:

• Tnow = timestamp in constant-rate clock

• Techo = last timestamp seen from peer

• TΔ = ticks in constant-rate clock since Techo seen

• Resolution-overhead tradeoff: can be sent on 1/n packets.

P2 In-Band P5 Visible

Page 19: Slides 100 MAPRG Principles for Measurability in Protocol ...

Candidate Primitive: Timing Information §4.1.2

• TCP TSOPT (RFC 7313) is almost right...

• ...but not designed for passive measurement

• Approach: add a Tnow, Techo, TΔ tuple to packets:

• Tnow = timestamp in constant-rate clock

• Techo = last timestamp seen from peer

• TΔ = ticks in constant-rate clock since Techo seen

• Resolution-overhead tradeoff: can be sent on 1/n packets.

P2 In-Band P5 Visible

P1 Explicit

Page 20: Slides 100 MAPRG Principles for Measurability in Protocol ...

Candidate Primitive: Timing Information §4.1.2

• TCP TSOPT (RFC 7313) is almost right...

• ...but not designed for passive measurement

• Approach: add a Tnow, Techo, TΔ tuple to packets:

• Tnow = timestamp in constant-rate clock

• Techo = last timestamp seen from peer

• TΔ = ticks in constant-rate clock since Techo seen

• Resolution-overhead tradeoff: can be sent on 1/n packets.

P2 In-Band P5 Visible

P1 Explicit

P4 Sender Control

Page 21: Slides 100 MAPRG Principles for Measurability in Protocol ...

Timing Information §4.1.2: RTT and Timing Measurement

Sender Receivert0 = 33 t0 = 81

Page 22: Slides 100 MAPRG Principles for Measurability in Protocol ...

Timing Information §4.1.2: RTT and Timing Measurement

Sender Receiver34,0,0

t0 = 33 t0 = 81

Page 23: Slides 100 MAPRG Principles for Measurability in Protocol ...

Timing Information §4.1.2: RTT and Timing Measurement

Sender Receiver34,0,0

85,34,0

t0 = 33 t0 = 81

Page 24: Slides 100 MAPRG Principles for Measurability in Protocol ...

Timing Information §4.1.2: RTT and Timing Measurement

Sender Receiver34,0,0

85,34,0

t0 = 33 t0 = 81

46,85,2

Page 25: Slides 100 MAPRG Principles for Measurability in Protocol ...

Timing Information §4.1.2: RTT and Timing Measurement

Sender Receiver34,0,0

85,34,0

t0 = 33 t0 = 81

46,85,2

91,46,0

Page 26: Slides 100 MAPRG Principles for Measurability in Protocol ...

Timing Information §4.1.2: RTT and Timing Measurement

Sender Receiver34,0,0

85,34,0

t0 = 33 t0 = 81

46,85,2

91,46,0

60,91,4

Page 27: Slides 100 MAPRG Principles for Measurability in Protocol ...

Timing Information §4.1.2: RTT and Timing Measurement

Sender Receiver34,0,0

85,34,0

t0 = 33 t0 = 81

46,85,2

91,46,0

60,91,4

99,60,1

Page 28: Slides 100 MAPRG Principles for Measurability in Protocol ...

Timing Information §4.1.2: RTT and Timing Measurement

Sender Receiver34,0,0

85,34,0

Observer

t0 = 33 t0 = 81

46,85,2

91,46,0

60,91,4

99,60,1

Page 29: Slides 100 MAPRG Principles for Measurability in Protocol ...

Candidate Primitive: Arrival Information §4.1.3

• Makes pattern of loss and reordering visible in a transport-independent way.

• Each sender maintains a counter Ntx per flow:

• Increment Ntx by a randomly-chosen but increasing number for each packet sent.

• Maintain running sum of received Ntx values as ∑Necho.

• Send {Ntx, ∑Necho} on every packet.

• (inspired by Savage et al. TCP Congestion Control with a Misbehaving Receiver. ACM CCR 29(5), Oct. 1999.)

Page 30: Slides 100 MAPRG Principles for Measurability in Protocol ...

Candidate Primitive: Arrival Information §4.1.3

• Makes pattern of loss and reordering visible in a transport-independent way.

• Each sender maintains a counter Ntx per flow:

• Increment Ntx by a randomly-chosen but increasing number for each packet sent.

• Maintain running sum of received Ntx values as ∑Necho.

• Send {Ntx, ∑Necho} on every packet.

• (inspired by Savage et al. TCP Congestion Control with a Misbehaving Receiver. ACM CCR 29(5), Oct. 1999.)

P3 Consumer Cost

Page 31: Slides 100 MAPRG Principles for Measurability in Protocol ...

Candidate Primitive: Arrival Information §4.1.3

• Makes pattern of loss and reordering visible in a transport-independent way.

• Each sender maintains a counter Ntx per flow:

• Increment Ntx by a randomly-chosen but increasing number for each packet sent.

• Maintain running sum of received Ntx values as ∑Necho.

• Send {Ntx, ∑Necho} on every packet.

• (inspired by Savage et al. TCP Congestion Control with a Misbehaving Receiver. ACM CCR 29(5), Oct. 1999.)

P3 Consumer Cost

P1 Explicit P5 Visible

Page 32: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: General Case

Sender ReceiverNtx0 = 200 Ntx0 = 600

Page 33: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: General Case

Sender ReceiverNtx0 = 200 Ntx0 = 600

204,600inc = 4

Page 34: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: General Case

Sender ReceiverNtx0 = 200 Ntx0 = 600

204,600inc = 4

609,204 inc = 9

Page 35: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: General Case

Sender ReceiverNtx0 = 200 Ntx0 = 600

211,609inc = 7

204,600inc = 4

609,204 inc = 9

Page 36: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: General Case

Sender ReceiverNtx0 = 200 Ntx0 = 600

211,609inc = 7

642,211 inc = 33

204,600inc = 4

609,204 inc = 9

Page 37: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: General Case

Sender ReceiverNtx0 = 200 Ntx0 = 600

211,609inc = 7

230,642inc = 19

642,211 inc = 33

204,600inc = 4

609,204 inc = 9

Page 38: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: General Case

Sender ReceiverNtx0 = 200 Ntx0 = 600

211,609inc = 7

230,642inc = 19

642,211 inc = 33

204,600inc = 4

609,204 inc = 9

828,230 inc = 186

Page 39: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: Loss Detection

Sender ReceiverNtx0 = 200 Ntx0 = 600

Page 40: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: Loss Detection

Sender ReceiverNtx0 = 200 Ntx0 = 600

204,600inc = 4

Page 41: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: Loss Detection

Sender ReceiverNtx0 = 200 Ntx0 = 600

204,600inc = 4

609,204 inc = 9

Page 42: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: Loss Detection

Sender ReceiverNtx0 = 200 Ntx0 = 600

204,600inc = 4

609,204 inc = 9

211,609inc = 7X

Page 43: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: Loss Detection

Sender ReceiverNtx0 = 200 Ntx0 = 600

642,204 inc = 33

204,600inc = 4

609,204 inc = 9

211,609inc = 7X

Page 44: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: Loss Detection

Sender ReceiverNtx0 = 200 Ntx0 = 600

230,642inc = 19

642,204 inc = 33

204,600inc = 4

609,204 inc = 9

211,609inc = 7X

Page 45: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: Loss Detection

Sender ReceiverNtx0 = 200 Ntx0 = 600

230,642inc = 19

642,204 inc = 33

204,600inc = 4

609,204 inc = 9

828,223 inc = 186

211,609inc = 7X

Page 46: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: Loss Detection

Sender ReceiverNtx0 = 200 Ntx0 = 600

230,642inc = 19

642,204 inc = 33

204,600inc = 4

609,204 inc = 9

828,223 inc = 186

211,609inc = 7X

Observer

Page 47: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: Loss Detection

Sender ReceiverNtx0 = 200 Ntx0 = 600

230,642inc = 19

642,204 inc = 33

204,600inc = 4

609,204 inc = 9

828,223 inc = 186

211,609inc = 7X

Observer

Page 48: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: Reordering DetectionSender ReceiverNtx0 = 200 Ntx0 = 600

Page 49: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: Reordering DetectionSender ReceiverNtx0 = 200 Ntx0 = 600

609,200 inc = 9

Page 50: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: Reordering DetectionSender ReceiverNtx0 = 200 Ntx0 = 600

inc = 7 211,609

609,200 inc = 9

Page 51: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: Reordering DetectionSender ReceiverNtx0 = 200 Ntx0 = 600

inc = 7 211,609

642,211inc = 33

609,200 inc = 9

Page 52: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: Reordering DetectionSender ReceiverNtx0 = 200 Ntx0 = 600

inc = 7 211,609

642,211inc = 33

204,600inc = 4

609,200 inc = 9

Page 53: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: Reordering DetectionSender ReceiverNtx0 = 200 Ntx0 = 600

230,642inc = 19

inc = 7 211,609

642,211inc = 33

204,600inc = 4

609,200 inc = 9

Page 54: Slides 100 MAPRG Principles for Measurability in Protocol ...

Arrival Information §4.1.3: Reordering DetectionSender ReceiverNtx0 = 200 Ntx0 = 600

230,642inc = 19

inc = 7 211,609

642,211inc = 33

204,600inc = 4

609,200 inc = 9

828,230 inc = 186

Page 55: Slides 100 MAPRG Principles for Measurability in Protocol ...

Candidate Primitive: Probabilistic and Triggered Stamping §4.2

• Request for information to be added by router

• at TTL n or with probability p

• Performance diagnostics: {Tnow, Dqueue, Cqueue} tuple: replaces high-load queueing delay measurement.

• Topology discovery: {AS, ID, IPin, IPout} tuple:explicit replacement for tracreoute.

• Useful in intradomain applications, with migration to interdomain usage.

Page 56: Slides 100 MAPRG Principles for Measurability in Protocol ...

Candidate Primitive: Probabilistic and Triggered Stamping §4.2

• Request for information to be added by router

• at TTL n or with probability p

• Performance diagnostics: {Tnow, Dqueue, Cqueue} tuple: replaces high-load queueing delay measurement.

• Topology discovery: {AS, ID, IPin, IPout} tuple:explicit replacement for tracreoute.

• Useful in intradomain applications, with migration to interdomain usage.

P1 Explicit P5 Visible

Page 57: Slides 100 MAPRG Principles for Measurability in Protocol ...

Candidate Primitive: Probabilistic and Triggered Stamping §4.2

• Request for information to be added by router

• at TTL n or with probability p

• Performance diagnostics: {Tnow, Dqueue, Cqueue} tuple: replaces high-load queueing delay measurement.

• Topology discovery: {AS, ID, IPin, IPout} tuple:explicit replacement for tracreoute.

• Useful in intradomain applications, with migration to interdomain usage.

P1 Explicit P5 Visible

P6 Cooperative

Page 58: Slides 100 MAPRG Principles for Measurability in Protocol ...

Conclusions• Network measurement is critical. We need better tools, and better tools

need better support from the network.

• Propose guiding principles for viable measurement.

• Demonstrate candidate primitives that address long-standing, important real-world measurement problems.

• Position paper: spur discussion, debate, and inform protocol development.

• Read the paper: https://ccronline.sigcomm.org/wp-content/uploads/2017/05/acmdl17-60.pdf

This work supported in part by National Science Foundation (NSF) grants CNS-1213155, CNS-1213157 and CNS-1564329; the European Commission (EC) under grant agreement H2020-688421 (MAMI); and the Swiss State Secretariat for Education, Research, and Innovation under contract 15.0268. This work represents the position of the authors and not of the NSF, EC, or the Swiss or U.S.governments.