数据链路层
一、数据链路层的大概工作内容:

我们可以想象数据是在数据链路层水平向右传播的
**链路(link):**从一个结点到另一个结点的中间物理线路,且中间没有其它任何交换结点。
**数据链路:**是指将通信协议的硬件和软件加到链路上,就构成了数据链路。
**帧:**数据链路层是以帧为单位传递数据的。

二、数据链路层的几个重要问题(点对点传输)
封装成帧
为网络层传递过来的数据报 添加帧头和帧尾的操作叫做封装成帧 。
接收方在接收到数据之后是如何从数据比特流中区分出每个帧的呢?
在帧中,帧头和帧尾包含了重要的控制信息 ,帧头和帧尾的作用之一就是帧定界。
例如 ,ppp协议就会在ppp帧的开头和结尾分别包含一个字节大小的标志位。
这样就能区分出每一个帧。
也有协议不在帧头和帧尾添加定界符,例如以太网V2的MAC帧。
物理层会给帧添加一个前导码
并且以太网V2会在每个帧发送前间隔96bit时间
透明传输
透明传输 是指数据链路层对上层传输过来的数据没有任何限制
透明传输的部分可以看视频,从3:30开始。
透明传输
差错检测
数据链路层在向下一结点发送数据时会根据待发送数据和检错算法计算出检错码,并将检错码封装在帧尾,在帧 到达下一个结点时,就会根据接收到的数据和检错算法计算出新的检错码并与帧尾的检错码对比。
下面我们详细的介绍 一下差错检测
奇偶差错检测
除了使用差错检测码之外,还有一种简单的奇偶差错检测 方法
但是由于奇偶差错检测存在较高的漏检率,所以计算机网络的数据链路层不会使用该方法。
循环冗余校验CRC(Cycle Redundancy Check)
循环冗余校验是一种常用的且漏检率较低的校验手法,他的步骤如下:
① 双方约定一个生成多项式G(X)
② 发送方基于待发送的数据和生成多项式计算出差错检测码(冗余码),将其添加到传输的数据后面一起传输
③ 接收方通过生成多项式来计算收到的数据是否产生了误码
CRC计算冗余码举例:
差错检测的一些注意点:
可靠传输
在接收方检测到误码时,可以进行一些措施保证接收方能够重新接收到正确的副本。
下图是可靠传输的一些基本概念:
可靠传输的实现机制
① 停止等待协议SW
② 回退N帧协议GBN
③ 选择重传协议SR
这三种协议的思想不仅仅局限于数据链路层,对于整个计算机网络都有意义
停止-等待协议SW
在正常的情况下,接收方遇到误码,会执行下列操作
当数据丢失,没有传输到接收方时,会执行超时重传
当接收方回传的确认信息丢失了,发送方收不到ACK,则会误以为数据丢失,没有被接收方收到,于是就会重传,导致接收方重复接收数据。为了避免这种情况,发送方需要给发送的数据添加编号。
接收方的ACK回传如果超过了一定时间,就会导致发送方再次发送数据给接收方,接收方收到后又会发送这条数据的ACK,导致同一条消息对应了两条ACK,第二条ACK会被发送方误以为是DATA1的确认消息,所以为了避免这种重复确认的情况,需要对ACK也加上序号。
停止-等待协议SW【注意事项】
停止-等待协议SW对信道利用率的影响 11:12
停止-等待协议SW对信道利用率的影响11:12
回退N帧协议GBN
图文不好解释,看视频
回退N帧协议GBN
选择重传协议SR
图文不好解释,看视频
选择重传协议SR
三、数据链路层的几个重要问题(广播传输)
接收方主机如何判断数据是传输给自己的?
在帧头的位置,添加了目的地址和源地址。
在共享信道技术中,如何解决数据碰撞的问题?
后续会解释该问题。
四、PPP协议
五、媒体接入控制的基本概念
共享信道要着重考虑的一个问题就是如何协调多个发送和接收站点对一个共享传输媒体的占用 ,即媒体接入控制MAC (Medium Access Control)。
随着技术的发展,交换技术的成熟和成本的降低,具有更高性能的使用点对点链路 和链路层交换机的交换式局域网在有线领域已完全取代了共享式局域网,但由于无线信道的广播天性,无线局域网仍然使用的是共享媒体技术。
媒体接入控制------信道复用
复用 :复用是通信技术中的一个重要概念,复用就是通过一条物理线路同时传输多路用户的信号
常见的复用技术有:频分复用FDM 、波分复用WDM 、码分复用CDM 、时分复用TDM
频分复用
复用器将多个用户的信号分别输入到不同频率的载波上,接收端使用分用器将各路信号分开解析出每个用户的信号
时分复用
时分复用将时间分成若干个时隙,每个用户占用相同大小频带宽度
波分复用
波分复用实际上就是光的频分复用
码分复用

六、多址接入、载波监听、碰撞检测


碰撞窗口

最小帧长

退避算法
七、MAC地址、IP地址、ARP地址

MAC地址
使用广播信道的数据链路层必须使用地址来区分各主机
例如各主机使用ABCDE来标识,各主机就可以根据帧首部中的目的地址的值来判断是否自己是否是目标主机。
在每个主机发送的帧中必须携带标识发送主机和接收主机的地址。由于这类地址是用于媒体接入控制MAC(Media Access Contro) ,因此这类地址被称为MAC地址 ;
MAC地址有时也被称为物理地址,但是并不意味着MAC地址属于物理层。
一般情况下,用户主机会包含两个网络适配器:有线局域网适配器(有线网卡)和无线局域网适配器(无线网卡)。每个网络适配器都有一个全球唯一的MAC地址。 而交换机和路由器往往拥有更多的网络接口,所以会拥有更多的MAC地址。综上所述,严格来说,MAC地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识。
MAC地址的格式

MAC地址各比特代表的含义
IP地址

ARP(通过IP地址找MAC地址)
八、集线器与交换机
集线器

集线器和交换机的区别
(默认交换机中的帧交换表已经"学习好了")
集线器 :主机想要给目的主机发送单播帧时,单播帧会发送给所有主机,根据首部的目的地址来判断自己是不是目标主机
交换机 :主机想要给目的主机发送单播帧时,单播帧会通过交换机直接发送给目的主机
交换机 和集线器 对广播域 和碰撞域
交换机

以太网交换机自学习和转发的流程
① 以太网交换机工作在数据链路层(也包括物理层)
② 以太网交换机收到帧后,在帧交换表中查找帧的目的MAC地址所对应的接口号 ,然后通过该接口转发帧。
③ 以太网交换机是一种即插即用设备,刚插上电启动时其内部的帧交换表是空的。随着网络中各主机间的通信,以太网交换机通过自学习算法自动逐渐建立起帧交换表。
具体流程可以观看视频
以太网交换机自学习和转发的流程
以太网交换机的生成树协议STP
VLAN虚拟局域网技术

虚拟局域网VLAN1中的广播数据不会传到VLAN2
VLAN的实现机制