Autor Zpráva
okoun
Profil
Ahoj, prosím o nakopnutí jak v php řešit problém když mám nějaký třeba /48 rozsah ipv6 jak z php vyplivnout v tomto rozsahu všechny /60 síte? Musí se to čistě matematicky spočítat a nebo je na to přímo funkce?
Nebo pokud již máte nějaký kod určitě mi to ušetří práci, děkuji....
smitka
Profil
já bych na to šel tak, že bych si v prvním kroku spočítal kolik těch subnetů bude - (prefix2 - prefix1)^2 = v tvém případě 4096,
potom bych si spočítal první adresu toho velkého subnetu (je to prostě hexa číslo) a pak přičítal vždycky číslo (128-prefix2) ^ 2 tolikrát, kolik je počet subnetů

Problém je v tom, že se musí počítat se 128bit celejma číslama, což lze například přes php.net/manual/en/book.bc.php
Případně lze pracovat pouze s "okénkem", kde se bity reálně mění.
Radek9
Profil
smitka:
(prefix2 - prefix1)^2
(128-prefix2) ^ 2
Přesně obráceně: 2^rozdíl. Navíc nutno podotknout, že 2^(128-prefix2) je sice počet adres v subnetu, ale reálně použitelných jich bude minimálně o 3 méně. Samé nuly jsou rezervované pro adresu sítě, samé jedničky pro broadcast a jedna adresa bude pro gateway.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: