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