微信扫一扫,移动浏览光盘
简介
目录
前言
第1章实验平台背后的故事
1.1嵌入式网络技术一统江湖
1.1.1嵌入式网络的发展现状
1.1.2嵌入式LwIP协议栈
1.2基于STM32的实验平台浅析
1.2.1STM32处理器的兴起
1.2.2实验平台简介
1.2.3网卡连接情况
1.3本书主要内容
第2章LwIP协议栈初体验
2.1庐山真面目之LwIP代码结构
2.1.1LwIP简介
2.1.2源代码结构
2.2怎样用SI阅读源代码
2.3千里之行从LwIP框架做起
2.3.1协议栈分层思想
2.3.2进程模型
2.3.3协议栈编程接口
第3章LwIP移植初探--无操作系统模拟层
3.1移植说明
3.2移植头文件
3.3网卡驱动编写
3.4安装系统时钟
3.5协议栈初始化
3.6查询接收数据包
3.7数据包中断接收
3.8如何定位Ping问题
第4章内核动力之源--内存管理
4.1内存管理背后的故事
4.1.1内存管理概述
4.1.2常见内存分配策略
4.2以不变应万变--动态内存池
4.2.1数据结构描述
4.2.2函数实现
4.3见招拆招--动态内存堆
4.3.1数据结构描述
4.3.2函数实现
4.4其他内存分配策略
第5章网络数据包--内核血液
5.1数据包管理的必要性
5.1.1LwIP的分层特点
5.1.2协议进程模型
5.2数据包管理原理大揭密
5.2.1数据包结构pbuf
5.2.2pbuf的类型
5.2.3数据包申请函数
5.2.4数据包释放函数
5.2.5其他数据包操作函数
第6章网络抽水机--网络接口管理
6.1引言
6.2接口管理的始与末
6.2.1数据结构
6.2.2函数实现
6.3特殊的网络接口--环回
6.3.1实现原理
6.3.2应用程序环回通信实战
6.4如何动态更改IP地址
6.4.1重要函数
6.4.2实战程序
第7章漫漫鹊桥路--ARP协议
7.1ARP协议之扫盲篇
7.1.1物理地址与网络地址
7.1.2ARP协议的本质
7.2关键数据结构
7.2.1ARP表
7.2.2ARP报文
7.3ARP之数据包引进来
7.3.1以太网数据包递交
7.3.2ARP数据包处理
7.3.3ARP攻击
7.3.4ARP缓存表的更新
7.4ARP之数据包走出去
7.4.1ARP层数据处理总流程
7.4.2广播包与多播包的发送
7.4.3单播包的发送
第8章互联网身份证--网际协议(IP)
8.1IP协议之扫盲班
8.1.1概述
8.1.2IP地址
8.1.3特殊IP地址
8.1.4子网划分与子网掩码
8.1.5网络地址转换(NAT)
8.1.6单播、多播与广播
8.2什么是IP数据报
8.2.1数据报组成结构
8.2.2数据结构
8.3IP数据报之走出去
8.3.1发送数据报
8.3.2数据报分片
8.4IP数据报之引进来
8.4.1数据报接收
8.4.2分片重装数据结构
8.4.3分片重装函数
8.4.4分片插入与检查
第9章互联网医生--ICMP协议
9.1ICMP扫盲班
9.1.1ICMP协议
9.1.2报文交付
9.1.3报文类型
9.1.4报文格式
9.1.5差错报文
9.1.6查询报文
9.2ICMP实现大起底
9.2.1数据结构
9.2.2发送差错报文
9.2.3ICMP报文的处理
9.2.4ping命令
9.2.5ICMP洪水
9.3如何发送Ping请求
9.3.1实现原理--raw_pcb
9.3.2发送ping请求
9.3.3测试结果
第10章RawAPI无招胜有招之UDP篇
10.1UDP协议扫盲班
10.1.1传输层协议
10.1.2UDP协议
10.1.3端口号
10.1.4UDP报文的交付
10.1.5UDP报文格式
10.1.6UDP伪首部与校验和
10.2UDP数据结构详解
10.2.1报文首部结构
10.2.2控制块
10.3UDPRAW编程秘籍
10.3.1使用UDP编程
10.3.2新建控制块
10.3.3绑定控制块
10.3.4连接控制块
10.3.5其他控制块操作函数
10.4UDPRAW编程初体验
10.4.1UDP编程秘诀
10.4.2回送程序
10.4.3测试结果
10.4.4回调编程的缺陷
10.5内核报文处理细节
10.5.1报文的发送
10.5.2报文接收与递交
10.6挑战更复杂的UDP应用
10.6.1使用TFTP传送文件
10.6.2应用程序实现
10.6.3TFTP测试结果
第11章RawAPI无招胜有招之TCP篇
11.1TCP协议大揭秘
11.1.1TCP的必要性
11.1.2TCP的特性
11.1.3连接的定义
11.1.4数据流编号
11.1.5滑动窗口
11.2TCP入门--报文
11.2.1报文格式
11.2.2TCP选项
11.2.3紧急数据
11.2.4强迫数据交互
11.2.5报文首部数据结构
11.3TCP基础--连接
11.3.1建立连接
11.3.2断开连接
11.3.3复位连接
11.3.4TCP状态转换图
11.3.5特殊的状态转换
11.4TCP核心--控制块
11.4.1控制块数据结构
11.4.2控制块链表
11.4.3接收窗口
11.4.4发送窗口
11.5TCPRAW编程秘诀
11.5.1控制块新建
11.5.2控制块绑定
11.5.3控制块侦听
11.5.4控制块连接
11.5.5发送数据
11.5.6关闭连接
11.5.7其他函数
11.6TCPRAW编程初体验
11.6.1TCP编程本质
11.6.2HTTP服务器
11.6.3打不死的客户端
11.7TCP输出处理细节放送
11.7.1报文段缓冲
11.7.2报文段构建
11.7.3报文段发送
11.8TCP输入处理细节放送
11.8.1TCP层函数调用流程
11.8.2报文输入
11.8.3TIME_WAIT状态的报文处理
11.8.4LISTEN状态的报文处理
11.8.5SYN攻击
11.8.6TCP状态机函数
11.8.7TCP数据输入
11.9可靠的传输服务
11.9.1超时重传与RTT估计
11.9.2慢启动与拥塞避免
11.9.3快速重传与快速恢复
11.9.4糊涂窗口与避免
11.9.5零窗口探查
11.9.6保活机制
11.9.7TCP定时器
11.10挑战更复杂的TCP应用
11.10.1Telnet服务器
11.10.2测试结果
第12章LwIP乾坤大挪移--操作系统
模拟层
12.1模拟层是怎样炼成的
12.1.1移植综述
12.1.2添加文件
12.1.3修改头文件lwipopts.h
12.1.4头文件sys_arch.h
12.1.5全局变量与初始化
12.1.6信号量函数
12.1.7邮箱函数
12.1.8创建新进程
12.1.9修改内核初始化函数
12.1.10移植结果测试
12.2SequentialAPI牛刀小试
12.2.1回显服务器
12.2.2Web服务器
12.2.3操作系统下的rawAPI
第13章SequentialAPI大显身手
13.1探秘内核定时事件
13.1.1定时结构
13.1.2定时链表
13.1.3内核进程
13.1.4处理定时事件
13.2论消息机制的重要性
13.2.1消息结构
13.2.2数据包消息
13.2.3协议栈API实现
13.2.4API消息
13.3协议栈接口全搜罗
13.3.1用户数据缓冲netbuf
13.3.2如何操作数据缓冲
13.3.3连接结构netconn
13.3.4内核回调接口
13.3.5协议栈API秘籍
13.4SequentialAPI大会战
13.4.1网页控制设备
13.4.2UDP性能测试
13.4.3TCP性能测试
13.4.4并发服务器
第14章万剑归宗之Socket编程
14.1套接字接口来龙去脉
14.1.1如何实现Socket
14.1.2套接字函数秘籍
14.2Socket实战大串烧
14.2.1智能的TCP客户端
14.2.2UDP时间服务器
14.2.3Winsock客户端设计
14.3基于Select的并发服务器
14.3.1神奇的Select函数
14.3.2Select原理全解析
14.3.3Select实战--并发服务器
第15章LwIP工程实战--物联网关
15.1项目背景
15.1.1中央空调系统与温控器
15.1.2新需求的出现
15.1.3要做什么与如何去做
15.2智能网络温控器
15.2.1温控器实现方案
15.2.2ModbusTCP服务器
15.3物联网关设计
15.3.1物联网关实现方案
15.3.2网关服务器
15.4现场调试与测试
15.4.1温控器测试
15.4.2物联网关测试
第16章天下之术皆为我用--LwIP高级篇
16.1外网访问之道--域名解析
16.1.1域名系统(DNS)
16.1.2DNS牛刀小试
16.1.3下载外网数据
16.2如何自动分配IP地址--DHCP
16.2.1DHCP大讲堂
16.2.2DHCP之实现详解
16.2.3是骡子是马--遛遛DHCP
16.3如何实现组播--Internet组管理
16.3.1IGMP协议大讲堂
16.3.2IGMP组播实践
第17章最后的战役
17.1如何配置协议栈
17.1.1内核配置文件opt.h
17.1.2如何提高TCP性能
17.2内核调试常用方法
17.2.1内核日志输出
17.2.2网络调试助手
17.2.3Wireshark抓包
17.3为了更好的明天
17.3.1常见移植问题
17.3.2常见应用问题
17.4故事结局
参考文献
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问