Hallo Peter,
danke f�r die schnelle Antwort! Auf jeden Fall der richtige Weg.
Bin jetzt auf der Suche die Start und die Endadresse mit einer IP
und der Subnetmask zu ermitteln... wird aber kein Problem sein.
Danke, chris
Wen's interessiert ... IP in Long umwandeln:
Public Function IP2Long(ByVal DottedIP As String) As Object
Dim arr = Split(DottedIP, ".")
If UBound(arr) = 3 Then
For i As Byte = 1 To 4
If arr(i - 1) > 255 Or arr(i - 1) < 0 Then Return 0
IP2Long = ((arr(i - 1) Mod 256) * (256 ^ (4 - i))) + IP2Long
Next
End If
End Function
-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Auftrag von Peter Koen
Gesendet: Donnerstag, 17. M�rz 2005 00:11
An: [email protected]
Betreff: RE: [Asp.net] WG: Datenbank mit IP-Adressen... mit .NET
Hallo Christoph,
Eigentlich ganz einfach: Eine IP Adresse ist nichts anderes als ein 32 Bit
Wert (4x1 byte). D.h. speichere die IP Adressen als INT in der Datenbank,
knall den Clustered Index drauf und fertig. Das ist selbst bei mehreren
Millionen Rows verdammt schnell. Vorallem mu�t du ja nicht jede IP Adresse
abspeichern sondern nur Anfang und Ende der "Zonen" und machst dann einfach
ein WHERE INTIP>=START AND INTIP<=ENDE
Wenn das alles mit INTs aufgebaut ist l��t du das Problem innerhalb weniger
millisekunden pro Abfrage.
lG
Peter
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Christoph Cluss
> Sent: Donnerstag, 17. M�rz 2005 00:00
> To: x Asp. Net
> Subject: [Asp.net] WG: Datenbank mit IP-Adressen... mit .NET
>
> Hallo,
>
> ich soll auf einer Website ein Targeting nach IP Adresse einbauen.
> d.h: �ber die IP-Adresse soll die Region des Users gecheckt
> werden und dann besondere Informationen angezeigt werden.
>
> Hierf�r bekomme ich eine csv-Datei mit IP-Adressen und Subnet
> Masks und dem Bundesland.
>
> Da es hierbei um Millionen einzelen IPs geht und die
> Performance auch sehr hoch sein soll bin ich mir noch nicht
> so ganz schl�ssig wie ich die Datenbank aufbauen soll um eine
> konkrete IP zuzuordnen.
>
> Dachte mir alle IP-Bl�cke vielleicht in einzelen Felder zu setzen.
> die Subnetmask quasi invertieren also 255.255.254.0 wird zu
> 0.0.1.255 das auch in einzelne Felder.
>
> Dann m��te man doch irgendwie in der SQL-Abfrage einen
> Bereich der einzelnen IP-Bl�cke ermitteln k�nnen.
> also die SubnetMask 255.255.254.0 wird zu 0.0.1.255 wenn die
> BasisIP des Netzes 62.153.0.1 ist m��te der zul�ssige
> IP-Bereich ja von 62.153.0.1 bis 62.153.1.255 gehen was ja
> der addierten "invertierten"
> Subnetmask entspricht:
> 62 + 0 =62
> 153 + 0 =153
> 0 + 1 =1
> 1 + 255 =256
> Stimmt das wenigsten technisch ein bischen?? ;-)
>
> jemand ne Idee??
> Danke und Gru� Chris
>
> Beispiel f�r die IP-Daten wie ich sie bekomme:
> 62.153.0.1 255.255.254.0 Hannover
> Niedersachsen Germany de.telekom
> 62.153.10.1 255.255.254.0 Dresden Sachsen Germany
> de.telekom
> 62.153.100.1 255.255.255.224 Hannover Niedersachsen
> Germany de.telekom
> 62.153.100.113 255.255.255.240 M�nchen Bayern Germany
> de.telekom
> 62.153.100.129 255.255.255.128 Regensburg Bayern
> Germany de.telekom
> 62.153.100.33 255.255.255.240 N�rnberg Bayern Germany
> de.telekom
> 62.153.100.49 255.255.255.240 Regensburg Bayern Germany
> de.telekom
> 62.153.100.65 255.255.255.240 Regensburg Bayern Germany
> de.telekom
> 62.153.100.81 255.255.255.240 Hof Bayern Germany de.telekom
> 62.153.100.97 255.255.255.240 Bonn Nordrhein-Westfalen
> Germany de.telekom
> 62.153.101.1 255.255.255.128 Neubrandenburg
> Mecklenburg-Vorpommern Germany
> de.telekom
> 62.153.101.129 255.255.255.128 Freiburg
> Baden-W�rttemberg Germany de.telekom
> 62.153.102.1 255.255.255.128 Trier Rheinland-Pfalz Germany
> de.telekom
> 62.153.102.129 255.255.255.240 Wuppertal
> Nordrhein-Westfalen Germany
> de.telekom
> 62.153.102.145 255.255.255.240 Dortmund
> Nordrhein-Westfalen Germany
> de.telekom
>
>
> _______________________________________________
> Asp.net Mailingliste, Postings senden an:
> [email protected]
> An-/Abmeldung und Suchfunktion unter:
> http://www.glengamoi.com/mailman/listinfo/asp.net
>
> --
> No virus found in this incoming message.
> Checked by AVG Anti-Virus.
> Version: 7.0.308 / Virus Database: 266.7.2 - Release Date: 11.03.2005
>
>
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.7.2 - Release Date: 11.03.2005
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net