delay tolerant networking
Active In SP
Joined: Dec 2009
29-12-2009, 02:23 PM
Delay Tolerant Networking.doc (Size: 1.1 MB / Downloads: 58)
Delay Tolerant Networking Slide.doc (Size: 286 KB / Downloads: 50)
Increasingly, network applications must communicate with counterparts across disparate networking environments characterized by significantly different sets of physical and operational constraints; wide variations in transmission latency are particularly troublesome. The proposed Interplanetary Internet (IPN), which must encompass both terrestrial and interplanetary links, is an extreme case. An architecture based on a protocol that can operate successfully and reliably in multiple disparate environments would simplify the development and deployment of such applications. The Internet protocols are ill suited for this purpose. They are, in general, poorly suited to operation on paths in which some of the links operate intermittently or over extremely long propagation delays. The principle problem is reliable transport, but the operations of the Internetâ„¢s routing protocols would also raise troubling issues.
It is this analysis that leads us to propose an architecture based on Internet-independent middleware: use exactly those protocols at all layers that are best suited to operation within each environment, but insert a new overlay network protocol between the applications and the locally optimized stacks. This new protocol layer, called the bundle layer, ties together the region-specific lower layers so that application programs can communicate across multiple regions.
The DTN architecture implements store-and-forward message switching.
A DTN is a network of regional networks, where a regional network is a network that is adapted to a particular communication region, wherein communication characteristics are relatively homogeneous. Thus, DTNs support interoperability of regional networks by accommodating long delays between and within regional networks, and by translating between regional communication characteristics.
The Internet has been a great success at interconnecting communication devices across the globe. It has done this by using a homogeneous set of communication protocols, called the TCP/IP protocol suite. All devices on the hundreds of thousands of subnets that make up the Internet use these protocols for routing data and insuring the reliability of message exchanges.
Connectivity on the Internet relies primarily on wired links, including the wired telephone network, although new wireless technologies such as short-range mobile and satellite links are beginning to appear. These links are continuously connected in end-to-end, low-delay paths between sources and destinations.They have low error rates and relatively symmetric bidirectional data rates.
Evolving Wireless Networks Outside the Internet
Communication outside of the Internetâ€where power-limited mobile wireless, satellite, and interplanetary communications are developingâ€is accomplished on independent networks, each supporting specialized communication requirements. These networks do not use Internet protocols and they are mutually incompatible â€each is good at passing messages within its network, but not able to exchange messages between networks. Each network is adapted to a particular communication region, in which communication characteristics are relatively homogeneous. The boundaries between regions are defined by such things as link delay, link connectivity, data-rate asymmetry, error rates, addressing and reliability mechanisms, quality-of-service provisions, and trust boundaries. Unlike the Internet, these wireless networks support long and variable delays, arbitrarily long periods of link disconnection, high error rates, and large bidirectional data-rate asymmetries.
Examples of wireless networks outside of the Internet include:
Â¢ Terrestrial civilian networks connecting mobile wireless devices, including personal communicators, intelligent highways, and remote Earth outposts.
Â¢ Wireless military battlefield networks connecting troops, aircraft, satellites, and sensors (on land or in water).
Â¢ Outer-space networks, such as the InterPlaNetary (IPN) Internet project and implimentation.
Spanning two network regions requires the intervention of an agent that can translate between incompatible networks characteristics and act as a buffer for mismatched network delays.
The Concept of a Delay-Tolerant Network (DTN)
A delay-tolerant network (DTN) is a network of regional networks. It is an overlay on top of regional networks, including the Internet.
DTNs support interoperability of regional networks by accommodating long delays between and within regional networks, and by translating between regional network communication characteristics. In providing these functions, DTNs accommodate the mobility and limited power of evolving wireless communication devices.
The wireless DTN technologies may be diverse, including not only radio frequency (RF) but also ultra-wide band (UWB), free-space optical, and acoustic (sonar or ultrasonic) technologies.
Todayâ„¢s Internetâ€Packet Switching
Communication on the Internet is based on packet switching. Packets are pieces of a complete block of user data (e.g., pieces of an email message or a web page) that travel independently from source to destination through a network of links connected by routers. The source, destination, and routers are collectively called nodes.Each packet that makes up a message can take a different path through the network. If one link is disconnected, packets take another link. Packets contain both application-program user data (the payload part) and a header (the control part). The header contains a destination address and other information that determines how the packet is switched from one router to another. The packets in a given message may arrive out of order, but the destinationâ„¢s transport mechanism reassembles them in correct order.
The usability of the Internet depends on some important assumptions:
Â¢ Continuous, Bidirectional End-to-End Path: A continuously available bidirectional connection between source and destination to support end-to-end interaction.
Â¢ Short Round-Trips: Small and relatively consistent network delay in sending data packets and receiving the corresponding acknowledgement packets.
Â¢ Symmetric Data Rates: Relatively consistent data rates in both directions between source and destination.
Â¢ Low Error Rates: Relatively little loss or corruption of data on each link.
Todayâ„¢s Internetâ€Protocol Layers
Messages are moved through the Internet by protocol layers, a set of functions performed by network nodes on data communicated between nodes. Hosts (computers or other communicating devices that are the sources or destinations of messages) usually implement at least five protocol layers, which perform the following functions:
Â¢ Application Layer: Generates or consumes user data (messages).
Â¢ Transport Layer: Source-to-destination (end-to-end) segmentation of messages into message pieces and reassembly into complete messages, with error control and flow control. On the Internet, the Transmission Control Protocol (TCP) is used.
Â¢ Network Layer: Source-to-destination routing of addressed message pieces through intermediate nodes, with fragmentation and reassembly if required. On the Internet, the Internet Protocol (IP) is used.
Â¢ Link Layer: Link-to-link transmission and reception of addressed message pieces, with error control. Common link-layer protocols include Ethernet for Local-Area Networks (LANs) and Point-to-Point Protocol (PPP) for dial-up modems or very high-speed links.
Â¢ Physical Layer: Link-to-link transmission and reception of bit streams. Common physical media include category 5 (cat5) cable, unshielded twisted pair (UTP) telephone cable, coaxial cable, fiber-optic cable, and RF.
Routersâ€in their function of forwarding data (shown below)â€implement only the lower three protocol layers. However, routers also implement the higher layers for routing-table maintenance and other management purposes.
The figure below shows the basic mechanism. Each hop on a path can use a different link-layer and physical-layer technology, but the IP protocol runs on all nodes and the TCP protocol runs only on source and destination end points. Several other Internet protocols and applications are also used to provide routing-path discovery, path selection, name resolution, and error recovery services.
The term packet is applied to the objects actually sent over the physical links of a network. They are often called IP packets because the IP protocolâ€the only protocol used by all nodes on the pathâ€is primarily responsible for directing them, node-by-node, from source to destination along their entire path.
Packets consist of a hierarchy of data-object encapsulations that are performed by the protocol layers. During transmission, higher-level data and its header are enclosed (encapsulated) in a lower-layer data object, which is given its own header. The headers are used by their respective protocol layers to control the processing of the encapsulated data. Successive headers are added at the source as user data moves down the layer structure (also called the protocol stack) from source application to physical layer. Headers are removed at the destination end as data moves up the layer structure to the destination application.
TCP breaks user data into pieces called segments. IP encapsulates the TCP segments into datagrams, and it may break the segments into pieces called fragments. The link-layer protocol encapsulates IP datagrams into frames. The physical layer then transmits and receives a sequence of frames as a continuous bit stream.
Todayâ„¢s Internetâ€Conversational Protocols
The TCP protocol is said to be conversational (interactive), because a complete one-way message involves many source-to-destination signaling round-trips:
Â¢ Set Up: A three-way Hello handshake.
Â¢ Segment Transfer and Acknowledgement: Each TCP segment (or a few segments) sent by the source is acknowledged by the destination.
Â¢ Take Down: A four-way Goodbye handshake.
The use of positive or negative acknowledgements to control retransmission of lost or corrupt segments is called an Automatic Repeat reQuest (ARQ) protocol.
Why a Delay-Tolerant Network (DTN)?
Many evolving and potential networks do not conform to the Internetâ„¢s
underlying assumptions. These networks are characterized by:
Â¢ Intermittent Connectivity: If there is no end-to-end path between source and destinationâ€called network partitioningâ€end-to-end communication using the TCP/IP protocols does not work. Other protocols are required.
Â¢ Long or Variable Delay: In addition to intermittent connectivity, long propagation delays between nodes and variable queuing delays at nodes contribute to end-to-end path delays that can defeat Internet protocols and applications that rely on quick return of acknowledgements or data.
Â¢ Asymmetric Data Rates: The Internet supports moderate asymmetries of bidirectional data rate for users with cable TV or asymmetric DSL access. But if asymmetries are large, they defeat conversational protocols.
Â¢ High Error Rates: Bit errors on links require correction (which requires more bits and more processing) or retransmission of the entire packet (which results in more network traffic). For a given link-error rate, fewer retransmissions are needed for hop-by-hop than for end-to-end retransmission (linear increase vs. exponential increase, per hop).
Store-And-Forward Message Switching
DTNs overcome the problems associated with intermittent connectivity, long or variable delay, asymmetric data rates, and high error rates by using store-and-forward message switching. This is an old method, used by pony-express and postal systems since ancient times. Whole messages (entire blocks of application-program user data)â€or pieces (fragments) of such messagesâ€are moved (forwarded) from a storage place on one node (switch intersection) to a storage place on another node, along a path that eventually reaches the destination.
Store-and-forwarding methods are also used in todayâ„¢s voicemail and email systems, although these systems are not one-way relays (as shown above) but rather star relays; both the source and destination independently contact a central storage device at the center of the links.
The storage places (such as hard disk) can hold messages indefinitely. They are called persistent storage, as opposed to very short-term storage provided by memory chips. Internet routers use memory chips to store (queue) incoming packets for a few milliseconds while they are waiting for their next-hop routing table lookup and an available outgoing router port.
DTN routers need persistent storage for their queues for one or more of the following reasons:
Â¢ A communication link to the next hop may not be available for a long time.
Â¢ One node in a communicating pair may send or receive data much faster or more reliably than the other node.
Â¢ A message, once transmitted, may need to be retransmitted if an error occurs at an upstream (toward the destination) node or link, or if an upstream node declines acceptance of a forwarded message.
By moving whole messages (or fragments thereof) in a single transfer, the message-switching technique provides network nodes with immediate knowledge of the size of messages, and therefore the requirements for intermediate storage space and retransmission bandwidth.
A growing number of communicating devices are in motion and/or operate on limited power. This is true in interplanetary space and is becoming much more common on Earth among mobile wireless communication devices.
When communicating nodes are in motion, links can be obstructed by intervening bodies. When nodes must conserve power or preserve secrecy, links are shut down. These events cause intermittent connectivity. When no path exists to connect a source with a destination, a network partition is said to occur.
On the Internet, intermittent connectivity causes loss of data. Packets that cannot be immediately forwarded are usually dropped (discarded), and TCP may retransmit them with slower retransmission timing. If packet-dropping is too severe, TCP eventually ends the session, which can cause applications to fail.
DTNs, by contrast, support communication between intermittently connected nodes by isolating delay with a store-and-forward technique.
Network nodes may need to communicate during opportunistic contacts, in which a sender and receiver make contact at an unscheduled time. Moving people, vehicles, aircraft, or satellites may make contact and exchange information when they happen to be within line-of-sight and close enough to communicate using their available (often limited) power.
All of us use opportunistic contacts for communication: when we happen, by chance, to meet certain people with whom we wish to talk, we talk. This same model can apply to electronic communication. For example, wireless Personal Digital Assistants (PDAs) can be designed and programmed to send or receive information when certain people carrying the PDAs come within communication range, or when a PDA is carried past a certain type of information kiosk.
In space, almost everything is in motion and speed-of-light delays are significant (tens of minutes within our solar system). If potentially communicating nodes move along predictable paths, they can predict or receive time schedules of their future positions and thereby arrange their future communication sessions.
Scheduled contacts may involve message-sending between nodes that are not in direct contact, as shown in the figure below. They may also involve storing information until it can be forwarded, or until the receiving application can catch up with the senderâ„¢s data rate.
Scheduled contacts require time-synchronization throughout the DTN.
The Bundle Layer
The DTN architecture implements store-and-forward message switching by overlaying a new protocol layerâ€called the bundle layerâ€on top of heterogeneous region-specific lower layers. The bundle layer ties together the region-specific lower layers so that application programs can communicate across multiple regions.
Bundles are also called messages (as in message-switched). The bundle layer stores and forwards entire bundles (or bundle fragments) between nodes. A single bundle-layer protocol is used across all networks (regions) that make up a DTN. By contrast, the layers below the bundle layer (the transport layer and below) are chosen for their appropriateness to the communication environment of each region.
The figure below illustrates the bundle overlay (top) and compares Internet protocol layers with DTN protocol layers (bottom).
Bundles and Bundle Encapsulation
Bundles consist of three things: (1) a source-applicationâ„¢s user data, (2) control information, provided by the source application for the destination application, describing how to process, store, dispose of, and otherwise handle the user data, and (3) a bundle header, inserted by the bundle layer.
Like application-program user data, bundles can be arbitrarily long.Bundles extend the hierarchy of data-object encapsulation performed by the Internet protocols. The example below shows how bundle-layer encapsulation works in the context of lower-layer TCP/IP protocols.
A bundle layer may break whole bundles (whole messages) into fragments just as an IP layer may break whole datagrams into fragments. If bundles are fragmented, the bundle layer at the final destination reassembles them.
A Non-Conversational Protocol
On intermittently connected links with long delays, conversational protocols such as TCP that involve many end-to-end round-trips may take impractical amounts of time or fail completely. For this reason, DTN bundle layers communicate between themselves using simple sessions with minimal or no round-trips. Any acknowledgement from the receiving node is optional, depending on the class of service selected .
The lower-layer protocols that support bundle-layer exchanges may, of course, be conversational like TCP. But on intermittently connected links with long delays,non-conversational or minimally-conversational lower-layer protocols can be implemented.
In a DTN, a node is an entity with a bundle layer. A node may be a host, router, or gateway (or some combination) acting as a source, destination, or forwarder of bundles:
Â¢ Hostâ€Sends and/or receives bundles, but does not forward them. A host can be a source or destination of a bundle transfer. The bundle layers of hosts that operate over long-delay links require persistent storage in which to queue bundles until outbound links are available. Hosts may optionally support custody transfers.
Â¢ Routerâ€Forwards bundles within a single DTN region and may optionally be a host. The bundle layers of routers that operate over long-delay links require persistent storage in which to queue bundles until outbound links are available. Routers may optionally support custody transfers.
Â¢ Gatewayâ€Forwards bundles between two or more DTN regions and may optionally be a host. The bundle layers of gateways must have persistent storage and support custody transfers. Gateways provide conversions between the lower-layer protocols of the regions they span.
Delay Isolation via Transport-Layer Termination
On the Internet, the TCP protocol provides end-to-end (source-to-destination) reliability by retransmitting any segment that is not acknowledged by the destination.The network, link, and physical layers provide other types of data-integrity services. In a DTN, the bundle layer relies on these lower-layer protocols to insure the reliability of communication.
However, DTN routers and gatewaysâ€nodes that can forward bundles within or between DTN regions, respectivelyâ€terminate transport protocols at the bundle layer. The bundle layers thus act as surrogates for end-to-end sources and destinations.
The side-effect is that conversational lower-layer protocols of low-delay regions are isolated at the bundle layer from long delays in other regions of the end-to-end path. The bundle layer alone supports end-to-end messaging. Bundles are typically delivered atomically, from one node to the next, independent of other bundles except for optional responses, although a bundle layer may break a single bundle into multiple bundle fragments.
DTNs support node-to-node retransmission of lost or corrupt data at both the transport layer and the bundle layer. However, because no single transport-layer protocol (the primary means of reliable transfer) operates end-to-end across a DTN, end-to-end reliability can only be implemented at the bundle layer.
The bundle layer supports node-to-node retransmission by means of custody transfers. Such transfers are arranged between the bundle layers of successive nodes, at the initial request of the source application.
When the current bundlelayer custodian sends a bundle to the next node, it requests a custody transfer and starts a time-to-acknowledge retransmission timer. If the next-hop bundle layer accepts custody, it returns an acknowledgment to the sender. If no acknowledgment is returned before the senderâ„¢s time-to-acknowledge expires, the sender retransmits the bundle. The value assigned to the time-to-acknowledge retransmission timer can either be distributed to nodes with routing information or computed locally, based on past experience transmitting to a particular node.
A bundle custodian must store a bundle until either (1) another node accepts custody, or (2) expiration of the bundleâ„¢s time-to-live, which is intended to be much longer than a custodianâ„¢s time-to-acknowledge. However, the time-to-acknowledge should be large enough to give the underlying transport protocols every opportunity to complete reliable transmission.
Custody transfers do not provide guaranteed end-to-end reliability. This can only be done if a source requests both custody transfer and return receipt.In that case, the source must retain a copy of the bundle until receiving a return receipt, and it will retransmit if it does not receive the return receipt.
Moving Points of Retransmission Forward
The bundle layer uses reliable transport-layer protocols together with custody transfers to move points of retransmission progressively forward toward the destination. The advance of retransmission points minimizes the number of potential retransmission hops, the consequent additional network load caused by retransmissions, and the total time to convey a bundle reliably to its destination. This benefits networks with either long delays or very lossy links. For paths containing many lossy links, retransmission requirements are much lower for hop-by-hop retransmission than for end-to-end retransmission (linear increase vs.exponential increase, with respect to hop count).
Internet vs. DTN Routing
On the Internet, the TCP and IP protocols are used throughout the network. TCP operates at the end points of a path, where it manages reliable end-to-end delivery of message segments. IP operates at all nodes on the path, where it routes message datagrams. Internet routers do not require a transport layer for routing, but they implement transport and application layers for routing-table maintenance and other management purposes.
In a DTN, the protocol stacks of all nodes include both bundle and transport layers. DTN gateways have the same double-stack layers as DTN routers, but gateways can run different lower-layer protocols (below the bundle layer) on each side of their double stack. This allows gateways to span two regions that use different lower-layer protocols.
Classes of Bundle Service
The bundle layer provides six classes of service (CoS) for a bundle:
Â¢ Custody Transfer: Delegation of retransmission responsibility to an accepting node, so that the sending node can recover its retransmission resources.
Â¢ The accepting node returns a custodial-acceptance acknowledgement to the previous custodian.
Â¢ Return Receipt: Confirmation to the source, or its reply-to entity, that the bundle has been received by the destination application.
Â¢ Custody-Transfer Notification: Notification to the source, or its reply-to entity, when a node accepts a custody transfer of the bundle.
Â¢ Bundle-Forwarding Notification: Notification to the source, or its reply-to entity, whenever the bundle is forwarded to another node.
Â¢ Priority of Delivery: Bulk, Normal, or Expedited.
Â¢ Authentication: The method (e.g., digital signature), if any, used to verify the senderâ„¢s identity and the integrity of the message.
A DTN is a network of networks, where each of the networks is a region in which communication characteristics are homogeneous. For example, a region can be the Earthâ„¢s Internet, a wireless personal digital assistant (PDA) network, a sensor network, a military tactical network, an intelligent highway, the surface of a planet, or a spacecraft.
Each region has a unique region ID which is knowable among all regions of the DTN and is part of each nodeâ„¢s name. DTN gateways have membership in two or more regions and are the only means of moving messages between regions.
Names and Addresses
Each DTN node has a two-part name, consisting of a region ID (or region name) and an entity ID (or entity name). Routing between regions is based only on regionIDs, which are bound to their corresponding addresses throughout the DTN. Routing within regions is based only on entity IDs, which are bound to their corresponding addresses only within that region. Thus, each region uses a different mapping of entity IDs to addresses, and no bandwidth is needed to copy name-address mappings between regions.
Gateways belong to two or more regions and move bundles between regions. Thus, gateways have multiple region IDs. Region IDs use the same name-space syntax as the Internetâ„¢s Domain Name System (DNS). An entity may be a host (a DTN node), an application instance, a protocol, a URL, a port (used to find the bundle service on a host) and potentially a token (used to find a particular application instance that is using the bundle service), or something else.
Most network security methods attempt to mutually authenticate user identities and the integrity of messages, but they do not attempt to authenticate the routers that forward information. In DTNs, forwarding nodes (routers and gateways) are also authenticated, and sender information is authenticated by forwarding nodes, so that network resources can be conserved by preventing the carriage of prohibited traffic at the earliest opportunity.
In public-key cryptography, for example, each user has a private and public key pair. A certificate is a file, digitally signed by a trusted Certificate Authority (CA), confirming the userâ„¢s identity and containing a confirmed copy of the userâ„¢s public key. In DTNâ„¢s, both users and forwarding nodes have key-pairs and certificates, and the certificates of users also indicate their class-of-service (CoS) rights. Senders can sign their bundles with their private key, producing a bundle-specific digital signature. The signature allows receiversâ€using the senderâ„¢s public keyâ€to confirm the authenticity of the sender (i.e., that it was they who actually sent the message), the integrity of message (i.e., that the message has not been tampered with), and the senderâ„¢s CoS rights.
Using public-key cryptography as an example, the security steps are:
1. The source sends its bundle, together with its bundle-specific signature, to an adjacent forwarding node. If that node does not already have a copy of the senders certificate, it obtains one from the sender or a CA.
2. The forwarding node that first receives the senderâ„¢s bundle (shown below as the Adjacent Router or Gateway) verifies the senderâ„¢s identity and CoS rights, using its stored copies of adjacent-user certificates and CA public keys (shown below as the User List). Then, the forwarding node replaces the senderâ„¢s signature with its own signature (shown below as Routerâ„¢s Signature) and forwards the information.
3. Each subsequent forwarding node verifies only the identity of the previous forwarding node, using its stored copies of adjacent-router certificates and CA public keys (shown below as Router List). Then, it replaces the prior nodeâ„¢s signature with its own signature and forwards the information.
The delay-tolerant network (DTN) architecture is a generalization of work originally conceived to support the InterPlanetary Internet (IPN). The primary goals of a DTN are interoperability across network environments, and reliability, capable of surviving hardware (network) and software (protocol) failures. By encompassing all this new capability in a single application-layer Bundling service, we are able to develop, debug and exercise this technology without impact on the lower layers of existing hosts and routers. Porting to different platforms is relatively easy, often little more than a matter of recompilation. As a result, we can fairly rapidly and inexpensively configure large and complex DTN networks for our research.
In short, the simplicity of the current bundling architecture appears to have practical benefits as well as offer the prospect of easier expansion and extension.
(3) IEEE Communications Magazine, June 2003
Todayâ„¢s Internet ........................................................................Â¦....... 1
Evolving Wireless Networks Outside the Internet......................Â¦.......1
The Concept of a Delay-Tolerant Network (DTN) ................Â¦Â¦..Â¦.2
Todayâ„¢s Internetâ€Packet Switching ....................................Â¦Â¦Â¦.Â¦3
Todayâ„¢s Internetâ€Protocol Layers......................................Â¦Â¦Â¦Â¦..5
Todayâ„¢s Internetâ€Encapsulation ..........................................Â¦Â¦Â¦Â¦6
Todayâ„¢s Internetâ€Conversational Protocols.Â¦Â¦Â¦Â¦Â¦Â¦Â¦Â¦Â¦Â¦7
Why a Delay-Tolerant Network (DTN)? ...............................Â¦Â¦Â¦Â¦7
Store-And-Forward Message Switching ...............................................8
Intermittent Connectivity .......................................................................10
Opportunistic Contacts ......................................................................Â¦.11
Scheduled Contacts................... .........................Â¦..........................Â¦..11
The Bundle Layer ..............................................................................Â¦.11
Bundles and Bundle Encapsulation.........................................................13
A Non-Conversational Protocol ........................................................Â¦.13
Delay Isolation via Transport-Layer Termination ..............................Â¦15
Custody Transfers ..................................................................................16
Moving Points of Retransmission Forward .......................................... 17
Internet vs. DTN Routing ..................................................................... 18
Classes of Bundle Service.................................................................Â¦.19
DTN Regions ........................................................................................ 21
Names and Addresses ........................................................................... 21
I express my sincere gratitude to Dr. Agnisarman Namboodiri, Head of Department of Information Technology and Computer Science , for his guidance and support to shape this paper in a systematic way.
I am also greatly indebted to Mr. Saheer H. and
Ms. S.S. Deepa, Department of IT for their valuable suggestions in the preparation of the paper.
In addition I would like to thank all staff members of IT department and all my friends of S7 IT for their suggestions and constrictive criticism.