网络协议分析实验平台在TCP/IP教学中的应用
【摘要】针对TCP/IP课程教学中网络理论的抽象及难于理解等问题,比如TCP的中三次握手,既是重点,也是难点,本文立足于网络协议分析实验平台,将协议分析软件应用到理论讲授环节,实时捕获和分析网络协议数据包,详细描述协议交互过程,极大增强了学生对网络协议的感性认识,加深了对网络原理的理解,实践证明有效提高了教学效率,取得了良好的教学效果!
【关键词】TCP/IP协议,协议分析,三次握手
一、引言
二、协议分析及理论概述
网络协议分析软件可以实时捕获网络上传输的数据信息,能跟踪剖析网络协议运行的整个过 ت程,让学生直观地看到网络中的数据内容,把抽象的概念形象生动地表现出来,因此,网络协议分析软件开始被广泛地用于网络实验甚至是课堂的教学当中。TCP是一种可靠的、面向连接的传输协议,因此端到端的数据传输前必须先建立一个会话,这个会话过程是通过三次往返来实现的,被形象的称为“三次握手”,其具体步骤是:
1、主机A向主机B发出连接请求报文,序列号字段Seq随机生成,假设为x,确认号字段Ack为0。
2、如果B收到则发回确认报文,其确认号字段Ack = x+1,同时随机生成序列号字段Seq,假设为y。
3、A收到后向B给出确认,其Seq=x+1,Ack= y+1。
至此,双方确认已建立连接。
一般来说,这是很多教师在讲授时常采用的方式,应该说其实现原理并不深奥。但实际问题是具体细节并不详细,比如序列号字段Sequence Number和确认号字段Acknowledge Number的具体值有什么特点?每个阶段的SYN和ACK字段的值是多少?各功能字段如何配合使用的?等等问题并没有直观的体现出来。此时协议分析实验平台则可大显身手。
三、协议分析实验案例
本文以访问学校官网www.omxy.com?为例进行抓包实验。浏览器访问网站采用的是HTTP协议,它是应用层协议之一,其传输手段正是TCP,也就是说,客户机和服务器的这次会话过程一定有TCP建立连接的过程,即三次握手,通过协议分析软件就能看到其详细过程和内容。
第一步:启动协议分析软件,本文采用的是中软吉大和我院共建的专用网络协议实训平台,其功能基本和其它的抓包软件相同,如Sniffer和Ethereal等。需要说明的是,为了减少抓包的数量,便于查找和分析,建议设置过滤器,比如HTTP过滤。
第二步:启动浏览器访问网站,只要一打开页面即可停止捕获,表面☮上看到的页面呈现似乎一瞬间就完成了,其实从最底层的原始数据来看,成百上千个数据帧已经捕获了,也正好借此机会给学生讲解原因,贯穿以前所学以及为今后的内容打下埋伏。
第四步:详细解读三次握手的数据信息。源端口、目的端口、首ฅ部长度等TCP头部信息字段一清二楚。为了更好理解TCP三次握手的原理细节,我们重点关注序列号、确认号以及各种标志位的含义。
1、选中第一帧数据,即标示为SYN,表示第一次握手,序列号是585188878,系统随机生成的,可以看出该值足够大,理论上不会重复,确认号确实是0。标志位SYN为1,ACK为0,表示连接请求,证实了上节理论概述的第一条。
四、结束语
在计算机网络专业的课程中,TCP/IP协议课程原理的复杂性及抽象性决定了其必然成为教学的难点。由于网络协议分析软件能够捕获各种网络实验协议的数据并进行解析,进而再现网络实验通信的整个过程。本文以三次握手为例,通过协议分析软件以图解方式直观方式展示网络会话过¿程中数据帧的传输方向及每个数据帧的功能,把隐性变成了显性,对理论数据格式与实验捕获的实际数据帧比较,使学生对协议交互机制和工作过程有了更深刻的认识,也提升了对网络故障的分析能力。改变了过去的传统教课方式,符合先感性后理性的认知规律ღ,使学生感觉到网络协议易学易懂,激发了兴趣,增强了信心,取得了良好的教学效果。