数据链路层和物理层

6.1 物理层

如上所述,包含数据报的帧【Frame】在传输之前从链路层【link layer】进入物理层【physical layer】。物理层【physical layer】负责将位流【Bits,bit stream】中的每个位沿着物理链路【physical link】从源头【source】移动到目的地【destination 】。这种传输发生的方式取决于所使用的信号处理方案【signal processing scheme】以及所使用的实际传输介质【actual transmission medium】。在这种环境中,要处理的数据要么是数字数据,要么是模拟数据。模拟数据的数字传输使用称为CODEC的编码器/解码器【coder/decoder】,数字数据的模拟传输则使用调制/解调【modulation/demodulation】,通常称为调制解调器。这两个要素【element】在物理层中执行处理信息的基本任务。

6.1.1 调制解调器【Modems】

调制解调器【Modems】执行的调制【Modulation】和解调【demodulation】使用称为载波【carrier】的恒定频率信号,如图 6.1 所示。该信号的频率为 1/T,其中 T 是载波信号的周期。该设备对二进制信号进行调制【Modulation 】以对数字信息进行编码,因此调制【Modulation】是将数字信号转换为模拟形式,而解调【demodulation】则是将模拟数据信号转换回数字形式。在这个过程中,原始信号的以下三个特征中的一个或多个将被调制【Modulation】:

  • 振幅【amplitude】
  • 频率【frequency】
  • 相位【phase】

图 6.2、图 6.3 和图 6.4 以简单的方式说明了这些不同类型的调制【Modulation】。

解调【demodulation】当然是解码这个传输信息的过程。

调幅/振幅调制 (AM),调制信号的幅度相对于图 6.2 中的原始二进制信号发生变化。

调频/频率调制 (FM) ,使用两个频率来表示图 6.3 中的原始信号。

AM 和 FM 都很熟悉,因为它们在美国被联邦通信委员会 (FCC) 用于商业广播。

当采用调相/相位调制【PM】时,载波信号的频率和幅度保持恒定,而载波信号相对于输入数据流发生相位偏移。 每个相位项都是常数:phase = 0°对应二进制1,phase = 180°对应二进制0,如图6.4所示。

恒定频率载波信号用幅度、时间和相位表示。 这是载波信号的周期。

 二进制数据是由AM调制的,如图中底部所示。

 二进制数据是由FM调制,如图中底部所示。

 二进制数据由PM调制,如图中底部所示。

虽然调制解调器通常根据其用途进行分类,但一个常见的分类是速度【speed】,它指定在给定的时间间隔内可以处理的数据量,即每秒比特数或bps。另一种分类是用波特率【baud】来衡量的符号速率。后一项表示调制解调器每秒改变信号状态的次数。调制解调器随着技术的发展而不断发展,现在有专门处理特定主题的调制解调器,例如有线调制解调器【cable modems】和无线数据调制解调器【wireless data modems】。

波特率定义为每秒信号变化的最大次数。 在早期的调制解调器中,波特率和每秒位数 (bps) 被认为是相同的。 然而,现代调制解调器通常使用调制技术的组合来传输每个符号的多个比特。 ITU-T 现在建议用术语符号率代替术语波特率。 只有在每个符号上发送一位时,比特率和符号率(或波特率)才相同。 例如,正交幅度调制 (QAM) 是一种流行的数字电信系统方案,可用于以幅度和相位的组合对 4 位进行编码。 在该方案中,使用 AM 处理两个数字比特流。 两个比特流彼此相差 90°,因此称为正交分量,它们相加以产生传输信号。

波特率被定义为每秒信号变化的最大数量。在早期的调制解调器中,波特率和比特每秒(bps)被认为是相同的。然而,现代调制解调器通常使用调制技术的组合来传输每个符号的多个比特。ITU-T现在建议用符号速率【symbol rate】代替波特率【baud rate】。只有在每个符号上发送一个比特时,比特率和符号率(或波特率)才相同。例如,正交振幅调制(QAM)是一种流行的数字通信系统方案,它可以用于在振幅和相位组合中对4位进行编码。在这个方案中,使用AM处理两个数字比特流。这两个相互相差90°的位流称为正交分量,对它们进行求和就产生了传输信号。

由诸如 QAM 之类的方案调制的信号最好用所谓的星座图来表示。该图是复平面中的二维表示,其中每个点代表一个特定的振幅和相位。这些符号以复数平面上的点的形式表示,如图6.5所示。用符号的实部调制余弦载波信号和用符号的虚部调制正弦载波信号,就可以用两个载波(通常称为正交载波)以相同的频率发送符号。正是这种两个独立调制载波的使用为QAM提供了基础。当位流在目的地接收时,解调器检查接收的流并将其等同于它所表示的符号。当然,这是假设系统中不存在噪声的。如果是这样的话,那么解调器会根据某些方案(例如最短的欧氏距离)对实际发送的内容进行估计。

16-QAM的星座图

网格编码调制【Trellis coded modulation】(TCM)是QAM的一种增强,可以在每个符号上传输不同的位数(每个符号6-10位)。高速调制技术,如TCM,利用比特流中的冗余来克服通信电路中的噪声。

6.1.2 脉冲编码调制(PCM)和编解码器(Codec)

编解码器用于将模拟数据编码为数字形式,并将其解码回模拟形式。由编解码器编码的数字数据是模拟波的样本【samples】。

相比之下,调制解调器用于将数字数据调制成模拟形式,并将其解调回数字数据。被调制信号中的模拟符号携带数字数据。

PCM 是一种以数字形式表示模拟信号的流行技术。 它广泛用于数字电话系统,以及音频和各种存储设备,比 DVD。 PCM 系统的示意图如图 6.7 所示。 现在将讨论这个系统中各要素【element】所起的作用。

 PCM或编解码器框图:DSP表示数字信号处理【digital signal processing】。

6.1.2.1 模拟-数字转换(A/D,Analog-to-Digital )

模拟信号通过一个模数 (A/D,analog-to-digital) 转换器,在该转换器中以均匀的间隔进行采样,每个样本【samples】被量化【quantized 】到指定数量的数字电平内的最接近的值。 此过程如图 6.6 所示,其中使用 3 位 A/D 转换器来表示信号的 8 个电平。 尽管数字化样本【digitized samples】与原始模拟信号非常相似,但显然位数越大,表示效果越好。

在查看如图 6.6 所示的图表时,有两个重要的考虑因素。

一个因素是用于表示模拟波形的位数,位数越多越好。 例如,如果使用 8 位来表示模拟信号,那么用于表示的数字电平数将是 256,它将提供更精细的粒度。

另一个因素是采样率。如图 6.6 所示,如果每 20 个时隙采样一次,那么该时间段内的信号似乎是恒定的!这个例子提出了一个显而易见的问题:模拟信号的采样和存储频率必须多久才能完全以数字形式表示。这个问题的答案与模拟信号变化的速度有关,而后者又与信号中的最高频率分量有关。如果模拟信号的变化速度很快,那么它就会有高频分量和大带宽,因此需要高采样率。更具体地说,如果模拟信号中的最高或最大频率是 fm,则信号可以由以不超过 Ts 的均匀间隔间隔采集的样本唯一确定,其中 Ts = 1 / fs,并且采样频率fs大于等于2fm。因此,采样频率必须至少是模拟信号中最高频率的两倍。这个最小采样率通常称为奈奎斯特频率。

例 6.1:语音/电话使用的PCM

在电话系统中,模拟语音信号在电话公司的中央办公室被转换为数字信号。 由于语音信号仅限于低于 4 KHz 的频率,因此采样频率为 8K samples/second 或 125 微秒的采样间隔。 如果使用 8 位进行量化,则语音信号的数据速率为 64 Kbits/s。

如图 6.6 所示,在特定时刻选择一个接近模拟信号实际值的特定数字电平会导致量化误差。 同样,如果用于表示信号的位数很大,则量化误差将被最小化。 所使用的比特数通常由许多因素决定,例如传输设施的速度。

6.1.2.2 数模转换(D/A,Digital-to-Analog)

当原始信号到达接收器时,从模拟信号产生数字信号所执行的操作本质上是反向执行的。 此过程中的一个重要元素是数模转换器【DAC】。 由于涉及采样,接收到的信号将包含称为混叠频率的高频分量。 然后信号通过模拟滤波器以消除或减少超出预期频率范围的能量。 有些系统采用数字滤波器来消除混叠频率。 此外,如果采样频率足够高,失真水平可能会小到不需要任何抗混叠设备。

6.1.3 数据压缩

如图6.7所示,一旦信号变成数字形式,可以应用许多不同的数字处理技术,例如数据压缩。编码的主要目的之一是减少要传输/处理的数据的大小。下面的示例演示了一种称为游程编码【 run-length coding】的技术。

例 6.2 游程编码【 run-length coding】

TODO

6.1.4 数字数据的数字传输

数字编码是一种用于为数字数据提供更稳健的数据传输的方法。 可以通过检查数字传输中采用的数字信号是否存在错误,从而可以轻松滤除噪声/干扰。 此外,可以使用编码信号通过单条线路发送各种功能,例如时钟同步,并且可以通过数据压缩实现更高的带宽。

一般而言,编码是一种将信息从来源转换为符号以供传输的手段。 编码技术种类繁多,其中许多是特定于应用程序的。 如图 6.6 所示,数字信号可以表示为由一系列离散的、不连续的脉冲组成的位流。 这些脉冲通常是电压电平,其持续时间通常由同步时钟控制。 电平通常由二进制整数表示。

6.1.4.1 基带传输【Baseband Transmission】

基带信号是使用电脉冲进行传输的数字信号。 在使用单极信号技术时,电压要么是正的,要么是负的。 相比之下,在双极信号中,1 和 0 从正电压变化到负电压。 一般来说,双极信号比单极信号产生更少的错误,因为信号不太容易受到噪声的影响。

基带传输不涉及载波信号或调制。 通过使用线路编码/信道编码【line code】使传输介质(电压或场)的状态跟随数字信号。 此外,基带传输使用物理传输介质的整个带宽。

6.1.4.2 线路编码/信道编码【Line Codes】

有许多线路编码/信道编码【Line Codes】可用于通过优化修改信号以匹配传输信道或接收器,来增强信号以进行处理【processing】和传输【transmission】。 在计算机通信网络中,为进行短距离的基带传输而使用的一些比较流行的线路编码/信道编码的重要特征识别如下所示。

在这种环境中使用的最流行的编码之一是:不归零编码【Non-return-to-zero code】 (NRZ) 。 NRZ 是一种二进制编码,其中信号元素由两个电压电平表示。 图 6.8 是一个使用不归零编码的二进制信号的图示其中虚线表示每个位的边界,图6.8、图6.9、图6.10、图6.11、图6.12、图6.13、图6.14和图6.15中也是如此。不归零编码中的脉冲比归零编码具有更多的能量。

 NRZ(虚线表示每个位的边界)

不归零编码(NRZ)的一个变体是不归零电平编码【non-return-to-zero-level】 (NRZ-L) ,如图 6.9 所示,其中

  • 1表示负电压
  • 0表示正电压

 NRZ-L(虚线表示每个位的边界)

这种在每个比特时间间隔内保持电压恒定的编码通常用于短距离传输,例如调制解调器和终端之间的传输。

NRZ 编码的另一个变体是不归零反转编码【non-return-to-zero-invert】 (NRZ-I) ,如图 6.10 所示。 在此编码中,电压在每个比特时间间隔内也保持恒定,其特征在于在位间隔开始时发生的以下操作:

  • 二进制1产生一个信号过渡:从低到高或从高到低
  • 二进制0不产生信号转场

 NRZ-I(虚线表示每个位的边界)

在通用串行总线 (USB) 信令中,NRZ-I 的相反约定可用于指示在发信号为零时发生了转换,而在发信号为 1 时使用恒定电平(无转换)。 这种编码方案通常称为差分编码【 differential encoding】,因为信号是通过相邻信号元素之间的电平差异进行解码的。 该方案也用于磁盘和磁带驱动器中的存储。

双相码【Biphase codes】,也称为双相标记码【biphase mark codes】 (BMC),其特点是每个位时间至少需要一个转换,并且可能有两个转换。 当用于编码时,符号率【symbol rate】必须是输入数据比特率【bit rate】的两倍,并由每个比特的两个逻辑状态表示。 例如,逻辑 1 的输入在输出端由 01 或 10 表示,而逻辑 0 的输入在输出端由两个相等的位 00 或 11 表示。 与NRZ相比,该方案的最大调制速率是NRZ的两倍,需要更大的传输带宽。 图 6.11 阐述了双相编码,其中在时隙开始时的每个逻辑输出电平都是前一个时隙结束时逻辑电平的反转。 由于在每个时隙中都需要一个转换,因此可以通过检查没有这种转换来检测错误。

双相码,又称双相标记码

曼彻斯特编码【Manchester codes】的特点是中间位转换。 没有直流分量,且转换占用与数据相同的时隙。 传送数据的是中间位转换的方向,而在时隙边界处的转换不携带任何信息。 后面的这些转换只是将信号置于下一个中间位转换的正确位置。 关于逻辑值(即 0 或 1)与中间位转换方向之间的关系,目前有两种思想流派。

第一个思想流派是由 G. E. Thomas 发明的,如图 6.12 所示。 它指定对于 0 位,逻辑电平转换将从位周期的前半部分到第二部分从低到高。 对于 1 位,转换将从高到低。

 G. E. Thomas发明的曼彻斯特密码

第二种思想流派被802.4和速度较慢的802.3、802.3基带同轴电缆(10BASE2)和双绞线(10BASET)版本中采用。此编码简单地使用高到低信号序列来表示逻辑0,使用低到高信号序列来表示逻辑1。这种约定如图6.13所示。

早期802.3和802.4使用的曼彻斯特编码

差分曼彻斯特编码【Differential Manchester encoding】,也称为条件双相编码【Conditional Biphase encoding】,利用位间隔开始处是否存在转换来指示逻辑值。 中间位转换仅用于计时目的。 例如,如果后一位的前半部分等于前一位的后半部分,则在位间隔开始时没有转换,这表示 1 位。 以类似的方式,如果下一个位的前半部分与前一个位的后半部分相反,那么在位间隔开始处的这种转变代表一个 0 位。 在这种方案中,位间隔中间总是有一个过渡,它被用于计时。 为了便于比较,差分曼彻斯特编码也如图 6.14 所示。在802.5中采用了这种编码方法。差分曼切斯特编码也用于光存储。

对于双极编码【Bipolar encoding】,逻辑 0 用零伏【zero volts】来编码,而逻辑 1 以正电压和负电压之间的交替方式来编码,从而产生趋于平均为零伏的正负脉冲。 因此,不缺少连续 1 的转换,而长序列的 0 可能是一个问题。 当在 T1 网络中使用时,该方案也称为交替标记反转【Alternate Mark Inversion】 (AMI),其中 1 位称为mark,0 位称为space。 图 6.15 是这种编码方法的图形说明。 AMI 在 T1 网络中传输语音数据的早期 PCM 版本中得到了广泛的应用。

交替标记反转【Alternate Mark Inversion】 (AMI)

6.1.4.3 分组编码【Block Coding】

分组编码【Block Coding】,通常称为 mB/nB 编码,是另一种技术,其中每个 m 位【m-bit】数据流被替换为一个 n 位【n-bit】流 (n > m),如图 6.16 所示。 额外的位提供了冗余,它支持错误检测【error detection】和同步【synchronization 】,以及命令/报告【commands/reports】。这类编码的一个例子是 4B/5B 编码,其部分清单如表 6.1 所示。 从 0 到 F 的符号用作十六进制数,而符号 I、J、K、Q、R、S 和 T 用于通信线路上的命令/报告【commands/reports】。

 mB/nB 编码方案

该编码还可以与其他编码结合使用,如图 6.17 所示。 当使用 NRZ-I 时,4B/5B 位【bits】中的额外位【extra bit 】为接收器提供时钟转换。例如,像 0000 这样的4位【4 bits】中不包含位转换,可能会导致接收器出现时钟问题。当另一端链路断开时,在 Q 或 Quiet 期间,我们可以使用 00000 编码,作为失去连接的信号,因为它表示在长度为5位的情况下没有信号,并且该编码不会与活动链路中的其他编码相混淆。 4B/5B 通过为每个有4个连续位的块【block】分配一个 5 位等效字来解决这个问题。 100BASE-FX 以太网使用 4B/5B 代码和 NRZ-I 编码 ,而 1000BASE-LX 以太网使用 8B/10B 编码和 NRZ 编码。

 NRZ-I和4B/5B编码方案的结合

6.1.5 同步【Synchronization】和时钟恢复【Clock Recovery】

通道处理与数据流在链路/通道【link/channel】上的传输有关。 这种传输可以以并行或串行模式执行。 在并行模式下,一个字节的八位在同一时刻发送,通常是在时钟的控制下,但传输需要八条线。 给定相同的数据,在串行传输模式下,该数据一次发送一位或一个符号。 在同步模式下,每端都需要转换器,但只需要一条线路。

在串行模式中,传输可以进一步分类为同步【Synchronous】、异步【Asynchronous】和等时【Isochronous】。

在同步【Synchronous】传输中,流中的比特位在时钟信号的控制下一个接一个地跟随。这些比特位可以在一个帧内分组,接收器有责任在目的地提取这些比特位。

在异步【Asynchronous】传输中,比特位可能是同步的,但字节不是。由于字节是异步发送的,因此开始比特位和停止比特位用于清楚地识别字节边界,即传输中的字节之间通常存在不均匀的间隙。

等时传输【Isochronous】通过同步数据链路【synchronous data link】传输异步数据,这样单个字符仅由固定数量的位长间隔分隔开来,每个信息字节或字符通过它们的开始比特位和停止比特位的使用,以一种类似于在异步传输中使用的方式分别进行同步。等时传输为每个数据源在每个周期内通过每个数据源分配固定的传输时间(一个时隙)。因此,由于时延抖动最小,等时传输适合于语音/视频通信。

控制信号采样的时序【timing】取决于发送器和接收器中一致的时钟。 这种时序【timing】是在时钟信号的帮助下完成的,时钟信号在通信中起着重要的作用,因为它对传输中诸如定时【timing】、数据恢复【data recovery】和错误检测【error detection】和纠正【correction】等方面有影响。 根据传输类型的不同,时钟【Clocking】可以通过以下两种方式完成。

  • 异步传输:通过发送较短的比特流,为每个小数据块保持时序【timing】。 例如,RS-232C 串行链路使用起始位和停止位进行异步时钟【clocking】。
  • 同步传输:发送器和接收器之间的时钟是同步的。 同步信令方法可以为两个单独的通道使用两个不同的信号,或者可以使用线路编码并将时钟嵌入一个通道中。

对于数字信号,可以用自同步码来完成同步传输,自同步码提供时钟节拍的保证转换,如曼彻斯特编码或差分曼彻斯特编码同步所提供的转换。 然而,在这些编码方案中存在额外的转换,这一事实影响了数据速率。 使用曼彻斯特代码,时间信息与数据一起被携带。 这个特性,基于保证的转换,允许信号是自时钟的,此外,提供从接收的数据恢复时钟信号。 此外,如果发生某种错位(可能是由抖动引起的),接收器能够通过锁定其中一个转换来正确地与信号重新校准。 曼彻斯特代码的优势在于价格——与其他线路代码相比,所需带宽是前者的两倍。 差分曼彻斯特码,像标准曼彻斯特码一样,被配置成数据和时钟结合在一起,形成一个自同步的位流。  

对于数字信号,同步传输可以通过自同步编码【self-synchronizing codes】来完成,这些编码在时钟节拍【clock ticks】中提供有保证的转换,例如曼彻斯特编码或差分曼彻斯特编码同步所提供的转换。 然而,在这些编码方案中存在额外的转换,这一事实影响了数据速率。

对于曼彻斯特码,时序信息【timing information】与数据一起携带。这个特性,基于保证转换,允许信号是自时钟【self-clocking 】时,此外,还提供从接收到的数据中恢复时钟信号的功能。此外,如果发生某种可能由抖动引起的未对准,接收器能够通过锁定到其中一个转换来正确地重新对准信号。曼彻斯特码的优势是有代价的——与其他线路码相比,所需带宽增加了一倍(效率为50%)。

差分曼彻斯特码,像标准曼彻斯特码一样,被配置成数据和时钟结合在一起,形成一个自同步的位流。

NRZ 相关的编码具有不同程度的同步。 例如,根据定义,NRZ 没有中性状态【neutral state】,本身不是自同步的,因此需要额外的支持,以避免因时钟漂移【clock drift】、缓冲区溢出【buffer overflow】、存储容量不足【lack of storage capacity】等原因导致的一位或多位丢失,或者仅仅是发送器时钟速率超过接收器时钟速率的情况。 因此,需要帧同步【frame synchronization】或一些带外通信【out-of-band communication】(例如,T1)来维持发送器和接收器之间的同步。 NRZ-L 不是一种固有的同步编码方案,但可用于同步或异步(无时钟控制【no clock control】)传输系统。 NRZ-I 的转换发生在时钟的前沿。 由于转换是由 1 比特位触发的,因此长串零会使时钟恢复变得困难,并且需要一些额外的支持,例如 mB/nB 编码。

与可以在没有任何转换的情况下经历长串 1 或 0 的 NRZ 代码不同,与双相或双相标记码同步是一个简单得多的问题,因为这些代码确保每当数据位 = 1 时至少有一次转换。事实上, 在这种情况下,还有一个额外的优点,即甚至不需要知道极性,因为信息实际上存在于极性是否已经改变或从比特到比特保持不变的知识中,从而增强了同步。

不像NRZ编码可以在没有任何转换的情况下经历长串的 1 或 0 ,双相位【biphase】或双相位标记【biphase mark codes】编码的同步是一个简单得多的问题,因为这些编码确保每当数据位 = 1时至少有一个转换。事实上,在这种情况下还有一个额外的好处,那就是甚至不需要知道极性【polarity】,因为信息实际上驻留在极性是否从一个位到另一个位发生了变化或保持不变的知识中,从而增强了同步。

在双极编码中,长串的 1 不会导致缺少转换; 但是,一长串 0 将导致同步丢失。 使用 AMI 时,要求发送的连续零不超过 15 个。 在后一种情况下,必须采用附加技术(例如脉冲填充)来实现同步。

6.1.6 Channel Multiplexing for Multiple Access

TODO

当信号被编码以进行传输时,可以应用一些技术来提高信道【chennel】的利用率和效率。 例如,可以通过多路复用【multiplexing】将大量信号向下发送到信道。 多路复用的基本思想是以某种方式对单个传输进行分组,以便它们能被发送到单个传输通道。 单个传输(如图 6.19 所示)在源端以某种方式合并,在目的地以其原始形式分离。 有四种重要的复用技术:

  • 频分复用(FDM)
  • 时分复用(TDM)
  • 码分复用(CDM)
  • 波分复用(WDM)

An illustration of WDM

 

如图 6.18 所示,FDM可能是最简单的示例了,其中三个信号源共享单个链路【link】(或信道【channel】)。 假设每个信号源的频率范围为0 ~ 2khz,如图 6.18 左侧所示。 信号源处的多路复用器【multiplexer 】可以将这些信号安排【arrange 】在频域【frequency domain 】内进行传输,使其出现在 50 KHz至60 KHz 的链路/信道【link/channel】带宽范围内,如图 6.18 右侧所示。 然后,在目的地的多路解复用器【demultiplexer 】将多路宽带信号分离成各种单独的信号,以便传送到各自的目的地。

An illustration of FDM.

 

与通常用于无线电载波【radio carriers】的频分复用【FDM】相比,波分复用【WDM】通常用于光载波。利用这种技术,可以在一根光纤上使用不同波长的激光多路复用光信号。信号被分配到不同的频率(或颜色【color】),由信号源处的多路复用器连接在一起并传送。在目的地,不同的波长由解复用器【demultiplexer 】在空间上分离,然后发送到如图 6.19 所示的适当的接收器位置。

多信号源共享单一传输介质的另一种方法是时分多路复用【TDM】。在本例中,来自每个信号源的数据以这样一种方式进行时分多路复用,即每个信号源在链路【link 】上插入数据时都采用轮循方式。换句话说,信号源 1 占据第一个时间点,信号源 2 占据第二个时间点,以此类推。一旦每个数据源都轮流了一遍,则重复循环。图 6.20 说明了来自六个信号源的数据进行时分多路传输的方式。

、TDM for 6 signals using 6 timeslots periodically

 CDM采用扩频技术【spread-spectrum technology】和一种特殊的编码方案【special coding scheme】。 每个发送器【transmitter 】分配一个与其他发送器【transmitter 】所使用的编码正交的编码,以便允许多个信号在同一物理信道【channel】上复用。 每个信号使用全信道带宽,调制和编码信号的数据带宽比正在通信的数据带宽高得多。 表示每个数据串的矢量之间的正交性所固有的数学特性,允许接收者重建传输的数据。当编码再所有单个信号之间提供了良好的分离时,将出现最佳性能。

 

6.1.7 Error Control and Shannon’s Capacity Theorem

TODO

6.1.8 Organization for the Physical Layer Presentation

TODO

6.2 Link Layer Functions

当我们继续剖析通信系统时,我们会遇到如图 6.21 所示的链路层。 链路层依靠物理层向通过该物理链路连接的邻居传送帧。 参考图 6.22 描述了该层的适当术语。 通信路径中的主机和路由器【hosts and routers】称为节点【nodes】。 主机【hosts】也称为站【stations】。 沿路径连接相邻节点的通道称为链路【link】。 这些链路【links 】可以是有线的、无线的或光纤的。 数据封装在称为帧【frame】的第 2 层数据包中,数据链路层负责通过链路将数据报从一个节点传输到相邻节点。

链路层在Internet中的作用:

6.2.1协议栈中的链路层

图 6.22 详细描述了网络的通信路径【communication path】。一个站的消息【message】包含在应用层中,被发送到传输层【transport layer】,在那里它被切成段【Segment】,并添加一个传输层报头【transport layer header】。

如图 6.22 所示,通信路径【communication path】从链路层到物理层,物理层通过物理链路【physical link】将调制后的信号发送到以太网交换机【Ethernet Switch】。以太网帧经过交换机,交换机支持链路层和物理层(交换机工作在 OSI 链路层)。路由器支持网络层、链路层和物理层,可以将数据报从一个子网转发到另一个子网。链路层和相关的物理层,如以太网、ATM等,可以用来连接主机【hosts 】和路由器【routers】。

ATM通常用作从组织网络到Internet或Internet骨干网的访问链接。节点【node】或交换机【switch】的链路层可以检测到接收到的帧中的错误,并且可以丢弃该帧而无需再次发送。这种错误检测可以节省带宽和处理时间,因为一旦检测到错误,就不需要将数据包发送到目标主机,因为其TCP会检测到错误。因此,当检测到错误时,数据包就会在该点被丢弃。

链路层提供许多其他重要的服务。最关键的服务之一是流量控制服务【Flow Control.】。如果帧到达接收站的速率超过了缓冲区【buffer】和输出链路【output link】处理它们的能力,就会出现溢出,导致帧丢失。因此,流量控制可防止发送站压倒通过物理链路连接的接收站。错误检测【Error detection】也用于确定是否由于信号中的噪声或衰减而发生了比特错误。接收站可以简单地对已插入到帧尾中的错误检测位【error-detection bits】执行错误检查。如果接收端【receiver】检测到错误的存在,它可以请求重传或丢弃帧。错误纠正【Error correction】与错误检测【Error detection】一样,也检测帧中发生的错误,但与错误检测【Error detection】不同的是,错误纠正【Error correction】实际上是纠正错误。物理层的某些部分实际上可能具有内置错误校正功能。在链路层调用面向连接的服务时,序列号可用于检测丢包和请求重传。

最后,链路层还支持半双工【half-duplex】或全双工【full-duplex】操作。 在前一种情况下,一个站【station】不能同时发送和接收。 然而,在后一种模式中,这些操作可以同时进行。

有一些由电话/网络服务提供者【telephone/ISP】公司提供给个人、公司、机构和政府机构的链路【links】。它们由一个名称来标识,如 DS1 或 STS-12。每一种都有其特定的传输速度,有些还有额外的流行标识符,比如对应于 STS-12 的 OC-12。各种链路及其相应的带宽如表 6.2 所示。

表 6-2 电信公司提供的各种链路及其数据速率
NameData rate

DS1

1.544 Mbps

DS3

44.736 Mbps

STS-1

51.840 Mbps

STS-3

155.250 Mbps

STS-12

622.080 Mbps (OC-12)

STS-24

1.244160 Gbps (OC-24)

STS-48

2.488320 Gbps

STS-192

10 Gps (OC-192)

6.2.2 Medium Access Control (MAC) and Logical Link Control (LLC) Sublayers

对于有线和无线局域网 (LAN) 通信,电气和电子工程师协会 (IEEE) 于 1980 年 2 月制定了 IEEE 802 ,该时间表是命名标准系列的基础。 这套标准是与互联网工程任务组 (IETF)、国际电信联盟 (ITU) 和国际标准组织 (ISO) 合作制定的。这个标准的发展是惊人的,其中的改进包括802.11,也就是众所周知的WiFi。表 6.3 列出了广泛使用的标准及其相关特性。

IEEE 802 流行的标准

Standard’s ID

Specific applications

802.3

Ethernet (MAC, Medium Access Control sublayer and Physical layer) [1]

802.11

WLAN (MAC and Physical layers)

802.16

WiMax (MAC and Physical layers) [5]

802.15.1

Bluetooth (MAC and Physical layers) [6]

802.5

Token Ring (MAC and Physical layers) [7]

802.2

LLC (Logical Link Control) sub-layer [8]; optional for every MAC, including 802.3, 802.11, etc. in both connectionless or connection-oriented modes

802.1D

Interconnect multiple LAN segments [9]

如图 6.23 所示,链路层包含两个子层:

  • LLC:LLC是一个共享模块,用于支持所有MAC,包括802.3,802.11等,因此无需为每个 MAC 开发 LLC
  • MAC:MAC子层定义帧格式,包括MAC报头和报尾。MAC报头包含源MAC地址和目的MAC地址,报尾包含错误检测信息【error detection information】

链路层包含两个子层

LLC子层报头包含命令【command】、响应【response】和序列号【sequence number】信息,以支持面向连接【connection-oriented】和无连接【connectionless】的链路层服务。LLC报头包含一个用于数据确认【data acknowledgment】、错误恢复【error recovery】和流量控制【flow control】的控制字段【control field】,这些字段对于链路层面向连接的可靠传输是必要的。有许多局域网(LAN)标准,如 802.11 和 802.3,它们规定了各种媒体(如无线、铜和光纤)的 MAC 层和物理层。所有 MAC 层标准共用一个 LLC 标准802.2,如图 6.24 所示,这减少了开发所需硬件/软件【hardware/software】所涉及的工作量。802.1 标准提供了多个以太网交换机和/或 802.11 接入点的互连,以在链路层形成多段 LAN/子网。

数据链路层中的LLC子层和MAC子层

6.2.3 Data Rate Comparison among MAC and Associated Physical Layers

表 6.4 的来源是 Bill O'Brien 题为“Review: 5 power-line devices that take you online where Ethernet or WiFi can’t”的论文。 它比较了电力线、Gbps 以太网和 802.11n 无线 LAN 的测量数据速率。 HomePlug 基于 IEEE P1901  电力线标准。 在此实验中,电力线设备使用一根 90 英尺长的延长线插入同一个插座,并并测量了从楼下的计算机向楼上的计算机传输 8.05 GB 数据的吞吐量。 吞吐量测量表明,Gbps 以太网的速度大约是电力线的 5 倍,是 802.11n 的两倍。这个测量结果提供了一个定量的洞察,最新的面向消费者的局域网产品可以实际交付什么。

表 6-4 LAN Performance Benchmarks

Technology

Throughput (Mbps)

Evaluated products

HomePlug AV

34.67

Zyxel Powerline Ethernet Adapter (PLA401 v2)

802.11n

71.7

Netgear WNHDE111 5-GHz wireless adapters

WRT600n Dual-Band Wireless-N Gigabit Router

Gbit Ethernet 1000BASET

162.63

Linksys EG008W Gigabit 8-Port Workgroup Switch

6.3 链路层实现

链路层的一部分是在网络适配器中实现的,也称为网络接口卡或 NIC,如图 6.25 所示。网卡实现了 MAC 层和物理层的 ,可以是以太网卡、PCMCIA(计算机存储卡国际协会)卡/PC 卡、802.11 卡或通用串行总线(USB)适配器的形式。网卡被连接到主机系统上的总线【buses】,操作系统 (OS) 中的驱动程序提供了 OS 和 NIC 之间的纽带。链路层功能通常以硬件、软件和固件的组合来实现的。图 6.25 说明了 NIC 在主机【host】中的作用。如上所述,NIC 是 PC 和网络之间的接口,并提供部分数据链路层(MAC 层)和物理层功能。驱动程序是用于连接硬件/固件和 PC 操作系统之间的软件。 NIC 由 MAC 层和物理层组成,数据从 CPU 通过 NIC 发送到通往相邻主机的链路。LLC子层通常在软件中实现,并由操作系统提供。

网络接口卡的链路层实现及其在PC中的作用 

MAC层也是硬件、软件和/或固件的组合,可以为协议栈中的上层提供服务。 如果 NIC 支持必要的驱动程序,则 Windows TCP/IP 通过允许网络接口卡 (NIC) 执行 TCP 校验和计算【TCP checksum calculations】来利用硬件。 某些 NIC 可以为虚拟专用网络 (VPN) 执行加密计算。 将这些校验和和加密计算卸载到硬件中,可以在非常高吞吐量的环境中带来真正的性能提高。 10 Gbps 或更快的 NIC 必须使用直接内存访问 (DMA) 而不是通过 CPU 将数据从 NIC 缓冲区转移到内存。

图 6.26 说明了数据报从发送端主机发送到接收端主机的方式。发送端主机将数据报封装在一个帧中,并添加一个MAC报头、错误检查位、流量控制等。在接收端主机上,帧被检查是否有错误,并剔除MAC报头。一旦这个操作完成,数据报就被传递到上层。

从发送端主机到接收端主机的数据报路径

6.4 Multiple Access Protocols

有两种类型的链路:

  1. 点对点【point-to-point】
  2. 广播【broadcast】

在点对点情况下,任何发送方和任何接收方之间都存在专用链路【link】。 例如,如图 6.27 所示,是以太网交换机连接到每台主机【host】的点对点链路。 此外,点对点协议 (PPP) 还用于拨号接入/拨号上网【dial-up access】。

图 6.27 也说明了广播链路。 在这种情况下,可能有多个发送和接收节点在单个共享的有线或无线介质上互连。 广播链路用于老式以太网,通过同轴电缆或集线器、混合光纤同轴电缆 (HFC)、802.11 无线局域网以及 3G 蜂窝网络连接。

共享同轴电缆、802.11和3G网络以及点对点交换机中的广播链路

6.4.1 Point-to-Point Protocol (PPP) 

点对点的数据链路控制 (DLC) 比其广播控制简单得多,因为只有一个发送方、一个接收方和一个链路。 在这种情况下,没有媒体访问控制【medium access control】,并且可能也不需要显式 MAC 地址。 这种情况的一个例子是拨号链路【dial-up link】或综合业务数字网络线路【integrated services digital network line】 (ISDN) 。

两种流行的点对点数据链路控制(DLC)协议:

  1. 点对点协议【 point-to-point protocol 】(PPP)
  2. 高水平DLC 【high-level DLC】(HDLC)

有趣的是,数据链路在20世纪70年代曾一度被认为是协议栈中的“高层”,因为当时高层协议还没有完全开发。

PPP 是一种面向字节【byte-oriented】的协议,在帧头和帧尾都使用位序列 01111110 。 PPP 依靠于链路控制协议 【Link control protocol】(LCP) 在两个节点之间建立链路并协商字段大小。

相比之下,HDLC 是一种面向比特位【bit-oriented】的协议,但它使用相同的位序列 01111110 来表示帧的开始和结束。

RFC 1547 中列出了 PPP 标准要求。 规范包括

  • (a) 包帧【Packet Framing】,即在数据链路帧中同时封装来自任何网络层协议的网络层数据报的能力,并能够在堆栈中将它们解封装;
  • (b) 位透明性【Bit Transparency】,即能够在数据字段中携带任何比特位模式【bit pattern】; 提供错误检测【error detection】,但不提供错误纠正【correction】; 确保连接的活跃度,这需要能够检测链路的可用性,然后将此信息发送给网络层
  • (c) 网络层地址协商【Network Layer Address Negotiation】,其中两个端点能够学习/配置彼此的网络地址。有一些要求PPP不需要满足,例如,PPP不需要处理错误纠正/恢复【error correction/recovery】、流量控制【 flow control】和随机位【bits in random order】。基本上,堆栈中的较高层(如传输层)负责这些功能

PPP数据帧如图 6.28 所示,由Flag、Address、Control、Protocol、Information 和 Check 组成。Flag 字段是物理层使用的帧分隔符。Address 和 Control 字段实际上不需要任何规范,因为每个字段只有一个选项。Protocol 字段指定帧将被传送到的上层协议,如IP。Information 字段指定所携带的上层数据,Check 字段使用CRC (cyclic redundancy check)码进行错误检测。

The PPP data frame

以太网点对点协议【Point-to-Point Protocol over Ethernet】 (PPPoE) 是一种用于将点对点协议 (PPP) 帧封装在以太网帧内的网络协议。 它主要用于DSL/有线电视服务,其中个人用户通过以太网连接 DSL/有线 调制解调器和普通城域以太网。 PPPoE 允许 DSLAM 和家庭路由器之间的点对点连接。 此 PPPoE 允许家庭路由器充当 DHCP 服务器,而不是 DSL 调制解调器。

6.4.2 MAC Protocols

当多个主机使用单个共享广播信道【single shared broadcast channel 】时,这些站【station】中的两个或多个可能会同时传输。 如果一个站【station】同时接收多个信号,这种情况将导致碰撞。 MAC 协议旨在通过协调站【station】传输来缓解碰撞问题。 它是一种分布式算法,用于确定站【station】使用共享信道的方式,即它指定站【station】何时可以传输或重传,以最大程度地减少碰撞。 有趣的是,这种通信必须在信道本身上完成,因此没有使用带外通道【out-of-bound channel】进行协调。

尽管已经提出了许多 MAC 协议,但它们基本上都属于以下三大类之一:

  1. 信道分区【Channel Partitioning】
  2. 随机访问【Random Access】
  3. 令牌环【Token Ring】

顾名思义,信道分区【Channel Partitioning】将信道划分为多个较小的“片【pieces】”,这些片可以由时隙【time slots】、频率【frequencies】或编码【codes】定义。

在随机访问【Random Access】类中,信道不分段,每个站【station】以R bps 传输,这是整个信道的基带,因此必然会发生碰撞。当碰撞发生时,涉及碰撞的每个站【station】都会等待一些随机的时间间隔,然后再重新传输。因为等待的时间是随机的,一个站【station】可能会比另一个站【station】先进入信道。

在令牌环【Token Ring】协议中,所涉及的站【station】只需使用共享令牌轮流传送它们的数据,而获得令牌的站【station】被允许发送一帧。令牌传递协议可能是这类协议中最有效的协议。

6.4.2.1 Channel Partitioning MAC Protocols

6.4.2.1.1 时分多路接入【Time Division Multiple Access 】(TDMA)

动态 TDMA 用于 802.15.3 、蓝牙和 WiMAX。 通过时分复用【time division multiplexing】,广播信道在时间上共享,并且以循环方式访问信道。 在帧内的每一轮中,每个站都被分配了一个固定长度的时隙。TDMA为需要决定延迟和抖动的同步流提供了更好的支持。 然而,未使用的插槽只是空闲的。 例如,图6.29给出了一个 6 站个人区域网(PAN)的时间框架,其中1、3、5站【station】正在发送,而2、4、6站处于空闲状态。

信号的时分复用

 6.4.2.1.2 Frequency Division Multiple Access (FDMA)

与 TDMA 不同,FDMA 将信道频谱【spectrum 】划分为频段【frequency bands】,并为每个站【stattion】分配一个特定的频段【frequency bands】。 然而,与 TDMA 一样,频带内未使用的传输频带仍为空闲频带。 图 6.30 说明了 6 站网络【6-station network】的频分【frequency division】,其中站 1、3 和 5 正在传输,而站 2、4 和 6 处于空闲状态。 请注意图 6.30 中所示的频隙划分【frequency slot division 】与图 6.29 中所示的时隙划分【 time slot division】之间的相似之处。 例如,FDMA 正用于通信卫星公司 (COMSAT) 开发的卫星链路,以及模拟高级移动电话服务 (AMPS),即北美安装最广泛的模拟蜂窝电话系统。

信号的频分复用

6.4.2.2 Shared Ethernet and Wireless LAN Using Random Access

在共享以太网和无线 LAN 环境中,每个站点都以全链路速率(基带)传输,站点之间没有先验协调。 因此,碰撞是经常发生的。 然而,随机接入 MAC 协议规定了检测冲突的方式以及恢复机制,例如随机延迟重传。 随机访问 MAC 协议的三个重要示例是 (1) 载波侦听多路访问 (CSMA),(2) CSMA/CD,即具有冲突检测 (CD) 的 CSMA,用于以太网 (802.3),以及 (3) CSMA/ CA,即具有碰撞避免 (CA) 功能的 CSMA,用于 802.11 [4]。 CSMA 的规则很简单:在传输之前先侦听,如果侦听指示空闲信道,则传输整个帧,如果信道忙,则推迟传输,直到链路空闲一段时间。 请注意,这种策略让人联想到体贴的人类对话。

在共享的以太网和无线局域网环境中,每个站【station】都以全链路速率【full link rate】(基带【baseband】)传输,站与站之间没有先验协调。因此,碰撞经常发生。然而,随机访问MAC协议规定了检测碰撞的方式以及恢复机制,例如,随机延迟重传。随机接入MAC协议的三个重要例子是

  1. 载波监听多路访问【Carrier Sense Multiple Access】(CSMA)
  2. CSMA/CD,即带碰撞检测【collision detection】(CD)的CSMA,用于以太网(802.3)
  3. CSMA/CA,即带碰撞避免【collision avoidance】(CA)的CSMA,用于802.11。

CSMA的规则很简单:在传输之前先监听,如果感应到信道空闲,则传输整个帧,如果信道繁忙,则延迟传输,直到链路空闲一段时间。请注意,这种策略让人想起体贴的人类对话。

CSMA/CD 具有与 CSMA 相同的特性,只不过传输节点也在监听。 如果在很短的间隔内检测到碰撞,则中止碰撞的传输,从而减少链路容量的浪费。 由于以太网使用传输线【transmission lines】,因此有线局域网中的冲突检测相对容易,通过测量和比较发送和接收信号的信号强度来执行。在无线局域网中,由于信号在自由空间中迅速衰减,接收信号的强度被本地节点的传输强度所淹没,这一过程更加困难。

6.4.2.3 Token Ring

值得注意的是,信道划分 MAC 协议在高负载时有效且公平地共享信道,但在低负载时则效率低下,例如,在一个 M 站【station】网络中,即使只有一个发射站处于活动状态,也会为每个发射站分配 1/M 的带宽。

此外,随机接入 MAC 协议在低负载时是有效的,因为单个站【station】可以充分利用信道,但在高负载时,存在与冲突相关的显著开销。令牌环 MAC 协议,也称为802.5,试图利用这些其他协议提供的最佳优势。

令牌可以用于仲裁链路的争用,因此令牌环在高负载时比共享以太网更有效。目前已经为 4 Mbps、16 Mbps、100 Mbps 和 1000 Mbps 令牌环建立了标准。然而,目前还没有支持 1000 Mbps 的产品。

令牌只不过是一个特殊的短帧,它以某种特定的顺序在站点之间进行交换。例如,只有一个令牌可以绕着图 6.42 所示的环顺时针移动。如果需要,令牌的接收允许站发送帧。当传输完成时,令牌由该发送者发出。如果一个站没有什么要发送的,它会立即将令牌传递给下一个站。虽然该协议本质上是去中心化的且运行高效,但它也存在前面提到的一些相同问题,即令牌开销【token overhead】、延迟【 latency 】和单点故障【single point of failure】。例如,与此过程相关的轮询开销和延迟都存在。此外,配置本身存在单点故障——主站,即监控站。通常,令牌环网络中的每个站要么是主动监控站(AM),要么是备用监控站(SM)。同一时间,一个环上只能有一个主动监控站(AM)。主动监控站(AM)是通过选举或监视器争用过程选择的。 主动监控站(AM) 监控令牌环局域网中传递的令牌的健康状况。当 主动监控站(AM) 不工作时,将选举一个备用监控站(SM) 作为新的 主动监控站(AM)。

Stations arranged in a ring configuration for use with 802.5.

在图 6.42 所示的配置中使用了令牌环 MAC 协议,其中所有的站都被安排在一个逻辑环上。在这个共享媒介网络中,一个令牌(通常是一个小数据包),在一个逻辑环中从一个站【station】传递到另一个站【station】。实际上,逻辑环被实现为一个集线器【hub】或多站接入单元【Multi-station Access Unit】(MAU)。MAU 通过使用提供双向链路的双绞线连接到每个站【station】,如蓝色箭头所示。 图 6.42 中的蓝线说明了令牌的流程。 “捕获”令牌的站被允许发送帧。 这种方案的优点是没有碰撞,并且比共享以太网【shared Ethernet】效率更高。 令牌丢失需要 AM 主机重新生成新令牌。

除了令牌之外,还有另一种可能的故障机制:节点故障【node failure】。 在这种环形拓扑中,一个节点故障【node failure】可能会使整个网络无用。 但是,MAU 对这种情况采取了补救措施。 该单元(如图 6.43 所示)位于环内,本质上为断开连接的端口提供了一个旁路电路。 因此,只要每个站【station】都正常运行,该站就会保持在环上。 但是,如果站点断开连接/断电,MAU 会让环绕过它。

Use of a multi-station access unit with a token propagating in the ring.

6.5 The Link Layer Address

6.5.1 The MAC Address

IP 地址的长度为 32 位。 这些网络层地址用于将数据报移动到目标 IP 子网。 另一方面,MAC 地址也称为局域网地址、物理地址或以太网地址,长度为 48 位,用于使用链路将帧从一个接口移动到另一个物理连接的接口。 请注意,该链接可能会通过集线器【hub】或交换机【switch】。 MAC 地址被刻录到网卡【NIC】的只读存储器 (ROM) 中,或者通过Linksys家庭路由器等设备中的软件进行设置。

考虑图 6.50 所示的局域网网络。 局域网上的每个适配器都有一个唯一的 MAC 地址。每个地址由 48 位或 6 个字节组成,以十六进制表示法表示,其中每个字节被列为一对十六进制数。如果局域网是广播局域网,例如 802.11 局域网,并且某个适配器希望向某个其他特定适配器发送帧,则它将接收适配器的 MAC 地址放入帧中作为目标 MAC 地址并将其转发到局域网。只有局域网中的 MAC 地址与目标 MAC 地址匹配的适配器才会处理从协议栈上接收到的数据。所有其他适配器将简单地丢弃帧。当然,在某些情况下,发送方确实希望向每个适配器进行广播。在这种情况下,发送适配器会在帧的目标部分插入一个特殊的广播地址。该广播地址是一串 1,以十六进制表示,由 FF-FF-FF-FF-FF-FF 表示。共享以太网始终向连接到同一介质的所有其他站进行广播。共享以太网总是向连接到同一介质的每一个其他电台广播。因此,始终存在其他站【station】使用任何以太网卡提供的混杂模式嗅探广播帧的风险。

一种局域网网络,说明MAC和IP地址的适配器

由于 MAC 地址是唯一的,并且适配器在世界各地大量生产,人们不得不想知道这些地址是如何唯一的。答案是 IEEE 通过分配 MAC 地址空间来确保唯一性,例如可能会分配大大量的地址给一些生产大量适配器的制造商。但是,供应商必须支付费用才能从 IEEE 获得 MAC 地址块。将 MAC 地址与 IP 地址进行对比是很有用的。 MAC 地址就像手机序列号或社会安全号码,而 IP 地址就像邮政地址号码、手机号码或银行帐号。换句话说,MAC 地址是可移植的,即扁平的,并且可以在 j局域网之间移动而无需更改它。另一方面,IP 地址是不可移植的,即分层的【hierarchical】,并且取决于它所连接的 IP 子网,这种情况类似于一个人的邮政地址,当一个人搬到一个新的位置时,地址会改变,但社会安全号码永远不会改变。

6.5.2 The Address Resolution Protocol (ARP)

图 6.50 所示的局域网表明,每个站【station】都有一个 IP 地址,每个站【station】的适配器都有一个唯一的 MAC 地址。 假设 DNS 知道一个站的 IP 地址。 鉴于此信息,需要某种机制来确定站【station】的 MAC 地址,以便将帧传送到该站【station】。 执行 IP 和 MAC 地址之间转换的机制是地址解析协议 (ARP),局域网上的每个站【station】都有一个 ARP 表。 这个 ARP 表对活动的局域网中的站【station】执行 IP 到 MAC 地址的映射,并包含如下形式的条目:

<IP address; MAC address; TTL>

其中TTL表示条目的生存时间。某些站【station】的条目可能已经过期,因此被删除。然而,对于那些确实存在的条目,TTL定义了它将被删除的时间。

Example 6.10: Using the ARP to Perform the IP Address-to-MAC Address Mapping

例如,考虑在一个特定的局域网内使用ARP。 假设 A 站想向 B 站发送一个数据报,但是 B 站的 MAC 地址并不包含在 A 站的ARP表中。 但是,B站的IP地址是已知的。 因此,A 站广播一个包含 B 站 IP 地址的 ARP 查询包。 目的MAC地址为FF-FF-FF-FF-FF-FF,局域网内所有站点都会收到ARP查询。 B站收到ARP报文后,直接将自己的MAC地址回复给A站。 A 站将 B 站的 IP/MAC 地址序对缓存在其 ARP 表中,此信息将一直保存在表中,直到超时或被刷新。ARP是即插即用的,没有ARP服务器。 站可以创建自己的 ARP 表,而无需网络管理员的任何干预。 由于使用ARP获取的MAC地址是在同一个局域网内下发的,所以在局域网/子网之外,站的MAC地址是未知的。

6.6 MAC Layer Frame Format

6.6.1 Ethernet DIX V2.0

DEC、Intel 和 Xerox (DIX) 为图 6.51 所示的以太网帧结构及其相关硬件开发了第一个标准。它仅包含 MAC 层格式【MAC layer format】,与 IEEE 802.3 标准不同,因为在 DIXV2 标准中没有包含 LLC (802.2) 的扩展。发送端适配器在以太网帧中封装 IP 数据报或其他网络层协议的数据包。

在帧结构中,前导码【Preamble】由 7 个字节组成,模式为 10101010,后跟模式 10101011 作为第 8 个字节。此模式用于同步接收方和发送方之间的物理层。由于前导码【Preamble】模式,有效载荷必须通过使用编码方案【encoding scheme】而不是原始二进制格式来避免它们。

源 MAC 地址(SA)和目的 MAC 地址(DA)由 6 个字节组成。 如果适配器接收到具有匹配目标地址或广播地址的帧,例如 ARP 数据包,则将帧中的数据传递给网络层协议。 否则,适配器丢弃该帧。

类型【Type】用于指示更高层的协议,通常是 IP。但是,其他协议也是可能的,例如 Novell Internetwork Packet Exchange (IPX) 或 AppleTalk。

CRC-32 是错误检测机制,是帧尾,即 FCS(帧校验序列)。它在接收端用于检查帧,如果检测到错误,则丢弃该帧。

The DIXv2 Ethernet frame structure.

以太网 DIX V2.0 既是无连接的,又是不可靠。

它是无连接的【connectionless 】,因为发送端和接收端网卡之间不发生握手。

它是不可靠的,因为接收端网卡不会向发送端网卡发送确认 (ACK) 或否定确认 (NACK)。

传递到网络层的数据报流可能包含间隙,表明数据报丢失或延迟。 如果使用 TCP 来处理丢失恢复,则会填补空白; 否则数据报将丢失。 正如前面在以太网发展时所指出的,DIX V2.0 MAC 协议首先用于 CSMA/CD,后来用于 802.1D 桥接/交换【bridging/switching】。

6.6.2 802.3 MAC Layer

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值