## 4 Outbound-Type Bundle Protocol  
RFC (Request for Comments) 5050 [14] proposes a bundle layer as a practical implementation model for store-carry forwarding in a DTN. As shown in Figure 8, the bundle layer is situated between the transport layer and the application layer in the existing network layer model. The bundle layer provides the relaying function. Communication in the transport or lower layer is terminated at each relay node. The bundle layer is independent of the differences in the transport and lower layers and, thus, allows a variety of terminals to be incorporated into the network.  
Although RFC 5050 describes the use of the bundle protocol, which is the core element in a DTN, for exchange of bundles between adjacent nodes, it declares that it does not explicitly specify the routing algorithm. The traveling route information-based routing follows this approach and adopts an outbound-type protocol. It divides the bundle layer into a control protocol part and a bundle relay  
Figure 8: DTN protocol stack. Note: T; Transport, N; Network.  
Figure 7: Routing example.  
protocol part, as shown in Figure 9, in order to implement the functions stated in Section 3.3 efficiently. The control protocol part communicates with adjacent nodes using UDP (User Datagram Protocol). It exchanges control messages with adjacent nodes and instructs the bundle relay part to relay or delete a bundle. The bundle relay protocol part communicates with adjacent nodes using TCP (Transmission Control Protocol). It establishes TCP connections with adjacent nodes, receives bundles and sends, relays or deletes bundles at the instruction of the control protocol part.  
The only difference between the traveling node and the storage point is that the former has a covered area and moves, while the latter does not have a covered area and stands still. Therefore, we do not clearly distinguish between the two and treat both as relay nodes. The control protocol part of a relay node manages any additions of covered areas and exchanges information about covered areas with adjacent relay nodes. In other words, information about covered areas is shared by relay nodes through relaying of this information in multiple hops. It is managed semi-locally. A group of covered areas thus linked to each other constitutes a network area within which bundles can be successfully relayed. Specifically, before sending node \(S\) sends a bundle to relay node \(n\), relay node \(n\) uses its control protocol part to check whether the destination area of the bundle overlaps with any of the covered areas whose information relay node \(n\) has.  
One of the control messages exchanged by control protocol parts is a hello message. This message is periodically broadcast to enable the node concerned to detect the presence of adjacent nodes. If the sender is a normal node, including a receiving node, the hello message contains GPS (Global Positioning System)-based location information. When a relay node has received a hello message from a normal node, it checks whether the location in the location information in the message is included in the destination areas of the bundles it holds. If the normal node is within the destination area of one of these bundles, the relay node asks the normal node using a control message if it owns that bundle. If the normal node does not own the bundle, the relay node relays the bundle to it.