## 4 Medium Access and Network Layer Protocols
### Network Layer Protocols
#### 4.2.2 Information-Carrying Routing Protocol  
The Information-Carrying Routing Protocol (ICRP) [22] is a routing protocol that operates by transmitting combined packets containing both service information and payload data. In this type of protocol, the service data required to establish a data delivery route are included as a part of a payload data packet. As a result, the routing and data transmission mechanism is energy-efficient and characterized by relatively short routing times. Importantly, ICRP is not dependent on the number of network participants or their relative locations, making it easily scalable for any arbitrary number of participants, regardless of spatial separation or mobility. Finally, the ICRP is a reactive protocol designed for scalable routing and reduced network load. The routing task is performed by a small number of nodes. The sender initiates the establishment of the path. If there is no set path containing the path detection packet, the sender must transmit the message in a broadcast. Nodes that receive this message must broadcast it and save the return route. When the destination node receives this message, it is possible to obtain the full return route. All routes have timeouts, and it is necessary for the route to be detected within a certain timeout. The ICRP assessment exposes several performance limitations. Because decisions rely on stored information, ICRP is inadequate for underwater networks where nodes are in constant motion. Another notable drawback is the necessity to broadcast packets when a node lacks a route to its destination, resulting in higher power consumption. The ICRP protocol's algorithm is provided in Appendix A (Algorithm A4). Each node continuously broadcasts its routing table to all neighboring nodes. Upon receiving this information from a neighbor, the node compares the received routing table with its own. The router then compares the routes in the resulting table with those in its routing table. If a new route has a better metric, it can replace the existing one. To optimize protocol operation, a generalized metric is used instead of a simple route metric, providing a more accurate characterization of the route. For routing stability, traffic can be distributed across multiple routes within a specified metric range, rather than relying solely on the lowest metric route. Based on the aforementioned metrics, a generalized \(P_{route}\) metric is calculated for each route, determining the best route. The following formula is used in this case:  
\[P_{route}=\left[\frac{K_{1}}{K_{2}}+K_{2}D_{c}\right]r,\]  
where \(K_{1}\) and \(K_{2}\) are constants; \(D_{c}\) is the delay time; and \(r\) is reliability (the percentage of information successfully transmitted to the next node). The constants represent the weighting factors for throughput and latency. In this scenario, the specific value of the weighting factor varies based on the type of information being transmitted across the network. For instance, interactive traffic requires lower latency, while file transfers benefit from greater bandwidth. Figure 9: The network topology. The route with the lowest generalized metric is the most preferred. If there are multiple routes to the same recipient, the router can transmit information along all of these routes (or some of them). The exact transfer process depends on the generalized metric of each route. For instance, if one route has a generalized metric of one and another has three, three times more data will be sent through the route with a generalized metric of one (in other words, this route will be used three times more frequently). However, only those routes whose generalized metrics fall within a certain range will be utilized. ICRP achieves energy efficiency and low latency data delivery. It transmits routing control packages via data packets, resulting in an energy-efficient mechanism with minimal end-to-end delivery delay. Unlike traditional approaches, protocol does not rely on information about node locations.