网络协议分析与仿真课程设计报告书
网络协议分析课程设计范文
网络协议分析课程设计网络协议分析课程设计范文网络协议分析课程设计范文课程名称:网络协议工程设计题目:网络构建与协议分析院系:信息技术学院班级:设计者:学号:指导教师:设计时间:信息技术学院昆明学院课程设计(大作业)任务书课程设计(大作业)报告网络构建及分析一、题目分析1. 在S2126与S3750B上划分VLAN,并把PC机与服务器加入到相应的VLAN中。
2. 配置S2126与S3750A之间的两条交换机间链路,以及S3750A与S3750B之间的交换机间链路。
3. 在S2126与S3750A之间的冗余链路中使用STP技术防止桥接环路的产生,并通过手工配置使S3750A成为STP的根。
4. 为S3750A的VLAN接口和R1762的接口配置IP地址。
5. 在S3750A上使用具有三层特性的物理端口实现与R1762的互联。
二、总体设计三、实验器材1、网络环境根据具体协议构建合适的网络环境2、操作系统WindowsXP,如果需要,安装相应的服务(如FTP,SSH,TELNET,HTTP等)3、协议分析工具Windows环境下常用的工具有:Sniffer Pro、Ethereal、Iris以及Packet Tracer 等。
实验中可具体选择一种协议分析工具,本实验选择Ethereal。
四、制作步骤1、分析实验设计要求,进行初步的规划;2、按照要求的网络拓扑图在思科模拟器上进行对网络拓扑图的.连接,此处要特别注意对设备和连接线的选择;连线时要特别注意选用的线的种类:同种设备之间互联使用交叉线,不同种设备互联使用直通线。
3、按照实验的要求,对模拟好的拓扑图进行内部的配置和设置4、进行设置和配置的检测,对实验的结果进行分析五、分析网络中可能用到的网络协议可能用到的网络协议有:应用层DNS, FTP,HTTP, RIP, DHCP传输层TCP, UDP网络层IP,ICMP,IGMP数据链路层 ARP,RARP物理层以太网,RS-232.路由协议(RIP):路由协议主要运行于路由器上,路由协议是用来确定到达路径的,它包括RIP,IGRP,EIGRP,OSPF。
网络协议分析与仿真课程设计预习报告
编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载网络协议分析与仿真课程设计预习报告甲方:___________________乙方:___________________日期:___________________(计算机学院)网络协议分析与仿真课程设计预习报告专业名称:__________ 网络工程_________________班级:_______________________________________学生姓名:____________________________________学号(8位): ________________________________指导教师:____________________________________设计起止时间:2013年12月2日一2013年12月13日题目一网络流量分析一、课程设计目的里加深对IP、DNS、TCR UDP、HTTP等协议的理解;里掌握流量分析工具的使用,学习基本的流量分析方法。
二、课程设计地点及时间二号实验楼442网络实验室,12月2日至12月6日,每天8: 00-14: 00三、课程设计实验条件工具:Wireshark (Windows 或Linux), tcpdump (Linux)要求:使用过滤器捕获特定分组;用脚本分析大量流量数据(建议用perl)。
内容:Web流量分析四、课程设计原理1、DNS域名解析:首先,客户端的应用层会封装数据到达传输层,在传输层标识源端口号与目的端口号(源端口号为大于1023随机,目的端口号为UDP5狒口)及应用层服务(这里因该是请求DN硒询服务吧)。
传输层封装数据产生数据段传给网络层,在网络层标识源IP地址及目的IP地址(源IP地址为客户端IP ,目的IP地址为DNS服务器IP地址),网络层将数据段封装为数据包传给数据链路层,在数据链路层将会在数据包里加入源MACM址及目的MA砸址(源MACM址为客户端网卡MA弛址,目的MAC%址为DNS服务器MACM址),这里应该查询MA或存。
网络协议分析与实现课程设计
网络协议分析与实现课程设计前言在计算机网络中,协议是通信双方遵循的规则。
网络协议通过在网络上传输数据包来实现通信。
对于网络工程师来说,理解和掌握各种网络协议是非常重要的。
因此,本文将对网络协议进行分析和实现,并对网络协议的重要性进行探究。
分析网络协议的结构和工作原理网络协议的结构主要包含以下几个部分:•应用层:主要负责数据的格式化,常用的应用层协议有HTTP、FTP、SMTP等;•传输层:主要负责数据的传输和控制,常用的传输层协议有TCP、UDP等;•网络层:主要负责数据的路由和寻址,常用的网络层协议有IP、ICMP等;•数据链路层:主要负责数据的传输和错误检测,常用的数据链路层协议有PPP、Ethernet等;•物理层:主要负责数据的传输和接收,常用的物理层协议有RS-232、RS-485等。
网络协议的工作原理是根据协议栈,在每一层上添加协议头和协议尾进行数据的封装和解封装。
发送方将数据封装成数据包,通过不同层的协议,最终发送到接收方,接收方在每一层进行解封装,得到原始数据。
实现网络协议网络协议的实现主要包含以下几个步骤:1. 确定协议的通信方式和数据结构协议的通信方式可以是客户端-服务器模式,也可以是对等通信模式,同时需要确定协议的数据结构,包括协议头和协议体。
2. 编写协议的解析和封装代码根据协议的通信方式和数据结构,编写协议的解析和封装代码,实现数据的封装和解封装。
3. 实现协议的网络传输使用底层网络编程套接字,实现协议的网络传输。
在发送数据时,按照协议的格式进行封装;在接收数据时,按照协议的格式进行解封装。
4. 测试协议的正确性和性能编写测试程序,测试协议的正确性和性能。
测试包括单元测试、性能测试和压力测试。
网络协议的重要性网络协议是计算机网络通信的基础,对于网络工程师来说,理解和掌握各种网络协议是非常重要的。
网络协议不仅仅是理论上的知识,还需要工程师掌握实现协议的技能,才能更好地进行网络规划、架构设计、网络优化和故障排除。
TCPIP协议分析课程设计报告书要点
《TCP/IP协议分析》课程设计题目:用协议分析工具分析 DNS以及以下各层协议的工作机制院系:计算机学院班级: 2023级网络工程班姓名: ****学号: *********组别:第四组组长:*****组员:****** **** **** *** **** ***2023年1月8日书目一、课程设计目的 (3)二、课程设计的要求 (3)三、试验环境 (3)四、试验内容及过程 (3)五、总结 (17)一、课程设计目的1、用协议分析工具分析 DNS以及以下各层协议的工作机制;2、驾驭DNS协议的恳求与应答过程二、课程设计的要求1、分析网络拓扑图的结构与组成,视察网络设备在拓扑图中的表示方法,学习依据拓扑图进行网络构建的基本步骤,了解网络组建的过程。
分析网络中可能用到的网络协议,说明其应用目的和实现机理。
2、驾驭协议分析工具的安装、配置和基本操作。
利用协议分析工具分析现实中某种网络应用的协议工作过程,通过分析工具捕获网络数据的详细传输,分析该应用在协议栈个层次中数据包的详细内容,从而理解各层协议的作用与协同工作的过程,达到能更加深化驾驭网络协议原理的目的。
三、试验环境1、网络环境机房环境、Packet Tracer虚拟环境2、操作系统Windows 7 (服务器端安装DNS服务器及web服务器)3、协议分析工具Wireshark、Packet Tracer四、试验内容及过程1、DNS基本学问及原理DNS(Domain Name System)及域名服务系统,它的作用就是域名到IP地址的转换过程。
IP地址是网络上标识web站点的数字地址,为了简洁好记,采纳域名代替IP地址来标识站点地址。
而实现域名到IP地址的转换就必需具有DNS服务器。
2、DNS解析过程第一步:客户端提出域名解析恳求,并将该恳求发送给本地的域名服务器其次步:当本地的DNS服务器收到恳求后,就先查询本地的缓存,假如有该项记录,则本地的DNS服务器就干脆把查询结果返回;第三步:假如本地的缓存记录中没有该记录就干脆把该恳求发给根服务器,然后根域名服务器再返回本地域名服务器一个所查询域的主域名服务器地址;第四步:本地服务器再向上一步返回的域名服务器发出恳求,然后接收恳求的服务器查询自己的缓存记录,假如有该条记录则将结果返回;第五步:若没有则重复该过程,直到找到正确记录;第六步:本地域名服务器把返回的结果保存到本地缓存以备下次运用,同时将结果返回给发出恳求的客户机;3、网络拓扑结构设计图4.3.1中①pc1---pc4为客户机,由客户机向服务器发出DNS—192.168.8.4 子网掩码均为255.255.255.0,DNS服务器地址为192.168.8.6;②pc5 即图中的Server-pt server 作为web服务器,IP地址配置为192.168.8.5,子网掩码为255.255.255.0,DNS服务器地址为192.168.8.6;③pc6 即图中的Server-pt DNS serve就是负责域名解析的本地DNS服务器、IP地址配置为192.168.8.6。
实验1 网络协议分析与仿真
实验1 网络协议分析与仿真计算机网络协议仿真实验协议分析实验在此部分,设计了14个网络协议分析实验,基本涵盖了前面网络原理中介绍的各种协议。
学生使用附带的网络协议仿真教学系统完成这些实验,可以对网络协议有更深入的理解。
这些实验可以根据教学具体情况选做。
实验一以太网帧的构成【实验目的】掌握以太网帧的构成模式,能够识别不同的MAC地址并理解MAC地址的作用,了解网络故障分析仪的基本使用方法。
【实验学时】 4学时【实验类型】综合型【实验要求】1、了解协议仿真编辑器的五个组成部分及其功能2、了解网络协议分析仪的各组成部分及其功能3、学会使用协议仿真编辑器编辑以太网帧,包括单帧和多帧的编辑4、学会观察并分析地址本中的MAC地址5、学会分析以太网帧的MAC首部6、理解MAC地址的作用7、理解MAC首部中的LLC-PDU长度/类型字段【实验原理】 (1) 以太网首部以太网目的地址以太网源地址帧类型 6 6 2 帧类型字段:表示后面数据类型。
例如0x0806表示ARP请求或应答。
(2) 太网帧的构成 46----1500字节以太网首部 14IP首部 20-60协议(例TCP)首部根据协议而定(TCP20-60)应用数据以太网尾部 4(3) 其他原理请参考教材:计算机网络协议仿真实验第一章:计算机网络的基本概念第二章:局域网技术【实验步骤】一仿真机端练习一:运行ipconfig命令1、启动网络协议仿真编辑器,选择“工具”菜单栏中的IPCONFIG项,观察ipconfig /all 命令下的运行结果,获得本机的主机名及以太网地址 2、在地址本中找到本机的信息练习二:单帧编辑并发送1、打开协议仿真编辑器,在界面初始状态下,程序会自动新建一个单帧。
可以利用协议仿真编辑器打开时默认的以太网帧进行编辑。
此时在协议仿真编辑器的各部分会显示出该新帧的信息:(a)多帧编辑器中显示:新帧的序号(为1)、概要信息 (b)协议树中显示以太网MAC层协议(c)单帧编辑器中显示新帧各字段的默认值(d)十六进制对照表中显示新帧对应的十六进制信息 2、编辑以太网帧;在单帧编辑器中编辑该帧,具体步骤为: (a)填写“目的MAC地址”字段;方法一:手工填写。
网络协议仿真(By月西RSing)
$count=0; $cbr=0; $tcp=0; } else { $pkt+=$size[$j]; $count++; if($type[$j] eq cbr){ $cbr++; $scbr++; } if($type[$j] eq tcp){ $tcp++; $stcp++; } } } $per=($lost/$i)*100; $per=sprintf"%.1f",$per; print "\n"; print "Total Pkts:\t",$total,"\n"; print "Total Count:\t",$i,"\n"; print "Total Tcp:\t",$stcp,"\n"; print "Total Cbr:\t",$scbr,"\n"; print "Lost Pkts:\t",$lost,"\n"; print "Lost Percent:\t",$per,"%\n\n";
#建立一条 TCP 连接 set tcp [new Agent/TCP] #$tcp set class_ 2 $ns attach-agent $n2 $tcp set sink [new Agent/TCPSink] $ns attach-agent $n3 $sink $ns connect $tcp $sink $tcp set fid_ 1 #在 NAM 中 TCP 连接用蓝色表示 #建立一个 UDP 连接 set udp [new Agent/UDP] $ns attach-agent $n4 $udp set null [new Agent/Null] $ns attach-agent $n5 $null $ns connect $udp $null $udp set fid_ 2 #定义 UDP 资料流使用红色标识 #在 TCP 连接之上建立 FTP 连接 set ftp [new Application/FTP] $ftp attach-agent $tcp $ftp set type_ FTP #在 UDP 之上建立 CBRl 连接 set cbr [new Application/Traffic/CBR] $cbr attach-agent $udp $cbr set type_ CBR $cbr set packet_size_ 1024 $cbr set rate_ 1mb $cbr set random_ false #定义事件的发生时间和结束时间 $ns at 0.1 "$cbr start" $ns at 1.0 "$ftp start" $ns at 8.0 "$ftp stop" $ns at 12.0 "$cbr stop" #在 13 秒之后呼叫 finish 函数来结束模拟 $ns at 13.0 "finish" #执行模拟 $ns run
网络协议仿真课程设计总结
网络协议仿真课程设计总结一、课程目标知识目标:1. 让学生理解网络协议的基本概念、功能和分类,掌握常见网络协议的工作原理。
2. 使学生掌握网络协议仿真的基本方法,学会运用仿真软件进行网络协议的分析与设计。
3. 帮助学生了解网络协议在实际应用中的优势和局限性,认识网络协议的发展趋势。
技能目标:1. 培养学生运用网络协议仿真软件进行实验操作的能力,提高学生的实践操作技能。
2. 培养学生分析和解决网络协议相关问题的能力,提升学生的逻辑思维和创新能力。
3. 培养学生团队协作和沟通表达的能力,学会与他人共同完成网络协议仿真项目。
情感态度价值观目标:1. 激发学生对网络协议的兴趣,培养学生热爱网络技术、主动探索新知识的情感。
2. 培养学生严谨的科学态度,养成良好的实验习惯,增强学生的责任心。
3. 通过团队合作,培养学生的集体荣誉感,提高学生的团队协作精神和沟通能力。
课程性质:本课程为计算机网络相关课程的实践环节,侧重于网络协议仿真技术的应用与实践。
学生特点:学生已具备一定的计算机网络基础知识,具有较强的学习能力和实践操作欲望。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,充分调动学生的积极性,提高学生的实践能力和创新能力。
在教学过程中,关注学生的学习进度,及时调整教学策略,确保课程目标的实现。
将课程目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容1. 网络协议基本概念:介绍网络协议的定义、组成要素和功能,结合教材相关章节,让学生掌握网络协议的基本知识。
2. 网络协议分类与工作原理:分析各类网络协议(如TCP/IP、HTTP、FTP 等)的工作原理,通过实例讲解,使学生了解不同网络协议的特点和应用场景。
3. 网络协议仿真技术:讲解网络协议仿真的基本方法,介绍仿真软件(如Wireshark、NS3等)的使用,让学生学会运用仿真工具分析网络协议性能。
4. 实践操作与案例分析:组织学生进行实际操作,通过完成具体项目,巩固网络协议仿真的方法和技巧。
《网络编程与协议分析》课程设计报告
武汉科技大学计算机科学与技术学院制表说明:本合同资料适用于约定双方经过谈判、协商而共同承认、共同遵守的责任与义务,同时阐述确定的时间内达成约定的承诺结果。
文档可直接下载或修改,使用时请详细阅读内容。
课程名称:网络编程与协议分析)叔1善科技尤•学Wuhan University of Science & Technology计算机科学与技术学院课程设计报告课程名称:网络编程与协议分析专业:_____________________班级:_____________________学号:_____________________姓名:_____________________指导老师:_____________________《网络编程与协议分析》课程设计报告、课设题目:网络数据包抓取与分析软件、课设要求:1)能抓取本地主机所在局域网子网内的所有数据包2)分析并显示所抓取数据包的IP头部各字段的信息3)分析并显示所抓取数据包的封装在IP数据包内的协议头部字段信息(TCP、UDP、ICMP 等)4)生成日志信息,以文本文档形式保存5)分析并显示所抓取数据包应用层协议头部字段信息(HTTP、FTP、DNS、Telnet、SMTP、POP等各种应用层协议中至少取三种)三、用到的基本概念及原理(1)UDP协议介绍UDP协议的全称是用户数据报协议,在网络中它与TCP协议一样用于姓理数据包;在OSI模型中.在第四层——传辕层,处于IP协议的上一层’ UDP有不提供数据报分组、组装和不能对数据包的排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的’UDP用来支持那些需要在计算机之间传蜿数据的网络应用;包括阿络视频会议系统在内的众多的客户.眼务器模式的网络应用都需要使用UDP协议=UDP协议从问世至今已经被使用了很寥年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天,LT>P仍然不失为一项非常实用和可行的网络传输层协议:(2)TCP协议基本知识TCP是一种面向连凄(连接导向)的、可翥的、基于字节流的运输层通信协议’在OSIRM模型中,它完成第四层传输层所指定的功能,UDP 是同一层内另一个重要的传输协议・首先,TCP建立连接之后,通信祖方都同时可以进行数据的传输.其次,他是全祖工的*在保证可靠性上,采用超时重传和稍待确认机制,在流量控制上,采用滑动窗口协议,协议中规定.对于窗口内未经确认的分组需要重传=在拥塞控制上,采用慢启动算法.(3) Winpcap的组成和结构WinPcap由一个数据包监听设备驱动程序(NPF)、一个底层的动态连接库(packet, dll)和一个高层的不依赖于操作系统的静态库(■口can d匚)共三个部分构成,如图2・5所示=这里,XPF在操作系统的内核级,packet. dlL叩cap. dll 在用户级.(4) Winpcap基本原理数据包过滤器•数据包过滤器决定是否接收进来的数据包并把数据包拷贝给骁听程序:■数据包过波器是一个有布尔输出的函数=循环缱冲区』循环援冲区以队列插入的方式来保存数据包,提高数据的存睹致率■:WinPcap 引用:到 http: winpcap, org devel. htm下载V.'inPcap 4, 0. 2. zip- 后群压,锌压缠就可以看见Include 和lib;在“ProjnctfSettingm*标签栏中选择 "C 在 ^Preprocessor definitions'"的输入框里添加"WPCAP”;再选舞"Link"?在"Object library modules^的输入框里添加lib " ° 然后再设置TO+环境变量:选择Tools->optians->Directories的include里面和入下载的winpcap开发包修压以后的include文件夹@ 选择Tocls->opt ions-) Direct ones的lib里面加入下载的winpcap开发包程玉以后的lib 件夹:■在 stdafs 中加入+tinclLide <pcap. h>(5) NPF在windows系统中的位置、FF是一个协议驱动:从性能方面来看,这不是最好的选择,但是它合理地独立于MAC层并且有权使用原始通信- traffic).可以看出,XPF在NDIS之上,它与TCP IP协议栈的实现在同一层次,因此,应用程序不通过Winsock也可以实现数据的发送和接受。
网络协议分析及仿真课程设计报告书
郵電大學网络协议分析与仿真课程设计报告书院系名称:计算机学院实验容:网络流量分析学生XX :专业名称:网络工程班级:学号:时间:2012年12月15日网络协议分析与仿真课程设计报告网络流量分析一、课程设计目的加深对IP、DSN 、TCP、UDP、等协议的理解;掌握流量分析工具的使用,学习根本的流量分析法。
二、课程设计容流量分析➢工具:Wireshark〔Windows或Linux〕,tcpdump〔Linux〕➢要求:使用过滤器捕获特定分组;用脚本分析大量流量数据〔建议用perl〕。
➢容:Web流量分析去除本机DNS缓存,访问某一主页,捕获访问过程中的所有分组,分析并答复以下问题〔以下除1、3、8、11外,要求配合截图答复〕:(1)简述访问web页面的过程。
(2)找出DNS解析请求、应答相关分组,传输层使用了种协议,端口号是多少?所请求域名的IP地址是什么?(3)统计访问该页面共有多少请求IP分组,多少响应IP分组?〔提示:用脚本编程实现〕(4)找到TCP连接建立的三次握手过程,并结合数据,绘出TCP连接建立的完整过程,注明每个TCP报文段的序号、确认号、以及SYN\ACK的设置。
(5)针对〔4〕中的TCP连接,该TCP连接的四元组是什么?双协商的起始序号是什么?TCP连接建立的过程中,第三次握手是否带有数据?是否消耗了一个序号?(6)找到TCP连接的释放过程,绘出TCP连接释放的完整过程,注明每个TCP 报文段的序号、确认号、以及FIN\ACK的设置。
(7)针对〔6〕中的TCP连接释放,请问释放请求由效劳器还是客户发起?FIN 报文段是否携带数据,是否消耗一个序号?FIN报文段的序号是什么?为什么是这个值?(8)在该TCP连接的数据传输过程中,找出每一个ACK报文段与相应数据报文段的对应关系,计算这些数据报文段的往返时延RTT〔即RTT样本值〕。
根据课本200页5.6.2节容,给每一个数据报文段估算超时时间RTO。
网络协议课程设计报告
目录1.课程设计目的 ---------------------------------------------------- 22.课程设计要求 ---------------------------------------------------- 23.课程设计题目分析 ------------------------------------------------ 23.1 网卡设置 -------------------------------------------------- 23.2 程序设计 -------------------------------------------------- 33.2.1 使用原始套接字------------------------------------------ 33.2.2 接收数据包---------------------------------------------- 43.2.3 定义IP头部的数据结构---------------------------------- 43.2.4 IP包的解析 --------------------------------------------- 54.解析IP数据包设计相关知识 -------------------------------------- 55.程序流程图------------------------------------------------------- 66.程序设计--------------------------------------------------------- 76.1 协议的定义 ------------------------------------------------ 76.2捕获处理--------------------------------------------------- 76.3 运行界面 -------------------------------------------------- 87.实验结果--------------------------------------------------------- 98.自我评析和总结 -------------------------------------------------- 98.1 实训心得-------------------------------------------------- 98.2 实训日记-------------------------------------------------- 99.主要参考资料 -------------------------------------------------- 10[2]《网络协议分析》寇晓蕤罗俊勇编著机械工业出版社--------- 10[3]《C语言程序设计》张建伟李秀琴主编科学出版社--------- 10[4]《C++程序设计教程——面向对象分册》郑秋生主编 --------- 10电子工业出版社 -------------------------------------------------- 10 10.附录 ---------------------------------------------------------- 101.课程设计目的本次实训的目的就是设计一个解析IP数据包的程序,并根据这个程序,说明IP数据包的结构及IP协议的相关问题,从而对IP层的工作原理有更好的理解和认识。
网络模拟和协议仿真课程设计报告
杭州电子科技大学网络模拟和协议仿真课程设计课程题目:基于NS-2的SDRAD路由协议的实现人员:*****2012/9/16摘要在网络路由技术的研究中,实际网络系统的实现往往是代价很高或不现实的。
利用网络仿真器NS2 对相关网络路由协议进行仿真是一种既有效又经济的研究方法,但目前的NS2 还不能支持所有网络路由协议的仿真。
本文根据拓展仿真的原理和方法,对在NS2 中添加路由协议进行了研究,添加了SDRAD 路由协议。
关键词:NS2;拓展仿真;路由协议;SDRAD引言在真实的网络中,设计和调试网络协议是一件困难且复杂的事情,仿真成了最佳可供选择的测试、评估和验证手段之一。
网络仿真是用计算机程序对通信网络进行模型化,通过程序的运行模仿通信网络的运行过程。
这是一种进行网络技术研究的基本手段,不仅适用于网络模型的构造和设计、协议性能的评价与分析,还适用于网络协议的开发与研究以及真实网络的故障诊断。
网络模拟器NS2(Network Simulator v2)是一种免费、源代码公开的模拟软件平台,其协议代码与真实网络应用代码很相似,仿真结果具有可靠性。
NS2 是一个面向对象的离散事件驱动网络模拟器,支持多种流行的网络协议如TCP、UDP 和路由调度、拥塞控制算法等。
相对于一般的离散型模拟器,NS2 的优势在于它有非常丰富的构件库,而且这些对象易于组合,易于拓展,但是对用户的编程能力,实际网络协议的理解能力要求较高。
本文利用NS2 已有的对象,组合所要研究的网络系统模型,在NS2 中添加了一个SDRAD[1]路由协议进行网络仿真。
由于无线传感器网络的众多优势,如可迅速大规模部署、可进行各种环境下的长期监测、可减少人为干涉等,使得它逐步应用到各种军事和民用领域,包括环境监测、智能交通等。
数据收集是无线传感器网络路由中的一种特殊情况,主要任务是通过单跳或多跳的方式将网络中传感器节点收集的数据传送给基站。
在环境监测应用中。
网络协议模拟分析
西 安 邮 电 大 学(计算机学院)课程设计报告题 目: 网络协议模拟与分析专业名称:班 级:学生姓名:学号( 位):指导教师:设计起止时间: 年 月 日— 年 月 日网络协议分析与仿真课程设计报告网络模拟一、∙∙∙∙课程设计目的掌握网络模拟工具☠的使用,学习基本的网络模拟方法。
二、∙∙∙∙课程设计内容协议模拟➢ 工具:☠,♋♦,♦♒♏●●,☐♏❒●等;➢ 要求:掌握☠网络模拟的基本流程;➢ 内容:☠网络模拟基本流程编写❆☹脚本,搭建如下图所示的一个网络,共 个节点,其中 、 节点用做♐♦☐服务器和客户端, 、 节点用做♍♌❒流量的源和目的,而 、 节点用做转发设备。
各节点间的链路属性见图。
012453ftpcbr ftp sinknull packet size = 1kbytes,rate=1Mbps 2mbps, 20ms1.5mbps, 10ms1.5mbps, 10ms1.5mbps, 10ms 1.5mbps, 10ms模拟时间设为 秒钟,在 秒开始产生♍♌❒流量,在 秒开发发送发♐♦☐流量; 秒♐♦☐流量结束, 秒♍♌❒流量结束。
编写脚本(可用♦♒♏●●,♋♦,或☐♏❒●等)分析模拟日志文件,统计每 ♦内 、节点间链路通过的分组数以及字节数。
三、 设计与实现过程仿真脚本代码与详细注解✁❒♏♋♦♏ ♋ ♦♓❍◆●♋♦☐❒ ☐♌♏♍♦ 创建模拟器对象♦♏♦ ⏹♦ ☯⏹♏♦ ♓❍◆●♋♦☐❒ 模拟器对象赋值给变量⏹♦✁♏♐♓⏹♏ ♎♓♐♐♏❒♏⏹♦ ♍☐●☐❒♦ ♐☐❒ ♎♋♦♋ ♐●☐♦♦ ☎♐☐❒ ☠✌✆⏹♦ ♍☐●☐❒ ♏♎⏹♦ ♍☐●☐❒ ✡♏●●☐♦ 给☠✌定义不同的数据流 颜色的选择比较随意,只要易于区分就可以✁☐♏⏹ ♦♒♏ ☠✌ ♦❒♋♍♏ ♐♓●♏♦♏♦ ⏹♐ ☯☐☐♏⏹ ☐◆♦⏹♋❍ ♦ 打开☐◆♦⏹♋❍文件,一般都是在执行程序的时候自动生成的⏹♦ ⏹♋❍♦❒♋♍♏♋●● ⏹♐✁☐♏⏹ ♦♒♏ ❆❒♋♍♏ ♐♓●♏♦♏♦ ♦♐ ☯☐☐♏⏹ ☐◆♦♦❒ ♦ 打开☐◆♦♦❒文件,也是自动生成的⏹♦ ♦❒♋♍♏♋●● ♦♐两个文件主要都是用来记录封包传输过程的✁♏♐♓⏹♏ ♋ ♐♓⏹♓♦♒ ☐❒☐♍♏♎◆❒♏ 定义♐♓⏹♓♦♒程序,在后面执行的时候会用到☐❒☐♍ ♐♓⏹♓♦♒ ❝ ♑●☐♌♋● ⏹♦ ⏹♐ ♦♐⏹♦ ♐●◆♦♒♦❒♋♍♏♍●☐♦♏ ⏹♐ 关闭⏹♋❍文件♍●☐♦♏ ♦♐ 关闭♦❒♋♍♏ 文件 ☎在后面调用的时候,是在程序结束的时候,所以前面生成的两个文件必须要关闭✆♏⌧♏♍ ⏹♋❍ ☐◆♦⏹♋❍ ✁以后台方式执行⏹♋❍♏⌧♓♦ ❝✁❒♏♋♦♏ ♦♓⌧ ⏹☐♎♏♦ 创建六个节点 从⏹到⏹♦♏♦ ⏹ ☯⏹♦ ⏹☐♎♏♦♏♦ ⏹ ☯⏹♦ ⏹☐♎♏♦♏♦ ⏹ ☯⏹♦ ⏹☐♎♏♦♏♦ ⏹ ☯⏹♦ ⏹☐♎♏♦♏♦ ⏹ ☯⏹♦ ⏹☐♎♏♦♏♦ ⏹ ☯⏹♦ ⏹☐♎♏✁❒♏♋♦♏ ●♓⏹♦ ♌♏♦♦♏♏⏹ ♦♒♏ ⏹☐♎♏♦ 创建结点之间的链路,而链路的创建都是基于题目要求的基础之上⏹♦ ♎◆☐●♏⌧●♓⏹ ⏹ ⏹ ♌ ❍♦ ❒☐☐❆♋♓●⏹♦ ♎◆☐●♏⌧●♓⏹ ⏹ ⏹ ♌ ❍♦ ❒☐☐❆♋♓●⏹♦ ♎◆☐●♏⌧●♓⏹ ⏹ ⏹ ♌ ❍♦ ❒☐☐❆♋♓●⏹♦ ♎◆☐●♏⌧●♓⏹ ⏹ ⏹ ♌ ❍♦ ❒☐☐❆♋♓●⏹♦ ♎◆☐●♏⌧●♓⏹ ⏹ ⏹ ♌ ❍♦ ❒☐☐❆♋♓●✁☝♓❖♏ ⏹☐♎♏ ☐☐♦♓♦♓☐⏹ ☎♐☐❒ ☠✌✆ 根据题目图示要求,给☠✌创建的节点位置如下⏹♦ ♎◆☐●♏⌧●♓⏹☐☐ ⏹ ⏹ ☐❒♓♏⏹♦ ❒♓♑♒♦♎☐♦⏹⏹♦ ♎◆☐●♏⌧●♓⏹☐☐ ⏹ ⏹ ☐❒♓♏⏹♦ ❒♓♑♒♦◆☐⏹♦ ♎◆☐●♏⌧●♓⏹☐☐ ⏹ ⏹ ☐❒♓♏⏹♦ ❒♓♑♒♦⏹♦ ♎◆☐●♏⌧●♓⏹☐☐ ⏹ ⏹ ☐❒♓♏⏹♦ ❒♓♑♒♦⏹♦ ♎◆☐●♏⌧●♓⏹☐☐ ⏹ ⏹ ☐❒♓♏⏹♦ ❒♓♑♒♦◆☐⏹♦ ♎◆☐●♏⌧●♓⏹☐☐ ⏹ ⏹ ☐❒♓♏⏹♦ ❒♓♑♒♦♎☐♦⏹✁♏♦ ✈◆♏◆♏ ♓♏ ☐♐ ●♓⏹ ☎⏹⏹✆ ♦☐ 设置⏹到⏹之间的列长度⏹♦ ❑◆♏◆♏●♓❍♓♦ ⏹ ⏹ ✁♏♦◆☐ ♋ ❆ ♍☐⏹⏹♏♍♦♓☐⏹ 建立❆连接♦♏♦ ♦♍☐ ☯⏹♏♦ ✌♑♏⏹♦❆♦♍☐ ♦♏♦ ♍●♋♦♦♉ ⏹♦ ♋♦♦♋♍♒♋♑♏⏹♦ ⏹ ♦♍☐♦♏♦ ♦♓⏹ ☯⏹♏♦ ✌♑♏⏹♦❆♓⏹⏹♦ ♋♦♦♋♍♒♋♑♏⏹♦ ⏹ ♦♓⏹⏹♦ ♍☐⏹⏹♏♍♦ ♦♍☐ ♦♓⏹♦♍☐ ♦♏♦ ♐♓♎♉ ☠✌中,❆的连接用红色的数据流表示✁♏♦◆☐ ♋ ✞ ♍☐⏹⏹♏♍♦♓☐⏹ 建立✞连接♦♏♦ ◆♎☐ ☯⏹♏♦ ✌♑♏⏹♦✞⏹♦ ♋♦♦♋♍♒♋♑♏⏹♦ ⏹ ◆♎☐♦♏♦ ⏹◆●● ☯⏹♏♦ ✌♑♏⏹♦☠◆●●⏹♦ ♋♦♦♋♍♒♋♑♏⏹♦ ⏹ ⏹◆●●♦♏♦ ⏹◆●● ☯⏹♏♦ ✌♑♏⏹♦☠◆●●⏹♦ ♋♦♦♋♍♒♋♑♏⏹♦ ⏹ ⏹◆●●⏹♦ ♍☐⏹⏹♏♍♦ ◆♎☐ ⏹◆●●◆♎☐ ♦♏♦ ♐♓♎♉ ☠✌中,✞的连接用黄色的数据流表示❆与✞的建立中,♋♑♏⏹♦是一个代理,用来作为网络层的传输与接收✁♏♦◆☐ ♋ ☞❆ ☐❖♏❒ ❆ ♍☐⏹⏹♏♍♦♓☐⏹ 在❆连接上建立☞❆♦♏♦ ♐♦☐ ☯⏹♏♦ ✌☐☐●♓♍♋♦♓☐⏹☞❆♐♦☐ ♋♦♦♋♍♒♋♑♏⏹♦ ♦♍☐♐♦☐ ♦♏♦ ♦⍓☐♏♉ ☞❆✁♏♦◆☐ ♋ ☐❖♏❒ ✞ ♍☐⏹⏹♏♍♦♓☐⏹ 在✞连接上建立 ♦♏♦ ♍♌❒ ☯⏹♏♦ ✌☐☐●♓♍♋♦♓☐⏹❆❒♋♐♐♓♍ ♍♌❒ ♋♦♦♋♍♒♋♑♏⏹♦ ◆♎☐♍♌❒ ♦♏♦ ♦⍓☐♏♉ ♍♌❒ ♦♏♦ ☐♋♍♏♦♉♦♓♏♉ ♍♌❒ ♦♏♦ ❒♋♦♏♉ ❍♌♍♌❒ ♦♏♦ ❒♋⏹♎☐❍♉ ♐♋●♦♏ 设置了♍♌❒流量的包类型,字节大小,以及传输速率✁♍♒♏♎◆●♏ ♏❖♏⏹♦♦ ♐☐❒ ♦♒♏ ♋⏹♎ ☞❆ ♋♑♏⏹♦♦ 设置☞❆和 起止时间⏹♦ ♋♦ ✂♍♌❒ ♦♦♋❒♦✂ 秒产生♍♌❒流量⏹♦ ♋♦ ✂♐♦☐ ♦♦♋❒♦✂ 秒发送♐♦☐流量⏹♦ ♋♦ ✂♐♦☐ ♦♦☐☐✂ 秒♐♦☐流量结束⏹♦ ♋♦ ✂♍♌❒ ♦♦☐☐✂ 秒♍♌❒流量结束✁♋●● ♦♒♏ ♐♓⏹♓♦♒ ☐❒☐♍♏♎◆❒♏ ♋♐♦♏❒ ♦♏♍☐⏹♎♦ ☐♐ ♦♓❍◆●♋♦♓☐⏹ ♦♓❍♏ 秒后调用前面写出的♐♓⏹♓♦♒程序⏹♦ ♋♦ ✂♐♓⏹♓♦♒✂✁◆⏹ ♦♒♏ ♦♓❍◆●♋♦♓☐⏹ 执行模拟器程序⏹♦ ❒◆⏹仿真过程示意(动画截图 个)日志分析脚本设计(设计思路与代码、注解)设计思路:首先取出每行的时间(第二字段)、分组大小(第六字段);若时间大于当前的时间段,变量加 ,开始统计下一时间段信息;数组♍☐◆⏹♦记录分组的数目数组♍☐◆⏹♦记录每个时间段通过的分组的总字节数✁✐◆♦❒♌♓⏹☐♏❒●✁♍☐◆⏹♦ ♦♒♏ ⏹◆❍♌♏❒ ☐♐ ☐♋♍♏♦♦ ♌♏♦♦♏♏⏹ ⏹☐♎♏ ♋⏹♎ ⏹☐♎♏ ♦♒♏ ♓⏹♦♏❒❖♋● ♓♦ ♦♏♍☐⏹♎♦♓ 定义变量♓♓⏹♐☐ 定义三个数组♍☐◆⏹♦♍☐◆⏹♦♦♒♓●♏☎✆ 读☐◆♦♦❒文件的内容♓⏹♐☐ ♦☐●♓♦☎ ♉✆ 以空格为分字符读取每一行的内容❒♏♋♦☐⏹ ♓⏹♐☐☯ 封包事件发生原因 ☎❒代表封包被接收, 表示进入队列, 表示离开队列✆♦♓❍♏ ♓⏹♐☐☯ 时间,表示流量传输的开始时间♦❒♍ ♓⏹♐☐☯ 封包的起始节点♎♦♦ ♓⏹♐☐☯ 封包的终止节点●♏⏹♑♦♒ ♓⏹♐☐☯ 包的字节长度✁♓♐☎❒♏♋♦☐⏹❼❒❼ ☎♦❒♍ ♎♦♦✆ ☎♦❒♍ ♎♦♦✆✆♓♐☎❒♏♋♦☐⏹❼❒❼ ☎♦❒♍ ♎♦♦ ✆ ☎♦❒♍ ♎♦♦✆✆包被某个节点所接受,而且链路传输是在从 到 的链路上,判断语句 ♓♐☎♦♓❍♏ ♓✉✆ 时间段超过 秒,执行下一行内容♓❝♍☐◆⏹♦☯♓ 这个数组用于统计包的个数♍☐◆⏹♦☯♓●♏⏹♑♦♒ 这个数组用于统计字节数❝❝☐❒♓⏹♦♐☎✂♓⏹♦♏❒❖♋●♦☎♦✆♦♦☐♋♍♏♦♦♦♦♌⍓♦♏♦ ⏹✂✆ 显示语句,显示内容为:时间间隔,包,还有字节数♓♦♒♓●♏☎♍☐◆⏹♦☯♓✆ 打印出来统计的信息☐❒♓⏹♦♐☎✂♐❞♐♦♦♍☐◆⏹♦☯ ♓♦♦♍☐◆⏹♦☯♓⏹✂☎♓✆✉♓✉✆♓❝ 显示统计出来的每个时间段的信息分析结果展示(通过自绘图来说明)♋♍♏❒♦⍓♦♏♦四、设计技巧及体会、对自己设计进行评价,指出合理和不足之处,提出改进的方案。
网络协议分析实验报告
网络协议分析实验报告一、实验目的本实验旨在通过对网络协议的分析,加深对计算机网络通信的原理和机制的理解,提高网络安全意识和分析能力。
二、实验环境1. 实验平台:Wireshark2. 实验设备:笔记本电脑、路由器三、实验内容1. 抓包分析TCP协议数据包在实验过程中,我们首先通过Wireshark工具进行抓包,然后选择一个TCP协议的数据包进行分析。
通过分析数据包的各个字段,我们可以了解数据包的结构和传输过程,进一步理解TCP协议的工作原理。
2. 分析UDP协议数据包接着,我们选择了一个UDP协议的数据包进行分析。
UDP与TCP不同,是一种无连接的传输协议,具有数据传输快速、效率高的特点。
通过分析UDP数据包,我们可以看到其简单的数据包头格式和传输方式,了解UDP协议与TCP协议的区别和适用场景。
3. 检测网络攻击在实验中,我们还模拟了一些网络攻击行为,如ARP欺骗、SYN 洪水攻击等,通过Wireshark工具抓取攻击数据包,并分析攻击过程和特征。
这有助于我们了解网络安全威胁的种类和形式,提高网络安全防护意识。
四、实验结果通过分析TCP、UDP协议数据包和网络攻击数据包,我们深入了解了网络协议的工作原理和通信机制。
实验结果表明,Wireshark工具是一款强大的网络分析工具,可以帮助我们深入研究网络通信过程,提高网络攻击检测和防护能力。
五、实验总结通过本次实验,我们不仅对网络协议有了更深入的了解,而且增强了网络安全意识和分析能力。
在今后的学习和工作中,我们将继续深入研究网络协议,不断提升自己在网络领域的技术水平,为网络通信的安全和稳定贡献自己的力量。
六、实验感想本次网络协议分析实验让我们受益匪浅,通过亲自动手抓包分析和检测网络攻击,我们对计算机网络的运行机制和安全防护有了更清晰的认识。
希望通过不断努力和学习,我们能在网络领域取得更大的成就,为网络安全做出更大的贡献。
七、参考文献暂无。
以上为网络协议分析实验报告,感谢您的阅读。
网络协议模拟分析
网络协议模拟分析西安邮电大学(计算机学院)课程设计报告题目:网络协议模拟与分析专业名称:班级:学生姓名:学号(8位):指导教师:设计起止时间:2014年12月15日—2014年12月26日网络协议分析与仿真课程设计报告网络模拟一、课程设计目的掌握网络模拟工具NS2的使用,学习基本的网络模拟方法。
二、课程设计内容协议模拟工具:NS2,awk ,shell ,perl 等;要求:掌握NS2网络模拟的基本流程;内容:NS2网络模拟基本流程编写TCL 脚本,搭建如下图所示的一个网络,共6个节点,其中2、3节点用做ftp 服务器和客户端,4、5节点用做cbr 流量的源和目的,而0、1节点用做转发设备。
各节点间的链路属性见图。
012453ftpcbr null packet size = 1kbytes,rate=1Mbps 2mbps, 20ms1.5mbps, 10ms1.5mbps, 10ms1.5mbps, 10ms 1.5mbps, 10ms模拟时间设为13秒钟,在0.1秒开始产生cbr 流量,在1.0秒开发发送发ftp 流量;8.0秒ftp 流量结束,12.0秒cbr 流量结束。
编写脚本(可用shell ,awk ,或perl 等)分析模拟日志文件,统计每0.5s 内0、1节点间链路通过的分组数以及字节数。
三、设计与实现过程1.仿真脚本代码与详细注解#Create a simulator object /创建模拟器对象set ns [new Simulator] /模拟器对象赋值给变量ns#Define different colors for data flows (for NAM)$ns color 1 Red$ns color 2 Yellow /给NAM定义不同的数据流,颜色的选择比较随意,只要易于区分就可以#Open the NAM trace fileset nf [open out.nam w] /打开out.nam文件,一般都是在执行程序的时候自动生成的$ns namtrace-all $nf#Open the Trace fileset tf [open out.tr w] /打开out.tr文件,也是自动生成的$ns trace-all $tf/两个文件主要都是用来记录封包传输过程的#Define a 'finish' procedure /定义finish程序,在后面执行的时候会用到proc finish {} {global ns nf tf$ns flush-traceclose $nf /关闭nam文件close $tf /关闭trace 文件(在后面调用的时候,是在程序结束的时候,所以前面生成的两个文件必须要关闭)exec nam out.nam & #以后台方式执行namexit 0}#Create six nodes /创建六个节点,从n0到n5set n0 [$ns node]set n1 [$ns node]set n2 [$ns node]set n3 [$ns node]set n4 [$ns node]set n5 [$ns node]#Create links between the nodes /创建结点之间的链路,而链路的创建都是基于题目要求的基础之上$ns duplex-link $n0 $n2 1.5Mb 10ms DropTail$ns duplex-link $n0 $n4 1.5Mb 10ms DropTail$ns duplex-link $n1 $n3 1.5Mb 10ms DropTail$ns duplex-link $n1 $n5 1.5Mb 10ms DropTail$ns duplex-link $n1 $n0 2Mb 20ms DropTail#Give node position (for NAM) /根据题目图示要求,给NAM 创建的节点位置如下$ns duplex-link-op $n2 $n0 orient right-down$ns duplex-link-op $n4 $n0 orient right-up$ns duplex-link-op $n0 $n1 orient right$ns duplex-link-op $n0 $n1 orient right$ns duplex-link-op $n1 $n3 orient right-up$ns duplex-link-op $n1 $n5 orient right-down#Set Queue Size of link (n0-n1) to 10 /设置n0到n1之间的列长度$ns queue-limit $n1 $n0 10#Setup a TCP connection /建立TCP连接set tcp [new Agent/TCP]$tcp set class_ 2$ns attach-agent $n2 $tcpset sink [new Agent/TCPSink]$ns attach-agent $n3 $sink$ns connect $tcp $sink$tcp set fid_ 1 /NAM中,TCP的连接用红色的数据流表示#Setup a UDP connection /建立UDP连接set udp [new Agent/UDP]$ns attach-agent $n4 $udpset null [new Agent/Null]$ns attach-agent $n3 $nullset null [new Agent/Null]$ns attach-agent $n5 $null$ns connect $udp $null$udp set fid_ 2 /NAM中,UDP的连接用黄色的数据流表示//TCP与UDP的建立中,agent是一个代理,用来作为网络层的传输与接收#Setup a FTP over TCP connection /在TCP连接上建立FTPset ftp [new Application/FTP]$ftp attach-agent $tcp$ftp set type_ FTP#Setup a CBR over UDP connection /在UDP连接上建立CBR set cbr [new Application/Traffic/CBR]$cbr attach-agent $udp$cbr set type_ CBR$cbr set packet_size_ 1000$cbr set rate_ 1mb$cbr set random_ false /设置了cbr流量的包类型,字节大小,以及传输速率#Schedule events for the CBR and FTP agents /设置FTP和CBR起止时间$ns at 0.1 "$cbr start" /0.1秒产生cbr流量$ns at 1.0 "$ftp start" /1.0秒发送ftp流量$ns at 8.0 "$ftp stop" /8.0秒ftp流量结束$ns at 12.0 "$cbr stop" /12.0秒cbr流量结束#Call the finish procedure after 13 seconds of simulation time /13秒后调用前面写出的finish程序$ns at 13.0 "finish"#Run the simulation /执行模拟器程序$ns run2.仿真过程示意(动画截图1个)3.日志分析脚本设计(设计思路与代码、注解)。
网络协议分析实验报告
网络协议分析实验报告网络协议分析实验报告引言:随着互联网的快速发展,网络协议成为了信息传输的重要基础。
网络协议的设计和实现对于保障网络安全和提高网络性能起着至关重要的作用。
本实验旨在通过对几种常见的网络协议进行分析,深入了解网络协议的工作原理和应用场景。
一、TCP/IP协议TCP/IP协议是当前互联网上使用最广泛的协议之一。
它是一个分层的协议栈,包括物理层、数据链路层、网络层和传输层。
其中,传输层的TCP协议和UDP 协议是最为重要的。
TCP协议提供可靠的、面向连接的数据传输服务,而UDP 协议则提供无连接的、不可靠的数据传输服务。
我们通过Wireshark工具对TCP/IP协议进行了抓包分析。
在抓包过程中,我们观察到TCP协议使用三次握手建立连接,并通过序列号和确认号来保证数据的可靠传输。
UDP协议则没有连接建立的过程,可以直接发送数据。
通过对抓包结果的分析,我们发现TCP协议适用于对数据传输可靠性要求较高的场景,而UDP协议适用于对实时性要求较高的场景。
二、HTTP协议HTTP协议是应用层的协议,用于在客户端和服务器之间传输超文本。
它是一个无状态的协议,每次请求和响应都是独立的。
我们通过使用浏览器访问一个网页的过程,对HTTP协议进行了分析。
在抓包结果中,我们观察到HTTP协议的请求和响应分为多个字段,包括请求行、请求头、请求体、响应行、响应头和响应体。
通过分析请求头中的User-Agent字段,我们可以了解到客户端的信息,通过响应头中的Content-Type字段,我们可以了解到服务器返回的数据类型。
通过对HTTP协议的分析,我们可以更好地理解网页的加载过程,以及优化网页性能的方法。
三、DNS协议DNS协议是用于将域名解析为IP地址的协议。
在我们访问一个网站时,浏览器首先会向DNS服务器发送一个DNS查询请求,获取目标网站的IP地址。
我们通过Wireshark工具对DNS协议进行了抓包分析。
计算机网络课程设计报告--- CSMACD协议仿真
计算机网络课程设计实验报告-- CSMA/CD协议仿真学院:计算机科学与通信工程一、CSMA/CD协议工作原理(查资料)及性能分析(指标与影响因素)CSMA/CD是carrier sense multiple access/collision detected 的缩写,可译为“载波侦察听多路访问/冲突检测”,或“带有冲突检测的载波侦听多路访问”。
所谓载波侦听(carrier sense),意思是网络上各个工作站在发送数据前都要总线上有没有数据传输。
若干数据传输(称总线为忙),则不发送数据;若无数据传输(称总线为空),立即发送准备好的数据。
所谓多路访问(multiple access)意思是网络上所有工作站收发数据共同使用同一条总线,且发送数据是广播式的。
所谓冲突(collision),意思是,若网上有两个或两个以上工作站同时发送数据,在总线上就会产生信号的混合,哪个工作站都同时发送数据,在总线上就会产生信号的混合,哪个工作站都辨别不出真正的数据是什么。
这种情况称数据冲突又称碰撞。
为了减少冲突发生后又的影响。
工作站在发送数据过程中还要不停地检测自己发送的数据,有没有在传输过程中与其它工作站的数据发生冲突,这就是冲突检测(collision detected)。
CSMA/CD媒体访问控制方法的工作原理,可以概括如下:先听后说,边听边说;一旦冲突,立即停说;等待时机,然后再说;注:“听”,即监听、检测之意;“说”,即发送数据之意。
上面几句话意思是在发送数据前,先监听总线是否空闲。
若总线忙,则不发送。
若总线空闲,则把准备好的数据发送到总线上。
在发送数据的过程中,工作站边发送检测总线,是否自己发送的数据有冲突。
若无冲突则继续发送直到发完全部数据;若有冲突,则立即停止发送数据,但是要发送一个加强冲突的JAM 信号,以便使网络上所有工作站都知道网上发生了冲突,然后,等待一个预定的随机时间,且在总线为空闲时,再重新发送未发完的数据。
网络协议分析课程设计
《计算机网络》课程设计报告书设计题目:协议分析专业:计算机科学与技术班级:10 级1 班姓名:齐特(组长) 宁文倩谢晗指导教师:苏宪利完成日期:2012年1月3日目录1 概述 (1)1.1目的 (1)1.2选题 (1)2 课程作业过程及结果 (1)2.1编程环境及工具 (1)2.2实现原理分析 (1)2.3综合设计 (1)2.3.1 协议分析器总体结构的设计与实现 (1)2.3.2 数据捕获模块的设计与实现 (2)2.3.3 协议解析模块的设计与实现 (3)3 课程大作业总结 (4)3.1小结 (4)3.2改进设想 (6)附录关键代码 (6)1概述1.1目的(1)编写一个简化的协议分析器,了解数据通过网络传输时的封装与解析过程,加深理解TCP/IP协议栈的工作原理和网络应用软件开发能力(2)掌握Winpcap编程与抓包方法;使用Winpcap库的流量统计和向网络中发包等特性。
1.2选题协议分析器程序2课程作业过程及结果2.1编程环境及工具(1)操作系统:Windows 7(2)开发语言:C语言(3)编译环境:MS Visual C++6.0;(4)第3方函数库:Winpcap3.1;2.2实现原理分析协议分析器工作在网络环境中的底层,拦截所有正在网络上传送的数据,并且通过相应的解析处理,可以实时分析这些数据的内容,进而分析所处的网络状态和整体拓扑布局。
当应用程序通过IP网络传送数据时,数据就被送入TCP/IP协议栈中,然后由上至下逐一通过每一层,直到最后被当做一串比特流送入网络。
其中每一层对收到的数据都要增加一些首部信息这个过程被称作封装。
通过以太网传输的比特流被称作帧。
在传输的另一端,当目的主机收到一个以太网数据帧时,数据就开始从协议栈有底向上逐层解析,去掉各层协议所加上的报文头部。
每层协议均要检查报头中的协议标识字段,以确定要接收数据的上层协议,最终从报文中解析出应用层数据后交给应用程序处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安郵電大學网络协议分析与仿真课程设计报告书院系名称:计算机学院实验内容:网络流量分析学生姓名:专业名称:网络工程班级:学号:时间:2012年12月15日网络协议分析与仿真课程设计报告网络流量分析一、课程设计目的加深对IP、DSN 、TCP、UDP、HTTP等协议的理解;掌握流量分析工具的使用,学习基本的流量分析方法。
二、课程设计内容流量分析工具:Wireshark(Windows或Linux),tcpdump(Linux)要求:使用过滤器捕获特定分组;用脚本分析大量流量数据(建议用perl)。
内容:Web流量分析清除本机DNS缓存,访问某一网站主页,捕获访问过程中的所有分组,分析并回答下列问题(以下除1、3、8、11外,要求配合截图回答):(1)简述访问web页面的过程。
(2)找出DNS解析请求、应答相关分组,传输层使用了何种协议,端口号是多少?所请求域名的IP地址是什么?(3)统计访问该页面共有多少请求IP分组,多少响应IP分组?(提示:用脚本编程实现)(4)找到TCP连接建立的三次握手过程,并结合数据,绘出TCP连接建立的完整过程,注明每个TCP报文段的序号、确认号、以及SYN\ACK的设置。
(5)针对(4)中的TCP连接,该TCP连接的四元组是什么?双方协商的起始序号是什么?TCP连接建立的过程中,第三次握手是否带有数据?是否消耗了一个序号?(6)找到TCP连接的释放过程,绘出TCP连接释放的完整过程,注明每个TCP 报文段的序号、确认号、以及FIN\ACK的设置。
(7)针对(6)中的TCP连接释放,请问释放请求由服务器还是客户发起?FIN 报文段是否携带数据,是否消耗一个序号?FIN报文段的序号是什么?为什么是这个值?(8)在该TCP连接的数据传输过程中,找出每一个ACK报文段与相应数据报文段的对应关系,计算这些数据报文段的往返时延RTT(即RTT样本值)。
根据课本200页5.6.2节内容,给每一个数据报文段估算超时时间RTO。
(提示:用脚本编程实现)(9)分别找出一个HTTP请求和响应分组,分析其报文格式。
参照课本243页图6-12,在截图中标明各个字段。
(10)访问同一网站的不同网页,本次访问中的TCP连接是否和上次访问相同?(与上次页面访问时间间隔不能过长,可连续访问,分别分析。
)(11)请描述HTTP协议的持续连接的两种工作方式。
访问这些页面(同一网站的不同页面)的过程中,采用了哪种方式?(参考课本241页)三、设计与实现过程(1)简述访问web页面的过程。
1)解析Web页面的URL,得到Web服务器的域名2)通过DNS服务器获得Web服务器的IP地址3)与Web服务器建立TCP连接4)与Web服务器建立HTTP连接5)从Web服务器获得URL指定的文档6)浏览器解释页面文档,并显示在屏幕(2)、找出DNS解析请求、应答相关分组,传输层使用了何种协议,端口号是多少?所请求域名的IP地址是什么?DNS解析请求,应答分组:请求:(本机端口:59257;DNS服务器端口:53)应答:(DNS服务器端口:53;本机端口:59257)传输层协议:udp协议。
所请求域名ip是:123.125.160.40(3)、统计访问该页面共有多少请求IP分组,多少响应IP分组?(提示:用脚本编程实现)请求分组:(ip.src eq 172.16.1.234 or ip.dst eq 172.16.1.234) and( ip.src eq 123.125.160.40 or ip.dst eq 123.125.160.40)脚本Package_count.sh#!/bin/bash#by sky version 1.0#20121205function checkip {dot=`echo $1 | awk -F '.' '{print NF-1}'`if [ $dot -ne 3 ]; thenreturn 1ifcount=0for var in `echo $1 | awk -F. '{print $1, $2, $3, $4}'`doecho $var | grep "^[0-9]*$" >/dev/nullif [ $? -ne 0 ]; thenreturn 1fiif [ $var -ge 0 -a $var -le 255 ] ; then((count=count+1))continueelsereturn 1fidoneif [ $count -eq 4 ]; thenreturn 0elsereturn 1fi}if [ $# -eq 0 -o $# -ne 2 ]thenecho "Usage: shellname filename ipaddress"echo "just like: package_count.sh http 172.16.1.234"exit 1fiif [ ! -f $1 ]thenecho "The $1 is no exist"exit 2fi#echo $2 | grep '\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}' >> /dev/nullcheckip ${2}if [ $? -ne 0 ]thenecho "Please input effective IP"exit 3finumber=`grep "Src: $2 " $1 2> /dev/null | wc -l `if [ $number -eq 0 ]thenecho "Please input an IP than include the $1"exit 4fiecho "The $2 as source has $number packages"(4) 找到TCP连接建立的三次握手过程,并结合数据,绘出TCP连接建立的完整过程,注明每个TCP报文段的序号、确认号、以及SYN\ACK的设置。
与tcp建立连接的三次握手的分组:TCP三次握手过程第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV 状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
实现过程如下:第一次:(序号:0,SYN:1)第二次:(序号:0,确认号:1,SYN:1,ACK:1)第三次:(序号:1,确认号:1,SYN:0,ACK:1)(5)针对(4)中的TCP连接,该TCP连接的四元组是什么?双方协商的起始序号是什么?TCP连接建立的过程中,第三次握手是否带有数据?是否消耗了一个序号?四元组:源地址---172.16.1.234;目的地址---123.125.160.40;源端口---49382 目的端口---80协商的起始序号:0;第三次握手未携带数据。
消耗一个序号。
(6)找到TCP连接的释放过程,绘出TCP连接释放的完整过程,注明每个TCP 报文段的序号、确认号、以及FIN\ACK的设置。
TCP释放过程:A、服务器向本机请求释放:B、本机响应服务器的请求释放:(半关闭)C、本机向服务器请求释放连接:D、服务器响应本机的请求释放:TCP的释放过程流程图:(7):针对(6)中的TCP连接释放,请问释放请求由服务器还是客户发起?FIN 报文段是否携带数据,是否消耗一个序号?FIN报文段的序号是什么?为什么是这个值?释放请求由服务器发起。
FIN报文段未携带数据。
消耗了一个序号:实现过程如下:FIN报文段的序号是436(8)、在该TCP连接的数据传输过程中,找出每一个ACK报文段与相应数据报文段的对应关系,计算这些数据报文段的往返时延RTT(即RTT样本值)。
根据课本200页5.6.2节内容,给每一个数据报文段估算超时时间RTO。
脚本#!/bin/bash#by sky version 1.0#20121207if [ $# -ne 1 ]thenecho "Usage: shellname filename"echo "Just like: rtt_count.sh http"exit 1fiif [ ! -f $1 ]thenecho "Please input an effective file"exit 2figrep RTT $1 |awk 'BEGIN{s1=0.125; s2=0.875; d1=0.25; d2=0.75} {RTT[NR]=$9; line_num=NR}END{for( i=1; i<=line_num; i++ ){RTTS[i]=s2*RTT[i-1]+s1*RTT[i];RTTD[i]=d2*RTTD[i-1]+d1*(RTTS[i]>RTT[i]?RTTS[i]-RTT[i]:RTT[i]-RTTS[i] );printf("The number is %d\t\tRTTS->%0.8f\tRTTD->%0.8f\tRTTS->%0.8f\n",i,RTTS[i],RTTD[i],RTTS[i] +4*RTTD[i])}}'(9)、分别找出一个HTTP请求和响应分组,分析其报文格式。
参照课本243页图6-12,在截图中标明各个字段。
请求报文:响应报文:10)、访问同一网站的不同网页,本次访问中的TCP连接是否和上次访问相同?(与上次页面访问时间间隔不能过长,可连续访问,分别分析。
)访问同一网站的另一网页本次访问中的TCP连接是与上次访问不相同(11)、请描述HTTP协议的持续连接的两种工作方式。
访问这些页面(同一网站的不同页面)的过程中,采用了哪种方式?(参考课本241页)http协议的持续连接的两种工作方式:a.非流水线方式:客户在收到前一个响应后才能发出下一个请求,在TCP连接已建好后,客户每次访问一次对象都要用去一个往返时间RTT。
b.流水线方式:客户在收到HTTP的响应报文之前就能够接着发送新的请求报文,客户访问所有的对象只需花费一个RTT时间。