Toon posts:

[sql server/ .net framwork] Ip nummers opslaan in database

Pagina: 1
Acties:
  • 41 views sinds 30-01-2008

Verwijderd

Topicstarter
Hoi,

Ik ga IP adressen opslaan in een database. Het is voor een systeem waarbij een server zich aanmeldt bij de centrale server en daarbij zijn IP mee geeft. Deze wordt dan in de database bijgewerkt. Ik werk met MS SQL 2000.

Je kan dan het IP als varchar opslaan, en dus als string behandelen in de software.

Dit lijkt mij het meest voor de hand liggend. Of is het handiger om IP nummers anders op te slaan in je database zodat je ze handiger kan gebruiken in .NET?

  • MisterData
  • Registratie: September 2001
  • Laatst online: 16-05 23:29
Opslaan in je database als unsigned integer, dat scheelt *veel* ruimte bij veel records en is efficienter. Als je PHP kent, wat ik bedoel zijn dus de functies ip2long($ip) en long2ip($long)

Verwijderd

Volgens mij kun je een ip adres beter opslaan als een (unsigned) integer. Dan kun je veel gemakkelijker ermee 'rekenen'. Bijvoorbeeld om een hele range een ip-ban te geven.

  • EfBe
  • Registratie: Januari 2000
  • Niet online
IP nummers zijn opgebouwd uit bytes (een IP adres dus uit 4 bytes), dus logischerwijze is het opslaan als 4 aparte bytes (of 6 als je IP6 voorbereid wilt zijn ;)) of als binary(4) het meest voor de hand liggend.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • jochemd
  • Registratie: November 2000
  • Laatst online: 29-12-2025
EfBe schreef op 04 september 2004 @ 18:48:
IP nummers zijn opgebouwd uit bytes (een IP adres dus uit 4 bytes), dus logischerwijze is het opslaan als 4 aparte bytes (of 6 als je IP6 voorbereid wilt zijn ;)) of als binary(4) het meest voor de hand liggend.
16 bedoel je zeker voor IPv6? En dat lijkt me juist niet handig, 16 velden om 1 IP adres op te slaan.

Bij gebrek aan een IP-adres datatype kan je volgens mij het beste een varchar(47) veld gebruiken en zelf een paar UDF's schrijven voor operaties op de IP adressen.

  • EfBe
  • Registratie: Januari 2000
  • Niet online
jochemd schreef op 04 september 2004 @ 19:21:
[...]

16 bedoel je zeker voor IPv6? En dat lijkt me juist niet handig, 16 velden om 1 IP adres op te slaan.
Ik wist niet dat een ipv6 nummer uit 16 blokken bestaat, het is toch ala:
1.1.1.1.1.1 ?

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • jochemd
  • Registratie: November 2000
  • Laatst online: 29-12-2025
EfBe schreef op 04 september 2004 @ 19:45:

Ik wist niet dat een ipv6 nummer uit 16 blokken bestaat, het is toch ala:
1.1.1.1.1.1 ?
Nee.

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
Lekker lang antwoord ;)

Ze gebruiken voor de notatie dubbele punten.

http://www.free-definitio...tation_for_IPv6_addresses

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


  • EfBe
  • Registratie: Januari 2000
  • Niet online
Infinitive schreef op 04 september 2004 @ 23:23:
[...]

Lekker lang antwoord ;)

Ze gebruiken voor de notatie dubbele punten.

http://www.free-definitio...tation_for_IPv6_addresses
Ah dank je, daar kan ik inderdaad wat meer mee dan 'nee, ik weet iets wat jij niet weet en dat wil ik graag zo houden'.

128bits adressen, die stop je niet in 6 bytes nee :).

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
Wel vreemd dat ze voor de notatie de getallen noteren in het hexadecimale stelsel. De reden zal wel zijn dat het dan wat compacter genoteerd kan worden. Maar toch, voor een systeembeheerder lijkt me tellen in een decimaal stelsel toch veel makkelijker?

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


  • Skaah
  • Registratie: Juni 2001
  • Niet online
Infinitive schreef op 05 september 2004 @ 11:30:
Wel vreemd dat ze voor de notatie de getallen noteren in het hexadecimale stelsel. De reden zal wel zijn dat het dan wat compacter genoteerd kan worden. Maar toch, voor een systeembeheerder lijkt me tellen in een decimaal stelsel toch veel makkelijker?
Heb jij op de basisschool nooit leren tellen tot 0xff?

Het is niet zo moeilijk als het lijkt.

  • jochemd
  • Registratie: November 2000
  • Laatst online: 29-12-2025
EfBe schreef op 05 september 2004 @ 11:09:

Ah dank je, daar kan ik inderdaad wat meer mee dan 'nee, ik weet iets wat jij niet weet en dat wil ik graag zo houden'.
Je bedoelt zeker "Nee, ga maar Googlen".

Je moet je altijd afvragen of de vraag die je stelt in een losse thread een slotje zou krijgen of niet. En zou de vraag "Hoe ziet een IPv6 adres er uit?" wel of geen slotje krijgen?

  • EfBe
  • Registratie: Januari 2000
  • Niet online
jochemd schreef op 05 september 2004 @ 12:40:
[...]
Je bedoelt zeker "Nee, ga maar Googlen".

Je moet je altijd afvragen of de vraag die je stelt in een losse thread een slotje zou krijgen of niet. En zou de vraag "Hoe ziet een IPv6 adres er uit?" wel of geen slotje krijgen?
Ik nam wat aan, wat fout was. Ik stel gewoon een vraagje terug, die jij dan niet beantwoord, terwijl je dat wel had kunnen doen. (ipv 'nee' had je kunnen zeggen: een IPv6 address ziet er aabb:ccdd etc. uit, 128 bits, en dan was je klaar geweest. Die moeite heb je niet genomen, antwoord dan niet)

Je verwijst nu naar google en ik had het daar wellicht gevonden, zoals 99.9% van alle vragen hier, gewoon via google groups gevonden kunnen worden.

het punt is dus: als je wel antwoord (dwz, de moeite neemt een posting te plaatsen als 'antwoord') maar dan niet echt antwoord, laat dan je pseudo antwoord gewoon achterwege. Maar goed, ik zal je naam onthouden. Volgende keer dat jij een vraag stelt hier krijg je van mij iig geen antwoord.

[ Voor 11% gewijzigd door EfBe op 05-09-2004 14:28 ]

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19:24

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 is weer eens veel te laat.. :X

Dit topic gaat op slot. Er wordt meer gediscussieerd over andere zaken dan over het opslaan van een IP-adres in een database :)

Topicstarter: Je mag wmb een nieuw topic openen. Ik gok dat de eerste paar replies al van redelijk behulpzaam kunnen zijn; misschien dat je daar wat over kan neerzetten in een eventuele nieuw topic :)

* gorgi_19 doet deze dicht.

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1

Dit topic is gesloten.