《2022年网络协议分析与仿真课程预习分析方案》由会员分享,可在线阅读,更多相关《2022年网络协议分析与仿真课程预习分析方案(6页珍藏版)》请在金锄头文库上搜索。
1、1 / 6 西 安 邮 电 大 学 计算机学院)网络协议分析与仿真课程设计预习报告专业名称:网络工程班级:学生姓名:学号8 位):指导教师:设计起止时间:2018 年 12 月 2 日2018 年 12 月 13 日精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 6 页2 / 6 题目一网络流量分析一、 课程设计目的加深对 IP、DNS 、TCP 、 UDP、HTTP等协议的理解;掌握流量分析工具的使用,学习基本的流量分析方法。二、课程设计地点及时间二号实验楼442 网络实验室, 12 月 2 日至 12 月 6 日,每天8:00-14
2、:00 三、课程设计实验条件工具: WiresharkWindows 或 Linux), tcpdumpLinux )要求:使用过滤器捕获特定分组;用脚本分析大量流量数据建议用 perl)。内容: Web 流量分析四、课程设计原理1、DNS域名解读:首先,客户端的应用层会封装数据到达传输层,在传输层标识源端口号与目的端口号 源端口号为大于1023 随机,目的端口号为UDP53端口)及应用层服务这里因该是请求DNS查询服务吧)。传输层封装数据产生数据段传给网络层,在网络层标识源IP 地址及目的IP 地址 源 IP 地址为客户端IP ,目的 IP 地址为 DNS服务器 IP 地址),网络层将数据段
3、封装为数据包传给数据链路层,在数据链路层将会在数据包里加入源MAC地址及目的MAC 地址 源 MAC地址为客户端网卡MAC 地址,目的MAC 地址为 DNS服务器 MAC地址),这里应该查询MAC缓存。数据链路层根据客户端与DNS服务器之间的链路,将数据包封装成帧,传给物理层。物理层会将数据帧转化为电信号放到物理介质上。电信号到达DNS服务器后会从物理层到达应用层这里和客户端发送数据差不多,只不过这个过程变成了解封装),DNS服务器做完域名解读后再将数据传给客户端,传输过程同客户端发送数据。2、建立TCP/IP 连接:客户端知道WEB 服务器 IP 地址之后,在网络层产生建立TCP/IP 三次
4、握手的数据包TCP/IP 三次握手:客户端向服务器端发送SYN信息,服务器端收到SYN信息后回复给客户端SYN+ACK 确认信息,客户端收到确认信息后再向服务器发送ACK信息建立连接),应用层标识HTTP 服务将数据发送到传输层,传输层将数据+源端口号 大于1023)、目的端口号80) +上层服务WWW 封装为数据段传给网路层。网络层将数据段+源ip与目的ipWWW 服务器的ip地址)封装为数据包发送到数据链路层。数据链路层参照ARP缓存表确定源MAC地址 本机 MAC地址)及目的MAC地址 客户端与路由B 相连端口的MAC地址)将数据包封装成数据帧。这里还需要CRC校验。数据帧到达物理层后变
5、成电信号发送到介质上这里还需要访问控制方法DSMA/CD )路由 B 收到电信号后传给路由器的数据链路层,这里还需要CRC,FCS校验。确定数据帧没有损坏后查看目的MAC地址与路由器端口地址是否相同,如果相同将解封装,将数据包发送到路由器B 的物理层,路由器查看路由表确定数据包的转发端口,路由器B确定与路由A之间的链路,创建帧。路由 B 与路由 A可以看成是点对点,即路由B 将创建 PPP帧。路由A 收到电信号后,确定帧的完整性,如果完整即将数据帧解封装发送到网络层,路由A 查询路由表将数据包转发到与 WEB 相连的路由端口。路由 A 的数据链路层将查询ARP缓存表确定WWW服务器的MAC 地
6、址,路由A 将创建源MAC地址 路由 A)及目的MAC 地址 WEB 服务器 MAC 地址)的数据帧。WEB 服务器收到数据帧后精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 6 页3 / 6 比较 MAC 地址,确定数据帧是发给WEB 服务器的,传给WEB 服务器的网络层,查看目的IP地址是否与WEB 服务器 IP 地址是否相同,相同即发送到传输层,查看为TCP协议及 80 端口号。应用层收到数据即向客户端响应WWW服务请求。发送网页与请求网页数据发送相同五、课程设计方案熟练运用 wireshark ,进行抓包和解读即可,Wiresh
7、ark2 使用目的以下是一些使用Wireshark 目的的例子:网络管理员使用Wireshark 来检测网络问题,网络安全工程师使用Wireshark 来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识。当然,有的人也会“ 居心叵测 ” 的用它来寻找一些敏感信息 Wireshark 不是入侵侦测系统Intrusion Detection System,IDS )。对于网络上的异常流量行为, Wireshark 不会产生警示或是任何提示。然而,仔细分析Wireshark 撷取的封包能够帮助使用者对于网络行为有更清楚的
8、了解。Wireshark 不会对网络封包产生内容的修改,它只会反映出目前流通的封包资讯。 Wireshark 本身也不会送出封包至网络上。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 6 页4 / 6 题目二网络模拟一、 课程设计目的掌握网络模拟工具NS2的使用,学习基本的网络模拟方法。二、课程设计地点及时间二号实验楼425 网络实验室, 12 月 9 日至 12 月 13 日,每天8:00-14:00 三、课程设计实验条件Winxp/win7 操作系统, ns2,perl,shell和 awk 多种语言四、课程设计原理Ns2:NS2
9、 是指 Network Simulator version 2,NSNetwork Simulator) 是一种针对网络技术的源代码公开的、免费的软件模拟平台,研究人员使用它可以很容易的进行网络技术的开发,而且发展到今天,它所包含的模块几乎涉及到了网络技术的所有方面。所以,NS成了目前学术界广泛使用的一种网络模拟软件。此外,NS 也可作为一种辅助教案的工具,已被广泛应用在了网络技术的教案方面。因此,目前在学术界和教育界,有大量的人正在使用或试图使用NS。NS2Network Simulator,version 2)是一种面向对象的网络仿真器,本质上是一个离散事件模拟器,由 UC Berkele
10、y 开发而成。它本身有一个虚拟时钟,所有的仿真都由离散事件驱动的。目前NS2可以用于仿真各种不同的IP 网,已经实现的一些仿真有网络传输协议,比如TCP和 UDP ,业务源流量产生器,比如FTP ,Telnet,Web CBR和 VBR;路由队列管理机制,比如Droptail,RED 和 CBQ ;路由算法,比如AODV、DSDV 、DSR等无线路由协议。 NS2也为进行局域网的仿真而实现了多播以及一些MAC 子层协议。Awk:AWK是一种优良的文本处理工具。它不仅是 Linux 中也是任何环境中现有的功能最强大的数据处理引擎之一。五、课程设计方案从网络拓扑仿真、协议仿真和通信量仿真等方面介绍
11、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负责通信量接收)、Los
12、s Monitor 通信量接收并维护一些接收数据的统计)。3网络的路由配置通过对节点附加路由协议而实现。NS 中有三种单播路由策略:静态、会话、动态。4在链路上,可以配置带宽、时延和丢弃模型。NS 支持: Drop-tailFIFO)队列、 RED精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 6 页5 / 6 缓冲管、 CBO 包括优先权和Round-robin 调度)。各种公平队列包括:FQ,SFQ ,DRR等。5通信量仿真方面,NS 提供了许多通信应用,如FTP ,它产生较大的峰值数据传输; Telnet 则根据相应文件随机选取传
13、输数据的大小。此外,NS 提供了四种类型的通信量产生器: EXPOO ,根据指数分布On/Off )产生通信量,在On 阶段分组以固定速率发送,Off 阶段不发送分组,On/Off 的分布符合指数分布,分组尺寸固定;POO,根据 Pareto 分布On/Off )产生通信量,它能用来产生长范围相关的急剧通信量;CBR ,以确定的速率产生通信量,分组尺寸固定,可在分组间隔之间产生随机抖动;Traffic Trace,根据追踪文件产生通信量。6使用方法使用 NS 进行网络仿真的方法和一般过程。进行网络仿真前,首先分析仿真涉及哪个层次,NS 仿真分两个层次:一个是基于OTcl编程的层次。利用NS已有
14、的网络元素实现仿真,无需修改NS 本身,只需编写OTcl脚本。另一个是基于C+ 和 OTcl编程的层次。如果NS中没有所需的网络元素,则需要对NS进行扩展,添加所需网络元素,即添加新的C+和 OTcl类,编写新的OTcl脚本。假设用户已经完成了对NS 的扩展,或者NS 所包含的构件已经满足了要求,那么进行一次仿真的步骤大致如下:1开始编写OTcl 脚本。首先配置模拟网络拓扑结构,此时可以确定链路的基本特性,如延迟、带宽和丢失策略等。2建立协议代理,包括端设备的协议绑定和通信业务量模型的建立。3配置业务量模型的参数,从而确定网络上的业务量分布。4设置 Trace 对象。 NS 通过 Trace文
15、件来保存整个模拟过程。仿真完后,用户可以对Trace文件进行分析研究。5编写其他的辅助过程,设定模拟结束时间,至此OTcl脚本编写完成。6用 NS解释执行刚才编写的OTcl脚本。7对 Trace 文件进行分析,得出有用的数据。8调整配置拓扑结构和业务量模型,重新进行上述模拟过程。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 6 页6 / 6 NS2采用两级体系结构,为了提高代码的执行效率,NS2 将数据操作与控制部分的实现相分离,事件调度器和大部分基本的网络组件对象后台使用C+实现和编译,称为编译层,主要功能是实现对数据包的处理;NS2的前端是一个OTcl 解释器,称为解释层,主要功能是对模拟环境的配置、建立。从用户角度看,NS2 是一个具有仿真事件驱动、网络构件对象库和网络配置模块库的OTcl脚本解释器。NS2中编译类对象通过OTcl 连接建立了与之对应的解释类对象,这样用户间能够方便地对C+对象的函数进行修改与配置,充分体现了仿真器的一致性和灵活性。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 6 页