Vor vielen Monden, wenn ich nur ein kleines Kind meine Karriere begonnen wird , hatte ich ein Vorstellungsgespräch für eine Low-Level - Entwickler Rolle. Nachdem ich gerade erfahren hatte, wie CIDR implementiert wurde, wollte ich unbedingt mein Wissen unter Beweis stellen.
Leider hat diese Taktik für mich nicht so gut geklappt. Ich erinnere mich, dass ich von der allerersten Frage, die gestellt wurde, völlig sprachlos war (und dann durcheinander war, ging alles bergab). Die Frage war:
Warum sind IPv4-Adressen 32-Bit?
Ich gab sofort zu, dass ich die Antwort nicht kannte , aber ich wusste , dass der ursprüngliche Protokollentwurf den Adressraum in eine 8-Bit-Netzwerknummer und eine 24-Bit-Host-ID aufteilte - deshalb versuchte ich, dies zu rationalisieren das Designer - Protokoll ein Internet von einigen Netzwerken vorgestellt (immerhin es ursprünglich Link zusammen , um einen beabsichtigten wurde spezifisch die jeweils viele Hosts und zur Vereinfachung der Programmierung, hielt alles an Byte - Grenzen ausgerichtet wenige).
Ich erinnere mich, dass der Interviewer mit meiner Antwort unzufrieden war und mir vorschlug, dass der wahre Grund darin besteht, dass es garantiert in ein long int
in C passt , was die Implementierungsdetails vereinfacht. Ich war damals jung und grün und akzeptierte dies als vernünftige Antwort und hatte (vor heute) nicht mehr darüber nachgedacht.
Aus irgendeinem Grund ist dieses Gespräch gerade zu mir zurückgekehrt, und jetzt, wo ich darüber nachdenke, scheint es nicht ganz plausibel zu sein:
Bei dem ursprünglichen Adressierungsschema, das Netzwerk- und Hostfelder fester Größe umfasst, ist es unwahrscheinlich, dass ein Entwickler die Verkettung der beiden Felder einer einzelnen Variablen zuordnen wollte (ich habe keinen Zugriff auf frühe IP-Implementierungen, um zu überprüfen, welche tatsächlich in der Praxis gemacht); und
Zu der Zeit , dass die Arbeiten auf TCP / IP begann, wurde C weder standardisiert noch die de facto „lingua franca“ von Low-Level - Software - Entwicklung , dass es heute geworden ist.
War der Vorschlag des Interviewers tatsächlich begründet? Wenn nicht, was waren die wirklichen Gründe , dass die Protokoll - Designer wählten Adressierung 32-Bit?
quelle
640 kB ought to be enough for anybody.
niemand damit gerechnet hat, dass Toaster und Kühlschränke über einen Internetzugang verfügen.Antworten:
Hier ist ein Link zu einem Hangout mit Vint Cerf (April 2014), in dem er erklärt, wie er dachte, dass dieses Internet nur ein Experiment sein sollte:
Ich hatte dies bereits als Kommentar zu Jens Links Antwort gepostet, aber ich fühlte, dass es ein bisschen mehr auftauchen sollte.
quelle
Einfache Antwort: Weil Vint Cerf das beschlossen hat . Er dachte, dass er ein experimentelles Protokoll entwarf und hielt 32-Bit für mehr als ausreichend für diesen Zweck; Er hatte nicht erwartet, dass IPv4 in Produktionssystemen verwendet werden würde, und daher wurde die Größe des Adressraums nicht weiter untersucht.
Auf der Google IPv6-Konferenz 2008 hielt er eine Podiumsdiskussion mit dem Titel Wie wird das IPv6-Internet aussehen? währenddessen erzählte er :
Transkript von Peter E. Murray .
quelle
Wortgröße . Sie haben Software geschrieben und keine Computerhardware entworfen - obwohl ich mir sicher bin, dass sie Leistung und Portabilität im Auge hatten. Zu dieser Zeit war 32 Bit das
word
, daslongword
oderint
oderlongInt
oder was auch immer. Siehe Auswahl der Wortgröße .Sie schrieben diese Software "in den ersten Jahrzehnten der 32-Bit-Architekturen (1960er bis 1980er Jahre)." - Wikipedia
quelle