130 likes | 252 Views
On Community-Oriented Internet Measurement. Mark Allman ICSI Lann Martin, Michael Rabinovich EECS Dept., CWRU Kenneth Atchinson Baldwin-Wallace College. Internet Measurements. A great need Never-ending Active community High barrier of entry into the field Requires deep expertise
E N D
On Community-Oriented Internet Measurement Mark Allman ICSI Lann Martin, Michael Rabinovich EECS Dept., CWRU Kenneth Atchinson Baldwin-Wallace College
Internet Measurements • A great need • Never-ending • Active community • High barrier of entry into the field • Requires deep expertise • Needs professional contacts • Involves significant effort • A frequent result: • General inferences from small-scale studies
Existing Infrastructures • Research infrastructures • IDMaps, NIMI, Skitter, Ark, RouteView, … • Lots of functionality for large maintenance costs • Commercial platforms • Keynote, Gomez • P2P platforms • DipZoom • Still the core to maintain • GIGRIB • User-based platforms • NetDimes, traceroute@home • Specific experiments, not general measurement enablers
OpenMeas • Remove dedicated infrastructure • No dedicated infrastructure! • All functionality at the end-hosts • An existing DHT as the glue • Benefits • Nothing to maintain • Community orientation • Lowering the “barrier of entry” to the measurements studies • But limited functionality • No find-grained time coordination • Best effort DHT
Architecture Overview • Requirements for DHT • Get/put interface • Put(key, value, ttl) • Get(key) • OpenDHT fits the bill • Measurement requesters • Deposit requests • Poll for results • Measurement providers • Poll for requests • Deposit results • Watchers (in particular long-term data repositories) • Poll for results
Main Tasks • Identifying MPs to request measurements from • Requesting measurements • Processing measurements and reporting results • Retrieving requested measurements • Retrieving watched measurements
Identifying MPs AllMPs Extra info MeasType <MPRespQueue> <MPReqQueue> • MP registration (done by MP) • Put(“AllMP”, “ping-0.45b reqQ5 respQ5 extra-info”) • Finding an MP (done by client - requester or watcher) • Get(“AllMPs”) • Select MPs, i.e., (<MPReqQueue>, <MPRespQueue>) <MPReqQueue> <MPRespQueue> Extra request attributes StartTime <RespQueueKey> Req-string MPID <MeasUID> <RespQueue> MPID <MeasUID> <MeasUID> MPID MeasurementResults
Requesting Measurements AllMPs Extra info MeasType <MPRespQueue> <MPReqQueue> • Create a request record for selected MP (done by requester) • Put(“reqQ5”, “184866301 clientResults_31 -c 100 www.icir.org”) <MPReqQueue> <MPRespQueue> Extra request attributes StartTime <RespQueueKey> Req-string MPID <MeasUID> <RespQueue> MPID <MeasUID> <MeasUID> MPID MeasurementResults
Processing Measurements (done by MP) AllMPs Extra info MeasType <MPRespQueue> <MPReqQueue> • Retrieving requests • Get(reqQ5) • Identifying new requests in table reqQ5 • Generating a unique measurement ID “U” • Putting results into DHT • Put(U, result) • Put(“respQ5”, U) • Put(“clientResults_135”, U) <MPReqQueue> <MPRespQueue> Extra request attributes StartTime <RespQueueKey> Req-string MPID <MeasUID> <RespQueue> MPID <MeasUID> <MeasUID> MPID MeasurementResults
Retrieving Results AllMPs Extra info MeasType <MPRespQueue> <MPReqQueue> • Periodically retrieve own results table • Get(“clientResults_135”) • Identify new result UIDs • Retrieve results • Get(U) <MPReqQueue> <MPRespQueue> Extra request attributes StartTime <RespQueueKey> Req-string MPID <MeasUID> <RespQueue> MPID <MeasUID> <MeasUID> MPID MeasurementResults By requester: By watcher: • Similar but with “resQ5” table.
Security • Threats: • DoS against an MP • Reflected DoS against measurement target • Attacker identity laundering • Mitigation • MP’s best-effort processing • In particular, rate limiting • Protects against MP-targeted DoS • Measurement target-keyed DHT tables recording measurement rate • Protects against a reflected DoS attack • Community orientation • Building web-of-trust of requesters • Crypto-signing measurement requests • Honoring requests from requesters with proper web-of-trust credentials
Primitives • MP Registration • Removing duplicates from DHT tables • Fragmentation and reassembly of data due to DHT table size limitations • Assessing trust • Etc.
Summary • We propose a new measurement platform • Open • Community-oriented • Light-weight - infrastructure-less! • Utilizes an existing substrate (DHT) • Incrementally growing (or shrinking…) • We built a small prototype • Provides a generic client • An MP offering traceroutes