Timestamps and Time Synchronization
The DTN architecture depends on time synchronization among DTN nodes(supported by external, non-DTN protocols) for four primary purposes:
- bundle and fragment identification
- routing with scheduled or predicted contacts
- bundle expiration time computations
- application registration expiration
Bundle identification and expiration are supported by placing a creation timestamp and an explicit expiration field (expressed in seconds after the source timestamp) in each bundle. The origination timestamps on arriving bundles are made available to consuming applications in ADUs they receive by some system interface function.
Each set of bundles corresponding to an ADU is required to contain a timestamp unique to the sender’s EID. The EID, timestamp, and data offset/length information together uniquely identify a bundle.
Time is also used in conjunction with application registrations. When an application expresses its desire to receive ADUs destined for a particular EID, this registration is only maintained for a finite period of time, and may be specified by the application.
For multicast registrations, an application may also specify a time range or “interest interval” for its registration.