专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
求系统性的lwip资料推荐
2019-12-22 13:42
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
4498
6
6
想通过lwip系统的学习下网络移植,协议栈,坛里资料也不少,但觉得有些不系统,下面这本嵌入式网络那些事怎么样?或者坛友有更好的推荐没。
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
shangdawei
1楼-- · 2019-12-22 15:24
看目录涉及到的内容不少啊
《嵌入式网络那些事:STM32物联实战》面向网络TCP/IP协议初学者以及大量嵌入式网络开发人员,
从当下流行的嵌入式网络协议栈LwIP的源代码入手,详细讲解TCP/IP协议的各层机制及其实现原理。
同时,通过搭建简单的实验环境,本书还详细阐述LwIP在嵌入式设备组网过程中的移植过程、
应用编程案例、编程框架、注意事项等。
《嵌入式网络那些事:STM32物联实战》共分为四大部分,
第一部分讲解基于STM32平台下LwIP的移植过程,其中包括了LwIP代码组织结构与特点,以及LwIP裸机移植通用流程;
第二部分,以LwIP源代码为基础,以网络数据包在协议栈内部的递交顺序做导向,结合TCP/IP协议基本知识,
依次讲解LwIP内核各个模块的实现机制,包括数据包管理、网络接口管理、ARP、IP、ICMP、UDP、TCP等;
第三部分,讲解LwIP上层API实现机制,以及常见的网络应用程序结构以及编程方法,
以及LwIP其他高级应用,如IGMP、DNS、DHCP等;
第四部分,讲解内核调试、协议栈稳定性和性能、并发服务器设计等,以及LwIP在具体项目中的应用和实践过程,
同时还包括了LwIP在实际应用中常见的问题及解决方法。
《嵌入式网络那些事:STM32物联实战》可作为TCP/IP学习者的快速入门及精通的指导书籍,还可作为广大嵌入式网络开发人员的参考手册。
编辑推荐
《嵌入式网络那些事:STM32物联实战》可作为TCP/IP学习者的快速入门及精通的指导书籍,还可作为广大嵌入式网络开发人员的参考手册。
作者简介
朱升林,非著名码农,法号及网名“老衲五木”,风靡网络的电子书《LwIP协议栈源码详解——TCP/IP协议的实现》
及热卖图书《嵌入式网络那些事:LwIP协议深度剖析与实战演练》作者。
对TCP/IP有丰富的实践经验和深入独到的理解,长期从事物联网热点技术如(ZigBee、Wi-Fi、HFRFID、UHFRFID)
的研究与应用。目前在国内某知名通信公司从事软件研发工作。
目录
前言
第1章 实验平台背后的故事 1
1.1 嵌入式网络技术一统江湖 1
1.1.1 嵌入式网络的发展现状 1
1.1.2 嵌入式LwIP协议栈 4
1.2 基于STM32的实验平台浅析 6
1.2.1 STM32处理器的兴起 6
1.2.2 实验平台简介 9
1.2.3 网卡连接情况 11
1.3 本书主要内容 12
第2章 LwIP协议栈初体验 15
2.1 庐山真面目之LwIP代码结构 15
2.1.1 LwIP简介 15
2.1.2 源代码结构 17
2.2 怎样用SI阅读源代码 22
2.3 千里之行从LwIP框架做起 27
2.3.1 协议栈分层思想 27
2.3.2 进程模型 30
2.3.3 协议栈编程接口 31
第3章 LwIP移植初探——无操作系统模拟层 35
3.1 移植说明 35
3.2 移植头文件 37
3.3 网卡驱动编写 40
3.4 安装系统时钟 47
3.5 协议栈初始化 47
3.6 查询接收数据包 49
3.7 数据包中断接收 51
3.8 如何定位Ping问题 53
第4章 内核动力之源——内存管理 55
4.1 内存管理背后的故事 55
4.1.1 内存管理概述 55
4.1.2 常见内存分配策略 57
4.2 以不变应万变——动态内存池 59
4.2.1 数据结构描述 59
4.2.2 函数实现 65
4.3 见招拆招——动态内存堆 67
4.3.1 数据结构描述 67
4.3.2 函数实现 69
4.4 其他内存分配策略 74
第5章 网络数据包——内核血液 78
5.1 数据包管理的必要性 78
5.1.1 LwIP的分层特点 78
5.1.2 协议进程模型 80
5.2 数据包管理原理大揭密 80
5.2.1 数据包结构pbuf 81
5.2.2 pbuf的类型 82
5.2.3 数据包申请函数 85
5.2.4 数据包释放函数 88
5.2.5 其他数据包操作函数 90
第6章 网络抽水机——网络接口管理 92
6.1 引言 92
6.2 接口管理的始与末 93
6.2.1 数据结构 93
6.2.2 函数实现 96
6.3 特殊的网络接口——环回 99
6.3.1 实现原理 99
6.3.2 应用程序环回通信实战 102
6.4 如何动态更改IP地址 109
6.4.1 重要函数 109
6.4.2 实战程序 110
第7章 漫漫鹊桥路——ARP协议 113
7.1 ARP协议之扫盲篇 113
7.1.1 物理地址与网络地址 113
7.1.2 ARP协议的本质 115
7.2 关键数据结构 117
7.2.1 ARP表 117
7.2.2 ARP报文 121
7.3 ARP之数据包引进来 126
7.3.1 以太网数据包递交 126
7.3.2 ARP数据包处理 129
7.3.3 ARP攻击 131
7.3.4 ARP缓存表的更新 132
7.4 ARP之数据包走出去 137
7.4.1 ARP层数据处理总流程 138
7.4.2 广播包与多播包的发送 138
7.4.3 单播包的发送 140
第8章 互联网身份证——网际协议(IP) 144
8.1 IP协议之扫盲班 144
8.1.1 概述 144
8.1.2 IP地址 145
8.1.3 特殊IP地址 147
8.1.4 子网划分与子网掩码 148
8.1.5 网络地址转换(NAT) 150
8.1.6 单播、多播与广播 151
8.2 什么是IP数据报 153
8.2.1 数据报组成结构 153
8.2.2 数据结构 158
8.3 IP数据报之走出去 159
8.3.1 发送数据报 159
8.3.2 数据报分片 162
8.4 IP数据报之引进来 166
8.4.1 数据报接收 166
8.4.2 分片重装数据结构 171
8.4.3 分片重装函数 174
8.4.4 分片插入与检查 178
第9章 互联网医生——ICMP协议 182
9.1 ICMP扫盲班 182
9.1.1 ICMP协议 182
9.1.2 报文交付 183
9.1.3 报文类型 184
9.1.4 报文格式 185
9.1.5 差错报文 185
9.1.6 查询报文 188
9.2 ICMP实现大起底 189
9.2.1 数据结构 189
9.2.2 发送差错报文 191
9.2.3 ICMP报文的处理 192
9.2.4 ping命令 196
9.2.5 ICMP洪水 197
9.3 如何发送Ping请求 198
9.3.1 实现原理——raw_pcb 199
9.3.2 发送ping请求 200
9.3.3 测试结果 203
第10章 Raw API无招胜有招之UDP篇 205
10.1 UDP协议扫盲班 205
10.1.1 传输层协议 205
10.1.2 UDP协议 206
10.1.3 端口号 207
10.1.4 UDP报文的交付 208
10.1.5 UDP报文格式 209
10.1.6 UDP伪首部与校验和 210
10.2 UDP数据结构详解 212
10.2.1 报文首部结构 212
10.2.2 控制块 212
10.3 UDP RAW编程秘籍 216
10.3.1 使用UDP编程 216
10.3.2 新建控制块 216
10.3.3 绑定控制块 217
10.3.4 连接控制块 218
10.3.5 其他控制块操作函数 219
10.4 UDP RAW编程初体验 220
10.4.1 UDP编程秘诀 220
10.4.2 回送程序 221
10.4.3 测试结果 222
10.4.4 回调编程的缺陷 224
10.5 内核报文处理细节 224
10.5.1 报文的发送 224
10.5.2 报文接收与递交 228
10.6 挑战更复杂的UDP应用 231
10.6.1 使用TFTP传送文件 231
10.6.2 应用程序实现 234
10.6.3 TFTP测试结果 242
第11章 Raw API无招胜有招之TCP篇 244
11.1 TCP协议大揭秘 244
11.1.1 TCP的必要性 244
11.1.2 TCP的特性 245
11.1.3 连接的定义 247
11.1.4 数据流编号 248
11.1.5 滑动窗口 248
11.2 TCP入门——报文 249
11.2.1 报文格式 249
11.2.2 TCP选项 251
11.2.3 紧急数据 252
11.2.4 强迫数据交互 253
11.2.5 报文首部数据结构 253
11.3 TCP基础——连接 254
11.3.1 建立连接 254
11.3.2 断开连接 255
11.3.3 复位连接 256
11.3.4 TCP状态转换图 257
11.3.5 特殊的状态转换 259
11.4 TCP核心——控制块 260
11.4.1 控制块数据结构 260
11.4.2 控制块链表 263
11.4.3 接收窗口 264
11.4.4 发送窗口 264
11.5 TCP RAW编程秘诀 265
11.5.1 控制块新建 265
11.5.2 控制块绑定 267
11.5.3 控制块侦听 267
11.5.4 控制块连接 268
11.5.5 发送数据 270
11.5.6 关闭连接 270
11.5.7 其他函数 272
11.6 TCP RAW编程初体验 272
11.6.1 TCP编程本质 272
11.6.2 HTTP服务器 278
11.6.3 打不死的客户端 280
11.7 TCP输出处理细节放送 283
11.7.1 报文段缓冲 283
11.7.2 报文段构建 285
11.7.3 报文段发送 287
11.8 TCP输入处理细节放送 289
11.8.1 TCP层函数调用流程 289
11.8.2 报文输入 291
11.8.3 TIME_WAIT状态的报文处理 294
11.8.4 LISTEN状态的报文处理 294
11.8.5 SYN攻击 296
11.8.6 TCP状态机函数 297
11.8.7 TCP数据输入 301
11.9 可靠的传输服务 305
11.9.1 超时重传与RTT估计 306
11.9.2 慢启动与拥塞避免 311
11.9.3 快速重传与快速恢复 314
11.9.4 糊涂窗口与避免 316
11.9.5 零窗口探查 319
11.9.6 保活机制 321
11.9.7 TCP定时器 322
11.10 挑战更复杂的TCP应用 327
11.10.1 Telnet服务器 327
11.10.2 测试结果 333
第12章 LwIP乾坤大挪移——操作系统
模拟层 335
12.1 模拟层是怎样炼成的 336
12.1.1 移植综述 336
12.1.2 添加文件 338
12.1.3 修改头文件lwipopts.h 339
12.1.4 头文件sys_arch.h 339
12.1.5 全局变量与初始化 340
12.1.6 信号量函数 341
12.1.7 邮箱函数 343
12.1.8 创建新进程 348
12.1.9 修改内核初始化函数 349
12.1.10 移植结果测试 350
12.2 Sequential API牛刀小试 350
12.2.1 回显服务器 351
12.2.2 Web服务器 352
12.2.3 操作系统下的raw API 355
第13章 Sequential API大显身手 356
13.1 探秘内核定时事件 356
13.1.1 定时结构 356
13.1.2 定时链表 357
13.1.3 内核进程 359
13.1.4 处理定时事件 361
13.2 论消息机制的重要性 363
13.2.1 消息结构 363
13.2.2 数据包消息 364
13.2.3 协议栈API实现 365
13.2.4 API消息 367
13.3 协议栈接口全搜罗 369
13.3.1 用户数据缓冲netbuf 369
13.3.2 如何操作数据缓冲 371
13.3.3 连接结构netconn 373
13.3.4 内核回调接口 375
13.3.5 协议栈API秘籍 377
13.4 Sequential API大会战 383
13.4.1 网页控制设备 383
13.4.2 UDP性能测试 386
13.4.3 TCP性能测试 388
13.4.4 并发服务器 390
第14章 万剑归宗之Socket编程 395
14.1 套接字接口来龙去脉 395
14.1.1 如何实现Socket 395
14.1.2 套接字函数秘籍 397
14.2 Socket实战大串烧 401
14.2.1 智能的TCP客户端 402
14.2.2 UDP时间服务器 404
14.2.3 Winsock客户端设计 406
14.3 基于Select的并发服务器 408
14.3.1 神奇的Select函数 409
14.3.2 Select原理全解析 410
14.3.3 Select实战——并发服务器 419
第15章 LwIP工程实战——物联网关 424
15.1 项目背景 424
15.1.1 中央空调系统与温控器 424
15.1.2 新需求的出现 427
15.1.3 要做什么与如何去做 430
15.2 智能网络温控器 431
15.2.1 温控器实现方案 431
15.2.2 Modbus TCP服务器 432
15.3 物联网关设计 440
15.3.1 物联网关实现方案 440
15.3.2 网关服务器 441
15.4 现场调试与测试 446
15.4.1 温控器测试 446
15.4.2 物联网关测试 447
第16章 天下之术皆为我用—— LwIP高级篇 449
16.1 外网访问之道——域名解析 449
16.1.1 域名系统(DNS) 449
16.1.2 DNS牛刀小试 450
16.1.3 下载外网数据 453
16.2 如何自动分配IP地址——DHCP 456
16.2.1 DHCP大讲堂 456
16.2.2 DHCP之实现详解 458
16.2.3 是骡子是马——遛遛DHCP 460
16.3 如何实现组播——Internet组管理 464
16.3.1 IGMP协议大讲堂 464
16.3.2 IGMP组播实践 465
第17章 最后的战役 468
17.1 如何配置协议栈 468
17.1.1 内核配置文件opt.h 468
17.1.2 如何提高TCP性能 471
17.2 内核调试常用方法 472
17.2.1 内核日志输出 472
17.2.2 网络调试助手 474
17.2.3 Wireshark抓包 475
17.3 为了更好的明天 476
17.3.1 常见移植问题 476
17.3.2 常见应用问题 478
17.4 故事结局 483
参考文献 484
可以先看看老版本的 -- 嵌入式网络那些事LwIP协议深度剖析与实战演练
https://www.amobbs.com/forum.php ... p;page=1#pid8469282
嵌入式网络那些事LwIP协议深度剖析与实战演练
http://pan.baidu.com/s/1nt84MbZ
密码fcmv
这个版本我也不知道全不全。你下载看看
编辑推荐
《嵌入式网络那些事:LwIP协议深度剖析与实战演练》可以作为TCP/IP学习者的快速入门及精通的指导书籍,配以简易的实验平台及专门的实验例程,读者可以轻松学习TCP/IP协议内的各种机制,通过实验验证,达到理论与实践结合的目的;对于嵌入式初学者来说,《嵌入式网络那些事:LwIP协议深度剖析与实战演练》具有相关的实验平台,通过对实验平台的学习与使用,初学者能快速实现嵌入式入门;最后,《嵌入式网络那些事:LwIP协议深度剖析与实战演练》可以作为广大嵌入式网络开发人员的参考手册。
作者简介
朱升林,非著名码农,法号及网名“老衲五木”,风靡网络的电子书《LwIP协议栈源码详解——TCP/IP协议的实现》作者。对TCP/IP有丰富的实践经验和深入独到的理解,长期从事物联网热点技术如ZigBee,Wifi,HFRFID,UHF RFID的研究与应用。目前在国内某知名通信公司从事软件研发工作。
目录
本书之What&Why
第1章故事前传
1.1背景知识
1.1.1嵌入式网络概述
1.1.2写作背景
1.1.3几个疑问
1.2TCP/lP扫盲班
1.2.1OSI模型
1.2.2TCP/IP协议
1.2.3OSI模型VSTCP/IP模型
l.2.4嵌入式TcP/IP协议栈
l.3旅行集结号
1.3.1实验环境说明
1.3.2本书内容概述
1.3.3一起出发
第2章有备而无患
2.1传说中的ARM微处理器
2.1.1背景知识
2.1.2存储器组织结构
2.1.3指令系统
2.1.4数据类型与存储格式
2.1.5处理器状态与处理器模式
2.1.6寄存器组织
2.1.7异常处理
2.2S3C344BOX初体验
2.2.1简介
2.2.2存储管理器
2.2.3中断控制器
2.2.4其他模块
2.3ARM汇编真经
2.3.1简介
2.3.2ARM指令集编码格式
2.3.3ARM寻址方式
2.3.4ARM指令集简介
2.3.5ARM汇编语言
第3章让板子跑起来
3.1ARM开发工具
3.1.1ADS简介
3.1.2ARM汇编器
3.1.3ARM编译器
3.1.4ARM连接器
3.2程序的调试
3.2.1几种调试方式
3.2.2AXD调试器
3.2.3ARMulator的使用
3.3编写启动代码
3.3.1开发板结构
3.3.2启动代码讲解
3.3.3几个测试程序
第4章快马加鞭
4.1嵌入式实时操作系统
4.1.1概述
4.1.2uc/OS—Ⅱ的文件结构
4.1.3uc/OS—Ⅱ中的任务
4.1.4就绪任务的管理
4.1.5任务堆栈
4.2移植uc/OS—Ⅱ实时操作系统
4.2.1概述
4.2.2编写OS CPU.H
4.2.3 编写OS CPU C.C
4.2.4编写OS CPU A.S
4.3测试程序
4.3.1 系统时钟
4.3.2第一个测试程序
4.3.3第二个测试程序
第5章无操作系统模拟层LwIP的移植
5.1 LwIP综述
5.1.1 简介
5.1.2用SI阅读源代码
5.2移植工作
5.2.1移植头文件
5.2.2 RTL8019AS网卡
5.2.3编写网卡驱动程序
5.3测试程序
5.3.1协议栈初始化
5.3.2数据包的查询接收
5.3.3数据包的中断接收
5.3.4一个简单的TCP服务器
5.3.5移植小结
第6章动态内存管理
6.1背景知识
6.1.1内存管理概述
6.1.2常见内存分配策略
6.2动态内存池
6.2.1数据结构描述
6.2.2函数实现
6.3动态内存堆
6.3.1数据结构描述
6.3.2 函数实现
6.4其他内存分配策略
第7章数据包管理
7.1 预备知识
7.1.1 LwIP的分层特点
7.1.2协议进程模型
7.2数据包管理
7.2.1数据包结构pbuf
7.2.2 pbuf的类型
7.2.3数据包申请函数
7.2.4数据包释放函数
7.2.5其他数据包操作函数
第8章网络接口管理
8.1 引言
8.2网络接口结构
8.2.1 数据结构
8.2.2函数实现
8.3环回接口
8.3.1相关函数
8.3.2实验程序
第9章ARP协议
9.1 ARE协议简介
9.1.1物理地址与网络地址
9.1.2 ARP协议的本质
9.2数据结构
9.2.1 ARP表
9.2.2 ARP报文
9.3 ALRP层数据包输入
9.3.1 以太网数据包递交
9.3.2 APE数据包处理
9.3.3 ARP攻击
9.3.4 ARP缓存表的更新
9.4 ARP层数据包输出
9.4.1 ARP层数据处理总流程
……
第10章网际协议
第11章网际控制报文协议
第12章用户数据报协议
第13章传输控制协议
第14章移植操作系统模拟层
第15章用户编程接口
第16章最后的战役
参考文献
加载中...
出其而亮
2楼-- · 2019-12-22 16:47
哈哈,大侠是作者么?
加载中...
fengyunyu
3楼-- · 2019-12-22 22:07
LZ推荐的两本书,实用性并不强,概略性了解还不错
加载中...
higeo
4楼-- · 2019-12-23 02:12
楼主找到资料能否共享一下,我最近也打算搞一搞这个
加载中...
出其而亮
5楼-- · 2019-12-23 07:31
精彩回答 2 元偷偷看……
加载中...
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
STM32开发板免费用活动
7 个回答
stm32 处理 DHT11占用太多时间,大家程序是怎么设计的
8 个回答
分享一个STM32单片机做的离线编程器代码
9 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
《嵌入式网络那些事:STM32物联实战》面向网络TCP/IP协议初学者以及大量嵌入式网络开发人员,
从当下流行的嵌入式网络协议栈LwIP的源代码入手,详细讲解TCP/IP协议的各层机制及其实现原理。
同时,通过搭建简单的实验环境,本书还详细阐述LwIP在嵌入式设备组网过程中的移植过程、
应用编程案例、编程框架、注意事项等。
《嵌入式网络那些事:STM32物联实战》共分为四大部分,
第一部分讲解基于STM32平台下LwIP的移植过程,其中包括了LwIP代码组织结构与特点,以及LwIP裸机移植通用流程;
第二部分,以LwIP源代码为基础,以网络数据包在协议栈内部的递交顺序做导向,结合TCP/IP协议基本知识,
依次讲解LwIP内核各个模块的实现机制,包括数据包管理、网络接口管理、ARP、IP、ICMP、UDP、TCP等;
第三部分,讲解LwIP上层API实现机制,以及常见的网络应用程序结构以及编程方法,
以及LwIP其他高级应用,如IGMP、DNS、DHCP等;
第四部分,讲解内核调试、协议栈稳定性和性能、并发服务器设计等,以及LwIP在具体项目中的应用和实践过程,
同时还包括了LwIP在实际应用中常见的问题及解决方法。
《嵌入式网络那些事:STM32物联实战》可作为TCP/IP学习者的快速入门及精通的指导书籍,还可作为广大嵌入式网络开发人员的参考手册。
编辑推荐
《嵌入式网络那些事:STM32物联实战》可作为TCP/IP学习者的快速入门及精通的指导书籍,还可作为广大嵌入式网络开发人员的参考手册。
作者简介
朱升林,非著名码农,法号及网名“老衲五木”,风靡网络的电子书《LwIP协议栈源码详解——TCP/IP协议的实现》
及热卖图书《嵌入式网络那些事:LwIP协议深度剖析与实战演练》作者。
对TCP/IP有丰富的实践经验和深入独到的理解,长期从事物联网热点技术如(ZigBee、Wi-Fi、HFRFID、UHFRFID)
的研究与应用。目前在国内某知名通信公司从事软件研发工作。
目录
前言
第1章 实验平台背后的故事 1
1.1 嵌入式网络技术一统江湖 1
1.1.1 嵌入式网络的发展现状 1
1.1.2 嵌入式LwIP协议栈 4
1.2 基于STM32的实验平台浅析 6
1.2.1 STM32处理器的兴起 6
1.2.2 实验平台简介 9
1.2.3 网卡连接情况 11
1.3 本书主要内容 12
第2章 LwIP协议栈初体验 15
2.1 庐山真面目之LwIP代码结构 15
2.1.1 LwIP简介 15
2.1.2 源代码结构 17
2.2 怎样用SI阅读源代码 22
2.3 千里之行从LwIP框架做起 27
2.3.1 协议栈分层思想 27
2.3.2 进程模型 30
2.3.3 协议栈编程接口 31
第3章 LwIP移植初探——无操作系统模拟层 35
3.1 移植说明 35
3.2 移植头文件 37
3.3 网卡驱动编写 40
3.4 安装系统时钟 47
3.5 协议栈初始化 47
3.6 查询接收数据包 49
3.7 数据包中断接收 51
3.8 如何定位Ping问题 53
第4章 内核动力之源——内存管理 55
4.1 内存管理背后的故事 55
4.1.1 内存管理概述 55
4.1.2 常见内存分配策略 57
4.2 以不变应万变——动态内存池 59
4.2.1 数据结构描述 59
4.2.2 函数实现 65
4.3 见招拆招——动态内存堆 67
4.3.1 数据结构描述 67
4.3.2 函数实现 69
4.4 其他内存分配策略 74
第5章 网络数据包——内核血液 78
5.1 数据包管理的必要性 78
5.1.1 LwIP的分层特点 78
5.1.2 协议进程模型 80
5.2 数据包管理原理大揭密 80
5.2.1 数据包结构pbuf 81
5.2.2 pbuf的类型 82
5.2.3 数据包申请函数 85
5.2.4 数据包释放函数 88
5.2.5 其他数据包操作函数 90
第6章 网络抽水机——网络接口管理 92
6.1 引言 92
6.2 接口管理的始与末 93
6.2.1 数据结构 93
6.2.2 函数实现 96
6.3 特殊的网络接口——环回 99
6.3.1 实现原理 99
6.3.2 应用程序环回通信实战 102
6.4 如何动态更改IP地址 109
6.4.1 重要函数 109
6.4.2 实战程序 110
第7章 漫漫鹊桥路——ARP协议 113
7.1 ARP协议之扫盲篇 113
7.1.1 物理地址与网络地址 113
7.1.2 ARP协议的本质 115
7.2 关键数据结构 117
7.2.1 ARP表 117
7.2.2 ARP报文 121
7.3 ARP之数据包引进来 126
7.3.1 以太网数据包递交 126
7.3.2 ARP数据包处理 129
7.3.3 ARP攻击 131
7.3.4 ARP缓存表的更新 132
7.4 ARP之数据包走出去 137
7.4.1 ARP层数据处理总流程 138
7.4.2 广播包与多播包的发送 138
7.4.3 单播包的发送 140
第8章 互联网身份证——网际协议(IP) 144
8.1 IP协议之扫盲班 144
8.1.1 概述 144
8.1.2 IP地址 145
8.1.3 特殊IP地址 147
8.1.4 子网划分与子网掩码 148
8.1.5 网络地址转换(NAT) 150
8.1.6 单播、多播与广播 151
8.2 什么是IP数据报 153
8.2.1 数据报组成结构 153
8.2.2 数据结构 158
8.3 IP数据报之走出去 159
8.3.1 发送数据报 159
8.3.2 数据报分片 162
8.4 IP数据报之引进来 166
8.4.1 数据报接收 166
8.4.2 分片重装数据结构 171
8.4.3 分片重装函数 174
8.4.4 分片插入与检查 178
第9章 互联网医生——ICMP协议 182
9.1 ICMP扫盲班 182
9.1.1 ICMP协议 182
9.1.2 报文交付 183
9.1.3 报文类型 184
9.1.4 报文格式 185
9.1.5 差错报文 185
9.1.6 查询报文 188
9.2 ICMP实现大起底 189
9.2.1 数据结构 189
9.2.2 发送差错报文 191
9.2.3 ICMP报文的处理 192
9.2.4 ping命令 196
9.2.5 ICMP洪水 197
9.3 如何发送Ping请求 198
9.3.1 实现原理——raw_pcb 199
9.3.2 发送ping请求 200
9.3.3 测试结果 203
第10章 Raw API无招胜有招之UDP篇 205
10.1 UDP协议扫盲班 205
10.1.1 传输层协议 205
10.1.2 UDP协议 206
10.1.3 端口号 207
10.1.4 UDP报文的交付 208
10.1.5 UDP报文格式 209
10.1.6 UDP伪首部与校验和 210
10.2 UDP数据结构详解 212
10.2.1 报文首部结构 212
10.2.2 控制块 212
10.3 UDP RAW编程秘籍 216
10.3.1 使用UDP编程 216
10.3.2 新建控制块 216
10.3.3 绑定控制块 217
10.3.4 连接控制块 218
10.3.5 其他控制块操作函数 219
10.4 UDP RAW编程初体验 220
10.4.1 UDP编程秘诀 220
10.4.2 回送程序 221
10.4.3 测试结果 222
10.4.4 回调编程的缺陷 224
10.5 内核报文处理细节 224
10.5.1 报文的发送 224
10.5.2 报文接收与递交 228
10.6 挑战更复杂的UDP应用 231
10.6.1 使用TFTP传送文件 231
10.6.2 应用程序实现 234
10.6.3 TFTP测试结果 242
第11章 Raw API无招胜有招之TCP篇 244
11.1 TCP协议大揭秘 244
11.1.1 TCP的必要性 244
11.1.2 TCP的特性 245
11.1.3 连接的定义 247
11.1.4 数据流编号 248
11.1.5 滑动窗口 248
11.2 TCP入门——报文 249
11.2.1 报文格式 249
11.2.2 TCP选项 251
11.2.3 紧急数据 252
11.2.4 强迫数据交互 253
11.2.5 报文首部数据结构 253
11.3 TCP基础——连接 254
11.3.1 建立连接 254
11.3.2 断开连接 255
11.3.3 复位连接 256
11.3.4 TCP状态转换图 257
11.3.5 特殊的状态转换 259
11.4 TCP核心——控制块 260
11.4.1 控制块数据结构 260
11.4.2 控制块链表 263
11.4.3 接收窗口 264
11.4.4 发送窗口 264
11.5 TCP RAW编程秘诀 265
11.5.1 控制块新建 265
11.5.2 控制块绑定 267
11.5.3 控制块侦听 267
11.5.4 控制块连接 268
11.5.5 发送数据 270
11.5.6 关闭连接 270
11.5.7 其他函数 272
11.6 TCP RAW编程初体验 272
11.6.1 TCP编程本质 272
11.6.2 HTTP服务器 278
11.6.3 打不死的客户端 280
11.7 TCP输出处理细节放送 283
11.7.1 报文段缓冲 283
11.7.2 报文段构建 285
11.7.3 报文段发送 287
11.8 TCP输入处理细节放送 289
11.8.1 TCP层函数调用流程 289
11.8.2 报文输入 291
11.8.3 TIME_WAIT状态的报文处理 294
11.8.4 LISTEN状态的报文处理 294
11.8.5 SYN攻击 296
11.8.6 TCP状态机函数 297
11.8.7 TCP数据输入 301
11.9 可靠的传输服务 305
11.9.1 超时重传与RTT估计 306
11.9.2 慢启动与拥塞避免 311
11.9.3 快速重传与快速恢复 314
11.9.4 糊涂窗口与避免 316
11.9.5 零窗口探查 319
11.9.6 保活机制 321
11.9.7 TCP定时器 322
11.10 挑战更复杂的TCP应用 327
11.10.1 Telnet服务器 327
11.10.2 测试结果 333
第12章 LwIP乾坤大挪移——操作系统
模拟层 335
12.1 模拟层是怎样炼成的 336
12.1.1 移植综述 336
12.1.2 添加文件 338
12.1.3 修改头文件lwipopts.h 339
12.1.4 头文件sys_arch.h 339
12.1.5 全局变量与初始化 340
12.1.6 信号量函数 341
12.1.7 邮箱函数 343
12.1.8 创建新进程 348
12.1.9 修改内核初始化函数 349
12.1.10 移植结果测试 350
12.2 Sequential API牛刀小试 350
12.2.1 回显服务器 351
12.2.2 Web服务器 352
12.2.3 操作系统下的raw API 355
第13章 Sequential API大显身手 356
13.1 探秘内核定时事件 356
13.1.1 定时结构 356
13.1.2 定时链表 357
13.1.3 内核进程 359
13.1.4 处理定时事件 361
13.2 论消息机制的重要性 363
13.2.1 消息结构 363
13.2.2 数据包消息 364
13.2.3 协议栈API实现 365
13.2.4 API消息 367
13.3 协议栈接口全搜罗 369
13.3.1 用户数据缓冲netbuf 369
13.3.2 如何操作数据缓冲 371
13.3.3 连接结构netconn 373
13.3.4 内核回调接口 375
13.3.5 协议栈API秘籍 377
13.4 Sequential API大会战 383
13.4.1 网页控制设备 383
13.4.2 UDP性能测试 386
13.4.3 TCP性能测试 388
13.4.4 并发服务器 390
第14章 万剑归宗之Socket编程 395
14.1 套接字接口来龙去脉 395
14.1.1 如何实现Socket 395
14.1.2 套接字函数秘籍 397
14.2 Socket实战大串烧 401
14.2.1 智能的TCP客户端 402
14.2.2 UDP时间服务器 404
14.2.3 Winsock客户端设计 406
14.3 基于Select的并发服务器 408
14.3.1 神奇的Select函数 409
14.3.2 Select原理全解析 410
14.3.3 Select实战——并发服务器 419
第15章 LwIP工程实战——物联网关 424
15.1 项目背景 424
15.1.1 中央空调系统与温控器 424
15.1.2 新需求的出现 427
15.1.3 要做什么与如何去做 430
15.2 智能网络温控器 431
15.2.1 温控器实现方案 431
15.2.2 Modbus TCP服务器 432
15.3 物联网关设计 440
15.3.1 物联网关实现方案 440
15.3.2 网关服务器 441
15.4 现场调试与测试 446
15.4.1 温控器测试 446
15.4.2 物联网关测试 447
第16章 天下之术皆为我用—— LwIP高级篇 449
16.1 外网访问之道——域名解析 449
16.1.1 域名系统(DNS) 449
16.1.2 DNS牛刀小试 450
16.1.3 下载外网数据 453
16.2 如何自动分配IP地址——DHCP 456
16.2.1 DHCP大讲堂 456
16.2.2 DHCP之实现详解 458
16.2.3 是骡子是马——遛遛DHCP 460
16.3 如何实现组播——Internet组管理 464
16.3.1 IGMP协议大讲堂 464
16.3.2 IGMP组播实践 465
第17章 最后的战役 468
17.1 如何配置协议栈 468
17.1.1 内核配置文件opt.h 468
17.1.2 如何提高TCP性能 471
17.2 内核调试常用方法 472
17.2.1 内核日志输出 472
17.2.2 网络调试助手 474
17.2.3 Wireshark抓包 475
17.3 为了更好的明天 476
17.3.1 常见移植问题 476
17.3.2 常见应用问题 478
17.4 故事结局 483
参考文献 484
可以先看看老版本的 -- 嵌入式网络那些事LwIP协议深度剖析与实战演练
https://www.amobbs.com/forum.php ... p;page=1#pid8469282
嵌入式网络那些事LwIP协议深度剖析与实战演练
http://pan.baidu.com/s/1nt84MbZ
密码fcmv
这个版本我也不知道全不全。你下载看看
编辑推荐
《嵌入式网络那些事:LwIP协议深度剖析与实战演练》可以作为TCP/IP学习者的快速入门及精通的指导书籍,配以简易的实验平台及专门的实验例程,读者可以轻松学习TCP/IP协议内的各种机制,通过实验验证,达到理论与实践结合的目的;对于嵌入式初学者来说,《嵌入式网络那些事:LwIP协议深度剖析与实战演练》具有相关的实验平台,通过对实验平台的学习与使用,初学者能快速实现嵌入式入门;最后,《嵌入式网络那些事:LwIP协议深度剖析与实战演练》可以作为广大嵌入式网络开发人员的参考手册。
作者简介
朱升林,非著名码农,法号及网名“老衲五木”,风靡网络的电子书《LwIP协议栈源码详解——TCP/IP协议的实现》作者。对TCP/IP有丰富的实践经验和深入独到的理解,长期从事物联网热点技术如ZigBee,Wifi,HFRFID,UHF RFID的研究与应用。目前在国内某知名通信公司从事软件研发工作。
目录
本书之What&Why
第1章故事前传
1.1背景知识
1.1.1嵌入式网络概述
1.1.2写作背景
1.1.3几个疑问
1.2TCP/lP扫盲班
1.2.1OSI模型
1.2.2TCP/IP协议
1.2.3OSI模型VSTCP/IP模型
l.2.4嵌入式TcP/IP协议栈
l.3旅行集结号
1.3.1实验环境说明
1.3.2本书内容概述
1.3.3一起出发
第2章有备而无患
2.1传说中的ARM微处理器
2.1.1背景知识
2.1.2存储器组织结构
2.1.3指令系统
2.1.4数据类型与存储格式
2.1.5处理器状态与处理器模式
2.1.6寄存器组织
2.1.7异常处理
2.2S3C344BOX初体验
2.2.1简介
2.2.2存储管理器
2.2.3中断控制器
2.2.4其他模块
2.3ARM汇编真经
2.3.1简介
2.3.2ARM指令集编码格式
2.3.3ARM寻址方式
2.3.4ARM指令集简介
2.3.5ARM汇编语言
第3章让板子跑起来
3.1ARM开发工具
3.1.1ADS简介
3.1.2ARM汇编器
3.1.3ARM编译器
3.1.4ARM连接器
3.2程序的调试
3.2.1几种调试方式
3.2.2AXD调试器
3.2.3ARMulator的使用
3.3编写启动代码
3.3.1开发板结构
3.3.2启动代码讲解
3.3.3几个测试程序
第4章快马加鞭
4.1嵌入式实时操作系统
4.1.1概述
4.1.2uc/OS—Ⅱ的文件结构
4.1.3uc/OS—Ⅱ中的任务
4.1.4就绪任务的管理
4.1.5任务堆栈
4.2移植uc/OS—Ⅱ实时操作系统
4.2.1概述
4.2.2编写OS CPU.H
4.2.3 编写OS CPU C.C
4.2.4编写OS CPU A.S
4.3测试程序
4.3.1 系统时钟
4.3.2第一个测试程序
4.3.3第二个测试程序
第5章无操作系统模拟层LwIP的移植
5.1 LwIP综述
5.1.1 简介
5.1.2用SI阅读源代码
5.2移植工作
5.2.1移植头文件
5.2.2 RTL8019AS网卡
5.2.3编写网卡驱动程序
5.3测试程序
5.3.1协议栈初始化
5.3.2数据包的查询接收
5.3.3数据包的中断接收
5.3.4一个简单的TCP服务器
5.3.5移植小结
第6章动态内存管理
6.1背景知识
6.1.1内存管理概述
6.1.2常见内存分配策略
6.2动态内存池
6.2.1数据结构描述
6.2.2函数实现
6.3动态内存堆
6.3.1数据结构描述
6.3.2 函数实现
6.4其他内存分配策略
第7章数据包管理
7.1 预备知识
7.1.1 LwIP的分层特点
7.1.2协议进程模型
7.2数据包管理
7.2.1数据包结构pbuf
7.2.2 pbuf的类型
7.2.3数据包申请函数
7.2.4数据包释放函数
7.2.5其他数据包操作函数
第8章网络接口管理
8.1 引言
8.2网络接口结构
8.2.1 数据结构
8.2.2函数实现
8.3环回接口
8.3.1相关函数
8.3.2实验程序
第9章ARP协议
9.1 ARE协议简介
9.1.1物理地址与网络地址
9.1.2 ARP协议的本质
9.2数据结构
9.2.1 ARP表
9.2.2 ARP报文
9.3 ALRP层数据包输入
9.3.1 以太网数据包递交
9.3.2 APE数据包处理
9.3.3 ARP攻击
9.3.4 ARP缓存表的更新
9.4 ARP层数据包输出
9.4.1 ARP层数据处理总流程
……
第10章网际协议
第11章网际控制报文协议
第12章用户数据报协议
第13章传输控制协议
第14章移植操作系统模拟层
第15章用户编程接口
第16章最后的战役
参考文献
一周热门 更多>