Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

CoAP over ICN

2016, 2016 8th IFIP International Conference on New Technologies, Mobility and Security (NTMS)

This is an electronic reprint of the original article. This reprint may differ from the original in pagination and typographic detail. Fotiou, Nikos; Islam, Hasan; Lagutin, Dmitrij; Hakala, Teemu; Polyzos, George C. CoAP over ICN Published in: 2016 8th IFIP International Conference on New Technologies, Mobility and Security (NTMS) DOI: 10.1109/NTMS.2016.7792438 Published: 01/01/2016 Document Version Peer reviewed version Please cite the original version: Fotiou, N., Islam, H., Lagutin, D., Hakala, T., & Polyzos, G. C. (2016). CoAP over ICN. In 2016 8th IFIP International Conference on New Technologies, Mobility and Security (NTMS) (pp. 1-4). IEEE. https://doi.org/10.1109/NTMS.2016.7792438 This material is protected by copyright and other intellectual property rights, and duplication or sale of all or part of any of the repository collections is not permitted, except that material may be duplicated by you for your research use or educational purposes in electronic or print form. You must obtain permission for any other use. Electronic or print copies may not be offered, whether for sale or otherwise to anyone who is not an authorised user. Powered by TCPDF (www.tcpdf.org) CoAP over ICN Nikos Fotiou1 , Hasan Islam2 , Dmitrij Lagutin2 , Teemu Hakala3 , George C. Polyzos1 1 Athens University of Economics and Business, 2 Aalto University, 3 ELL-i Abstract—The Constrained Application Protocol (CoAP) is a specialized Web transfer protocol for resource-oriented applications intended to run on constrained devices, typically part of the Internet of Things. In this paper we leverage Information-Centric Networking (ICN), deployed within the domain of a network provider that interconnects, in addition to other terminals, CoAP endpoints in order to provide enhanced CoAP services. We present various CoAP-specific communication scenarios and discuss how ICN can provide benefits to both network providers and CoAP applications, even though the latter are not aware of the existence of ICN. In particular, the use of ICN results in smaller state management complexity at CoAP endpoints, simpler implementation at CoAP endpoints, and less communication overhead in the network. facilitates CoAP services and components development. Moreover, we show that by leveraging the multicast nature of POINT an operator can achieve significant benefits in terms of communication overhead. The reminder of this paper is organized as follows. In Section II we describe the CoAP protocol, as well as, the information-centric POINT architecture. In Section III we illustrate CoAP over ICN reference architecture, alongside with the implementation details. Section III also highlights how ICN can benefit CoAP-based applications. In Section IV we present the CoAP-specific extensions to the POINT platform. Finally, Section V concludes our paper. I. I NTRODUCTION The Internet of Things (IoT) is expected to interconnect billions of (usually constrained) devices that will generate vast amounts of information. Significant efforts have been devoted into enabling smart devices to connect to the Internet, share information, and consume services. These efforts have resulted in a variety of network access technologies and higher layer protocols. On the other hand, core (inter-)networking technologies have not been adapted to this new paradigm, raising concerns about whether or not networks will be able to cope with the scale and the patterns of the traffic of the IoT. In order to assuage these concerns a number of researches have sprung up proposing Future Internet (FI) architectures. One such promising FI architecture is Information-Centric Networking (ICN). 1 ICN advocates implementing all (inter)networking functions around content (i.e., information) identifiers, rather than location identifies. This shift in focus and techniques is expected to overcome various limitations of the current Internet [2]. However, such a shift requires not only the re-design of networking protocols, but also the modification of legacy Internet applications. Such radical changes at all network layers are an overwhelming barrier to the adoption of ICN. With this in mind, the POINT project [3] proposes a radical approach to ICN adoption: it postulates an individual ICN operator that uses network attachment points that translate legacy IP applications traffic to ICN, i.e., the endpoints are oblivious to ICN. In this paper, we explore how the Constrained Application Protocol (CoAP) can benefit from the POINT architecture, as well as, how a network operator that offers CoAP connectivity can benefit from ICN. By presenting some intriguing CoAP communication patterns, we show that information-centrism 1 A survey of ICN research and architectures that have been investigated, with some still being pursued and experimentally explored further, can be found in [1]. II. BACKGROUND A. CoAP CoAP [4] has been designed and developed to be a ’lightweight HTTP’ so that it can be suitable to operate in constrained IP networks. The CoAP interaction model is similar to the client/server model of HTTP: a CoAP client issues a request message to a server and if the CoAP server is able to serve the request, it responds to the requester with a response code and the payload. Unlike HTTP, CoAP requests and responses are exchanged asynchronously, on top of an unreliable datagram oriented transport protocol (e.g., UDP). A CoAP message may carry a Token which is used to correlate an asynchronous response with the corresponding request. The CoAP protocol also supports intermediaries and caching of responses. There are two different kinds of proxies: Forward-Proxy and Reverse-Proxy. A Forward-Proxy sends a request to the server on behalf of a client. For this, the Forward-Proxy needs to be configured to perform requests on behalf of the client. In contrast, a Reverse-Proxy is transparent to the client. The Reverse-Proxy behaves as if it were the origin server. CoAP includes support for the discovery of resources exploiting a separate entity called Resource Directory (RD) which stores the descriptions of resources. Moreover, CoAP supports group communication [5] based on IP multicast; CoAP groups and the membership of a group can be discovered via the lookup interfaces in the Resource Directory (RD). Finally, CoAP enables clients to observe a resource through a simple publish/subscribe mechanism [6]. With this, the server asynchronously pushes the notification of state changes of the resource for which the client is interested in and follows a best-effort approach to gurantee the eventual consistency of the observed state and the actual state of the resource. RD CoAP Client Network #1 CoAP Proxy NAP CoAP Handler CoAP Proxy CoAP Handler NAP CoAP Client Network #2 Fig. 2. Our reference architecture. On the right part there are Things offering resources. Each resource is specified by a color. On the left part there are CoAP clients. Fig. 1. The POINT architecture. B. The POINT architecture The POINT architecture interconnects IP endpoints using the Publish-Subscribe Internet (PSI) ICN architecture [7]. The PSI architecture is based on the publish-subscribe paradigm where users interested in receiving some content subscribe for it through their network device, referred to as the subscriber, and content owners store their content on a network device which advertises it and if requested publishes it (hence these devices are referred to as the publishers). Every content item is identified by a flat identifier known as the Rendezvous Identifier (RId). Moreover, every content item belongs to at least one scope. The purpose of a scope is to give a hint about content location and to group content items with the same dissemination level. Scopes are hierarchically organized and identified by a Scope Identifier (SId). Scopes are managed by specialized Rendezvous Nodes (RNs), which form an overlay Rendezvous Network. The rendezvous network provides a lookup service, which routes a subscription to a RN that “knows” (at least) one publisher for the requested item. A typical transaction in PSI involves the following steps. An owner of a content item assigns it a RId and stores a copy of it in at least one publisher that advertises its availability in one or more scopes. With this advertisement, the RId is stored in the RNs that manage these scopes. Subscribers send subscriptions for specific (SId,RId) pairs, which are routed by the rendezvous network to an appropriate RN. Upon receiving a subscription message and provided that at least one publisher exists, the RN instructs a Topology Manager to create a forwarding path from a publisher to the subscriber, which is included in the notification message to the publisher. Finally, the content item is transferred from the publisher to the subscriber. Instead of dictating a clean-slate end-to-end ICN architecture, which would be very challenging to deploy, POINT allows standard IP traffic to be run over an ICN core network in a more efficient way [3]. To achieve this, the POINT architecture (Figure 1) provides a number of handlers for existing IP-based protocols (e.g., HTTP, CoAP, basic IP) that map the underlying protocols onto appropriate named objects within the ICN core. Therefore existing applications can benefit from ICN’s features such as native multicase and caching. The potential benefits of the POINT architecture compared to IP-based ones are highlighted in more detail in [3]. Standard end-user devices are connected to the POINT architecture through network attachment points (NAPs) where protocols handlers are implemented. Inside the operator’s core network, the named objects generated by the protocol handlers are advertised, published and forwarded using standard ICN functions. When necessary, a named object is translated into the appropriate IP/HTTP/CoAP packet and it is transmitted back to the end-user device. III. C OAP OVER ICN In this section we discuss the design of our CoAP over ICN architecture, alongside the benefits our architecture can offer to CoAP. A. Design Figure 2 illustrates the design of our CoAP over ICN architecture. In the middle of the figure there is the POINT network that interconnects NAPs. In the core of the POINT network the PSI architecture has been deployed.In the right part of the figure there are networks of Things. Each Thing acts as a CoAP server offering a resource; the same (type of) resource can be offered by many Things located in different networks (e.g., there can be many sensors deployed in various parts of a city offering temperature measurements). Each network of Things is connected to the POINT network through a CoAP proxy implemented in a NAP. A CoAP Resource Directory (RD) hosts the descriptions of resources provided by the CoAP servers; CoAP servers have to register resources to the RD with standardized resource descriptions. NAPs learn available resource names by communicating with RDs and subscribe to the appropriate ICN identifier. This identifier is derived using the host-uri of the CoAP resource. In the left part of the figure there are CoAP clients. A CoAP client is also connected to the POINT network though a CoAP proxy implemented in a NAP. The fundamental component of our CoAP over ICN architecture is a CoAP handler which is part of the NAP. A CoAP handler receives CoAP requests from CoAP clients (over IP), translates them into ICN messages, and advertises them the to the ICN network. The identifier of these messages includes the host-uri of the CoAP resource, therefore they trigger the ICN rendezvous process, which eventually leads to the forwarding of these messages to the appropriate NAP(s). A NAP that receives an ICN message restores the original CoAP request and forwards it to an appropriate CoAP server. The CoAP server generates a response which is forwarded through the ICN network to the CoAP clients following the reverse process. Fig. 3. Coincidental multicast. Dotted lines are ICN messages transferred inside the ICN network B. Benefits of ICN to CoAP We now present some typical CoAP communication scenarios and we discuss the benefits of ICN underlay to CoAP. 1) Coincidental multicast: CoAP client may issue a request for a resource that is not yet available. In this case, the CoAP server will acknowledge the request and when the resource becomes available, it will send the appropriate response back to the client. The response should contain the same token as the request, so as the client to be able to correlate them. If multiple clients request a resource not yet available, the CoAP server should maintain state and could simultaneously respond to all these requests when the resource becomes available. A similar behavior occurs when the CoAP observe extension is used. Many CoAP clients may register their interest in a resource; when the state of a resource changes, the CoAP server could notify simultaneously all CoAP clients. In typical IP networks this communication pattern would result in multiple unicast transmissions from the CoAP server to the CoAP clients. In contrast, in POINT the impact to the network of this type of bursty traffic can be reduced by employing multicast. In order to achieve this, the POINT network instructs NAPs to use the same token for all these identical CoAP requests. NAPs are then responsible for modifying the token to the CoAP response in order to match this to the original CoAP request sent by the CoAP endpoint. Figure 3 shows an example of coincidental multicast. In this case a CoAP client has requested a resource, including Token“T1” in the request. NAP1 translates the CoAP request into an ICN message and forwards it to the network. NAP3 receives the ICN message, translates it into a CoAP request and forwards it to the appropriate CoAP server. We assume here that the resource is not yet available, therefore the CoAP server simply ACKs the request. The acknowledgment is eventually received by the CoAP client. After some time another CoAP client requests the same resource through NAP2. This client includes in his request another token, namely “T2”. Similarly to the previous message, NAP2 translates the CoAP request into an ICN message and sends it to the network. This time, when NAP3 receives this message, it will not contact the CoAP server, instead it will inform NAP2 to expect a response that will have in its payload the token “T1”. When the resource becomes ready, the CoAP server sends a single unicast CoAP message to NAP3. NAP3 translates it into an ICN message and sends it using multicast to NAP1 and NAP2.2 . Finally, NAP1 and NAP2 will transform the ICN messages into the appropriate CoAP responses, including the correct tokens. 2) One-to-many requests: CoAP group communication allows a CoAP client to send a request to a group of CoAP servers. A CoAP group name may have application specific semantics (e.g., sensors.west.building6 which translates to all sensors located in the west wing of building 6). In an IP network this functionality can be implemented by creating an IP multicast group per CoAP group and by modifying DNS to translate from CoAP group names to IP multicast addresses. Therefore, the steps required to send a CoAP group request are: (i) CoAP servers join a number of IP multicast groups, (ii) CoAP group name to IP multicast address records are added to the appropriate DNS servers, (iii), a CoAP client (or the forward proxy) that wants to send a CoAP request performs a DNS resolution and learns the IP multicast destination address for the request, (iv) a CoAP server that receives a request from a multicast group, examines if it offers the resource included in the request and decides whether or not to respond (based on the application context). It can be observed that group communication adds some overhead to CoAP endpoints: they have to support IP multicast, they have to maintain extra state, and they may receive redundant requests. On the contrary, relying on ICN, the POINT network can translate automatically a CoAP request to endpoint locations. Therefore, there is no need for DNS resolution and IP multicast support because ICN operations consider the complete request, not only the group name, and there are no redundant messages. The POINT network could also provide anycast requests, i.e., forward a request to the most “suitable” endpoint. The decision about which endpoint is suitable depends on various aspects e.g., CoAP client QoS requirements, chances for coincidental multicast, load balancing, etc. 2 How the multicast delivery tree is constructed is out of the scope of this paper. Interested readers are referred to [7] for how this can be achieved. IV. E VALUATION P LATFORM A. Evaluation criteria The preliminary evaluation includes how much benefits POINT platform offers to CoAP in terms of latency, state management, overhead in the network as compared to vanilla TCP/IP. The next phase of this work is to add a cross protocol proxy to the CoAP handler that will provide a mapping between CoAP and HTTP. The key objective of our evaluation is to evaluate the proposed architecture based on the hypothesis that running IP-over-ICN results in a better networking experience for the major stakeholders, compared to the traditional TCP/IP networking. B. Prelimenary evaluation Early indications show that the POINT architecture offers advantages to CoAP application developers, as well as, to operators. When POINT is used, a CoAP application does not have to deal with IP multicast. Moreover, no modifications to DNS are required. The POINT network transfers state overhead from the CoAP (constrained) endpoints to the network. In particular, in case of requests to not yet available resources, as well as, when the CoAP observe extension is used, the CoAP server receives a single request, since all other requests are suppressed by the NAPs. As far as the operator is concerned, CoAP and CoAP observe create many chances for multicast communication; the POINT network then takes advantage of this and uses multicast to handle bursts of traffic. C. Experimental evaluation environment To evaluate the performance of the CoAP over ICN solution, we have constructed an IoT testbed which is connected to the existing POINT testbed through a NAP. The POINT testbed connects all partners of the POINT project throughout Europe using OpenVPN. The POINT overlay testbed is based on Blackadder ICN platform, which has already demonstrated ICN performance at data rates up to 10 Gb/s [8]. The IoT testbed consists of sensors attached to single-board computers, such as Nucleo boards with ELL-i Ethernet NICs and the RIOT operating system [9], as well as Raspberry Pis. These single-board computers run a CoAP server. In addition to the actual sensors, we are planning to use a sensor traffic generator (STG).3 The STG is capable of emulating the traffic of various types of sensors, e.g., light and temperature sensors, GPS receivers, and cameras. V. C ONCLUSIONS AND F UTURE WORK CoAP functionality and principles are very close to those of ICN: asynchronous communication, persistent interests, and group communication, all are intriguing communication paradigms that are found in many ICN architectures. Therefore, using ICN to transport CoAP traffic seems a natural choice. The work presented in this paper is still in early stages. Yet, even from these first steps some advantages of ICN for CoAP and to CoAP providers are apparent. Future releases of 3 Source code available at https://github.com/vr000m/SensorTrafficGenerator the POINT platform will incorporate the CoAP functionality described in this paper. Moreover, it is in our immediate plans to seamlessly support CoAP over DTLS (see Section 9.1 RFC 7252). Some research issues may extend beyond the POINT project: what benefits would materialize if all the local networks the IoT devices attach to are ICN, or use ICN underlays? This would open up the possibility for dynamic roaming and automatic meshing to facilitate better failure resilience for critical traffic. Can the endpoints still use CoAP over IP, or do they need to be ICN aware? For more practical matters, using strong cryptography is a must for devices controlled over the Internet. The key distribution is always a problem and provisioning large numbers of devices will make that even harder to correctly set up Things. Therefore the need for human intervention should be minimized and bootstrapping trust by leveraging ICN specific security mechanisms (as for example in [10]) is an interesting future work direction. ACKNOWLEDGMENTS Many of the ideas presented in this paper stem from discussions among POINT consortium partners. The work presented in this paper was supported by the EU funded H2020 ICT project POINT, under contract 643990. R EFERENCES [1] G. Xylomenos, C. Ververidis, V. Siris, N. Fotiou, C. Tsilopoulos, X. Vasilakos, K. Katsaros, and G. Polyzos, “A Survey of InformationCentric Networking Research,” IEEE Communications Surveys Tutorials, vol. 16, no. 2, pp. 1024–1049, 2014. [2] D. Trossen, M. Sarela, and K. Sollins, “Arguments for an informationcentric internetworking architecture,” SIGCOMM Comput. Commun. Rev., vol. 40, no. 2, pp. 26–33, Apr. 2010. [3] D. Trossen, M. J. Reed, J. Riihijrvi, M. Georgiades, N. Fotiou, and G. Xylomenos, “IP over ICN - The better IP?” in European Conference on Networks and Communications (EuCNC),, June 2015, pp. 413–417. [4] Z. Shelby, K. Hartke, and C. Bormann, “The constrained application protocol (CoAP),” IETF, RFC 7252, 2014. [5] A. Rahman and E. Dijk, “Group communication for the constrained application protocol (CoAP),” IETF, RFC 7390, 2014. [6] K. Hartke, “Observing resources in the constrained application protocol (CoAP),” IETF, RFC 7641, 2015. [7] G. Xylomenos, X. Vasilakos, C. Tsilopoulos, V. A. Siris, and G. C. Polyzos, “Caching and mobility support in a publish-subscribe internet architecture,” IEEE Communications Magazine, vol. 50, no. 7, pp. 52– 58, July 2012. [8] J. Riihijärvi et al., “Final architecture validation and performance evaluation report,” EU FP7 PURSUIT Deliverable D, vol. 4, p. 5, 2012. [9] E. Baccelli, O. Hahm, M. Gunes, M. Wahlisch, and T. C. Schmidt, “Riot os: Towards an os for the internet of things,” in Computer Communications Workshops (INFOCOM WKSHPS), 2013 IEEE Conference on, April 2013, pp. 79–80. [10] G. C. Polyzos and N. Fotiou, “Building a reliable internet of things using information-centric networking,” Journal of Reliable Intelligent Environments, vol. 1, no. 1, pp. 47–58, 2015.