Por que não consigo usar o primeiro ou o último endereço em uma sub-rede?


37

Eu tenho rede com um intervalo 10.0.0.0/24. Isso significa que eu tenho 10.0.0.0 a 10.0.0.255, no entanto, não posso usar 10.0.0.0 ou 10.0.0.255, mas posso usar qualquer coisa entre isso.

Por que é isso? A máscara 255.255.255.0 implica que o último dígito é o endereço do host; portanto, por que não consigo usar 0 ou 255?


7
Observe que isso é apenas IPv4. O IPv6 possui regras diferentes em relação ao primeiro e ao último endereço em uma sub-rede.
Michael Hampton

1
No linux, você não terá problemas ao usar o primeiro endereço. Alguns sistemas antigos acho que 0,0 é um endereço de broadcast e impedi-lo de usá-lo, mas isso é errado :)
Navin

Respostas:


70

Em uma rede / 24 você não pode usar 0porque é a identificação da rede (os dispositivos a utilizam para reconhecer as diferentes redes às quais estão conectadas).

Em um PC com Windows, abra um prompt de comando e digite netstat -r. Você obterá a tabela de roteamento usada pelo PC, cada rede é listada usando a identificação de rede (primeiro endereço).

insira a descrição da imagem aqui

O último endereço, 255no caso de uma rede / 24, é o endereço de broadcast. Os dispositivos conectados à rede o utilizam para enviar uma transmissão, uma mensagem destinada a todos os dispositivos da rede.

Em geral, o primeiro endereço é a identificação da rede e o último é a transmissão , eles não podem ser usados ​​como endereços regulares.


9
Para / 31, porém, há uma exceção especial: supõe-se que sejam links ponto a ponto implicitamente porque eles têm apenas dois endereços.
Simon Richter

10
A publicação do seu endereço IP público e nome de usuário para o referido sistema me dá o heebie-jeebies.
Mikeazo 9/08

8
@mikeazo Por quê? Você tem senhas decentes e fail2ban, certo? Além disso, todo endereço IPv4 na Internet é atacado.
Michael Hampton

4
@ MichaelHampton porque agora a internet sabe seu nome de usuário, seu endereço IP e que ele não está usando com êxito chaves SSH, mas senhas. Isso já refina o espaço de pesquisa. Mas você está certo: para um profissional, isso não deve ser um problema. Não é uma boa prática ensinar o mundo.
Konerak

29
@mikeazo É uma captura de tela que eu achei no Google netstat -r. Não é o meu sistema.
precisa saber é

8

Observe que você não pode usar o primeiro e o último endereço no intervalo se ele for usado para numerar dispositivos em um domínio de broadcast (por exemplo, uma rede física ou uma vlan etc.). Como a outra resposta indica, de fato, o primeiro e o último são usados ​​como endereço de rede e transmissão, respectivamente, nesse cenário. Além disso, em alguns cenários, o primeiro endereço também é interpretado como transmissão.

No entanto, existem outros cenários de uso em que você pode usar o primeiro e o último endereço. Por exemplo, se você é um administrador de firewall e recebe o intervalo 10.0.0.0-10.0.0.255 pelo seu administrador de rede, pode usar todos os 256 endereços como endereços NAT no seu firewall. Admito que não tenho visto isso com muita frequência, e quando é feito, pode causar alguma confusão - como a primeira reação da maioria das pessoas é pensar que não é permitido - e essa confusão pode muito bem ser uma razão para desaconselhar.

Se você está escolhendo, ok, estritamente falando, 10.0.0.0-10.0.0.255 nesse cenário não é uma rede / 24 , é um intervalo ou um bloco de endereços, mas acredito que é uma prática comum ainda se referir a isso como "a sub-rede 10.0.0.0/24" nesse cenário.


7
"Admito que não vejo isso sendo feito com muita frequência, e quando é feito, pode causar alguma confusão - como a primeira reação da maioria das pessoas é pensar que não é permitido - e essa confusão pode muito bem ser uma razão para desaconselhar." - Se bem me lembro, algumas dessas "pessoas confusas" são os designers da pilha de rede do Windows NT (pelo menos a original até o Vista), portanto, a menos que você esteja disposto a lidar com usuários do Windows reclamando que o computador deles funciona em todos os rede, exceto o seu e explicar-lhes que isso é culpa da Microsoft, não o seu, você pode ser bem aconselhados a simplesmente ...
Jörg W Mittag

9
deixe esses dois endereços sem uso.
Jörg W Mittag

1
@ JörgWMittag, espere, você está dizendo que, dada a rede 10.0.0.0/22 ​​(ou seja, 10.0.0.0-10.0.3.255), o Windows anterior ao 7 não pode usar 10.0.1.0 ou 10.0.2.255? (Embora eu não acho que importa muito mais, já que as versões que o velho não são suportados por mais tempo)
ilkkachu

2
@ilkkachu: Não tenho certeza de como você criou esses números. O endereço de rede para 10.0.0.0/22 ​​é 10.0.0.0 e o endereço de transmissão é 10.0.3.255. Se bem me lembro, existem alguns problemas ao usar (pelo menos um) esses dois endereços em uma rede com computadores Windows com a pilha TCP / IP antiga (anterior ao Vista). Não me lembro exatamente quais eram esses problemas e se esses problemas existem apenas quando você está tentando atribuir um desses IPs ao PC com Windows ou se também há problemas de comunicação entre um PC com Windows e esses IPs. Eu também não me lembro se é a rede ...
Jörg W Mittag

2
@ JörgWMittag ilkkachu Até hoje, com sub-redes variáveis, vários SOs (não apenas o Windows) e muitos outros softwares têm problemas ao usar qualquer endereço que termine em 0 ou 255. Mesmo que seja válido como um endereço interno de um intervalo> 256 . Isso é uma sobra de endereçamento de classe A / B / C e um programador assumindo que qualquer computador esteja em uma sub-rede de classe C e, portanto, 0 e 255 são por definição inválidos. Mesmo que seu sistema operacional e software funcionem corretamente, ainda é possível conectar-se a outro computador com problemas. É melhor evitar .0 e .255 completamente, mesmo que sejam válidos em sua configuração.
Tonny

4

Uma leitura do Procedimento padrão de sub-rede da Internet , Em direção a um esquema padrão da Internet para sub - redes e, especificamente, DATAGRAMAS DE INTERNET NA PRESENÇA DE SUB-REDES, seção 7 descreve a lógica das escolhas que você apresenta.

Sua hipótese está correta para sub-redes CIDR com máscaras de bits contíguas.

É mais fácil considerar o endereço de transmissão como Bcast = Host | ~Mask. Isso ignora explicitamente a escolha dos bits na sub-rede. Correspondentemente, o endereço de rede é Net = Bcast & ~Mask.

Estritamente, o endereço com todos os zeros (.0 para CIDR / 24) pode ser usado, mas pode confundir alguns softwares, enquanto todos (.255) estão reservados como um endereço de transmissão conhecido.

Alguns lançamentos anteriores do BSD Unix 4.2 antes do RFC 919 foram enviados usando o Netendereço como transmissão. Isso causou alguma confusão em ambientes mistos até o lançamento do 4.3.


1

Endereço de rede

A rede da rede local (LAN) ou da rede local (WAN) é fornecida com o endereço com base em sua capacidade. Os terminais conectados à rede usam esses endereços para se comunicar. O sistema, por padrão, reserva algum endereço para a comunicação do administrador. Geralmente, os endereços "255" são usados ​​para transmitir mensagens nos sistemas Linux ou Fedora. O administrador usa esse endereço para transmitir ou endereçar todos os usuários da rede. Em caso de desligamento de emergência, o administrador pode transmitir a mensagem aos seus usuários para salvar suas ações. Alguns sistemas operacionais fornecem facilidade para atribuir um endereço "0".

Saiba mais sobre os princípios básicos de rede: endereçamento de rede pela Microsoft

Veja também o que é tradução de endereço de rede?

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.