Possibili (bit) schemi di una maschera di rete


13

Dato un prefisso Y, è facile calcolare la maschera di rete corrispondente: Yinserire i tempi un bit impostato, quindi riempire "a destra" con zeri fino a quando uno ha 32 bit (IPv4) in totale.

Esempio:

Prefisso 24, quindi netmask 11111111 11111111 11111111 00000000o 255.255.255.0.

Può esserci una maschera di rete con un modello di bit diverso , come ad esempio

  • 00000000 11111111 00000000 11111111( 0.255.0.255)
  • 00000000 11111111 11111111 11111111( 0.255.255.255)
  • 11111111 11111111 11111111 00000001( 255.255.255.1)

Specificare un "prefisso" ovviamente non funzionerebbe in questi casi.

(Sono abbastanza sicuro che la risposta sia "NO", ma sto scrivendo del codice di rete, e questo deve funzionare in tutti i casi possibili, quindi voglio essere sicuro al 101%.)

Risposte:


11

RFC950 afferma che

Poiché i bit che identificano la sottorete sono specificati da una maschera di bit, non è necessario che siano adiacenti nell'indirizzo. Tuttavia, raccomandiamo che i bit della sottorete siano contigui e situati come i bit più significativi dell'indirizzo locale.

La maggior parte dei dispositivi segue questa raccomandazione per quanto riguarda l'applicazione. Sono riuscito a utilizzare solo subnet mask non contigue su reti solo Linux nel 2012; i dispositivi Windows, OSX, Cisco e HP che ho testato non l'hanno gestito / consentito.


2
Credo che questo sia stato sostituito da RFC1519 , che richiede esplicitamente una maschera contigua.
user1686

@grawity Potrebbe essere il caso. Trovato "L'unico vincolo eccezionale è che la maschera deve essere lasciata contigua." quando si parla di CIDR, ma non ho letto abbastanza per ottenere il contesto.
Filip Haglund,

6

Se si utilizzano prefissi e reti, la risposta è no, i bit devono essere contigui. Ci sono casi in cui è possibile utilizzare una maschera jolly (inversa della maschera), ad esempio Cisco ACL, e questi possono essere qualsiasi schema di bit. Ad esempio, è possibile bloccare il traffico da tutti gli host con numero dispari su una rete. Questo sembra ancora essere insegnato, ma non l'ho visto usato molto spesso (anche se l'ho visto) nel mondo reale.


4

No. Una maschera di rete è una serie continua di quelli.

(Gli altri sono modelli "jolly".)


1
Questo non è vero. 30 anni fa ce n'erano molti. Potrebbero essercene ancora in funzione.
MAPPA

2
Ne dubito fortemente. Nessun hardware di routing moderno lo consentirà. E i router degli anni '80 avranno numerosi problemi con il modo in cui IP funziona oggi. (Ci sono stato. Ho detto che non si usa la sottorete completamente zero, anche alla fine degli anni '90 era un problema). Gli unici due dispositivi che ho ancora di quell'epoca non accetteranno una maschera di rete non contigua. (WTI pdus, ancora in giro perché hanno porte 10bT. Niente parla con loro, soprattutto Internet .)
Ricky Beam,

3

Quando il TCP / IP è uscito per la prima volta e si è diffuso, in realtà c'erano molte sottoreti con maschere non contigue. Ma man mano che gli indirizzi scarseggiavano, l'overhead verso il resto della rete consentiva il routing globale di questi prefissi piuttosto che forzare il tutto a basarsi solo su prefissi; era troppo e la rete globale è cambiata per supportare solo prefissi. In realtà potrebbero esserci ancora reti legacy che usano internamente maschere non contigue (molti IGP lo supportano ancora). Ma quando una tale rete si connette a Internet, ha un unico prefisso che li copre tutti, che pubblicizza in BGP. E, naturalmente, EGP (il predecessore di BGP) supportava solo l'indirizzamento di classe.

Conosco diversi giocatori con reti di Classe A con numeri originali che hanno utilizzato internamente maschere di rete non contigue per un motivo o per l'altro. Semplicemente non so se qualcuno lo sta ancora facendo. Molti di loro non escono più. L'ARPAnet aveva una maschera di rete interna di 255.0.0.255 (IIRC).


2
SENZA SENSO. Questo non ha nulla a che fare con CIDR, o classi o aggregazione. Una maschera di rete è SEMPRE stata contigua.
Ricky Beam,

6
Vedi RFC 950 , per esempio. Pagina 15 fornisce un esempio con una maschera di rete di 255.255.255.88.
Ross Presser,

4
Penso che la pagina 12 di RFC 1519 danneggi davvero il tuo caso poiché l'unica frase rilevante è " L'unico vincolo eccezionale è che la maschera deve essere lasciata contigua ". (Enfasi mia) Poiché la classe è implicita / assunta dalla classe nell'instradamento di classe e sono state utilizzate solo tre maschere contigue e RFC su CIDR specifica maschere contigue, sembra che la tua risposta sia sbagliata. Il post dell'elenco di FreeBSD è un mistero per me.
Todd Wilcox,

3
Il RFC sostitutivo è 4632: tools.ietf.org/html/rfc4632 Si noti che la notazione della barra viene discussa e utilizzata e il termine " lunghezza prefisso " appare più volte, nessuno dei quali avrebbe alcun senso se le maschere non contigue fossero supportato. È chiaro da RFC 950 che all'inizio potrebbero esserci stati sistemi che utilizzavano maschere non contigue, ma sollevare questo non aiuterà chi chiede a come funziona attualmente TCP / IP e potrebbe essere molto confuso.
Todd Wilcox,

3
Poiché i bit che identificano la sottorete sono specificati da una maschera di bit, non è necessario che siano adiacenti nell'indirizzo. Tuttavia, raccomandiamo che i bit della sottorete siano contigui e situati come i bit più significativi dell'indirizzo locale . Sebbene ciò non rechi la dicitura DOVREBBE / DEVE essere utilizzata oggi, è esattamente così che tutti hanno costruito capacità di subnet moderne. Oltre 3 decenni di networking, non ho mai incontrato una tecnologia che permetta sottoreti non contigue.
Ricky Beam,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.