# Transparent CoAP Services to IoT Endpoints through ICN Operator Networks +
## 4 Design and Implementation
### Response Processing
The Leaf nodes includes stm32 nucleo-f401 with 802.3 at provided by ELL-i cooperative ([[https://ell-i.org/](https://ell-i.org/)]([https://ell-i.org/](https://ell-i.org/))). The operating system of the Leaf node is RIOT-OS. The IoT testbed consists of sensors, such as temperature and humidity sensor, luminosity sensor, motion sensor etc., that are attached to the Leaf nodes. The POINT testbed connects all partners of the POINT project throughout Europe using OpenVPN. The POINT overlay testbed is based on Blackadder ICN platform. We also test our solution in Mininet ([[http://mininet.org/](http://mininet.org/)]([http://mininet.org/](http://mininet.org/))) environment to demonstrate the applicability of the CoAP Handler in the network. In this experiment, we considered a three-floor building with two wings as shown in Figure 5. In our laptop we emulated a POINT network with 6 NAPs (one for each \"building area\") using mininet. Each NAP was implemented as a virtual host; the network interface of each such host was bridged with a real network interface so as to be able to transmit data to the real world. Through PoE-enabled switches, each NAP will be connected to a number of nucleo-boards (1 or 2). These boards were using the RIOT operating system and the gcoap library to implement simple CoAP servers that accept requests over IPv6. A CoAP client implemented in our laptop using the Californium CoAP library controls actuators (LEDs and fans) attached to the nucleo boards (Figure 6) and receives observe notifications. The audience is able to interact with the CoAP client through a GUI. The experiment shows that our solution requires no special configuration in the Things' side. A NAP can easily be configured with a new group name. Figure 4: A simple IoT test network. Figure 5: Experiment setup. Figure 6: Image of a nucleon-f401 board with an extension shield that is used in our experiment. The experiment has used the following equipment:

* A laptop that emulates the POINT network using Mininet and POINT's prototype
* One USB hub where USB Ethernet adapters are attached
* Three Power over Ethernet (PoE) switches, one for each floor of the building
* Ten nucleo-f401 boards with LEDs and fans, powered over Ethernet
* One VLAN per floor. The implementation details can be found in the following URL: [[https://github.com/point-h2020/point-3.0.0/tree/master/apps/coap](https://github.com/point-h2020/point-3.0.0/tree/master/apps/coap)]([https://github.com/point-h2020/point-3.0.0/tree/master/apps/coap](https://github.com/point-h2020/point-3.0.0/tree/master/apps/coap)). ### Results and Discussion

In this section, we explain how CoAP Handler provides transparent CoAP services to IoT devices through an ICN core network. In addition, we demonstrate how ICN can benefit CoAP and its extensions, shifting both overhead and complexity from the CoAP endpoints to the ICN network. ### Group Communication

The POINT leverages its information-centrism and inherent support for multicast to provide seamless group communication among the CoAP endpoints. In particular, it takes advantage of the PSI's name structure in order to organise group \"attributes\"; then it assigns values to these attributes to construct group names, and maps these names onto the appropriate PSI scopes. Our system architecture enables a request to be made to a group of CoAP servers that implement the standard version of the CoAP protocol (i.e., they do not need to support RFC 7390). As a result, the CoAP servers do not have to implement IP multicast. Moreover, there is no need for modifications to the DNS. CoAP servers are oblivious to group names, since names are handled by the NAPs. Thus, the ICN core makes group name administration easier: new attributes can be easily added to the namespace without affecting already deployed NAPs. Moreover, group names do not have to be mapped a priori to a lower layer network address. In order to illustrate this concept, we consider the case of a building management system (depicted in Figure 5).