Muitas luas atrás, quando eu era apenas um pequeno garoto começando minha carreira, eu tive uma entrevista de emprego para um papel de desenvolvedor de baixo nível. Tendo acabado de aprender como o CIDR foi implementado, eu estava interessado em mostrar meu conhecimento.
Infelizmente, essa tática não funcionou muito bem para mim. Lembro-me de ter ficado completamente chocado com a primeira pergunta que foi feita (e, depois, frustrada, tudo desceu). A questão era:
Por que os endereços IPv4 são de 32 bits?
Eu prontamente admitiu que eu não sei a resposta, mas eu queria saber que o projeto do protocolo original dividido o espaço de endereço para um número de rede de 8 bits e uma série de 24 bits identificador-então eu tentei racionalizar, alegando que os designers protocolo imaginou uma Internet de algumas redes (afinal, ele foi originalmente destinado a ligação em conjunto um específico poucos) cada uma composta por muitos anfitriões e, por simplicidade de programação, manteve tudo alinhado para limites de byte.
Lembro-me de o entrevistador estar insatisfeito com minha resposta e sugerir que o verdadeiro motivo é que ele se encaixa dentro de um long int
em C, simplificando assim os detalhes da implementação. Sendo jovem e verde na época, aceitei isso como uma resposta razoável e (antes de hoje) não havia pensado mais nisso.
Por alguma razão, a conversa acabou de voltar para mim e, agora que penso nisso, não parece totalmente plausível:
Sob o esquema de endereçamento original, que inclui campos de host e rede de tamanho fixo, é improvável que um desenvolvedor deseje atribuir a concatenação dos dois campos a uma única variável (não tenho acesso a nenhuma das implementações de IP anteriores para verificar o que elas realmente fez na prática); e
Na época em que o TCP / IP começou, o C não era padronizado nem a "língua franca" de fato do desenvolvimento de software de baixo nível que se tornou hoje.
A sugestão do entrevistador foi realmente fundada? Caso contrário, quais foram os reais motivos pelos quais os projetistas de protocolo escolheram o endereçamento de 32 bits?
640 kB ought to be enough for anybody.
ninguém esperava que torradeiras e geladeiras tivessem acesso à Internet.