7. Formati dei messaggi agente di relay/server
7. Formati dei messaggi agente di relay/server
Gli agenti di relay scambiano messaggi con i server per inoltrare messaggi tra client e server che non sono connessi allo stesso link.
Tutti i valori nell'intestazione del messaggio e nelle opzioni sono in network byte order (ordine dei byte di rete).
Le opzioni sono memorizzate serialmente nel campo opzioni, senza riempimento (padding) tra le opzioni. Le opzioni sono allineate al byte ma non sono allineate in alcun altro modo, ad esempio su confini di 2 o 4 byte.
Esistono due messaggi dell'agente di relay, che condividono il seguente formato:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| msg-type | hop-count | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| |
| link-address |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| |
| peer-address |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
. .
. options (variable number and length) .... .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Le sezioni seguenti descrivono l'uso dell'intestazione del messaggio dell'agente di relay.
7.1. Messaggio Relay-forward
La tabella seguente definisce l'uso dei campi del messaggio in un messaggio Relay-forward.
- msg-type — RELAY-FORW
- hop-count — Numero di agenti di relay che hanno inoltrato questo messaggio.
- link-address — Un indirizzo globale o site-local che sarà usato dal server per identificare il link su cui si trova il client.
- peer-address — L'indirizzo del client o dell'agente di relay da cui è stato ricevuto il messaggio da inoltrare.
- options — DEVE includere una "Relay Message option" (si veda la sezione 22.10); PUÒ includere altre opzioni aggiunte dall'agente di relay.
7.2. Messaggio Relay-reply
La tabella seguente definisce l'uso dei campi del messaggio in un messaggio Relay-reply.
- msg-type — RELAY-REPL
- hop-count — Copiato dal messaggio Relay-forward
- link-address — Copiato dal messaggio Relay-forward
- peer-address — Copiato dal messaggio Relay-forward
- options — DEVE includere una "Relay Message option"; si veda la sezione 22.10; PUÒ includere altre opzioni