您的位置:首页 > 理论基础 > 计算机网络

计算机网络原理与Iternet技术(第四章)

2008-05-09 09:11 507 查看
第四章 数据链路层

4.1 数据链路层功能

数据链路层的主要功能如下:

1、 链路管理

(1) 链路是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。

(2) 将实现数据在链路上传输所需要的必要的协议的软件和硬件加到链路上就形成了数据链路

(3) 链路管理是要实现在网络中相互通信的两个实体间数据链路的建立、维持和释放。

2、 帧同步

(1) 在数据链路层,数据的传送单位是帧。 所谓帧,是指从物理层送来的比特流信息按照一定的格式进行分割后形成的若干个信息块。

(2) 帧同步是指接收方应当能从收到的比特流中准确的区分出一帧的开始和结束的地方。

3、 流量控制

发送方发送数据的速率必须使接收方来得及接收。当接收方来不及接收时,就必须及时控制发送方发送数据的速率。

4、 差错控制

(1) 采用编码技术解决数据传送过程中的差错问题。

(2) 计算机网络中采用检错重发的方法实现差错控制。

5、 将数据和控制信息区分开

(1) 在数据链路层,数据和控制信息是一起传送的。

(2) 因此必须将数据和控制信息区分开来。

6、 透明传输

(1) 帧中数据有可能包含控制信息的组合。

(2) 即使如此,也必须保证数据的正确传输。

7、 寻址

(1) 计算机网络是一个多点连接的网络。

(2) 必须保证数据的发送方和数据的接收方相互识别。

4.2 基本概念

1、 数据链路层协议是实现数据链路层功能的一组规范。

2、 数据链路层协议分为面向字符型协议和面向比特流的协议,目前面向比特流协议是主流技术。

3、 数据链路层的地址是指存在网卡中的MAC地址,该地址由6个字节组成,高位3个字节代表厂商,低位3个字节代表流水号。

4.3 基本原理

1、 循环冗余校验

(1) 将要传送的比特序列M经过一个特殊的运算得到的结果n位R连接到M后进行发送。

(2) n位R:将M添加n位0后作为被除数,然后用(n+1)长度的P作为除数,进行模为2的除法运算;得到得余数既为R,余数R至少比P少一比特。

(3) 将2的n次方乘以M,然后加上R作为数据发送出去。

(4) 接收方收到数据后,以2为模进行除法运算,收到的数据为被除数,P为除数,如果余数为0,表明传输正确,否则,数据在传输过程中出现错误,必须重发。

(5) P的确定

。CRC-16

。CRC-CCITT

。CRC-32

(6) 差错校验只能做否定检验

(7) 为检测差错而在数据后面添加上的冗余码称为帧检验序列

2、 停止等待协议的算法

(1) 数据传输过程中必须注意的几个问题

。主机与数据链路层速度不匹配问题

采用在主机与数据链路之间设置缓冲区的办法解决。

。流控制问题

采用停止等待的方式解决,即发送一个数据帧之后,等待接收方的确认帧,然后再发送下一个数据帧。

。差错控制问题

采用循环冗余校验的技术解决差错控制问题,出现错误帧,接收方通知发送方进行重传。

。重复帧问题

采用为帧进行编号的方法解决重复帧的问题

。重传问题

启动超时计时器来解决重传问题,当发送端发送一个数据帧之后,马上启动超时计时器,在规定的时间内发送端没有收到ACK帧,则重传,因此发送端在发送一帧之后,必须保存该帧,直到收到确认帧。

。重传时间的确定

一般来讲重传时间略大于从发完数据帧到收到确认帧所需的平均时间。

。无限重传

设置重传上限值来解决。

(2) 发送点算法

{

1、 从主机去一个数据帧

2、 发送状态变量初始化,V(S)=0。

3、 将数据帧送交发送缓存

4、 将发送缓存中的数据帧发送出去

5、 设置超时计时器

6、 等待

7、 若收到确认帧ACK,则从主机去一新的数据帧,更新发送状态变量,

V(S)=1-V(S),转到3

8、 若收到否认帧NCK,则重发,转到4

9、 若超时计时器时间到,则转到4

}

(3) 接收点算法

{

1、 接收状态变量初始化,V(R)=0

2、 等待

3、 当收到一帧时,检查CRC,错误转到8

4、 如果V(R)=V(S)继续,否则,丢弃该帧,转到7

5、 将收到帧中的数据部分交给主机

6、 V(R)=1-V(R)准备接收下一帧

7、 发送确认帧ACK,转到2

8、 发送否认帧NCK,转到2

}

(4) 由于发送端对出错的数据帧进行重传是自动进行的,所以这种差错控制体制常简称为ARQ,即自动请求重传。

问题的提出:

从上述模型来看,实现简单,但通信信道利用率不高,尤其是信道引起的传播时延很大时。

解决办法:引入连续ARQ和选择重传ARQ

3、 连续ARQ协议

(1) 连续ARQ协议的工作原理

。发送端发完一个数据帧之后,并不进入等待状态,而是继续发送下一个数据帧。

。发送端如果收到接收端的确认帧之后,可以继续发送数据帧。

。确认帧必须指明对哪一帧进行回应,同时,确认帧也必须编号。

。如果出现丢帧或错误帧,发送端必须从出现错误或丢失的帧开始重传以后的所有已发送的帧。

。发送端设置超时计时器。

。接收端可以对错误帧给出否定的应答,也可不给出应答。

。提高了信道的利用率,但如果线路质量不好或延时较大,该算法不好。

(2) 滑动窗口的概念

。发送窗口用来对发送端进行流量控制

。接收窗口用来对接收端进行流量控制

。在接收端只有当收到的数据帧的发送序号落入接收窗口之后才允许将该数据帧收下

。当用n个比特进行编号时,若接收窗口的大小为1,则只有在发送窗口的大小Wr<=2的n次方-1时,连续ARQ才能正确运行。

。由于发送窗口和接收窗口工作时是滑动的,因此,称为滑动窗口。

(3) 信道利用率与最长帧长

。数据帧中包含数据和控制信息

。帧长,出错概率大,重传次数增大,信道利用率减低

。帧短,数据少,控制信息多,信道利用率低

。信道利用率公式为

U=Ld/(Ld+Lh)<=1

Ld 为数据帧中的数据位,Lh为数据帧中的控制位

。当链路质量好时采用长帧,当链路质量不好时采用短帧

4、 选择重传ARQ协议

只选择出现差错或计时器超时的数据帧重传。

5、 数据链路层协议

(1) 异步协议

XMODEM、YMODEM、ZMODEM

(2) 同步协议

。面向字符的协议

BSC协议

。面向比特的协议

HDLC、PPP协议

4.4 数据链路层设备

1、 网卡

(1) 网卡兼顾物理层和数据链路层的功能

(2) 网卡的作用是将链路上的比特流采集下来,然后上传到主机;或将主机发来的数据编码成比特流,然后发送到链路上去。

(3) 网卡的外部特性

。总线类型

。速度

。接口

(4) 网卡的内部特性

。MAC地址

。中断

。内存范围

。输入/输出范围

。数据处理能力

。传输模式

。中继功能

。逻辑绑定功能

(5) 容易出现的问题

。接口问题

。中断问题

。资源问题

。传输模式问题

2、 二层交换机(以太网、快速以太网、千兆以太网)

(1) 工作原理

(2) 转发模式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: