CCNxTomcat: An extended web server for Content-Centric Networking
Abstract
TCP/IP networks are the backbone of the Internet today, and browser/server is the mainstream web architecture on it. Recently, Content-Centric Networking (CCN) has emerged as a clean-slate future network architecture, with totally different protocols than a host-based TCP/IP network. However, current web servers are mainly designed for HTTP over a TCP/IP network and can not directly support CCN-based web applications. Therefore, how to effectively support the dominant browser-based web applications is a key to the success of CCN. Instead of providing a transitional HTTP/CCN transforming gateway or proxy, we design and develop the first practical CCN-enabled web server (called CCNxTomcat) based on open source Apache Tomcat and the CCNx library to natively support CCN-based web applications. The CCN functions are integrated into the web server for content distribution by seamlessly coordinating with the underlying CCN network. To support legacy applications and a smooth evolution from an IP network to CCN, CCNxTomcat also supports the HTTP protocol besides the CCN. Experimental results show that CCNxTomcat outperforms the existing HTTP/CCN proxy implementations by 58% in a single request, and by a factor of three in 1000 concurrent requests, in terms of throughput. Furthermore, we design and implement a novel cache (called ccncache) for the Servlet response, performing name lookups for Content Packets with a high efficiency. The results indicate that ccncache is 2.5 times faster than the existing CCNx Content Store, with only 30% additional memory consumption. In addition, a real CCN-based web application is deployed on a CCN experimental network, which validates the applicability of CCNxTomcat.