Routable AUN

From BeebWiki
Revision as of 17:08, 12 August 2009 by Pb (talk) (Registration reject (opcode &04))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Proposed protocol for wide-area-routable AUN:

All traffic is sent to UDP port &4155 (16725) (or alternative ports as locally configured). The first byte of the payload is an opcode type, as follows:

AUN packet (opcode &00)

+---------------------------+
| WAN header:               |
|  Opcode (&00)             |
|  Padding (&00)            |
|  Dest station             |
|  Dest net                 |
|  Source station           |
|  Source net               |
| ------------------------- |
| AUN packet:               |
|  Transaction type         |
|  Port                     |
|  Control byte             |
|  Status                   |
|  Sequence (32 bits)       |
|  ------------------------ |
|  AUN payload              |
+---------------------------+

See Econet_over_IP for full details of the AUN packet format.

Registration (opcode &01)

+----------------------------+
| WAN header:                |
|  Opcode (&01)              |
|  Padding (&00)             |
|  ------------------------- |
| Payload:                   |
|  Auth Type (16 bits)       |
|  Auth Data (128 bits)      |
|  Net number                |
|  Station number            |
|  Net number                |
|  Station number            |
|  ...                       |
+----------------------------+

The payload of a registration packet consists of a authentication data followed by a list of (net,station) numbers that are reachable through the local gateway. A station number of zero means all stations on the specified network. A station number of 255 is illegal.

Authentication types:

00 - no authentication

01 - plaintext password

02 - TEA-encrypted response to previous challenge (see opcode &04 below)

Deregistration (opcode &02)

+---------------------------+
| WAN header:               |
|  Opcode (&02)             |
+---------------------------+

Registration accept (opcode &03)

+---------------------------+
| WAN header:               |
|  Opcode (&03)             |
+---------------------------+

Registration reject (opcode &04)

+---------------------------+
| WAN header:               |
|  Opcode (&04)             |
|  Reason code              |
|  ------------------------ |
|  Payload                  |
+---------------------------+

Reason codes:

01 = wrong credentials supplied

02 = station/network number collision

03 = TEA authentication handshake required (payload is 64-bit challenge token)

04 = authentication type not recognised