Fórum Root.cz
Hlavní témata => Sítě => Téma založeno: Petr_Svetr 01. 09. 2011, 16:00:03
-
Zdravim, nejsem sitar, ale narazil jsem na tuhle definici. Nasel by se nekdo, kdo by mi polopaticky vysvetlil o co jde a pouziti teto techniky (nejlepe na praktickem prikladu).
Na google jsem nasel jenom povidani o spojite masce a dokonce i tvrzeni, ze MUSI byt vyhradne spojita, coz neni uplne presne.
Diky
-
http://cs.wikipedia.org/wiki/Maska_s%C3%ADt%C4%9B precti si to a pak se znovu zeptej cemu nerozumis
-
Clanek dle meho nazoru nevystihuje a nepopisuje pisateluv dodaz. Spojitost masky znamena, ze je tam nepretrzity retezec jednicek a zbytek nuly.
Priklad (decimalni tvar - binarni tvar):
255.255.255.0 - 11111111.11111111.11111111.00000000 da se zapsat rovnez jako x.x.x.x/24 a znamena to, ze prvnich 24 bitu IP adresy site oznacuje sit a poslednich 8 bitu znaci stanici.
Stejne tak muze byt i:
255.0.0.0 - 11111111.00000000.00000000.00000000 - x.x.x.x/8 coz je stejny pripad s tim rozdilem ze sit je urcena prvnimi 8 bity a stanice poslednimi 24
Ciste teoreticky by mohlo fungovat i nespojite znaceni. Maska totiz funguje jako filtr IP adresy oproti IP adrese takze treba 192.168.1.1/24 je:
11000000.10101000.00000001.00000001
11111111.11111111.11111111.00000000
Kazdej bit nad jednickovym bitem masky urcuje adresu site a kazdy bit nad nulovym adresu stanice. Cislo /24 tedy znamena pocet jednickovych bitu v masce a tedy i pocet bitu urcujicich sit a protoze se to vsechno uvadi pro jednoduchost v decimalnich cislech, bylo by pro bezneho smrtelnika tezko predstavitelne mit napriklad nasledujici rozsah v decimalni podobe a navic by to odporovalo norme.
11000000.10101000.00000001.00000001 - IP
01110110.11000110.11011100.00010010 - Maska
-
Dřív mohly být masky opravdu nespojité, nicméně v některém z RFC to bylo opraveno na spojité.
Použít by to šlo třeba na rozdílné routování - sudé adresy posílám doleva, liché doprava:
route add -net 192.168.1.0 mask 255.255.255.1 gw doleva
route add -net 192.168.1.1 mask 255.255.255.1 gw doprava
jenže to naštěstí už nejde :-)
-
Při routování se totiž provádí přibližně takové porovnání:
if (IP_cíle & mask ) xor ( zaznam_v_routovaci_tabulce & mask ) == 0 then
IP_cíle vyhovuje záznamu a udělej s ním tedy něco
-
Při routování se totiž provádí přibližně takové porovnání:
if (IP_cíle & mask ) xor ( zaznam_v_routovaci_tabulce & mask ) == 0 then
IP_cíle vyhovuje záznamu a udělej s ním tedy něco
chybička se vloudila, mělo by být spíš:
( IP_cíle xor zaznam ) & mask == 0
-
A opravdu to už nejde vůbec a nebo se to jen nepoužívá? Teoreticky to stále možné je ne? Záleželo by potom na implementaci sitoveho stacku na jednotlivych zarizenich.
-
A opravdu to už nejde vůbec a nebo se to jen nepoužívá? Teoreticky to stále možné je ne? Záleželo by potom na implementaci sitoveho stacku na jednotlivych zarizenich.
před pár lety jsem na to narazil taky, dokonce jsem to hledal v RFC a dřívější RFC se o nutnosti spojitosti nezmiňovaly, nicméně v jednom pozdějším RFC jsem to našel, ale byla to taková dost zastrčená poznámka.
Ostatně v linuxu to určitě jde udělat přes firewallová pravidla, takže kdo chce kam, pomožme mu tam :-)
-
RFC 1812:
The bit positions containing this extended network number have
historically been indicated by a 32-bit mask called the subnet mask.
The <Subnet-number> bits SHOULD be contiguous and fall between the
<Network-number> and the <Host-number> fields. More up to date
protocols do not refer to a subnet mask, but to a prefix length; the
"prefix" portion of an address is that which would be selected by a
subnet mask whose most significant bits are all ones and the rest are
zeroes. The length of the prefix equals the number of ones in the
subnet mask. This document assumes that all subnet masks are
expressible as prefix lengths.
-
Z toho evidentne vypliva ze to mozne technologicky je, jen se to nedoporucuje z duvodu zmatenosti pojmu a nedal by se pouzivat prefix. Ne ze bych to teda k necemu potreboval :).
-
Lze to a používá se to.. Jen trochu jinak.. Používá se potom tzv. divoká (wildcard) maska, což není nic jiného než invertovaná klasická maska. Čili maska 255.255.255.0, wildcard maska 0.0.0.255.
http://en.wikipedia.org/wiki/Wildcard_mask
-
Ok, zajimave zjisteni. I v tomto pripade se ale jedna o masku spojitou :).
-
Z toho evidentne vypliva ze to mozne technologicky je, jen se to nedoporucuje z duvodu zmatenosti pojmu a nedal by se pouzivat prefix. Ne ze bych to teda k necemu potreboval :).
No, ono je technologicky možné všechno. Nicméně SHOULD je poměrně jasné doporučení. Je to asi stejné jako říct, že RFC je pouze "žádost o komentář", takže se tím nemusím řídit :-)
-
Lze to a používá se to.. Jen trochu jinak.. Používá se potom tzv. divoká (wildcard) maska, což není nic jiného než invertovaná klasická maska. Čili maska 255.255.255.0, wildcard maska 0.0.0.255.
http://en.wikipedia.org/wiki/Wildcard_mask
no, obávám se, že wildcard mask v tomto případě nic neřeší.
-
Řeší.. Na rozdíl od "normální" masky, která je vždy spojitá, se pomocí wildcardu může napsat například na wiki popisovaný access list, který se chová jinak pro sudé a jinak pro liché ip adresy.
-
Ovšem největší bomba by bylo použití nespojité netmasky v koncové síti. Něco jako: v této síti se mohou vyskytovat pouze počítače se sudou IP adresou :-) Třeba i broadcast by pak byl sudý.
-
Řeší.. Na rozdíl od "normální" masky, která je vždy spojitá, se pomocí wildcardu může napsat například na wiki popisovaný access list, který se chová jinak pro sudé a jinak pro liché ip adresy.
No, rád si nechám předvést, kde se wildcard maska uplatní v routování nebo při definici síťového rozhraní.
Wildcard masky se uplatňují pouze u access-listů a mají úplně stejné použití jako standardní maska, která v případě access-listu taky nemusí být spojitá. Ale na toto použití se autor původní otázky neptal.
-
ano, naprostý souhlas.. Ale rozdíl je právě v tom, že standardní maska by měla být vždy spojitá, kdežto wildcard ne.. Právě proto se v access listech a podobně používá wildcard a ne standartdní maska.. Osobně jsem to nikdy nepoužil v praxi, občas je to vidět na některých soutěžích, třeba NAG a podobně..
-
dekuji vsem za odpovedi.