您所在的位置:读书频道 > 网络与维护 > 网络协议 > 7.4.1 简单数据链路协议分析

7.4.1 简单数据链路协议分析

2007-07-05 12:56 王达 电子工业出版社 字号:T | T
一键收藏,随时查看,分享好友!

本章主要介绍局域网、广域网,以及OSI各层主要功能及其工作原理这些基本的计算机网络通信技术,同时还将介绍计算机网络数据通信中常见的技术指标和参数。这些都是我们平常进行各种网络工程施工和系统设计的基础和前提。本节是简单数据链路协议分析介绍。

AD:

7.4.1  简单数据链路协议分析
本节要通过3个由简单到复杂的数据链路协议来介绍该层协议的基本设计思想。在这里假设源主机A与目的主机B通过一条单工信道进行通信,且A使用可靠的面向连接的服务向B传输数据。
当A的数据链路层收到网络层的一个分组后,将其嵌入到一个数据帧中,即加上帧头(控制信息)和帧尾(校验),然后通过物理层传给B的数据链路层。假设数据链路层可以通过函数库例程 to_physical_layer和from_physical_layer向/从物理层发送/接收帧,且校验部分(帧尾)由发送硬件自动加上,并进行校验,链路层软件可不用关心。数据链路层还可以通过函数库例程to_network_layer和from_network_layer向/从网络层发送/接收分组。数据链路层调用函数库例程wait_for_event(&event)等待某个事件的发生,事件的类型从变量event中获得。假设帧头包括类型、发送序号、确认序号三个域(仅为假设)。
1.协议示例1
这是一个最简单的单工协议,假设数据只在一个方向上传输,信道不会出错,且网络层和物理层始终处于准备好状态,因此既不需要差错控制,也不需要流量控制。在这种数据链路层协议下,数据帧在通信双方的传送过程如表7-2所示。

表7-2  协议示例1的数据通信过程

   

   

   

1

从网络层接收一个分组

等待帧到达

2

将分组装入帧的信息域

从物理层接收一个帧

3

将帧传给物理层

将分组(帧的信息域)传给网络层

4

返回(1

返回(1

由于不需要确认,也就不需要帧序号。
2.协议示例2
仍假定是单工通信,且信道不会出错,但是接收端的处理能力有限,需要控制发送方的速度,即流量控制。在这里需要引入反馈,要求接收端在准备好接收下一帧时,向发送方发回一个响应帧;而发送方在收到响应帧后,才能发送下一帧,这称为“停—等”。基本过程如表7-3所示。
表7-3  协议示例2的数据通信过程

   

   

1

从网络层接收一个分组

等待帧到达

2

将分组装入帧的信息域

从物理层接收一个帧

3

将帧传给物理层

将分组(帧的信息域)传给网络层

4

等待响应帧

发送响应帧

5

响应帧到达,返回(1

返回(1

由于每次只发送一个帧,得到响应后再发下一帧,且不会出错,因此不会有重发的需要,也就不需要帧序号。
3.协议示例3
仍然假定是单工通信,但是信道可能会出错,接收端处理能力有限。链路层必须保证每个帧正确到达接收端,且发送端不能以太快的速度发送,因此,在这里既需要差错控制,也需要流量控制。
采用协议2中的“停—等”方式,发送方每次只发送一个帧,当这个帧被正确接收后才能发送下一帧,若该帧未在规定的时间内得到确认(超时),则重发该帧;接收端对每个收到的帧进行校验,对正确收到的帧发回确认,错误的帧丢弃。由于需要区分新、旧两个帧,使用1比特的帧序号。基本过程如表7-4所示。
表7-4  协议示例2的数据通信过程

   

   

   

1

初始化发送序号(next_frame_to_send = 0

初始化期待接收的帧序号(frame_expected = 0

2

从网络层接收一个分组,放入缓冲区

等待帧的到达

3

从缓冲区中取出分组构造一个帧:

l       将缓冲区中的分组拷入帧的信息域

l       next_frame_to_send拷入序号域

从物理层接收一个帧,检查帧的发送序号域(seq),如果是期待接收的帧(seq = frame_expected),将帧中携带的分组交给网络层,frame_expected1,执行(4);若不是期待接收的帧(一个重复帧),执行(4

4

将帧传给物理层

发回对收到帧的确认(确认帧的ack等于收到帧的seq

5

等待事件发生(帧到达,收到坏帧,超时)

返回(2

   

   

   

6

如果事件为帧到达:从物理层接收一个帧,检查帧的确认序号域。若是对所发帧的确认(ack = next_frame_to_send),终止相关的计时器,从网络层接收下一个分组,放入缓冲区,发送序号加1,返回 3);若不是对所发帧的确认,直接返回(3)(缓冲区内容和发送序号均不变)

如果事件为其他(收到坏帧,超时):返回 3)(缓冲区内容和发送序号均不变)

 

【责任编辑:雪花 TEL:(010)68476606-8007】

回书目   上一节   下一节

分享到:

栏目热门

更多>>

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点职位

更多>>

热点专题

更多>>

读书

公钥基础设施PKI及其应用
公钥基础设施PKI(Public Key Infrastructure)是利用公钥概念和加密技术为网上通信提供的符合标准的一整套安全基础平台。公钥基

最新热帖

更多>>

51CTO旗下网站

领先的IT技术网站 51CTO 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院 区块链第一聚合媒体 zhijiapro