Alle Server-Klassen müssen vom UnicastRemoteObject erben, damit sie
über
RMI erreichbar sind. Genauso müssen sie eine Schnittstelle implementieren,
dessen Methoden von einem Client aufgerufen werden können.
Die Klasse AHServer ermittelt alle Hosts des Netzes (Methode getHosts()). Die Hosts werden aus dem NIS mittels dem Konstrukt
Process process= (Process)runshell.exec(new String("/usr/bin/ypcat hosts"))ausgelesen. Jeder Host kommt genau einmal in der HostList mit seinem Domain-Namen vor. Dabei wird der Domain-Name genommen, der mindestens einen Punkt enthält (z.B "hpheger8.nm.informatik.uni-muenchen.de"und nicht "hpheger8").
Die Klasse AIServer erweitert die HostList um die Interfaces zur HostInterfaceList. Dabei wird im Konstruktor AIServer() die Methode
AHServer.getHosts()aufgerufen, um die HostList zu erhalten. Die Informationen für die Interfaces wird aus der Management- Information-Base (mib-2) ausgelesen. Dabei wird die Klasse SNMPAccess verwendet, die von Theodororos Kotselidis ([Kot97]) mit Abstützung auf das Advent Java SNMP Package Version 1.0.2-Paket ([Adv]) im Rahmen seines Fopras implementiert wurde. Die verwendeten Object-Ids sind:
Die Klasse AIPRServer erweitert die HostInterfaceList
zur HostIPRoutingList. Im Konstruktor AIPRServer wird
die Methode AIServer.getInterfaces() aufgerufen, um die
HostInterfaceList zu erhalten.
Die benötigte Information für die IP-Routing-Tabelle wird wie vorher aus
der mib-2 ausgelesen.
Die verwendeten Object-Ids sind: