私はちょうどだったとき、多くの衛星前に、おしっこ bairn私のキャリアを開始、私は低レベルの開発者の役割のための就職の面接がありました。当時、CIDRがどのように実装されているかを学んだだけで、自分の知識を誇示したいと思いました。
悲しいことに、その戦術は私にとってあまりうまく機能しませんでした。最初に尋ねられた質問で完全に床に落ちていたことを思い出します(そして、波立たせて、すべてが下り坂になりました)。問題は:
IPv4アドレスが32ビットなのはなぜですか?
私はすぐに私はいなかったことを認め知っている答えを、私はなかったオリジナルのプロトコルの設計は、8ビットのネットワーク番号にアドレス空間を分割することを知っていて、24ビットのホストIが理由で、それを合理化しようとした識別子-ので、プロトコル設計者は、それぞれが多数のホストを含む少数のネットワーク(結局、特定の少数を相互にリンクすることを意図していた)のインターネットを想像し、プログラミングを簡単にするために、すべてをバイト境界に揃えました。
インタビュアーが私の答えに満足しておらず、本当の理由はlong int
C に収まることが保証されているため、実装の詳細を簡素化することを示唆していることを思い出します。当時は若くて環境に優しいので、私はそれを合理的な答えとして受け入れ、(今日まで)それ以上は考えていませんでした。
なんらかの理由で会話が戻ってきたので、今振り返ってみると、完全に妥当とは思えません。
固定サイズのネットワークフィールドとホストフィールドで構成される元のアドレス指定スキームでは、開発者が2つのフィールドの連結を1つの変数に割り当てたいとは思わないでしょう実際に実際に行いました); そして
TCP / IPで動作するようになった時点で、Cは標準化されておらず、今日の低レベルソフトウェア開発の事実上の「共通語」でもありませんでした。
インタビュアーの提案は実際に実際に設立されましたか?そうでない場合、プロトコル設計者が32ビットアドレッシングを選択した本当の理由は何ですか?
640 kB ought to be enough for anybody.
トースターや冷蔵庫にインターネットへのアクセスが期待されていなかったのと同じ理由。