数据链路层解决三个重要问题:封装成帧,差错检测,透明传输。
数据链路层所用的硬件:网卡(网络适配器)
封装成帧
数据链路层是以帧为单位进行传输和处理的。所以必须将上层的IP数据报在头部和尾部加上信息,封装成帧。在接收帧时,有个必须解决的问题是,如何识别每一个帧的开始和结束,即进行帧定界。首部和尾部的作用之一就是进行帧定界,还有一些控制信息。
每一种链路层协议都规定了帧的数据部分长度的上限,即最大传送单元(MTU)。
帧定界方法
1.在传输的帧和帧之间插入时间间隔(以太网使用该方式)
2.帧首部和尾部设置一个标志位,成为帧定界标志。(面向字符传输时,可以使用某个特殊的不可打印的控制字符作为帧定界符,还需要使用字节填充或字符填充来进行对帧定界符转义。面向比特传输时,可以使用比特位作为帧定界符。此时可以比特填充来对定界符转义。)
字符/字节填充法:定义一个转义字符,在发送端先对数据进行处理,在帧定界符和转移字符前面插入一个转义字符。在接受端对数据进行删除转义字符处理。
比特填充法:在发送端,当遇到帧定界符的某个比