计算机网络Net_04详解.pptx
文本预览下载声明
局域网技术;数据链路层所处位置
;数据链路层所处位置
;几个需要明确的概念
链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。
一条链路只是一条通路的一个组成部分。
数据链路(data link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。
现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。;几个需要明确的概念
帧(frame)是数据链路层的协议数据单元
IP数据报(或简称数据报、分组或包(Packet))是网络层的协议数据单元;数据链路层协议需要解决的三个基本问题
(1) 封装成帧
(2) 透明传输
(3) 差错控制 ;封装成帧(framing)
就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。
首部和尾部的一个重要作用就是进行帧定界,同时也包括必要的控制信息。
;封装成帧(framing)
对于数据为ASCII文本,可以采用控制字符进行帧定界。
;透明传输
采用控制字符进行帧定界可能产生的问题:
非ASCII码数据可能出现控制字符数据,比如图片数据、计算机程序等。
;透明传输
解决透明传输问题
发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是 1B)。
字节填充(byte stuffing)或字符填充(character stuffing)——接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。
如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。
;透明传输
解决透明传输问题:字节填充法
;差错检测
在传输过程中可能会产生比特差错:1 可能会变成 0 而 0 也可能变成 1。
在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate)。
误码率与信噪比有很大的关系。
为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。
;差错检测
在数据链路层传送的帧中,广泛使用了循环冗余检验CRC的检错技术。
在发送端,先把数据划分为组。假定每组k个比特。
假设待传送的一组数据M = 101001(现在k = 6)。我们在 M 的后面再添加供差错检测用的 n 位冗余码一起发送。;?;?;差错检测
冗余码的计算举例:
;差错检测
在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。
循环冗余检验 CRC 和帧检验序列 FCS并不等同。
CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。
FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。 ;差错检测
接收端对收到的每一帧进行CRC检验
(1) 若得出的余数R = 0,则判定这个帧没有差错,就接受(accept)。
(2) 若余数 R≠0,则判定这个帧有差错,就丢弃。
但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。
只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测不到的差错的概率就非常小。 ;差错检测
有一个值得注意的问题:
仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受(accept)。
也就是:“凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。
一个问题是:无差错接受只能保证接受到的帧是无误的,但如何保证发送端数据的所有数据都能无差错接受?
即发送什么就收到什么(“可靠传输”),怎么办?
;数据链路层的可靠传输
传输差错有两种:
比特差错和帧丢失或帧重复
可靠传输的机制:
确认和重传——停止等待协议
这种可靠传输协议常称为自动重传请求ARQ (Automatic Repeat reQuest)。
;数据链路层的可靠传输
停止等待协议;数据链路层的可靠传输
停止等待协议的优缺点:优点是简单,但缺点是信道利用率太低。
有一个问题:有没有办法来客服这种缺点? ;数据链路层的可靠传输
实现可靠传输需要付出代价(如会降低传输效率)。因此,应当根据链路的具体情况来决定是否需要让链路层向上提供可靠传输服务。
当链路误码率非常低时,在数据链路层可不实现可靠传输,而是由上层协议(例如,运输层的TCP协议)来完成。
但是在使用无线信道传输数据时,由于信道质量较差,在数据链路层仍需要实现可靠传输(例如使用停止等待协议)。;数据链路层的两种信道
点对点信道
这种信道使用一对一的点对点通信方式。
广播信道
这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机
显示全部