计算机网络实验可靠数据传输
计算机网络实验二实验报告讲解

计算机网络实验二实验报告讲解实验二:网络传输性能的测试与评估实验目的: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协议的设计与实现

实验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协议分析实验报告

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-可靠数据传输协议-停等协议的设计与实现

实验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中,能传输的只有比特字符串,因此要加以转换
-由于是网络编程,很可能发生各种异常,有必要进行捕捉并处理。
计算机网络rdt实验报告.wps

课程:计算机网络项目:实验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 ,是一个无措信道上的单工停等协议。
计算机网络第三次实验rdt

计算机网络第二次实验智能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命令跟踪数据包传输路径,记录路径信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机网络可靠数据传输一、实验目的熟悉并掌握各种不同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时,重传帧最少,并且收到的有效负载最多。