计算机网络ch3-数据链路层

计算机网络ch3-数据链路层,第1张

计算机网络ch3-数据链路层

目录
  • 第三章 数据链路层
      • 数据链路层的功能
      • 封装成帧
      • 差错检测
      • 流量控制与可靠传输机制
      • 介质访问控制
      • 局域网
      • PPP协议和HDLC从协议
      • HDLC协议
      • 数据链路层的设备

第三章 数据链路层

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

**链路:**从一个结点到相邻节点的一段物理线路(有线或无线),而中间码元其他的交换结点。

**数据链路:**当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议控制这些数据。把这些协议的硬件和软件加到链路上就构成了数据链路。


数据链路层的功能
  1. 为网络层提供服务:包括无确认无连接服务、有确认无连接服务、有确认面向连接服务。
    • **无确认无连接服务:**源机器发送数据帧时无需先建立链路连接,目的机器收到数据帧时不需要发回确认。丢失的帧数据链路层不负责重发而交给上层处理。适用于实时通信和误码率较低的通信信道,如以太网。
    • **有确认无连接服务:**源机器发送数据帧时无需先建立链路连接,但目的机器收到数据帧时要发回确认,源机器在规定时间内未收到确定信号就重传丢失的帧,以提高传输的可靠性。适用于误码率较高的通信信道,如无线通信。
    • **有确认面向连接服务:**源机器发送数据帧时要先建立链路连接,且目的机器收到数据帧时要发回确认,源机器收到确认后才能发送下一帧,因此该服务可靠性最高,适用于通信要求较高的场合。帧传输分为建立数据链路、传输帧、释放数据链路三个步骤。
  2. 链路管理:即连接的建立、维持、释放。
  3. 流量控制:控制发送方的速度。
  4. 差错控制:控制帧错、位错。

封装成帧

**封装成帧:**就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧。在网络中数据以帧为最小单位进行传输。

**帧定界:**即确定帧的界限。首部和尾部中包括许多必要的控制信息,其一个重要作用就是用来帧定界。

**帧同步:**指接收方应能从接收到的二进制比特流中区分出帧的起始与终止。

**最大传送单元MTU:**链路层协议规定的所能传送的帧的数据部分长度上限。

**透明传输:**不管所传数据是何种比特组合,都应当能在链路上传送。

  1. 帧定界的方法/保证透明传输的方法:
    • 字符计数法:在帧头部使用一个计数字段来表明帧内字符数。(一错全错)
    • 字节填充法:使用一些特定的字符来定界一帧的开始与结束。为了使信息位中出现的某些特定字符不被误判位帧的首尾部,可以在特殊字符前面添加一个转义字符加以区分。
    • 零比特填充法:使用”01111110“来标志一帧的开始和结束,发送端发现数据部分有五个一则插一个零,接收端见五个一则删一个零。(常用)
    • 违规编码法:如曼彻斯特编码中用两个不会用到的”高-高“电平和”低-低“电平来标志开始与结束。(常用)

差错检测

**差错检测:**用以使发送方确定接收方是否正确收到其发送的数据的方法。通常差错可分为位错和帧错。

  • 位错:指帧中某些位出现了差错,通常采用循环冗余检验(CRC)方式发现位错,提高自动重传请求(ARQ)来重传出错的帧。(比特)
  • 帧错:指帧的丢失、重复、失序等错误。在数据链路层引入定时器和编号机制,就能保证每一帧都能有且仅有一次正确的交付给目的节点。(帧)

通常利用编码技术进行差错控制,主要有两类:自动重传请求AQR和前向纠错FEC。

  1. 检错编码(针对位错)

检错编码都采用冗余编码技术,其核心思想是在有效数据(信息位)被发送前,先按某种关系附加一定的冗余位,构成一个符合某一规则的编码字后再发送。当要发送的有效数据变化时,相应的冗余位也随之变化,使得码字遵从不变的规则。接收端根据收到的码字是否仍符合原规则来判断是否出错。常见编码有奇偶校验码和循环冗余码。

  • 奇偶校验码

    分奇校验码和偶校验码。冗余位加在数据位之前,使得”1“的个数为奇数(或偶数,分别对应奇校验和偶校验),只能检测出50%的比特差错。

  • 循环冗余码CRC

    步骤:

    • 加0:待发数据加r个0(r为生成多项式阶数(帧检验序列FCS位数减1)).
    • 模二除:异或 *** 作,加法不进位,减法不错位。
    • 余数为0则接收,否则丢弃。
      注: CRC只能做到无比特差错的传输,还并不是可靠传输
  1. 纠错编码

通过附加冗余信息使接收方能够推导出发送方实际发送的时什么样的比特串。最常见的纠错编码是海明码,他能发现双比特错误,但只能纠正单比特错误。

  1. 帧错

帧错包括帧丢失,帧重复,帧失序

  • 过去OSI的观点:使用帧编号、确认、重传机制。

  • 现在互联网区别对待的方法:

    • 对于通信质量良好的有线传输链路:数据链路层协议不使用确认和重传机制,即不要求数据链路层向上提供可靠传输的服务。如果在数据链路层传输数据时出现了差错并且需要进行改正,那么改正差错的任务就由上层协议(如,运输层的TCP协议)来完成。

    • 对于通信质量较差的无线传输链路:数据链路层协议使用确认和重传机制,数据链路层向上提供可靠传输的服务。

      实践证明,这样做可以提高通信效率。


流量控制与可靠传输机制

流量控制:由于双方各自的工作速率和缓存空间的差异,可能出现发送方的发送能力远大于接收方的接收能力,若不适当限制发送方的发送速率(实际就是链路上的信息流量),前面接收的帧将会被后面不断发送来的帧“淹没”,造成帧的丢失而出错。因此流量控制实际上就是限制发送方的数据流量,使其发送速率不超过接收方的接收能力。流量控制的常见方式有两种,即停止-等待协议和滑动窗口协议。

  1. 停止-等待协议

原理:发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号,表示可接收下一帧。如果接收方不反馈应答信号,那么发送方必须一直等待。每次只允许发送一帧,然后就陷入等待接收方确认信息的过程中,因而传输效率很低。

  • 无差错情况:
  • 数据帧丢失或检测到帧出错:
  • ACK丢失:
  • ACK迟到:
  1. 滑动窗口协议

原理:在任意时刻,发送方都维持一组连续的允许发送的帧的序号,称为发送窗口;同时接收方也维持一组连续的允许接收帧的序号,称为接收窗口。发送窗口用来对发送方进行流量控制,而发送窗口的大小代表在还未收到对方确认信息的情况下发送方最多还可以发送多少个数据帧。同理,在接收端设置接收窗口是为了控制可以接收哪些数据帧和不可以接收哪些帧。在接收方只有收到的数据帧的序号落入接收窗口内时,才允许将该数据帧收下。若接收到的数据帧落在接收窗口之外,则一律将其丢弃。

  • 后退N帧协议GBN:

    ​ 对某一数据帧的确认就相当于在该帧以前的所有数据帧都已经确认无误地收到。接收端只按序接收数据帧。如果收到某一帧但其前面的帧还没有确认,则丢弃这个收到的帧,并发送丢失帧序号之前接收到的最大序号的ACK,丢失帧和之后的帧需要全部重发。

  • 选择重传协议SR:

    ​ 一旦接收方怀疑帧出错,就会发一个否定帧NAK给发送方,要求发送方对NAK中指定的帧进行重传。窗口内的帧来者不拒,可无序,失序的帧暂时缓存直至前面的帧确认。

  1. 可靠传输机制

    数据链路层的可靠传输通常使用确认和超时重传两种机制来完成。

    • 确认ACK是一种无数据的控制帧,这种控制帧使得接收方可以让发送方知道哪些内容被正确接收。有些时候将确认捎带再回复帧中,即捎带确认,可提高传输效率。
    • 超时重传是指再发送方发送某个数据帧后就开启一个计时器,在一定时间内如果某一得到发送方的数据帧和确认帧,那么就重新发送该数据帧,直到发送成功为止。
    • 自动请求重传ARQ通过接收方请求发送方重传出错的数据帧来恢复出错的帧,是通信中用于处理信道所带来差错的方法之一。传统自动重传请求分为三种,即停止等待ARQ、后退N帧ARQ和选择性重传ARQ。后两种协议是滑动窗口技术与请求重发技术的结合,由于窗口尺寸开到足够大时,帧在线路上可以连续地流动,因此又称其为连续ARQ协议。注意,在数据链路层中流量控制机制和可靠传输机制是交织在一起的。
  2. 三个协议的窗口大小(采用n比特对帧编号)

    协议名称发送窗口大小W1接收窗口大小W2窗口范围停止-等待协议SW11后退N帧协议GBN>1=11 ≤ W1 ≤ 2^n - 1 ①选择重传协议SR>1>1W1max = W2max = 2^(n-1) ②

    注:若采用2比特编号,帧有00、01、10、11四种序号,若编号过大

    • 对于①将无法区分新旧帧。
    • 对于②窗口将接收窗口和发送窗口不同步。、

介质访问控制

介质访问控制所要完成的主要任务是,为了使介质的每个结点隔离来自同一信道上其他结点所传送的信号,以协调活动结点的传输(采取一定措施使得两对结点之间的通信不会发生相互干扰的情况)。用来决定广播信道中信道分配的协议属于数据链路层的一个子层,成为介质访问控制(MAC)子层。

  1. 传输数据的两种链路

    • 点对点链路:PPP协议,广域网
    • 广播链路:局域网
  2. 介质访问控制分类

  • **静态划分信道/信道划分介质访问控制:**一条链路N个信道

    • **频分多路复用FDM:**将多路基带信号调制到不同频率载波上,再叠加形成一个复合信号的多路复用技术。(充分利用了传输介质的带宽,系统效率较高;技术成熟,易于实现)—并行
    • **时分多路复用TDM:**将一条物理信道按时间分成若干时间片,轮流的分配给多个信号使用。(信道复用率低)—并发
    • **统计时分多路复用/异步时分多路复用STDM:**是TDM的改进。采用STDM帧,不固定分配时隙,而按需动态地分配时隙,当终端有数据需要传送时采分配时间段,因此可以提高线路复用率。
    • **波分多路复用WDM:**即光的频分多路复用,它在一根光纤中传输多种不同波长的光信号,由于波长频率不同,各路光信号互不干扰,最后可用波长分解复用器将各路波长分解出来。
    • **码分多路复用CDM:**采用不同的编码来区分各路原始信号的一种复用方式,它既共享信道的频率又共享时间。(具有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现)
      • **码分多址CDMA:**码分复用的一种方式,其原理是每比特时间被分为m个更短的时间槽,称为码片(Chip),通常每比特有64或128个码片。每个站点被指定一个唯一的m位代码或码片序列。发送1时站点发送码片序列,发送0时站点发送码片序列的反码。每个站点分配的码片序列不仅各不相同,并且要两两正交,便于还原。
  • 动态分配信道

    • 轮询访问介质访问控制

      • 轮询协议:主结点轮流“邀请”从属结点发送数据(一个一个询问(使用数据帧)是否需要发送数据,一直循环。一次只能一台主机发送数据)

      • 令牌传递协议:

    • 随机访问介质访问控制

      • ALOHA协议

        • **纯ALOHA协议:**当网络中任何一个站点 需要发送数据时,可以不进行任何检测就发送数据。如果在一段时间内未收到确认,那么该站点就认为传输过程中发生了冲突。发送站点需要等待一段时间后在发送数据,直至发送成功。(站点不能同时发送数据)(不监听信道,不按时间槽发送,随机重发,想发就发)
        • **时隙ALOHA协议:**把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道。若发生冲突,则必须等到下一个时间片开始时刻再发送。(控制想发就发的随意性)
      • CSMA协议: 即载波监听多路访问协议

        • **CS:**载波监听,每一个站再发送数据之前需要检测一下总线上是否有其他计算机在发送数据。(信道空闲发送完整帧,信道忙推迟发送)
        • **MA:**多点接入,表示许多计算机以多点接入的方式连接在一根总线上。(总线型网络)
        • **1-坚持CSMA:**如果一个主机要发送消息,那么它先监听信道。空闲则直接传送,不必等待。忙则一直监听,直到空闲马上传输。如果有冲突(一段时间内未收到回复),则等待一个随机长的时间在监听,重复上述过程。
        • **非坚持CSMA:**如果 一个主机需要发送消息,那么它先监听信道。空闲则直接传输不必等待。忙则等待一个随机时间之后再进行监听。
        • **p-坚持CSMA:**如果一个主机要发送消息,那么他就先监听信道。空闲则以p概率直接传输,不必等待。概率1-p等到下一个时间槽再传输。忙则等待一个随机的时间之后再监听。
      • CSMA/CD协议:(总线型,以太网)

        • **CD:**碰撞(冲突)检测,“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己再发送数据时其他赞是否也在发送数据。(半双工网络)

        • 如何确定碰撞后的重传时机:

        • 最小帧长问题:

          最小帧长 = 总线传播时延 × 数据传输速率 × 2

      • CSMA/CA协议:(无线局域网)

        • **CA:**碰撞避免。无线局域网无法做到360°全面碰撞检测,且存在隐蔽站问题(两个站同时向一个站发送信号)
        • 原理:发送数据前,先检测信道是否空闲。空闲则发出RTS(request to send),RTS包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息;信道忙则等待。接收端收到RTS后,将响应CTS(clear to send)。发送端收到CTS后开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)接收端收到数据帧后,将用CRC来检验数据是否正确,正确则响应ACK帧,发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)。

局域网

**局域网LAN:**只再一个较小的地理范围内,将各种计算机、外部设备和数据库系统等通过双绞线、同轴电缆等连接介质相互连接起来,组成资源和信息共享的计算机互联网络。

**适配器:**计算机与外界由局域网的连接是通过通信适配器实现的。适配器上装有处理器和存取器,ROM(只读存储器)上由计算机硬件地址MAC。

MAC地址:每个适配器有一个全球唯一的48位二进制地址,前24位代表厂家(IEEE规定),后24位厂家自己指定。常用16进制数表示。

  1. 局域网介质访问控制方法
  • CSMA/CD:常用于总线型局域网,也用于树形网络。
  • 令牌总线:常用于总线型局域网,也用于树形网络。它是把总线型或树形网络中各个工作站按一定顺序如接口地址大小排列成一个逻辑环。左右令牌持有者才能控制总线,才有发送消息的权力。
  • 令牌环:用于环形局域网,如令牌环网。
  1. 局域网的分类
  • **以太网:**以太网是应用最为广泛的局域网,包括标准以太网(10Mbps)、快速以太网 (100Mbps)、千兆以太网(1000Mbps)和10G以太网,它们都复合IEEE802.3系列标准规范。逻辑拓扑总线型,物理拓扑是星型或拓展星型。使用CSMA/CD协议。

    • IEEE 802.3 :以太网介质访问控制协议 (CSMA/CD)及物理层技术规范。

    • 提供无连接、不可靠的服务。发送方和接收方无握手过程;不对发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠正由高层负责。(以太网只实现无差错接收,不实现可靠传输(只实现无比特差错的传输))

    • 以太网MAC帧格式

      • 前导码:使接收端与发送端时间同步。在帧前面插入的8个字节可再分为两个字段,第一个字段7字节,为前同步码,用来快速实现MAC帧的同步。第二个字段使帧开始定界符,表示后面的消息就是MAC帧。
  • **令牌环网:**物理上采用星型投票结果,逻辑上是环形拓扑结构,使用IEEE802.5标准。已是明日黄花。(一个结点发生故障则故障)

    • IEEE802.5:令牌环网(Token-Ring)的介质访问控制协议及物理层技术规范。
  • **光纤分布式数据接口FDDI:**物理上采用双环拓扑结构,逻辑上是环形拓扑结构,使用IEEE802.8标准。

    • IEEE 802.8:光纤技术咨询组,提供有关光纤联网的技术咨询。
  • **ATM网:**较新型的单元交换技术,使用53字节固定长度的单元进行交互。

  • **无线局域网WLAN:**采用IEEE802.11标准。

    • IEEE 802.11:无线局域网(WLAN)的介质访问控制协议及物理层技术规范。

    • 802.11MAC帧头格式:

  1. IEEE802标准

IEEE802标准所描述的局域网参考模型只对应OSI参考模型的数据链路层和物理层,它将数据链路层划分为逻辑链路层LLC子层和介质访问控制MAC子层。


PPP协议和HDLC从协议

广域网WAN:通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性远程网络。广域网的通信子网主要使用分组交换技术。广域网的子网可以利用公用分组交换网、卫星通信网和无线分组交换网,它将分布在不同地区的局域网或计算机系统连接起来,达到资源共享的目的。如因特网是世界范围内最大的广域网。(广域网网强调资源共享,局域网强调数据传输)

  1. **点对点PPP协议:**是目前使用最广泛的数据链路层协议,用户使用拨号电话网接入因特网时一般都使用PPP协议。只支持全双工链路。

    • PPP协议应满足的要求:

      • 简单:对于链路层的帧,无需纠错,无需序号,无需流量控制。
      • 封装成帧:帧定界符。
      • 透明传输:与帧定界符应用比特组合的数据应该如何传输(异步线路使用字节填充、同步线路使用比特填充)。
      • 多种网络层协议:封装IP数据包报可以采用多种协议。
      • 多种类型链路:串行/并行、同步/异步、光/电…
      • 差错检测:错就丢弃。
      • 检测连接状态:链路是否正常工作。
      • 最大传输单元:数据部分最大长度MTU。
      • 网络层地址协商:知道通信双方的网络层地址。
      • 数据压缩协商
    • PPP协议无需满足的要求:

      • 纠错
      • 流量控制
      • 序号
      • 不支持多点线路(只需要满足点对点即可)
    • PPP协议的组成:

      • 一个将IP数据报封装到串行链路的方法
      • 一个用来建立、配置和测试数据链路连接的链路控制协议LCP。(管理身份验证)(物理连接)
      • 一套网络控制协议NCP,PPP可以支持多种网络层协议,每个比特的网络层协议都要有个相应的NCP来配置,为网络层协议建立和配置逻辑连接。(逻辑连接)
    • PPP协议帧格式:


HDLC协议

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

  1. HDLC的站
  • 主站:主站的主要功能是发送命令(包括数据信息)帧、接收响应帧,并负责对整个链路的控制系统的初启、流程的控制、差错检测或恢复等。
  • 从站:从站的主要功能是接收由主站发来的命令帧,向主站发送响应帧,并配合主站参与差错恢复等链路控制。
  • 复合站:既能发送又能接收命令帧和响应帧,并负责整个链路的控制。
  1. HDLC帧格式

数据链路层的设备

**网段:**一般指一个计算机网络中使用同一物理层设备(传输介质,中继器,集线器等)能够直接通信的那一部分。

  1. 扩展以太网的方式:
    • 光纤方式:光纤调制器、光纤解调器、集线器
    • 主干集线器:把集线器连到主干集线器上
    • 网桥/交换机:
      • 网桥:根据MAC帧的目的地址对帧进行转发和过滤。当网桥收到一个帧是,并不向所有接口转发此帧,而实先检查此帧的目的MAC地址,然后再将该帧发送到哪一个接口,或者把它丢弃,即过滤。(过滤通信量,增大吞吐量;扩大了物理范围;提高了可靠性;可以互连不同物理层、不同MAC子层和不同速率的以太网)
        • 透明网桥:指以太网上的站点并不知道所发送的帧将经过那几个网桥,是一种即插即用设备——自学习。
        • 源路由网桥:再发送帧是,把详细的最佳路由信息放在帧的首部中(通过源站以广播方式向欲通信的目的站发送一个发现帧)。
      • 多接口网桥/以太网交换机(可独占传输媒体总带宽)
        • 直通式交换机:查完目的地址就立刻转发。(延迟小,可靠性低,无法支持据与不同速率的端口的交换)
        • 存储转发式交换机:将帧放入高速缓存,并检查是否真确,正确则转发,错误则丢弃。(延迟大,可靠性高,可以支持具有不同速率的端口的交换)
  2. 冲突域和广播域

**冲突域:**在同一个冲突域中每一个结点都能收到所有被发送的帧,就是同一数据内只能有一台设备发送消息的范围。

**广播域:**网络中能接收任一台设备发出的广播帧的所有设备的几何。就是说如果一个站点发出一个广播信号,所有能接收到这个信号的设备范围称为一个广播域。

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

**广播域:**网络中能接收任一台设备发出的广播帧的所有设备的几何。就是说如果一个站点发出一个广播信号,所有能接收到这个信号的设备范围称为一个广播域。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4660263.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存