计算机网络-Part3——数据链路层

[TOC]

image-20211206141619999

数据链路层功能概述

  • 研究思想:只关心同级的数据链路层如何封装与解封装
  • 基本概念
    • 结点:主机、路由器
    • 链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。
    • 数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。
    • 帧:链路层的协议数据单元,封装网络层数据报。
    • 数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。
  • 功能概述
    • 数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。
    • 主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
    • 功能
      • 为网络层提供服务。无确认无连接服务,有确认无连接服务,有确认面向连接服务
      • 链路管理,即连接的建立、维持、释放(用于面向连接的服务)
      • 组帧
      • 流量控制
      • 差错控制(帧错/位错)

封装成帧和透明传输

  • 封装成帧是在一段数据上添加首部和尾部,构成一个帧。接收端在收到物理层上的比特流后,就能根据首部和尾部的标记,来识别帧的开始和结束。
    • 首部和尾部包含许多的控制信息,只有帧定界符才是实现了帧定界
    • 帧同步接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
    • 组帧的四种方法:1. 字符计数法;2. 字符(节)填充法;3. 零比特填充法;4. 违规编码法。
    • image-20211206193517041
  • 透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。
    • 当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
    • 字符计数法
      • 帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数。
      • 缺点:当首部出错时,后面会跟着出错
      • image-20211206194718116
    • 字符填充法
      • 在控制字符之前增添转义,表示按照数据读取。
        • SOH:Start of header
        • EOT:End of transmission
      • image-20211206195050505
    • 零比特填充法
      • 流程(5110)
        • 在发送端,扫描整个信息字段,只要连续 5 个 1,就立即填入 1 个 0。
        • 在接收端收到一个帧时,先找到标志字段确定边界,再用硬件对比特流进行扫描。发现连续 5 个 1 时,就把后面的 0 删除。
      • 实现了:在传送的比特流中可以传送任意比特组合,而不会引起对帧边界的判断错误。
      • image-20211206195623869
    • 违规编码法
      • 使用不会用到的编码方式,“高-高”、“低-低”来定界帧的起始和终止。
      • image-20211206195924114
    • 总结:
      • 字节计数法中 Count 字段很脆弱
      • 字符填充实现上复杂且不兼容
      • 普遍使用的帧同步法是比特填充违规编码法

差错控制

  • 差错的来源(传输中的差错都是由于噪声引起的)

    • 全局性
      • 由于线路本身电气特性所产生的随机热噪声,是信道固有的,随机存在的。
      • 解决办法:提高信噪比来减少或避免干扰。(对传感器下手)
    • 局部性
      • 外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因。
      • 解决办法:通常利用编码技术来解决。
  • 差错的种类

    • 位错
      • 比特位出错,1 变成 0,0 变成 1。
    • 帧错
      • 丢失:收到[#1]-[#3]
      • 重复:收到[#1]-[#2]-[#2]-[#3]
      • 失序:收到[#1]-[#3]-[#2]
  • 分不同的链路选择不同的连接方式

    • image-20211206200547917
  • 数据链路层与物理层的编码意义

    • 物理层编码针对的是单个比特,解决传输过程中比特的同步等问题,如曼彻斯特编码。
    • 数据链路层的编码针对的是一组比特,通过冗余码的技术实现对二进制比特流的跳变问题
  • 冗余编码

    • 附加一定的冗余位,以实现检错、纠错。

检错编码

  • 奇偶校验码
    • 特点:只能检查出奇数个比特错误,检错能力为50%。
    • image-20211206201829051
  • CRC 循环冗余码
    • 除数为 r+1 位,生成多项式为 r 阶,FCS 为 r 位。
    • 在数据链路层 CRC,只能做到对帧的无差错接收,即“凡是接收端数据链路层接受的帧,我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错”。
      • 可靠传输:数据链路层发送端发送什么,接收端就收到什么。
      • CRC,能够实现无比特差错的传输,但这不属于可靠传输。因为,接收端会丢弃曾收到但因为有差错被丢弃的帧。
    • image-20211206202346800
    • image-20211206204015149

纠错编码

  • 海明距离
    • 两个码字的海明距离(码距):两个合法编码(码字)的对应比特取值不同的比特数。
    • 一个编码集的海明距离(码距):一个有效编码集中,任意两个合法编码(码字)海明距离的最小值。
    • 将两个字符串异或(同 0 异 1):码距 = 1 的个数
  • 公式:
    • 检测 d 位错,需要 d+1 位码距
    • 纠正 d 位错,需要 2d+1 位码距
  • 海明校验码算法流程
    • 确定校验码位数 r(数据/信息有 m 位,冗余码/校验码有 r 位)
      • 校验码一共有 2^r^ 种取值
      • 2^r^ ≥ m+r+1(海明不等式)
      • 凑出合适的 r
    • 确定校验码和数据的位置
      • 校验码放在序号为 2^n^ 的位置,数据按序填上
      • 从右到左,由低到高
    • 求出校验码的值
      • image-20211207203531042
    • 检错并纠错
      • 法一:找交并集
        • image-20211207204157940
      • 法二:普适法
        • image-20211207204453806

流量控制与可靠传输机制(重要)

流量控制、可靠传输与滑动窗口机制

image-20211207211509126

  • 针对问题:较高的发送速度较低的接收能力的不匹配,会造成传输出错、资源浪费,因此流量控制也是数据链路层的一项重要工作。
    • 数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。
    • 数据链路层流量控制手段:接收方收不下就不回复确认(不包含数据的确认帧)。
    • 传输层流量控制手段:接收端给发送端一个窗口公告(提示可承受的缓冲区容量)。
  • 滑动窗口机制:同时发送和接收窗口的数据,确认后移动窗口
    • 停止-等待协议:发送窗口大小=1,接收窗口大小=1;
    • 后退 N 帧协议:发送窗口大小>1,接收窗口大小=1;
    • 选择重传协议:发送窗口大小>1,接收窗口大小>1;
    • 数据链路层的这三种滑动窗口大小在发送过程中是固定值
    • 传输层的窗口可能不固定
  • 滑动窗口解决流量控制(收不下就不给确认,想发也发不了)、可靠传输(发送方自动重传)
    • 可靠传输:发送端发啥,接收端收啥。
    • 流量控制:控制发送速率,使接收方有足够的缓冲空间来接收每一个帧。

单帧滑动窗口与停止-等待协议

image-20211211134349640

  • 三个协议在哪一层
    • 在以往通信质量不好的时候,数据链路层要承担可靠传输的职责,因此会使用这三种协议
    • 如今差错不如之前那么大,因此可靠传输的职责可以交由传输层负责,数据链路层主要负责差错控制
    • 不需要过度在意,属于不同层只是称呼对象不同,传输层为分组、链路层为帧,本质都是传输的数据
  • 为什么要有停止-等待协议
    • 为了实现流量控制、解决丢包问题。
  • 研究停等协议的前提
    • 虽然现在常用全双工通信方式,但为了讨论问题方便,仅考虑一方发送数据(发送方),一方接收数据(接收方)
    • 因为是在讨论可靠传输的原理,所以并不考虑数据是在哪一个层次上传送的。
  • 停等协议的无差错情况&有差错情况
    • 无差错情况
      • 每发送 1 个数据帧就停止并等待,因此用 1bit 来编号足够。
      • image-20211207213049809
    • 有差错情况——数据帧丢失或检测到帧出错
      • 超时计时器:每次发送一个帧就启动一个计时器。
      • 超时计时器设置的重传时间应当比帧传输的平均 RTT 更长一些。
      • 发完一个帧后,必须保留它的副本。(发送方以备重传)
      • 数据帧和确认帧必须编号。(接受方响应重传)
      • image-20211207213606881
    • 有差错情况——有差错情况
      • image-20211207213642669
    • 有差错情况——ACK 迟到
      • image-20211207213733189
  • 停等协议的性能分析
    • 简单;信道利用率低
    • image-20211207214234621
    • 信道利用率发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率。
      • image-20211207214357171
    • *信道吞吐率 = 信道利用率 * 发送方的发送速率*
    • image-20211211134308548

多帧滑动窗口与后退 N 帧协议(GBN)

image-20211211150917861

  • 针对问题:停等利用率低
  • 改进方向:流水线技术
    • 发送窗口 :发送方维持一组连续的允许发送的帧的序号。
    • 接收窗口 :接收方维持一组连续的允许接收帧的序号。
  • 改进注意:
    • 必须增加序号的范围
    • 发送方需要缓存多个分组
  • GBN 发送方必须响应的三件事
    • 上层(网络层)的调用(要发送数据时):
      • 先检查发送窗口是否已满,如果未满,则产生一个帧并将其发送;
      • 如果窗口已满,则不接收数据并使上层等待。实际实现中,可以缓存上层的数据,在窗口有空时再发送帧。
    • 收到 ACK:GBN 协议中,对 n 号帧的确认采用累积确认的方式,表明接收方已经收到 n 号帧和它之前的全部帧。
    • 超时事件:协议名为后退/回退 N 帧,来源于出现丢失和时延过长帧时发送方的行为:发送方重传所有一连串已发送但未被确认的帧。
  • GBN 接收方要做的事
    • 如果正确且按序收到 n 号帧,那么接收方为 n 帧发送一个 ACK,并将该帧中的数据交付给上层
    • 若接收的帧不是按序,则丢弃该帧并为最近按序接收的帧发送 ACK。接收方无需缓存任何失序帧,只需要维护一个信息:ExpectedSeqNum(下一个按序的帧序号)
  • image-20211211143229117
  • 滑动窗口长度
    • 若采用 n 个比特对帧编号,那么发送窗口的尺寸 WT 应满足:1≤ WT ≤ 2^n^-1。
    • 因为发送窗口尺寸过大,就会使得接收方无法区别新帧(下一个循环)和旧帧(当前循环)。
  • 重点总结:
    • 累积确认(偶尔会有接收方发送数据给发送方,此时会在数据中捎带确认
    • 接收方只按顺序接收帧,不按序则丢弃
    • 确认序列号最大且按序到达的帧
    • 发送窗口最大为 2^n^-1,接收窗口大小为 1
  • GBN 协议性能分析
    • 优点:因连续发送数据帧而提高了信道利用率
    • 缺点:在重传时必须把原来已经正确传送的数据帧重传,是传送效率降低。

多帧滑动窗口与选择重传协议(SR)

image-20211211154027330

  • 针对问题:GBN 累积确认是一个优点,但是出现差错时代价较大。
  • 改进方向:选择重传协议(Selective Repeat,SR)设置为单个确认,扩大接收窗口,设置接收缓存,缓存乱序到达的帧。
    • image-20211211151735241
  • SR 发送方必须响应的三件事
    • 上层的调用:从上层收到数据后,SR 发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则,将数据缓存,或者拒绝接收数据并使上层等待。
    • 收到一个 ACK:
      • 如果收到 ACK,加入该帧序号在窗口内,则 SR 发送方将那个被确认的帧标记为已接收。
      • 如果该帧序号是窗口的下界,则窗口向前移动到具有最小序号的未确认帧处;如果窗口移动并且有序号帧在窗口内未发送,则发送这些帧。
    • 超时事件:每个帧都有自己的定时器,一个超时事件发生后只重传一个帧
  • SR 接收方要做的事
    • SR 接收方将确认一个正确接收的帧而不管其是否按序。失序的帧将被缓存,并返回发送方一个该帧的确认帧(收谁确认谁)。
    • 直到序号更小的帧皆被接收为止,才可以将一批帧按序交付给上层,然后向前移动滑动窗口
    • 如果收到小于窗口下界的帧,就返回一个 ACK
    • 其他情况,就忽略该帧
  • image-20211211152901928
  • 滑动窗口长度
    • 发送窗口最好等于接收窗口。(大了会溢出,小了没意义)、
    • WTmax = WRmax = 2^n−1^
    • image-20211211153858924
  • SR 协议重点总结
    • 对数据帧逐一确认。收一个确认一个
    • 只重传出错帧
    • 接收方有缓存
    • WTmax = WRmax = 2^n−1^

介质访问控制(重要)

概览

  • 介质访问控制:采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况。
    • image-20211212104228185
  • 信道划分介质访问控制(Multiple Access Control,MAC)协议:
    • 基于多路复用技术划分资源。
    • 网络负载重:共享信道效率高,且公平
    • 网络负载轻:共享信道效率低
  • 随机访问MAC协议:(只有这个会产生冲突)
    • 用户根据意愿随机发送信息,发送信息时可独占信道带宽。
    • 网络负载重:产生冲突开销
    • 网络负载轻:共享信道效率高,单个结点可利用信道全部带宽
  • 轮询访问MAC协议/轮流协议/轮转访问MAC协议:
    • 既要不产生冲突,又要发送时占全部带宽
      • 轮询协议
      • 令牌传递协议

信道划分介质访问控制

  • 传输数据使用的两种链路
    • 点对点链路:两个相邻节点通过一个链路相连,没有第三者。应用:PPP 协议,常用于广域网
    • 广播式链路:所有主机共享通信介质。应用:早期的总线以太网、无线局域网,常用于局域网
  • 信道划分介质访问控制:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备。
    • 多路复用技术:
      • 把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率。
      • 把一条广播信道,逻辑上分成几条用于两个节点之间通信的互不干扰的子信道,实际就是把广播信道转变为点对点信道。
      • image-20211211155217508
    • 频分复用技术 FDM
      • 用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的所有用户在同样的时间占用不同的带宽(频率带宽)资源。
      • 优点:充分利用传输介质带宽,系统效率较高;由于技术比较成熟,实现也比较容易。
      • image-20211211155523995
    • 时分多路复用 TDM
      • 将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道。
      • TDM 帧是在物理层传送的比特流所划分的帧,标志一个周期。
      • image-20211211155553965
      • 改进的时分复用——统计时分复用 STDM:
        • 每一个STDM帧中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧中,一个STDM帧满了就发出。STDM帧不是固定分配时隙,而是按需动态分配时隙。
        • image-20211211160122515
    • 波分多路复用 WDM
      • 波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。
      • image-20211211160309680
    • 码分多路复用 CDM
      • 码分多址(CDMA)是码分复用的一种方式。
        • 发送 1bit 的时间称为 1bit 的时隙时间。把 1bit 的时间分割为 n 位的芯片序列(可以看做是向量),即 n 个微时隙,每一个站点被指定一个唯一的 n 位的芯片序列。
        • 站点在,发送 1 时即直接发送芯片序列(通常把 0 写成 -1),发送 0 时即发送芯片序列的反码
      • 流程:
        • 多个站点同时发送数据的时候,要求各个站点芯片序列相互正交规格化内积为 0
          • image-20211212103543665
        • 两个向量到了公共信道上,线性相加。
          • image-20211212103701770
        • 数据分离:合并的数据和源站规格化内积。
          • image-20211212103732713

随机访问介质访问控制

ALOHA 协议

  • 纯 ALOHA 协议
    • 思想:不监听信道,不按时间槽发送,随机重发。
    • 检测冲突:如果发生冲突,接收方在就会检测出差错,然后不予确认,发送方在一定时间内收不到就判断发生冲突。
    • 解决冲突:超时后等一随机时间再重传。
    • image-20211212104905851
  • 时隙 ALOHA 协议
    • 思想:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。
    • image-20211212104934017
  • 区别:(不是很重点)
    • 纯 ALOHA 比时隙 ALOHA 吞吐量更低,效率更低
    • 纯 ALOHA 想发就发,时隙 ALOHA 只有在时间片段开始时才能发

CSMA 协议

  • 载波监听多路访问协议 CSMA(carrier sense multiple access)

    • CS:载波侦听/监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。
    • MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。
    • 协议思想:发送帧之前,监听信道。
    • 监听结果:
      • 信道空闲 :发送完整帧
      • 信道忙 :推迟发送
    • 行为分类:
      • 1-坚持CSMA
      • 非坚持CSMA
      • p-坚持CSMA
  • 1-坚持CSMA

    • 坚持指的是对于监听信道之后的坚持。
    • 思想:如果一个主机要发送消息,那么它先监听信道。
      • 空闲则直接传输,不必等待。
      • 忙则一直监听,直到空闲马上传输。
      • 如果有冲突(一段时间内未收到肯定回复),则等待一个随机长的时间再监听,重复上述过程。
    • 优点:只要媒体空闲,站点就马上发送,避免了媒体利用率的损失。
    • 缺点:假如有两个或两个以上的站点有数据要发送,冲突就不可避免。
  • 非坚持CSMA

    • 非坚持指的是对于监听信道之后就不继续监听。

    • 思想:如果一个主机要发送消息,那么它先监听信道。

      • 空闲则直接传输,不必等待。

      • 忙则等待一个随机的时间之后再进行监听。

    • 优点:采用随机的重发延迟时间可以减少冲突发生的可能性。

    • 缺点:可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低。

  • p-坚持CSMA

    • p-坚持指的是对于监听信道空闲的处理。
    • 思想:如果一个主机要发送消息,那么它先监听信道。
      • 空闲则以 p 概率直接传输,不必等待;概率 1-p 等待到下一个时间槽再传输。
      • 忙则持续监听直到信道空闲再以 p 概率发送。
      • 若冲突则等到下一个时间槽开始再监听并重复上述过程。
    • 优点:既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案。
  • 三者共同缺点:发生冲突后还是要坚持把数据帧发送完,造成了浪费。

  • image-20211212110506181

CSMA/CD 协议(非常重点)

image-20211215185127687

  • 载波监听多点接入/碰撞检测,CSMA/CD(carrier sense multiple access with collision detection)
    • CS:载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。
    • MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。
    • CD:碰撞/冲突检测,“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。
  • 传播时延对载波监听的影响
    • 检测碰撞的时间:0~1τ
    • image-20211212111810053
  • 确定碰撞后的重传时机(截断二进制指数规避算法)
    1. 确定基本退避(推迟)时间为争用期 2τ。
    2. 定义参数 k,使得 **k=min[重传次数,10]**。
    3. 从离散的整数集合 [0, 1, … , 2k-1] 中随机取出一个数 r,重传所需要退避的时间就是 r 倍的基本退避时间,即 2r*τ
    4. 当重传达 16 次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错。
  • 最小帧长问题
    • 帧的传输时延至少要两倍于信号在总线中的传播时延
    • image-20211215184828238
    • 以太网规定最短帧长为 64B,凡是长度小于 64B 的都是由于冲突而异常终止的无效帧。

CSMA/CA 协议(非重点)

  • 载波监听多点接入/碰撞避免,CSMA/CA(carrier sense multiple access with collision avoidance)
  • 针对问题:CSMA/CD 无法应用于无线局域网
    • 无法做到 360° 全面检测碰撞
    • 隐蔽站:当 A 和 C 都检测不到信号,认为信道空闲,从而导致同时向终端B发送数据帧,导致冲突
  • 工作原理
    1. 发送数据前,先检测信道是否空闲。
    2. 空闲则发出 RTS(request to send),包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息;信道忙则等待。(可选步骤)
    3. 接收端收到 RTS 后,将响应 CTS(clear to send)。(可选步骤)
    4. 发送端收到 CTS 后,才开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)。
    5. 接收端收到数据帧后,将用 CRC 来检验数据是否正确,正确则响应 ACK 帧
    6. 发送方收到 ACK 就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)。
  • CSMA/CD 与 CSMA/CA
    • 相同点:
      • 都从属于 CSMA 的思路,其核心是先听再说
      • 二者出现冲突后都会进行有上限的重传。
    • 不同点:
      • 传输介质/应用场景不同:CSMA/CD 用于总线式以太网(有线网络),CSMA/CA 用于无线局域网(无线网络)。
      • 因传输介质不同,而载波检测方式不同:CSMA/CD 通过电缆中电压的变化来检测;CSMA/CA 采用能量检测(ED)、载波检测(CS)和能量载波混合检测。
      • 核心目的:CSMA/CD 检测冲突,CSMA/CA 避免冲突。

轮询访问介质访问控制(存在重点)

  • 轮询协议

    • 主结点轮流询问从属结点发送数据。
      • image-20211215192553168
    • 存在问题:1. 轮询开销;2.等待延迟;3.单点(主机)故障。
  • 令牌传递协议(重点)

    • 令牌:一个特殊格式的MAC控制帧,不含任何信息。
      • 控制信道的使用,确保同一时刻只有一个结点独占信道。
      • 每个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制地持有令牌。
      • image-20211215192850642
      • 逻辑上为环形,物理上为星型
    • 问题:
      • 与轮询协议相同:1. 令牌开销;2. 等待延迟;3. 单点故障。
      • 应用于令牌环网(物理星型拓扑,逻辑环形拓扑)。
      • 采用令牌传送方式的网络常用于负载较重、通信量较大的网络中。

局域网

局域网基本概念和体系结构

image-20211218213256062

  • 局域网(Local Area Network):简称 LAN,是指在某一区域内由多台计算机互联成的计算机组,使用广播信道(而不是点对点信道)。
  • 特点:
    • 覆盖的地理范围较小,只在一个相对独立的局部范围内联,如一座或集中的建筑群内。
    • 使用专门铺设的传输介质(双绞线、同轴电缆)进行联网,数据传输速率高(10Mb/s~10Gb/s)。
    • 通信延迟时间短,误码率低,可靠性较高。
    • 各站为平等关系,共享传输信道。
    • 多采用分布式控制和广播式通信,能进行广播和组播。
  • 决定局域网的主要要素为:网络拓扑,传输介质与介质访问控制方法。
  • 局域网拓扑结构
    • image-20211215194700897
  • 局域网传输介质
    • 有线局域网:双绞线、同轴电缆、光纤
    • 无线局域网:电磁波
  • 局域网介质访问控制方法
    • CSMA/CD:常用于总线型局域网,也用于树型网络(基本不会考树形)
    • 令牌总线:常用于总线型局域网,也用于树型网络
    • 令牌环 :用于环形局域网,如令牌环网
  • 局域网的分类
    • 以太网:以太网是应用最为广泛的局域网,包括标准以太网(10Mbps)、快速以太网(100Mbps)、千兆以太网(1000 Mbps)和10G以太网,它们都符合 IEEE802.3 系列标准规范。逻辑拓扑总线型,物理拓扑是星型或拓展星型。使用 CSMA/CD。
    • 令牌环网:物理上采用了星形拓扑结构,逻辑上是环形拓扑结构。已弃用。
    • FDDI 网(Fiber Distributed Data Interface):物理上采用了双环拓扑结构,逻辑上是环形拓扑结构。 (不需要记)
    • ATM 网(Asynchronous Transfer Mode):较新型的单元交换技术,使用 53 字节固定长度的单元进行交换。
    • 无限局域网(Wireless Local Area Network,WLAN):采用 IEEE 802.11 标准。
  • IEEE 802 标准
    • IEEE 802 系列标准是 IEEE 802 LAN/MAN 标准委员会制定的局域网、城域网技术标准(1980年2月成立)。
    • 其中最广泛使用的有以太网(802.3)、令牌环(802.5)、无线局域网(802.11)、光纤 FDDI(802.8)等。
  • MAC 子层和 LLC 子层
    • IEEE 802标准所描述的局域网参考模型只对应 OSI 参考模型的数据链路层与物理层,它将数据链路层划分为逻辑链路层 LLC 子层和介质访问控制 MAC 子层。
    • LLC 子层:
      • LLC 负责识别网络层协议,然后对它们进行封装。
      • LLC 报头告诉数据链路层一旦帧被接收到时,应当对数据包做何处理。
      • 为网络层提供服务:无确认无连接、面向连接、带确认无连接、高速传送
    • MAC 子层:
      • MAC子层的主要功能包括数据帧的封装/卸装、帧的寻址和识别、帧的接收与发送、链路的管理、帧的差错控制等。
      • MAC子层的存在屏蔽了不同物理链路种类的差异性。
    • image-20211218212652373

以太网

image-20211219173818591

  • 以太网概述
    • 以太网(Ethernet)是由 Xerox 公司创建并由 Xerox、Intel、DEC 公司联合开发的基带总线局域网规范,是当今现有局域网采用的最通用的通信协议标准。
    • 以太网络使用 CSMA/CD(载波监听多路访问及冲突检测)技术。
  • 以太网在局域网各种技术中占统治性地位:
    • 造价低廉(以太网网卡不到100块);
    • 是应用最广泛的局域网技术;
    • 比令牌环网、ATM 网便宜,简单;
    • 满足网络速率要求:10Mb/s~10Gb/s.
  • 以太网两个标准
    • DIX Ethernet V2(以太网):第一个局域网产品规约。
    • IEEE 802.3(802.3 局域网):IEEE 802 委员会 802.3 工作组制定的第一个 IEEE 的以太网标准。(帧格式有细小的改动)
  • 以太网提供无连接、不可靠的服务
    • 无连接:发送方和接收方之间无“握手过程”。
    • 不可靠:不对发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠正由高层负责。
    • 以太网只实现无差错接收,不实现可靠传输
  • 以太网传输介质与拓扑结构的发展
    • 介质:粗同轴电缆 -> 细同轴电缆 -> 双绞线+集线器
    • 物理拓扑:总线型 -> 总线型 -> 星型
    • 逻辑上总线型,物理上星型。使用的还是 CSMA/CD 协议。
  • 10BASE-T 以太网(常考!)
    • 10BASE-T 是传送基带信号的双绞线以太网,T 表示采用双绞线,现 10BASE-T 采用的是无屏蔽双绞线(UTP),传输速率是 10Mb/s
    • 物理上星型拓扑,逻辑上总线型,每段双绞线最长为 100m
    • 采用曼彻斯特编码
    • 采用 CSMA/CD 介质访问控制
  • 适配器与 MAC 地址
    • 计算机与外界有局域网的连接是通过通信适配器的。
      • 网络接口卡:NIC(Network Interface Card)
      • 适配器上装有处理器和存储器(包括RAM和ROM)。
      • ROM上有计算机硬件地址 MAC 地址。
    • 在局域网中,硬件地址又称为物理地址,或 MAC 地址。
    • MAC 地址:每个适配器有一个全球唯一的 48 位二进制地址,前 24 位代表厂家(由 IEEE 规定),后 24 位厂家自己指定。常用 6 个十六进制数表示,如 02-60-8c-e4-b1-21。
  • 以太网 MAC 帧
    • image-20211219171554968
  • 高速以太网
    • 速率 ≥100Mb/s 的以太网称为高速以太网。
    • 100BASE-T以太网
      • 在双绞线上传送 100Mb/s 基带信号的星型拓扑以太网,仍使用 IEEE802.3 的 CSMA/CD 协议。
      • 支持全双工和半双工,可在全双工方式下工作而无冲突(交换机隔离冲突域)。
    • 吉比特以太网
      • 在光纤或双绞线上传送 1Gb/s 信号。
      • 支持全双工和半双工,可在全双工方式下工作而无冲突。
    • 10 吉比特
      • 10 吉比特以太网在光纤上传送 10Gb/s 信号。
      • 只支持全双工,无争用问题。

无线局域网

  • IEEE 802.11
    • 无线局域网通用的标准,它是由 IEEE 所定义的无线网络通信的标准。
    • WIFI 属于无线局域网(IEEE 802.11 b、IEEE 802.11 g),但无线局域网的范围一般更大
  • 802.11 的 MAC 帧头格式:
    • image-20211219174356857
    • 假设 A 手机在基站 AP1 登记,B 手机在基站 AP2 登记,则
      • 接收端:mac(AP2)
      • 发送端:mac(AP1)
      • 目的地址:mac(B)
      • 源地址:mac(A)
    • image-20211219175425414
  • 无线局域网的分类
    • 有固定的基础设施无线局域网
      • image-20211219175650693
    • 无固定基础设施无线局域网的自组织网络(基本不考)
      • image-20211219175727315

广域网

image-20211219214621576

概览

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

PPP 协议和 HDLC 协议

  • PPP 协议
    • 点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都使用 PPP 协议。
    • 特点:只支持全双工链路。
    • 需要满足的要求:
      • 简单:对于链路层的帧,无需纠错,无需序号,无需流量控制
      • 封装成帧:帧定界符
      • 透明传输:与帧定界符一样比特组合的数据应该如何处理:异步线路用字节填充,同步线路用比特填充
      • 多种网络层协议:封装的 IP 数据报可以采用多种协议
      • 多种类型链路:串行/并行,同步/异步,电/光……
      • 差错检测:CRC,错就丢弃
      • 检测连接状态 :链路是否正常工作
      • 最大传送单元:数据部分最大长度 MTU
      • 网络层地址协商:知道通信双方的网络层地址
      • 数据压缩协商
    • 无需满足的要求:(为了更快的传输速率)
      • 纠错
      • 流量控制
      • 序号
      • 不支持多点线路
    • 三个组成部分
      • 一个将 IP 数据报封装到串行链路(同步串行/异步串行)的方法
      • 链路控制协议 LCP:建立并维护数据链路连接(身份验证)
      • 网络控制协议 NCP:PPP 可支持多种网络层协议,每个不同的网络层协议都要一个相应的 NCP 来配置,为网络层协议建立和配置逻辑连接
    • 状态图
      • image-20211219181135816
    • 帧格式
      • image-20211219181314070
  • HDLC 协议:
    • 高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM公司的 SDLC(SynchronousData Link Control)协议扩展开发而成的.
      • 数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现
      • 采用全双工通信
      • 所有帧采用 CRC 检验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高。
    • 主站、从站、复合站
      • 主站的主要功能是发送命令(包括数据信息)帧、接收响应帧,并负责对整个链路的控制系统的初启、流程的控制、差错检测或恢复等。
      • 从站的主要功能是接收由主站发来的命令帧,向主站发送响应帧,并且配合主站参与差错恢复等链路控制。
      • 复合站的主要功能是既能发送,又能接收命令帧和响应帧,并且负责整个链路的控制。
    • 三种数据操作方式:
      • 正常响应方式
      • 异步平衡方式
      • 异步响应方式
    • 帧格式
      • image-20211219182554499
      • 控制C(记住三种类型即可“无奸细”)
        • 信息帧:开头为 0,⽤来传输数据信息,或使⽤捎带技术对数据进⾏确认
        • 监督帧:开头为 10,⽤于流量控制和差错控制,执⾏对信息帧的确认、请求重发和请求暂停发送等功能
        • ⽆编号帧:开头为 11,⽤于提供对链路的建⽴、拆除等多种控制功能。
  • PPP协议&HDLC协议
    • HDLC、PPP 都只支持全双工链路。
    • 都可以实现透明传输。(PPP 协议既可以比特填充,也可以字节填充;HDLC 只能比特填充“5110”)
    • 都可以实现差错检测,但不纠正差错。
    • PPP 协议:
      • 面向字节
      • 2B 协议字段
      • 无序号和确认机制
      • 不可靠
    • HDLC 协议:
      • 面向比特
      • 没有协议字段
      • 有编号和确认机制
      • 可靠

链路层设备

image-20211220135420209

  • 物理层扩展以太网
    • image-20211220131953915
  • 链路层扩展以太网
    • 网桥&交换机,根据 MAC 帧的目的地址对帧进行转发和过滤
      • 当网桥收到一个帧时,并不像集线器那样向所有接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤)。
    • 网桥优点:
      • 过滤通信量,增大吞吐量。
      • 扩大了物理范围。
      • 提高了可靠性。
      • 可互连不同物理层、不同 MAC 子层和不同速率的以太网。
    • 网段:一般指一个计算机网络中使用同一物理层设备(传输介质,中继器,集线器等)能够直接通讯的那一部分。
      • 一个冲突域就是一个网段
      • image-20211220132426109
    • 网桥分类
      • 透明网桥:“透明”指以太网上的站点并不知道所发送的帧将经过哪几个网桥,是一种即插即用设备——自学习。
        • 每次在网桥的转发表中,只记录源地址的方向,过滤目的地址。
        • 只要连接网桥上的每一个主机都作为源地址发送一次信息,那么网桥就可以理解以太网的拓扑结构了。
        • 会经常清空转发表重新学习,以获取最新的网络拓扑。
        • image-20211220134014812
      • 源路由网桥:在发送帧时,把详细的最佳路由信息(路由最少/时间最短)放在帧的首部中。
        • 方法:源站以广播方式向欲通信的目的站发送一个发现帧
        • 到达终点时原路返回起点,以获得最短路径。
  • 多接口网桥——以太网交换机:
    • 可以独占传输媒体带宽
    • image-20211220134640767
  • 以太网交换机的两种交换方式
    • 直通式交换机:
      • 只检查目的地址(6B)就立刻转发。
      • 延迟小,可靠性低,无法支持具有不同速率的端口的交换。
    • 存储转发式交换机:
      • 将帧放入高速缓存,并检查否正确,正确则转发,错误则丢弃。
      • 延迟大,可靠性高,可以支持具有不同速率的端口的交换。
  • 冲突域和广播域
    • 冲突域:在同一个冲突域中的每一个节点都能收到所有被发送的帧。简单的说就是同一时间内只能有一台设备发送信息的范围。
    • 广播域:网络中能接收任一设备发出的广播帧的所有设备的集合。简单的说如果站点发出一个广播信号,所有能接收到这个信号的设备范围称为一个广播域。
能否隔离冲突域 能否隔离广播域
物理层设备(中继器、集线器) 不行 不行
链路层设备(网桥、交换机) 可以 不行
网络层设备(路由器) 可以 可以