数据链路层
功能:通过一些数据链路层的协议,在不太可靠的物理链路上实现可靠的数据传输。
相关基本概念:
1、结点(node):网络中的主机(host)和路由器(router)。
2、链路(link):通信路径上连接相邻结点的通信信道,中间没有任何其他的交换结点。一条链路只是一条通路的一个组成部分。
3、数据链路(data link):要在一根线路上传送数据,除了要有一条物理线路外,还要有一些必要的规程来控制这些数据的传输。将实现这些规程的硬件和软件加到链路上,就构成了数据链路。
4、规程:早期的数据通信协议曾叫作通信规程。因此在数据链路层,规程和协议是同义语。
5、数据链路层协议:定义了一条链路的两个结点间交换的数据单元格式,以及结点发送和接收数据单元的动作。
6、点到点(point to point)通信:在相邻结点间的一条链路上的通信。(数据链路层)
7、端到端(end to end)通信:从源结点(source node)到目的结点(destination node)通信。通信路径(path)可能由多个链路组成.(传输层)
数据链路层为网络层提供三种合理的服务
1、无确认无连接服务。
(1)误码率很低的线路,错误恢复留给高层。
(2)实时业务。
(3) 大部分局域网。
2、有确认无连接服务。
(1)适用于不可靠的信道,如无线网。
3、有确认有连接服务。
一、成帧方法
成帧的目的:提高传输效率、差错控制。
帧同步:以帧为单位进行传送,指出哪里是帧的开始和结束。
1、字符计数法
方法:在帧头中用一个域来表示整个帧的字符个数。
可能产生的错误:一个帧出错了,本帧及后面的帧都会产生影响,都有可能出错。
2、带字符填充的首尾字符定界法(字节填充的标志字节法)
方法:1、由标志字节分隔的帧。若在二进制数中偶然出现的标志字节前插入一个转义字节(ESC)。
缺点:局限于8位字符和ASCII字符传送。
帧定界符(标志字段)的值:0x7E;
转义字符:“ESC”,其值:0x7D;
当数据中出现帧定界符0x7E时,将其转变为: (0x7D,0x5E);
当数据中出现转义符0x7D时,将其转变为:(0x7D,0x5D);
3、带位填充的首尾标记定界法(比特填充的标志比特)
方法:帧的起始和结束都用一个特殊的位串“01111110”,称为标记(flag), 即 ‘01111110’.
可能存在问题及解决办法:存在01111110的帧,我们规定连续5个1后一定要有一个0,在接收之后去掉即可。
二、差错控制
差错产生的原因:噪声。
可能产生的错误:数据帧出错、数据帧丢失。
目的:使DL(数据链路层)