# Context-Aware Trust and Reputation Routing Protocol for Opportunistic IoT Networks
## 1 Introduction  
The integration of short-range communication technologies like WiMAX and Bluetooth [1; 2] into portable devices has given rise to a complex network referred to as opportunistic networks (OppNets). In such networks, a fixed path from the source to the destination nodes is not guaranteed. Also, nodes can move freely, and connectivity is unpredictable. To deal with these uncertainties, the so-called store-carry-and-forward mechanism [3] is utilized for data packet transfer, meaning that when a node receives a data packet and no direct path to the destination is available, it holds it until another node is encountered that can carry the packet toward the destination node. These intermediate nodes (also called relay nodes) temporarily store and forward the data packets as they move through the network. Thus, in OppNets, packet forwarding is a cooperative process that depends upon the cooperation and reliability of the relay nodes. Furthermore, since mobile nodes are generally carried by humans, OppNets can take advantage of their social relationships and mobility to connect with them. However, it may happen that some of these nodes do not intentionally cooperate in the message-forwarding process or because of reasons, such as limited buffer and limited battery power. Therefore, one of the major challenges for any routing model in OppNet is to determine suitable and reliable nodes for efficient data forwarding.  
Additionally, from a human-centric perspective, analyzing the tight-coupled relationship between humans and the opportunistic connection of smart things has enabled the advent of Opportunistic IoT (OpploT) networks [4]. In an OpploT network, the mobility of nodes (i.e., devices carried by humans), along with their inbuilt capability of short-range sensing, are exploited for collecting, routing, and sharing data among human communities, yielding a harmonious interaction between the IoT and humans. In such interaction, some nodes may act erratically by disseminating a lot of insignificant messages or by refusing to forward them, ending by degrading the network performance. On the other hand, some nodes may just accept messages and would not forward them. It would be reasonable for these problematic nodes to be identified and denied participation in the data routing process.  
The primary assumption in most of the routing protocols for OpploT networks is that all the nodes cooperatively and securely carry forward the given message and eventually transmit it to the intended destination. However, in a real-world scenario, it has been observed that although there are several nodes that forward the messages to other nodes, there are some that may not forward the given message due to limited buffer and power. Consequently, the major challenges encountered in routing models for OpploT stem from the fact that (i) these models do not use a conventional network architecture; (ii) intermittent connectivity between the nodes often occurs at irregular times; and (iii) due to limited battery power, nodes may drain out their energy during the data transmission process, which might lead to severe network failure. In addition to these considerations, an effective security model that can be utilized to detect and isolate the potentially threatening nodes and prevent them from interfering with the packet transmission process is necessary.