Information-centric networking: Concepts for a future Internet David D. Clark, Karen Sollins MIT CFP November, 2012 Background • Both the NSF and the EC have funded a number of projects to look at architectures for a future Internet. – What might the Internet of 15 years from now look like? • Various of the proposals are motivated by different visions of the future: – Mobility, cloud, etc. – Information-centric networks (ICN) is one such theme. The general idea • Today, the Internet hooks computers together. – But computers are just a low-level platform for higher level services and objects. – Why not design the network to connect to services and objects, rather than machines? – Better align mechanism with application-level goals. Mechanically… • In ICN designs, the network knows about these higher-level objects. – There are names for these objects that are visible at the network layer. – These names can drive packet forwarding and other network-level services. The benefit? • In general, the objective is more efficient delivery of content, in particular high-volume popular content. – Today, the network layer computes routes among machines. – CDNs pick the source cache from which to deliver content. – These two mechanisms are not well coupled. – Can ICNs solve this problem? – When lots of people want the same content, can the network help with efficient delivery? • (Specific proposals have other objectives.) Very different approaches • • • • Explicit vs. implicit positioning of content. Security model. Privacy model. Relation to CDNs and higher-level services. Named data networking • NDN: – Data is broken into packets, each of which have a name. – To fetch data, send an interest packet, with the name of the desired data packet. – Every router in the network can cache data packets. – A strategy layer tries to forward the interest in a useful direction toward the data. Publish/subscribe for Internet • PSIRP: – Producer of content picks a set of machines to host the content. (A scope.) – Scopes are recursively named, and have explicit addresses. – A subscribe (similar function to an interest) is explicitly forwarded to the scope, which picks a source machine for the transfer.