Enhancing HTTP Proxy Integration with CCNx Networks: An Experimental Approach
This document presents the motivations and methodologies for testing the integration of CCNx (Content-Centric Networking) with existing technologies through an experimental testbed. It outlines two primary tools: an HTTP Proxy that maintains unchanged client interactions while serving multiple clients simultaneously, and a Firefox add-on that ensures client participation in the CCNx network. The approach evaluates various protocols and applications, establishing a foundation for future improvements. Key issues such as mapping HTTP URLs to CCNx names and the efficient ingestion of objects into the CCNx network are also discussed.
Enhancing HTTP Proxy Integration with CCNx Networks: An Experimental Approach
E N D
Presentation Transcript
CCNx ProxyOverview Jairo Esteban Bell Labs – Service Infrastructure Department
Motivation • Testbed to evaluate integration with existing technologies • Hands-on experimenting with protocols, applications • Foundation to evaluate proposed improvements • Two tools • HTTP Proxy: HTTP clients remain unchanged. Several clients can be served simultaneously • Firefox add-on: Clients are aware of CCNx, and can participate in the network.
Overview Origin server Internet CCNx Node CCNX Network CCNx Node CCNx Node CCNx Node HTTP Proxy + CCNx (Muffin) Regular expressions define URLs Served by CCNx Network Browser
Content Stored in CCNx Network Origin server Internet 4 1 3 3 CCNx Node CCNX Network CCNx Node 2 3 CCNx Node CCNx Node HTTP Proxy + CCNx 1 Client Requests object e.g. http://www.cnn.com/.....jpg 2 URL matches filter (*jpg). Proxy sends an Interest to CCNx Node Browser CCNx Node either serves the object to the proxy or retrieves it from the CCNx Network 3 4 Proxy assembles HTTP response (headers) and replies to client
Content NOT Stored in CCNx Network 4 Origin server Internet 3 5 1 CCNx Node CCNX Network CCNx Node 6 CCNx Node CCNx Node HTTP Proxy + CCNx 1 Client Requests object e.g. http://www.cnn.com/.....jpg 2 URL matches filter (*jpg). Proxy sends an Interest to CCNx Node 3 Proxy waits for 10ms with no answer. Sends request to origin Browser 4 Origin Server Replies 5 Proxy forwards response to client 6 Proxy ingests object into CCNx network through its CCNx node
Implementation Issues • Mapping between HTTP URL and CCNx name • Selecting the appropriate CCNx abstraction to store objects • Ingestion is cumbersome, especially for large objects. Required a “hack”: Proxy expressed interest for every chunk in anticipation of adding the object • Current implementation requires to download the entire object before serving it
Open Issues • Pipelining of large objects (e.g. videos) • Establishing appropriate timeout value/feedback from CCNx for non-existing objects • Metadata – HTTP headers • HTTP compliance (e.g. Caching directives, Object expiration) • URL parameters