《计算机网络》第三章 数据链路层

第三章 数据链路层

一、数据链路层的功能

数据链路层主要作用是加强物理层传输原始比特流的功能, 将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路, 使之对网络层表现为一条无差错的链路。

1. 组帧:

字符计数法法、字符填充的首尾定界符法、比特填充的首尾标志法、违规编码法。

2. 差错控制

传输中的差错都是由于噪声引起的。噪声有两大类:一类是信道所固有的随机热噪声;另一类是由于外界特定的短暂原因所造成的冲击噪声,是产生差错的重要原因。
主要有两类:自动重传请求 (Automatic RetransmissionRequest, ARQ) 和前向纠错 (Forward Error Correction, FEC)。

  1. 检错编码:奇偶校验码(奇数为错误) 、循环冗余码 (Cyclic Redundancy Code, CRC) (可以检测所有的单比特错误)。
  2. 纠错编码 (只可以纠正一位差错)。

3. 流量控制和可靠传输机制:

流量控制涉及对链路上的帧的发送速率的控制,以使接收方有足够的缓冲空间来接收每一个帧,流量控制的基本方法是由接收方控制发送方发送数据的速率。

  1. 停止- 等待流量控制基本原理:发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧。

  2. 发送方和接收方都维持一组连续的允许发迭的帧的序号,称为发送窗口和接收窗口。发送窗口的大小WT 代表在还没有收到对方确认信息的情况下发送方最多还可以发送多少个数据帧。接收窗口是为了控制可以接收哪些数据帧而不可以接收哪些帧。在接收方只有当收到的数据帧的序号落入接收窗口内才允许将该数据帧收下。
    停止-等待协议:发送窗口大小= 1 ,接收窗口大小= 1;
    后退N 帧协议:发送窗口大小>1 ,接收窗口大小=1;
    选择重传协议:发送窗口大小> 1 ,接收窗口大小>1;
    注意:当接收窗口的大小为1时,可保证帧的有序接收。

  3. 后退N帧协议只能有序接受帧,无序的一律丢弃,发出的确认帧采用累计确认,表示其之前的多有的数据帧已经有序接收到;而选择重传协议可以先暂时收下不连续的序号帧,没有累计确认,只重传超时的数据帧;

  4. 可靠传输机制:数据链路层的可靠传输通常使用确认(累积确认)和超时重传两种机制来完成。
    自动重传请求( Auto Repeat reQuest, ARQ ),通过接收方请求发送方重传出错的数据帧来恢复出错的帧,通常分为三类,即停等式( Stop-and-Wait) ARQ、后退N 帧( Go-Back-N) ARQ 以及选择性重传( Selective Repeat)ARQ。

  5. 信道利用率从时间利用的角度分析是等于发送方在在一个发送周期的时间内,有效的发送数据的时间占整个发送周期的比率
    信道利用率 = (N * Td) / (Td + RTT + Ta)
    Td:为发送个数据帧的时间; Ta:为确认帧的发送时间;
    信道吞吐率= 信道利用率 * 发送方的发送速率。

二、介质访问控制

常见的介质访问控制方法有: 信道划分介质访问控制、随机访问介质访问控制和轮询访问介质访问控制。其中前者是静态划分信道的方法,而后两者是动态分配信道的方法。

1. 信道划分介质访问控制

信道划分的实质就是通过分时、分频、分码等方法把原来的一条广播信道,逻辑上分为几条。
用于两个结点之间通信的互不干扰的子信道,实际上就是把广播信道转变为点对点信道。
信道划分介质访问控制分为以下4 种:

  1. 频分多路复用( FDM),共享时间而不共享空间。
  2. 时分多路复用( TDM),共享空间,不共享时间。
  3. 波分多路复用( WDM),共享时间而不共享空间。
  4. 码分多路复用( CDM),既共享了空间,也共享了时间。

2. 随机访问介质访问控制

用户都可以根据自己的意愿随机地发送信息,占用信道全部速率。核心思想都是:胜利者通过争用获得信道,从而获得信息的发送权。因此,随机访问介质访问控制协议又称为争用型协议。各结点之间的通信既不共享时间,也不共享空间。

  1. 纯ALOHA 协议
    不进行任何检测就发送数据。如果在一段时间内没有收到确认, 该站点就认为传输过程中发生了冲突。发送站点需要等待一段时间后再发送数据,直至发送成功。

  2. 时隙ALOHA 协议
    将时间划分为一段段等长的时隙( Slot ) ,规定只能在每个时隙开始时才能发送一个帧。,时隙ALOHA 比纯ALOHA 的吞吐量大了1 倍。

  3. 1 -坚持CSMA
    “ 1 -坚持”的含义是指:当侦昕到信道忙后,继续坚持侦昕信道: 当侦听到信道空闲后,发送帧的概率为1 ,即立刻发送数据。

  4. 非坚持CSMA
    非坚持CSMA 协议在侦听到信道忙后就放弃侦听,这样就减少了多个结点等待信道空闲后同时发送数据导致冲突的概率,但这也使得数据在网络中的平均延迟增加了。

  5. p-坚持CSMA
    当一个结点要发送数据时,首先帧听信道,如果信道忙,则等待下一个时隙再帧听;如果信道空闲,便以概率p 发送数据,以概率1-p 推迟到下一个时隙;如果在下一个时隙信道仍然空闲,则仍以概率p 发送数据,以概率1-p 推迟到下一个时隙。

  6. CSMA/CD
    协议载波侦昕多路访问/碰撞检测(CSMA/CD )协议是CSMA 协议的改进方案。工作流程可简单概括为“ 先听后发,边听边发(区别于CSMA 协议),冲突停发,随机重发”。
    由于两个数据不能同时发送,所以CSMA/CD的以太网只能进行半双工通信。
    为了确保发送站在发送数据的同时能检测到可能存在的冲突, 需要在发送完帧之前就能收到自己发送出去的数据,即帧的传输时延至少要两倍于信号在总线中的传播时延(争用期2τ),所以CSMA/CD总线网中的所有数据帧都必须要大于一个最小帧长。
    最小帧长=总线传播时延 * 数据传输速率 * 2

  7. 二进制指数退避算法:
    二进制指数退避算法的优点是考虑了负载对冲突的影响。
    CSMA/CD 采用二进制指数退避算法来解决碰撞问题:第k此重传,从从离散的整数集合[0, 1 , …, 2^k - 1]中随机取出一个数r,重传所需要退避的时间为2 r τ。当重传达16 次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧井向高层报告出错。

  8. CSMA/CA 协议:
    在无线局域网的环境下,不能用CSMA/CD 协议,特别是碰撞检测部分。原因为:
    1 )接收信号的强度往往会远小于发送信号的强度,且在无线介质上信号强度动态变化范围很广,因此若要实现碰撞检测,那么在硬件上需要的花费就会过大。
    2 )在无线通信中, 并非所有的站点都能够听见对方,即“ 隐蔽站”的问题。
    “碰撞避免” CA( Collision Avoidance )。并不是指协议可以完全避免碰撞,而是指协议的设计要尽量减少碰撞发生的概率。
    CSM/CA 还使用预约信道、ACK 帧、RTS/CTS 帧等三种机制来实现碰撞避免。
    CSMNCA 采用二进制指数退避算法。

3. 轮询访问介质访问控制

通过一个集中控制的监控站,以循环的方式轮询每个结点, 再决定信道的分配。当某结点使用信道时, 其他结点都不能使用信道。

  1. 令牌是由一组特殊的比特组合而成的帧。
  2. 需要发送数据的计算机只有在拿到该令牌才能发送数据帧,因此不会发送冲突(因为令牌只有一个)。
  3. 令牌在设备间的传递通路在逻辑上必须是一个环。
  4. 轮询介质访问控制非常适合负载很高的广播信道。
  5. 轮询介质访问控制既不共享时间,也不共享空间。

三、局域网

局域网(Local Area Network, LAN )是在一个较小的地理范围(如一个学校) 内将各种计算机、外部设备和数据库系统等通过双绞线、同轴电缆等连接介质互相连接起来,组成资源和信息共享的计算机互联网络。
局域网拓扑结构主要有以下四大类: ①星形结构; ②环形结构;③总线形结构;④星形和总线形结合的复合型结构。
IEEE 802 标准定义的局域网参考模型只对应于OSI 参考模型的数据链路层和物理层,并将数据链路层拆分为两个子层:逻辑链路控制LLC 子层和媒体接入控制MAC 子层。与接入到传输媒体有关的内容都放在MAC 子层,它向上层屏蔽对物理层访问的各种差异,提供对物理层的统一访问接口,主要功能包括: 组帧和拆卸帧、比特传输差错检测、透明传输。LLC 子层与传输媒体无关,它向网络层提供无确认无连接、面向连接、带确认无连接、高速传送4 种不同的连接服务类型。

1. 以太网与IEEE 802.3

  1. 以太网逻辑上采用总线型拓扑结构,信息以广播方式发送。使用CSMA/CD 方式对总线进行访问控制。以太网尽最大努力交付数据,提供的是不可靠服务,对于差错的纠正则由高层完成。
  2. 每一块网络适配器(网卡)有一个地址,称为MAC 地址。MAC 地址长6字节,由连字符(或冒号)分隔的6 个十六进制数表示。
  3. MAC帧包括:目的地址6B、源地址6B、类型2B、数据(46~1500)B、效验码(FCS )2B
  4. MAC数据:46~ 1500 字节(64-18 = 46)。当帧长太短时对帧进行填充。

2. 高速以太网

  1. 100 BASE-T 以太网 :网既支持全双工又支持半双工方式,在全双工方式下不使用CSMNCD 协议。MAC 帧格式仍然是802.3 标准规定的。保持最短帧长不变,但将一个网段的最大电缆长度减小到100m。
  2. 吉比特以太网:在lGb/s 下用全双工和半双工两种方式工作。使用802.3协议规定的帧格式。半双工方式下使用CSMNCD 协议。
  3. 10 吉比特以太网:10 吉比特以太网与10Mb/s, 100Mb/s 和lGb/s 以太网的帧格式完全相同。10 吉比特以太网不再使用铜线而只使用光纤作为传输媒体。10 吉比特以太网只工作在全双工方式。

3. IEEE 802.11

IEEE 802.11 是无线局域网的一系列协议标准,MAC 层采用的是CSMA/CA 协议进行介质访问控制。
在无线局域网中,即使在友送过程中发生了碰撞,也要把整个帧发送完毕。而在有线局域网中,发生冲突则结点立即停止发送数据。

  1. 有固定基础设施无线局域网:802. 11 标准规定无线局域网最小构件是基本服务集( Basic Service Set, BSS ) 。一个基本服务集包括一个基站和若干个移动站。所有的站在本BSS 以内都可以直接通信,但在和本BSS 以外的站通信时都要通过本BSS 的基站。基本服务集中的基站也称作接入点(Access Point, AP ),其作用和网桥相似。
  2. 无固定基础设施的无线局域网自组织网络:自组织网络没有上述基本服务集中的接入点AP 而是由一些处于平等状态的移动站之间相互通信组成的临时网络。各点之间地位平等,中间结点都为转发结点,这些结点都具有路由器功能。

4. 令牌环网

在令牌环网中有一个令牌( Token )沿着环形总线在入网结点计算机间依次传递,令牌实际上是一个特殊格式的MAC 控制帧,本身并不包含信息,仅控制信道的使用,确保在同一时刻只有一个结点能够独占信道。站点只有取得令牌后才能发送数据帧,因此令牌环网不会发生碰撞。由于令牌在网环上是按顺序依次传递的,因此对所有入网计算机而言,访问权是公平的。

四、广域网

广域网通常是指覆盖范围很广(远远超过一个城市的范围〉的长距离网络。
广域网不等于互联网,互联网可以连接不同类型的网络(既可以连接局域网,也可以连接广域网),通常使用路由器来连接。
广域网由一些结点交换机以及连接这些交换机的链路组成。(注意不是路由器,结点交换机和路由器都是用来转发分组,它们的工作原理也类似,但注意区别: 结点交换机在单个网络中转发分组,而路由器在多个网络构成的互联网中转发分组)。

1. PPP协议

PPP ( Point-to-Point Protocol) 是使用串行线路通信的面向字节的协议。
PPP 有三个组成部分:

  1. 链路控制协议LCP : 一种扩展链路控制协议,用于建立、配置、测试和管理数据链路。
  2. 网络控制协议NCP :PPP 允许同时采用多种网络层协议,每个不同的网络层协议要用一个相应的NCP 来配置,为网络层协议建立和配直逻辑连接。
  3. 一个将IP 数据报封装到串行链路的方法。IP 数据报在PPP 帧中就是其信息部分。这个信息部分的长度受最大传送单元MTU 的限制。

注意:

  1. PPP 提供差错检测但不提供纠错功能, 只保证无差错接收,不使用序号和确认机制。
  2. 它仅仅支持点对点的链路通信,不支持多点线路。
  3. PPP 只支持全双工链路。
  4. PPP 的两端可以运行不同的网络层协议, 但仍然可使用同一个PPP 进行通信。
  5. PPP 是面向字节的,当信息字段出现和标志字段一致的比特组合时, PPP 有两种不同处
    理方法:如果PPP 用在异步线路(默认)时,采用字节填充法;

2. HDLC 协议

高级数据链路控制( High-level Data Link Control, HDLC )协议是ISO 制定的面向比特( PPP
协议是面向字节的,这个要记住)的数据链路层协议。

  1. 数据报文可透明传输,用于实现透明传输的“0 比特插入法”易于硬件实现。
  2. 全双工通信,有较高的数据链路传输效率。
  3. 所有帧采用CRC 检验,对信息帧进行顺序编号,可防止漏收或重发,传输可靠性高。
  4. 标志字段F 为01111110 。在接收端只要找到标志字段就可确定一个帧的位置。

3. PPP 帧和HDLC 帧的区别:

  1. PPP 是面向宇节的, HDLC 协议是面向比特的。
  2. PPP 帧比HDLC 帧多一个2 字节的协议字段。
  3. PPP 不使用序号和确认机制,只保证无差错接收(通过硬件进行CRC 检验〉,而端到端差错检测由高层协议负责。HDLC 协议的信息帧使用了编号和确认机制,能够提供可靠传输。

五、数据链路层设备

1. 网桥:

网桥处理数据的对象是帧,所以它是工作在数据链路层的设备。
网桥的基本特点:

  1. 网桥必须具备寻址和路径选择能力,以确定帧的传输方向;
  2. 从源网络接收帧,以目的网络的介质访问控制协议向目的网络转发该帧;
  3. 网桥在不同或相同类型的LAN之间存储并转发帧,必要时还进行链路层上的协议转换;
  4. 网桥对所接收到的帧不任何修改,或只对帧的封装格式做很少的修改;
  5. 网桥可以通过执行帧翻译互联不同类型的局域网,即把原协议的信息段的内容作为另一种协议的信息部分封装在帧中;
  6. 网桥应有足够大的缓冲空间,因为在短时间内帧的到达速度可能高于转发速度。

2. 透明网桥(选择的不是最佳路由)

当网桥刚连接到以太网时,其转发表是空的,网桥按照自学习算法处理收到的帧。
该算法的基本思想是: 若从站A 发出的帧从某端口进入网桥,那么从这个端口出发沿相反方向一定可把一个帧传送到站A。所以网桥每收到一个帧,就记下其源地址和进入网桥的端口,作为转发表中的一个项目(源地址、进入的接口和时间)。
为了避免转发的帧在网络中不断地“兜圈子”, 透明网桥使用了一种生成树算法(无环),但生成树一般不是最佳路由。

3. 源路由网桥(选择的是最佳路由)

在源路由网桥中,路由选择由发送数据帧的源站负责, 网桥只根据数据真正的路由信息对帧进行接收和转发。
源路由网桥对主机是不透明的,主机必须知道网桥的标识以及连接到哪个网段上。路由选择由发送帧的源站负责。
源路由的生成过程是:源站要先发送一个发现帧,通过发送应答帧的不同路径,源站选择出一个最佳路由。
透明网桥和源路由网桥中提到的最佳路由并不是经过路由器最少的路由,也可以是发送帧往返时间最短的路由。

4. 局域网交换机

从本质上说,以太网交换机就是一个多端口的网桥,工作在数据链路层。交换机能经济地将网络分成小的冲突域,为每个工作站提供更高的带宽,但是一个广播域。
虚拟局域网(Virtual LAN, VLAN), VLAN不仅可以隔离冲突域,也可以隔离广播域。
原理:它检测从以太端口来的数据帧的源和目的地的MAC (介质访问层)地址,然后与系统内部的动态查找表进行比较,若数据帧的MAC 地址不在查找表中,则将该地址加入查找表中,并将数据帧发送给相应的目的端口。
两种交换模式:即直通式和存储转发式。

【注】:以上内容整理自王道

发布了81 篇原创文章 · 获赞 4 · 访问量 9882

猜你喜欢

转载自blog.csdn.net/Rhao999/article/details/103980553