数据链路层 - wolai 笔记

1.概述

数据链路层在物理层提供服务的基础向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为、条无差错的链路。
链路层要解决的问题:
  • 装成帧
  • 明传输
  • 错检测

2.封装成帧

一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)
帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
组帧的四种方法
  1. 字符计数法:帧首部使用一个计数字段(第一个字节,8位)来标明帧内字符数
  2. 字符(节)填充法:当传送的帧是由非ASCI。发送方在封装帧时,进行扫描,扫描到SOH、EOT、ESC(转义字符)时在其前面添加转义字符,以区分,告诉接受方这个和特殊字符相同的字符是数据,当然这些约定由双方之间的协议完成
  3. 零比特填充法:在发送端,扫描整个信息字段,只要连续51,就立即填入10;
  4. 违规编码法:可以用“高-高”,“低-低”来定界帧的起始和终止。

3.透明传输:字节填充

透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西巧
当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。

4.差错检测:循环冗余检验CRC

差错原因

概括来说,传输中的差错都是由于噪声引起的。
全局性:由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。
解决办法:提高信噪比来减少或避兔干扰。(对传感器下手)
局部性:外界特定的短暫原因所造成的冲击噪声,是产生差错的主要原因。
解决办法:通常利用编码技术来解决。
分类
  • 位错:比特位出错,1变为0,0变为1
  • 帧错:[#1]-[#2]-[#3]
    • 丢失:收到[#1]-[#3]
    • 重复:收到[#1]-[#2]-[#2]-[#3]
    • 失序:收到[#1]-[#3]-[#2]
链路层为网络层提供服务:
  • 无确认无连接服务:通信质量好,有线传输链路
  • 有确认无连接服务:通信质量差的无线传输链路
  • 有确认面向连接服务:通信质量差的无线传输链路

循环冗余码CRC

要发送的数据是1101 0110 11,采用CRC校验,生成多项式是10011,那么最终发送的数据应该是?
  • 0,假设生成多项式的阶为r,则加r0;10011表示为多项式为x4+x+1x^4+x+1,阶为4.(多项式N位,阶为N-1)
  • 2除法,数据加0后除以多项式,余数为冗余码/FCS/CRC检验码的比特序列。(异或:01

5.流量控制和可靠传输

可靠传输

数据链路层的可靠传输通常使用确认超时重传两种机制来完成。
  • 确认是一种无数据的控制帧,这种控制帧使得接收方可以让发送方知道哪些内容被正确接收。有些情况下为了提高传输效率,将确认捎带在一个回复帧中,称为捎带确认。
  • 超时重传是指发送方在发送某一个数据帧以后就开始一个计时器,在一定时间内如果没有得到发送的数据帧的确认帧,那么就重新发送该数据帧,直到发送成功为止。
自动重传请求(Auto Repeat reQuest,ARQ),通过接收方请求发送方重传出错的数据帧来恢复出错的帧,是通信中用于处理信道所带来差错的方法之一。
传统自动重传请求分为三种,即停等式(Stop-and-Wait)ARQ、后退N(Go-Back-N)ARQ以及选择性重传(Selective Repeat)ARQ。后两种协议是滑动窗口技术与请求重发技术的结合,由于窗口尺寸开到足够大,帧在线路上可以连续地流动,因此又称为连续ARQ协议。

流量控制

较高的发送速度较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。
数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。
数据链路层流量控制手段:接收方收不下就不回复确认。
传输层流量控制手段:接收端给发送端一个窗口公告。
停止-等待协议:发送窗口大小=1,接收窗口大小=1。每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。
后退N帧协议(GBN):发送窗口大小>1,接收窗口大小=1。累计确认(偶尔捎带确认);接收方只按序接收帧,不按序则丢弃
选择重传协议(SR):发送窗口大小>1,接收窗口大小>1。当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层,但接收方仍可收下来,存放在一个缓冲区中,同时要求发送方重新传送出错的那一帧。对数据逐一确认,收一个确认一个;只重传出错帧;

6.重要协议

点对点:PPP协议

点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都使用PPP协议。只支持全双工链路。
PPP协议实现透明传输的方法:
  • 异步传输 | 面向字符:字节填充法
  • 同步传输 | 面向比特:零比特填充法(标志字段F01111110,所以要“5110”)

广播信道:CSMA/CD协议:总线型、半双工

载波监听多点接入/碰撞检测CSMA/CD(Carrier Sense Multiple Access with Collision Detection)
CS:载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。总线型网络
CD:碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。半双工网络
发送数据步骤:
  1. 发送数据前,先检测信道是否空闲。
  2. 如果信道忙,则继续监听,直到不忙;
  3. 开始发送数据,并持续冲突检测;
  4. 若检测无冲突,则数据发送成功;
  5. 若检测到冲突,则停止发送,等待随机长的时间,再次监听信道发送数据
当重传达16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错。
若连续多次发生冲突,就标明可能有较多的站参与争用信道。使用此算法可使重传需要推迟的平均时间随重传次数增大而增大,因而减少碰撞发生碰撞的概率,有利于整个系统的稳定。

HDLC协议

是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM公司的SDLC(Synchronous Data Link Control)协议扩展开发而成的.
数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现
采用全双工通信
所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高。

CAMA协议

发送帧前,监听信道。监听结果:
  • 信道空闲:发送成功
  • 信道忙:
    • 1-坚持CSMA:空闲则直接传输,不必等待。忙则一直监听,直到空闲马上传输。
    • 非坚持CSMA:空闲则直接传输,不必等待。忙则等待一个随机的时间之后再进行监听。
    • p-坚持CSMA:空闲则以p概率直接传输,不必等待;概率1-p等待到下一个时间槽再传输。忙则持续监听直到信道空闲再以p概率发送。

7.局域网

局域网

局域网(LocalAreaNetwork):简称LAN,是指在某一区域内由多台计算机互联成的计算机组,使用广播信道
决定局域网的主要要素为:网络拓扑、传输介质与介质访问控制方法
特点
  1. 覆盖的地理范围较小,只在一个相对独立的局部范围内联,如一座或集中的建筑群内。
  2. 使用专门铺设的传输介质(双绞线、同轴电缆)进行联网,数据传输速率高(10Mb/s ~ 10Gb/s)。
  3. 通信延迟时间短,误码率低,可靠性较高。
  4. 具有广播功能,能从一个站点方便地访问全网
局域网拓扑结构:星型拓扑、总线型拓扑(CSNA/CD、令牌总线)、环型拓扑(令牌环)、树型拓扑
传输介质
  • 有线局域网:常用介质:双绞线、同轴电缆、光纤
  • 无线局域网:常用介质:电磁波
局域网分类:以太网、令牌环网、FDDI网、ATM网、无线局域网
MAC子层和LLC子层
  • LLC子层(逻辑链路控制子层):负责识别网络层协议,然后对它们进行封装。
  • MAC子层(介质访问控制子层):主要功能包括数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差错控制等。

以太网

以太网(Ethernet)指的是由Xerox公司创建并由Xerox、Inte|DEC公司联合开发的基带总线局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术。
以太网提供无连接、不可靠的服务,以太网只实现无差错接收,不实现可靠传输。
MAC地址:每个适配器有一个全球唯一的48位二进制地址,前24位代表厂家(由IEEE规定),后24位厂家自己指定。常用6个十六进制数表示,如02-60-8c-e4-b1-21
MAC:单播帧、广播帧、多播帧
10BASE-T以太网:传送基带信号的双绞线以太网,T表示采用双绞线,现10BASE-T采用的是无屏蔽双绞线(UTP),传输速率是10Mb/s。物理上采用星型拓扑,逻辑上总线型,每段双绞线最长为100m。采用曼彻斯特编码。采用CSMA/CD介质访问控制。
高速以太网:速率>=100Mb/s的以太网称为高速以太网
  • 100BASE-T以太网:在双绞线上传送100Mb/s基带信号的星型拓扑以太网,使用CSMA/CD协议。支持全双工和半双工,可在全双工方式下工作而无冲突。
  • 吉比特以太网:在光纤或双绞线上传送1Gb/s信号。支持全双工和半双工,可在全双工方式下工作而无冲突。
  • 10吉比特:在光纤上传送10Gb/s信号。只支持全双工,无争用问题。

8.链路层设备

网桥

根据MAC帧的目的地址对帧进行转发和过滤。当网桥收到一个帧时,并不向所有接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤)
冲突域,又称网段:一般指一个计算机网络中使用同一物理层设备(传输介质,中继器,集线器等)能够直接通讯的那一部分。
网桥工作在链路层的MAC子层,可以使以太网各网段成为隔离开的碰撞域。
由于各网段相对独立,因此一个网段的故障不会影响到另一个网段的运行。
网桥处理数据的对象是帧,所以它是工作在数据链路层的设备,中继器、放大器处理数据的对象是信号,所以它是工作在物理层的设备
透明网桥:“透明”指以太网上的站点并不知道所发帧将经过那几个网桥,是一种即插即用设备:自学习。
源路由网桥:在发送帧时,把详细的最佳路由信息(路由最少/时间最短)放在帧首部中。方法:源站以广播方式向欲通信的目的站发送一个发现帧。

以太网交换机(多接口网桥)

以太网交换机是一个多端口的网桥,它工作在数据链路层。交换机能经济地将网络分成小的冲突域,为每个工作站提供更高的带宽。
以太网交换机的原理是,它检测从以太端口来的数据帧的源和目的地的MAC(介质访问层)地址,然后与系统内部的动态查找表进行比较,若数据帧的MAC地址不在查找表中,则将该地址加入查找表,并将数据帧发送给相应的目的端口。
两种交换模式
  • 直通式交换机:查完目的地址(6B)就立即转发;延迟小,可靠性低,无法支持具有不同速率的端口交换。
  • 存储转发式交换机:将帧放入高速缓存,并检测是否正确,正确则转发,错误则丢弃。延迟大,可靠性高,可只支持具有不同速率的端口的交换。
虚拟局域网VLAN:由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段有某些共同的需求,因此就被放在同一个VLAN里,以太网交换机就可以通过以太网帧中的VLAN标记对不同VLAN的主 机进行数据转发

冲突域和广播域

冲突域:在同一个冲突域中的每一个节点都能收到所有被发送的帧。简单的说就是同一时间内只能有一台设备发送信息的范围。
广播域网络中能接收任一设各发出的广播帧的所有设备的集合。简单的说如果站点发出一个广播信号,所有能接收收到这个信号的设备范围称为一个广播域。

能否隔离冲突域能否隔离广播域
物理层设备【傻瓜】(中继器、集线器)××
链路层设备【路人】(网桥、交换机)×
网络层设备【大佬】(路由器)

Comment