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 Vol. 47 Issue 2 Mark Allman (ICSI) August 24, 2017 Robert Beverly (NPS) Brian Trammell (ETHZ) 1
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
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
Even simple inferences difficult! ❖ What’s the delay between two hosts 4
Even simple inferences difficult! ❖ What’s the delay between two hosts ❖ (Per-protocol traffic differentiation, path vs. host delay, asymmetry) 4
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
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
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
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
Reconsidering Measurability What if we re-think the stack with measurability as a first-class component? 5
Principles for Measurability P1. Explicit P2. In-band P3. Consumer bears cost P4. Provider retains control P5. Visible P6. Cooperative 6
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
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
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
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
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
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
Primitives Compatible Measurability Measurement Candidate Principles Capability Primitives 7
Primitives Compatible Measurability Measurement Candidate Principles Capability Primitives Imagine packets carry measurement meta-data. What should that meta-data include? 7
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
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
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
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
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
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
HostID: Active Inference 4 4 4 4 4 4 6 6 6 6 6 6 10
HostID: Active Inference ID: 0xabcd ID: 0xbeef ID: 0xabcd 4 4 4 4 4 4 6 6 6 6 6 6 10
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
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
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
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
HostID: Passive Inference What are the end points in a communication? NAT/CGNs A A A A 12
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
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
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
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
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
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
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
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
Network support ❖ Imagine increased cooperation and support from the network ❖ Topology tuples ❖ Path change tuples ❖ Performance tuples ❖ Accumulated performance tuples 15
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