# Future of IoT Networks: A Survey
## Future IoT Network
### IoT Gateway
#### 5.6.2 Routing  
One of the important features of the IoT gateway is the routing algorithm, which includes not only the routing for the sub-network of the IoT gateway but also the routing for the affiliated core network. The routing for the internal network, which is the group of nodes in the same subnet, is based on a multi-hop network such as a sensor network [102; 103]. This method seems to be sufficient because IoT nodes are primarily composed of the sensors. Nonetheless, it is still a problem to apply in the IoT environment. First, the IoT environment assumes that many sensors or devices may have high mobility. Following this property, devices that belong to the user will probably be connected to the near network management object when the user is in transit. Especially, some types of devices, such as sensors, have a higher probability than the other devices to connect to the nearby network management object owing to limited battery resources. A physical network group may break when a device attempts to connect to the nearby network management object, and managing the network is impossible. Thus, to prevent devices from connecting to different physical groups, a routing algorithm for the nodes attached to the IoT gateway is needed.  
Regarding the routing issue within the core network, most of the existing routing algorithms are based on the target node's IP address because a sender transmits to a specific destination node in the existing network. However, targetless requests to acquire information and connection availability is increasing in the IoT environment, as we introduced in Section 4.2. There have already been some researches [104; 105; 106] to overcome this challenge. A solution of [PERSON] et al. uses workload-based indexing technique to provide bandwidth-efficiency. [PERSON] et al. [105] selects reliable communication links to node to reduce redundant communication traffic, and [PERSON] et al. [106] caches transient data in the routers to reduce the delay by data item lifetime. However, we propose a new following algorithm,  
Figure 5: Overview of the IoT gateway.  
which utilizes the ID of the things rather than IP address-based routing from the core network, and it can be an example of possible suggestion to overcome this challenge.  
Figure 6 presents this scenario when an ID-based routing algorithm is needed.  
We assume that device #1 needs some content, whose IDs are \(C\) and \(D\). Device #1 sends a request to IoT gateway #2 that it needs content \(C\) and \(D\). Gateway #2 then knows that device #2 has content \(C\), so it sends a message to device #2 to obtain content \(C\). However, it does not know the location of content \(D\). There are three solutions by which gateway #2 can act to obtain content \(D\).  
The first method is that gateway #2 performs N2N communication with IoT gateway #1; it may know that gateway #1 has content \(D\). Therefore, it sends a request to gateway #1 for content \(D\). However, this solution is unavailable when gateway #1 is too far from gateway #2 to perform N2N communication. Another method is that gateway #2 sends a request to a name resolution server that has numerous IDs and locations of content. Gateway #2 can obtain the information that gateway #1 knows the location of content \(D\). This solution is simple to realize, but the overhead of maintaining the server is high. The last idea is that gateway #2 performs ID-based routing to find the location of content \(D\). In this case, gateway #2 forwards the request packets to nearby networks. When gateway #1 receives the request packet, it replies with the messages and content to gateway #2 using a backward technique. This example is simple to directly embed in the core network, so many novel studies are needed for the content-based routing algorithm.