《嵌入式系统Web服务器 TCP/IP Lean》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(美)Jeremy Bentham著;陈向群等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2003
  • ISBN:7111118081
  • 页数:484 页
图书介绍:本书是一本介绍TCP/IP协议和嵌入式系统中实现Web服务器的书。书中讲述了TCP/IP协议的原理,并通过详细的源代码展示了TCP/IP协议和嵌入式系统中Web服务器的创建方法。

目录 1

前言 1

第1章 导论 1

1.1 Lean计划 1

1.2 入门 1

1.2.1 网络配置 2

1.2.2 编译器配置 3

1.2.3 其他PICmicro?编译器 3

1.3 软件介绍 4

1.4 网络硬件 4

1.4.2 网络硬件特征 5

1.4.1 串行硬件特征 5

1.5 设备驱动程序 6

1.5.1 串行驱动程序要求 6

1.5.2 以太网驱动程序要求 8

1.5.3 通用的驱动程序函数 10

1.6 配置文件格式 11

1.7 处理计时器 12

1.8 状态机 15

1.9 缓冲 18

1.9.1 FITO缓冲区 18

1.9.2 多边形缓冲区 24

1.10 编码约定 25

1.10.1 数据类型 25

1.10.2 源代码格式 26

2.1 概述 29

2.2 协议 29

第2章 协议介绍:SCRATCHP 29

2.3 SCRATCHP服务 31

2.4 逻辑连接 33

2.4.1 打开和关闭连接 33

2.4.2 连接中的数据流 33

2.5 数据包的格式 35

2.6 寻址 39

2.7 协议标识 40

2.7.1 多路技术和缓冲 40

2.8 接收和发送 41

2.7.2 字节交换 41

2.9 实现 45

2.9.1 ident命令 45

2.9.2 连接 49

2.10 小结 63

2.10.1 源文件 63

2.10.2 SCRATCHP工具 64

第3章 网络寻址和调试 65

3.1 概述 65

3.2 互联网 65

3.3 IP地址 67

3.4.2 以太网寻址 68

3.4.1 SLIP寻址 68

3.4 地址解析 68

3.5 ARP扫描器 70

3.5.1 实现 70

3.5.2 节点 71

3.5.3 命令行处理 71

3.5.4 配置文件和网络初始化 73

3.8.2 802.3 SNAP的操作 74

3.5.5 主循环 74

3.9 小结 74

3.5.6 数据包检查和格式化 75

3.6 在网络调试中使用ARPSCAN 76

3.6.1 协议分析器 77

3.6.2 示波器 78

3.6.3 NETMON网络监视器 79

3.7 以太网2 81

3.8 IEEE 802.3网络 82

3.8.1 802.3 SNAP支持 83

3.9.1 源文件 85

3.9.2 ARPSCAN工具 85

3.9.3 NETMON工具 86

第4章 网络接口:IP和ICMP 87

4.1 概述 87

4.2 TCP/IP栈 87

4.2.1 IP数据报 88

4.2.2 IP报文头 91

4.2.3 IP的实现 92

4.3 ICMP 100

4.4 ping实现 102

4.4.1 主程序 103

4.4.2 传输函数 106

4.4.3 接收函数 107

4.4.4 发送方地址 109

4.4.5 ping操作 110

4.5 路由器实现 111

4.5.1 接口 111

4.5.2 路由算法 113

4.5.4 路由动作 118

4.5.3 主循环 118

4.6 小结 120

4.6.1 源文件 120

4.6.2 ping工具 121

4.6.3 路由器工具 121

第5章 用户数据报协议:UDP 123

5.1 概述 123

5.2 端口和套接字 123

5.2.1 知名端口 124

5.2.2 套接字 125

5.3 数据报格式 125

5.4.1 伪IP头 127

5.4 UDP校验和 127

5.4.2 使UDP校验和失效 128

5.5 UDP工具 129

5.5.1 实现 129

5.5.2 使用datagram工具进行试验 136

5.6 小结 138

5.6.1 源文件 138

5.6.2 datagram工具 139

第6章 传输控制协议:TCP 141

6.1 概述 141

6.2 TCP概念 141

6.2.1 序列号和确认号 143

6.2.2 TCP状态机 146

6.2.3 段格式 150

6.2.4 TCP选项 152

6.3 TCP实现 153

6.3.1 TCP状态 153

6.3.2 段的接收和传输 153

6.3.3 套接字数据 157

6.3.4 序列和确认值 158

6.3.5 TCP状态机 159

6.3.6 接收段的多路输出选择器 168

6.3.7 重新传输 169

6.4.2 选项协商 171

6.4.1 网络虚拟终端——NVT 171

6.4 TCP应用——Telnet 171

6.5 Telnet的实现 172

6.5.1 TCP回调 173

6.5.2 Telnet客户端初始化 173

6.5.3 主循环 175

6.5.4 关闭连接 176

6.5.5 轮询 177

6.5.6 Telnet显示 177

6.5.7 Telnet客户端回调 178

6.5.8 Telnet服务器回调 179

6.6.1 daytime协议 181

6.6 使用Telnet 181

6.6.2 丢弃数据帧 183

6.7 小结 185

6.7.1 源文件 185

6.7.2 Telent工具 186

第7章 超文本传输协议:HTTP 187

7.1 概述 187

7.2 HTTP中的GET方法 187

7.2.1 请求 187

7.2.2 应答 188

7.2.3 内容类型 189

7.3 简单Web服务器 190

7.3.1 Web服务 190

7.2.4 文件扩展名 190

7.3.2 HTTP头测试 195

7.4 HTML介绍 196

7.4.1 HTML标签 196

7.4.2 HTML文档 197

7.4.3 可点击的文件目录 198

7.4.4 实现 199

7.4.5 缓冲区溢出 203

7.5 状态机实现 203

7.5.1 图形表格 206

7.5.2 堆叠的图形化数据 209

7.5.3 图形化指示器 210

7.6 小结 212

7.6.1 源文件 212

7.6.2 Webserve工具 213

第8章 嵌入式网关接口:EGI 215

8.1 概述 215

8.2 交互显示 215

8.2.1 开关和电灯 215

8.2.2 开关和电灯组 216

8.3 标准CGI接口 220

8.3.1 Linux CGI 220

8.3.2 DOS嵌入式网关接口 222

8.4.1 应用相关代码 225

8.4 EGI实现 225

8.4.2 URL解码 228

8.4.3 查找EGI处理程序 230

8.4.4 交互式的开关和电灯 233

8.4.5 交互式模拟控制 237

8.5 小结 241

8.5.1 源文件 241

8.5.2 WEB_EGI工具 242

第9章 微型Web服务器设计 243

9.1 概述 243

9.2 微控制器的软件开发 243

9.3.1 PIC16C76/16F876 244

9.3 硬件 244

9.3.2 外存储器 246

9.3.3 网络接口 246

9.4 开发环境 247

9.4.1 编译器 247

9.4.2 模拟器或调试器 247

9.5 软件技巧 248

9.5.1 RAM的限制 248

9.5.2 校验和 249

9.5.3 数据接收 249

9.5.4 阻塞 250

9.6 Web服务器协议 251

9.6.1 HTTP请求 251

9.6.3 TCP 252

9.6.2 HTTP应答 252

9.6.4 IP 258

9.6.5 ICMP 259

9.6.6 SLIP 260

9.6.7 调制解调器驱动程序 260

9.7 小结 261

第10章 PICmicro?微控制器上的TCP/IP 263

10.1 概述 263

10.2 外围设备 263

10.2.1 外存储器 263

10.2.3 温度传感器 264

10.2.2 数字输出 264

10.2.4 数字输入 265

10.2.5 实时时钟 265

10.3 块图 265

10.4 电路图 266

10.5 低层软件 267

10.5.1 CPU标识 267

10.5.2 数据类型 268

10.5.3 串行驱动程序 268

10.5.4 I2C驱动程序 269

10.5.5 并行I/O 271

10.5.6 计时器 272

10.6.1 SLIP接收 273

10.6 SLIP和IP驱动程序 273

10.6.2 SLIP传输 276

10.6.3 调制解调器模拟 279

10.6.4 协议解析 279

10.6.5 IP接收 285

10.6.6 IP传输 287

10.7 ICMP 288

10.7.1 ICMP接收 288

10.7.2 ICMP传输 289

10.7.3 pinging PWEB 290

10.8 TCP 290

10.8.1 TCP接收 291

10.8.3 TCP序列发生器 293

10.8.2 TCP传输 293

10.8.4 daytime服务 295

10.9 小结 297

第11章 PWEB:PICmicro上的小型Web服务器 299

11.1 概述 299

11.2 Web服务器 299

11.2.1 简单文本服务器 300

11.2.2 TCP事务日志 302

11.3 ROM文件系统 303

11.3.1 E2ROM访问周期 303

11.3.2 文件系统结构 304

11.3.3 E2ROM编程 305

11.3.4 在ROM中寻找一个文件 310

11.3.5 改进后的HTTP处理程序 314

11.4 使用PWEB服务器 315

11.5 动态内容 317

11.5.1 变量置换 317

11.5.2 校验和平衡 318

11.5.3 平衡变量 319

11.6 动态网页 320

11.6.1 HTML表单变量 323

11.6.2 数字输出 325

11.6.3 布尔变量置换 326

11.6.4 数字输入 327

11.6.5 PWEB变量置换代码 328

11.6.6 状态页 329

11.7 小结 331

11.7.1 PWEB 331

11.7.2 WEBROM源文件 331

11.7.3 WEBROM工具 331

第12章 ChipWeb——微型以太网Web服务器 333

12.1 概述 333

12.2 硬件 333

12.2.1 演示板 333

12.2.2 以太网硬件 334

12.2.3 微控制器接口 336

12.2.4 LCD接口 336

12.2.5 其他外部设备 337

12.3.1 NIC初始化 338

12.3 以太网驱动程序 338

12.3.2 访问数据包缓冲区 339

12.3.3 数据包接收 341

12.3.4 数据包分析 342

12.3.5 数据包传输 344

12.4 LCD驱动程序 345

12.4.1 LCD数据传输 345

12.4.2 LCD初始化 347

12.4.3 LCD字符 347

12.5 其他驱动程序 348

12.6.1 地址解析协议:ARP 349

12.6 协议 349

12.6.2 网际协议:IP 350

12.6.3 网际控制消息协议:ICMP 351

12.6.4 传输控制协议:TCP 352

12.6.5 超文本传输协议:HTTP 356

12.7 协议调试 359

12.8 用户接口 360

12.8.1 动态网页:HTML 360

12.8.2 状态显示框架 361

12.8.3 导航框架 362

12.8.4 LCD显示 364

12.9 配置 365

12.9.1 地址配置 366

12.9.2 网页下载 367

12.10 小结 370

第13章 点对点通信协议:PPP 373

13.1 概述 373

13.2 PPP设计 373

13.2.1 分帧 374

13.2.2 检错 374

13.2.3 转义序列 375

13.2.4 协商 375

13.3 协议的部件 376

13.3.1 部件报文头 376

13.3.2 选项格式 377

13.3.3 状态机 378

13.4 PPP协商实例 380

13.4.1 LCP 380

13.4.2 PAP 382

13.4.3 IPCP 383

13.4.4 IP数据 385

13.4.5 关闭连接 385

13.5 PPP实现 386

13.5.1 接收和传输 386

13.5.2 消息解码 389

13.6 小结 392

14.2 客户端-服务器网络 393

14.1 概述 393

第14章 UDP客户端、服务器和快速数据传输 393

14.3 对等网 394

14.4 不只是Web服务器 395

14.5 缓冲改进 395

14.5.1 阴影缓冲区 395

14.5.2 缓冲边界 396

14.5.3 接收缓冲的实现 397

14.5.4 传输缓冲实现 400

14.6 IP和ICMP处理 402

14.6.1 IP处理程序 402

14.6.2 ICMP处理程序 403

14.7.1 daytime和echo服务器 405

14.7 UDP服务器 405

14.7.2 UDP传输 407

14.8 UDP时间客户端 408

14.8.1 UDP客户方法 408

14.8.2 客户端地址解析 409

14.8.3 客户端UDP消息 412

14.9 快速数据传输 413

14.10 硬件 414

14.10.1 视频标准 415

14.10.2 视频捕获 415

14.10.3 微控制器接口 416

14.11.1 数据格式 417

14.11 软件 417

14.11.2 微控制器软件 418

14.11.3 客户端软件 419

14.12 小结 422

第15章 动态主机配置协议:DHCP 425

15.1 概述 425

15.2 DHCP方法论 425

15.2.1 操作的序列 425

15.2.2 计时 426

15.2.3 消息格式 427

15.2.5 客户名称 428

15.2.4 选项 428

15.3 事务示例 430

15.3.1 探查 430

15.3.2 赋予 430

15.3.3 请求 431

15.3.4 确认 432

15.4 DHCP实现 433

15.4.1 状态机 433

15.4.2 DHCP传输 435

15.4.3 DHCP接受 437

15.5 小结 439

16.1 概述 441

16.2 TCP客户端技术 441

第16章 TCP客户端、SMTP和POP3邮件 441

16.2.1 二级NIC传输缓冲区 442

16.2.2 NIC RAM的分配 442

16.2.3 以太网驱动程序的更改 443

16.3 TCP客户端实现 445

16.3.1 套接字定义 445

16.3.2 启动 446

16.3.3 接收处理程序 447

16.3.4 状态机 448

16.3.5 超时 451

16.4 SMTP邮件客户端 453

16.4.1 SMTP事务 453

16.3.6 传输 453

16.4.2 SMTP实现 456

16.4.3 开始邮件传输 458

16.5 POP3邮件客户端 459

16.5.1 POP3事务 459

16.5.2 POP3行缓冲 461

16.5.3 POP3实现 462

16.5.4 开始邮件轮询 465

16.6 小结 465

附录A 配置说明 467

附录B 资源 471

附录C 光盘上的软件 475

附录D PICmicro?相关问题 481