计算机科学与技术学科研究生系列教材 计算机网络高级软件编程技术PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:吴功宜,董大凡,王珺,刘乾编著(南开大学信息技术科学学院)
- 出 版 社:北京:清华大学出版社
- 出版年份:2008
- ISBN:9787302161097
- 页数:421 页
第一部分 计算机网络软件编程训练要求与教学指导第1章 计算机网络课程内容、编程训练目的与教学指导 3
1.1 计算机网络课程特点与网络软件人才需求的形势 3
1.2 计算机网络技术的研究与发展 4
1.2.1 发展主线1:Internet技术 4
1.2.2 发展主线2:无线网络技术 6
1.2.3 发展主线3:网络安全技术 8
1.2.4 总结 9
1.3 《计算机网络高级教程》的相关内容安排 12
1.3.1 计算机网络技术的研究与发展 12
1.3.2 广域网技术 12
1.3.3 局域网技术 13
1.3.4 城域网技术 13
1.3.5 IPv4协议 13
1.3.6 IPv6协议 14
1.3.7 移动IP协议 14
1.3.8 TCP与UDP协议 14
1.3.9 网络应用和应用层协议 14
1.3.10 无线Ad hoc网络、无线传感器网络与无线网格网研究 15
1.3.11 网络安全与网络管理技术的研究 15
1.3.12 网络性能分析、网络模拟与开源工具包 15
1.4 网络软件编程课题训练目的与基本内容 16
1.4.1 基础类网络软件编程课题训练目的与基本内容 16
1.4.2 综合类网络软件编程课题训练目的与基本内容 19
1.4.3 提高类网络软件编程课题训练目的与基本内容 20
1.4.4 网络软件编程训练选题指导 26
第二部分 基础训练篇 31
第2章 Ethernet帧结构解析程序 31
2.1 编程训练目的 31
2.2 编程训练要求 31
2.3 相关知识 32
2.3.1 帧结构 32
2.3.2 Ethernet帧的接收流程分析 33
2.3.3 CRC校验 34
2.4 编程训练设计分析 37
2.4.1 程序设计思路及实现 37
2.4.2 主要流程图 41
2.5 扩展与提高 42
2.5.1 CRC-32校验查表法实现 42
2.5.2 Ethernet帧的发送流程分析 44
第3章 使用ARP协议获取局域网内活动主机物理地址 46
3.1 编程训练目的 46
3.2 编程训练要求 46
3.3 相关知识 46
3.3.1 ARP协议工作原理 46
3.3.2 ARP协议相关数据帧结构 47
3.4 编程训练设计分析 48
3.4.1 程序流程介绍 48
3.4.2 编程要点分析 48
3.5 扩展与提高 54
3.5.1 ARP欺骗 54
3.5.2 使用Windows自带API库实现类似功能 55
3.5.3 使用Windows API获得主机MAC地址 56
第4章 计算校验和程序 59
4.1 编程训练目的 59
4.2 编程训练要求 59
4.3 相关知识 60
4.3.1 网际校验和算法 60
4.3.2 网际校验和算法特性 61
4.3.3 计算举例 62
4.4 编程训练设计分析 64
4.4.1 程序设计思路及实现 64
4.4.2 程序流程图 66
4.5 扩展与提高 66
4.5.1 增量式算法的补码实现 67
4.5.2 对增量式算法的改进 67
第5章 IP包流量分析程序 69
5.1 编程训练目的 69
5.2 编程训练要求 69
5.3 相关知识 70
5.3.1 IP协议 70
5.3.2 IP数据报格式 70
5.4 编程训练设计分析 73
5.4.1 捕获IP数据包 73
5.4.2 统计IP数据包的信息 77
5.4.3 程序流程图 79
5.5 扩展与提高 80
5.5.1 使用Winpcap捕获数据包 80
5.5.2 使用map结构存储IP数据包信息 81
第6章 Tracert程序 84
6.1 编程训练目的 84
6.2 编程训练要求 84
6.3 相关知识 85
6.3.1 Tracert的实现原理 85
6.3.2 ICMP协议及报文格式 85
6.4 编程训练设计分析 88
6.4.1 核心代码及说明 88
6.4.2 程序流程图 94
6.5 扩展与提高 95
6.5.1 使用自行提供IP报头的方法发送ICMP报文 95
6.5.2 使用ICMP帮助函数库发送ICMP报文 96
第7章 IPv6报文封装及地址生成程序 99
7.1 编程训练目的 99
7.2 编程训练要求 99
7.3 相关知识 99
7.3.1 IPv6报头 99
7.3.2 IPv6扩展报头 102
7.3.3 IPv6地址 102
7.4 编程训练设计分析 108
7.4.1 IPv6基本报头的填充 108
7.4.2 IPv6地址生成算法 110
7.4.3 程序流程图 112
7.5 扩展与提高 113
7.5.1 用于IPv6的TCP/UDP伪报头 113
7.5.2 包含TCP报头的IPv6数据封装 113
第8章 TCP和UDP数据包发送程序 116
8.1 编程训练目的 116
8.2 编程训练要求 116
8.3 相关知识 116
8.3.1 UDP协议简介 116
8.3.2 TCP协议简介 117
8.4 编程训练设计分析 118
8.4.1 数据包头结构定义 118
8.4.2 填充数据包过程介绍 119
8.4.3 TCP/UDP协议网际校验和计算方法 121
8.5 扩展与提高 122
8.5.1 使用原始套接字完成题目要求 122
8.5.2 使用NDIS协议驱动发送自定义数据帧 123
第9章 基于C/S结构的套接字程序设计 126
9.1 编程训练目的 126
9.2 编程训练要求 126
9.3 相关知识 127
9.3.1 C/S结构网络模型 127
9.3.2 Windows Sockets编程简介 128
9.3.3 基本套接字API调用 129
9.3.4 典型编程调用时序图 132
9.4 编程训练设计分析 133
9.4.1 server端结构设计及代码说明 133
9.4.2 client端结构设计及代码说明 138
9.5 扩展与提高 139
9.5.1 Winsock的两种I/O模式 139
9.5.2 Windows Sockets下的4种编程模型 139
9.5.3 使用WSAAsynSelect进行异步I/O编程 142
第10章 滑动窗口协议模拟程序 145
10.1 编程训练目的 145
10.2 编程训练要求 145
10.3 相关知识 145
10.3.1 滑动窗口协议的流量控制 146
10.3.2 滑动窗口协议的差错控制 146
10.4 编程训练设计分析 147
10.4.1 协议模拟过程分析 147
10.4.2 滑动窗口协议基本算法 149
10.4.3 核心代码及其说明 151
10.5 扩展与提高 159
10.5.1 传输层与链路层滑动窗口协议比较 159
10.5.2 TCP滑动窗口协议的基本原理 159
第11章 Web Server程序 161
11.1 编程训练目的 161
11.2 编程训练要求 161
11.3 相关知识 161
11.3.1 HTTP的工作过程 162
11.3.2 HTTP的消息格式 162
11.3.3 HTTP/1.1的改进 165
11.4 编程训练设计分析 166
11.4.1 客户请求处理模块实现 167
11.4.2 响应生成发送模块实现 168
11.5 扩展与提高 172
11.5.1 HTTP认证机制 172
11.5.2 Basic认证的代码实现 174
第12章 无线局域网802.11协议CSMA/CA算法模拟程序 179
12.1 编程训练目的 179
12.2 编程训练要求 179
12.3 相关知识 179
12.3.1 802.11协议概述 179
12.3.2 CSMA/CA协议的工作流程 180
12.4 编程训练设计分析 180
12.4.1 主线程代码分析 181
12.4.2 数据接收线程代码分析 181
12.4.3 数据发送线程代码分析 182
12.5 扩展与提高 184
12.5.1 无线局域网的发展 184
12.5.2 IEEE 802.11b主要优点 185
12.5.3 IEEE 802.11b无线网络包含组件 185
12.5.4 IEEE 802.11b运作模式 186
12.5.5 IEEE 802.11b运作基础 186
第13章 公钥密码实现程序 187
13.1 编程训练目的 187
13.2 编程训练要求 187
13.3 相关知识 188
13.3.1 密码学相关背景知识 188
13.3.2 RSA密码机制简介 189
13.4 编程训练设计分析 191
13.4.1 模乘运算和模幂运算模块 191
13.4.2 生成随机的大素数 192
13.4.3 求最大公约数 194
13.4.4 计算私钥 194
13.4.5 加密解密过程 195
13.5 扩展与提高 196
13.5.1 RSA安全性 196
13.5.2 其他公钥密码体系 197
13.5.3 对称密码体系简介 197
第三部分 综合训练篇 201
第14章 路由器基本功能实现程序 201
14.1 编程训练目的 201
14.2 编程训练要求 201
14.3 相关知识 202
14.3.1 路由器结构与功能 202
14.3.2 路由选择的基本原理 204
14.3.3 路由表 206
14.3.4 ICMP差错报文 208
14.4 编程训练设计分析 208
14.4.1 路由程序的设计 209
14.4.2 测试环境的搭建 220
14.5 扩展与提高 222
14.5.1 OSPF简介 222
14.5.2 OSPF协议工作原理 223
14.5.3 CSPF路由表的算法实现 225
第15章 FTP协议实现程序 228
15.1 编程训练目的 228
15.2 编程训练要求 228
15.3 相关知识 228
15.3.1 FTP协议简介 228
15.3.2 FTP命令简介 229
15.4 编程训练设计分析 230
15.4.1 程序总体结构分析 230
15.4.2 工作者线程函数介绍 233
15.5 扩展与提高 250
15.5.1 完成端口相关原理 250
15.5.2 Windows其他网络I/O传输程序架构比较 252
第16章 协议分析器程序 254
16.1 编程训练目的 254
16.2 编程训练要求 254
16.3 相关知识 255
16.3.1 协议分析器基本原理 255
16.3.2 TCP/IP分层体系结构 255
16.3.3 数据的封装与解析 256
16.4 编程训练设计分析 256
16.4.1 协议分析器总体结构设计 256
16.4.2 数据捕获模块 257
16.4.3 协议解析模块 260
16.5 扩展与提高 267
16.5.1 使用原始套接字方式完成数据捕获过程 267
16.5.2 在协议分析器中使用Winpcap的高级特性 268
第17章 综合扫描器程序 271
17.1 编程训练目的 271
17.2 编程训练要求 271
17.3 相关知识 271
17.3.1 ARP扫描 271
17.3.2 ICMP扫描 272
17.3.3 TCP扫描 272
17.3.4 UDP扫描 273
17.4 编程训练设计分析 273
17.4.1 ARP扫描实现 273
17.4.2 ICMP扫描实现 277
17.4.3 TCP Connect扫描实现 280
17.4.4 TCP SYN扫描实现 283
17.4.5 TCP FIN扫描实现 289
17.4.6 UDP扫描实现 291
17.5 扩展与提高 295
17.5.1 ICMP扫描扩展 295
17.5.2 TCP扫描扩展 296
17.5.3 UDP扫描扩展 296
17.5.4 扫描的其他应用 297
17.5.5 系统漏洞扫描简介 297
第四部分 提高训练篇 301
第18章 基于SNMP协议的网络拓扑发现程序 301
18.1 编程训练目的 301
18.2 编程训练要求 301
18.3 相关知识 301
18.3.1 SNMP协议简介 301
18.3.2 异步过程调用 304
18.4 编程训练设计分析 304
18.4.1 主体结构 304
18.4.2 功能模块简介 305
18.4.3 相关代码剖析 306
18.5 扩展与提高 314
18.5.1 其他网络管理协议简介 314
18.5.2 网络管理新技术 315
第19章 利用OpenSSL实现安全的Web Server程序 316
19.1 编程训练目的 316
19.2 编程训练要求 316
19.3 相关知识 316
19.3.1 SSL协议介绍 316
19.3.2 OpenSSL库 319
19.4 编程训练设计分析 324
19.4.1 程序设计思路及实现 324
19.4.2 Server端认证证书的生成 328
19.5 扩展与提高 329
19.5.1 客户端认证 329
19.5.2 基于IPSec的安全通信 329
第20章 简单防火墙程序 334
20.1 编程训练目的 334
20.2 编程训练要求 334
20.3 相关知识 335
20.3.1 防火墙简介 335
20.3.2 系统包过滤API介绍 336
20.4 编程训练设计分析 338
20.4.1 程序流程分析 338
20.4.2 核心代码分析 338
20.5 扩展与提高 341
20.5.1 基于API Hook的数据包过滤技术 341
20.5.2 基于SPI的数据包过滤技术 344
第21章 防火墙扩展功能程序 347
21.1 编程训练目的 347
21.2 编程训练要求 347
21.3 相关知识 348
21.3.1 Windows网络协议栈结构 348
21.3.2 Windows网络数据拦截技术综述 350
21.4 编程训练设计分析 353
21.4.1 程序流程分析 353
21.4.2 核心代码分析 355
21.5 扩展与提高 363
21.5.1 基于TDI过滤驱动的防火墙技术 363
21.5.2 基于NDIS中间层的数据包过滤技术 367
第22章 NS-2简单有线网络模拟程序 370
22.1 编程训练目的 370
22.2 编程训练要求 370
22.3 相关知识 370
22.3.1 NS-2简介及原理概述 370
22.3.2 NS-2的下载与安装 372
22.3.3 NS-2网络模拟的基本流程 373
22.3.4 NS-2学习方法 374
22.3.5 NS学习资源列表 375
22.4 编程训练设计分析 375
22.4.1 模拟场景描述 375
22.4.2 模拟脚本及其说明 376
22.4.3 模拟的Nam演示 379
22.4.4 模拟结果的统计分析 379
22.5 扩展与提高 385
22.5.1 有线网络中的Ethernet模拟 385
22.5.2 NS-2模拟脚本生成工具 387
第23章 使用NS-2模拟无线Ad hoc网络 388
23.1 编程训练目的 388
23.2 编程训练要求 388
23.3 相关知识 388
23.3.1 NS-2的无线网络模型 388
23.3.2 移动结点的创建 390
23.3.3 移动结点的运动 391
23.3.4 移动场景与流量场景的自动生成 392
23.4 编程训练设计分析 393
23.4.1 模拟场景描述 393
23.4.2 模拟脚本及其说明 394
23.4.3 模拟的Nam演示 398
23.4.4 模拟结果的统计分析 398
23.5 扩展与提高 402
23.5.1 使用场景生成器和流量产生器进行无线模拟 402
23.5.2 深入学习导读 403
23.5.3 一个NS-2无线模拟脚本生成工具 405
附录A Winpcap简介与使用说明 406
附录B Windows Driver Module简介 411
附录C NS-2在Linux和Windows+Cygwin下的安装 413
参考文献 420
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《Prometheus技术秘笈》百里燊 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《药剂学实验操作技术》刘芳,高森主编 2019
- 《林下养蜂技术》罗文华,黄勇,刘佳霖主编 2017
- 《脱硝运行技术1000问》朱国宇编 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019