Por que os endereços ethernet / mac estão em números hexadecimais e ip em decimais?


7

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?


Alguma resposta o ajudou? Nesse caso, você deve aceitar a resposta para que a pergunta não apareça para sempre, procurando uma resposta. Como alternativa, você pode fornecer e aceitar sua própria resposta.
Ron Maupin

Respostas:


11

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).


2

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

11
Você obtém o mesmo intervalo de hexadecimal, e é sempre seguro representar cada octeto como 2 dígitos hexadecimais. Então, em vez de 192.168.1.1, você poderia ter o C0.A8.01.01. Muito mais fácil de ler e lembrar. Você também seria capaz de usar mnemônicos pronunciáveis, como talvez o prefixo mais popular da rede doméstica pudesse ter sido conhecido coloquialmente como "koate". Finalmente, com hexadecimal não haveria representações inválidas possíveis, ou seja, não existe hexadecimal equivalente a 256.310.001.999. ffffffff é o número máximo representável E o endereço IP mais alto. Hex é apenas muito mais eficiente e claro que decimal. Que pena: /
Justin Force

11
Para ser claro, eu gosto da sua resposta. Mas realmente parece que deveríamos ter usado hexadecimal para endereços IPv4 em primeiro lugar. : D
Justin Force
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.