我打算進入Linux TCP/IP協議棧。我應該研究哪種內核版本的源代碼樹 - 它應該更接近當前內核代碼的概念,但是更容易理解和理解。或者我應該看看像lwip這樣的其他項目。學習linux網絡協議棧
我的目標是在設備驅動程序級別上學習有關網絡的一切。
謝謝。
我打算進入Linux TCP/IP協議棧。我應該研究哪種內核版本的源代碼樹 - 它應該更接近當前內核代碼的概念,但是更容易理解和理解。或者我應該看看像lwip這樣的其他項目。學習linux網絡協議棧
我的目標是在設備驅動程序級別上學習有關網絡的一切。
謝謝。
lwip
是一件好事情開始。這是基本功能的一個非常簡單的實現。此外,您可以輕鬆在用戶空間中創建兩個「虛擬主機」,以便在行動中看到它 - 例如,創建兩個可以通過管道相互通信的進程。這樣你就可以得到基本的瞭解。那麼你絕對應該看看現代linux
的代碼。
一個建議,我從網絡程序員得到的是開始看內核1.0源,然後逐步使用最新的3.X內核源。
安裝最新的Linux發行版(例如Ubuntu),並通過執行uname -r
命令查看它使用的是哪個內核版本。下載此命令顯示的版本。
Linux內核編譯的第一步是配置設置。通過下載與您的發行版一起安裝的相同內核版本,您將能夠運行make oldconfig
並且毫不費力地導入所有這些配置,因此您可以專注於學習網絡堆棧實施。