本课程的先修课程为“程序设计”“计算机网络”“网络协议分析”。本课程强调技能训练,在授课内容上注重知识的实用性和连贯性,建议实践学时为30学时,各章的教学内容可按以下建议进行安排。
第1章 网络应用程序运行分析(上机实践2学时)
实践内容:
· 网络流量捕获工具使用方法。
· 网络状态显示工具使用方法。
· 经典网络应用运行过程分析。
考核要求:
通过上机实践,学生应能熟悉常用的网络编程辅助分析工具,掌握网络应用程序的调试和分析技能。
第2章Windows Sockets编程基础(上机实践2学时)
实践内容:
· Windows Sockets开发环境配置。
· Windows Sockets相关数据结构定义。
· Windows Sockets接口的基本函数使用。
考核要求:
通过上机实践,学生应能熟悉Windows Sockets的接口功能,掌握Windows Sockets开发环境配置,掌握Windows Sockets DLL的初始化和释放方法,熟悉Windows Sockets的常用数据结构。
第3章 基于流式套接字的网络编程(上机实践8学时)
实践内容:
· 基本流式套接字编程方法。
· 基于流式套接字的网络功能框架设计。
· 基于流式套接字的并发程序设计。
· 基于流式套接字的网络应用程序运行过程分析。
· 提高网络应用程序对数据流的处理能力。
· 提高网络应用程序的传输效率。
考核要求:
通过上机实践,学生应能掌握流式套接字编程模型和基本函数的使用,能够用简单的回射程序测试和分析网络应用常见的异常现象,能够处理基于流式套接字的网络程序的可靠性问题,并对其传输效率进行测量和改进,能够处理流式套接字编程中的常见错误。
第4章 基于数据报套接字的网络编程(上机实践4学时)
实践内容:
· 基本数据报套接字编程方法。
· 基于数据报套接字的网络功能框架设计。
· 无连接应用程序丢包率测试。
考核要求:
通过上机实践,学生应能掌握基于数据报套接字的网络程序设计方法,具备测试和分析网络传输异常现象的能力,重视基于数据报套接字网络程序的不可靠性问题,提高在网络应用程序设计过程中检查错误和排除错误的能力。
第5章 基于原始套接字的网络编程(上机实践4学时)
实践内容:
· 基本原始套接字编程方法。
· 基于原始套接字的网络功能框架设计。
· 基于原始套接字的通信报文构造和通信过程控制。
考核要求:
通过上机实践,学生应能掌握基于原始套接字的网络程序设计方法,具备测试和分析网络传输异常现象的能力,掌握协议首部构造和控制、网络数据分析的基本方法,提高在网络应用程序设计过程中检查错误和排除错误的能力。
第6章 网络I/O模型的应用(上机实践4学时)
实践内容:
· 基于I/O复用模型的网络应用程序设计。
· 基于WSAAsyncSelect模型的网络应用程序设计。
· 基于完成端口模型的网络应用程序设计。
考核要求:
通过上机实践,学生应能掌握Windows I/O操作的基本原理,掌握I/O复用模型、WSAAsyncSelect模型和完成端口模型的程序设计方法,熟悉各种模型的优缺点,培养在各种应用场景下正确选择I/O模型的意识和能力,提高在网络应用程序设计过程中检查错误和排除错误的能力。
第7章Npcap编程(上机实践4学时)
实践内容:
· 基于Npcap的数据构造和发送。
· 基于Npcap的数据接收和控制。
考核要求:
通过上机实践,学生应能掌握Npcap的体系结构和编程开发的基本方法,掌握Npcap编程环境的配置方法,掌握wpcap.dll接口库的基本功能,掌握链路层数据帧的构造和处理方法。
第8章 加密通信编程(上机实践2学时)
实践内容:
· 基于流式套接字实现通信双方的加密参数协商。
· 基于流式套接字实现加密通信中的会话密钥生成和明密文处理。
· 基于流式套接字实现连续的加密通信数据发送与接收。
考核要求:
通过上机实践,学生应掌握网络安全协议的密钥协商过程以及加密通信过程,具备基于流式套接字设计加密通信系统的客户端和服务端的能力,提高在网络加密通信系统设计过程中检查错误和排除错误的能力。