最近、私の仕事の一つは、私のチームによって開発されたLinuxとは全く異なるOSでC++を使ってネットワークスタックを書くことです。しかし、私は、Linuxネットワークスタックの深い理解がどのように設計と実装に役立つかと思います。linuxネットワークスタックのソースコードを学ぶ方法
アドバイスや役立つ資料がありますか?
最近、私の仕事の一つは、私のチームによって開発されたLinuxとは全く異なるOSでC++を使ってネットワークスタックを書くことです。しかし、私は、Linuxネットワークスタックの深い理解がどのように設計と実装に役立つかと思います。linuxネットワークスタックのソースコードを学ぶ方法
アドバイスや役立つ資料がありますか?
Unix Network Programming。特にLwIP
- これらは小さく、よく文書化されており、組み込みデバイスに移植されています。 BSD/Linuxネットワークスタックのソースコードから学び、学ぶことはたくさんの作業を必要とします。
スティーブンスはソケットを学習する人にとって私のトップの選択肢になります。しかし、スタックを実装するには、[Tanenbaum](http://www.amazon.com/Computer-Networks-Edition-Andrew-Tanenbaum/dp/0132126958)または[Comer](http:// www。 amazon.com/Internetworking-TCP-Vol-5th-Edition/dp/0131876716)。 IMHO .. – paulsm4
これはuser-sapceでネットワークアプリケーションを書く方法の本です。私が尋ねたのは、カーネル空間にカーネルのネットワーク部分を書く方法に関するアドバイスです。すべて同じようにありがとう。 – mjt0704
ユーザー空間を十分に理解していれば、ターゲットアーキテクチャのリファレンス実装を調査します。多数の実装があり、それらはすべて異なります – nsfyn55
TCP/IP Illustrated, Vol. 2: The Implementation実世界の例としてFreeBSD 4.Xソースコードを使用しています。
私は[Tanenbaum](http://www.amazon.com/Computer-Networks-Edition-Andrew-Tanenbaum/dp/0132126958)のコピーに間違いなく投資します – paulsm4