arq协议实验报告_第1页
arq协议实验报告_第2页
arq协议实验报告_第3页
arq协议实验报告_第4页
arq协议实验报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

今年以来我们在上级党组织的领导和区精神文明办的关心支持指导下坚持以邓小平理论和三个代表重要思想为指导认真落实科学发展观arq协议实验报告篇一:通信网络基础实验报告通信网络基础实验完成时间: 报告学号:。 姓名:。 专业:通信工程 指导老师:孙恩昌 XX-12-27 目录一实验目的 . 3二实验内容 . 3三实验原理 . 3四实现停等式ARQ实验过程及结果: . 5五实现返回n-ARQ实验过程及结果: . 7六实现选择重发式ARQ过程及结果: . 8七心得体会 . 10一实验目的1理解数据链路层ARQ协议的基本原理2.用算法实现四种不同形式的ARQ重传协议:停等式ARQ、返回n-ARQ、选择重发式ARQ和ARPANET ARQ。3.提高分析和解决问题的能力和提高程序语言的实现能力二实验内容:1.根据停等式ARQ协议基本理论,编写协议算法,进行仿真;2.根据返回N-ARQ协议基本理论,编写协议算法,进行仿真;3.根据选择重传ARQ协议基本理论,编写协议算法,进行仿真;4.根据并行等待ARQ协议基本理论,编写协议算法,进行仿真三实验原理1.停等式ARQ:在开始下一帧传送出去之前,必须确保当前帧已被正确接受。假定A到B的传输链路是正向链路,则B到A的链路称为反向链路。在该链路上A要发送数据帧给B,具体的传送过程如下: 发送端发出一个包后,等待ACK,收到ACK ,再发下一个包,没有收到ACK、超时,重发 重发时,如果ACK 不编号,因重复帧而回复的ACK,可能被错认为对其它帧的确认。 2. 返回n-ARQ:发送方和接收方状态示意图 返回n-ARQ方案的特点如下: (1) 发送方连续发送信息帧,而不必等待确认帧的返回;(2) 在重发表中保存所发送的每个帧的备份;(3) 重发表按先进先出(FIFO)队列规则操作;(4)接收方对每一个正确收到的信息帧返回一个确认帧,每一个确认帧包含一个惟一的序号,随相应的确认帧返回;(5)接收方保存一个接收次序表,包含最后正确收到的信息帧的序号。当发送方收到相应信息帧的确认后,从重发表中删除该信息帧的备份; (6)当发送方检测出失序的确认帧(即第N号信息帧和第N+2号信息帧的确认帧已返回,而N+1号的确认帧未返回)后,便重发未被确认的信息帧 3. 选择重发式ARQ:选择重发ARQ与返回ARQ的思路相同,但仅仅重发有错误的帧。发送方和接收方的设计流程如下:4. ARPANET ARQ采用了8个并行等待式ARQ四实现停等式ARQ实验过程及结果:1. 发送端算法:(1)SN = 0(2)从高层接收数据,分配一个序号(3)发送第SN 号帧(4)等待接收端的确认信号(5)给定时间内收到确认帧,如果RN SN,设RN为SN,发送该篇二:中南大学移动通信实验报告 实 验 报 告 课程名称: 移动通信 姓名 班级 学号 地点 指导老师 实验名称:服务发现的功能 一、实验环境每2台PC为一组。硬件:SEMIT TTP66022块;串口连接线2根。软件:OS:Windows XX;显示设置:Windows标准字体;分辨率:1024768。二、实验目的通过具体的蓝牙服务发现协议:了解网络的服务发现方式;了解数据的表示方式;掌握服务发现的工作流程;掌握典型的客户服务器工作模式三、实验原理1.服务发现的功能对于蓝牙设备来说,要想访问另一个设备的服务,必须知道该设备所提供的服务,以及获取该服务的一些信息(如该服务使用的各种协议栈、服务名称、服务提供者和获得服务所需要的参数)。常用的服务发现方式:服务定位协议SLP(Service Location Protocol)通用即插即用UPnP(Universal Plug and Play)蓝牙SIG专门为蓝牙系统制定了一个服务发现协议SDP(Service Discovery Protocol),它非常适合蓝牙系统移动性较强的的特点,并且可以和其它服务发现协议共存于蓝牙环境中,符合蓝牙系统开放性的特点。蓝牙服务发现协议的基本出发点是发现服务但不提供对服务的访问,对服务的访问需要通过其它协议来实现。2.客户机-服务器模型客户机服务器交互是大多数网络通信的基础模式。客户机发送请求,等待响应。 而服务器等待请求并完成基于请求的动作,形成响应的数据包,返回给客户机。服务发现协议是典型的客户机服务器模型。每个服务发现协议分为客户端部分和服务器端部分,两部分在不同的蓝牙设备上工作。 一个蓝牙设备可以既是服务器同时又是客户机。请求服务的蓝牙设备运行服务发现协议的客户端部分,提供服务的蓝牙设备运行服务发现协议的服务器端部分。3.数据元的编解码编码过程:将服务记录用数据元格式表示出来,在注册函数中调用。解码过程:将查询返回的服务属性数据元解析成可以理解的服务记录形式,用树形结构给出。4.PDU交互的工作流程SDP定义了2种获取服务信息的方式:查找服务方式:在用户知道服务的UUID的情况下,用户通过指定服务类型(ServiceSearchPattern)来直接获得服务记录信息;服务发现协议的服务器端是根据服务类型来找与用户所要求的服务相匹配的服务记录的,它是唯一的查找服务的手段。浏览服务方式:不知道服务的UUID,浏览各个服务记录;为了支持该方式,服务记录必须含有Browse Group List属性,该属性说明了该服务属于何种浏览组。 3(1)ServiceSearch Transaction方式 (2)ServiceAttribute Transaction方式(3)ServiceSearchAttribute Transaction方式四、实验内容1.实验流程在服务器端注册本机的服务记录客户端查询服务器已注册的服务记录服务属性:客户端服务发现:2.实验分析本次试验中观察了客户机发起请求,服务器端给出响应的过程,比较了不同的服务查找方式,更好的理解了服务发现的原理。五、实验思考1.网络通信中为什么需要服务发现的协议部分?答:网络通信中,协议为连接不同的操作系统和不同的硬件体系结构的互联网络提供通信支篇三:计算机网络课程设计实验报告 实 验 报 告 课程名称:计算机网络 实验名称:ARQ协议模拟实现 系院:信息科学与技术学院信息安全专业 实验日期:XX-4-20 班级:0405403实验报告日期:XX-5-10 姓名:乔来阳 学号:040540312 同组人:无老师批阅签字:_实验内容:编写两个计算机程序p1,p2。p1模拟发送方:首先从界面读取待发送字符(每接受一个字符的输入),保存到文件exe1.txt中,并启动计时器;p2模拟接收方,它从exe1.txt中查找是否有新字符到来,并提供模拟界面给用户选择:1. Ack-接收该字符2. NAK-丢弃3. 无反应-导致超时将用户选择的结果记录到exe2.txt中;接收的字符保存到exe3.txt 中。由于可视化操作不精通,这次实验过程在C+环境下模拟运行。 运行环境:Visual C+ 6.0编程思路:新建三个文本文件,每次运行程序开始阶段使系统随机产生100个随机数,并使其转化为字符格式,让P1从界面读取字符,输送到exe1,txt文件中。并启动计时器记录传输时间。读入exe1.txt,若发现有新字符,则提供模拟界面给用户选择接收还是丢弃;若无反应,则输出超时信息。将用户选择的结果记录到exe2.txt中;接收的字符保存到exe3.txt 中。文本文件读写一律采用追加模式。 实验步骤: 1.分析ARQ协议模拟实现的一般流程,画出流程图:2.结合C+文件操作部分编写源程序: 源程序如下: #include iostream.h #include fstream.h #include stdlib.h #include iomanip.h(ARQ协议流程图)#include time.h#include string.h void main()long curtime_front_Sender, curtime_rear_Sender, curtime_front_Receiver, curtime_rear_Receiver; curtime_front_Receiver=time(NULL);/定义时钟char ch,choice,str4, array100; int i,tag=0;/定义开关变量fstream file1; fstream file2; fstream file3; coutcoutfile2.open(exe2.txt,ios:in|ios:out|ios:app); if(file2.fail()coutfile3.open(exe3.txt,ios:in|ios:out|ios:app); if(file3.fail()coutexit(0); coutcout cinchoice; switch(choice)case 1: for(i=0;iarrayi=a+rand()%26; coutfile1.close();coutcase 2:if(tag=1)coutcout cin.ignore(); cin.getline(str,4); if(strcmp(str,Ack)=0)file1.open(exe1.txt,ios:in|ios:out|ios:app); file1.get(ch); while(!file1.eof() file3.put(ch);curtime_rear_Receiver=time(NULL);if(curtime_rear_Receiver-curtime_front_Receiver1)/超时是否判断 curtime_front_Receiver=time(NULL); continue; file2file1.get(ch);coutelse if(strcmp(str,NAk)=0) coutelse if(strcmp(str,NAk)!=0 & strcmp(str,Ack)!=0 ) coutwhile(strcmp(str,NAk)!=0 & strcmp(str,Ack)!=0 );else if(tag=0) coutbreak;default:coutwhile(choice!=3); file1.close();file2.close();file3.close(); 3.模拟实验,运行源程序.实验中的问题及心得:通过实验发现在课程学习中对很多方面只是一知半解,并没有深入的加以研究,致使在组织源程序过程中遇到了很多麻烦,例如对ARQ协议只是片面地了解,对其背景,发展过程,应用过程,作用范围并不是很了解,今后一定会在这方面加强认识。通过学习实践发现计算机网络这门课程虽然大部分都是理论课程,很少有实践类的,但其从当今最前沿的计算机科学理论成果出发,将整个网络世界的总体框架呈现在面前,使得网络协议描述表现的淋漓尽致,今后必将以百倍的热情投入到这门课程的学习中。#define MAX_SEQ 7 /* 应该为2n-1 */总结通过实验所掌握的内容:1.连续ARQ协议的算法typedef enum frame_arrival, cksum_error, timeout, network_layer_ready event_type; #include protocal.hstatic boolean between(seq_ a, seq_ b, seq_ c) /* 如果b落在a和c之间(含a不含c)返回true,否则返回false. */ if (aelse return(false); static void send_data(seq_ frame_, seq_ frame_expected, packet buffer) /* 构造和发送数据帧frame s; /* 起始变量 */=bufferframe_;/* 插入分组到帧中 */s.seq=frame_; /* 插入序号到帧中 */ s.ack=(frame_expected+MAX_SEQ) % (MAX_SEQ+1) /* 捎带应答 */ to_physical_layer(&s);/* 传送该帧 */ start_timer(frame_);/* 启动定时器 */ void protocal5(void) seq_ next_frame_to_send; /* MAX_SEQ1; 用于外出流 */ seq_ ack_expected;/* 还没有得到应答的最早的帧 */ seq_ frame_expected; /* 进入流期望的下一帧 */ frame r; /* 初始变量 */ packet bufferMAX_SEQ+1/* 外出流的缓存 */seq_ nbuffered; /* 当前正在使用的输出缓存 */ event_type event;enable_network_layer();/* 允许 network_layer_ready 事件 */ ack_expected = 0; /* 下一个期望进入的应答 */ next_frame_to_send = 0; /* 下一个要送出的帧 */frame_expected = 0; /* 期望进入的帧的序号 */nbuffered = 0; /* 初始没有分组被缓存 */ while (true) wait_for_event ( &event);/* 四种可能的事件,见上面event_type定义 */switch (event)case network_layer_ready; /* 网络层有一个分组要发送

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论