当前位置:首页 > 工业技术
嵌入式网络那些事  LwIP协议深度剖析与实战演练
嵌入式网络那些事  LwIP协议深度剖析与实战演练

嵌入式网络那些事 LwIP协议深度剖析与实战演练PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:朱升林著;粟思科审校
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:2012
  • ISBN:9787517000594
  • 页数:474 页
图书介绍:本书面向网络TCP/IP协议初学者以及大量嵌入式网络开发人员,从当下流行的嵌入式网络协议栈LwIP的源代码入手,详细讲解TCP/IP协议的各层机制及其实现原理。同时,通过搭建简单的实验环境,还详细阐述LwIP在嵌入式设备组网过程中的移植过程、应用编程案例、编程框架、注意事项等。
《嵌入式网络那些事 LwIP协议深度剖析与实战演练》目录

第1章 故事前传 1

1.1背景知识 1

1.1.1嵌入式网络概述 1

1.1.2写作背景 3

1.1.3几个疑问 4

1.2 TCP/IP扫盲班 5

1.2.1 OSI模型 5

1.2.2 TCP/IP协议 5

1.2.3 OSI模型VS TCP/IP模型 7

1.2.4嵌入式TCP/IP协议栈 8

1.3旅行集结号 9

1.3.1实验环境说明 9

1.3.2本书内容概述 10

1.3.3一起出发 12

第2章 有备而无患 13

2.1传说中的ARM微处理器 13

2.1.1背景知识 13

2.1.2存储器组织结构 15

2.1.3指令系统 17

2.1.4数据类型与存储格式 19

2.1.5处理器状态与处理器模式 21

2.1.6寄存器组织 23

2.1.7异常处理 28

2.2 S3C44B0X初体验 32

2.2.1简介 32

2.2.2存储管理器 34

2.2.3中断控制器 39

2.2.4其他模块 42

2.3 ARM汇编真经 46

2.3.1简介 46

2.3.2 ARM指令集编码格式 46

2.3.3 ARM寻址方式 48

2.3.4 ARM指令集简介 53

2.3.5 ARM汇编语言 55

第3章 让板子跑起来 65

3.1 ARM开发工具 65

3.1.1 ADS简介 65

3.1.2 ARM汇编器 70

3.1.3 ARM编译器 71

3.1.4 ARM连接器 78

3.2程序的调试 83

3.2.1几种调试方式 83

3.2.2 AXD调试器 87

3.2.3 ARMulator的使用 90

3.3编写启动代码 91

3.3.1开发板结构 91

3.3.2启动代码讲解 92

3.3.3几个测试程序 108

第4章 快马加鞭 115

4.1嵌入式实时操作系统 116

4.1.1概述 116

4.1.2 μC/OS-II的文件结构 118

4.1.3 μC/OS-II中的任务 120

4.1.4就绪任务的管理 126

4.1.5任务堆栈 129

4.2移植μC/OS-II实时操作系统 130

4.2.1概述 130

4.2.2编写OS_CPU.H 132

4.2.3编写OS_CPU_C.C 134

4.2.4编写OS_CPU_A.S 138

4.3测试程序 145

4.3.1系统时钟 145

4.3.2第一个测试程序 146

4.3.3第二个测试程序 147

第5章 无操作系统模拟层Lwl P的移植 150

5.1 LwIP综述 150

5.1.1简介 150

5.1.2用SI阅读源代码 156

5.2移植工作 160

5.2.1移植头文件 160

5.2.2 RTL8019AS网卡 163

5.2.3编写网卡驱动程序 176

5.3测试程序 186

5.3.1协议栈初始化 186

5.3.2数据包的查询接收 188

5.3.3数据包的中断接收 191

5.3.4一个简单的TCP服务器 193

5.3.5移植小结 195

第6章 动态内存管理 196

6.1背景知识 196

6.1.1内存管理概述 196

6.1.2常见内存分配策略 198

6.2动态内存池 200

6.2.1数据结构描述 200

6.2.2函数实现 205

6.3动态内存堆 207

6.3.1数据结构描述 208

6.3.2函数实现 209

6.4其他内存分配策略 214

第7章 数据包管理 218

7.1预备知识 218

7.1.1 LwIP的分层特点 218

7.1.2协议进程模型 219

7.2数据包管理 220

7.2.1数据包结构pbuf 221

7.2.2 pbuf的类型 221

7.2.3数据包申请函数 224

7.2.4数据包释放函数 227

7.2.5其他数据包操作函数 229

第8章 网络接口管理 230

8.1引言 230

8.2网络接口结构 231

8.2.1数据结构 231

8.2.2函数实现 234

8.3环回接口 236

8.3.1相关函数 236

8.3.2实验程序 238

第9章ARP协议 242

9.1 ARP协议简介 242

9.1.1物理地址与网络地址 242

9.1.2 ARP协议的本质 243

9.2数据结构 245

9.2.1 ARP表 245

9.2.2 ARP报文 249

9.3 ARP层数据包输入 253

9.3.1以太网数据包递交 253

9.3.2 ARP数据包处理 255

9.3.3 ARP攻击 258

9.3.4 ARP缓存表的更新 259

9.4 ARP层数据包输出 263

9.4.1 ARP层数据处理总流程 263

9.4.2广播包与多播包的发送 264

9.4.3单播包的发送 266

第10章 网际协议(IP) 269

10.1相关知识 269

10.1.1概述 269

10.1.2 IP地址 270

10.1.3特殊IP地址 271

10.1.4子网划分与子网掩码 273

10.1.5网络地址转换(NAT) 275

10.1.6单播、多播与广播 276

10.2数据报 277

10.2.1数据报组成结构 277

10.2.2数据结构 282

10.3 IP层输出 283

10.3.1发送数据报 283

10.3.2数据报分片 286

10.4 IP层输入 289

10.4.1数据报接收 290

10.4.2分片重装数据结构 294

10.4.3分片重装函数 297

10.4.4分片插入与检查 300

第11章 网际控制报文协议(ICMP) 303

11.1基本知识 303

11.1.1 ICMP协议 303

11.1.2报文交付 304

11.1.3报文类型 304

11.1.4报文格式 306

11.1.5差错报文 306

11.1.6查询报文 308

11.2 ICMP的实现 309

11.2.1数据结构 310

11.2.2发送差错报文 311

11.2.3 ICMP报文的处理 312

11.2.4 ping命令 315

11.2.5 ICMP洪水 316

第12章 用户数据报协议(UDP) 319

12.1背景知识 319

12.1.1传输层协议 319

12.1.2 UDP协议 320

12.1.3端口号 321

12.1.4 UDP报文的交付 322

12.1.5 UDP报文格式 322

12.1.6 UDP伪首部与校验和 324

12.2 UDP数据结构 325

12.2.1报文首部结构 325

12.2.2控制块 326

12.3控制块操作函数 329

12.3.1使用UDP编程 329

12.3.2新建控制块 329

12.3.3绑定控制块 329

12.3.4连接控制块 331

12.3.5其他控制块操作函数 332

12.4报文处理函数 333

12.4.1报文的发送 333

12.4.2报文接收与递交 335

12.5测试程序 338

12.5.1回送程序 338

12.5.2测试结果 339

12.5.3回调编程的缺陷 339

第13章 传输控制协议(TCP) 341

13.1协议简介 341

13.1.1 TCP的必要性 341

13.1.2 TCP的特性 342

13.1.3连接的定义 344

13.1.4数据流编号 345

13.1.5滑动窗口 345

13.2 TCP报文 346

13.2.1报文格式 346

13.2.2 TCP选项 348

13.2.3紧急数据 349

13.2.4强迫数据交互 349

13.2.5报文首部数据结构 350

13.3 TCP连接 350

13.3.1建立连接 350

13.3.2断开连接 351

13.3.3复位连接 352

13.3.4 TCP状态转换图 353

13.3.5特殊的状态转换 355

13.4 TCP控制块 356

13.4.1控制块数据结构 356

13.4.2控制块链表 358

13.4.3接收窗口 359

13.4.4发送窗口 359

13.5 TCP编程函数 360

13.5.1控制块新建 360

13.5.2控制块绑定 361

13.5.3控制块侦听 362

13.5.4控制块连接 363

13.5.5发送数据 364

13.5.6关闭连接 365

13.5.7其他函数 366

13.6 TCP输出处理 366

13.6.1报文段缓冲 366

13.6.2报文段构建 367

13.6.3报文段发送 370

13.7 TCP输入处理 372

13.7.1 TCP层函数调用流程 372

13.7.2报文输入 373

13.7.3 TIME_WAIT状态的报文处理 376

13.7.4 LISTEN状态的报文处理 376

13.7.5 SYN攻击 378

13.7.6 TCP状态机函数 379

13.7.7 TCP数据输入 382

13.8可靠的传输服务 387

13.8.1超时重传与RTT估计 387

13.8.2慢启动与拥塞避免 392

13.8.3快速重传与快速恢复 395

13.8.4糊涂窗口与避免 397

13.8.5零窗口探查 399

13.8.6保活机制 401

13.8.7 TCP定时器 403

13.9测试程序 406

13.9.1 Telnet服务器 406

13.9.2测试结果 409

第14章 移植操作系统模拟层 411

14.1移植过程 411

14.1.1移植综述 411

14.1.2添加文件 413

14.1.3修改头文件lwipopts.h 414

14.1.4头文件sys_arch.h 414

14.1.5全局变量与初始化 415

14.1.6信号量函数 416

14.1.7邮箱函数 417

14.1.8超时相关函数 420

14.1.9创建新进程 420

14.2测试程序 421

14.2.1初始化函数 421

14.2.2简单的HTTP服务器 421

14.2.3测试结果 422

第15章 用户编程接口 424

15.1定时事件 424

15.1.1定时结构 424

15.1.2定时链表 425

15.1.3内核进程 427

15.1.4处理定时事件 428

15.2消息机制 430

15.2.1消息结构 430

15.2.2数据包消息 431

15.2.3协议栈API实现 432

15.2.4 API消息 434

15.3协议栈接口 436

15.3.1用户数据缓冲netbuf 436

15.3.2数据缓冲操作 436

15.3.3连接结构netconn 439

15.3.4内核回调接口 441

15.3.5协议栈API函数 443

15.3.6测试程序 448

15.4套接字接口 450

15.4.1 socket的实现 450

15.4.2套接字函数 451

15.4.3测试程序 453

第16章 最后的战役 457

16.1域名解析 457

16.1.1域名系统(DNS) 457

16.1.2测试程序 458

16.1.3测试结果 460

16.2动态主机配置 460

16.2.1 DHCP协议 460

16.2.2测试程序 461

16.2.3测试结果 463

16.3 Internet组管理 464

16.3.1 IGMP协议 464

16.3.2测试程序 465

16.3.3测试结果 466

16.4终结篇 467

16.4.1常见问题及解决方法 467

16.4.2故事结局 473

参考文献 474

相关图书
作者其它书籍
返回顶部