欢迎来到天天文库
浏览记录
ID:49940656
大小:89.00 KB
页数:11页
时间:2020-03-03
《数据链路层协议的设计.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、课程名称:计算机网络系别:年级专业:数据链路层协议计算机科学系学号:姓名:任课教师:成绩:2015年11月11日前吕数据链路层是OSI参考模型屮的第二层,介乎于物理层和网络层Z间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层來的数据可靠地传输到相邻节点的Fl标机网络层。为达到这一FI的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层屮称这种数据块为帧(fiPine),帧是数据链路层的传送单位;如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使
2、与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。数据链路层的最基本的功能是向该层用户提供透明的和可靠的数据传送基本服务。透明性是指该层JL传输的数据的内容、格式及编码没有限制,也没有必要解释信息结构的意义;可靠的传输使用户免去对丢失信息、干扰信息及顺序不正确等的担心。在物理层屮这些情况都可能发牛,在数据链路层屮必须用纠错码来检错与纠错。数据链路层是对物理层传输原始比特流的功能的加强,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一无差错的线路。如果您想用尽量少的词来
3、记住数据链路层,那就是:“帧和介质访问控制”。数据链路层一、实习目的计算机网络的数据链路层协议保证通信双方在有茅错的通信线路上讲行无差错的数据传输,是计算机网络各层协议屮通信控制功能最典型的一种协议。木实验实现一个数据链路层协议的数据传送部分,目的在于更好地理解基木数据链路层协议的基木工作原理,掌握计算机网络协议的基木实现技术。二、实习时间(第12周到13周)%1.实习地点福建农林大学东方学院网络实验室四、实习单位和部门福建农林大学东方学院五、实习内容5・1实验内容使用C语言实现下面数据链路层协议:1.分析和实现一个理想的链路层协议
4、2.对于前面实现的协议进行扩充,实现它的第一次改进,如何防止发方过快淹没收方。3.对上一步再假设在不可靠的的链路上进行通信。5・2实验步骤1.熟悉数据链路层协议的功能;2.编写数据链路层协议的实现稈序;3.调试并运行自己编写的协议实现稈序;4.了解协议的工作轨迹,如出现异常情况,在实验报告屮写出原因分析;5.保留你实现的数据链路层协议,以备教师检杏。5.3实验过程5.3.1程序功能及设计思路功能概述:用客户端/服务器模式代表A站、B站。先由客户端输入服务器IP地址,发送SYN同步帧,告诉服务器准备接受。客户端输入数据后,会进行CRC
5、编码,再发送数据帧;服务器收到示,先讲行校验,数据正确则发送ACK帧,客户端则发送下一帧数据;否则服务器发送NAK帧,客户端重新发送该数据。CRC校验:1)将收到的字符转为int型(32位),并将其二进制码左移16位,存于data;2)进行C(D)二Remainder[(S(D)・D"L)/g(D)],即CRC校验,得到校验位。1)将校验位加在信息元后,组成24位的码字,存于要发送的数据帧dframeo停等式ARQ协议:Client:1)置SN二0;2)收到数据,将SN分配给该数据,如果没有收到,则等待;3)存于要发送的数据帧屮,发
6、送给server;4)如果从server收到确认帧,且RN〉SN,则SN加1(模2),返回2;如果收到NAK或RN二SN,则返冋3,重传数据。Server:1)置RN二0;2)从client收到一个SN二RN的帧,进行CRC校验检查,无错后输出,并置RN加1、发送ACK帧;否则发送NAK帧,请求重发。5.4C语言程序代码:其客户端主要部分代码:Client:dient・c%lz^7^^T>^7^#include//WINSOCKAPI的头文件,需要包含在项目屮^pragmacomment(lib,"ws2_32
7、.lib")//WTNSOCKAPT连接库文件#includ(?#inclucleinterr;SOCKETsock;〃用于服务器监听的SocketSOCKADDR_INaddrSrv;//服务端地址unsignedcharsendBuf[100];//发送缓存charserverip[20];//客户端ip地址intsocklen=sizeof(SOCKADDR_IN);//Socket的地址值的长度intcf_lerpsizeof(structsockaddr);structdataFram
8、e//数据帧intseq;〃分段消息的序号intSN;//发送序号unsignedintdata[100];intmsglen;〃字符长度,采用长度计数的组帧技术};structconFrame//控制帧{intRN;//接收序号ch
此文档下载收益归作者所有