Erweiterte Dienste des Com-Servers
11.6 Inventarisierung per UDP
Besonders bei gößeren Installationen besteht häufig die Anforderung, aktuell im Netzwerk
befindliche Com-Server zu inventarisieren. Zu diesem Zweck steht der UDP-Port 8512 zur
Verfügung. Nach Empfang eines an diesen Port gerichteten Netzwerkpaketes antwortet der
Com-Server dem jeweiligen Absender mit einem Infopaket. Diesem entnehmen Sie neben
den netzwerkrelevanten Basisparametern u.a. auch den aktuellen Verbindungsstatus.
Ob ein Paket per Broadcast oder direkt adressiert vom Com-Server empfangen wurde, spielt für
die Generierung der Infostruktur keinen Rolle. Entscheidend ist lediglich die UDP-Port Nr. 8512.
11.6.1 Das Infopaket
Jedes Infopaket besteht aus 2-5 Datenstrukturen. UDP_BOX_INFO enthält alle Com-Server
spezifischen Daten wie z.B. MAC- und IP-Adresse. Der 2.-5. Struktur PORT_DESCRIPT
kann die eingestellte Betriebsart bzw. der aktuelle Verbindungsstatus der einzelnen Schnitt-
stellen entnommen werden. Die Gesamlänge der beiden Strukturen ergibt sich wie folgt: Län-
ge: (22 + (port_anz × 10)) Bytes
typedef struct _UDP_BOX_INFO
{
unsigned char mac_addr[6];
unsigned long IP_number;
unsigned long gateway;
unsigned long subnet_mask;
unsigned int
unsigned int
PORT_DESCRIPT pd[port_anz];
} UDP_BOX_INFO;
typedef struct _PORT_DESCRIPT
{
unsigned int
unsigned int
unsigned long remote_IP;
unsigned int
} PORT_DESCRIPT;
MTU;
port_anz;
state;
// 0=FREE, 1=CONNECT, 3=WAITS
mode;
// 0x0001 = TCP Client
// 0x0002 = TELNET Client
// 0x0003 = FTP Client
// 0x0004 = Box 2 Box Client (aktiv)
// 0x0005 = UDP-Send/Receive Mode
// 0x0008 = Box 2 Box Server (passiv)
// 0x0010 = SLIP-Router
// 0x0020 = PPP-Router (in Vorbereitung)
// 0x0030 = Box2Box Bus System: SlaveBox
// 0x0040 = Box2Box Bus System: MasterBox
// wenn state==CONNECT, sonst 0
remote_port; // wenn state==CONNECT, sonst 0
// Parameter in Hostorder = Low byte first
// MAC-Adresse des Com-Servers
// IP-Adresse des Com-Servers
// Gateway
// Subnet Mask
// MTU
// Anzahl der Ports im Com-Server
W&T
w w w . w u t . d e
73