P.S.
Sustina problema je da pronadjes dovoljno veliki blok (definisan cidr prefiksom ili mreznom maskom) adresa koji obuhvata sve manje blokove adresa koje imas. Dovoljno veliki znaci da obuhvata, ukoliko je moguce, samo one adrese iz manjih blokova. Nekad postoji jedan veliki blok koji moze obuhvatiti vise manjih, nekad ne.
Primer sa spojenim blokovima 172.16.16.0/24 - 172.16.19.0/24 je jednostavan. Imas 4 mreze C klase koje su povezane ("ocigledno" nema prekida). 4C mreze su definisane cidr prefiksom /22 (4C znaci 4*256 adresa, 22 prefiks znaci 32bitni prostor - 22 = 10, 2^10 = 1024; u oba slucaja to je isti broj adresa). Ovde je problem jedino preracunati trazeni broj adresa u cidr notaciju. Kada to uradis taj prefiks dodas na network adresu pocetnog bloka i zavrsio si posao. Network adresu ovde ne moras da 'racunas' jer je za /24 je najjasnije da je to upravo ta koja je data sa 0 na poslednjoj poziciji. Isto je i za broadcast adresu, sto ujedno predstavlja i poslednji IP za doticni blok (samo 255 na kraju).
U sledecem primeru (iako sa "pogresnim" prefiksima) imas dva, doduse povezana, problema. Prvi je sto nije odmah najjasnije koja je network i broadcast adresa za prvi blok koji je dat. Druga je sto imas naizgled prekid izmedju mreze 102 i 105 (zapravo tu je samo na prvi pogled sumljivo da li postoji prekid, zbog same velicine bloka prekid moze da postoji i na drugom mestu, ali da ne komplikujem sad previse...). Kada na osnovu mrezne maske, tj. cidr prefiksa /20 nadjes network i broadcast adresu (tu sad stupa na scenu ono Markovo objasnjenje u faq-u) saznaces da ti je pocetna adresa za taj blok 192.168.96.0 a krajnja tj. broadcast 192.168.111.255. Te da mreza 192.168.96.0/20 obuhvata sve blokove koji su ti dati.
Za krajnji blok 192.168.105.0/20 ne moras da racunas network i broadcast adresu jer je jasno da je ista, obzirom da upada u 192.168.96.0/20 mrezu. (Ako te bude zanimalo zasto ne moras da racunas i za taj blok odgovor je u matematici dodavanja 'mnozilaca' do preostalog broja u IP adresi.)
Pravi problem bi imao kada bi zaista postojao prekid. Recimo da ti je u tom primeru dodat i blok 192.168.112.0
bilo kog prefiksa, onda bi i za njega morao da racunas network i broadcast adresu. U slucaju da ti treba samo jedan zbirni blok, dalje ces traziti (iteracijom npr.) prefiks za pocetnu mrezu koji obuhvata i .112.0 blok. U zavisnosti od velicine 112 bloka, zavisi i taj superblok koji trazis.
U slucaju da ne moras imati samo jedan zbirni blok, ides pravilom da obuhvatas samo adrese koje su ti potrebne, koristeci bilo koje prefikse... i pravila za racunanje network i broadcast adresa.
Pozdrav.
typo
[Ovu poruku je menjao optix dana 29.05.2007. u 22:17 GMT+1]
"99% of your thought process is protecting your self-conceptions,
and 98% of that is wrong."