计算机网络实验rdt实验

2024-01-25 03:58
文章标签 计算机网络 实验 rdt

本文主要是介绍计算机网络实验rdt实验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、    实验目的

熟悉并掌握各种不同rdt协议的运行环境和协议性能。

二、实验原理

   可靠数据传输:提供给上层实体的服务抽象是,数据可以通过一条可靠的信道进行传输。不过由于下层协议不一定可靠,所以就有问题要处理。

   停等协议:肯定确认(positive acknowledgment)与否定确认(negative acknowledgment)。是接收方反馈信息的两种方式。

其次,是ARQ(Automatic Repeat reQuest自动重传请求)协议,简单理解为发送方发送数据,然后等待接收方反馈,然后再相应发送数据。

综合起来理解,就是发送方发送数据,然后等待接收方通过ACK或者NAK反馈,就是停等协议的大概流程。

接下里的优化有,校验和(差错处理)、序号、定时器(超时)、ACK和NAK等。

  流水线协议:为了解决上面停等协议对资源的极其浪费问题引入了一个解决方案:允许发送方发送多个分组而无需等待确认。

  滑动窗口协议:抽象理解,发送方和接收方各有一个缓存数组。发送方存放着:已发生且成功确认包序号、已发送未确认包序号 (已发送已确认包序号序号|已发送未确认包序号)*、未发送包序号;接收方存放着:已接受包序号、正在接收包序号、未接收包序号。其中,每个数组有个两个扫描指针,开头和结尾,一起向后扫描,两者形成一个窗口。故称为窗口协议。

   回退N步:回退N步,接收方则是只接受最小的未接受帧,对错序到达帧,都丢弃。

   选择重传:SR协议通过让发送方仅重传那些它怀疑在接收方出错(即丢失或受损)的分组而避免了不必要的重传。SR这种个别的,按需的重传协议要求接收方逐个地确认正确接收方的分组。

 


 

三、实验步骤

 

 

 

 

首先对文件夹内的代码进行编译

 

 

 

 

1.      运行protocol2,运行命令为./sim 2 100 20 0 0 1,6个数字分别代表运行的协议号、运行的事件数即运行模拟的时间、超时间隔、丢包率、到达包的错误率、跟踪标志。0表示只打印汇总数据,1表示打印中间的发包记录。

其中100 20表示它将以20个tick的时间间隔运行200个协议实体进程。0%的丢包率,0%的校验和错误率,它会打印出汇总数据。

 

protocol2是一个可靠信道上的单工停等协议。其基本原理是发送方以高于接收方处理能力的速度发送数据帧,导致接收方被淹没。我们假设通信信道不会出错,并且数据流量是单工的。

发送方发送一帧,等待确认到达后才能继续发送。

 

运行结果:Simulating Protocol  2

从运行结果可以看出,共有两个进程,一个发送一个接收,分别指明了发送和接收的情况,丢包率、错误率等都和运行代码中设定好的参数一致。有效装载/发送数据的效率为100%,模拟时间为1000。

 

Total data frames sent:          总发送数据帧

      Data frames lost:                丢失数据帧

      Data frames not lost:            未丢失数据帧

      Frames retransmitted:            重传帧

      Good ack frames rec'd:           接收到好的ACK

      Bad ack frames rec'd:            接收到坏的ACK

 

      Good data frames rec'd:        接收到好的数据帧

      Bad data frames rec'd:           接收到坏的数据帧

      Payloads accepted:             有效装载

      Total ack frames sent:         总发送ACK帧

      Ack frames lost:                 丢失ACK帧

      Ack frames not lost:           未丢失ACK帧

      Timeouts:                        超时

      Ack timeouts:                    ACK超时

 

 

2.      运行protocol3,参数设定为./sim 3 200 20 10 10 1

protocol3是一个比特差错信道上的单工停等协议。数据帧可能会损坏,也可能会完全丢失。如果有一个数据帧在传输过程之中损坏,则接收方硬件在计算校验和时会检测出来,如果一个数据帧损坏之后校验和仍然是正确的,则这个协议将会失败。发送发在它发送的每一个数据帧的头部都会加上一个序号。

发送方发送一帧,等到确认到达之后才能继续发送。

其中200  20表示它将以20个tick的时间间隔运行200个协议实体进程。10%的丢包率,10%的校验和错误率,它将会打印出汇总数据。如下所示。

 

运行结果:Simulating Protocol  3

 

 

 

从运行结果可以看出,共有两个进程,一个发送一个接收,分别指明了发送和接收的情况,丢包率、错误率等都和运行代码中设定好的参数一致。有效装载/发送数据的效率为58%,模拟时间为200。

然而,其中也存在了一些不可预测的情况。有些运行多次以后每次的运行结果也是不同的。

 

 

 

3.      运行protocol4,参数设定为./sim 4 100 20 10 10 1

protocol4是一个一位滑动窗口协议。由于发送方在发出一数据帧之后必须等待前一帧的确认到来以后才能发送下一帧。

其中100 20表示它将以20个tick的时间间隔运行100个协议实体进程。20%的丢包率,10%的校验和错误率,它将会打印出汇总数据。如下所示。

 

运行结果:Simulating Protocol 4

 

这篇关于计算机网络实验rdt实验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/642020

相关文章

STM32(十一):ADC数模转换器实验

AD单通道: 1.RCC开启GPIO和ADC时钟。配置ADCCLK分频器。 2.配置GPIO,把GPIO配置成模拟输入的模式。 3.配置多路开关,把左面通道接入到右面规则组列表里。 4.配置ADC转换器, 包括AD转换器和AD数据寄存器。单次转换,连续转换;扫描、非扫描;有几个通道,触发源是什么,数据对齐是左对齐还是右对齐。 5.ADC_CMD 开启ADC。 void RCC_AD

HNU-2023电路与电子学-实验3

写在前面: 一、实验目的 1.了解简易模型机的内部结构和工作原理。 2.分析模型机的功能,设计 8 重 3-1 多路复用器。 3.分析模型机的功能,设计 8 重 2-1 多路复用器。 4.分析模型机的工作原理,设计模型机控制信号产生逻辑。 二、实验内容 1.用 VERILOG 语言设计模型机的 8 重 3-1 多路复用器; 2.用 VERILOG 语言设计模型机的 8 重 2-1 多

计算机网络基础概念 交换机、路由器、网关、TBOX

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、VLAN是什么?二 、交换机三、路由器四、网关五、TBOXTelematics BOX,简称车载T-BOX,车联网系统包含四部分,主机、车载T-BOX、手机APP及后台系统。主机主要用于车内的影音娱乐,以及车辆信息显示;车载T-BOX主要用于和后台系统/手机APP通信,实现手机APP的车辆信息显示与控

CCF推荐C类会议和期刊总结(计算机网络领域)

CCF推荐C类会议和期刊总结(计算机网络领域) 在计算机网络领域,中国计算机学会(CCF)推荐的C类会议和期刊为研究者提供了广泛的学术交流平台。以下是对所有C类会议和期刊的总结,包括全称、出版社、dblp文献网址以及所属领域。 目录 CCF推荐C类会议和期刊总结(计算机网络领域) C类期刊 1. Ad Hoc Networks 2. CC 3. TNSM 4. IET Com

61.以太网数据回环实验(4)以太网数据收发器发送模块

(1)状态转移图: (2)IP数据包格式: (3)UDP数据包格式: (4)以太网发送模块代码: module udp_tx(input wire gmii_txc ,input wire reset_n ,input wire tx_start_en , //以太网开始发送信

LTspice模拟CCM和DCM模式的BUCK电路实验及参数计算

关于BUCK电路的原理可以参考硬件工程师炼成之路写的《 手撕Buck!Buck公式推导过程》.实验内容是将12V~5V的Buck电路仿真,要求纹波电压小于15mv. CCM和DCM的区别: CCM:在一个开关周期内,电感电流从不会到0. DCM:在开关周期内,电感电流总会到0. CCM模式Buck电路仿真: 在用LTspice模拟CCM电路时,MOS管驱动信号频率为100Khz,负载为10R(可自

HCIA--实验十:路由的递归特性

递归路由的理解 一、实验内容 1.需求/要求: 使用4台路由器,在AR1和AR4上分别配置一个LOOPBACK接口,根据路由的递归特性,写一系列的静态路由实现让1.1.1.1和4.4.4.4的双向通信。 二、实验过程 1.拓扑图: 2.步骤: (下列命令行可以直接复制在ensp) 1.如拓扑图所示,配置各路由器的基本信息: 各接口的ip地址及子网掩码,给AR1和AR4分别配置

[计算机网络]-计网学习笔记-计网知识点总结(附完整笔记)

本笔记是跟着 b站 湖科大教书匠 视频做的笔记,其中图片为视频中的 PPT,加上了自己的注释。         这是原视频链接。大家可以参照着笔记看原视频。视频中的 PPT 做的非常好。         【计算机网络微课堂(有字幕无背景音乐版)】https://www.bilibili.com/video/BV1c4411d7jb?vd_source=1146b07cc2d66

OpenGL/GLUT实践:流体模拟——数值解法求解Navier-Stokes方程模拟二维流体(电子科技大学信软图形与动画Ⅱ实验)

源码见GitHub:A-UESTCer-s-Code 文章目录 1 实现效果2 实现过程2.1 流体模拟实现2.1.1 网格结构2.1.2 数据结构2.1.3 程序结构1) 更新速度场2) 更新密度值 2.1.4 实现效果 2.2 颜色设置2.2.1 颜色绘制2.2.2 颜色交互2.2.3 实现效果 2.3 障碍设置2.3.1 障碍定义2.3.2 障碍边界条件判定2.3.3 障碍实现2.3.

pta-2024年秋面向对象程序设计实验一-java

文章申明:作者也为初学者,解答仅供参考,不一定是最优解; 一:7-1 sdut-sel-2 汽车超速罚款(选择结构) 答案: import java.util.Scanner;         public class Main { public static void main(String[] arg){         Scanner sc=new Scanner(System