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

数据链路层通信协议

题目:

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

**: ***

学号:**********

班号:10011302

时间:2015.11.12

计算机学院

目录

摘要

1 目的 (1)

2 要求 (1)

3 相关知识 (1)

4 设计原理及流程图........................... 错误!未定义书签。

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

6 意见或建议 (4)

7 参考文献 (4)

题目:

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

帧校验字段

紧跟在信息字段之后的是两字节的帧校验字段,帧校验字段称为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、运行结果与分析

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

百度百科:

/link?url=0yTcTLVXgva9lJlwNgjqTQ_7EJNGuETthPyRicrM9kV_blH7j7RTvoBK_95Q1FbE

相关主题