当前位置:文档之家› 数据链路层通信协议书范本

数据链路层通信协议书范本

题目:

数据链路层网络通信协议计

: 周小多

学号:2013302513

班号:10011302

时间:2015.11.12

计算机学院

目录

摘要

1 目的 (1)

2 要求 (1)

3相关知识 (1)

4设计原理及流程图 (3)

5实现思路及伪代码描述 (6)

6意见或建议 (14)

7参考文献 (14)

题目:

数据链路层网络通信协议设计

帧校验字段

紧跟在信息字段之后的是两字节的帧校验字段,帧校验字段称为FC(Frame Check)字段,校验序列FCS(Frame check Sequence)。SDLC/HDLC均采用16位循环冗余校验码CRC (Cyclic Redundancy Code),其生成多项式为CCITT多项式X^16+X^12+X^5+1。除了标志字段和自动插入的"0"位外,所有的信息都参加CRC计算。 CRC的编码器在发送码组时为每一码组加入冗余的监督码位。接收时译码器可对在纠错围的错码进行纠正,对在校错围的错码进行校验,但不能纠正。超出校、纠错围之外的多位错误将不可能被校验发现。

4、设计原理及流程图

?可靠性分析:(1)差错控制:检错(CRC-32);纠错(序号+确认反馈+超时重发);(2)流量控

制:采用选择重发协议(序号为3个比特位,发送缓冲区和接收缓存区,确定发送窗口和接收窗口,对缓冲区和窗口管理)

?不可靠性分析:支持不可靠通信服务。

?协议分析:语法,语义和同步

?语法:数据帧格式

?起始定界符=终止定界符:01111110;

?目的地址:(48):bbbbbb;

?源地址:(48):aaaaaa;

?控制字段:定义帧类型,实现差错控制和流量控制

?数据部分:46~1500字节

?语义:不同类型帧的含义

?10:无编号U帧, M=000:可靠(选择重发);M=001:不可靠;

M=010:请求释放; M = 011:无编号应答UA;

M=100 : 无编号信息帧(UI)

?11:为纯ACK应答帧,用于可靠通信;

?同步:事件发生顺序

?要求:(1)分可靠和不可靠,分别画出时序示意图;

(2)分可靠和不可靠,分别画出流程图(分发送方和接收方);

5、实现思路及伪代码描述

?发送方发送流程或伪代码

?// 通信阶段:如果采用可靠通信方式

?(4)从上层接收数据(从文件读取数据);//长度46-1500字节;

?(5)封装成编码信息I帧,把所有数据帧缓存在发送缓存队列;

?(6)初始化发送窗口大小:大小为4;

?(7)从发送窗口中每隔RTT/4时间发送一个数据帧,并启动重发定时器;

?(8)如果发送窗口中数据帧重发定时器未超时,收到应答,则从缓存中删除该数据帧,

窗口向前滑动,可以继续发送窗口新的数据帧;

?(9)如果发送窗口某帧重发定时器超时,应答未收到,则仅重发该数据帧;

?(10)如果某帧重发次数等于7次,通信结束,GOTO (12)

?(11)如果发送缓存队列中数据帧未发送完, GO TO (7)

?// 释放数据链路

?(12)释放发送队列,释放发送窗口;

?(13)发送释放链路请求;

?(14)接收到对方UA应答,说明通信结束。

?接收方接收流程或伪代码

?// 通信前准备:初始化

?(1)接收方初始化接收缓存队列;

?// 建立数据链路

?(2)接收到“发送请求”,设置通信方式:可靠或非可靠;

?(3)发送UA应答给发送方;

?// 通信阶段:不可靠通信方式

?(4)从下层接收数据帧,目的地址正确,存储在接收缓存队列,否则,丢弃;直到接

收完毕;

?(5)从接收队列中取出数据帧处理:长度检查(46~1500字节),校验检查,如果均正

确,去掉帧头和帧尾,把数据交付上层(写到接收文件);否则,丢弃该数据帧;

?(6)直到接收缓存队列中所有数据帧处理完毕;

?// 释放数据链路:不可靠通信

?(7)接收到对方发送的释放链路请求;

?(8)释放接收缓存队列;

?(9)发送UA应答给发送方,说明通信结束。

6、运行结果与分析

这是一个较为完善的协议,它实现了在数据链路层传输信息的基本功能,包括差错处理,控制等等。参考文献

百度百科:baike.baidu./link?url=0yTcTLVXgva9lJlwNgjqTQ_7EJNGuETthPyRicrM9kV_blH7j7RTvoBK_95Q1FbE

相关主题