Route-Verbindungen 
Soll die Verbindung über SAProuter hergestellt werden, werden die Route-Informationen als erste Nachricht gesendet. Die Informationen enthalten Folgendes:
Eyecatcher
Version der Route-Informationen
NI-Version
Betriebsart
Route-Länge
Gesamtanzahl der Knoten auf der Route
Zeiger zum nächsten Hop auf der Route
Anzahl der restlichen Knoten
Route-String
Das Feld für den Route-String enthält die gesamte Route inklusive aller vorheriger Knoten. Hostname, Service/Port und das Kennwort sind in jedem Knoten enthalten. Sie werden durch Null-Werte getrennt. Die Werte für die Felder Service/Port und Kennwort können leere Strings sein. Als standardmäßige Port-Nummer wird der Wert 3299 verwendet.
In der Verbindungsphase wird der Route-String durch die NI-Schicht vom Eingabeformat in dieses interne Format konvertiert (siehe Route-Strings).
Die Datenstruktur der Nachricht ist folgendermaßen aufgebaut:
Offset |
Größe (Bytes) |
Beschreibung und Wert |
|---|---|---|
0x00 |
9 |
Eyecatcher ("NI_ROUTE\0") |
0x09 |
1 |
Version der Route-Informationen (aktuelle Version: 2) |
0x0a |
1 |
NI-Version (aktuelle Version: 36) |
0x0b |
1 |
Gesamtanzahl der Einträge (Wert 2 bis 255) |
0x0c |
1 |
Sprachmodus (NI_MSG_IO: 0; NI_RAW_IO; 1; NI_ROUT_IO: 2), siehe Kommunikationsmodi. |
0x0d |
2 |
momentan nicht verwendetes Feld |
0x0f |
1 |
Anzahl der restlichen Knoten (verbleibende Hops; Wert 2 bis 255) |
0x10 |
4 |
Route-Länge (Integer-Wert in Netto-Byte-Reihenfolge) |
0x14 |
4 |
Aktuelle Position als Offset in den Route-String (Integer-Wert in Netto-Byte-Reihenfolge) |
0x18 |
* |
Route-String in ASCII |
Achtung
Es handelt sich hierbei um ergänzende Informationen und nicht um eine Kundenschnittstelle. Erstellen Sie anhand dieser Informationen keine benutzerdefinierten Entwicklungen. Die Schnittstelle kann ohne vorherige Ankündigung geändert werden.
Das interne Format des Route-String sieht folgendermaßen aus (ASCII-Zeichen):
Syntax
<hostname node 1>\0<port node 1>\0<password node 1>\0<hostname node 2>\0 ...
wobei \0 für das Null-Zeichen steht.
Beispiel
Beispiel für eine Remote-Verbindung
localhost\03300\0test\0sapserv3.wdf.sap-ag.de\0\0\0147.204.100.35\0sapdp01\0\0
mit
Knoten 1: Hostname = localhost; Port = 3300; Kennwort = test
Knoten 2: Hostname = sapserv3.wdf.sap-ag.de; Port = 3299 (def.); Kennwort =
Knoten 3: Host-Adresse = 147.204.100.35; Servicename = sapdp01; Kennwort =
Nachdem SAProuter die Route-Informationen erhalten hat, wird die nächste Destination aus dem String extrahiert. Ist die Verbindung zu der nächsten Destination erfolgreich, wird dieselbe Route-Information mit einer erhöhten aktuellen Position und einer verringerten Anzahl an restlichen Knoten übertragen.
Der eigene Hostname im String wird durch die Adresse/den Hostnamen des vorherigen Knotens ersetzt. Dieser Mechanismus ermöglicht weiterhin das Extrahieren der gesamten Route durch folgende SAProuter. Zusätzlich wird dem Hostnamen durch neuere SAProuter ein führendes Leerzeichen hinzugefügt.