Por que o endereço IP está listado como 172.18.0.150/24?

Por que o endereço IP está listado como 172.18.0.150/24?

Por que o endereço IP está listado com esta notação 172.18.0.150/24? Quero dizer, o ip é 172.18.0.150 só porque tem /24?, e então qualquer que seja a sub-rede que esteja deve ser preocupação de outra pessoa, não?

3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether f8:b1:56:ba:ae:ee brd ff:ff:ff:ff:ff:ff
inet 172.18.0.150/24 brd 172.18.0.255 scope global eth0

Se eu quiser chegar a 172.18.0.150 em alguma interface (ethX) em outro computador eu poderia adicionar na tabela de roteamento desse computador:

rota ip adicionar 172.18.0.150/25 dev ethX
ou
rota ip adicionar 172.18.0.150/24 dev ethX
ou
rota ip adicionar 172.18.0.150/23 dev ethX
ou
rota ip adicionar 172.18.0.150/8 dev ethX

certo? Então, o que /24 realmente tem a ver com meu endereço na minha NIC? Parece que só tem a ver com roteamento, não? Então, por que listá-lo no endereço IP?

172.18.0.150/24 está na mesma "rede" que 172.18.0.150/8 ou esses dois endereços IP são completamente diferentes?

Responder1

Algumas noções básicas de endereço IP

Os endereços IP são representados internamente como um valor de 32 bits. Os N bits superiores identificam a rede, o restante do número identifica o host na rede.

Vejamos dois exemplos de IPs, primeiro vejamos os 32 bits:

1010110000010010000000010010110
10101100000100100000000110010110

Você pode reescrever o IP de uma forma mais fácil de ler, dividindo-o em grupos de 8 bits (bytes) e escrevendo cada binário no formato decimal:

agrupado:
10101100 00010010 00000000 10010110
10101100 00010010 00000001 10010110
agrupado e decimal:
172.18.0.150
172.18.1.150

A questão agora é "esses endereços IP estão na mesma rede"? Isso depende da configuração da rede. Tomemos por exemplo a máscara de rede

11111111 11111111 11111111 00000000

(Os uns são para a rede, os zeros são para o host.)

Colocando isso nos dois IPs, você verá que ambos os endereços IP estão em redes diferentes. Se a máscara fosse 255.255.0.0, eles estariam na mesma rede.

Rede diferente:
11111111 11111111 11111111 00000000
10101100 00010010 00000000 10010110
10101100 00010010 00000001 10010110
Mesma rede:
11111111 00000000 00000000
10101100 00010010 00000000 10010110
10101100 00010010 00000001 10010110

Tal como acontece com os endereços IP, as máscaras de rede também podem ser escritas em formato decimal com pontos: 255.255.255.0 ou 255.255.0.0. Se agora você precisa escrever o IP completo e a máscara de rede como 172.18.0.150/255.255.255.0 ou 172.18.0.150/255.255.240.0, isso é muita coisa para escrever. Uma escrita mais curta não fornece a máscara de rede, mas o número de 1s na máscara de rede: 172.18.0.150/24 ou 172.18.0.150/20. Como você sabe, os 1s são sempre os bits superiores, então fica claro o que "/24" ou "/20" significa.

Alguns princípios básicos de roteamento

Se você ainda não leu meuresposta para o uso de endereços MACvocê pode querer fazer isso agora.

Resumindo: se o computador envia um pacote IP, ele primeiro verifica se o endereço IP de destino está na mesma rede do próprio computador (o IP de origem). Nesse caso, o computador poderá enviar o pacote diretamente para a rede e o computador de destino poderá recebê-lo. Se o IP de destino não estiver na mesma rede, o computador não poderá alcançar o destino diretamente, mas precisará enviar o pacote para o próximo roteador. As tabelas de roteamento informam ao roteador para quais redes ele deve conectar qual roteador (por exemplo, "se a rede for 172.18.0.0/24, então o roteador 1.1.1.1"). Esse roteador verificará novamente se pode alcançar diretamente o IP de destino ou se precisa encaminhar o pacote para o próximo roteador.

Se quiser dar uma olhada na tabela de roteamento do seu computador, você pode usar ip route.

Tenha em mente que no lado do receptor a máscara de rede não é relevante. 172.18.0.150/24 ou 172.18.0.150/8 são ambos 172.18.0.150 e se o computador receber um pacote para 172.18.0.150 ele irá consumi-lo. A máscara de rede é usada apenas do lado do remetente. Se o computador A enviar um pacote do endereço aaaa/n para o computador B com endereço bbbb/m então o remetente A comparará os n bits superiores do endereço de origem aaaa e os n bits superiores de bbbb Se ambos forem iguais, então aaaa e bbbb estão na mesma rede (en deve ser igual a m) e o pacote pode ser enviado diretamente. Se não forem, então as redes não são iguais (não importa que n possa não ser igual a m) e o pacote deve ser enviado a um roteador que o encaminhará.

Compreendendo a saída "ip route"

Tomemos por exemplo um computador com duas NICs:

padrão via 192.168.178.3 dev eth1 proto métrica estática 1024
10.0.0.0/8 via 172.16.1.1 dev eth0
169.254.0.0/16 dev eth1 escopo link métrica 1000
172.16.0.0/16 dev eth0 proto kernel scope link src 6.31
192.168. 178.0/24 dev eth1 proto kernel escopo link src 192.168.178.21

As linhas 3 a 5 são derivadas dos endereços IP configurados nas NICs ( ip addr). Eles dizem ao computador que se um pacote a ser enviado corresponder, por exemplo, à rede 172.16.0.0/16, ele deverá ser enviado na eth0 (que está configurada para o endereço IP 172.16.126.31 no meu caso). A segunda linha é uma rota específica que adicionei. Diz que os pacotes para 10.0.0.0/8 devem ser enviados para 172.16.1.1 na eth0. A primeira linha fornece o gateway/roteador padrão a ser usado para pacotes que não correspondem a nenhuma outra rede.

Quem decide o que é uma rede?

No nível superiorRFC3330define que nem todos os endereços IP são de uso amplo, mas que alguns intervalos são reservados para fins especiais. Um exemplo é a rede 127.0.0.0/8. O endereço mais proeminente nesse intervalo é 127.0.0.1 (nome: localhost) que identifica o seu próprio computador. É claro que esse IP só é útil no seu próprio computador porque cada pacote enviado para essa rede nunca sai do seu computador. Tomando todos os endereços IP possíveis e removendo os intervalos reservados, você ainda terá um conjunto de redes disponíveis. Esse grande grupo é administrado pela ICANN. O próximo nível de hierarquia são cinco registros regionais da Internet (como RIPE NCC). Eles obtêm intervalos de endereços IP da ICANN e os vendem para seus próprios clientes – os registros locais da Internet. Estes os vendem a clientes finais (por exemplo, empresas).

A decisão de como dividir o intervalo completo de endereços IP cabe a cada gerente do pool. Digamos que você seja a ICANN e gerencie o intervalo 50.0.0.0/8-100.0.0.0/8. Se agora o RIPE NCC solicitar alguns endereços IP, você poderá fornecer 50.0.0.0/16 ou 50.0.0.0/8 ou 50.0.0.0/8 até 60.0.0.0/8. O mesmo se aplica ao RIPE NCC e aos registros locais da Internet. Eles podem fornecer redes grandes ou pequenas. Nos bons e velhos tempos, os registos eram bastante relutantes e por isso ainda existem grandes universidades ou empresas com vastas gamas de endereços das quais nunca necessitaram completamente. Algumas universidades possuem redes /8, portanto possuem 24 bits para o host. Isso significa que eles podem endereçar mais de 16 milhões de computadores. Se eles tiverem apenas alguns milhares de computadores, isso significa que milhões de endereços IP estão reservados para esse cliente, mas nunca são usados ​​- que desperdício. Então, ultimamente você não está mais conseguindo grandes alcances, você deve discutir se realmente precisa de grandes alcances.

De qualquer forma, ao decidir vender as faixas de endereços IP (redes), você deve ter em mente que os grandes roteadores da internet precisam saber como chegar a quase qualquer uma das redes existentes. Se você vende redes muito pequenas, poderá acabar com 10.0.0.0/24 e 10.1.0.0/24 na Europa, 10.0.1.0/24 e 10.1.1.0/24 na Ásia e 10.0.2.0/24 e 10.1.2.0 /24 estando na África. Isso significa que o roteador acabará com muitas pequenas entradas de rede na tabela de roteamento. Se você estivesse fornecendo 10.0.0.0/16 para a Europa, 10.1.0.0/16 para a Ásia e 10.2.0.0/16 para a África, você teria apenas três entradas para redes maiores na tabela de roteamento.

Mas isso tudo não é problema nosso, é assunto dos registros da Internet. Não exatamente, porque...

Quando e como preciso configurar uma rede?

Caso você execute um roteador de uma empresa, poderá obter um intervalo 40.41.0.0/16 e fornecer esses endereços IP aos seus computadores como desejar. Mas neste caso todos os computadores devem estar na mesma rede física (sem roteadores entre eles). Isso pode proporcionar um desempenho ruim para redes grandes, então você pode querer dividir as redes. Se você tiver, por exemplo, dois edifícios, poderá alocar 40.41.0.0/17 para o edifício um e 40.41.128.0/17 para o edifício dois.

Endereços IP privados

Caso você esteja executando um roteador de banda larga ou um roteador de uma empresa, você pode ter visto endereços IP de rede privada como 172.16.0.0/12. O endereço IP que você forneceu (172.18.0.150) é um endereço IP privado (você pode verificar facilmente com seu novo conhecimento sobre máscaras de rede). Eles são usados ​​se você obtiver N endereços IP públicos (no caso de um ISP normal N=1) do seu registro de Internet local, mas tiver M>N dispositivos que precisam de um endereço IP. Neste caso, o roteador possui um endereço IP público (usado para todo o tráfego de e para a Internet) e também uma rede privada com endereços IP privados. No seu caso, o roteador apenas pegou a rede privada 172.18.0.0/24 e forneceu endereços IP dessa rede para cada um dos seus PCs.

Mas e se o roteador de outra pessoa também usar 172.18.0.0/24? Surpreendentemente isso não é um problema. Isso ocorre porque 172.16.0.0/12 é um intervalo de endereços privado. Você nunca verá endereços IP desse intervalo na Internet pública. Se você enviar um pacote para a Internet, fornecendo 172.18.0.150 como endereço de origem, o roteador substituirá 172.18.0.150 pelo endereço IP público fornecido pelo ISP. Se o roteador receber um pacote enviado para o endereço IP público, ele determina para qual dos seus computadores deverá enviar o pacote e altera o endereço IP de destino para o endereço IP da rede privada do seu computador.

Responder2

Certamente, você poderia fazer com que cada host tivesse uma conexão ponto a ponto com o roteador. Dessa forma, porém, todo o tráfego teria que passar pelo roteador. Obviamente, isso é terrivelmente ineficiente.

Se você informar ao seu computador que “todos os endereços IP de 192.168.0.1 a 192.168.0.254 são diretamente acessíveis neste link” (192.168.0.X/24), ele poderá usar transportes de rede local mais eficientes para se comunicar diretamente com destinos no mesma rede.

Responder3

nunca são as preocupações de outra pessoa.

É bom saber a que sub-rede um endereço IP pertence.

Imagine que você está criando sub-redes usando/25. Nesse caso 172.18.0.127e 172.18.0.128parece estar na mesma sub-rede porque são consecutivos, mas estão emsub-redes diferentes.

É necessário indicar os endereços como 172.18.0.127/25e 172.18.0.128/25. Então você sabe onde está cada um deles.

Este é um exemplo simples, mas pode piorar se o intervalo 172.18.0.128 to 172.18.0.255for novamente dividido em sub-redes, por exemplo, usando/26.

Responder4

A parte após a barra indica quantos bits de máscara de sub-rede usar. Exemplo:

192.168.1.1/24 is 192.168.1.1 255.255.255.0

255.255.255.0está usando 24para 32 bitscriar a sub-rede.

em binário fica assim:

11111111.11111111.11111111.00000000

Então, se você quer saber quem você é, você é alguém abaixo de 172.180.0.150, mas qual e como chegar até você .. etc.

informação relacionada