Zuordnen einer ip-Adresse auf eine Tabelle von Subnetz-Masken... Was ist der beste Ansatz in Java?

Hier ist das Szenario... ich habe eine Tabelle der Subnetze. (siehe unten) ich habe eine ip-Adresse. Ich würde gerne erfahren, aus welchem Subnetz die ip-Adresse gehört, die auf Grundlage einer Suche in der Tabelle. Dieser Verein wird dann verwendet, um zu bestimmen, welche Position der Nutzer zu. Es ist ein privates Netzwerk den Raum, so dass die standard-internet-zu-Standort-lookups würde nicht gelten. Was wäre die beste Herangehensweise? Würde ich brauchen, um zu brechen die ip-Adresse in die numerische Teile und ein bitweiser Vergleich gegen alle Subnetze.. oder gibt es integrierte tools in der Java-API, die könnte mir das Leben erleichtern für den Vergleich der IP-Adresse Subnetz-Maske?

Ich bin hauptsächlich auf der Suche für die besten vergleichen Sie IP-Adresse, die zu einem gegebenen Subnet-Maske und die Bestimmung ja, das passt, oder nicht es nicht.. Optional. Irgendwelche Tipps, um die Liste zu speichern und suchen Sie mit minimalen Operationen würde werden geschätzt auch.

Idealerweise würde ich etwas tun, ähnlich wie diese:

List subnetInfo = null;

subnetInfo = findSubnet('192.168.0.1');  //value null if nothing found

....

//return null if nothing found
List findSubnet(String ipaddress) {
   List subnetDetails = null;
   .... code here ...
   return subnetDetails;
}

Tabelle 1: Beispiel für eine Liste der Subnetze

dk-ballerup-gen-off-v411        10.172.80.0/21  NANR-denmark-ballerup-metallbuen66-ground-first-floors-incl-dhcp-(sr14585203)
ae-dubai-ofssl-gen-off-v410  10.172.88.0/24  NANR-arab-emirates-ofssl-iflex-general-office-v410-(sr12781477)
ru-stpetersburg-gen-off-v411    10.172.89.0/24  NANR-russia-stpetersburg-general-office-incl-dhcp (bsteinba)
InformationsquelleAutor Boolean | 2010-02-16
Schreibe einen Kommentar