2022年网络协议分析与仿真课程预习分析方案.docx
精选学习资料 - - - - - - - - - 西 安 邮 电 大 学 <运算机学院)网络协议分析与仿真课程设计预习报告专业名称:网络工程班 级:同学姓名:学号 <8 位):指导老师:设计起止时间: 2022 年 12 月 2 日 2022 年 12 月 13 日1 / 6 名师归纳总结 - - - - - - -第 1 页,共 6 页精选学习资料 - - - - - - - - - 题目一网络流量分析一、 课程设计目的加深对 IP、DNS 、TCP、 UDP、HTTP等协议的懂得;把握流量分析工具的使用,学习基本的流量分析方法;二、课程设计地点准时间二号试验楼 442 网络试验室, 12 月 2 日至 12 月 6 日,每天 8:00-14:00 三、课程设计试验条件工具: Wireshark<Windows 或 Linux), tcpdump<Linux )要求:使用过滤器捕捉特定分组;用脚本分析大量流量数据 内容: Web 流量分析 四、课程设计原理<建议用 perl);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 收到电信号后,确定帧的完整性,假如完整即将数据帧解封装发送到网络层,路由 到与 WEB相连的路由端口;A 查询路由表将数据包转发路由 A 的数据链路层将查询 ARP缓存表确定 WWW 服务器的 MAC地址,路由 A 将创建源 MAC地址 <路由 A)及目的 MAC地址 <WEB服务器 MAC地址)的数据帧;WEB服务器收到数据帧后2 / 6 名师归纳总结 - - - - - - -第 2 页,共 6 页精选学习资料 - - - - - - - - - 比较 MAC地址,确定数据帧是发给WEB服务器的,传给WEB服务器的网络层,查看目的IP地址是否与 WEB服务器 IP 地址是否相同,相同即发送到传输层,查看为 TCP协议及 80 端口号;应用层收到数据即向客户端响应 WWW 服务恳求;发送网页与恳求网页数据发送相同五、课程设计方案娴熟运用 wireshark ,进行抓包和解读即可,以下是一些使用 Wireshark 目的的例子:Wireshark2 使用目的网络治理员使用 Wireshark 来检测网络问题,网络安全工程师使用 Wireshark 来检查资讯安全相关问题,开发者使用 Wireshark 来为新的通讯协定除错,一般使用者使用Wireshark 来学习网络协定的相关学问;当然,有的人也会“居心叵测 ”的用它来查找一些敏感信息 Wireshark 不是入侵侦测系统<Intrusion Detection System,IDS );对于网络上的反常流量行为, Wireshark 不会产生警示或是任何提示;然而,认真分析 Wireshark 撷取的封包能够帮忙使用者对于网络行为有更清晰的明白;Wireshark 不会对网络封包产生内容的修改,它只会反映出目前流通的封包资讯; Wireshark 本身也不会送出封包至网络上;3 / 6 名师归纳总结 - - - - - - -第 3 页,共 6 页精选学习资料 - - - - - - - - - 题目二网络模拟一、 课程设计目的把握网络模拟工具 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网络的路由配置通过对节点附加路由协议而实现;态、会话、动态;4在链路上,可以配置带宽、时延和丢弃模型;4 / 6 NS 中有三种单播路由策略:静NS 支持: Drop-tail<FIFO)队列、 RED名师归纳总结 - - - - - - -第 4 页,共 6 页精选学习资料 - - - - - - - - - 缓冲管、 CBO<包括优先权和Round-robin 调度);各种公正队列包括:FQ,SFQ,DRR等;5通信量仿真方面,NS 供应了很多通信应用,如FTP,它产生较大的峰值数据传输; Telnet 就依据相应文件随机选取传输数据的大小;此外,NS 供应了四种类型的通信量产生器: EXPOO,依据指数分布 <On/Off )产生通信量,在 On 阶段分组以固定速率发送,Off 阶段不发送分组,On/Off 的分布符合指数分布,分组尺寸固定;POO,依据 Pareto 分布<On/Off )产生通信量,它能用来产生长范畴相关的急剧通信量;通信量,分组尺寸固定,可在分组间隔之间产生随机抖动;生通信量;6使用方法使用 NS 进行网络仿真的方法和一般过程;CBR,以确定的速率产生 Traffic Trace,依据追踪文件产进行网络仿真前,第一分析仿真涉及哪个层次,NS 仿真分两个层次:一个是基于 OTcl编程的层次;利用 NS已有的网络元素实现仿真,无需修改 NS 本身,只需编写 OTcl脚本;另一个是基于 C+和 OTcl 编程的层次;假如 NS中没有所需的网络元素,就需要对 NS进行扩展,添加所需网络元素,即添加新的 C+和 OTcl 类,编写新的 OTcl脚本;假设用户已经完成了对 NS 的扩展,或者 NS 所包含的构件已经满意了要求,那么进行一次仿真的步骤大致如下:1开头编写 OTcl 脚本;第一配置模拟网络拓扑结构,此时可以确定链路的基本特性,如推迟、带宽和丢失策略等;2建立协议代理,包括端设备的协议绑定和通信业务量模型的建立;3配置业务量模型的参数,从而确定网络上的业务量分布;4设置 Trace 对象; NS 通过 Trace 文件来储存整个模拟过程;仿真完后,用户可以对Trace 文件进行分析讨论;5编写其他的帮助过程,设定模拟终止时间,至此6用 NS说明执行刚才编写的 OTcl脚本;7对 Trace 文件进行分析,得出有用的数据;OTcl脚本编写完成;8调整配置拓扑结构和业务量模型,重新进行上述模拟过程;5 / 6 名师归纳总结 - - - - - - -第 5 页,共 6 页精选学习资料 - - - - - - - - - NS2采纳两级体系结构,为了提高代码的执行效率,NS2 将数据操作与掌握部分的实现相分别,大事调度器和大部分基本的网络组件对象后台使用C+实现和编译,称为编译层,主要功能是实现对数据包的处理;NS2的前端是一个OTcl 说明器,称为说明层,主要功能是对模拟环境的配置、建立;从用户角度看,NS2 是一个具有仿真大事驱动、网络构件对象库和网络配置模块库的OTcl 脚本说明器; NS2中编译类对象通过OTcl 连接建立了与之对应的说明类对象,这样用户间能够便利地对 现了仿真器的一样性和敏捷性;6 / 6 名师归纳总结 - - - - - - -第 6 页,共 6 页