AirLAB Protokoll Version 0
Damit die verschiedenen Devices auch vernünftig miteinander plaudern können, muss ein Protokoll her.
Das Protokoll ist so simpel wie möglich: Zwei Bytes am Anfang eines jeden Datenpaketes stehen für Typ und Länge des Paketes. Der Pakettyp gibt (wer hätte das gedacht?) an, um welche Art von Paket es sich handelt. Das zweite byte gibt die Länge des Payloads an (in Bytes).
0x12 Ack
Empfangsbestätigung für ein Paket. Der übrige Payload ist die Sequenznummer.
0x13 Retransmission request
Anfrage, ein korruptes Paket nochmals zu senden.
0x14 Nameservice: Who has ...?
Dieses Paket dient zur Namensauflösung vollständiger ASCII Namen. Das erste Byte des Payloads gibt an, ob es sich um ein Antwort- oder Request Paket handelt: 0x00 == Request, 0x01 == Reply.
Der folgende Payload ist dann die Anfage, bzw. Antwort.
0x18 - Checksumme + Daten
Datenpaket mit Quell- und Zieladresse. Das letzte Byte des Payloads ist die XOR-Checksumme des gesamten Paketes (inkl. type- und len field.)
0x19 - Checksumme + Daten + Seqnum
Wie 0x18, jedoch mit zusätzlicher 8-Byte Sequenznummer.
0x1A - Checksumme + Daten + Seqnum - must-ACK
Wie 0x19, jedoch muss jedes Paket bestätigt werden.
0xE* - Experimentierecke
Diese Protokolltypen sind zum experimentieren gedacht.
0xF* - Reserviert
Reserviert für Erweiterungen oder für den Tag, an dem uns die Protokolltypen ausgehen.