Aller au contenu principal

4. Byte Order, Alignment, and Time Format (Ordre des octets, alignement et format temporel)

Tous les champs entiers sont transportés dans l'ordre des octets réseau (network byte order), c'est-à-dire l'octet le plus significatif (most significant byte) en premier. Cet ordre d'octets est communément appelé gros-boutiste (big-endian). L'ordre de transmission est décrit en détail dans [3]. Sauf indication contraire, les constantes numériques sont en décimal (base 10).

Toutes les données d'en-tête sont alignées sur leur longueur naturelle, c'est-à-dire que les champs de 16 bits sont alignés sur des décalages pairs, les champs de 32 bits sont alignés sur des décalages divisibles par quatre, etc. Les octets désignés comme remplissage (padding) ont la valeur zéro.

Le temps horloge (wallclock time, date et heure absolues) est représenté en utilisant le format d'horodatage du protocole NTP (Network Time Protocol), qui est en secondes relatives à 0h UTC le 1er janvier 1900 [4]. L'horodatage NTP à résolution complète est un nombre à virgule fixe non signé de 64 bits, avec la partie entière dans les 32 premiers bits et la partie fractionnaire dans les 32 derniers bits. Dans certains champs où une représentation plus compacte est appropriée, seuls les 32 bits du milieu sont utilisés ; c'est-à-dire les 16 bits bas de la partie entière et les 16 bits hauts de la partie fractionnaire. Les 16 bits hauts de la partie entière doivent être déterminés indépendamment.

Une implémentation n'est pas tenue d'exécuter le protocole NTP pour utiliser RTP. D'autres sources de temps, ou aucune, peuvent être utilisées (voir la description du champ d'horodatage NTP à la section 6.4.1). Toutefois, l'exécution de NTP peut être utile pour synchroniser des flux transmis à partir d'hôtes séparés.

L'horodatage NTP reviendra à zéro à un moment de l'année 2036, mais aux fins de RTP, seules les différences entre des paires d'horodatages NTP sont utilisées. Tant que les paires d'horodatages peuvent être supposées être à moins de 68 ans l'une de l'autre, l'utilisation de l'arithmétique modulaire pour les soustractions et les comparaisons rend le retour à zéro sans importance.