next up previous contents index
Next: Signieren der Artikel Up: Multicastsender, mcxmit Previous: Multicastsender, mcxmit

Paketformat der Artikeldaten

  

Nachfolgend wird das Datenformat der Pakete vorgestellt, die die Artikel transportieren sollen. Alle Einträge sind in Netzwerk Byteorder (s.u.).




[IMAGE ]



 Abbildung 26: Paketformat der Artikeldaten




Die Grundstruktur des Artikelpaketes ist in der Headerdatei _packet.h  in der C-Struktur struct mcpack zu finden.

Dadurch, daß die interne Darstellung von Zahlen sich auf verschiedenen Prozessorarchitekturen unterscheiden, Little-EndianBig-Endian Network Byte Order ist es notwendig die Zahlendarstellung vor dem Versand bzw. nach dem Erhalt der Daten zu wandeln. Im Internet   ist es Standard, Zahlen in der sog. Network Byte Order über das Netz zu transportieren. Network Byte Order entspricht dabei der Zahlendarstellung auf sog. Little-Endian Maschinen. Hierbei wird das niederwertige Byte eines Wortes oder Langwortes zuerst transportiert. Außerdem wird hierbei auch das niederwertigste Bit eines Bytes zuerst transportiert.




[IMAGE ]



 Abbildung 27: Darstellung eines 16-Bit Wortes bei Big- und Little- Endian Architekturen




Da die Reihenfolge der Bits innerhalb eines Bytes bei Big- und Little- Endian[*] unterschiedlich sind, muß hierauf in der internen Darstellung Rücksicht genommen werden, wie dies der folgend Ausschnitt aus der Struktur struct mcpack zeigt:


 
Abbildung 33:  Ausschnitt aus der Struktur mcpack
[IMAGE ]

Die Umwandlung der internen Zahlendarstellung von Worten und Langworten in die Netzwerkdarstellung erfolgt mittels der folgenden Befehle[*]:


  Worte Langworte
von Host an Netz htons() htonl()
von Netz an Host ntohs() ntohs()


Beispiele für Little-Endian Architekturen sind Intel x86 und Digital Vax; für Big-Endian sind dies Motorola 680x0, IBM AIX-Maschinen (RS6000 und PowerPC) und Sun Sparc.


next up previous contents index
Next: Signieren der Artikel Up: Multicastsender, mcxmit Previous: Multicastsender, mcxmit
Heiko W.Rupp
12/1/1997