Network Protocol Engineering Group K. Klein (Ed.) draft-iptrack2-packet-00.txt Rackland e.V. Status: Historical March 2002 IPTrack Protocol, Version 2 Status of this Memo This document provides a description of the IPTrack Protocol, Version 2. It is not meant as a working item for further development. Distribution of this memo is unlimited. Abstract The IPTrack Protocol, Version 2, was developed as a means for Internet hosts to register their dynamically assigned Internet Protocol, Version 4 address with a different Internet host, which in turn would enter this information into the Domain Name System. Design goals were low communications overhead and authenticity. 1. Definitions 1.1 IPTrack Identity The IPTrack Identity is a handle by which an IPTrack entity is known to another. It is usually in the format of fully qualified domain name. 2. Protocol 2.1 IPTrack Packet Format This section defines the format of the IPTrack packet. The representation of all data items is explicitly specified. The basic block size is one byte (8 bits). The byte ordering for multi-byte numeric values is the commonplace network byte order, or big endian format. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Authentication Data | ~ (20 bytes) ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---- | Time Stamp | ^ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Command | RESERVED | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Source Address | |Auth. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Cover- | Destination Address | |age +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Payload Length | Payload Data (variable) | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ | | | v +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---- Note while the illustration might suggests it, the packet is NOT REQUIRED to end on a 4-byte boundary; in particular this may happen for zero-length Payload Data. Fields designated "RESERVED" are currently not used and MUST be set to contain the value 0. 2.2 IPTrack Field Descriptions 2.2.1 Authentication Data The Authentication Data field contains an Integrity Check Value computed over the IPTrack packet minus the Authentication Data, using the SHA-1 ([SHA-1]) hash algorithm keyed with a secret shared between the entities implementing this protocol. The length of the Authentication Data field is 20 bytes; its contents are the digest resulting from application of the SHA-1 algorithm on the authentication-covered fields of the packet. The contents of the Authentication Data field are computed as follows; in the description, SHA1 represents the SHA-1 hash algorithm, S represents the shared secret, and other names represent their respective packet data fields: Authentication_Data = SHA1(S || Time_Stamp || Command || RESERVED || Source_Address || Destination_Address || Payload_Length || Payload || S) 2.2.2 Time Stamp The Time Stamp field contains the sending entity's system time in seconds since 0 hours, 0 minutes, 0 seconds, January 1, 1970, Coordinated Universal Time. The Time Stamp field is a 32-bit unsigned integer. 2.2.3 Command The Command field identifies the purpose of the packet. It determines the contents of the Payload Data field. The Command field is a 16-bit unsigned integer. The Command field values and the corresponding Commands currently defined are: 1 Sign-On 2 Sign-Off 3 Alive 2.2.3.1 Sign-On The Sign-On Command means that the sending entity came on-line. The Payload Data field contains the sending entity's IPTrack identity, which is requested to be associated with the Source Address. 2.2.3.2 Sign-Off The Sign-Off Command means that the sending entity is about to go off-line. The Payload Data field contains the sending entity's IPTrack identity, which is requested to be disassociated with the Source Address. 2.2.3.3 Alive The Alive Command means that the sending entity is still alive. The Payload Data field contains the sending entity's IPTrack identity. 2.2.4 Source Address The Source Address field contains the sending entity's IPv4 address. 2.2.5 Destination Address The Destination Address field contains the IPv4 address of the entity the packet is destined for. 2.2.6 Payload Length The Payload Length field contains the length of the Payload Data field. The Payload Length field is a 16-bit unsigned integer. 2.2.7 Payload Data The Payload Data field contains arguments associated with the Command. The length of the Payload Data field is determined by the Payload Length field. 3. Protocol Operation TBD. 4. References [SHA-1] NIST, "FIPS PUB 180-1: Secure Hash Standard", April 1995. 5. Author's Address Klaus Klein klaus.klein@rackland.de