3.数据链路层
3.1 简介
数据链路层属于计算机网络的底层。其使用的信道主要有以下两种类型:
(1)点对点信道:使用一对一的点对点通信方式
(2)广播信道:使用一对多的广播通信方式
主要内容:
- 数据链路层的点对点信道和广播信道的特点,以及这两种信道所使用的协议(PPP协议以及CSMA/CD协议)的特点
- 数据链路层的三个基本问题:封装成帧、透明传输和差错检测
- 以太网MAC层的硬件地址
- 适配器、转发器、集线器、网桥、以太网交换机的作用以及使用场合
3.2 使用点对点信道的数据链路层
3.2.1 数据链路和帧
链路:从一个结点到相邻结点的一段物理线路(有线或无线),而中间没有任何其他的交换结点
数据链路:链路+通信协议
规程即协议
帧:点对点信道的数据链路层的协议数据单元
IP数据报:网络层协议数据单元就是IP数据报(或简称为数据报、分组或包)
点对点信道的数据链路层在进行通信时的主要步骤如下:
- 结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧
- 结点A把封装好的帧发送给结点B的数据链路层
- 若结点B的数据链路层收到的帧无差错,则从收到的帧中提取出IP数据报交给上面的网络层;否则丢弃这个帧
3.2.2 三个基本问题
三个基本问题:封装成帧、透明传输、差错检测
- 封装成帧:
封装成帧:封装成帧就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧。
作用:接受端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
首部和尾部的一个重要作用就是帧定界(即确定帧的界限)
- 透明传输:
使用原因:当帧的部分出现与帧结束符相同的字符串,那么就会造成数据丢失
透明:某一个实际存在的事物看起来却好像不存在一样。在数据链路层透明传送数据,表示无论什么样的比特组合的数据,都能够按照原样没有差错地通过这个数据链路层。
为了解决透明传输问题,就必须设法使数据中可能出现的控制字符“SOH”和“EOT”在接收端不被解释为控制字符。
具体方法:
字节填充(字符填充):发送端的数据链路层在数据中出现控制字字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是:1B,二进制是00011011)。而在接收端的数据链路层在把数据送往网络层之前删除这个插入的转义字符。
- 差错检测:
比特差错:比特在传输过程中可能会产生差错:1——>0, 0——>1
误码率BER(Bit Error Rate):在一段时间内,传输错误的比特占传输比特总数的比率。
误码率=10-10时,表示平均每传送1010个比特就会出现一个比特的差错。
误码率与信噪比有很大的关系。
解决方法:目前在数据链路层广泛使用了循环冗余检验CRC(Cyclic Redundancy Check) 的检错技术。
3.3 点对点协议PPP(Point-to-Point Protocol)
3.3.1 PPP协议的特点
PPP协议就是用户计算机和ISP进行通信时所使用的数据链路层协议。
- PPP协议应满足的需求
简单,封装成帧,透明性,多种网络层协议,多种类型链路,差错检测,检测连接状态,最大传送单元,网络层地址协商,数据压缩协商
- PPP协议的组成
- 一个将IP数据报封装到串行链路的方法
- 一个用来建立、配置和测试数据链路链接的链路控制协议LCP(Link Control Protocol)
- 一套网络控制协议NCP(Network Control Protocol)。
3.3.2 PPP协议的帧格式
1.各字段的意义
标志字段F(Flag):0x7E(“0x”表示它后面的字符是用十六进制表示的。十六进制的7E的二进制表示是01111110)。标志字段表示一个帧的开始或结束。即PPP帧的定界符
3.3.3 PPP协议的工作状态
未完,待补