一、实验室基本组成

南通大学协议分析实验室采用西普科技SimplePAD-NetRiver2000实验平台,主要组成分为服务器区、学生区及教学区。服务器区采用机柜集中部署网络协议开发实验系统的相关服务设备,实验控制设备和协议分析设备用于对网络协议开发实验系统提供后台支持。每个学生PC机上统一安装网络协议开发实验系统客户端。通过该实验平台,可实现网络协议分析、协议开发及协议应用实验,是较为理想的网络协议分析实验平台。

在实验室环境中,在学生PC机上安装客户端软件为用户提供基于Windows的集成实验环境,学生编写实验代码、调试和运行实验程序均在客户端软件上执行。其逻辑结构如下图所示:

二、实验目的

计算机专业网络的实验教学具有概念抽象的特点,在教学过程中强调对网络理论知识的理解,尤其是贯穿整个课程的协议栈原理的理解是重中之重。

本实验课程主要利用网络实验协议分析软件,剖析网络实验通信的整个过程,明确TCP/IP网络实验协议在整个通信过程过程中所起的作用,对计算机网络原理的课程内容进行验证性教学。网络实验协议主要是围绕协议报文结构和协议工作机理的讲解展开的。内容涉及网络通信底层,知识复杂和抽象,在理论教学过程中无法有效地将理论和实验很好的结合。本课程的协议分析平台能够动态捕获网络实验流量,让学生直观看到网络实验中的数据包,把抽象的东西以直观的形式表现出来,能够加强学生对基础理论的理解,提高学生的学习兴趣。

三、实验内容

本课程主要进行网络协议分析、协议开发及协议应用实验。一方面,网络协议的分析及应用实验,使得学生可以通过可视化的组包及分析界面了解各种协议的分层结构;另一方面,支持各层协议开发的编程接口和辅助函数,使得学生能够集中精力实现网络协议的核心机制,而无需关心不重要的细节。从而满足对于网络原理及应用领域的实验教学的全面需求。

1、协议分析实验



实验类别 实验目录
数据链路层协议分析 以太网链路层帧格式分析
802.1Q数据格式分析
BPDU报文结构分析
STP工作原理分析
网络层协议分析 IP地址分类与IP数据包的组成
ARP地址解析协议
ICMP互连控制报文协议
IGMP因特网组管理协议
传输层协议分析 UDP用户数据报协议
TCP传输控制协议
应用层协议分析 TELNET协议
FTP协议
DNS域名服务协议
SMTP和POP协议
SNMP协议与网络管理
DHCP动态主机配置协议
HTTP超文本传输协议
WINS和NETBIOS协议
路由协议分析 路由信息协议RIP
开放式最短路径优先协议OSPF
IPv6实验 基本IPv6报文分析
IPv6扩展报头分析
用户数据包(UDP)与IPv6分析
传输控制协议(TCP)与IPv6分析
IPv6因特网控制消息协议ICMPv6分析
IPv6路径MTU发现(PMTUD)
邻居发现协议(NDP)分析

2、协议应用实验


实验类别 实验目录
网络攻防实验 ARP地址欺骗
ICMP重定向
TCP与UDP端口扫描
路由欺骗
网络故障实验 网络冲突
路由环与路由回路
网络编程实验 显示你的IP地址(Java)
用SOCKET进行客户与服务器通信(Java)
利用UDP Socket技术实现IP多点传送(Java)
建立一个简单的聊天程序(Java)
创建一个简单的聊天室(VC)
主机网络配置信息查询工具(VC)

3、协议开发实验



滑动窗口协议实验 测试目的 通过滑动窗口协议实验,使学生了解滑动窗口的工作原理及过程;了解停等协议、回退N帧协议等。
测试例 1)一比特滑动窗口协议;
2)回退N帧协议。
3)选择重传协议
IPv4收发实验(交互) 测试目的 根据计算机网络实验系统所提供的上下文,对给出的IP报文进行字段检查,如果出错指出其出错字段或组装一个正确的IP报头。
测试例 1)发送一个正确的IPv4报文;
2)接收一个正确的IPv4报文;
3)丢弃头部版本错的IPv4报文;
4)丢弃头部长度错的IPv4报文;
5)丢弃头部校验和错的IPv4报文;
6)丢弃TTL错的IPv4报文;
7)丢弃目的地址错的IPv4报文。
IPv4收发实验 测试目的 根据网络实验系统所提供的上下层接口函数和协议中分组收发的主要流程,独立设计实现一个简单的IPv4分组收发模块。包括IPv4分组的基本接收处理,和IPv4分组的封装发送。
测试例 1)发送一个正确的IPv4报文;
2)接收一个正确的IPv4报文;
3)丢弃头部版本错的IPv4报文;
4)丢弃头部长度错的IPv4报文;
5)丢弃头部校验和错的IPv4报文;
6)丢弃TTL错的IPv4报文;
7)丢弃目的地址错的IPv4报文。
IPv4转发实验 测试目的 对于每一个到达本机的IPv4分组,根据其目的IPv4地址查找本机的路由表。
测试例 1)上交目的地址为本机地址的分组;
2)丢弃查不到路由的分组;
3)根据路由查找结果,向下一跳转发分组。
IPv6收发实验(交互) 测试目的 根据计算机网络实验系统所提供的上下文,对给出的IPv6报文进行字段检查,如果出错指出其出错字段或组装一个正确的IPv6报头。
测试例 1)IPv6收发实验;
2)发送一个正确的IPv6报文;
3)接收一个正确的IPv6报文;
4)Hop Limit错的IPv6包;
5)版本号错的IPv6包;
6)错误目标地址的IPv6包。
IPv6收发实验 测试目的 根据网络实验系统所提供的上下层接口函数和协议中分组收发的主要流程,独立设计实现一个简单的IPv6分组收发模块。包括IPv6分组的基本接收处理,和IPv6分组的封装发送。
测试例 1)IPv6收发实验;
2)发送一个正确的IPv6报文;
3)接收一个正确的IPv6报文;
4)Hop Limit错的IPv6包;
5)版本号错的IPv6包;
6)错误目标地址的IPv6包。
IPv6转发实验 测试目的 对于每一个到达本机的IPv6分组,根据其目的IPv6地址查找本机的路由表。
测试例 1)上交目的地址为本机地址的分组;
2)丢弃查不到路由的分组;
3)根据路由查找结果,向下一跳转发分组。
RIP协议实验(交互) 测试目的 根据上下文提示,对RIP协议。
测试例 1)RIP报文有效性检查;
2)request报文处理;
3)response报文处理;
4)路由表项定时删除;
5)路由表项定时发送。
RIP协议实验 测试目的 通过RIP协议实验,使学生了解基本的路由协议行为及工作原理,增进对路由传播方式的理解。
测试例 1)RIP报文有效性检查;
2)request报文处理;
3)response报文处理;
4)路由表项定时删除;
5)路由表项定时发送。
TCP协议实验(交互) 测试目的 根据计算机网络实验系统所提供的上下文,实现TCP建立连接和主动释放连接的过程。
测试例 1) TCP建立连接;
2) TCP释放连接
TCP实验 测试目的 通过TCP实验,使学生了解TCP报文的封装发送和接收解析过程;了解TCP三次握手建连、四次握手断连过程;了解TCP状态机的变迁。
测试例 1)TCP分组测试;
2)TCP的API函数实现。
协议状态机实验 测试目的 通过协议状态机实验,使学生加深对协议状态机描述的认识,同时对实现协议状态机有一个初步的认识;实验状态机取材于BGP路由协议,通过这个实验,同学们也可以增进对于路由协议的理解。
测试例 1)协议状态变迁;
IPSEC协议实验 测试目的 通过IPSEC协议实验,使学生加深对IPSEC协议的认识,同时对IPSEC协议实现的工作模式、AH协议和ESP协议有一个初步的认识,通过这个实验,同学们也可以增进对于网络安全协议的理解。
测试例 1) 传输模式报文处理(AH协议)
2) 隧道模式报文处理(ESP协议)
3) 混合模式报文处理(AH协议+ESP协议)
4)3des加密算法实现(ESP协议)
移动IP协议实验 测试目的 通过移动IP协议实验,学生可以理解移动IP的工作原理,掌握移动IP的主要技术。
测试例 1) 代理搜索-移动节点功能的实现
2) 注册-移动节点功能的实现
3) 注册-外地代理功能的实现
4) 注册-家乡代理功能的实现
5) 包传送-家乡代理功能的实现
6) 包传送-外地代理功能的实现