数据链路层使用的信道主要有以下两种类型:
(1)点对点信道:使用一对一的点对点通信方式
(2)广播信道:使用一对多的广播通信方式。
数据链路层提供无差错高质量的传输。
主要功能:链路管理、帧定界、流量控制、透明传输、寻址、差错检测、数据与控制信息分开
使用点对点信道的数据链路层
链路:从一个结点到相邻结点的一段物理线路
数据链路:除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据的传输。
点对点信道的数据链路层的协议数据单元:帧
点对点信道的数据链路层在进行通信时的主要步骤:
(1)结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧
(2)结点A把封装好的帧发送给节点B的数据链路层
(3)若结点B的数据链路层收到的帧无插座,则从收到的帧中提出IP数据报交给上面的网络层,否则丢弃这个帧
三个基本问题:封装成帧、透明传输、差错检测
封装成帧就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。
首部和尾部的一个重要作用就是进行帧定界
定界:标识帧的开始与结束。目的是实现帧的同步。
常用方法:
(1)字符计数法
(2)字节填充的标志字节法
(3)比特填充的标志比特法
- 字符计数法
在帧头中使用一个字段来标明帧内的字符数,通常该字段称为帧长字段。 - 字节填充的标志字节法
标志字节:用一些特殊的字节作为帧的开始与结束。
发送端的数据链路层在数据中出现控制字符“SOH” 的前面插入一个转义字符“ESC”(其十六进制编码是 1B)如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。 - 比特填充的标志比特法
每一帧使用一个特殊的位模式“01111110”作为开始和结束标记。该位模式又称为“flag”。