3. 数据链路层
数据链路层使用的信道主要有以下两种类型:
1)点对点信道。这种信道使用一对一的点对点通信方式;
2)广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。
3.1 使用点对点信道的数据链路层
3.1.1 数据链路和帧
链路(link):是指一条无源的点到点的物理线路段,中间没有任何其他的交换结点。一条链路只是一条通路的一个组成部分。
数据链路(data link): 在链路上,使用了一些软硬件(最常用的是适配器即网卡)来实现特定的通信协议,这样的链路称为数据链路。
帧:将收发两方的数据链路层视为直接通信,这两端传输的数据的基本单元称为帧。
3.1.2 三个基本问题
数据链路层协议有许多种,但是有三个基本问题则是共同的。这三个基本问题是:
1)封装成帧
所谓封装成帧,就是在一段数据(这段数据的长度不能大于MTU(Maximum Transmission Unit,MTU)的首尾分别添加首部和尾部,使其称为一个帧。首部和尾部的作用就是进行帧定界。
控制字符SOH(Start Of Head)放在一帧的最前面,表示帧首部的开始。另一个控制字符EOT(End Of Transmission)放在帧的最后边,表示帧的结束。
2)透明传输
透明传输解决的问题是处理帧中数据段出现的EOT字符。如果数据段里面的与EOT相同的字符被识别为了EOT,那么这帧数据就识别错误了。
解决方法分为:字符填充(异步网络中)或比特填充(同步网络中)。
发送端的数据链路层在数据中的控制字符前面插入转义字符ESC(其十六进制编码是1B)。接收端的数据链路层在将数据发送给网络层之前会删除插入的转义字符。如果转义字符也出现在数据中,那么
应该在转义字符前面插入一个转义字符ESC。当接收端收到连续的两个转义字符时,就删除前面的一个。
3)差错控制
数据在传输过程中可能会产生比特差错:1可能变成0而0也可能变成1。
在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率(Bit Error Rate)。误码率与信噪比有很大关系。
为了保证数据传输的可靠性,必须采用各种差错检测措施。
在数据链路层传送的帧中,广泛使用了 循环冗余检验(Cyclic Redundancy Check, CRC)技术。
该技术的原理:
实例:设定M = 101110,P = 1001,求得的冗余码为 011.
应当注意,仅仅使用循环冗余检验,只能做到无差错接受,即 凡事接受的帧,我们都能以无限接近1的概率认为这个帧在传输过程中没有产生差错。但是,循环冗余检验处理不了丢帧。
也就是说,使用CRC,能够实现无比特差错的传输,但不保证可靠传输。可靠传输包括:帧的不重复、不丢失、不失序。
3.2 点对点协议PPP
3.2.1 PPP协议的特点
3.2.2 PPP协议的帧格式
透明传输问题:
比特填充的规则:
3.3 使用广播信道的数据链路层
3.3.1 局域网的数据链路层
局域网的主要特点:
局域网的主要优势:具有广播功能,从一个站点可以方便地访问网内资源。链接在局域网内的各种软硬件资源可以被任意主机共享。
数据链路层的两个子层:
数据链路层的具体实现设备---适配器:
适配器(Adaptor)又称为网络接口板或者网络接口卡。
适配器的重要功能:
3.3.2 以太网的MAC层
1)MAC层的硬件地址
在局域网中,硬件地址又称为物理地址或者,MAC地址。这个地址有48位。需要注意的是,如果主机或者路由器安装有多个适配器,那么就有多个地址。
MAC地址的前24位(6个字节)是厂家的组织标识符,后24位是产品标识符,必须保证生产出的适配器没有重复的MAC地址。
适配器检查MAC地址:
适配器每当从网络上接收到一个MAC帧,就会去检查这个帧里的MAC地址。如果不是自己的地址就直接丢弃。如果是自己的MAC地址就收下,再进行后续处理。
发往本站的帧包括以下三种:
1. 单播帧(一对一) 2. 广播帧(一对全部) 3. 多播帧(一对多)
2)MAC帧格式
前8个字节是帧前同步码。
3.4 以太网的扩展
3.4.1 在物理层扩展以太网
1)使用光纤扩展,将主机通过一根光纤和一对光纤调制解调器连接到远端的集线器。
2)使用集线器扩展,通过使用集线器,可以构建更大的、星型结构的以太网。
3.4.2 在数据链路层扩展以太网
1) 在数据链路层扩展以太网是更常用的办法;
2)早期使用网桥在数据链路层扩展以太网,现在使用的是交换机。
网桥根据MAC帧的目的地址对其进行转发和过滤。
以太网交换机的特点和与集线器的区别:
1)交换机实际上相当于多接口的网桥; 2)交换机每一个接口都链接一个主机或者一个交换机; 3)集线器工作在物理层,交换机工作在数据链路层; 4)不会像集线器那样广播数据,而是会解析MAC帧,发现帧有问题就过滤掉,如果没有问题就根据MAC帧的目的地址对其进行转发。
原文:https://www.cnblogs.com/A-PP-Z-droplet/p/14213912.html