Newsgroup: it.comp.reti.ip-admin
Titolo: Reti e mascheratura, domanda semplice

E' un po' che seguo questo NG, e ho visto che e' popolato da persone molto
competenti. Mi rivolgo qui quindi per fugare un piccolo dubbio...
...la domanda e':
i bit che compongono la mascheratura possono essere anche NON consecutivi?
Ad esempio, 255.255.170.0 (cioe' 11111111.11111111.10101010.00000000) e' una
mask valida?
In altri termini:
la mask esprime "quanti" bit usare per net/host, o piu' dettagliatamente
"quali" bit?
Inoltre, nel caso la mask esprima quali bit usare, la notazione di uso
comune (es 
192.168.10.0/24
) non e' restrittiva o inadeguata?
Gradirei anche una giustificazione alla risposta, e magari il riferimento
agli rfc relativi.
Grazie a tutti
bepin

agli rfc relativi.
RFC1519 
RFC1878
-- 
Saluti,
Giancarlo

...
[SNIP]
Saluti,
Giancarlo
Grazie,
bepin

agli rfc relativi.
Allora: il TCP/IP e' un protocollo routabile. routable significa
instradabile, cioe' e' possibile sapere se un determinato indirizzo
appartiene o meno alla lan su cui si e'. Se appartiene, e non si
ottiene risposta, il discorso finisce qui. Se non appartiene, possono
esistere instradatori (routers appunto) che forse sanno come fare per
arrivare sulla rete a cui appartiene l'indirizzo.
Per sapere quale parte dell'indirizzo IP indichi la rete, e quale
l'host si usa la netmask. Facendo un AND, gli 0 eliminano la parte
dell'host, per cui ad esempio a che net appartiene 192.168.2.22
netmask 255.255.255.0???:
192.168.2.22 AND
255.255.255.0
----------------------------
192.168.2.0
da cui la rete e' 192.168.2.x
i bit della netmask devono essere consecutivi, perche' per come e'
costruito l'indirizzo IP, cioe' in maniera gerarchica, la net sta' a
sinistra, e l'host sta a destra. Se nell'esempio sopra la netmask
fosse stata 255.255.127.0, il risultato sarebbe stato:
192.168.2.22 AND
255.255.127.0
-------------------------------
192.168.2,0
ed avrebbe avuto rete 192.168.2.x, ma se l'indirizzo fosse stato
192.168.128.22, la rete sarebbe stata 192.168.0.0, il che non va.
Ciao


ciao, e grazie, a te
bepin.
P.S.: curiosita': anche non si puo fare, NT (server 4.0 SP6) accetta come IP
address 192.168.69.69 mask 255.255.170.0; e sono convinto che ci siano molti
altri sistemi che fanno lo stesso.

 altri sistemi che fanno lo stesso.
Io non sono cosi convinto che ce ne siano tanti *altri*.
/*
 *      Check if a mask is acceptable.
 */
extern __inline__ int bad_mask(u32 mask, u32 addr)
{
        if (addr & (mask = ~mask))
                return 1;
        mask = ntohl(mask);
        if (mask & (mask+1))
                return 1;
        return 0;
}
ciao
lele

lele
ciao a te
bepin

 Io non sono cosi convinto che ce ne siano tanti *altri*.
Ritiro tutto: i derivati del BSD Net/2 non fanno nessun 
controllo sulla consistenza dgli uno della maschera:
ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	[...]
        inet 192.168.69.69 netmask 0xff55aa00 broadcast 192.168.85.255
in effetti:
/usr/src/sys/netinet/in.c:
	[...]
        case SIOCSIFNETMASK:
                i = ifra->ifra_addr.sin_addr.s_addr;
                ia->ia_subnetmask = ntohl(ia->ia_sockmask.sin_addr.s_addr = i);
                break;
ciao
lele

 Adesso lo provo.
da /usr/include/linux/inetdevice.h
ciao
lele

controllo sulla consistenza dgli uno della maschera:
[SNIP]
Mi consola, significa che la domanda tutto sommato era abbastanza sensata.
Ma mi rimane il dubbio: BSD non e' proprio l'ultimo arrivato... capisco (o
meglio, mi ci sono abituato, il che e' peggio) che WinNt et simiglia
facciano un po' di testa loro, ma se BSD si comporta cosi'... boh? che
pensare? che BSD e' "fuori standard"? Mi piacerebbe sentire anche qualche
altra opinione, al riguardo
bepin

 comune (es 
192.168.10.0/24
) non e' restrittiva o inadeguata?
Il punto da determinare e se ti trovi in un'ottica CIDR o meno:
	- Se non ti ci ritrovi i bit possono essere sparpagliati ma DEVONO
	rispettare le solita ripartizione in classi (A,B,ecc.)
	- Se ti trovi in CIDR allora i bit a uno devono stare tutti a sx
	mentre gli 0 a dx, tuttavia puoi considerare l'inseme delle 3 classi
	A/B/C come un' insieme fluido.
-- 
Ciao, Maurizio.

pensare? che BSD e' "fuori standard"? Mi piacerebbe sentire anche qualche
Una volta una netmask con bit non contigui era valida, ora
(dall'introduzione del CIDR, mi pare) e` ufficialmente deprecata.
BSD e` alla ricerca della compatibilita` con il passato, NT ha
semplicemente riciclato lo stesso codice.
-- 
ciao, |
Marco | Does a route flap if nobody is listening to it?
      | (Ri)scoprire fidonet: 
http://bbs.mi.linux.it

Ciao, Maurizio.
ciao, e grazie
bepin

semplicemente riciclato lo stesso codice.
Mi disturba un po' pero': significa che non e' stata mantenuta la
compatibilita' verticale. Ovvero, passare dalla classificazione "canonica"
A, B e C al CIDR e' abbastanza indolore perche' il CIDR e' un soprainsieme
della classificazione (mi scuso per il linguaggio improprio), e quindi anche
usare il vecchio sistema (per deprecabile che sia) funziona. Ma introdurre
il vincolo sulla consecutivita' dei bit di maschera, significa che MASK che
prima erano valide ora non lo sono piu'....
Comunque, grazie della risposta.
ciao
bepin

 prima erano valide ora non lo sono piu'....
Ahah... se ti spaventa questa minuscola incompatibilita' allora devi
vedere che CASINO e' IPv6 :)
Ciao.
-- 
 Daniele
-------------------------------------------------------------------------------
 Daniele Orlandi - Utility Line Italia - 
http://www.orlandi.com
 Via Mezzera 29/A - 20030 - Seveso (MI) - Italy
-------------------------------------------------------------------------------

 vedere che CASINO e' IPv6 :)
Vero? Tipo quando OSPFv3 non va su perche' su Linux, di default, i
pacchetti che escono dai tunnel sit ereditano il TTL del payload. :))
Riguardo alle maschere non consecutive: sono sempre state al limite del
deprecato, anche prima di CIDR. BGP per esempio non le ha mai
supportate.
Con IPv6, ovviamente, il concetto di netmask sparisce proprio.
ciao
lele

 Con IPv6, ovviamente, il concetto di netmask sparisce proprio.
D: Che indirizzo hai ?
R: 2001:600:4:1eb:fe00::1  netmask
FFFF:FFFF:FFFF:FFFF:FFFF:0000:0000:0000
Ciao! :)


 FFFF:FFFF:FFFF:FFFF:FFFF:0000:0000:0000
Ce l'avevi. Ti e' morto zebra.
ciao
lele

 Ce l'avevi. Ti e' morto zebra.
Ecco da dove veniva quella puzza di cadavere ://
Mi sa che lo metto nell'inittab... finche' non diventa un po' piu'
stabile....sgrunt...
Ciao!


 l'autore, sorry) diceva che la schematizzazione in classi non vale piu', e
L'ottica CIDR si applica al "routing", come dice il nome stesso e'
un tentativo per diminurie l'ampiezza delle tabelle si routing accorpando
piu' sottoreti.
192.168.1.0/24
 e' e rimarra' una classe C
-- 
Ciao, Maurizio.


192.168.1.0/24
 e' e rimarra' una classe C
Eppure, Daniele Orlandi ha scritto:
"Quando, di grazia, impareremo che non esistono piu' le classi A, B e C
????"
e poi, in un altro post:
"[...] Vuol dire che e' rimasto fermo a parecchi anni fa... ormai non esiste
piu' una distinzione tra classi A, B e C, infatti si parla di Classless
InterDomain Routing (CIDR) che ha ormai definitivamente soppriantato il
classful routing."
(i post sono nel trhead "Posso usare 192.168 per una classe B ?")
Quindi, se ho capito bene, "non ha senso" parlare di classificazione A, B, e
C in un'ottica CIDR, ma la classificazione rimane valida... in altri
termini, se io dico che "192.168.17.13 e' un IP di classe B", non dico una
bestemmia. Poi, che questo non si possa applicare ad un'ottica CIRD, rimane
assolutamente vero. Pero', se io mi faccio una LAN privata, con (ad esempio)
un tot di sottoreti, posso fare a meno di usare CIRD, usare la vecchia
classificazione ABC (anche per il routing) e dire di aver agito
correttamente?
Chiedo scusa in anticipo per le eventuali cavolate che ho scritto e se ho
offeso o infastidito qualcuno: non era questa la mia intenzione. Sto solo
cercando di imparare, e cerco di farlo cercando di capire anche le ragioni
storiche di certe scelte e come tali scelte si sono evolute. Purtroppo il
tempo che posso dedicare a questo interessante argomento (l'IP), e' poco...
Ringranzi tutti, siete stati davvero gentili.
ciao
bepin