数据链路层简介
数据链路层使用的信道主要有两种
- 点对点信道(PPP 协议)
- 广播信道 (CSMA/CD 协议)
数据链路层主要研究的是在同一个局域网中,分组怎样从一个主机传输到另一个主机(不经过路由器);
网络层主要讨论的问题是分组怎样从一个网络通过路由器转发到另一个网络;
数据链路层的三个基本问题:封装成帧,透明传输和差错检测
数据链路层涉及到设备:适配器,转发器,集线器,网桥,以太网交换机(二层交换机2)
点对点信道的数据链路层
数据链路和帧
点对点信道数据链路层的协议数据单元(PDU): 帧

点对点信道在数据链路层通信的主要步骤如下:
(1). 结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧。
(2). 结点A把封装好的帧发送给结点B的数据链路层。
(3). 若结点B的数据链路层收到的帧无差错,则从收到的帧中提取出IP数据报交给上面的网络层;否则丢弃这个帧。
三个基本问题
封装成帧
在数据链路层,一个帧的帧长等于数据部分长度加上首部和尾部的长度,首部和尾部最重要的作用就是帧定界, 首部和尾部还包含一些控制信息。每一种链路层协议都规定了所能传输的帧的数据部分长度的上限——最大传输单元MTU(Maximum Transfer Unit)。 为了提高帧的传输效率,应该使数据部分的长度尽可能大于首部和尾部的长度之和。
透明传输
由于帧的开始和结束的标记都是使用专门指明的控制字符,因此,所传输的数据中任何8比特的组合一定不允许和用作帧定界的控制字符的比特编码一致,否则就会出现帧定界的错误。
当传输的帧是用文本文件组成的帧时(文本文件中的字符都是从键盘中输入的),其数据部分显然不会出现帧定界控制符。可见无论从键盘上输入什么样的字符都可以放在这样的帧中传输过去,因此这样的传输就是透明传输。
但是当数据部分是二进制数据时,数据中就可能包含帧定界符,数据链路层就会错误的判断帧定界。也即出现和帧定界符一样的二进制数据时,就不能做到透明传输了,那么如何解决这个问题呢?
在数据链路层透明传输数据表示无论什么样的比特组合的数据都能够通过这个数据链路层。“透明” 他表示某个实际存在的事物看起来好像不存在一样,透明传输可以简单的理解为数据链路层好像不存在