标题：Linux中TCP/IP协议实现及嵌入式应用
版权信息
书 名: Linux中TCP/IP协议实现及嵌  入式应用 
作　者：张曦煌
出版社： 北京航空航天大学出版社
出版时间： 2008
ISBN: 9787811242041
开本： 16
定价: 39.00 元
内容简介
嵌入式系统和嵌入式网络近年来发展十分迅速，得到了越来越多的应用。Linux以及Linux中TCP/IP协议的开放源代码为实现嵌入式系统和嵌入式网络提供了很好的技术基础。本书介绍Linux中TCP/IP协议的实现技术，研究讨论Linux中TCP/IP协议实现的基本原理，分析有关的源代码。在此基础上介绍了嵌入式系统与嵌入式网络设计的基本方法和实例。
本书可作为从事嵌入式系统和嵌入式网络开发与应用科技人员的参考书，也可作为本科生与研究生的TCP/IP协议教学参考书。
目录
第1章嵌入式Internet概述
1.1嵌入式系统1
1.2Internet网络2
1.3嵌入式Internet技术3
1.4嵌入式操作系统与Linux5
1.5TCP/IP协议简介8
1.5.1TCP/IP协议8
1.5.2TCP/IP协议原理9
1.5.3Linux中TCP/IP协议的分层结构10
第2章Linux的内核技术
2.1系统初始化12
2.2进程16
2.2.1进程控制块16
2.2.2创建和撤消进程21
2.2.3执行程序21
2.2.4进程调度21
2.3内核同步机制25
2.3.1自旋锁26
2.3.2原子操作28
2.3.3信号量29
2.3.4底半处理、任务转包与软中断30
2.3.5定时器34
2.4系统调用36
2.4.1系统调用与软中断36
2.4.2系统调用表37
2.4.3系统调用的过程38
2.5任务等待队列42
2.5.1相关的数据结构42
2.5.2等待队列操作43
2.6中断与设备46
2.6.1中断控制器825947
2.6.2中断向量表IDT48
2.6.3中断服务程序的构建54
2.6.4与中断相关的数据结构与初始化57
2.6.5IRQ描述符58
2.6.6中断请求服务队列59
2.6.7中断请求描述符数组的初始化60
2.6.8注册驱动程序的ISR61
2.6.9注销驱动程序的ISR65
2.7端口操作67
2.7.1I/O端口资源67
2.7.2I/O端口操作70
第3章网络编程与网络socket的实现
3.1Linux网络编程72
3.1.1套接口72
3.1.2网络编程函数74
3.1.3简单实例75
3.2socket系统调用78
3.3socket数据结构81
3.4套节字的初始化84
3.5socket函数86
3.5.1套接字创建sys_socket（）86
3.5.2套接字绑定sys_bind（）89
3.5.3套节字监听sys_listen（）90
3.5.4sys_accept（）91
3.5.5sys_connect（）94
3.5.6sys_send（）94
3.5.7sys_recv（）97
3.6INET层的数据结构及其初始化99
3.6.1INET层的数据结构100
3.6.2INET的初始化108
3.7INET层函数110
3.7.1inet_create（）110
3.7.2inet_bind（）114
3.7.3inet_listen（）116
3.7.4inet_accept（）117
3.7.5inet_connect（）118
3.7.6inet_sendmsg（）121
3.7.7inet_recvmsg（）121
第4章TCP/IP协议层
4.1TCP/IP协议栈的初始化123
4.1.1报文处理例程初始化及注册124
4.1.2函数ip_init（）126
4.2数据报队列126
4.2.1输入数据报队列的Softnet_data数据结构127
4.2.2队列的初始化128
4.2.3输出数据报排队130
4.2.4队列接收数据报135
4.2.5process_backlog（）函数137
4.2.6netif_receive_skb（）函数139
4.3传输层多路分发和内部数据报路由141
第5章socket缓冲与内存分配
5.1Linux中的slab缓存操作函数143
5.1.1slab分配机制143
5.1.2slab缓存操作函数144
5.2Linux套接字缓冲（socketbuffer）151
5.3套接字缓冲的使用函数153
5.3.1套接字缓冲分配及释放的函数153
5.3.2复制及克隆套接字缓冲的函数156
5.3.3管理套接字缓冲列表的函数158
第6章TCP/UDP数据发送与接收
6.1TCP和UDP简介162
6.1.1UDP162
6.1.2TCP163
6.2关键数据结构166
6.3传输层初始化169
6.4发起连接170
6.4.1UDP协议发起连接170
6.4.2TCP协议发起连接172
6.5UDP的数据发送与接收174
6.5.1UDP的数据发送174
6.5.2UDP的数据接收178
6.6TCP时钟与可靠机制182
6.6.1TCP写定时器182
6.6.2TCP重传定时器函数183
6.6.3窗口探测定时器函数185
6.6.4TCP响应延迟定时器函数186
6.6.5TCP保持连接定时器函数188
6.7TCP数据发送190
6.8TCP数据接收197
6.8.1TCP接收处理函数tcp_v4_rcv（）197
6.8.2TCP接收状态处理200
6.8.3连接状态下TCP数据段的处理205
6.8.4TCP套接字层接收210
第7章IP层
7.1IP层与路由概念217
7.1.1IP数据报217
7.1.2路由概念218
7.2IP层相关数据结构219
7.2.1IP数据报头219
7.2.2路由cache数据结构220
7.3路由cache处理函数223
7.3.1rt_garbage_collect（）函数223
7.3.2路由cache处理其他函数226
7.4RPDB及FIB数据结构227
7.4.1路由表数据结构228
7.4.2FIB规则230
7.5路由234
7.5.1路由初始化234
7.5.2从IP层发出一个数据报235
7.5.3接收一个数据报到IP层237
7.6网络地址到物理地址的映射协议ARP243
7.6.1ARP协议运作机制244
7.6.2ARP数据结构244
7.6.3ARP协议初始化245
7.6.4接收并处理ARP报文248
7.7差错与控制报文ICMP253
7.7.1ICMP的数据结构254
7.7.2ICMP初始化254
7.7.3ICMP报文处理255
7.7.4发送ICMP报文256
第8章Linux网络设备
8.1网络设备数据结构258
8.2ne2000兼容网卡介绍263
8.2.1ne2000的寄存器264
8.2.2主要寄存器功能265
8.2.38039.h文件266
8.2.4数据接收与发送268
8.3网卡的初始化269
8.3.1net_dev_init（）269
8.3.2ethif_probe（）274
8.3.3ne_probe（）276
8.3.4ne_probe1（）277
8.3.5ethdev_init（）284
8.3.6ether_setup（）285
8.4打开与关闭286
8.4.1网卡打开ei_open（）286
8.4.2网卡关闭函数ei_close（）288
8.5数据发送288
8.5.1ei_start_xmit（）288
8.5.2ne_block_output（）292
8.5.3NS8390_trigger_send（）295
8.6数据接收296
8.6.1ei_interrupt（）297
8.6.2ei_receive（）300
8.6.3ne_get_8390_hdr（）304
8.6.4ne_block_input（）305
8.6.5netif_rx（）307
8.6.6netif_rx_schedule（）309
第9章嵌入式系统与嵌入式网络
9.1ARM311
9.1.1概述311
9.1.2LPC2210312
9.1.3LPC2210结构313
9.1.4仿真和调试317
9.2嵌入式μClinux及其应用开发318
9.2.1嵌入式μClinux系统概况318
9.2.2开发工具319
9.2.3建立μClinux开发环境320
9.2.4在μClinux下开发应用程序321
9.3基于ARM的嵌入式网络系统的构建322
9.3.1GPIO323
9.3.2串口设计329
9.3.3网卡8019as的连接331
9.3.4串口网络服务器与socket编程332
9.4基于无操作系统的嵌入式TCP/IP协议的实现335
9.4.1Socket的实现335
9.4.2数据结构的简化337
9.4.3数据发送339
9.4.4数据接收341
9.5基于GPRS的数据采集设计344
9.5.1GPRS通信原理及网络结构344
9.5.2GPRS无线数传模块TC35I345
9.5.3TC35I的GPRS网络操作346
9.5.4TC35I的GPRS网络程序实现346
参考文献
……