Il y a plusieurs lunes, quand j'étais juste un wee bairn commençant ma carrière, j'ai eu un entretien d'embauche pour un rôle de développeur de bas niveau. Ayant à cette époque juste appris comment le CIDR était mis en œuvre, j'avais envie de montrer mes connaissances.
Malheureusement, cette tactique n'a pas très bien fonctionné pour moi. Je me souviens avoir été complètement bouleversé par la toute première question qui avait été posée (et ensuite décoiffée, tout s’est dégradé). La question était:
Pourquoi les adresses IPv4 sont-elles 32 bits?
J'admet volontiers que je ne connais la réponse, mais je ne sais que la conception du protocole d' origine divisé l'espace d'adressage dans un numéro de réseau 8 bits et un hôte 24 bits identifiant-je ai donc essayé de le rationaliser au motif que les concepteurs de protocoles ont imaginé un réseau Internet composé de quelques réseaux (après tout, il était initialement destiné à en relier quelques-uns spécifiques ), chacun comprenant de nombreux hôtes et, pour une programmation simplifiée, tout était aligné sur les limites d’octets.
Je me souviens que l’intervieweur n’était pas satisfait de ma réponse et me suggérait que la vraie raison était qu’elle était garantie pour tenir dans un long int
C, simplifie donc les détails de la mise en œuvre. Étant jeune et vert à l’époque, j’ai accepté cela comme une réponse raisonnable et (avant aujourd’hui) je n’y pensais plus.
Pour une raison quelconque, cette conversation vient de me revenir et, maintenant que j'y réfléchis, cela ne semble pas tout à fait plausible:
Dans le schéma d’adressage original comprenant des champs hôte et réseau de taille fixe, il est peu probable qu'un développeur ait voulu attribuer la concaténation des deux champs à une seule variable (je n’ai pas accès aux premières implémentations IP pour vérifier ce qu’elles fait effectivement); et
Au début des travaux sur TCP / IP, C n'était ni normalisé ni la "lingua franca" de facto du développement de logiciels de bas niveau qu'il est devenu aujourd'hui.
La suggestion de l'intervieweur était-elle réellement fondée en fait? Sinon, quelles sont les vraies raisons pour lesquelles les concepteurs de protocole ont choisi l'adressage 32 bits?
la source
640 kB ought to be enough for anybody.
personne ne s'attendait à ce que les grille-pain et les réfrigérateurs aient accès à Internet.Réponses:
Voici un lien vers un Hangout avec Vint Cerf (avril 2014) où il explique comment il pensait que cet internet était supposé être une expérience uniquement:
J'avais déjà posté cela en tant que commentaire sur la réponse de Jens Link, mais je sentais que cela devait faire surface un peu plus.
la source
Réponse facile: parce que Vint Cerf en a décidé ainsi . Il pensait concevoir un protocole expérimental et considérait que 32 bits était plus que suffisant pour cela. il ne s'attendait pas à utiliser IPv4 dans les systèmes de production et n'a donc pas réfléchi davantage à la taille de l'espace d'adressage.
Lors de la conférence Google IPv6 2008, il a animé une table ronde intitulée A quoi ressemblera l'Internet IPv6? au cours de laquelle il a raconté :
Transcription de Peter E. Murray .
la source
Taille du mot . Ils étaient en train d’écrire des logiciels et non de concevoir du matériel informatique - même si je suis sûr qu’ils avaient à l’esprit performance et portabilité. A cette époque, 32 bits était le
word
, lelongword
,int
oulongInt
ou quoi que. Voir Choix de la taille des mots .Ils ont écrit ce logiciel "pendant les premières décennies d'architectures 32 bits (des années 1960 aux années 1980)". - Wikipedia
la source