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?
fonte
640 kB ought to be enough for anybody.
ninguém esperava que torradeiras e geladeiras tivessem acesso à Internet.Respostas:
Aqui está um link para um Hangout com Vint Cerf (abril de 2014), onde ele explica como ele pensava que essa Internet deveria ser apenas um experimento:
Eu já havia postado isso como um comentário na resposta de Jens Link, mas senti que deveria aparecer um pouco mais.
fonte
Resposta fácil: porque Vint Cerf decidiu que sim . Ele pensou que estava projetando um protocolo experimental e considerou 32 bits mais do que suficiente para esse fim; ele não esperava que o IPv4 fosse usado em sistemas de produção e, portanto, não se pensou mais no tamanho do espaço de endereço.
Na Google IPv6 Conference 2008, ele organizou um painel de discussão intitulado Como será a Internet IPv6? durante o qual ele relatou :
Transcrição por Peter E. Murray .
fonte
Tamanho da palavra . Eles estavam escrevendo software, não projetando hardware de computador - embora eu tenha certeza de que eles tinham desempenho e portabilidade em mente. Naquela época, 32 bits era o
word
, olongword
, ouint
oulongInt
ou o que quer. Consulte Escolha do tamanho da palavra .Eles escreveram esse software "durante as primeiras décadas de arquiteturas de 32 bits (das décadas de 1960 a 1980)". - Wikipedia
fonte