《智能路由器开发指南》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:张永智,李章明著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2016
  • ISBN:9787115430854
  • 页数:290 页
图书介绍:本书介绍路由器的背景知识,各种嵌入式操作系统对比,选择openwrt进行讲述,并讲述路由器的标准规范。1.Openwrt的编译及编译框架代码分析,以案例说明如何增加一个模块,以及嵌入式操作系统的包管理系统ipkg,和GDB调试代码。2.智能设备的防火墙,路由,upnp,无线wifi,带宽控制及流量整形及各种管理功能。3.OpenWrt各种开源组件模块代码接口及实现。

第1章 智能路由器概述 1

1.1 OpenWrt简介 1

1.2 整体功能组件 3

1.2.1 整体架构 3

1.2.2 网络功能 5

1.2.3 系统管理 5

1.2.4 状态监控 6

1.3 开源嵌入式操作系统比较 7

1.3.1 和Android比较 9

1.3.2 和其他WRT比较 10

1.4 参考资料 12

第2章 开发环境及编译分析 13

2.1 安装编译环境 13

2.1.1 Ubuntu安装 13

2.1.2 安装编译工具 15

2.1.3 下载代码 17

2.1.4 配置及编译 19

2.2 编译脚本分析 27

2.2.1 顶层目录概述 27

2.2.2 编译脚本 29

2.2.3 下载工具 29

2.2.4 patch-kernel.sh脚本 30

2.2.5 编译扩展机制feeds 31

2.3 使用VirtualBox部署 34

2.4 编译部署出现问题的解决方法 37

2.5 VirtualBox虚拟机网络设置 38

2.5.1 网络地址转换模式 39

2.5.2 桥接网络模式 40

2.5.3 内部网络模式 41

2.5.4 仅主机网络模式 41

2.5.5 网络模式比较 42

2.5.6 组建路由器实验环境 42

2.6 参考资料 43

第3章 OpenWrt包管理系统 44

3.1 工作原理 44

3.2 OPKG命令 45

3.2.1 命令用法 45

3.2.2 软件包的管理 46

3.2.3 查询信息 48

3.2.4 选项 49

3.3 OPKG配置 50

3.3.1 调整软件仓库地址 50

3.3.2 调整安装目录 51

3.3.3 代理设置 51

3.4 使用举例 52

3.4.1 安装软件包 52

3.4.2 查询已安装的OPKG软件包文件列表 53

3.4.3 自定义安装目录 53

3.5 OPKG包结构 55

3.6 参考资料 57

第4章 OpenWrt配置 58

4.1 UCI简介 58

4.1.1 文件语法 58

4.1.2 统一配置原理 60

4.1.3 UCI工具 61

4.1.4 配置脚本 66

4.2 UCIAPI编程接口 68

4.2.1 Libubox 69

4.2.2 UCI 69

4.2.3 UCIAPI接口 70

4.3 系统内核设置 71

4.3.1 sysctl.conf 71

4.3.2 sysctl 72

4.4 系统配置 73

4.4.1 /etc/rc.local 74

4.4.2 /etc/profile 74

4.4.3 /etc/shells 75

4.4.4 /etc/fstab 75

4.4.5 /etc/services 76

4.4.6 /etc/protocols 77

4.5 名词解释 78

4.6 参考资料 78

第5章 软件开发 79

5.1 编译构建系统 79

5.1.1 概述 79

5.1.2 变量定义 85

5.1.3 软件包定义 87

5.1.4 构建 88

5.2 HelloWorld 89

5.2.1 目录结构 91

5.2.2 Makefile 92

5.2.3 编译 94

5.3 软件启动机制 95

5.4 补丁生成及应用工具 99

5.4.1 补丁 99

5.4.2 diff工具 100

5.4.3 patch工具 102

5.5 参考资料 104

第6章 GDB调试 105

6.1 什么是GDB 105

6.2 如何启动程序调试 106

6.2.1 使用GDB启动程序 106

6.2.2 环境变量设置 107

6.2.3 设置日志文件 108

6.2.4 获取帮助 108

6.2.5 命令总结 109

6.3 断点管理 110

6.3.1 指令断点管理 110

6.3.2 观察点管理 112

6.3.3 捕获点管理 113

6.3.4 单步调试 113

6.3.5 命令总结 114

6.4 查看程序运行状态 115

6.4.1 查看栈帧信息 115

6.4.2 查看运行中的源程序信息 117

6.4.3 查看运行时数据 117

6.4.4 命令总结 119

6.5 动态改变——改变程序的执行 120

6.6 名词解释 121

6.7 参考资料 121

第7章 网络基础知识 122

7.1 概述 122

7.1.1 网络设备 123

7.1.2 计算机网络分类 124

7.2 数据链路层 124

7.2.1 以太网 124

7.2.2 MAC寻址 125

7.2.3 冲突和冲突域 125

7.2.4 广播域 126

7.2.5 ARP协议 126

7.3 IP协议 127

7.3.1 IP报文格式 127

7.3.2 IP地址分类 129

7.3.3 协议功能 131

7.4 ICMP 132

7.4.1 概述 132

7.4.2 报文格式 133

7.4.3 差错报文 134

7.4.4 查询报文及响应报文 135

7.4.5 ping 136

7.4.6 TraceRoute 137

7.5 传输层协议 137

7.6 综合 138

7.7 名词解释 141

7.8 参考资料 141

第8章 路由器基础软件模块 143

8.1 libubox 143

8.1.1 libubox 143

8.1.2 jshn 145

8.2 ubus 147

8.2.1 ubusd 148

8.2.2 ubus命令行工具 149

8.3 netifd 152

8.3.1 概述 152

8.3.2 netifd方法 154

8.3.3 netifd文件 158

8.3.4 网络配置 159

8.4 ubox 160

8.5 procd 163

8.5.1 reload config 164

8.5.2 procd进程 164

8.5.3 procd.sh 167

8.5.4 rc.common 169

8.5.5 综合示例 170

8.6 参考资料 172

第9章 常用软件模块 173

9.1 CWMP 173

9.1.1 概述 173

9.1.2 方法和流程 174

9.1.3 如何配置 176

9.2 SSH服务器 177

9.2.1 概述 177

9.2.2 配置 177

9.3 QoS 178

9.3.1 服务模型 178

9.3.2 QoS配置 180

9.4 uHTTPd服务器 181

9.4.1 概述 181

9.4.2 配置 182

9.5 SMTP 183

9.6 NTP 184

9.7 PPPoE 185

9.7.1 CHAP验证过程 186

9.7.2 PPPoE配置 188

9.8 无线基础 188

9.8.1 什么是无线 188

9.8.2 优点 188

9.8.3 缺点 188

9.8.4 安全 189

9.8.5 认识OpenWrt无线接口 189

9.8.6 OpenWrt无线配置 191

9.9 参考资料 192

第10章 IP路由 194

10.1 路由分类 194

10.2 单播路由 195

10.2.1 路由表管理 195

10.2.2 静态路由配置 198

10.3 策略路由 199

10.3.1 概述 199

10.3.2 配置策略路由 200

10.3.3 典型配置举例 203

10.4 组播路由 205

10.4.1 组播原理 205

10.4.2 IGMP原理 207

10.4.3 IGMP代理 207

10.4.4 IGMP Proxy管理 209

10.4.5 验证及调试 210

10.5 名词解释 211

10.6 参考资料 212

第11章 DNS与DHCP 213

11.1 主机系统 213

11.2 DNS基础 215

11.2.1 域名结构 215

11.2.2 DNS报文格式 216

11.2.3 域名解析器原理 217

11.2.4 域名解析实例 218

11.3 DHCP基础 220

11.3.1 引言 220

11.3.2 DHCP原理 220

11.3.3 DHCP报文 221

11.3.4 DHCP工作流程 222

11.4 dnsmasq 223

11.4.1 概述 223

11.4.2 配置 224

11.5 动态DNS 228

11.5.1 DDNS原理 228

11.5.2 DDNS配置 229

11.5.3 DNS更新协议及算法 230

11.6 DNS测试工具 232

11.6.1 nslookup 232

11.6.2 dig 232

11.7 参考资料 234

第12章 iptables防火墙 235

12.1 防火墙概述 235

12.2 iptables中的表 236

12.2.1 filter(过滤表) 236

12.2.2 nat(网络地址转换表) 237

12.2.3 mangle(修改表) 237

12.2.4 raw(原始表) 238

12.3 处理目标 238

12.3.1 REJECT(拒绝) 239

12.3.2 DNAT(目的网络地址转换) 240

12.3.3 SNAT(源网络地址转换) 240

12.3.4 MASQUERADE(伪装) 241

12.3.5 LOG 241

12.3.6 REDIRECT 241

12.4 报文处理流程 242

12.5 报文规则匹配 245

12.6 管理防火墙规则 247

12.7 其他工具集 249

12.8 小结 250

12.9 参考资料 250

第13章 UCI防火墙 251

13.1 概述 251

13.2 防火墙配置 252

13.2.1 Defaults 252

13.2.2 Zones-安全域 253

13.2.3 转发 253

13.2.4 重定向 254

13.2.5 规则 255

13.2.6 include 257

13.3 常见用法 258

13.3.1 MAC地址黑白名单 258

13.3.2 家长控制 260

13.4 防火墙管理及调试 261

13.4.1 管理防火墙 261

13.4.2 测试防火墙 262

13.5 名词解释 263

13.6 参考资料 263

第14章 UPnP 264

14.1 UPnP简介 264

14.1.1 起源 264

14.1.2 概述 264

14.2 UPnP架构 265

14.2.1 UPnP协议术语 265

14.2.2 UPnP组件 266

14.3 UPnP协议 267

14.4 UPnP工作流程 268

14.4.1 寻址 268

14.4.2 发现 269

14.4.3 描述 269

14.4.4 控制 270

14.4.5 事件 270

14.4.6 表达 272

14.5 UPnP应用之IGD 272

14.5.1 IGD框架 272

14.5.2 端口映射在IGD中的应用 274

14.6 参考资料 277

第15章 网络测试及分析工具 278

15.1 NetCat 278

15.2 TcpDump 283

15.2.1 抓取报文 283

15.2.2 匹配规则 285

15.2.3 使用举例 287

15.3 参考资料 288