数据链路层通信协议.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据链路层通信协议

题目: 数据链路层网络通信协议计 姓名: 周小多 学号:2013302513 班号 时间:2015.11.12 计算机学院 目 录 摘 要 1 目的 1 2 要求 1 3 相关知识 1 4 设计原理及流程图 3 5 实现思路及伪代码描述 6 6 意见或建议 14 7 参考文献 14 题目: 数据链路层网络通信协议设计 目的 设计数据链路层网络通信协议 2、要求 数据链路层通信的可靠性,非可靠性;具体用户自己选择; 3、相关知识 SDLC/HDLC标志字符 SDLC/HDLC协议规定,所有信息传输必须以一个标志字符开始,且以同一个字符结束。这个标志字符称标志字段(F)。从开始标志到结束标志之间构成一个完整的信息单位,称为一帧(Frame)。所有的信息是以帧的形式传输的,而标志字符提供了每一帧的边界。接收端可以通过搜探知帧的开头和结束,以此建立帧同步。 地址字段和控制字段 在标志字段之后,可以有一个地址字段A(Address)和一个控制字段C(Contro1)。地址字段用来规定与之通信的次站的地址。控制字段可规定若干个命令。SDLC规定A字段和C字段的宽度为8位。HDLC则允许A字段可为任意长度,C字段为8位或16位。接收方必须检查每个地址字节的第一位,如果为0,则后边跟着另一个地址字节;若为1,则该字节就是最后一个地址字节。同理,如果控制字段第一个字节的第一位为0,则还有第二个控制字段字节,否则就只有一个字节。 信息场 跟在控制字段之后的是信息字段(Information)。信息字段包含有要传送的数据,亦成为数据字段。并不是每一帧都必须有信息字段。即信息字段可以为0,当它为0时,则这一帧主要是控制命令。 帧校验字段 紧跟在信息字段之后的是两字节的帧校验字段,帧校验字段称为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的编码器在发送码组时为每一码组加入冗余的监督码位。接收时译码器可对在纠错范围内的错码进行纠正,对在校错范 围内的错码进行校验,但不能纠正。超出校、纠错范围之外的多位错误将不可能被校验发现 。 不可靠性分析:支持不可靠通信服务。 协议分析:语法,语义和同步 语法:数据帧格式 起始定界符=终止定界符 目的地址:(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)接收到“发送请求”,

文档评论(0)

yaobanwd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档