数据链路层的概念与功能
概念
数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
为网络层提供服务:加强物理层传输比特流的功能。
将可能出错的物理连接改造成逻辑上无差错的数据链路。
在使用点对点信道通信时,数据链路层需要考虑以下三个问题:
1.封装成帧,将网络层数据报组帧,并实现透明传输,交付给物理层。
2.差错控制,包含帧的检错与纠错。帧序列可能会误码、失序、丢失,发送方在FCS帧检验序列加入检错信息,接收方接收后根据协议校验和纠错。
3.可靠传输,根据差错控制和流量控制实现。可靠也是相对可靠,即在发送的帧序列由于误码、失序、丢失、重复时,可以纠错或直接丢弃错误的数据然后要求重传。尽管误码是不能完全避兔的,但若能实现发送方发送什么,接收方就能收到什么,就称为可靠传输。
也可由上层实现可靠传输,比如帧丢失,什么都不做直接向上层报告处理,此时链路层提供的是不可靠传输。
在使用广播式信道通信时,数据链路层除了上述三个问题需要考虑外,还需要考虑MAC编址,信道争用,信道碰撞
以下是使用广播信道对应有线和无线介质的例子:
功能
无连接即想发就发,在通信前,没必要事先在发送方与接收方建立连接。类比写信。
面向连接即先连接后发送,在通信前,必须事先在发送方与接收方建立连接。类比打电话。
封装成帧
透明传输
封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
帧头和帧尾中包含有重要的控制信息。帧头和帧尾的帧定界符的作用就是帧定界(确定帧的界限) 。
帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
透明传输是指数据链路层对上层交付的传输数据没有任何限制,不管所传数据是什么样的比特组合,都应当能够在链路上传送,就好像数据链路层不存在一样。
当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
并不是所有的链路层协议组帧时都需要加帧定界符,如下图以太网MAC帧,它实现帧定界帧同步,是将数据交付给物理层后,在帧数据前加上一个前导码,前导码共七个字节,前七个字节为前同步码,主要是为了时钟同步,第八个字节是帧开始定界符,并且每隔96比特时间发送一次。
实现透明传输的组帧方法
字符计数法
字符填充法
数据链路层在发送帧之前扫描,遇到帧定界符或转义字符就加上转义字符再发送。
零比特填充法
数据链路层在发送帧之前扫描,每遇到5个1就在后面添加0后,接收方接收后反向操作去掉0即可。
违规编码法
差错控制
奇偶校验码
CRC循环冗余检验
海明码(Hamming Code)
在有效信息位中加入几个校验位形成汉明码,并把每个二进制位分配到几个奇偶校验组中,以侦测并更正单一比特错误。
发现2位错,纠正1位错(汉明距离≤1,可以实现可靠传输)
1.需要多少位校验码?
2.校验码和信息位的位置关系?
3.校验码每一位的取值?
4.如何校验?
可靠传输
可靠传输概念
流量控制与滑动窗口协议
较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。
数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。
数据链路层流量控制手段:接收方收不下就不回复确认。传输层流量控制手段:接收端给发送端一个窗口公告。
数据链路层实现流量控制主要是限制发送方。
停止-等待协议SW(Stop-and-Wait)
停止-等待协议又叫自动重传请求协议,即ARQ(Automatic Repeat reQuest)协议。
正常情况
数据帧和确认帧为什么需要编号?
为避免分组重复这种传输错误,必须给每个分组带上序号。对于停止-等待协议,由于每发送一个数据分组就停止等待,只要保证每发送一个新的数据分组,其发送序号与上次发送的数据分组的序号不同就可以了,因此用一个比特来编号就够了。
同理,确认帧也需要编号。
数据帧丢失或误码-超时重传
确认帧丢失-重复确认
确认帧迟到-重复丢弃
信道利用率
停等协议总结
回退N帧协议GBN(Go-Back-N)
协议原理
性能分析
回退N帧协议在流水线传输的基础上利用发送窗回来限制发送方连续发送数据分组的数量,是一种连续ARQ协议。
因连续发送数据帧而提高了信道利用率。
在重传时必须把原来已经正确传送的数据帧重传,是传送效率降低。
由于回退N帧协议的特性,当通信线路质量不好时,其信道利用率并不比停止-等待协议高。
选择重传协议SR(Selective Request)
协议来源
协议原理
介质访问控制
共享信道要着重考虑的一个问题就是如何协调多个发送和接收站点对一个共享传输媒体的占用,即媒体接入控制MAC(Medium Access Control),也叫介质访问控制。
随着技术的发展,交换技术的成熟和成本的降低,具有更高性能的使用点对点链路和链路层交换机的交换式局域网在有线领域已完全取代了共享式局域网,但由于无线信道的广播天性,无线局域网仍然使用的是共享媒体技术。
链路层两种通信方式
静态划分信道
预先固定分配好信道,这类方法非常不灵活,对手突发性数据传输信道利用率会很低。
通常在无线网络的物理层中使用,而不是在数据链路层中使用。
频分多路复用(FDM)
将基带信号调制到不同频率的载波上,将载波带宽(物理信道带宽)划分为多个不同频带的子信道,每个子信道可以并行传输一路信号的多路复用技术。
物理带宽≥所有子信道带宽之和
不同频带的信号始终占用该频带。
实现容易,信道利用率高。
时分多路复用(TDM)
统计时分复用STDM
统计时分多路复用又叫异步时分多路复用,TDM的改进版。按需动态分配时隙。
需要一个集中器按需分配时隙给用户。
集中器按顺序扫描输入缓存,后生成STDM帧发送。
STDM帧中的时隙数<集中器的用户数
单个用户可以独占一个STDM帧。
波分多路复用(WDM)
码分多路复用(CDM)
码分多路复用,又叫码分多址(CDMA)。采用不同的编码(地址码)来区分各路原始信号的一种复用方式,它既共享信道的频率,又共享时间。是真正意义的动态复用技术。
码分复用CDM是另一种共享信道的方法。实际上,由于该技术主要用于多址接入,人们更常用的名词是码分多址CDMA(Code Division Multiple Access)
复用与多址的概念
复用是将单一媒体的频带资源划分成很多子信道,这些子信道之间相互独立,互不干扰。从媒体的整体频带资源上看,每个子信道只占用该媒体频带资源的一部分。
多址(更确切地应该称为多点接入)处理的是动态分配信道给用户。这在用户仅仅暂时性地占用信道的应用中是必须的,而所有的移动通信系统基本上都属于这种情况。相反,在信道永久性地分配给用户的应用中,多址是不需要的(对于无线广播或电视广播站就是这样)。
某种程度上,FDMA、TDMA、WDMA,CDMA可以分别看成是FDM、TDM、WDM,CDM的应用。
码分多址(CDMA)
动态划分信道
所有站点通过竞争,随机地在信道上发送数据。如果恰巧有两个或更多的站点在同一时刻发送数据,则信号在共享媒体上就要产生碰撞(即发生了冲突)。使得这些站点的发送都失败。因此,这类协议要解决的关键问题是如何尽量避免冲突及在发生冲突后如何尽快恢复通信。著名的共享式以太网采用的就是随机接入。
随机接入介质访问控制
所有用户可随机发送信息。发送信息时占全部带宽。
ALOHA协议
1.纯ALOHA比时隙ALOHA吞吐量更低,效率更低。
2.纯ALOHA想发就发,时隙ALOHA只有在时间片段开始时才能发。
CSMA协议
CSMA/CD协议
CSMA/CA协议
受控接入介质访问控制(淘汰)
轮询协议:有一个主站以循环方式轮询每个站点有无数据发送,只有被轮询到的站点才能发送数据。最大缺点是存在单点故障问题。
令牌传递协议:各站点是平等的,并连接成一个环形网络。令牌(一个特殊的控制帧)沿环逐站传递,接收到令牌的站点才有权发送数据,并在发送完数据后将令牌传递给下一个站点。
轮询访问
令牌传递协议
局域网LAN
概念与IEEE 802.1协议
以太网与IEEE 802.3协议
IEEE 802.11协议
VLAN
广域网WAN
广域网概念
PPP协议
HDLC协议
数据链路层设备
冲突域与广播域
网桥
透明网桥
通过自学习来构建转发表。每一个通过网桥的数据包都会被记录下网桥收到数据时数据对应的地址和网桥自己的接口,通过许许多多的数据包的构造的缓存,网桥就可以知道哪个数据包在哪个接口,以后如果要穿数据包就知道要往哪个接口发送数据包了
源路由网桥
在发送时,直接将最佳路径放到帧首部。那么网桥如何获得最佳路径?通过广播方式想目标地址发送广播,此时可能会经过不同路由产生不同的路径,目标地址收到后再将每一条路径都发一个响应帧给网桥,网桥经过对比就知道哪个接口最快了
交换机
开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 26 天,点击查看活动详情