计算机网络实验可靠数据传输
- 格式:doc
- 大小:140.00 KB
- 文档页数:9
计算机网络实验二实验报告讲解实验二:网络传输性能的测试与评估实验目的:1.掌握网络传输性能的测试方法;2.了解网络传输性能评估的参数;3. 学会使用JPerf工具进行网络传输性能测试。
实验环境:1. JPerf软件;2. 两台运行Windows操作系统的计算机;3.以太网交换机;4.网线,以连接两台计算机及交换机。
实验步骤:1.配置网络环境连接两台计算机和交换机,保证网络连接正常。
2. 安装JPerf软件在两台计算机上分别安装JPerf软件。
3. 运行JPerf服务器选择一台计算机作为服务器,打开JPerf程序,选择“Server”模式,并设置端口号。
4. 运行JPerf客户端打开另一台计算机的JPerf程序,选择“Client”模式,并输入服务器的IP地址和端口号。
5.设置测试参数在JPerf客户端上,设置传输模式(TCP/UDP)、传输时长和数据包大小等参数,并点击“Start”按钮开始测试。
6.分析结果测试结束后,JPerf会输出传输性能测试的结果,包括带宽、丢包率、延迟等参数。
根据这些参数可以评估网络的传输性能。
实验结果与分析:在测试过程中,我们选择了TCP传输模式,传输时长设置为30秒,数据包大小为1MB。
根据测试结果,我们得到了以下性能参数:带宽:100Mbps丢包率:0%延迟:10ms根据带宽和延迟,我们可以评估网络的传输性能。
带宽表示单位时间内能够传输的数据量,带宽越大,传输速度越快。
延迟表示数据从发送方到接收方的传输延时,延迟越小,传输速度越快。
丢包率表示发送的数据在传输过程中丢失的比例,丢包率越小,数据传输越可靠。
在这个实验中,我们得到了较高的带宽和较低的延迟,说明网络的传输性能较好。
同时,丢包率为0%,说明数据传输的可靠性也很高。
根据这些结果,我们可以对网络的传输性能进行评估。
如果带宽较小、延迟较大或丢包率较高,就会影响数据的传输速度和可靠性,从而降低网络的传输性能。
因此,在设计和配置网络时,需要考虑这些因素,以提高网络的传输性能。
实验3:可靠数据传输协议-GBN协议的设计与实现
1.实验目的
理解滑动窗口协议的基本原理;掌握GBN的工作原理;掌握基于UDP设计并实现一个GBN协议的过程与技术。
2.实验环境
接入Internet的实验主机;
Windows xp或Windows7/8;
开发语言:C/C++(或Java)等。
3.实验内容
1)基于UDP设计一个简单的GBN协议,实现单向可靠数据传输(服务器到客户的数据传输)。
2)模拟引入数据包的丢失,验证所设计协议的有效性。
3)改进所设计的GBN协议,支持双向数据传输;
4.实验设计
1)Client:
函数列表:
各函数功能:
状态转换图:
2)Server:
状态转换图:
3)数据包结构:
发送方:数据包包括序列号与内容接收方:只含接收到的数据包的序号
5.实验结果1)Client:
2)Server:
详细对照:。
TCP协议分析实验报告1. 引言TCP(传输控制协议)是一种面向连接的协议,用于在计算机网络中可靠地传输数据。
本实验旨在分析TCP协议的工作原理、数据包的格式和传输过程,并通过实验验证其可靠性和效率。
2. 实验环境在该实验中,我们使用了两台计算机作为实验设备,一台作为服务器,另一台作为客户端。
两台计算机通过以太网连接,并配置了相应的IP地址和子网掩码。
3. 实验步骤3.1 建立连接首先,客户端发送一个SYN包(同步包)到服务器的指定端口。
服务器收到SYN包后,发送一个SYN-ACK包(同步-确认包)作为响应。
客户端再次发送一个ACK包(确认包)给服务器,表示连接已建立。
3.2 数据传输一旦连接建立,客户端和服务器之间可以开始传输数据。
数据被分割成多个小的数据包,并使用TCP协议进行传输。
每个数据包都包含源端口、目的端口、序列号、确认号以及数据内容等字段。
3.3 确认和重传在传输过程中,接收方会发送确认包以确认已接收到的数据包。
如果发送方在一定时间内没有收到确认包,它会认为数据包丢失,然后重新发送该数据包。
这样可以确保数据的可靠性。
3.4 连接终止当数据传输完成后,客户端或服务器可以发送一个FIN包(结束包)来关闭连接。
接收到FIN包的一方发送一个ACK包作为确认,并关闭连接。
另一方在收到确认后也关闭连接。
4. 实验结果通过抓包工具,我们捕获并分析了在实验中传输的数据包。
我们观察到数据包的格式与TCP协议规定的格式相符,并且在传输过程中发现了确认和重传的情况,验证了TCP协议的可靠性。
5. 实验总结TCP协议是一种可靠的传输协议,在实验中我们深入了解了其工作原理和数据包的格式。
通过实验验证了TCP协议的可靠性和效率。
同时,我们也了解到了TCP协议在实际网络通信中的重要性和广泛应用。
参考文献•Tanenbaum, A. S., & Wetherall, D. J. (2011). 计算机网络(第5版).机械工业出版社.•Stevens, W. R., Wright, G., & Coppola, R. (1994). TCP/IP 详解卷1:协议. 机械工业出版社.本文档旨在介绍TCP协议的工作原理和实验验证过程,并不涉及具体的技术细节和算法解析。
实验2:可靠数据传输协议-停等协议的设计与实现
1.实验目的
理解可靠数据传输的基本原理;掌握停等协议的工作原理;掌握基于 UDP 设计并实现一个停等协议的过程与技术。
2.实验环境
接入Internet的实验主机;
Windows xp或Windows7/8;
开发语言:python。
3.实验内容
1)基于 UDP 设计一个简单的停等协议,实现单向可靠数据传输(服务器到客户的数据传输)。
2)模拟引入数据包的丢失,验证所设计协议的有效性。
4.程序设计
在实验报告中要说明所设计停等各个域作用,协议两端程序流程图,协议典型交互过程,数据分组丢失验证模拟方法,程序实现的主要类(或函数)及其主要作用、UDP 编程的主要特点、实验验证结果,详细注释源程序等。
1)协议主要数据结构:
客户端:
服务器:
数据包格式:分为数据分组和确认分组
-数据分组:为数据分组序号后面加上数据内容,如‘0HELLO’
-确认分组:为确认类型与确认分组号,如‘ACK0’。
为了实现丢包,增加NAK类型,如‘NAK0’。
2)协议两端程序流程图:客户端:
服务器:
3)UDP编程的主要特点:
-在python3中,能传输的只有比特字符串,因此要加以转换
-由于是网络编程,很可能发生各种异常,有必要进行捕捉并处理。
课程:计算机网络项目:实验3 rdt协议一、实验目的熟悉并掌握各种不同rdt协议的运行环境和协议性能。
二、实验原理可靠数据传输:提供给上层实体的服务抽象是,数据可以通过一条可靠的信道进行传输。
不过由于下层协议不一定可靠,所以就有问题要处理。
停等协议:肯定确认(positive acknowledgment)与否定确认(negative acknowledgment)。
是接收方反馈信息的两种方式。
其次,是ARQ(Automatic Repeat reQuest自动重传请求)协议,简单理解为发送方发送数据,然后等待接收方反馈,然后再相应发送数据。
综合起来理解,就是发送方发送数据,然后等待接收方通过ACK或者NAK反馈,就是停等协议的大概流程。
接下里的优化有,校验和(差错处理)、序号、定时器(超时)、ACK和NAK等。
流水线协议:为了解决上面停等协议对资源的极其浪费问题引入了一个解决方案:允许发送方发送多个分组而无需等待确认。
滑动窗口协议:抽象理解,发送方和接收方各有一个缓存数组。
发送方存放着:已发生且成功确认包序号、已发送未确认包序号(已发送已确认包序号序号|已发送未确认包序号)*、未发送包序号;接收方存放着:已接受包序号、正在接收包序号、未接收包序号。
其中,每个数组有个两个扫描指针,开头和结尾,一起向后扫描,两者形成一个窗口。
故称为窗口协议。
回退N步:回退N步,接收方则是只接受最小的未接受帧,对错序到达帧,都丢弃。
选择重传:SR协议通过让发送方仅重传那些它怀疑在接收方出错(即丢失或受损)的分组而避免了不必要的重传。
SR这种个别的,按需的重传协议要求接收方逐个地确认正确接收方的分组。
三、实验内容1.搭建linux运行环境;2.运行simulator,模拟各种不同rdt协议;3.完成exercises的问题。
四、实验结果与分析:运行protocol2 ,所得结果如下解释:protocol2 参数为./protocol2 100 50 20 10 ,是一个无措信道上的单工停等协议。
计算机网络第二次实验智能1402班201408070221 李帅玲目录计算机网络第二次实验 (1)一.实验目的 (1)二.实验原理 (1)三.实验步骤及分析 (3)(一)实验前准备 (3)(二)实验步骤及问题回答 (5)一.实验目的1.熟悉并掌握各种不同rdt协议的运行环境和协议性能。
二.实验原理1.几种rdt协议1)Rdt1.0:在可靠信道上进行可靠的数据传输➢所依赖的信道非常可靠:不可能有位错,不会丢失数据;➢分别为发送方和接收方建立FSMs:发送方将数据送入所依赖的信道,接收方从所依赖的信道读出数据。
2)Rdt2.0:在可能发送位错的信道上传输➢问题:如何从错误中恢复正向确认(ACKs):由接收方发送报文向发送方进行确认负向确认(NAKs):由接收方发送报文向发送方进行否认,说明分组有错发送方在收到NAK后进行分组重传➢rdt2.0的新机制(在rdt1.0基础之上)错误检测;接收方的反馈:控制信息(ACK,NAK)。
➢Rdt2.0 有一个致命的缺点若ACK/NAK 报文丢失?发送方将不会知道接收端发生了什么,假如进行重传:可能发生数据重复。
管理重复的问题接收方丢弃重复的分组(不向上递交)如果ACK/NAK丢失,发送方则重传正确的分组,发送方给每个分组加上sequence number (序号)。
3)Rdt2.1:发送方,管理丢失的ACK/NAK,接收方,管理丢失的ACK/NAK。
4)流水线协议流水作业:发送端允许发送多个分组,等待应答。
必须增加顺序号的位数,在发送和接收端增加缓存。
两种常用的流水线协议:回退N重传(go-Back-N),选择重传(Select Retransmit)。
➢回退N重传(GBN:Go-Back-N)发送方:在分组首部设置k位seq #,使用尺寸为N的“滑动窗口”,允许连续的多个分组不被应答。
“回退n”协议的基本特点:发送方连续发送许多数据帧,接收方只接收一帧,即只能顺序接收,发送方发送的帧需要不同的编号来区分,发送方要有较大的发送缓冲区来保留可能重发的帧。
计算机网络实验报告实验时间:参加人员:一、实验名称:实验六计算机网络综合性实验;二、实验内容1. 任意捕获一个数据包,分析其数据链路层格式、网络层格式和传输层格式,加深学生对计算机网络分层概念的理解。
2. 地址解析协议(ARP)是LAN 环境中最重要的协议之一。
ARP 允许你的网络上使用的设备自动将物理(MAC)地址映射为IP 地址,因此需要对ARP 有很详细的了解,并清楚它是怎样工作的。
3. 传输控制协议(TCP)是互联网上最常用的协议,TCP 可以保证数据传输的可靠性。
很多互联网服务,比如HTTP、FTP、SMTP 和Telnet,都要依靠TCP 来传输数据。
另外,很多传统的LAN 程序,比如文件传输和SQL 也都要使用TCP 协议。
三、实验步骤1.捕获报文基本分析实验(1)打开SnifferPro程序后,选择Capture(捕获)→Start(开始),或者使用F10键,或者是工具栏上的开始箭头。
图1 SnifferPro软件界面(2)一小段时间过后,再次进入Capture(捕获)菜单,然后选择Stop(停止)或者按下F10键,还可以使用工具栏。
(3)按F9键来执行“停止并显示”的功能,或者可以进入Capture(捕获)菜单,选择“停止并显示”。
(4)停止捕获后,在对话框最下角增加了一组窗口卷标,包括高级、解码、矩阵、主机表单、协议分布和统计信息。
(5)选择解码卷标,可以看到SnifferPro缓冲器中的所有实际“数据”。
分析该卷标结构及其内容。
2.捕获并分析地址解析协议(ARP)(1)选择“捕获”→“定义过滤器”。
(2)在“定义过滤器”中,选择“文件”→“新建”。
(3)将这个文件命名为ARP,单击OK,然后单击“完成”。
(4)现在选择“高级”,从协议列表中选择ARP。
(5)单击OK,关闭定义过滤器窗口。
已经定义了过滤器,可以按F10来捕获流量。
(6)输入arp-dIP来清除默认网关上的ap,这个命令中的IP是你的默认网关IP地址,然后Ping你的默认网关。
一、实验目的1. 了解传输网络的基本组成和功能。
2. 掌握传输网络中常见设备的配置和操作。
3. 熟悉传输网络测试方法和数据分析。
4. 培养实际操作能力和网络故障排查能力。
二、实验原理传输网络是指将数据从源节点传输到目的节点的网络。
它主要由传输介质、网络设备和传输协议组成。
传输网络的主要功能是实现数据的高速、可靠传输。
三、实验设备1. 交换机(2台)2. 路由器(1台)3. 传输介质(双绞线、光纤等)4. 计算机终端(3台)5. 测试工具(网络测试仪、万用表等)四、实验内容1. 网络拓扑搭建(1)根据实验要求,设计并搭建传输网络拓扑结构。
(2)使用双绞线或光纤连接交换机和路由器。
(3)将计算机终端连接到交换机端口。
2. 设备配置(1)配置交换机端口,包括VLAN划分、端口镜像、端口流量控制等。
(2)配置路由器,包括接口配置、路由协议配置、静态路由配置等。
(3)配置计算机终端的IP地址、子网掩码、默认网关等。
3. 网络测试(1)使用网络测试仪测试链路质量,包括带宽、延迟、丢包率等。
(2)使用ping命令测试网络连通性。
(3)使用tracert命令跟踪数据包传输路径。
4. 故障排查(1)分析网络故障现象,确定故障原因。
(2)根据故障原因,采取相应的排查措施。
(3)修复故障,确保网络正常运行。
五、实验步骤1. 网络拓扑搭建(1)设计传输网络拓扑结构,包括交换机、路由器和计算机终端的位置关系。
(2)使用双绞线或光纤连接交换机和路由器,确保连接正确无误。
(3)将计算机终端连接到交换机端口,检查连接是否正常。
2. 设备配置(1)登录交换机,配置端口VLAN、端口镜像、端口流量控制等。
(2)登录路由器,配置接口、路由协议、静态路由等。
(3)配置计算机终端的IP地址、子网掩码、默认网关等。
3. 网络测试(1)使用网络测试仪测试链路质量,记录测试结果。
(2)使用ping命令测试网络连通性,记录连通性结果。
(3)使用tracert命令跟踪数据包传输路径,记录路径信息。
计算机网络实验2报告实验二:网络性能测试1.引言计算机网络是现代社会中必不可少的一部分,作为信息交流的基础设施,网络的性能是影响用户体验的重要因素之一、本次实验旨在通过网络性能测试工具来评估网络的传输速度、延迟和稳定性,并对测试结果进行分析和探讨。
2.实验目的(1)了解网络性能测试的基本原理和常用工具;(2)掌握网络传输速度、延迟和稳定性的测试方法;(3)分析并评估网络性能测试结果。
3.实验环境本次实验使用的实验环境如下:(1) 操作系统:Windows 10;(2) 硬件配置:Intel Core i7 处理器,8GB内存,100Mbps有线网络连接。
4.实验步骤(2) 分别在两台计算机上安装iperf工具,并设置一台计算机为服务端,另一台计算机为客户端。
(3) 在服务端启动iperf服务:打开命令提示符窗口,运行命令"iperf -s"。
(4) 在客户端发起性能测试请求:打开命令提示符窗口,运行命令"iperf -c 服务端IP地址",其中服务端IP地址为服务端计算机的IP地址。
(5)等待测试结束,客户端会显示测试结果。
(6)根据测试结果进行数据分析和评估。
5.测试结果分析通过对网络性能测试的实施,我们得到了以下测试结果:(1) 传输速度:通过测试工具的报告,我们可以得知网络的最大传输速度。
在本次实验中,我们得到的传输速度为80Mbps,接近网络的理论最大带宽。
(2) 延迟:通过测试工具的报告,我们可以得知网络的延迟情况。
在本次实验中,我们得到的延迟为10ms,属于较低的延迟。
(3)稳定性:通过测试工具的报告,我们可以得知网络的稳定性,即是否存在丢包现象。
在本次实验中,我们没有观察到丢包现象,说明网络的稳定性较好。
6.结论和建议通过本次实验,我们对计算机网络的性能进行了测试和评估,得到了相对准确的结果。
根据测试结果,我们可以得出以下结论:(1)网络的传输速度接近理论最大带宽,说明网络的带宽利用率较高。
计算机网络课程实验报告实验5:利用Ethereal分析TCP、UDP、ICMP协议实验过程:使用Ethereal分析TCP协议: (15分)得分:抓取本机与http://gaia。
/ethereal—labs/alice。
txt通信过程中的网络数据包.根据操作思考以下问题:●客户服务器之间用于初始化TCP连接的TCP SYN报文段的序号(sequence number)是多少?在该报文段中,是用什么来标示该报文段是SYN报文段的?Seq=0Flags中的syn位为1,ack位为0,说明是syn报文段●服务器向客户端发送的SYNACK报文段序号是多少?该报文段中,Acknowledgement字段的值是多少?Gaia.cs。
umass。
edu服务器是如何决定此值的?在该报文段中,是用什么来标示该报文段是SYNACK报文段的?Seq=0Ack=1,服务器根据客户端发送的SYN报文的Seq值加一后得到此值Flags中的Ack和Syn位都为1,所以是SYNACK报文●如果将包含HTTP POST命令的TCP报文段看作是TCP连接上的第一个报文段,那么该TCP连接上客户机向服务器发送的第六个报文段的序号是多少?是何时发送的?该报文段所对应的ACK是何时接收的?第六个报文段:对应的ack报文段:23号报文时第六个报文,seq=6310,发送时间:Jun 1,2013 13:32:56.587941000 对应的ack报文段接收时间Jun 1,2013 13:32:56.993379000●前六个TCP报文段的长度各是多少?在整个文件发送过程中,接受方公示的窗口大小是否变化?窗口大小代表什么含义?(可参考教科书“流量控制”一节)首个报文段长度为555,其余都为1506,接收方窗口长度是变化的.它代表接收方端口上缓冲区空闲空间的大小,显示其接受能力●TCP连接的throughput (bytes transferred per unit time)是多少?请写出你的计算过程.(不必给出计算结果,表达出计算的思路即可)TCP连接发送报文的数据字节总数÷发送数据报总时间●实验结论,以及实验中遇到的其他问题是如何解决的?结论:tcp协议在建立连接时要经历三次握手过程;当tcp连接需要发送比较大块的数据时,会将其分割成若干份数据报发送.Tcp协议利用窗口大小来实现端到端的流量控制问题:实验课后到四楼机房重做实验发现那里的网络不适合做这次实验(在那研究了一个小时),后来用自己电脑回到寝室做实验比较顺利。
计算机网络可靠数据传输一、实验目的熟悉并掌握各种不同rdt协议的运行环境和协议性能。
二、实验内容1.搭建linux运行环境;2.运行simulator,模拟各种不同rdt协议;3.完成exercises的问题。
三、实验过程1.在本机上安装虚拟机,然后通过虚拟机安装red hat linux 9.0系统,安装成功。
2.了解simulator模拟的几种rdt协议。
simulator中有p2.c—p6,c5个文件是描述协议的:p2.c是停等协议,设置有限的buffer和有限的处理速度;p3.c在不可靠的信道上允许单向的数据流动;p4.c是双向的滑窗协议;p5.c是GBN 协议;p6.c是重传协议。
3.几种rdt协议1)Rdt1.0:在可靠信道上进行可靠的数据传输所依赖的信道非常可靠:不可能有位错,不会丢失数据;分别为发送方和接收方建立FSMs:发送方将数据送入所依赖的信道,接收方从所依赖的信道读出数据。
2)Rdt2.0:在可能发送位错的信道上传输问题:如何从错误中恢复正向确认(ACKs):由接收方发送报文向发送方进行确认负向确认(NAKs):由接收方发送报文向发送方进行否认,说明分组有错发送方在收到NAK后进行分组重传rdt2.0的新机制(在rdt1.0基础之上)错误检测;接收方的反馈:控制信息(ACK,NAK)。
Rdt2.0 有一个致命的缺点若ACK/NAK 报文丢失?发送方将不会知道接收端发生了什么,假如进行重传:可能发生数据重复。
管理重复的问题接收方丢弃重复的分组(不向上递交)如果ACK/NAK丢失,发送方则重传正确的分组,发送方给每个分组加上sequence number (序号)。
3)Rdt2.1:发送方,管理丢失的ACK/NAK,接收方,管理丢失的ACK/NAK。
4)流水线协议流水作业:发送端允许发送多个分组,等待应答。
必须增加顺序号的位数,在发送和接收端增加缓存。
两种常用的流水线协议:回退N重传(go-Back-N),选择重传(Select Retransmit)。
回退N重传(GBN:Go-Back-N)发送方:在分组首部设置k位seq #,使用尺寸为N的“滑动窗口”,允许连续的多个分组不被应答。
“回退n”协议的基本特点:发送方连续发送许多数据帧,接收方只接收一帧,即只能顺序接收,发送方发送的帧需要不同的编号来区分,发送方要有较大的发送缓冲区来保留可能重发的帧。
优点:连续发送提高了信道利用率,误码率较低时,连续ARQ优于停等协议。
缺点:要回退n帧重传(Go-back-n),导致某些已正确接收帧的重传,因此降低了发送效率。
选择重传(SR:Selective Repeat)发送方仅对未收到应答的分组进行重发,发送方对每个unACKed分组设置计时器;发送方的窗口,N个连续的seq,同样对已发送的seq #s,unACKed分组进行限制;接收方逐个对所有正确收到的分组进行应答,对接收到的(失序)分组进行缓存,以便最后对上层进行有序递交。
优点:避免重传已正确传送的帧,提高了信道利用率。
缺点:在接收端需要占用一定容量的缓存,控制较复杂。
4.搭建环境并测试用例我电脑上安装的有Ubuntu的linux系统,编译模拟器的时候会有两个警告,但是仍可以运行,不过运行的结果都是不正确的,所发送的包全是得不到确认的,最后的效率都为0%。
尝试过之后,就在在虚拟机下安装red hat linux 9.0系统,安装成功。
测试用例如下图所示:四、Exercises1)For one or more selected protocols, make a study of protocolperformance,measured in payloads delivered per second, as a function of the checksum error rate, lost packet rate, and timeout interval. For example, provide graphs showing payloads/sec as a function of timeout interval, for various error rates. What can you conclude?Answers:实验中选择运行的是p5.c文件,即回退N步协议。
运行图如下:运行协议5,1000个时间片,超时时间间隔为20个时间片,无丢包,无数据出错,显示发送和接收如下图:测试多组实验,如下面所示。
测试有效负载和超时时间间隔的关系,运行协议5,1000个时间片,无丢包,无数据出错,结果如下表所示:(由于运行的几组都是1000个时间片,所以可以直接根据payloads来比较)超时时间间隔Total data frames sent Payloads accepted10 1 120 262 13630 219 17640 187 17950 196 19660 187 18770 190 19080 192 19290 190 190结论:由表中的测试数据可以看出,有效负载在超时时间间隔为50的时候最大,为196。
因为时间间隔小于50的时候,重传的比较多,导致有效的少,当时间间隔大于50的时候,虽然没有重传,但是时间间隔多大,发送一个数据后等待的时间过长,导致发送的总的数据减少。
测试有效负载和校验和错误率的关系,运行协议5,1000个时间片,设置超时间隔为50,无丢包,结果如下表所示:(由于运行的几组都是1000个时间片,所以可以直接根据payloads来比较)The checksum error rate Total data frames sent Payloads accepted10 182 9520 172 6830 166 4040 161 2850 149 1060 146 8结论:由表中数据可以看出,校验和错误率越高,收到的有效的负载越少。
测试有效负载和校验和丢包率的关系,运行协议5,1000个时间片,设置超时间隔为50,无校验和错误,结果如下表所示:(由于运行的几组都是1000个时间片,所以可以直接根据payloads来比较)Lost packet rate Total data frames sent Payloads accepted10 187 10020 176 7130 174 5040 164 2450 155 1560 150 10结论:从表中数据可以看出,丢包率越高,收到的有效的负载就越少。
2)Compare the performance of protocols 5 and 6 in detail with respect topayloads/sec and number of retransmissions for a wide variety of parameters.Under which circumstances is protocol 5 better? protocol 6? Answers:运行:./sim 5 1000 50 0 0 0和./sim 6 1000 50 0 0 0./sim 5 1000 50 0 0 0 ./sim 6 1000 50 0 0 0Total data frames sent Payloads accepted Total data frames sent Payloads accepted196 196 165 165 运行:./sim 5 1000 50 10 10 0和./sim 6 1000 50 10 10 0./sim 5 1000 50 10 10 0 ./sim 6 1000 50 10 10 0Total data frames sent Payloads accepted Total data frames sent Payloads accepted 179 74 137 97 结论:网络状况越差,协议6的影响相对小,即协议6的性能好,当网络都处于理想状况时,即都没有丢包和错误时,两个协议的性能差不多,但整体协议6的性能更好。
原因:协议5为流水线协议,适合运行在网络状况较好的情况下,丢包率和出错率较小的时候,重传几率较小,传输速率较快。
而如果网络状况不佳,会出现大量重传,协议5会丢弃大量无序的且正确的分组,会带来更多的重传。
而协议6只需重传丢失的分组,在网络状况较差时,效果会非常显著。
3)The function pick_event() has built-in priorities for events. For example,forprotocol 5, frame arrivals go before timeouts. Experiment with changing these priorities (by reordering the statements in pick_event().What conclusions can you draw?答:当顺序为数据到达,校验和检验,上层数据准备好,超时处理时:设置超时间隔为50,结果见下表:The checksum error rate Lost packet rate Total data frames sent Payloads accepted10 0 190 8610 10 188 6920 10 161 3920 20 155 34当顺序为上层数据准备好,数据到达,校验和检验,超时处理时:设置超时间隔为50,结果见下表:The checksum error rate Lost packet rate Total data frames sent Payloads accepted10 0 191 9610 10 175 7620 10 174 6020 20 179 52当顺序为超时处理时,数据到达,校验和检验,上层数据准备好:设置超时间隔为50,结果见下表:The checksum error rate Lost packet rate Total data frames sent Payloads accepted10 0 175 8510 10 164 7320 10 164 4720 20 156 37通过上面三个的对比,可以看出在相同的条件下,当设置为上层数据准备好,数据到达,校验和检验,超时处理时,收到的有效负载最大。
4)Investigate the number of retransmitted frames as a function of the timeoutinterval for various parameters? Can you determine what the optimum setting should be?答:设置丢包率为0,检验和错误率为0,运行得到如下数据:超时时间间隔Total data framessentPayloads acceptedretransmittedframes10 1 1 62320 262 136 5630 219 176 2840 187 179 750 196 196 060 187 187 070 190 190 080 192 192 090 190 190 0结论:从表中数据可以看出,当设置超时间隔为50时,重传帧最少,并且收到的有效负载最多。