Projekt

Obecné

Profil

Požadavek #193

otevřený

IPv6 support

Přidáno uživatelem Tomáš Dulík před více než 11 roky(ů). Aktualizováno před více než 9 roky(ů).

Stav:
Nový
Priorita:
Normální
Přiřazeno:
-
Kategorie:
Evidence sítě
Cílová verze:
Začátek:
2012-07-10
Uzavřít do:
% Hotovo:

0%

Odhadovaná doba:

Popis

Toto je k zamyšlení, když teď Ondra předělává evidenci sítě.

IPv6 má 128bit, z toho 64bit je adresa sítě (kterou vlastně máme v tabulce subnet) a 64 bit je adresa hosta (odvozena z MAC adresy nebo z DHCP).

Tzn. IPv4 i IPv6 by bylo možné implementovat v MySQL jednotně, např. pomocí sloupce typu BIGINT (64 bit).
V současné době máme IP adresy jako varchar, tzn. zabírají více místa a případné dotazy vyžadující subnet aritmetiku znamenají neustálé převody z řetězce na IP.

MySQL 5.6 už obsahuje funkce, které umí převádět IPv4 i IPv6 z řetězce do binární podoby a zpět:
http://dev.mysql.com/doc/refman/5.6/en/miscellaneous-functions.html#function_inet6-ntoa

Výsledkem není BIGINT, ale VARBINARY nebo VARBINARY.

Pro nižší verze MySQL lze buď doinstalovat UDF modul s těmito funkcemi:
http://labs.watchmouse.com/2009/10/extending-mysql-5-with-ipv6-functions/
nebo ty funkce implementovat jako SQL procedury. Pro IPv4 kdysi takové procedury ve Freenetis-u byly, protože u inet-aton() se mi nelíbilo, že pro adresy, které obsahují např. mezeru navíc nebo čárku místo tečky, nativní inet-aton vrací NULL, místo aby se převod snažil dokončit, což mě štvalo při snaze naimportovat do MySQL starou databázi v XLS.

Nebo lze využít PHP funkce
http://php.net/manual/en/function.inet-pton.php

Tož špekulujte chlapci..

Aktualizováno uživatelem Ondřej Fibich před asi 11 roky(ů)

  • Cílová verze změněn z 1.1 na 1.2

Dokud nebude v debianu MySQL 5.6, je to asi bezpředmětné. Proto přesunuju do v. 1.2.

Aktualizováno uživatelem Ondřej Fibich před asi 10 roky(ů)

  • Kategorie nastaven na Evidence sítě

Aktualizováno uživatelem Ondřej Fibich před více než 9 roky(ů)

  • Cílová verze změněn z 1.2 na 1.3

Také k dispozici: Atom PDF