当前位置:首页 > 工业技术
嵌入式Internet TCP/IP基础、实现及应用
嵌入式Internet TCP/IP基础、实现及应用

嵌入式Internet TCP/IP基础、实现及应用PDF电子书下载

工业技术

  • 电子书积分:17 积分如何计算积分?
  • 作 者:(阿根廷)SERGIOSCAGLIA著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2008
  • ISBN:9787811242270
  • 页数:568 页
图书介绍:本书由三部分组成。第一部分介绍TCP/IP的理论,给出了TCP/IP实现所需要的技术背景。第二部分阐述如何在嵌入式系统中开发TCP/IP协议栈。第三部分给出了关于嵌入式系统应用如何从Internet接入获益的概念性介绍。附录给出了另外一些协议的资料,可作为第1章的补充。附录中还给出了第二部分所需要用到的工具软件的帮助指南。
上一篇:建筑设计原理下一篇:计算机基础
《嵌入式Internet TCP/IP基础、实现及应用》目录

第一部分 TCP/IP基础 3

第1章 联网引言 3

1.1 联网及其优点 3

1.2 网络基本知识 4

1.2.1 交换网络类型 4

1.2.2 网络协议 6

1.2.3 无连接和面向连接的协议 6

1.2.4 网络报文结构 6

1.2.5 报文传输类型 7

1.2.6 连接工作方式 7

1.3 网络模型 8

1.4 网络类型 8

1.4.1 局域网(LAN) 9

1.4.2 无线局域网(WLAN) 9

1.4.3 广域网(WAN) 9

1.5 开放系统互联(OSI)参考模型 10

1.5.1 引言 10

1.5.2 七层模型 11

1.5.3 层间通信 15

1.5.4 报文路由选择 16

1.6 小结 17

第2章 TCP/IP栈 20

2.1 对新协议的需求:Internet的诞生 20

2.2 TCP/IP服务的两种视点 21

2.2.1 终端用户的视点:应用层服务 21

2.2.2 开发者的视点:网络层服务 21

2.3 TCP/IP栈体系结构 21

2.4 TCP/IP协议族 22

2.5 TCP/IP栈协议相关性 24

2.6 Internet协议的标准化过程 25

2.7 小结 25

第3章 LAN技术:以太网 27

3.1 为什么有Ethernet II和IEEE Ethernet? 27

3.2 Ethernet II 27

3.2.1 工作原理 27

3.2.2 CSMA/CD接入控制方法 28

3.2.3 Ethernet II帧格式 30

3.3 IEEE 802模型(ISO 8802) 30

3.3.1 逻辑链路控制层(LLC-802.2) 31

3.3.2 桥接层(802.1) 32

3.3.3 介质访问控制层(802.X MAC) 33

3.3.4 物理层(802.X PHY) 33

3.3.5 子网接入协议(SNAP) 34

3.4 802.3 CSMA/CD(IEEE Ethernet) 36

3.4.1 802.3介质 36

3.4.2 802.3帧格式 37

3.5 IEEE 802.3和Ethernet II网络比较 37

3.6 小结 39

第4章 网络接口:SLIP和PPP 40

4.1 点对点网络方案 40

4.2 串行线路接口 41

4.2.1 RS-232串行口 41

4.2.2 通用串行总线接口(USB) 44

4.3 串行线路协议 44

4.4 串行线路Internet协议 44

4.5 点对点协议(PPP) 45

4.5.1 PPP链路概述 47

4.5.2 PPP链路控制协议 52

4.5.3 PPP认证协议 54

4.5.4 PPP网络控制协议 57

4.5.5 PPP附加协议 60

4.5.6 PPP请求评论概览 62

4.6 小结 63

第5章 网际层:IP和ICMP 65

5.1 网际协议(IPv4) 65

5.1.1 引言 65

5.1.2 IP封装 67

5.1.3 IP分片/重组 71

5.1.4 IP编址 74

5.1.5 IP交付和选路 83

5.2 Internet控制报文协议(ICMPv4) 85

5.2.1 ICMP通用报文格式 86

5.2.2 ICMP差错报告报文 88

5.2.3 ICMP信息交换报文 89

5.3 地址解析协议(ARP) 93

5.3.1 ARP报文格式 94

5.3.2 ARP解析缓存 97

5.4 逆向地址解析协议(RARP) 97

5.5 小结 97

第6章 运输层:UDP和TCP 99

6.1 引言 99

6.1.1 运输层编址:端口 101

6.1.2 服务器进程端口分配 102

6.1.3 客户进程端口分配 104

6.1.4 客户/服务器报文交换示例 104

6.1.5 客户和服务器关联:TCP/IP套接字 105

6.2 用户数据报协议 106

6.2.1 UDP封装 106

6.2.2 UDP报文格式 107

6.2.3 UDP校验和计算 108

6.2.4 基于UDP的应用 109

6.3 传输控制协议 109

6.3.1 TCP的特点 110

6.3.2 TCP报文单元:报文段 111

6.3.3 TCP报文段格式 112

6.3.4 TCP报文段首部选项 114

6.3.5 TCP校验和计算 115

6.3.6 最大报文段长度 116

6.3.7 PUSH(推送)功能 117

6.3.8 URGENT(紧急)功能 118

6.3.9 TCP连接:建立、管理和终止 118

6.3.10 提供可靠性和流控制 125

6.3.11 TCP滑动窗口确认系统 131

6.3.12 TCP报文段重发机制 138

6.3.13 选择性确认(SACK) 141

6.3.14 滑动窗口尺寸调整 142

6.3.15 接收缓冲区大小调整问题(收缩窗口) 144

6.3.16 “糊涂窗口”综合征 145

6.3.17 TCP拥塞控制 146

6.3.18 TCP常见应用 146

6.4 小结 147

第7章 远程访问:Telnet 150

7.1 引言 150

7.2 网络虚拟终端 151

7.3 Telnet客户/服务器模型 153

7.4 Telnet命令 153

7.4.1 Telnet命令结构 154

7.4.2 Telnet选项 155

7.4.3 Telnet选项协商 156

7.4.4 Telnet选项子协商 157

7.5 Telnet同步功能 158

7.6 小结 159

第8章 文件传送协议:FTP 161

8.1 引言 161

8.2 概述 161

8.3 FTP模型 163

8.3.1 服务器FTP进程组件 163

8.3.2 用户FTP进程组件 164

8.4 FTP控制连接 164

8.4.1 用户登录 164

8.4.2 匿名FTP 165

8.5 FTP数据连接 165

8.5.1 主动数据连接 165

8.5.2 被动数据连接 166

8.6 FTP传送方式 168

8.6.1 流方式 168

8.6.2 块方式 168

8.6.3 压缩方式 168

8.7 FTP数据表示 168

8.7.1 FTP数据类型 169

8.7.2 FTP格式控制 169

8.7.3 FTP数据结构 170

8.8 FTP内部命令和应答 170

8.9 FTP用户命令 175

8.10 FTP最小实现 177

8.11 小结 177

第9章 E-mail协议:SMTP和POP 3

9.1 电子邮件系统引言 179

9.1.1 TCP/IP电子邮件系统概述 180

9.1.2 TCP/IP电子邮件系统模型 180

9.2 TCP/IP电子邮件地址 182

9.3 简单邮件传送协议(SMTP) 183

9.3.1 SMTP客户/服务器通信模型 183

9.3.2 SMTP会话建立和终止 185

9.3.3 SMTP邮件事务进程 185

9.3.4 SMTP扩展 187

9.3.5 SMTP命令 188

9.3.6 SMTP应答 189

9.3.7 一个典型的SMTP会话示例 190

9.4 邮局协议版本3(POP3) 191

9.4.1 POP3客户/服务器通信模型 191

9.4.2 POP3会话状态 192

9.5 TCP/IP电子邮件报文格式 195

9.5.1 RFC 822 e-mail报文格式 195

9.5.2 通用Internet邮件扩展(MIME) 199

9.6 小结 206

第10章 万维网协议:HTTP 208

10.1 引言 208

10.1.1 万维网的起源 209

10.1.2 万维网技术 209

10.2 超文本标记语言(HTML) 210

10.2.1 HTML文档格式 210

10.2.2 HTML元素 211

10.2.3 HTML属性 213

10.2.4 HTML文档示例 213

10.3 HTML统一资源定位符(URL) 215

10.4 超文本传送协议(HTTP) 216

10.4.1 HTTP客户/服务器通信模型 217

10.4.2 HTTP高速缓存技术 220

10.4.3 HTTP代理服务器 222

10.4.4 HTTP安全和隐私 222

10.4.5 HTTP状态管理 223

10.4.6 HTTP报文格式 223

10.4.7 HTTP介质类型/子类型 233

10.4.8 HTTP编码变换 234

10.4.9 HTTP内容协商 235

10.5 小结 236

第11章 域名系统 239

11.1 域名系统引言 239

11.2 名字空间 240

11.2.1 平面名字空间 240

11.2.2 层次名字空间 240

11.3 TCP/IP主机表 241

11.4 TCP/IP域名系统 242

11.4.1 DNS名字空间 242

11.4.2 DNS名字注册 243

11.4.3 DNS域名解析 244

11.5 小结 256

第二部分 嵌入式Internet实现第12章 实验准备12.1 实验介绍 261

12.2 推荐的硬件 262

12.2.1 串行接口开发板 262

12.2.2 以太网接口开发板 263

12.2.3 电缆配置 264

12.2.4 公共资源 265

12.3 推荐的软件 265

12.4 设置实验硬件 265

12.4.1 LPC-P212X开发板的实验配置 266

12.4.2 LPC-E212X开发板的实验配置 267

12.5 安装和配置软件 271

12.5.1 IAR ARM嵌入式工作台(EWARM) 271

12.5.2 Philips的Flash工具 271

12.5.3 USB驱动程序(FTDI)(仅LPC-E212X板需要) 271

12.5.4 Ethereal和WinPcap(嗅探器和网络包捕获器) 272

12.5.5 超级终端配置(用作控制台) 272

12.5.6 配置用于测试PPP协议的RAS服务器(仅LPC-P212X板需要) 272

12.5.7 配置PC机的IP地址(固定或可变) 274

12.5.8 TCP/UDP工具、SMTP服务器、图形工具 274

12.6 执行实验的步骤 275

12.7 从何处获取硬件和软件 276

第13章 应用和TCP/IP栈 277

13.1 具有TCP/IP栈的嵌入式系统 277

13.2 应用介绍 278

13.2.1 一个工业控制过程 278

13.2.2 开发板活动状态LED 279

13.2.3 实验1软件模块 280

13.3 TCP/IP栈设计 282

13.3.1 TCP/IP栈结构 282

13.3.2 TCP/IP栈模块 283

13.3.3 如何将TCP/IP栈包含到项目中 284

第14章 连接到LAN:以太网和ARP14.1 以太网接口 285

14.1.1 引言 285

14.1.2 CS8900A PacketPage结构 285

14.1.3 CS8900A接口信号线 286

14.1.4 读和写PacketPage端口的例程 287

14.1.5 读和写CS8900A内部寄存器的例程 288

14.1.6 CS8900A内部寄存器描述 289

14.2 编写CS8900A的驱动程序 291

14.2.1 CS8900A初始化 293

14.2.2 接收帧 294

14.2.3 发送帧 297

14.3 ARP协议实现 299

14.3.1 引言 299

14.3.2 ARP模块函数 300

14.3.3 ARP模块描述 300

第15章 拨号连网:PPP 310

15.1 串行口编程考虑 310

15.2 点对点协议的实现 311

15.2.1 模块结构、变量和#define参考 311

15.2.2 PPP函数描述 314

第16章 实现IP层(IP和ICMP) 337

16.1 因特网协议的实现 337

16.1.1 模块结构和#define参考 337

16.1.2 处理IP数据报 338

16.1.3 发送IP数据报 341

16.1.4 显示IP数据报 342

16.1.5 计算IP校验和 342

16.2 ICMP的实现 345

16.2.1 模块结构和#define参考 345

16.2.2 处理ICMP报文 345

16.2.3 发送ICMP报文 348

16.2.4 发送PING(ICMP回显请求) 348

16.2.5 显示ICMP报文 349

第17章 实现运输层(UDP和TCP)17.1 UDP实现 351

17.1.1 模块结构、变量和#define参考 351

17.1.2 初始化UDP模块 353

17.1.3 处理UDP数据报 353

17.1.4 显示UDP报文 355

17.1.5 打开UDP套接字 356

17.1.6 关闭UDP套接字 357

17.1.7 支持例程 358

17.1.8 发送UDP数据报 359

17.2 TCP的实现 361

17.2.1 模块结构、变量和#define参考 361

17.2.2 初始化TCP模块 364

17.2.3 处理TCP报文段 365

17.2.4 显示TCP报文段 369

17.2.5 TCP有限状态机 370

17.2.6 打开和关闭TCP套接字 391

17.2.7 发送控制报文段和数据报文段 393

17.2.8 发送面向流的数据 395

17.2.9 滑动窗口确认系统的实现 398

17.2.10 报文段重发机制 399

17.2.11 支持例程 402

第18章 基于UDP和基于TCP的嵌入式服务器应用18.1 引言 407

18.1.1 客户组件 408

18.1.2 嵌入式服务器组件 408

18.2 实现基于UDP的嵌入式服务器 409

18.2.1 初始化嵌入式服务器模块 409

18.2.2 事件处理 409

18.3 实现基于TCP的嵌入式服务器 412

18.3.1 初始化嵌入式服务器模块 413

18.3.2 事件处理 413

18.3.3 命令处理 415

第19章 发送e-mail报文:SMTP19.1 引言 418

19.2 SMTP模块的实现 419

19.2.1 smtp_sendmail()例程的实现 420

19.2.2 SMTP状态引擎的实现 421

19.2.3 创建e-mail内容 426

19.2.4 扩展标签 430

第20章 嵌入式Web服务器:HTTP20.1 引言 434

20.2 嵌入式Web服务器的实现 434

20.2.1 概述 434

20.2.2 文件系统的实现 435

20.2.3 启动嵌入式Web服务器 438

20.2.4 事件处理 440

20.2.5 处理HTTP请求 443

20.2.6 处理POST命令 445

20.2.7 创建HTTP响应 449

第三部分 嵌入式Internet应用第21章 远程监视、访问与控制21.1 引言 459

21.2 通用GUI控制台 460

21.3 家庭自动化 461

21.4 工业自动化 462

21.5 遥测—虚拟仪器 463

21.6 远程医疗 464

21.7 商业应用 465

21.7.1 价格核对器 465

21.7.2 自动售货机 465

21.8 街道控制器 466

21.8.1 路灯控制器 466

21.8.2 交通灯控制器 466

21.9 数据收集 468

21.10 信息与广告系统 469

21.10.1 公共街道中的LED显示屏 469

21.10.2 公交车中的LED显示屏 470

21.10.3 智能交通系统中的LED显示屏 470

第22章 安全与监视 472

22.1 入侵报警 472

22.1.1 常规报警系统 472

22.1.2 具备Internet能力的报警系统 473

22.1.3 具备网络能力的报警单元 473

22.2 视频监控 474

22.2.1 数字视频监控系统 475

22.2.2 IP摄像机 475

22.3 集成的出入控制系统 476

第23章 追踪应用 478

23.1 GPS追踪系统 478

23.2 出租车自动调度系统 479

23.3 公交车辆追踪 480

23.4 货运追踪系统 481

第24章 外包嵌入式代码:使用Web服务24.1 引言 483

24.2 Web服务 484

24.2.1 引言 484

24.2.2 Web服务标准 486

24.2.3 Web服务的传输协议与绑定 486

24.3 应用实例:用Web服务解析域名 490

24.3.1 实现“DnsService”Web服务 491

24.3.2 测试“DnsService”Web服务 491

24.3.3 在嵌入式系统中使用“DnsService”Web服务 492

24.3.4 执行实验13:解析DNS域名 495

附录A 蓝牙与IEEE 802.11无线局域网A.1 蓝牙 497

A.1.1 简介 497

A.1.2 蓝牙和红外(IR)的比较 498

A.1.3 蓝牙技术概览 498

A.1.4 蓝牙接口 499

A.1.5 微微网 499

A.1.6 协议栈 500

A.1.7 应用模型与协议子集 505

A.2 IEEE 802.11无线局域网 505

A.2.1 简介 505

A.2.2 网络体系结构 506

A.2.3 IEEE 802.11协议结构 508

A.2.4 IEEE 802.11物理层(PHY) 509

A.2.5 IEEE 802.11介质访问控制(MAC)层 512

A.2.6 IEEE 802.11补充标准 519

附录B 下一代Internet:IPv 6

B.1 简介 521

B.2 第6版网际协议(IPv6) 521

B.2.1 IPv6的主要变化和新增功能 522

B.2.2 IPv6编址 522

B.2.3 IPv6的地址空间和表示法 523

B.2.4 IPv6地址空间分配 524

B.2.5 IPv6全球单播地址格式 525

B.2.6 IPv6数据报格式 525

B.2.7 IPv6数据报扩展首部 526

B.3 Internet控制报文协议第6版(ICMPv6) 528

B.4 IPv6邻居发现(ND)协议 529

附录C 动态主机配置协议 531

C.1 引言 531

C.2 DHCP概览 532

C.2.1 DHCP动态分配 532

C.2.2 DHCP的IP地址租用 533

C.3 DHCP客户/服务器通信模型 533

C.4 DHCP报文格式 537

C.4.1 DHCP选项字段 539

C.4.2 DHCP类型选项 540

C.4.3 DHCP选项重载 542

附录D 简单网络管理协议(SNMP)D.1 引言 543

D.2 管理信息库(MIB) 544

D.3 管理信息结构(SMI) 544

D.3.1 MIB对象名层次 545

D.3.2 MIB对象组和模块 547

D.4 简单网络管理协议(SNMP) 547

D.4.1 SNMP通用报文格式 549

D.4.2 协议数据单元(PDU)格式 550

D.5 SNMP版本考虑 551

附录E 管理员实用程序 552

E.1 引言 552

E.2 hostname 552

E.3 ipconfig 553

E.4 arp 554

E.5 ping 555

E.6 tracert 556

E.7 netstat 557

E.8 nslookup 558

E.9 在线工具 560

E.10 Sam Spade(Windows程序) 560

附录F 网络协议分析器:EtherealF.1 引言 561

F.2 软件安装 561

F.3 Ethereal的使用 569

F.3.1 Ethereal的用户界面 562

F.3.2 捕获分组 563

F.3.3 分析分组 564

F.3.4 保存分组到文件 565

F.3.5 标记分组 565

F.3.6 标色分组 565

F.3.7 查看时过滤分组 566

F.3.8 捕获时过滤分组 567

F.4 从这里走向何处 568

F.4.1 Ethereal捕获示例 568

F.4.2 更进一步的信息 568

返回顶部