作者簡介
Christian Benvenuti是一個專注於作業系統網路的設計者。他在書中不僅解釋了Linux代碼如何工作,還闡述了主要網路特性的目的以及在不同解決方案間是如何抉擇的。書中還包含了大量的流程圖和其他圖表以幫助讀者理解。
圖書目錄
前言
第一部分 基礎背景
第一章 簡介
基本術語
常見編碼模式
用戶空間工具
瀏覽原始碼
當功能以補丁形式提供時
第二章 關鍵數據結構
套接字緩衝區:sk—buff結構
net—device結構
本章涉及的檔案
第三章 用戶空間與核心的接
概論
procfs與sysctl
ioctl
Netlink
配置改變串列化
第二部分 系統初始化
第四章 通知鏈
使用通知鏈的原因
概論
定義鏈
鏈註冊
鏈上的通知事件
網路子系統的通知鏈
通過/proc檔案系統的調整
本章涉及的函式和變數
本章涉及的檔案和目錄
第五章 網路設備初始化
系統初始化概論
設備註冊和初始化
NIC初始化的基本目標
設備與核心之間的互動
初始化選項
模組選項
設備處理層初始化:net—dev—init
用戶空間輔助程式
虛擬設備
通過/proc檔案系統調整
本章涉及的函式和變數
本章涉及的檔案和目錄
第六章 PCI層和網路接口卡
本章涉及的數據結構
PCI NIC設備驅動程式的註冊
電源管理和網路喚醒
PCI NIC驅動程式註冊範例
大藍圖
通過/proc檔案系統調整
本章涉及的函式和變數
本章涉及的檔案和目錄
第七章 組件初始化的核心基礎架構
引導期間的核心選項
模組初始化代碼
最佳化宏卷標
引導期間初始化函式
記憶體最最佳化
同第六章後三條
第八章 設備註冊和初始化
設備註冊之時
設備除名之時
分配net—device結構
NIC註冊和除名的架構
設備初始化
net—device結構的組織
設備狀態
設備的註冊和除名
設備註冊
設備除名
開啟和關閉網路設備
更新設備佇列規則狀態
從用戶空間配置設備相關信息
虛擬設備
上鎖
同第六章後三條
第三部分 傳輸和接收
第九章 中斷和網路驅動程式
決策和流量方向
接收到幀時通知驅動程式
.....................