Papers /

Jacobson-CONEXT 2009

Reading

Outdoors

Games

Hobbies

LEGO

Food

Code

Events

Nook

sidebar

Jacobson-CONEXT 2009

Networking Named Content

Jacobson et al

content based addressing networking routing internet infrastructure

@conference{jacobson:conext-2009,
  title={Networking Named Content},
  author={Jacobson, V. and Smetters, D.K. and Thornton, J.D. and
          Plass, M.F. and Briggs, N.H. and Braynard, R.L.},
  booktitle={Proceedings of the 5th International Conference on
             Emerging Networking Experiments and Technologies},
  year={2009},
  organization={ACM}
}

Modern networking dominated by content distribution

  • Original use and design focused on connecting particular endpoints
  • Use now focused on retrieving content, design hasn't changed
  • "People value the Internet for what it contains, but communication is still in terms of where.

By more directly operating over content, can improve availability, security, and location-dependence.

Original IP design has many desirable qualities

  • Simplicity
  • Weak demands placed on layer 2
    • Stateless, unreliable, unordered, best-effort

CCN addresses content directly

  • Interest packets matched with Data packets/chunks via prefix matching on hierachical names
  • Content may not exist yet, Interest is thus subscribing to it, or it may be generated based on that interest
  • Names may be context dependent, e.g., /ThisRoom/projector
    • Doesn't discuss how that might be controlled; presumably strategy rules
  • Names include simple directives for relative addressing
    • E.g., leftmost right descendent of a given prefix
    • Used to refer to sequences of chunks, i.e., when the next name is unknown
  • Working on directives to explore namespace at higher level

Packets arrive on an interface, and a longest-match look up is performed on it

  • Three forwarding structures
    • Forwarding Information Base (FIB)
      • Stores list of outgoing interfaces, rather than a single next hop as in IP
    • Content Store (buffer memory)
      • Data is self-identifying and self-authenticating, so it's potentially of repeat use
      • Therefore stored as long as possible; LRU or LFU replacement rather than MRU
    • Pending Interest Table (PIT)
      • Track Interests forwarded upstream, creating reverse return trail
      • Erased as soon as they are used to forward a Data packet
      • Eventually time out
  • When an Interest is received, content Store match is preferred over PIT match, which is preferred over FIB match
    • Thus, if there's already a Data packet stored matching an Interest, it's forwarded
    • If there's already a exact-match Pending Interest, the source interface will be added to the list of subscribers for the PIT entry and the timers updated
    • Otherwise, if there's a prefix-matching FIB entry, then the Interest needs to be sent upstream to that data
      • The source interface is removed from the interface list of the FIB
      • Interest is forwarded to the remaining interfaces in the FIB list
      • Interest is added to the PIT
  • When Data packets arrive, they're matched similarly
    • If any Content Store entries exist it's a duplicate, so it is tossed
    • A PIT match consumes the Interest and is forwarded to all listed interfaces, excluding the source interface, and the Data is added to the Content Store
    • A FIB match means there are no interests, so it's discarded
  • Interests not answered in some amount of time should be retransmitted

Data can't loop, but Interests can

  • Random nonce is added so duplicates can be discarded

Data must return via reverse of same path as Interests

  • Different from IP, where paths may differ

Strategy and security layers to IP stack

  • Strategy layer controls forwarding of Interests
    • Can utilize multiple links to improve adaptability, performance
  • Security layers allows data packets to be self authenticating
    • This is required in order to reuse data packets, prevent trivial spoofing & capture
    • Effectively secures the whole routing infrastructure

Effectively implicitly implements several things

  • Network wide, self optimizing caching
  • DTN
  • Multicast
  • Content based addressing
  • Multi-homing and mobile nodes
  • Load balancing
  • Per-hop flow control, by at worst pairing one Interest to one Data
  • Fairly intuitive mechanisms for growing trust networks
  • Control/DoS prevention
    • Since returning Data packets are visible, node can determine if it's being bombed by valid Interests or not
    • Faking Interests are basically the only way to DoS the system

Questions

  • Effective/efficient forwarding strategies?
  • Use of broadcast link? I.e., how to determine facing?

Of note:

  • Bunch of useful related work linked here
Recent Changes (All) | Edit SideBar Page last modified on January 07, 2011, at 09:52 AM Edit Page | Page History