西 安 邮 电 大 学 (计算机学院)
*****设计报告
题 目:
专业名称:班 级:
学生姓名:
学号(8位):
指导教师:
设计起止时间: ****年**月**日—****年**月**日
网络协议分析与仿真课程设计报告
网络流量分析
一、 课程设计目的
加深对IP、TCP、UDP、FTP等协议的理解;
掌握流量分析工具的使用,学习基本的流量分析方法。
二、 课程设计内容
流量分析
? 工具:Wireshark(Windows或Linux),tcpdump(Linux)
? 要求:使用过滤器捕获特定分组;用脚本分析大量流量数据(建议用perl)。 ? 内容:FTP流量分析
配置一个FTP站点,在该FTP站点注册用户,然后以该用户登录FTP服务器,分别下载和上传一个文件后退出。用分组捕获工具记录全过程,分析并回答:
(1) 找出TCP控制连接建立的分组,它的四元组是什么?
(2) 针对(1)中的TCP连接,找出其三次握手过程分组,并结合数据,绘出TCP连
接建立的完整过程,注明每个TCP报文段的序号、确认号、以及SYN\ACK的设置。双方协商的起始序号是什么?TCP连接建立的过程中,第三次握手是否带有数据?是否消耗了一个序号?
(3) 针对(1)中的TCP连接,找出其释放过程分组,结合数据,绘出TCP连接释放
的完整过程,注明每个TCP报文段的序号、确认号、以及FIN\ACK的设置。释放请求由服务器还是客户发起?FIN报文段是否携带数据,是否消耗一个序号?FIN报文段的序号是什么?为什么是这个值?
(4) 找出登录(FTP login命令)分组,提取用户名、口令,口令是否加密?
(5) FTP客户端和服务器是如何协商数据连接属性的?
(6) 找出上传文件数据连接的四元组,该连接是谁发起的,谁关闭的?试计算下载
平均速率,并与FTP客户端的速率统计做比较,是否一致?
(7) 在该TCP连接的数据传输过程中,找出每一个数据报文段与其ACK报文段的对
应关系,计算这些数据报文段的往返时延RTT(即RTT样本值)。根据课本200页5.6.2节内容,给每一个数据报文段估算超时时间RTO。(提示:用脚本编程实现)
(8) 找出控制连接中的所有FTP命令(login、ls、cd、get、put、quit等)报文段,
分析这些TCP报文段的标志字段,与其它数据报文段相比,有何不同?
三、 设计与实现过程
针对以上的所有问题,一一给出详细的回答,必须配有相关截图,必要时需在截图上框示相关数据。要求有绘图的地方,必须有手绘图。
四、 设计技巧及体会
1、对自己设计进行评价,指出合理和不足之处,提出改进的方案。
2、在设计过程中的感受。
所有正文部分用小四字体
正式报告里请把红色字体全删除! 报告雷同者,抄和被抄者全判0分!
西 安 邮 电 大 学 (计算机学院)
网络协议分析与仿真课程设计
预习报告
专业名称:
班 级:
学生姓名: 网络工程 学号(8位):
指导教师:
设计起止时间:20xx年12月2日—20xx年12月13日
题目一网络流量分析
一、 课程设计目的
加深对IP、DNS 、TCP、UDP、HTTP等协议的理解;
掌握流量分析工具的使用,学习基本的流量分析方法。
二、课程设计地点及时间
二号实验楼442网络实验室,12月2日至12月6日,每天8:00-14:00
三、课程设计实验条件
? 工具:Wireshark(Windows或Linux),tcpdump(Linux)
? 要求:使用过滤器捕获特定分组;用脚本分析大量流量数据(建议用perl)。 ? 内容:Web流量分析
四、课程设计原理
1、DNS域名解析:首先,客户端的应用层会封装数据到达传输层,在传输层标识源端口号与目的端口号(源端口号为大于1023随机,目的端口号为UDP53端口)及应用层服务(这里因该是请求DNS查询服务吧)。传输层封装数据产生数据段传给网络层,在网络层标识源IP地址及目的IP地址(源IP地址为客户端IP,目的IP地址为DNS服务器IP地址),网络层将数据段封装为数据包传给数据链路层,在数据链路层将会在数据包里加入源MAC地址及目的MAC地址(源MAC地址为客户端网卡MAC地址,目的MAC地址为DNS服务器MAC地址),这里应该查询MAC缓存。数据链路层根据客户端与DNS服务器之间的链路,将数据包封装成帧,传给物理层。物理层会将数据帧转化为电信号放到物理介质上。
电信号到达DNS服务器后会从物理层到达应用层(这里和客户端发送数据差不多,只不过这个过程变成了解封装),DNS服务器做完域名解析后再将数据传给客户端,传输过程同客户端发送数据。
2、建立TCP/IP连接:客户端知道WEB服务器IP地址之后,在网络层产生建立TCP/IP三次握手的数据包(TCP/IP三次握手:客户端向服务器端发送SYN信息,服务器端收到SYN信息后回复给客户端SYN+ACK确认信息,客户端收到确认信息后再向服务器发送ACK信息建立连接),应用层标识HTTP服务将数据发送到传输层,传输层将数据+源端口号(大于1023)、目的端口号(80)+上层服务WWW封装为数据段传给网路层。网络层将数据段+源ip与目的ip(WWW服务器的ip地址)封装为数据包发送到数据链路层。数据链路层参照ARP缓存表确定源MAC地址(本机MAC地址)及目的MAC地址(客户端与路由B相连端口的MAC地址)将数据包封装成数据帧。这里还需要CRC校验。。。。。。数据帧到达物理层后变成电信号发送到介质上(这里还需要访问控制方法DSMA/CD)
路由B收到电信号后传给路由器的数据链路层,这里还需要CRC,FCS校验。。。。。。确定数据帧没有损坏后查看目的MAC地址与路由器端口地址是否相同,如果相同将解封装,将数据包发送到路由器B的物理层,路由器查看路由表确定数据包的转发端口,路由器B确定与路由A之间的链路,创建帧。
路由B与路由A可以看成是点对点,即路由B将创建PPP帧。路由A收到电信号后,确定帧的完整性,如果完整即将数据帧解封装发送到网络层,路由A查询路由表将数据包转发到与WEB相连的路由端口。
路由A的数据链路层将查询ARP缓存表确定WWW服务器的MAC地址,路由A将创建源MAC地址(路由A)及目的MAC地址(WEB服务器MAC地址)的数据帧。WEB服务器收到数据帧
后比较MAC地址,确定数据帧是发给WEB服务器的,传给WEB服务器的网络层,查看目的IP地址是否与WEB服务器IP地址是否相同,相同即发送到传输层,查看为TCP协议及80端口号。应用层收到数据即向客户端响应WWW服务请求。
发送网页与请求网页数据发送相同
五、课程设计方案 熟练运用wireshark,进行抓包和解析即可,Wireshark[2]使用目的
以下是一些使用Wireshark目的的例子:
网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识。当然,有的人也会“居心叵测”的用它来寻找一些敏感信息……
Wireshark不是入侵侦测系统(Intrusion Detection System,IDS)。对于网络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark撷取的封包能够帮助使用者对于网络行为有更清楚的了解。Wireshark不会对网络封包产生内容的修改,它只会反映出目前流通的封包资讯。 Wireshark本身也不会送出封包至网络上。
题目二网络模拟
一、 课程设计目的
掌握网络模拟工具NS2的使用,学习基本的网络模拟方法。
二、课程设计地点及时间
二号实验楼425网络实验室,12月9日至12月13日,每天8:00-14:00
三、课程设计实验条件
Winxp/win7操作系统,ns2,perl,shell和awk多种语言
四、课程设计原理
Ns2:NS2是指 Network Simulator version 2,NS(Network Simulator) 是一种针对网络技术的源代码公开的、免费的软件模拟平台,研究人员使用它可以很容易的进行网络技术的开发,而且发展到今天,它所包含的模块几乎涉及到了网络技术的所有方面。所以,NS成了目前学术界广泛使用的一种网络模拟软件。此外,NS也可作为一种辅助教学的工具,已被广泛应用在了网络技术的教学方面。因此,目前在学术界和教育界,有大量的人正在使用或试图使用NS。NS2(Network Simulator,version 2)是一种面向对象的网络仿真器,本质上是一个离散事件模拟器,由UC Berkeley开发而成。它本身有一个虚拟时钟,所有的仿真都由离散事件驱动的。目前NS2可以用于仿真各种不同的IP网,已经实现的一些仿真有网络传输协议,比如TCP和UDP,业务源流量产生器,比如FTP,Telnet,Web CBR和VBR;路由队列管理机制,比如Droptail,RED和CBQ;路由算法,比如AODV、DSDV、DSR等无线路由协议。NS2也为进行局域网的仿真而实现了多播以及一些MAC 子层协议。
Awk:AWK是一种优良的文本处理工具。它不仅是 Linux 中也是任何环境中现有的功能最强大的数据处理引擎之一。
五、课程设计方案 从网络拓扑仿真、协议仿真和通信量仿真等方面介绍NS的相应元素:
1.网络拓扑主要包括节点、链路。NS的节点由一系列的分类器(Classifier,如地址分类器等)组成,而链路由一系列的连接器(Connector)组成。
2.在节点上,配置不同的代理可以实现相应的协议或其它模型仿真。如NS的TCP代理,发送代理有:TCP,TCP/Reno,TCP/Vegas,TCP/Sack1,TCP/FACK,TCP/FULLTCP等,接收代理有:TCPSINK,TCPSINK/DELACK。TCPSINK/SACK1,TCPSINK/SACK1/DELACK等。此外,还提供有UDP代理及接收代理Null(负责通信量接收)、Loss Monitor(通信量接收并维护一些接收数据的统计)。
3.网络的路由配置通过对节点附加路由协议而实现。NS中有三种单播路由策略:静态、会话、动态。
4.在链路上,可以配置带宽、时延和丢弃模型。NS支持:Drop-tail(FIFO)队列、RED缓冲管、CBO(包括优先权和Round-robin 调度)。各种公平队列包括:FQ,SFQ,DRR等。
5.通信量仿真方面,NS提供了许多通信应用,如FTP,它产生较大的峰值数据传输;Telnet则根据相应文件随机选取传输数据的大小。此外,NS提供了四种类型的通信量产生器:EXPOO,根据指数分布(On/Off)产生通信量,在On阶段分组以固定速率发送,Off阶段不发送分组,On/Off的分布符合指数分布,分组尺寸固定;POO,根据Pareto分布(On/Off)产生通信量,它能用来产生长范围相关的急剧通信量;CBR,以确定的速率产生通信量,分组尺寸固定,可在分组间隔之间产生随机抖动;Traffic Trace,根据追踪文件产生通信量。 6使用方法
使用NS进行网络仿真的方法和一般过程。
进行网络仿真前,首先分析仿真涉及哪个层次,NS仿真分两个层次:一个是基于OTcl编程的层次。利用NS已有的网络元素实现仿真,无需修改NS本身,只需编写OTcl脚本。另一个是基于C++和OTcl编程的层次。如果NS中没有所需的网络元素,则需要对NS进行扩展,添加所需网络元素,即添加新的C++和OTcl类,编写新的OTcl脚本。
假设用户已经完成了对NS的扩展,或者NS所包含的构件已经满足了要求,那么进行一次仿真的步骤大致如下:
1.开始编写OTcl脚本。首先配置模拟网络拓扑结构,此时可以确定链路的基本特性,如延迟、带宽和丢失策略等。
2.建立协议代理,包括端设备的协议绑定和通信业务量模型的建立。
3.配置业务量模型的参数,从而确定网络上的业务量分布。
4.设置Trace对象。NS通过Trace文件来保存整个模拟过程。仿真完后,用户可以对Trace文件进行分析研究。
5.编写其他的辅助过程,设定模拟结束时间,至此OTcl脚本编写完成。
6.用NS解释执行刚才编写的OTcl脚本。
7.对Trace文件进行分析,得出有用的数据。
8.调整配置拓扑结构和业务量模型,重新进行上述模拟过程。
NS2采用两级体系结构,为了提高代码的执行效率,NS2 将数据操作与控制部分的实现相分离,事件调度器和大部分基本的网络组件对象后台使用C++实现和编译,称为编译层,主要功能是实现对数据包的处理;NS2的前端是一个OTcl解释器,称为解释层,主要功能是
对模拟环境的配置、建立。从用户角度看,NS2 是一个具有仿真事件驱动、网络构件对象库和网络配置模块库的OTcl脚本解释器。NS2中编译类对象通过OTcl连接建立了与之对应的解释类对象,这样用户间能够方便地对C++对象的函数进行修改与配置,充分体现了仿真器的一致性和灵活性。
材料成型CAE论文(Moldflow注塑工艺分析)姓名:XX学号:XX在MoldflowPlasticInsight6.0环境中,…
Moldflow模流分析报告1网格划分如右图实体计数三角形7756节点3880柱体0连通区域1网格体积269066cm3网格面积1…
Moldflow模流分析报告1网格划分如右图实体计数三角形7756节点3880柱体0连通区域1网格体积269066cm3网格面积1…
利用Moldflow20xx辅助设计软件对模型liftgateLigs与liftgateRigs的注射模具设计冷却系统与浇注系统一…
Moldflow视频教程内容联系人刘工电话151xxxxxxxx全套200元QQ1004581040Email1004581040…
网店日常运营基本情况分析一使用情况1流量数访问数反应网店人气2独立访客真实访问人数3平均访问页数访客对网店兴趣度二运营情况1订单量…
城市交通与道路系统规划调查报告题目交通流量调查与停车位调查报告院系建筑工程学院专业城市规划班级1202B姓名刘世昌学号123715…
86号中关村电子商场的调研数据报告一调研数据展示二优势劣势分析优势从市场调研情况来看我们公司的产品有以下优势1功能上我们可以充电还…
社会调查报告调查题目关于手机流量使用报告学院电子信息工程学院班级13级电工2班学号20xx1031姓名冰锅指导老师徐玉容关于手机流…
交通流量调查报告班级:城规11-01学号:XXX一、调查说明(1)目的:将所学知识付诸于实践,同学们在相互合作,分组统计12小时(…
ProE实训报告模具09115李小布实训时间20xx年7月实训地点南海校区C4074108指导老师周铭杰康俊远实训内容产品分析分模…