第1部分 网络栈总体架构
第0章 网络栈总体架构分析
0.1 网络栈本质及其分层架构
0.2 系统调用接口到内核的请求传递
0.2.1 第一层入口:accept.S文件
0.2.2 第二层入口:socket.S文件
0.2.3 第三层入口:entry.S文件
第2部分 网络协议
第1章 网络协议头文件分析
1.1 etherdevice.h头文件
1.2 icmp.h头文件
1.3 if.h头文件
1.4 if_arp.h头文件
1.5 if_ether.h头文件
1.6 if_plip.h头文件
1.7 if_slip.h头文件
1.8 igmp.h头文件
1.9 in.h头文件
1.10 inet.h头文件
1.11 interrupt.h头文件
1.12 ip.h头文件
1.13 ip_fw.h头文件
1.14 ipx.h头文件
1.15 net.h头文件
1.16 netdevice.h头文件
1.17 notifier.h头文件
1.18 ppp.h头文件
1.19 route.h头文件
1.20 skbuff.h头文件
1.21 socket.h头文件
1.22 sockios.h头文件
1.23 tcp.h头文件
1.24 timer.h头文件
1.25 udp.h头文件
1.26 un.h头文件
1.27 本章小结
第3部分 网络栈实现分析
第2章 BSD socket层实现分析
2.1 protocols.c文件
2.2 socket.c文件
2.2.1 头文件声明、全局变量定义、相关函数声明
2.2.2 move_addr_to_kernel和move_addr_to_user函数
2.2.3 get_fd函数
2.2.4 socki_lookup和sockfd_lookup函数
2.2.5 sock_alloc函数
2.2.6 sock_release_peer、sock_release和sock_close函数
2.2.7 网络套接字普通文件接口函数
2.2.8 sock_awaitconn函数
2.2.9 sock_socket函数
2.2.10 sock_socketpair函数
2.2.11 sock_bind函数
2.2.12 sock_listen函数
2.2.13 sock_accept函数
2.2.14 sock_connect函数
2.2.15 sock_getsockname和sock_getpeername函数
2.2.16 sock_send和sock_sendto函数
2.2.17 sock_recv和sock_recvfrom函数
2.2.18 sock_setsockopt和sock_getsockopt函数
2.2.19 sock_shutdown函数
2.2.20 sock_fcntl函数
2.2.21 sys_socketcall函数
2.2.22 sock_register和sock_unregister函数
2.2.23 proto_init函数
2.2.24 sock_init函数
2.2.25 socket_get_info函数
2.2.26 socket.c文件小结
第3章 INET socket层实现分析
第4章 传输层实现分析
第5章 网络层实现分析
第6章 链路层实现分析
第4部分 网络设备驱动程序
第7章 网络设备驱动程序分析
第5部分 系统网络栈初始化
第8章 系统网络栈初始化
附录A TCP协议可靠性数据传输实现原理分析
主要参考文献