前言
第1 章 作業系統、網路、協定核心、程式碼
1.1 L nux 作業系統介紹
1.1.1 L nux 作業系統架構簡介
1.1.2 網路通訊協定發展介紹
1.2 本書的組織和安排
1.2.1 基本的資料結構和電腦術語
1.2.2 圖片風格展示
1.2.3 本書的組織
第2 章 核心系統初始化
2.1 系統初始化流程簡介
2.2 核心檔案解讀
2.2.1 ELF 檔案格式
2.2.2 L nk Scr pts 知識
2.2.3 L nux 核心鏡像解析
2.3 中斷及任務呼叫管理
2.3.1 中斷及軟中斷模型
2.3.2 各種語系環境下的切換
2.3.3 核心下的同步與互斥
2.3.4 各種非同步手段
2.4 虛擬檔案系統
2.5 網路通訊協定核心各部分初始化
2.5.1 網路基礎系統初始化
2.5.2 網路記憶體管理
2.5.3 網路檔案系統初始化
2.5.4 網路通訊協定初始化
2.5.5 初步瞭解路由系統
2.6 Linux 設備管理
2.6.1 底層PCI 模組的初始化
2.6.2 網路設備介面初始化函式
第3 章 配置網路系統
3.1 配置過程分析
3.1.1 配置是如何下達到核心的
3.1.2 socket 系統呼叫
3.1.3 octl 程式碼的實現
3.1.4 loopback 介面的配置過程
3.1.5 IP 別名的實現
3.2 回顧FIB 系統初始化
3.3 深入FIB 系統
3.4 FIB 系統發生了什麼樣的變化
3.5 直接連結路由表
3.6 介面狀態變化的處理過程
第4 章 網路層實現的初步研究
4.1 從p ng 127.0.0.1 開始旅程
4.2 再次相遇Socket 系統呼叫
4.3 IP 資料封包內容格式
4.4 send 系統呼叫
4.5 在路由系統中遊歷
4.5.1 尋找出口
4.5.2 當目的地址是遠端主機時
4.5.3 建立對應路由cache 表項
4.5.4 建立對應芳鄰表項
4.6 回到發送的路徑
4.6.1 IP 層發送過程
4.6.2 揭密hh_cache
4.7 ARP 的作用
4.7.1 ARP 的機制
4.7.2 ARP 封包格式
4.7.3 L nux ARP 協定的實現
4.8 到達設備驅動層
4.8.1 Loopback 設備的發送過程訊框數據鏈路層格式
4.8.2 Loopback 設備的發送過程
4.9 接收過程:從中斷到路由系統
4.10 ICMP
4.10.1 ICMP 封包格式
4.10.2 p ng 本機地址及回環地址
4.10.3 p ng 外部位址
4.11 從核心到用戶
第5 章 傳輸層實現的研究
5.1 進一步到UDP
5.1.1 UDP 用戶程式碼
5.1.2 UDP 資料封包格式
5.1.3 伺服器端b nd 的實現
5.1.4 接收程式碼
5.1.5 釋放UDP 的socket
5.2 更高階的TCP
5.2.1 TCP 用戶程式碼
5.2.2 TCP 資料封包格式
5.2.3 TCP 協定及socket 的初始化
5.2.4 伺服器端b nd 和l sten 的實現
5.2.5 伺服器端accept 的實現
5.2.6 用戶端connect 的實現—發起三次握手
5.2.7 TCP 封包的接收
5.2.8 三次握手的實現
5.2.9 核心收到封包轉到用戶狀態
5.2.10 釋放TCP 的socket
5.3 TCP 擁塞控制
5.3.1 TCP 擁塞控制機制介紹
5.3.2 L nux 核心擁塞控制功能的實現
第6 章 Select 系統呼叫的實現機制
6.1 如何使用select
6.2 Select 的核心實現
第7 章 資料連結層協定實現
7.1 基本的2 層知識
7.2 L nux 橋實現的基本框架
7.3 VLAN
7.3.1 VLAN 概念
7.3.2 L nux 下VLAN—存在巨大的缺陷
7.4 LACP 協定
7.4.1 聚合連接埠簡介
7.4.2 LACP 在L nux 中的實現
7.5 2 層功能總結
後 記