Por que os endereços Ethernet / MAC são hexadecimais (e possuem 48 bits) e os números IP em decimais (e possuem 32 bits)? Isso tem razões históricas ou práticas?
Por que os endereços Ethernet / MAC são hexadecimais (e possuem 48 bits) e os números IP em decimais (e possuem 32 bits)? Isso tem razões históricas ou práticas?
Respostas:
Pessoas diferentes projetam protocolos diferentes. A Ethernet pode transportar mais do que o IP (o IPX era bastante comum entre 15 e 20 anos atrás e também usava hexadecimais em seus endereços. Para ser mais preciso: a parte local de um endereço IPX era o endereço MAC). Por outro lado, o IP pode ser executado sem o uso da Ethernet como protocolo de camada 2.
De alguma forma, a Ethernet (e o endereçamento MAC) se tornou o protocolo dominante da camada 2 e o IPv4 o protocolo dominante da camada 3. Com o IPv6, temos o HEX de volta em nossos endereços IP (v6).
Jens tem uma ótima resposta técnica (e recebeu um voto positivo de mim), mas o outro aspecto é a legibilidade humana, porque, como seres humanos, sempre tínhamos a intenção de ser as "coisas" que precisariam entender esses endereços em uma camada mais alta de consciência que as máquinas não possui. Transmitir um endereço de 48 bits em decimal seria menos eficiente do que transmitir um endereço de 32 bits em decimal (no contexto da legibilidade humana; tudo é binário para um roteador / switch / qualquer outra coisa).
Por exemplo, o espaço numérico que pode ser expresso por 32 bits se presta muito bem a dividir esse espaço em pedaços de tamanho uniforme (os pedaços aqui são bytes ou octetos ) de 8 bits cada, e você tem uma capacidade decimal máxima " "de 255 para cada um desses blocos. Isso naturalmente levaria a representar esses endereços no formato decimal pontilhado, porque você nunca terá um octeto com mais de três dígitos decimais.
Um endereço MAC é diferente. O hexadecimal é mais eficiente aqui, porque você pode expressar mais com menos e limita novamente o escopo do comprimento dos dígitos para compensar o espaço de endereço maior. Existem 6 octetos em um endereço de 48 bits e cada dígito hexadecimal é de 4 bits; você não terá nenhum octeto em um endereço de 48 bits com mais de dois dígitos hexadecimais.
aa:d3:ad:be:ef:aa
é mais fácil (mais eficiente) ler, escrever e interpretar do que
170:211:173:190:239:170