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?
640 kB ought to be enough for anybody.
niemand damit gerechnet hat, dass Toaster und Kühlschränke über einen Internetzugang verfügen.