Perché non riesco a utilizzare il primo o l'ultimo indirizzo in una sottorete?


37

Ho una rete con un intervallo 10.0.0.0/24. Questo significa che ho da 10.0.0.0 a 10.0.0.255, tuttavia non posso usare 10.0.0.0 o 10.0.0.255, ma posso usare qualsiasi cosa tra queste.

Perchè è questo? La maschera 255.255.255.0 implica che l'ultima cifra è l'indirizzo dell'host, quindi perché non posso usare 0 o 255?


7
Si noti che questo è solo IPv4. IPv6 ha regole diverse per quanto riguarda il primo e l'ultimo indirizzo in una sottorete.
Michael Hampton,

1
Su Linux, non avrai problemi a usare il primo indirizzo. Alcuni vecchi sistemi pensano che .0 sia un indirizzo di trasmissione e ti impedisca di usarlo, ma è sbagliato :)
Navin

Risposte:


70

In una rete / 24 non è possibile utilizzare 0perché è l'identificazione della rete (i dispositivi lo usano per riconoscere le diverse reti a cui sono collegati).

In un PC Windows, aprire un prompt dei comandi e digitare netstat -r. Otterrai la tabella di routing utilizzata dal PC, ogni rete è elencata usando l'identificazione della rete (primo indirizzo).

inserisci qui la descrizione dell'immagine

L'ultimo indirizzo, 255nel caso di una rete / 24, è l'indirizzo di trasmissione. I dispositivi collegati alla rete lo usano per inviare una trasmissione, un messaggio destinato a tutti i dispositivi sulla rete.

In generale il primo indirizzo è l'identificazione della rete e l' ultimo è la trasmissione , non possono essere utilizzati come indirizzi regolari.


9
Per / 31 c'è un'eccezione speciale, tuttavia: si presume che siano implicitamente collegamenti punto-punto perché hanno solo due indirizzi.
Simon Richter,

10
Pubblicare il tuo indirizzo IP pubblico e il nome utente per detto sistema mi dà i heebie-jeebies.
Mikeazo,

8
@mikeazo Perché? Hai password decenti e fail2ban, giusto? Inoltre, ogni indirizzo IPv4 su Internet viene attaccato.
Michael Hampton,

4
@MichaelHampton perché ora Internet conosce il suo nome utente, il suo indirizzo IP e non sta usando (con successo) le chiavi SSH, ma le password. Questo raffina già lo spazio di ricerca. Ma hai ragione: per un professionista, questo non dovrebbe essere un problema. Tuttavia, non è una buona pratica insegnare al mondo.
Konerak,

29
@mikeazo È uno screenshot che ho trovato su Google netstat -r. Non è il mio sistema.
jcbermu,

8

Si noti che non è possibile utilizzare il primo e l'ultimo indirizzo nell'intervallo se viene utilizzato per numerare i dispositivi in ​​un dominio di trasmissione (ad esempio una rete fisica o un vlan ecc.). Come indica l'altra risposta, infatti, il primo e l'ultimo vengono utilizzati rispettivamente come indirizzo di rete e di trasmissione in quello scenario. Inoltre in alcuni scenari il primo indirizzo viene anche interpretato come broadcast.

Tuttavia, esistono altri scenari di utilizzo in cui è possibile utilizzare il primo e l'ultimo indirizzo. Ad esempio, se sei un amministratore del firewall e ti viene assegnato l' intervallo 10.0.0.0-10.0.0.255 dall'amministratore di rete, puoi utilizzare tutti i 256 indirizzi come indirizzi NAT sul tuo firewall. Devo ammettere che non l'ho visto fare molto spesso e quando lo fa può creare confusione - poiché la prima reazione della maggior parte delle persone è pensare che non sia permesso - e questa confusione potrebbe essere un motivo per sconsigliarlo.

Se stai facendo il nitpicking allora ok, a rigor di termini il 10.0.0.0-10.0.0.255 in quello scenario non è una rete / 24 , è un intervallo o un blocco di indirizzi ma credo che sia pratica comune fare ancora riferimento a questo come "la sottorete 10.0.0.0/24" in tale scenario.


7
"Ammetto di non aver visto questo fatto molto spesso, e quando è fatto può causare un po 'di confusione - poiché la prima reazione della maggior parte delle persone è di pensare che non sia permesso - e questa confusione potrebbe essere un motivo per sconsigliarlo." - Se ricordo bene, alcune di quelle "persone confuse" sono i progettisti dello stack di rete di Windows NT (almeno quello originale fino a Vista), quindi, a meno che tu non sia disposto a trattare con gli utenti di Windows che lamentano che il loro computer funziona in ogni rete tranne la tua e spiega loro che è colpa di Microsoft, non tua, che ti consigliamo di semplicemente ...
Jörg W Mittag

9
lasciare inutilizzati questi due indirizzi.
Jörg W Mittag,

1
@ JörgWMittag, aspetta, stai dicendo che, data la rete 10.0.0.0/22 ​​(ovvero 10.0.0.0-10.0.3.255), Windows 7 non è in grado di utilizzare 10.0.1.0 o 10.0.2.255? (Anche se non suppongo che sia più importante, dal momento che le versioni precedenti non sono più supportate)
ilkkachu

2
@ilkkachu: Non sono sicuro di come tu abbia inventato quei numeri. L'indirizzo di rete per 10.0.0.0/22 ​​è 10.0.0.0 e l'indirizzo di trasmissione è 10.0.3.255. Se ricordo bene, ci sono alcuni problemi con l'utilizzo (almeno uno) di questi due indirizzi in una rete con computer Windows con il vecchio stack TCP / IP (pre-Vista). Non ricordo esattamente quali fossero questi problemi e se tali problemi esistono solo quando si sta tentando di assegnare uno di quegli IP al PC Windows o se ci sono anche problemi di comunicazione tra un PC Windows e quegli IP. Inoltre non ricordo se si tratta della rete ...
Jörg W Mittag

2
@ JörgWMittag ilkkachu Ancora oggi, con sottoreti variabili, diversi sistemi operativi (non solo Windows) e molti altri software hanno problemi con qualsiasi indirizzo che termina in 0 o 255. Anche se è valido come indirizzo interno di un intervallo> 256 . Questo è un residuo di indirizzamento di classe A / B / C e un programmatore suppone che qualsiasi computer si trovi su una sottorete di classe C e quindi 0 e 255 sono per definizione non validi. Anche se il sistema operativo e il software funzionano correttamente, è comunque possibile connettersi a un altro computer che presenta problemi. Meglio evitare del tutto .0 e .255 anche se sono validi nella configurazione.
Tonny,

4

Una lettura della procedura di sottorete Internet standard , Verso uno schema Internet standard per la sottorete e in particolare BROADCASTING DATAGRAMS INTERNET NELLA PRESENZA DI SOTTORETE sezione 7 descrive la logica delle scelte presentate.

La tua ipotesi è corretta per le sottoreti CIDR con maschere di bit contigue.

È più facile considerare l'indirizzo di trasmissione come Bcast = Host | ~Mask. Ciò ignora esplicitamente la scelta dei bit nella sottorete. Di conseguenza l'indirizzo di rete è Net = Bcast & ~Mask.

In senso stretto, è possibile utilizzare l'indirizzo di tutti zeri (.0 per CIDR / 24), ma potrebbe confondere alcuni software, mentre tutti (.255) sono riservati come indirizzi di trasmissione noti.

Alcune versioni precedenti di BSD Unix 4.2 prima della RFC 919 venivano spedite usando l' Netindirizzo come trasmissione. Ciò ha causato confusione in ambienti misti fino alla versione 4.3.


1

Indirizzo di rete

La rete per Local area network (LAN) o Wide area network (WAN) viene fornita con un indirizzo in base alla loro capacità. I terminali collegati alla rete utilizzano questi indirizzi per comunicare tra loro. Il sistema di default riserva un indirizzo per la comunicazione dell'amministratore. Di solito gli indirizzi "255" sono usati per trasmettere messaggi in sistemi Linux o Fedora. L'amministratore utilizza questo indirizzo per trasmettere o indirizzare tutti gli utenti della rete. In caso di arresto di emergenza, l'amministratore può trasmettere il messaggio ai propri utenti per salvare le proprie azioni. Alcuni sistemi operativi offrono la possibilità di assegnare l'indirizzo "0".

Ulteriori informazioni sulle nozioni di base sulla rete: indirizzamento della rete da parte di Microsoft

Dai un'occhiata anche a Cos'è la traduzione dell'indirizzo di rete?

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.