Linux TCP/IP スタックに飛び込むことを計画しています。どのカーネル バージョンのソース ツリーを調べる必要がありますか? 概念的には現在のカーネル コードに近いはずですが、把握して理解するのは少し簡単です。または、lwip のような他のプロジェクトを検討する必要があります。
私の目標は、デバイス ドライバー レベル以上のネットワークに関するすべてを学ぶことです。
ありがとう。
Linux TCP/IP スタックに飛び込むことを計画しています。どのカーネル バージョンのソース ツリーを調べる必要がありますか? 概念的には現在のカーネル コードに近いはずですが、把握して理解するのは少し簡単です。または、lwip のような他のプロジェクトを検討する必要があります。
私の目標は、デバイス ドライバー レベル以上のネットワークに関するすべてを学ぶことです。
ありがとう。
lwip
始めるのは良いことです。これは、基本機能の非常に単純な実装です。さらに、ユーザー空間に 2 つの「仮想ホスト」を簡単に作成して、その動作を確認することもできます。たとえば、パイプを介して互いに通信する 2 つのプロセスを作成するだけです。このようにして、基本的な理解を得ることができます。次に、最新のlinux
コードを確認する必要があります。
ネットワーク プログラマーから得たアドバイスの 1 つは、最初にカーネル 1.0 のソースを調べてから、徐々に最新の 3.X カーネル ソースを使用することです。
最近の Linux ディストリビューション (Ubuntu など) をインストールし、uname -r
コマンドを実行して使用するカーネル バージョンを確認します。このコマンドが示すバージョンをダウンロードします。
Linux カーネルのコンパイルの最初のステップは、構成のセットアップです。ディストリビューションにインストールされているものと同じカーネル バージョンをダウンロードすることで、これらすべての構成を問題なく実行make oldconfig
およびインポートできるため、ネットワーク スタックの実装の学習に集中できます。