精通Linux内核网络 PDF 高清电子书 免费下载 完整版 在线阅读- 高飞网
精通Linux内核网络

精通Linux内核网络

罗森
Linux 网络
浏览人数:19
读者:                   ...
《精通Linux内核网络》讨论Linux 内核网络栈的实现及其原理,深入而详尽地分析网络子系统及其架构,主要内容包括:内核网络基础知识、Netlink 套接字、ARP、邻居发现和ICMP 等重要协议的实现、IPv4 和IPv6 的深入探索、Linux 路由选择、Netfilter 和IPsec 的实现、Linux 线网络、InfiniBand 等。
《精通Linux内核网络》不仅适合从事网络相关项目的专业人员参考,也能为相关研究人员和学生提供极大帮助。

第1章 绪论 1   
1.1 Linux网络栈 2   
1.2 网络设备 4   
1.2.1 网络设备中的NAPI 5   
1.2.2 数据包的收发 5   
1.2.3 套接字缓冲区 7   
1.3 Linux内核网络开发模型 10   
1.4 总结 12   
第2章 Netlink套接字 13   
2.1 Netlink簇 13   
2.1.1 Netlink套接字库 15   
2.1.2 结构sockaddr_nl 15   
2.1.3 用于控制TCP/IP联网的用户   
空间包 15   
2.1.4 内核Netlink套接字 16   
2.1.5 Netlink消息报头 20   
2.1.6 NETLINK_ROUTE消息 22   
2.1.7 在路由选择表中添加和删除   
路由选择条目 24   
2.2 通用Netlink协议 25   
2.2.1 创建和发送通用Netlink消息 29   
2.2.2 套接字监视接口 31   
2.3 总结 32   
2.4 快速参考 32   
第3章 Internet控制消息协议(ICMP) 36   
3.1 ICMPv4 36   
3.1.1 ICMPv4的初始化 37   
3.1.2 ICMPv4报头 38   
3.1.3 接收ICMPv4消息 42   
3.1.4 发送ICMPv4消息:目的地   
不可达 43   
3.2 ICMPv6 47   
3.2.1 ICMPv6初始化 47   
3.2.2 ICMPv6报头 48   
3.2.3 接收ICMPv6消息 49   
3.2.4 发送ICMPv6消息 52   
3.3 ICMP套接字(ping套接字) 55   
3.4 总结 56   
3.5 快速参考 56   
3.5.1 方法 56   
3.5.2 表格 57   
3.5.3 procfs条目 58   
3.5.4 使用iptables创建“目的地   
不可达”消息 59   
第4章 IPv4 61   
4.1 IPv4报头 62   
4.2 IPv4的初始化 63   
4.3 接收IPv4数据包 64   
4.4 接收IPv4组播数据包 67   
4.5 IP选项 69   
4.5.1 时间戳选项 71   
4.5.2 记录路由选项 74   
4.5.3 IP选项和分段 82   
4.5.4 创建IP选项 84   
4.6 发送IPv4数据包 85   
4.7 分段 89   
4.7.1 快速路径 90   
4.7.2 慢速路径 93   
4.8 重组 94   
4.9 转发 99   
4.10 总结 101   
4.11 快速参考 101   
4.11.1 方法 102   
4.11.2 宏 104   
第5章 IPv4路由选择子系统 105   
5.1 转发和FIB 105   
5.2 在路由选择子系统中进行查找 107   
5.3 FIB表 110   
5.3.1 FIB信息 110   
5.3.2 缓存 115   
5.3.3 下一跳 115   
5.3.4 策略路由选择 117   
5.3.5 FIB别名 118   
5.4 ICMPv4重定向消息 121   
5.4.1 生成ICMPv4重定向消息 122   
5.4.2 接收ICMPv4重定向消息 123   
5.4.3 IPv4路由选择缓存 125   
5.5 总结 126   
5.6 快速参考 126   
5.6.1 方法 127   
5.6.2 宏 128   
5.6.3 表 128   
5.6.4 路由标志 129   
第6章 高级路由选择 131   
6.1 组播路由选择 131   
6.1.1 IGMP 132   
6.1.2 组播路由选择表 133   
6.1.3 组播转发缓存(MFC) 134   
6.1.4 组播路由器 136   
6.1.5 vif设备 137   
6.1.6 IPv4组播接收路径 138   
6.1.7 方法ip_mr_forward() 141   
6.1.8 方法ipmr_queue_xmit() 143   
6.1.9 方法ipmr_forward_finish() 145   
6.1.10 组播流量中的TTL 146   
6.2 策略路由选择 146   
6.2.1 策略路由选择的管理 147   
6.2.2 策略路由选择的实现 147   
6.3 多路径路由选择 148   
6.4 总结 149   
6.5 快速参考 149   
6.5.1 方法 149   
6.5.2 宏 151   
6.5.3 procfs组播条目 152   
6.5.4 表 152   
第7章 Linux邻接子系统 153   
7.1 邻接子系统的核心 153   
7.1.1 创建和释放邻居 160   
7.1.2 用户空间和邻接子系统之间   
的交互 161   
7.1.3 处理网络事件 163   
7.2 ARP协议(IPv4) 163   
7.2.1 ARP:发送请求 165   
7.2.2 ARP:接收请求和应答 168   
7.3 NDISC协议(IPv6) 174   
7.3.1 重复地址检测(DAD) 174   
7.3.2 NIDSC:发送请求 176   
7.3.3 NDISC:接收邻居请求和   
通告 179   
7.4 总结 185   
7.5 快速参考 186   
7.5.1 方法 186   
7.5.2 宏 189   
7.5.3 结构neigh_statistics 190   
7.5.4 表 191   
第8章 IPv6 192   
8.1 IPv6简介 192   
8.2 IPv6地址 193   
8.2.1 特殊地址 193   
8.2.2 组播地址 194   
8.3 IPv6报头 195   
8.4 扩展报头 197   
8.5 IPv6初始化 199   
8.6 自动配置 200   
8.7 接收IPv6数据包 201   
8.7.1 本地投递 204   
8.7.2 转发 206   
8.8 接收IPv6组播流量 210   
8.9 组播侦听者发现(MLD) 211   
8.9.1 加入和退出组播组 212   
8.9.2 MLDv2组播侦听者报告 215   
8.9.3 组播源过滤 215   
8.10 发送IPv6数据包 220   
8.11 IPv6路由选择 221   
8.12 总结 221   
8.13 快速参考 221   
8.13.1 方法 221   
8.13.2 宏 224   
8.13.3 表 224   
8.13.4 特殊地址 225   
8.13.5 IPv6路由选择表的管理 226   
第9章 Netfilter 227   
9.1 Netfilter框架 227   
9.2 Netfilter挂接点 228   
注册Netfilter钩子回调函数 229   
9.3 连接跟踪 230   
9.3.1 连接跟踪的初始化 231   
9.3.2 连接跟踪条目 234   
9.3.3 连接跟踪辅助方法和期望   
连接 238   
9.3.4 iptables 241   
9.3.5 投递到当前主机 243   
9.3.6 转发数据包 245   
9.3.7 网络地址转换(NAT) 245   
9.3.8 NAT钩子回调函数和连接   
跟踪钩子回调函数 247   
9.3.9 NAT钩子回调函数 250   
9.3.10 连接跟踪扩展 252   
9.4 总结 253   
9.5 快速参考 253   
9.5.1 方法 253   
9.5.2 宏 255   
9.5.3 表 255   
9.5.4 工具和库 256   
第10章 IPsec 257   
10.1 概述 257   
10.2 Internet密钥交换(IKE) 257   
10.3 IPsec和加密 259   
10.4 XFRM框架 259   
10.4.1 XFRM的初始化 260   
10.4.2 XFRM策略 260   
10.4.3 XFRM状态(安全关联) 263   
10.5 IPv4 ESP的实现 266   
10.6 接收IPsec数据包(传输模式) 268   
10.7 发送IPsec数据包(传输模式) 271   
10.8 XFRM查找 272   
10.9 IPsec的NAT穿越功能 275   
10.10 总结 276   
10.11 快速参考 276   
10.11.1 方法 276   
10.11.2 表 278   
第11章 第4层协议 280   
11.1 套接字 280   
11.2 创建套接字 281   
11.3 用户数据包协议(UDP) 285   
11.3.1 UDP的初始化 286   
11.3.2 发送UDP数据包 287   
11.3.3 接收来自网络层(L3)的   
UDP数据包 290   
11.4 传输控制协议(TCP) 293   
11.4.1 TCP报头 293   
11.4.2 TCP的初始化 295   
11.4.3 TCP定时器 296   
11.4.4 TCP套接字的初始化 297   
11.4.5 TCP连接的建立 297   
11.4.6 接收来自网络层(L3)的   
TCP数据包 298   
11.4.7 发送TCP数据包 299   
11.5 流控制传输协议(SCTP) 300   
11.5.1 SCTP数据包和数据块 301   
11.5.2 SCTP块头 302   
11.5.3 SCTP块 302   
11.5.4 SCTP关联 303   
11.5.5 建立SCTP关联 305   
11.5.6 接收SCTP数据包 305   
11.5.7 发送SCTP数据包 306   
11.5.8 SCTP心跳 306   
11.5.9 SCTP多流 306   
11.5.10 SCTP多宿主 307   
11.6 数据报拥塞控制协议(DCCP) 307   
11.6.1 DCCP报头 307   
11.6.2 DCCP的初始化 3   
看过本书的人还看过