it-swarm-pt.tech

CIDR for Dummies

Entendo o que é CIDR e para que é usado, mas ainda não consigo descobrir como calculá-lo na minha cabeça. Alguém pode dar uma explicação do tipo "para manequins" com exemplos?

46
Bob

O CIDR (roteamento entre domínios sem classe, pronunciado "sequestrador" ou "cidra" - adicione sua própria variante local aos comentários!) É um sistema de definição da parte da rede de um endereço IP (geralmente as pessoas pensam nisso como uma máscara de sub-rede) . A razão pela qual é "sem classe" é que permite uma maneira de quebrar as redes IP de maneira mais flexível do que sua classe base.

Quando as redes IP foram definidas pela primeira vez, os IPs tinham classes com base em seu prefixo binário:

Class    Binary Prefix    Range                       Network Bits
A        0*               0.0.0.0-127.255.255.255     8
B        10*              128.0.0.0-191.255.255.255   16
C        110*             192.0.0.0-223.255.255.255   24
D        1110*            224.0.0.0-239.255.255.255
E        1111*            240.0.0.0-255.255.255.255

(Observe que essa é a fonte das pessoas que se referem a/24 como "classe C", embora essa não seja uma comparação estritamente verdadeira porque uma classe C precisava ter um prefixo específico)

Esses prefixos binários foram usados ​​para rotear grandes pedaços de espaço IP. Isso foi ineficiente porque resultou em grandes blocos sendo atribuídos a organizações que não precisavam necessariamente deles, e também porque as Class Cs só podiam ser atribuídas em incrementos de 24 bits, o que significa que as tabelas de roteamento podiam ficar desnecessariamente grandes à medida que várias Class Cs eram roteadas para o mesmo local.

O CIDR foi definido para permitir que máscaras de sub-rede de comprimento variável (VLSM) sejam aplicadas às redes. Conforme o nome se aplica, grupos de endereços ou redes podem ser divididos em grupos que não têm relação direta com a "classe" natural à qual pertencem.

A premissa básica do VLSM é fornecer a contagem do número de bits de rede em uma rede. Como um endereço IPv4 é um número inteiro de 32 bits, o VLSM sempre estará entre 0 e 32 (embora não tenha certeza de que instância você pode ter uma máscara de tamanho 0).

A maneira mais fácil de começar a calcular o VLSM/CIDR em sua cabeça é entender os limites "naturais" de 8 bits:

CIDR    Dotted Quad
/8      255.0.0.0
/16     255.255.0.0
/24     255.255.255.0
/32     255.255.255.255

(A propósito, é perfeitamente legal e bastante comum em ACLs usar uma máscara/32. Isso significa simplesmente que você está se referindo a um único IP)

Depois de entender isso, é simples aritmética binária mover para cima ou para baixo para obter o número de hosts. Por exemplo, se um/24 tiver 256 IPs (vamos deixar de fora os endereços de rede e transmissão, essa é uma questão diferente da teoria de redes), aumentar a sub-rede em um bit (para/25) reduzirá o espaço do host em um bit (para 7), o que significa que haverá 128 IPs.

Aqui está uma tabela do último octeto. Essa tabela pode ser deslocada para qualquer octeto para obter o equivalente quadriculado pontilhado.

CIDR    Dotted Quad
/24     255.255.255.0
/25     255.255.255.128
/26     255.255.255.192
/27     255.255.255.224
/28     255.255.255.240
/29     255.255.255.248
/30     255.255.255.252
/31     255.255.255.254
/32     255.255.255.255

Como um exemplo de mudança para outro octeto,/18 (que é/26 menos 8 bits, então mudou um octeto) seria 255.255.192.0.

78
jj33

Cada octeto vale 8.

  • 255.0.0.0/8
  • 255.255.0.0/16
  • 255.255.255.0/24
  • 255.255.255.255/32

Assim, você pode restringir rapidamente sua sub-rede e ficar preocupado com os últimos 8 bits.

128, 192, 224, 240, 248, 252, 254, 255

+1  , +2 , +3 , +4 , +5 , +6 , +7 , +8
  • 255.128.0.0 =/9
  • 255.192.0.0 =/10
  • 255.224.0.0 =/11
  • 255.240.0.0 =/12
  • 255.248.0.0 =/13
  • 255.252.0.0 =/14
  • 255.254.0.0 =/15

Espero que seja claro o suficiente

8
sclarson

Um dia (sic) de atraso, espero que não seja um dólar a menos. CIDR é o número de um bit contíguo na máscara IPv4 (32 bits), iniciando no bit mais significativo.

10000000 00000000 00000000 00000000 em que 1 = bit mais significativo

As máscaras comuns são/8,/16,/24, que caem em um limite de 8 bits (octeto).

11111111 00000000 00000000 00000000 =/8 = 255.0.0.0

11111111 11111111 00000000 00000000 =/16 = 255.255.0.0

11111111 11111111 11111111 00000000 =/24 = 255.255.255.0

Não é realmente difícil quando não está alinhado com o octeto, mas exige alguma matemática e compreensão simples do que é um octeto.

11111111 11111111 11100000 00000000 =/19

Os dois primeiros octetos da máscara são 255.255 (/ 16 é menor que/19). O último octeto é 0 (/ 19 é menor que/24). Até agora sabemos

11111111 11111111 11100000 00000000 =/19 = 255.255.?.0

Ao olhar para cada octeto, lembre-se de que é um valor de 8 bits, de 0 a 255.

0 0 0 0 0 0 0 0 
1
2 6 3 1
8 4 2 6 8 4 2 1

Portanto, o terceiro octeto (?) 11100000 é 128 + 64 + 32 = 224. Isso significa

11111111 11111111 11100000 00000000 =/19 = 255.255.224.0

6
dbasnett

É muito propenso a erros calcular redes não triviais manualmente. Experimente um Calculadora CIDR .

4
hayalci

Pelo contrário, acho bom entender completamente [~ # ~] cidr [~ # ~] e ser capaz de fazer cálculos em seu cérebro. .. mas às vezes você deseja checar seus cálculos. Eu gosto de usar a Calculadora de sub-rede PHP : http://share-foo.com/ SubnetCalc.php

alt text

2
l0c0b0x

Outro bom documento a ter, se você quiser apenas uma referência de mesa, é o RFC 1878 - Tabela de sub-rede de comprimento variável para IPv4 .

1
Gavin McTaggart