Mark Allman (ICSI) Robert Beverly (NPS) Brian Trammell (ETHZ)
Principles for Measurability in Protocol Design
From: ACM SIGCOMM CCR Vol. 47 Issue 2 August 24, 2017
1
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
Mark Allman (ICSI) Robert Beverly (NPS) Brian Trammell (ETHZ)
From: ACM SIGCOMM CCR Vol. 47 Issue 2 August 24, 2017
1
Mark Allman (ICSI) Robert Beverly (NPS) Brian Trammell (ETHZ)
From: ACM SIGCOMM CCR Vol. 47 Issue 2 August 24, 2017
1
❖ Fundamental to network operation, application
❖ But, today: ❖ Minimal support from stack ❖ Measurements rely on brittle hacks, unintended
2
❖ 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
4
❖ What’s the delay between two hosts
4
❖ What’s the delay between two hosts ❖ (Per-protocol traffic differentiation, path vs.
❖ What are the endpoints in a communication?
4
❖ What’s the delay between two hosts ❖ (Per-protocol traffic differentiation, path vs.
❖ What are the endpoints in a communication?
4
❖ What’s the delay between two hosts ❖ (Per-protocol traffic differentiation, path vs.
❖ (NATs, CGNs, aliases, IPv6)
❖ What are the endpoints in a communication?
4
❖ What’s the delay between two hosts ❖ How did packets arrive at a remote destination? ❖ (Per-protocol traffic differentiation, path vs.
❖ (NATs, CGNs, aliases, IPv6)
❖ What are the endpoints in a communication?
4
❖ What’s the delay between two hosts ❖ How did packets arrive at a remote destination? ❖ (Per-protocol traffic differentiation, path vs.
❖ (NATs, CGNs, aliases, IPv6) ❖ (order? modified? mangled? path? queued?)
5
6
6
Remove ambiguity Transparency encourages adoption
6
Faithfully capture measurement
6
Measurement burden on consumer, not producer
6
Measurement producers can make conscious decisions what to expose
6
Measurements require visibility into forward/ reverse paths and packet modification
6
Measurements must cooperate with routers, middleboxes, and infrastructure
7
Measurability Principles Compatible Candidate Primitives Measurement Capability
7
Measurability Principles Compatible Candidate Primitives Measurement Capability
❖ Host ID: ❖ Chosen randomly, included in packets ❖ Removes IP address = host assumption ❖ Remove NAT, load-balancer, IPv6, alias ambiguities
8
❖ Host ID: ❖ Chosen randomly, included in packets ❖ Removes IP address = host assumption ❖ Remove NAT, load-balancer, IPv6, alias ambiguities
8
How to apply principles to make HostID viable?
❖ Host ID: ❖ ID is ephemeral ❖ Small ID space + change ID to prevent tracking ❖ Large population requires observation over time,
9
❖ Host ID: ❖ ID is ephemeral ❖ Small ID space + change ID to prevent tracking ❖ Large population requires observation over time,
9
❖ Host ID: ❖ ID is ephemeral ❖ Small ID space + change ID to prevent tracking ❖ Large population requires observation over time,
9
❖ Host ID: ❖ ID is ephemeral ❖ Small ID space + change ID to prevent tracking ❖ Large population requires observation over time,
9
10
10
10
10
10
11
12
A A A A
❖ How packets arrive at destination ❖ Nonce tuple (Nxmit, Nsum): ❖ Nxmit: random, set by sender ❖ Nsum: sum of received Nxmit values echoed back ❖ Permits sender to reconstruct arrival stream
13
S R
(5800)(1001)(5)
❖ How packets arrive at destination ❖ Nonce tuple (Nxmit, Nsum): ❖ Nxmit: random, set by sender ❖ Nsum: sum of received Nxmit values echoed back ❖ Permits sender to reconstruct arrival stream
13
S R
(5800)(1001)(5) (45,5800)(1376,5805)
❖ How packets arrive at destination ❖ Nonce tuple (Nxmit, Nsum): ❖ Nxmit: random, set by sender ❖ Nsum: sum of received Nxmit values echoed back ❖ Permits sender to reconstruct arrival stream
13
S R
(5800)(1001)(5) (45,5800)(1376,5805)
Sender knows ACKs in order
❖ How packets arrive at destination ❖ Nonce tuple (Nxmit, Nsum): ❖ Nxmit: random, set by sender ❖ Nsum: sum of received Nxmit values echoed back ❖ Permits sender to reconstruct arrival stream
13
S R
(5800)(1001)(5) (45,5800)(1376,5805)
Sender knows ACKs in order Sender knows second segment lost
❖ How packets arrive at destination ❖ Nonce tuple (Nxmit, Nsum): ❖ Nxmit: random, set by sender ❖ Nsum: sum of received Nxmit values echoed back ❖ Permits sender to reconstruct arrival stream
13
S R
(5800)(1001)(5) (45,5800)(1376,5805)
Sender knows ACKs in order Sender knows second segment lost Sender knows 1st and 3rd segments arrived out of order
❖ How packets arrive at destination ❖ Nonce tuple (Nxmit, Nsum): ❖ Nxmit: random, set by sender ❖ Nsum: sum of received Nxmit values echoed back ❖ Permits sender to reconstruct arrival stream
14
S R
(5800)(1001)(5) (45,5800)(1376,5805)
❖ How packets arrive at destination ❖ Nonce tuple (Nxmit, Nsum): ❖ Nxmit: random, set by sender ❖ Nsum: sum of received Nxmit values echoed back ❖ Permits sender to reconstruct arrival stream
14
S R
(5800)(1001)(5) (45,5800)(1376,5805)
P5: Visibility
❖ How packets arrive at destination ❖ Nonce tuple (Nxmit, Nsum): ❖ Nxmit: random, set by sender ❖ Nsum: sum of received Nxmit values echoed back ❖ Permits sender to reconstruct arrival stream
14
S R
(5800)(1001)(5) (45,5800)(1376,5805)
P5: Visibility
❖ Imagine increased cooperation and support from the
❖ Topology tuples ❖ Path change tuples ❖ Performance tuples ❖ Accumulated performance tuples
15
❖ Imagine increased cooperation and support from the
❖ Topology tuples ❖ Path change tuples ❖ Performance tuples ❖ Accumulated performance tuples
15
See paper for details on these
❖ Network measurement critical, we need better tools,
❖ Propose guiding principles for viable measurement ❖ Demonstrate candidate primitives that address long-
❖ Position paper: spur discussion, debate, and inform
16