9/27/16 Network Names in Content-Centric Networking ACM ICN 2016 1 CCN Names • Expressed as URIs – /a/b/foo – /us/edu/uci/cs/tsudik/papers/acm-icn16.pdf • Encoded as TLVs 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +---------------+---------------+---------------+---------------+ | T_NAME | Length | +---------------+---------------+---------------+---------------+ / Name segment TLVs / +---------------+---------------+---------------+---------------+ ACM ICN 2016 2 1
9/27/16 Names in CCN Applications Serve /a/b/foo Consumer or forward request Request /a/b/foo Router Network Publish+Serve /a/b/foo Producer /a/b ACM ICN 2016 3 Names in the Network ROUTER CS FIB PIT (1) Exact name (2) Exact name (3) Prefix in FIB? in CS? in PIT? ACM ICN 2016 4 2
9/27/16 Dual Roles for Names • Applications use names to meaningfully express and identify content – Human readability is nice! • Network entities (routers) use names as sequences of binary strings – A router doesn’t care about readability or arbitrarily long components Q: Why is the same representation used at both layers & in both contexts? ACM ICN 2016 5 Outline • CCN Network Names • Name Translation and Its Implications • Translation Analysis • Related & Future Work ACM ICN 2016 6 3
9/27/16 CCN Network Names Cryptographic Hash Func&on? Goal: translate application Translation should: names into a format that: • Facilitates standard be a bijec&on or network processing (exact very close to one match and LPM searches) map arbitrarily long strings • Removes arbitrarily long to fixed-length output names from the network • Removes all location- only apply to loca&on- specific parts of a name . irrelevant information from the name (as seen by routers) ACM ICN 2016 7 Name Translation Example /a/b/foo /version=0x00/chunk=0x01/PID=0x02 payload: <bar> ApplicaTon-specific components not Contained in FIBs T T_NAME locator components Unique Name possibly contained in FIBs Fingerprint /H(a)/H(a,b)/H(a,b,foo) /version=0x00/chunk=0x01/PID=0x02/N P =0xFF payload: <bar> N P =H’( /a/b/foo /version=0x00/chunk=0x01/PID=0x02) ACM ICN 2016 8 4
9/27/16 Name Encoding 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +---------------+---------------+---------------+---------------+ | T_NAME | Length | Compressed +---------------+---------------+---------------+---------------+ | T_MAPPED_SHA256/32 | Length | +---------------+---------------+---------------+---------------+ | H(a), H(a, b), H(a, b, foo) | +---------------+---------------+---------------+---------------+ | T_N P | 32 (silly example) | +---------------+---------------+---------------+---------------+ / < name fingerprint = 0xFF > / +---------------+---------------+---------------+---------------+ | T_VERSION | 0x01 | Unmodified +---------------+---------------+---------------+---------------+ | 0x00 | T_CHUNK | +---------------+---------------+---------------+---------------+ | 0x01 | 0x01 | +---------------+---------------+---------------+---------------+ | T_PID | 0x01 | +---------------+---------------+---------------+---------------+ | 0x02 | +---------------+---------------+ ACM ICN 2016 9 Application Processing • Consumer: – Maps application names to network names for outgoing interests – Inverts mapping for incoming content • Producer: – Pre-computes network names for all its locator prefixes • Stores in “inversion table” – Looks up content corresponding to incoming interests based on this inversion table – Signed content objects contain N p • might also carry app name ACM ICN 2016 10 5
9/27/16 Current Network Processing Interest pkt (1) decode_pkt hdr name (optional fields) (2) decode_name CS (3) compute_hash x n PIT (4) HT_lookup x (2+n) FIB FIB FIB We obviate the need to hash in order to perform: FIB, CS and PIT lookups ACM ICN 2016 11 Processing Summary En&ty: Impact: Consumer Increased online processing Producer Increased offline computaTon & storage of inversion table Faster FIB lookup with pre-computed name-prefix hashes Router Faster PIT and CS lookups with N P (Poten&al) benefits due to fixed-size N P ACM ICN 2016 12 6
9/27/16 Analysis Setup Questions: • How big should a hash digest be? – What is the impact on packet sizes? – What are the resulting collision properties? • What’s consumer processing overhead? Unibas URI data set: http://www.icn-names.net/ ACM ICN 2016 13 Name Properties ACM ICN 2016 14 7
9/27/16 Name Properties ACM ICN 2016 15 Name Size Impact (for interests) RaTo of “network name” to “standard name” as size of T()/H() grows ACM ICN 2016 16 8
9/27/16 N p Size Overhead (for Content) ACM ICN 2016 17 Collision Assessment (32-bit hash) ACM ICN 2016 18 9
9/27/16 Processing Overhead (consumer) Per-name costs (µs): • Average: 1,029.279 ( ≈ 1ms) • Minimum: 3.812 Experimental seOng: • Intel 2.8 GHz Core i7 • Maximum: 2,474.567 • Un-opTmized implementaTon based on PARC Libparc libraries à Reasonable compared to network I/O Ideal seOng: • Use Intel intrinsics for hashing (~9 c/b) Throughput (c/b): • Work on wire-encoded packets • Average: 1,577.688 • Minimum: 1,218.037 • Maximum: 3,494.538 ACM ICN 2016 19 Wrap-up • Motivated separating CCN application and network names • A concrete mechanism for name translation function • Assessed quality of name translation function and performance implications for all CCN entities ACM ICN 2016 20 10
9/27/16 Related Work* q CCN names q Requirements [Ghodsi et al., ICN’11] q Location-agnostic names [Van Adrichem et al., Nomen’13] q Focus on FIB algorithm improvements q FIB algorithm modifications based on tries, hash tables, Bloom Filters, etc. [Quan et al., Networking’13], [Perino et al., ANCS’14], [So et al., ANCS’13], [Fukushima et al., Nomen’13] q Several rely on lexicographical name ordering q Our scheme breaks this! q Hop-by-hop optimizations, e.g., passing length of previously matched name in FIB … but not on FIB inputs *See paper for references ACM ICN 2016 21 Future Work • Compare performance of current FIB techniques with and without network names • Play with various hash functions & sizes • Explore further uses for translation function T() ACM ICN 2016 22 11
9/27/16 /this/is/the/end/ version=0x00/chunk=0x01/PID=0x02 23 ACM ICN 2016 12
Recommend
More recommend