The functions of the Network Communication FC are to transmit a packet from
the Hop To Hop Communication FC to the Network Communication FC and
from the End To End Communication FC to the Network Communication FC.
The arguments for the packet transmission can be configured and examples of
arguments include: reliability, integrity, encryption, unicast/multicast addressing
and access control.
The Network Communication FC enables as well network protocol translation
where it allows translating between different network protocols. Examples would
be to translate IPv4 to IPv6 and ID to IPv4. Note that this function is necessary
to implement a Gateway.
In case a packet needs to be routed, the Network Communication FC allows
finding the next hop in a network. It also allows dealing with multiple network
interfaces. The function is not mandatory for all implementations of the Network
Communication FC. It is required only on devices with multiple network
interfaces.
Another function of the Network Communication FC is to resolve the locator-to-
ID where it allows getting a locator from a given ID. The resolution can be
internal based on a lookup table or external via a resolution framework.
Finally, the Network Communication FC can manage the packet queue and
setup the size and priorities of the input and output packet queues. This function
can be leveraged in order to achieve QoS.
The End To End Communication FC takes care of the whole end-to-end
communication abstraction, meaning that it takes care of reliable transfer,
transport and, translation functionalities, proxies/gateways support and of tuning
configuration parameters when the communication crosses different networking
environments.
The End To End Communication FC is responsible to transmit a message from
the Network Communication FC to the End To End Communication FC and
from (IoT) Service to the End To End Communication FC. The arguments for
the message can be configured and examples include: reliability, integrity,
encryption, access control and multiplexing.
A second function of the End To End Communication FC is to cache and proxy.
The Cache and Proxy function allows to buffer messages in the End To End
Communication FC.
Another function of the FC is to translate end-to-end protocol. The Translate
End To End Protocol function allows to translate between different End To End
Protocols. An example would be to translate HTTP/TCP to COAP/UDP. Note
that this function is necessary to implement a Gateway.
A last function of the FC is to pass the context of protocol translation between
gateways. The context could be related to addressing, methods specific for a
RESTful protocol, keying material and security credentials.