principles for measurability
play

Principles for Measurability From: ACM SIGCOMM in Protocol Design - PowerPoint PPT Presentation

Principles for Measurability From: ACM SIGCOMM in Protocol Design CCR Vol. 47 Issue 2 Mark Allman (ICSI) August 24, 2017 Robert Beverly (NPS) Brian Trammell (ETHZ) 1 Principles for Measurability From: ACM SIGCOMM in Protocol Design CCR


  1. Principles for Measurability From: ACM SIGCOMM in Protocol Design CCR Vol. 47 Issue 2 Mark Allman (ICSI) August 24, 2017 Robert Beverly (NPS) Brian Trammell (ETHZ) 1

  2. Principles for Measurability From: ACM SIGCOMM in Protocol Design CCR Vol. 47 Issue 2 Mark Allman (ICSI) August 24, 2017 Robert Beverly (NPS) Brian Trammell (ETHZ) 1

  3. Network Measurement ❖ Fundamental to network operation, application performance, and policy (not just research) ❖ But, today: ❖ Minimal support from stack ❖ Measurements rely on brittle hacks, unintended features, and inferences 2

  4. Result: Important questions are hard ❖ E.g.: ❖ 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? 3

  5. Even simple inferences difficult! ❖ What’s the delay between two hosts 4

  6. Even simple inferences difficult! ❖ What’s the delay between two hosts ❖ (Per-protocol traffic differentiation, path vs. host delay, asymmetry) 4

  7. Even simple inferences difficult! ❖ What’s the delay between two hosts ❖ (Per-protocol traffic differentiation, path vs. host delay, asymmetry) ❖ What are the endpoints in a communication? 4

  8. Even simple inferences 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) 4

  9. Even simple inferences 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? 4

  10. Even simple inferences 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?) 4

  11. Reconsidering Measurability What if we re-think the stack with measurability as a first-class component? 5

  12. Principles for Measurability P1. Explicit P2. In-band P3. Consumer bears cost P4. Provider retains control P5. Visible P6. Cooperative 6

  13. Principles for Measurability Remove ambiguity P1. Explicit Transparency encourages adoption P2. In-band P3. Consumer bears cost P4. Provider retains control P5. Visible P6. Cooperative 6

  14. Principles for Measurability P1. Explicit Faithfully capture measurement P2. In-band objective P3. Consumer bears cost P4. Provider retains control P5. Visible P6. Cooperative 6

  15. Principles for Measurability P1. Explicit P2. In-band Measurement burden on P3. Consumer bears cost consumer, not producer P4. Provider retains control P5. Visible P6. Cooperative 6

  16. Principles for Measurability P1. Explicit P2. In-band P3. Consumer bears cost Measurement producers can make P4. Provider retains control conscious decisions what to expose P5. Visible P6. Cooperative 6

  17. Principles for Measurability P1. Explicit P2. In-band P3. Consumer bears cost P4. Provider retains control Measurements require visibility into forward/ P5. Visible reverse paths and packet modification P6. Cooperative 6

  18. Principles for Measurability P1. Explicit P2. In-band P3. Consumer bears cost P4. Provider retains control P5. Visible Measurements must cooperate with P6. Cooperative routers, middleboxes, and infrastructure 6

  19. Primitives Compatible Measurability Measurement Candidate Principles Capability Primitives 7

  20. Primitives Compatible Measurability Measurement Candidate Principles Capability Primitives Imagine packets carry measurement meta-data. What should that meta-data include? 7

  21. Candidate Primitive: HostID ❖ Host ID: ❖ Chosen randomly, included in packets ❖ Removes IP address = host assumption ❖ Remove NAT, load-balancer, IPv6, alias ambiguities that plague today’s measurements 8

  22. Candidate Primitive: HostID ❖ Host ID: ❖ Chosen randomly, included in packets ❖ Removes IP address = host assumption ❖ Remove NAT, load-balancer, IPv6, alias ambiguities that plague today’s measurements How to apply principles to make HostID viable? 8

  23. Candidate Primitive: HostID ❖ Host ID: ❖ ID is ephemeral ❖ Small ID space + change ID to prevent tracking ❖ Large population requires observation over time, probabilistic inferences 9

  24. Candidate Primitive: HostID P1. Explicit ❖ Host ID: ❖ ID is ephemeral ❖ Small ID space + change ID to prevent tracking ❖ Large population requires observation over time, probabilistic inferences 9

  25. Candidate Primitive: HostID P1. Explicit ❖ Host ID: P4. Provider retains control ❖ ID is ephemeral ❖ Small ID space + change ID to prevent tracking ❖ Large population requires observation over time, probabilistic inferences 9

  26. Candidate Primitive: HostID P1. Explicit ❖ Host ID: P4. Provider retains control ❖ ID is ephemeral ❖ Small ID space + change ID to prevent tracking ❖ Large population requires observation over time, probabilistic inferences P3. Consumer bears cost 9

  27. HostID: Active Inference 4 4 4 4 4 4 6 6 6 6 6 6 10

  28. HostID: Active Inference ID: 0xabcd ID: 0xbeef ID: 0xabcd 4 4 4 4 4 4 6 6 6 6 6 6 10

  29. HostID: Active Inference ID: 0xabcd ID: 0xbeef ID: 0xabcd 4 4 4 4 4 4 6 6 6 6 6 6 Router 1 Aliases: Router 2 Aliases: 10

  30. HostID: Active Inference ID: 0xabcd ID: 0xbeef ID: 0xabcd 4 4 4 4 4 4 6 6 6 6 6 6 Router 1 Aliases: Router 2 Aliases: 10

  31. HostID: Active Inference ID: 0xabcd ID: 0xbeef ID: 0xabcd 4 4 4 4 4 4 6 6 6 6 6 6 4 6 4 6 4 6 4 6 Router 1 Aliases: 4 6 4 6 Router 2 Aliases: 10

  32. HostID ID: 0xabcd ID: 0xbeef ID: 0xcafe 4 4 4 4 4 4 6 6 6 6 6 6 4 6 4 6 Router 1 Aliases: 4 6 4 6 Router 2 Aliases: Router 3 Aliases: 4 6 4 6 11

  33. HostID: Passive Inference What are the end points in a communication? NAT/CGNs A A A A 12

  34. Candidate Primitive: Arrival Info ❖ How packets arrive at destination ❖ Nonce tuple (N xmit , N sum ): ❖ N xmit : random, set by sender ❖ N sum : sum of received N xmit values echoed back ❖ Permits sender to reconstruct arrival stream (5800)(1001)(5) S R 13

  35. Candidate Primitive: Arrival Info ❖ How packets arrive at destination ❖ Nonce tuple (N xmit , N sum ): ❖ N xmit : random, set by sender ❖ N sum : sum of received N xmit values echoed back ❖ Permits sender to reconstruct arrival stream (5800)(1001)(5) S R (45, 5800 )(1376, 5805 ) 13

  36. Candidate Primitive: Arrival Info ❖ How packets arrive at destination ❖ Nonce tuple (N xmit , N sum ): ❖ N xmit : random, set by sender ❖ N sum : sum of received N xmit values echoed back ❖ Permits sender to reconstruct arrival stream (5800)(1001)(5) S R (45, 5800 )(1376, 5805 ) Sender knows ACKs in order 13

  37. Candidate Primitive: Arrival Info ❖ How packets arrive at destination ❖ Nonce tuple (N xmit , N sum ): ❖ N xmit : random, set by sender ❖ N sum : sum of received N xmit values echoed back Sender knows second segment lost ❖ Permits sender to reconstruct arrival stream (5800)(1001)(5) S R (45, 5800 )(1376, 5805 ) Sender knows ACKs in order 13

  38. Candidate Primitive: Arrival Info ❖ How packets arrive at destination ❖ Nonce tuple (N xmit , N sum ): ❖ N xmit : random, set by sender ❖ N sum : sum of received N xmit values echoed back Sender knows second segment lost ❖ Permits sender to reconstruct arrival stream (5800)(1001)(5) S R (45, 5800 )(1376, 5805 ) Sender knows 1st and 3rd segments arrived out of order Sender knows ACKs in order 13

  39. Candidate Primitive: Arrival Info ❖ How packets arrive at destination ❖ Nonce tuple (N xmit , N sum ): ❖ N xmit : random, set by sender ❖ N sum : sum of received N xmit values echoed back ❖ Permits sender to reconstruct arrival stream (5800)(1001)(5) S R (45,5800)(1376,5805) 14

  40. Candidate Primitive: Arrival Info ❖ How packets arrive at destination ❖ Nonce tuple (N xmit , N sum ): P5: Visibility ❖ N xmit : random, set by sender ❖ N sum : sum of received N xmit values echoed back ❖ Permits sender to reconstruct arrival stream (5800)(1001)(5) S R (45,5800)(1376,5805) 14

  41. Candidate Primitive: Arrival Info ❖ How packets arrive at destination ❖ Nonce tuple (N xmit , N sum ): P5: Visibility ❖ N xmit : random, set by sender ❖ N sum : sum of received N xmit values echoed back ❖ Permits sender to reconstruct arrival stream (5800)(1001)(5) P3. Consumer bears cost S R (45,5800)(1376,5805) 14

  42. Network support ❖ Imagine increased cooperation and support from the network ❖ Topology tuples ❖ Path change tuples ❖ Performance tuples ❖ Accumulated performance tuples 15

  43. Network support ❖ Imagine increased cooperation and support from the network ❖ Topology tuples ❖ Path change tuples See paper for details on these ❖ Performance tuples ❖ Accumulated performance tuples 15

Recommend


More recommend