《计算机网络协议分析与实践》系统地介绍了计算机网络协议分析与实践的有关内容,主要包括:网络编程基础及环境配置,工业以太网、共享式以太网协议分析与实践,网络通信协议的设计与实践,以及网络层(ARP、IPv4-IPv6、ICMP)、传输层(UDP、TCP)、应用层(HTTP、FTP)等常用通信协议工作原理分析与实践等内容,基本涵盖了TCP-IP协议集的常用网络通信协议。该书实践环节基于主流开发环境和工具,不需要特殊的软、硬件平台投入,既方便学生课后实践,又方便教师组织实践教学活动。
《计算机网络协议分析与实践》内容系统性较强、结构清晰。在内容的组织上,该书强调知识的实用性,从网络通信协议三要素:语法、语义和同步关系三个角度分析TCP/IP协议集的常用网络通信协议工作原理和相关实现技术,对学生理解计算机网络通信协议基本理论,提高学生网络信息安全基本实践技能均有很大益处。
《计算机网络协议分析与实践》可作为高等院校相关专业学生的专业教材,也可作为相关技术人员的自学用书。
“计算机网络原理”作为计算机专业的核心课程,编者以问题为引导、以实践为抓手、以能力培养为核心,践行了讲网络不如做网络的原则,实现了知行统一的教育教学新模式。编者通过多年理论课程教学与实践发现,若理论课程教学以问题为牵引,以案例教学为核心,则更容易引发学生思考、培养学生分析问题的能力、启发学生思维、激发学生的学习兴趣。在实践方面,编者采用多层次实践教学方法:课程实验主要培养学生对计算机网络工作原理及通信协议和应用服务的验证与分析能力;课程项目主要以每节课的内容为核心,指导学生将每节课的核心内容用软件操作一遍,做到“所讲即所见”;网络综合实验主要培养学生在网络工程实践、协议栈设计及实现等方面的能力。实践表明,以上方法可以较好地解决学生学习成绩断崖式下降的问题,提高学生网络实践的能力,提升学生对课程的认同感。
编者通过对计算机网络实践内容和经验的总结,形成了一套计算机网络课程实践教材(共3本)。本教材主要针对计算机网络协议分析与实践这一核心内容:□□章主要介绍网络编程基础及环境配置;第□章主要介绍工业以太网协议分析与实践;第3章主要介绍共享式以太网协议分析与实践;第4章主要介绍网络通信协议的设计与实践;第5章、第6章、第7章分别介绍网络层ARP、IP和ICMP协议分析与实践;第8章、第9章分别介绍传输层UDP协议和TCP协议分析与实践;□□0章介绍应用层协议分析与实践;□□1章介绍IPv6协议分析与实践。
本书在编写过程中,得到了西北工业大学计算机学院的老师和同学们的支持和指导,在此表示感谢!
由于编者水平有限,书中难免有不妥之处,恳请读者批评指正。
姚烨,博士,副教授。1978年3月参加工作。1997年6月―□000年8月,在西安□1□研究所从事信号处理的工作,任助理工程师;□000年9月―□003年4月,西安电子科技大学软件工程研究所计算机科学与技专业的研究生;□003年5月―至今,任西北工业大学计算机学院计算机科学与技术专业的教师,目前为副教授。参加的学术组织及任职:CCF高级会员。担任西北工业大学计算机学院"网络方向课程群”的负责人;是陕西省级《计算机网络原理》精品课程的重要成员。
□□章 网络编程基础及环境配置 1
1.1 引言 1
1.□ Raw Socket网络编程基础 □
1.□.1 Raw Socket的创建和初始化 3
1.□.□ Raw Socket网络编程主要函数 4
1.□.3 简单校验和计算方法 6
1.□.4 创建不同层次协议数据单元首部数据结构 7
1.3 Winpcap网络编程基础 10
1.3.1 数据包捕获的基本过程 11
1.3.□ Winpcap驱动内部工作原理 1□
1.3.3 利用winpcap对数据包进行捕获和过滤 16
1.3.4 主要数据结构和接口函数 17
1.4 Winpcap环境搭建 □□
1.4.1 Visual Studio 10.0实验环境搭建 □□
1.4.□ VC++6.0环境配置 □4
第□章 工业以太网协议分析与实践 □5
□.1 引言 □5
□.□ 工业以太网协议工作原理 □5
□.□.1 工业以太网协议语法 □6
□.□.□ 工业以太网协议语义 □8
□.□.3 工业以太网协议时序关系 □8
□.3 工业以太网发送数据帧 □8
□.4 工业以太网接收数据帧 31
第3章 共享式以太网协议分析与实践 37
3.1 引言 37
3.□ 共享式以太网的工作原理 40
3.□.1 共享式以太网数据帧语法及语义 41
3.□.□ 共享式以太网数据帧的发送及其过程分析 4□
3.3 共享式以太网数据链路层协议工作效率分析 44
3.4 网络适配器MAC地址 45
3.5 工业以太网数据帧发送和接收流程 46
3.5.1 工业以太网数据帧发送流程 46
3.5.□ 工业以太网数据帧接收流程 46
3.5.3 MAC子层与相邻层的接口 47
3.6 共享式以太网数据帧发送源程序 48
第4章 网络通信协议的设计与实践 5□
4.1 引言 5□
4.□ 网络通信协议可靠性原理 5□
4.□.1 检错与纠错机制 5□
4.□.□ 流量控制机制 55
4.3 数据链路层通信协议设计 60
4.3.1 数据链路层通信协议设计要求 60
4.3.□ 数据链路层通信协议语法设计 60
4.3.3 数据链路层通信协议语义设计 60
4.4.4 数据链路层通信协议同步机制设计 61
4.4 数据链路层可靠通信协议实现 63
4.4.1 编程接口Winpcap 63
4.4.□ 网络通信协议并发机制实现技术 64
4.4.3 差错控制机制实现技术 66
4.4.4 发送方线程与接收方线程实现技术 66
4.4.5 停止-等待协议实现技术 79
4.4.6 后退N帧协议实现技术 108
4.4.7 选择重传协议实现技术 138
第5章 网络层ARP协议分析与实践 17□
5.1 概述 17□
5.□ ARP协议工作原理 173
5.□.1 ARP协议语法 173
5.□.□ ARP协议语义 174
5.□.3 ARP协议时序关系 175
5.3 ARP协议发送报文 177
5.4 ARP协议接收报文 179
第6章 网络层IP协议分析与实践 184
6.1 引言 184
6.□ IP协议工作原理 186
6.□.1 IP协议语法 186
6.□.□ IP协议语义 188
6.□.3 IP协议时序关系 188
6.3 IP协议发送IP分组 193
6.4 IP协议接收IP分组 195
第7章 网络层ICMP协议分析与实践 □00
7.1 引言 □00
7.□ ICMP协议工作原理 □00
7.□.1 ICMP协议语法 □00
7.□.□ ICMP差错报告报文语义及同步关系 □01
7.□.3 ICMP控制报文语义及同步关系 □03
7.□.4 ICMP查询报文语义及同步关系 □03
7.3 ping命令实现分析 □04
7.4 Tracert命令设计与实现 □13
7.5 ICMP协议发送ICMP ECHO请求报文 □□4
7.6 ICMP协议接收ICMP ECHO请求报文 □□7
第8章 传输层UDP协议分析与实践 □31
8.1 引言 □31
8.□ UDP协议工作原理 □31
8.□.1 UDP协议语法及语义 □31
8.□.□ UDP协议时序关系 □3□
8.3 UDP协议发送UDP用户数据报 □33
8.4 UDP协议接收UDP用户数据报 □36
第9章 传输层TCP协议分析与实践 □38
9.1 TCP协议概述 □38
9.□ TCP协议工作原理 □4□
9.□.1 TCP协议语法及语义 □4□
9.□.□ TCP协议通信的时序关系 □46
9.3 TCP协议发送数据段 □63
9.4 TCP协议接收数据段 □66
□□0章 应用层协议分析与实践 □71
10.1 引言 □71
10.□ HTTP协议工作原理 □7□
10.□.1 统一资源定位符 □74
10.□.□ HTTP 1.0协议的主要特点 □74
10.□.3 Web代理服务器 □76
10.□.4 HTTP报文的语法和语义 □77
10.□.5 Cookie工作原理 □80
10.3 万维网文档 □8□
10.3.1 超文本标记语言 □8□
10.3.□ 动态文档 □84
10.3.3 活动文档 □84
10.4 HTTP协议客户端实现 □85
10.5 FTP协议工作原理 □87
10.5.1 FTP协议概述 □87
10.5.□ FTP协议工作模式 □88
10.5.3 FTP协议命令 □89
10.6 FTP协议客户端实现 □91
□□1章 IPv6协议分析与实践 □97
11.1 引言 □97
11.□ IPv6协议工作原理 □97
11.□.1 IPv6协议语法及语义 □97
11.□.□ IPv6协议的地址空间 300
11.3 IPv6协议地址空间的分配 301
11.4 从IPv4协议向IPv6协议过渡机制 303
11.5 IPv6协议发送分组 304
11.6 IPv6协议接收分组 308
参考文献 311