数据链路层的基本内容
前言
本系列希望通过三个大问题梳理计算机网络体系结构的大致框架和逻辑,仅作为本人学习笔记用,不一定正确,希望路过的各位批评指正。参考资料为《计算机网络》第六版。
一、数据链路层是什么?
1.数据链路层的主要任务?
在同一个局域网中不经过路由器将数据从一个主机传输到另一个主机。
2.什么是链路、数据链路?
链路是指从一个结点到另一个结点的一段物理线路,中间没有任何其他的交换结点。
而数据链路则是指实现控制数据传输的必要通信协议的硬件和软件与物理线路构成的整体,现在最常用的方法时使用网络适配器来实现这些协议。
3.什么是网络适配器?
网络适配器与通信适配器在计算机网络中应该指的是同一样设备,其本来是插入主机箱内的一块网络接口板,现在也被嵌入了大部分主板中。这种接口板又称为网络接口卡NIC,即网卡。
网络适配器上面装有处理器和储存器(包括RAM和ROM),其与局域网之间的通信是通过电缆或双绞线以串行传输的方式进行的,而适配器和计算机之间的通信则是通过计算机主板上的I/O总线以并行传输方式进行的。因此适配器一个重要的功能就是实现数据串行传输和并行传输的转换。
4.数据链路层协议的三个基本问题是什么?
封装成帧、透明传输和差错检测。
(1)封装成帧就是在一段数据(网络层下发的IP数据报)的前后分别添加首部和尾部,它们的作用是进行帧界定(即确定帧的界限,使用帧界定符SOH、EOT)和包括必要的控制信息。为了提高帧的传输效率,应当使帧的数据部分尽可能地大于首尾部的长度,但是每种链路层协议都给出了所能传送帧的数据部分长度上限,即最大传送单元MTU。
(2)透明传输就是使所传送的数据对数据链路层是透明的,数据中的内容不会影响其在数据链路层的传输。为了解决这个问题,就需要设法在数据中可能出现的控制字符SOH、EOT在接收端不会被解释为控制字符,具体的方法为字符填充,即在控制字符前面插入一个转义字符ESC。
(3)差错检测就是采用各种差错检测措施保证数据传输的可靠性。非理想的通信链路在传输数据时会使比特产生差错,1可能会变成0,0可能会变成1,即比特差错。一段时间内传输错误的比特占所传输比特总书的比率称为误码率BER。目前在数据链路层广泛使用的检错技术是循环冗余检验CRC,CRC运算就是在数据后面添加供差错检测用的n位冗余码(即帧检验序列FCS)。
- CRC运算:……
在数据链路层若仅仅使用CRC差错检测技术,只能做到对帧的无差错接受,实现无比特差错的传输,但这不是可靠传输,因为还可能会出现帧丢失、帧重复或帧失序这种传输差错的情况。
5.点对点协议PPP是什么?
PPP协议(Point-to-Point Protocol)是用户计算机和ISP进行通信时所使用的数据链路层协议,其包含三个组成部分:
(1)一个将IP数据包封装到串行链路的方法。PPP既支持异步链路也支持面向比特的同步链路。
(2)一个用来建立、配置和测试数据链路连接的链路控制协议LCP
(3)一套网络控制协议NCP,其中每一个协议支持不同的网络层协议。
6.
- ……
二、为什么?
1.
- ……
三、怎么做?
1.
- ……