Unit 7. Lower Layers

低层

链路层

  1. 通信的基本原理

  2. 以太网的工作原理

计算机和电气工程的交叉点...

Main Point

IP is the narrow waist

和电气相关的知识...

1. Physical Layer: Capacity and Modulation

1.1. Shannon Limit

Shannon Limit theroretical

香农极限是一个理论上的极限,它告诉我们在一个给定的信道中,最多能传输多少数据而不出现错误。这个极限是由克劳德·香农(Claude Shannon)在1948年提出的。

  • C 是 信道容量

  • B 是信道的带宽

  • S/N 是信噪比(信号功率与噪声功率的比值)

(1)编码和调制为了接近香农极限,工程师们设计了各种编码和调制技术,比如:

  • 纠错码(Error-Correcting Codes):通过增加冗余信息,帮助接收端纠正错误。

  • 高效的调制技术:比如QAM(正交幅度调制)和PSK(相移键控),可以在有限的带宽内传输更多的数据。

(2)实际通信系统虽然实际系统很难完全达到香农极限,但现代通信技术(如5G和光纤通信)已经非常接近这个理论极限。

1.2. Analog Signal

频率 Frequency:1 / wavelength

带宽 Bandwidth:size of frequency range

相位 Phase:timing of waves within a wavelength

Speed of light ~ 1 foot/nanosecond = 1 英尺/纳秒(foot/nanosecond)

一些个模电的基础?或者信号与系统基础......可能老外的课自由度比较高,先修没有信号与系统,对我友好...

1.3. Modulation:ASK, FSK

调制是一种把信息(比如声音、文字或数据)转换成适合传输的形式的过程。想象一下,你要把一封信寄到很远的地方,但信的内容不能直接寄,所以你需要把它写在纸上,然后放进信封。调制的作用就是把信息“封装”成一种信号,让它能够在网络或空气中传输。

振幅键控(ASK,Amplitude Shift Keying)

ASK 是一种调制方式,通过改变信号的振幅(Amplitude)来传输信息。振幅就是信号的“大小”或“强度”。

  • 在 ASK 中,信号的振幅会根据要传输的信息而变化。

  • 例如,用一个大振幅表示“1”,用一个小振幅表示“0”

  • 接收端通过检测信号的振幅变化来恢复原始信息。

频移键控(FSK,Frequency Shift Keying)

FSK 是另一种调制方式,通过改变信号的频率(Frequency)来传输信息。频率就是信号“振动”的快慢。

  • 在 FSK 中,信号的频率会根据要传输的信息而变化。

  • 例如,用一个高频率表示“1”,用一个低频率表示“0”

  • 接收端通过检测信号的频率变化来恢复原始信息。

1.4. Modulation:PSK

相移键控(PSK,Phase Shift Keying)

PSK 是一种调制方式,通过改变信号的 相位 来传输信息。想象一下,信号就像一个旋转的钟摆,PSK 就是通过改变钟摆的起始位置(相位)来表示不同的信息。

  • 用相位表示信息在 PSK 中,信号的振幅和频率保持不变,只有相位会变化

  • 绝对相移和相对相移

    • 绝对 直接用固定的相位值表示信息

    • 相对 用相位的变化来表示信息,而不是固定的相位值

1.5. Shifting Phase

相位移动(Phase Shifting)

是指改变信号的相位(Phase)。想象一个旋转的钟摆,相位就是钟摆的起始位置。相位移动就是把钟摆的起始位置向前或向后调整。

基本上是一些基础知识吧,只是换了个方式进入我的脑子

1.6. I / Q Modulation

I/Q 调制是一种非常重要的调制技术,广泛用于通信系统。它的核心思想是通过两个分量(I 和 Q)来表示一个信号,这两个分量相互独立,但可以组合成一个完整的信号。

  • I: in-phase component 同相分量

  • Q: quadrature component 正交分量

  • A symbol is a linear combination of I and Q

1.7. I / Q Consterllations

I/Q Constellation(星座图)是一种图形化工具,用来表示调制信号的 I 分量(同相分量) 和 Q 分量(正交分量) 的组合。它就像一个地图,显示了信号在复平面上的位置。简单来说,星座图是一个二维图,横轴表示 I 分量,纵轴表示 Q 分量。每个点(符号)代表一个特定的信号状态。

有点像一个复数的坐标?i 表示实数,j 表示虚数。然后再复数坐标上画出来。

1.8. Symbols vs. Bits

比特(Bits)

比特是数字信息的基本单位,表示一个二进制数字,要么是 0,要么是 1。它是计算机和通信中最基本的信息单位

符号(Symbols)

符号是调制过程中的一个基本单位。在通信中,比特需要被转换成适合传输的形式,这个形式就是符号。符号可以是一个电压脉冲、一个光脉冲,或者是一个复杂的信号状态(比如 I/Q 调制中的一个点)

比特是信息,符号是传输载体

  • 比特 是需要传输的原始信息

  • 符号 是把比特转换成适合传输的形式

调制过程:

  1. 比特分组:把比特分成一组一组的。比如,QPSK 中每 2 个比特一组

  2. 映射到符号:每组比特对应一个符号。比如,比特组合 “01” 可能对应一个符号

  3. 传输符号:符号通过物理信道传输

  4. 解调恢复比特:接收端把符号解调回比特

1.9. Example:16-QAM

16-QAM(16阶正交幅度调制)

16-QAM 是一种数字调制技术,通过在复平面上的 16 个离散点(符号)来表示数据。每个符号可以携带 4 个比特 的信息(因为 2^4 = 16 )。它结合了幅度调制和相位调制,提高频谱信息。

调制过程

  1. 比特分组

    1. 输入的比特流会被分成每组 4 个比特,每组称为一个符号

    2. 例如,比特流 0000 、 0001 、 0010 …… 1111 ,分别对应 16 个不同的符号

  2. 符号映射

    1. 每组 4 个比特被映射到 16-QAM 的星座图上的一个点

    2. 星座图是一个二维平面,横轴表示 I 分量(同相分量),纵轴表示 Q 分量(正交分量)

  3. 星座图的布局

    1. 16-QAM 的星座图通常是一个 4×4 的网格,每个点代表一个符号

2. Physical Layer:Bit Errors and Coding

抵制错误比特的影响

2.1. Signal to Noise Ratio (SNR)

信噪比是一个衡量信号质量的指标,它表示信号的强度与背景噪声的强度之比。简单来说,就是“有用信号”与“无用噪声”的比值。

信噪比是香农极限公式中的一个关键参数。信噪比越高,香农极限给出的最大传输速率也越高。

2.2. High Noise Reception

高噪声接收(High Noise Reception)

是指在通信或信号处理中,接收端收到的信号中噪声成分非常高的情况。在这种情况下,信号的质量受到严重影响,导致信号与噪声的比值(信噪比,SNR)非常低。换句话说,有用信号被大量噪声淹没,难以准确提取。

2.3. SNR/BER Curves

SNR/BER 曲线是通信系统中一个非常重要的工具,用于描述信噪比(SNR)与误码率(BER)之间的关系。这条曲线反映了在不同信噪比条件下,数据传输的可靠性。

  • 信噪比(SNR):信号功率与噪声功率的比值,通常用分贝(dB)表示。

  • 误码率(BER):传输过程中出现错误比特的概率,通常用一个介于 0 和 1 之间的数值表示。

2.4. Coding

在物理层减少冗余...

常见是使用 ASCII 码对字符进行编码

  • 表示数据

  • 提高效率

  • 增强可靠性

减少冗余

在物理层,减少冗余可以帮助提高传输效率

  1. 霍夫曼编码(Huffman Coding)

  2. 游程编码(Run-Length Encoding, RLE)

增加冗余

虽然减少冗余可以提高效率,但在物理层,为了提高可靠性,通常会添加冗余信息。

  1. 循环冗余校验(CRC)

  2. 汉明码(Hamming Code)

  3. 低密度奇偶校验码(LDPC)

2.5. Overview

转换:Link Layer bits and Physical Layer bits

  • 1:1 mapping is rarely the most efficient data representation

    • 1:1 映射是指链路层的每个比特直接对应物理层的一个比特

    • 没有任何转换或编码

    • 信道噪声:物理层的传输信道通常存在噪声和干扰,直接传输比特容易出错

    • 带宽限制:物理层的带宽有限,直接传输比特会浪费带宽资源

    • 错误检测和纠正:1:1 映射无法提供错误检测和纠正能力,一旦出错,数据就会丢失

  • Coding gain: L2/L1 ratio, so can be robust to some chip errors

    • 编码增益(Coding Gain)

    • 编码增益通常用 L2/L1 比率 来表示

    • L2:链路层的数据量(比特数)

    • L1:物理层传输的数据量(比特数)

3. Physical Layer:Clocks and Clock Recovery

传输数据需要指定传输速率。

所以需要有一个时钟的概念,以便正确进行编解码...

发送器使用的时钟和频率,接收器并不知道,需要自行推理。

3.1. Data is transmitted using a clock

  1. 利用触发器,结合数据源 A 和 clock1

  2. 利用另一个触发器,结合接受源 B 和 clock2

如果 clock1 和 clock2 不同步,会导致读取的错误...可能会舍弃中间穿插的数据...也不是舍弃1,就是时钟不同步导致读取的错误。

3.2. Asynchronous communication

异步通信。

  1. TX Clock 和 RX Clock。没有统一的时钟

  2. 数据传输是“独立”的

  3. 需要“信号”来通知。使用 Start bit 和 Stop bit 来进行通知

  4. 如果 P bits per packet...要保证时钟的容差允许...

3.3. Synchronous Communication

同步通信。

借助 Clock Recovery Unit 进行时钟校准。

  1. 在同步通信中,发送方和接收方都用同一个“时钟”来控制数据的发送和接收。

  2. 发送方会在每个时钟节拍(比如“滴答”一声)的时候发送数据,接收方也会在每个时钟节拍的时候去接收数据。

  3. 因为发送方和接收方都跟着同一个时钟,所以接收方不需要额外的信号来知道“数据来了”。

Clock Recovery Unit 会弄清楚发送方时钟的一些特性和属性。

TX clock domain -- Flip-Flop -> Filp-Flop -- RX clock domain

3.4. Encoding for clock recovery

在数据传输中,发送方和接收方需要按照相同的节奏来发送和接收数据。但是,接收方一开始并不知道发送方的节奏(时钟频率)是多少,所以需要一种方法来“恢复”发送方的时钟。

Manchester Encoding

曼彻斯特编码是一种特殊的编码方式,它会在每个数据位的中间强制加入一个电平变化。比如,一个“0”可能被编码为“高-低”,一个“1”被编码为“低-高”。

这种方式编码会使用上升沿和下降沿来表示 0 和 1 的数据....

pros:

因为每个数据位都有一个固定的电平变化,所以接收方很容易通过这些变化来恢复时钟。只要找到这些变化的频率,就能知道发送方的时钟频率。

cons:

这种编码方式会增加数据的长度,因为每个数据位都被编码成了两个电平变化,所以传输效率会降低。

8B/10B 编码 - 4b5b encoding

8B/10B 编码是一种更高效的编码方式。它把每 8 个数据位编码成 10 个位,这 10 个位中会包含足够的“变化”来帮助接收方恢复时钟。

pros:

它比曼彻斯特编码更高效,因为每个数据位不需要强制加入变化,而是通过编码规则来保证足够的变化频率。

cons:

编码和解码的过程稍微复杂一些,需要一些额外的硬件或软件来实现。

4. Physical Layer:Forward Error Correction (FEC)

前向纠错

是一种数字信号处理技术,它的目的是让数据传输更可靠。简单来说,就是在发送数据的时候,发送方会故意多加一些“冗余信息”,这样接收方在收到数据后,即使数据中有一些错误,也能通过这些冗余信息自己把错误纠正过来,而不需要再让发送方重新发送数据。

4.1. SNR/BER Curves

错误码...信噪比...

  • 高信噪比:当信噪比很高时,信号很强,噪声很小,数据传输的误码率就会很低。

  • 低信噪比:当信噪比很低时,噪声很大,信号很容易被干扰,误码率就会很高。

4.2. Coding

  • Hamming codes

  • convolutional codes

  • LT codes

  • LDPC

  • Turbo codes

4.3. Reed-Solomon Basic Idea

里德-所罗门码

通过少量数据点 重构抛物线函数

用多项式来表示数据

4.4. Conceptual Reed-Solomon Code

  1. 假设接收方收到的数据是 [1, 6, 17, 34] ,但它不知道原始的多项式是什么。接收方的任务是通过这些数据点来重构多项式,从而恢复原始数据。

  2. 接收方知道这些数据点是某个多项式在不同点上的值。通过数学方法(比如插值法),它可以通过这些点来唯一地确定这个多项式。一旦确定了多项式,就可以直接读出多项式的系数,也就是原始数据 [1, 2, 3] 。

  3. 假设在传输过程中,数据中出现了一个错误。比如,接收方收到的数据变成了 [1, 6, 18, 34] ( 17 变成了 18 )。因为多项式是唯一的,接收方可以通过插值法找到最接近的多项式,从而纠正错误。

多项式是唯一的

冗余信息帮助纠错

纠错能力很强

4.5. Interleaving

交织是一种在数据传输中用来提高抗突发错误(burst errors)能力的技术。

交织和纠错码(如里德-所罗门码)是“黄金搭档”。纠错码可以纠正少量的错误,但对突发错误效果不好。而交织可以把突发错误分散成少量的随机错误,这样纠错码就能更好地发挥作用。

通过一次的编解码方式,减少错误恢复的难度

5. Physical Link Layer:Principles MAC and CSMACD

second layer

物理链路层是网络通信的第二层(OSI模型中的第二层),主要负责在物理介质(比如网线、光纤)上可靠地传输数据帧。它要解决的一个重要问题是:多个设备怎么共享同一个传输介质(比如一根网线)?

5.1. The origins of Ethernet

以太网是一种非常流行的局域网(LAN)技术,它的起源可以追溯到20世纪70年代。

只允许一个数据包在电缆上传播,否则会引起错误。

电缆 - 介质

5.2. Sharing a "medium"

共享介质

5.3. MAC Protocols

MAC协议就是用来管理多个设备如何共享同一个传输介质的规则。

Goals of MAC Protocols

  1. 避免冲突

  2. 高效利用通信介质

  3. 公平性

  4. 快速响应

  5. 适应不同的网络环境

  6. 简单和可扩展

5.4. Aloha Protocol

EXAMPLE: Aloha Network

Aloha协议最早是由夏威夷大学的诺曼·艾布拉姆森(Norman Abramson)在20世纪60年代末提出的。当时,夏威夷大学需要一个无线网络来连接分布在不同岛屿上的计算机。传统的点对点通信方式成本太高,于是他们设计了一个基于共享无线信道的网络,这就是Aloha网络。

特点

  • very simple

    • 纯Aloha:设备随时可以发送数据,不需要先检查信道是否空闲。

    • 时隙Aloha:设备只能在时隙的开始时刻发送数据,稍微复杂一点,但仍然很简单。

  • robust against failure of a host

    • 对主机故障具有鲁棒性

  • distributed

    • Aloha协议是完全分布式的,每个设备独立运行,不需要中央协调。

    • 这种分布式特性使得协议非常灵活,适用于各种网络拓扑结构。

  • 低负载,期望延迟低

    • Low Load, Low Expected Delay

  • 高负载,大量时间大量时间浪费在冲突上

    • High Load, Lots of Time "Wasted" Sending Packets That Collide

5.5. CSMA/CD Protocol

Carrier Sense Multiple Access with Collision Detection,带冲突检测的载波监听多路访问

监听当前线路是否在忙?

if 是: 我不会发送

else: 发送数据

  1. 先听后说(Carrier Sense)

  2. 边说边听(Collision Detection)

  3. 冲突停说(Collision Handling)

  4. 随机再试(Backoff and Retry)

Packet size requirement

在CSMA/CD协议中,冲突检测是一个关键步骤。设备在发送数据包的过程中,需要持续监听信道,以检测是否发生了冲突。如果数据包太小,可能会导致冲突检测机制无法正常工作。

6. Ethernet Frame Format

  1. 前导码(Preamble)

    1. 前导码是一串固定的模式(通常是 10101010 )

    2. 用来让接收设备“同步”信号

    3. 知道数据即将开始

  2. 帧起始定界符(SFD)

    1. SFD是一个特殊的模式(通常是 10101011 )

    2. 用来标记帧的开始

    3. 它告诉接收设备:“数据帧正式开始了!”

  3. 目标MAC地址(Destination MAC Address)

    1. 这是接收设备的MAC地址

    2. 用来告诉网络这个帧是给谁的

  4. 源MAC地址(Source MAC Address)

    1. 这是发送设备的MAC地址

    2. 用来告诉网络这个帧是从哪里来的

  5. 类型/长度字段(Type/Length)

    1. 长度:如果帧中携带的是普通的以太网数据

      1. 这个字段表示数据载荷的长度

    1. 类型:如果帧中携带的是某种特定协议的数据(比如IP协议)

      1. 这个字段表示数据的类型

  6. 数据载荷(Payload)

    1. 这是帧的核心内容

    2. 也就是要传输的实际数据

  7. 帧校验序列(FCS,Frame Check Sequence)

    1. FCS是一个校验码

    2. 用来检测帧在传输过程中是否出错

    3. 发送设备会计算一个校验码放在这个位置

    4. 接收设备收到帧后会重新计算校验码

    5. 如果和发送设备计算的一样,就说明数据没有出错

6.1. Increasing the data rate

从 10Mb/s -> 100Mb/s -> 1Gb/s -> 10Gb/s

Faster and Faster...

6.2. Ethernet Switching

以太网交换机工作在OSI模型的数据链路层(Layer 2),它通过读取数据帧中的MAC地址来决定如何转发数据。

6.3. Hubs to Switches

集线器(Hub)到交换机(Switch)的演变

  1. 性能提升:交换机通过智能转发机制减少了数据冲突,提高了网络的效率和带宽利用率

  2. 功能强大:交换机支持VLAN、QoS(服务质量)等功能,能够更好地管理网络流量

  3. 安全性增强:交换机可以通过VLAN等技术将网络划分为多个逻辑段,提高了网络的安全性

  4. 成本降低:随着技术的发展,交换机的价格逐渐降低,性能大幅提升,使得它成为现代网络的首选设备

MAC Protocols: Random and Deterministic...

7. Wireless Networking

无线网络的特性...

7.1. Access Point Network

无线访问点网络

无线访问点(Access Point, AP)

无线访问点是一种网络设备,它充当无线局域网(WLAN)的中心节点,负责接收和转发无线信号。它通常通过有线网络(如以太网)连接到互联网或其他网络资源,使得无线设备(如笔记本电脑、智能手机等)可以通过无线信号接入网络。

7.2. Wireless Is Different

cons:

  1. 带宽有限

  2. 延迟较高

  3. 易受干扰

  4. ...

pros:

  1. 安装简单

  2. 扩展灵活

  3. ...

7.3. Siganl Strength

无线网络的信号强度是影响网络性能的关键因素之一。信号强弱直接影响到网络速度、稳定性和覆盖范围

7.4. Changing Over Time

无线网络信号强度的变化是一个复杂的现象,它受到多种因素的影响,并且这些因素会随着时间、环境和设备状态的变化而变化。

7.5. Interference

无线信号干扰是一个复杂的问题,它会对无线网络的性能产生显著影响,导致信号弱、连接不稳定甚至断网。

8. Wireless - Principles MAC

8.1. Ethernet CSMA/CD

Carrier Sense Multiple Access with Collision Detection

带冲突检测的载波监听多路访问

8.2. Not a Shared Medium

非共享介质

通常是指在某些网络架构或存储架构中,各个节点或设备不共享同一物理介质或存储资源,而是各自独立运行。这种架构与“共享介质”(Shared Medium)或“共享存储”(Shared Storage)相对。

  1. 独立性

  2. 可扩展性

  3. 高性能

  4. 灵活性

9. Wireless - Principle CSMACA

9.1. Link Layer Acknowledgements

链路层确认

9.2. CSMA/CA

  • Pick random backoff

  • Sense local channel, transmit after bcakoff

  • If packet not acknowledged, backoff agin, retry

  • If packet acknowledged, accept next packet for transmission

9.3. 802.11 CSMA/CA

  • CSMA/CA协议:通过载波监听、冲突避免和RTS/CTS机制,减少无线网络中的数据冲突。

  • 链路层确认(ACK):通过ACK机制,确保数据帧的成功传输,提高数据传输的可靠性。

  • 退避机制:通过随机退避和二进制指数退避算法,减少冲突,优化网络性能。

  • 帧间间隔(IFS):通过定义不同的帧间间隔,控制数据帧和管理帧的发送顺序。

Hidden Terminals

隐藏终端问题是指一个节点无法检测到其他正在进行的传输,从而尝试通信并导致冲突。具体来说,如果有三个节点A、B和C,A和C都在B的通信范围内,但A和C彼此无法直接通信。如果A和C同时向B发送数据,B会收到损坏的数据,因为A和C无法检测到对方的存在,这就是隐藏终端问题。

Exposed Terminals

暴露终端问题是指一个节点虽然可以检测到其他正在进行的传输,但由于信道的限制,它无法同时进行自己的传输。具体来说,如果有三个节点A、B和C,A和C都在B的通信范围内,但A和C的传输范围有重叠。如果A正在向B发送数据,C可能会误以为信道被占用,从而延迟自己的传输,即使C的传输不会干扰A的传输。

Collision or Low SNR

在无线网络中,碰撞(Collision)是指多个节点同时向同一个接收节点发送数据,导致数据损坏。低信噪比(Low SNR)是指信号强度相对于噪声强度较低,导致数据传输质量下降。

10. Wireless - Principles RTS/CTS

RTS(Request to Send)/CTS(Clear to Send)

10.1. RTS/CTS

  1. RTS(Request to Send):发送节点向接收节点发送一个RTS帧,请求发送数据。

  2. CTS(Clear to Send):接收节点收到RTS帧后,如果信道空闲,会发送一个CTS帧,允许发送节点发送数据。

  3. 作用:通过RTS/CTS机制,节点可以提前知道信道是否被占用,从而避免碰撞。

10.2. Problems with CSMA/CA

11. 802.11 Format and Overhead

WIFI - 802.11

发生在物理层和链路层...

11.1. Virtualizing a Link

虚拟化链路

通过将物理链路抽象化,为多个虚拟链路提供独立的通信通道。这种技术在无线网络中尤为重要,因为它可以提高网络的灵活性和效率。

11.2. 802.11 Overhead

开销

在无线通信过程中,除了实际数据传输之外的额外开销。这些开销包括MAC层的控制帧、退避时间、帧间间隔等。这些开销虽然有助于协议的正常运行,但会降低系统的吞吐量。

12. Fragmentation and Assembly

fragmentation 分片,直到网络支持...

防止一次数据发送,导致信道长时间处于占用状态

assembly 重组,将分片的数据重新组合成可用数据包

12.1. 为什么需要分片和重组?

  1. 减少信道占用时间

  2. 提高传输可靠性

  3. 支持大帧传输

12.2. Fragementation Example: IP

IP分片是网络层(Layer 3)的一种机制,用于将较大的IP数据包分割成多个较小的片段,以便它们能够在具有较小最大传输单元(MTU)的网络中传输。

IP分片过程中,IP头中的以下字段非常重要

  1. Identification(16位)

  2. Fragment Offset(13位)

  3. More Fragments(MF)标志(1位)

  4. Don’t Fragment(DF)标志(1位)

12.3. Fragementation Example: TCP

TCP分片的主要目的是解决不同网络链路具有不同MTU的问题。

TCP分片的关键字段

  1. MSS(Maximum Segment Size)

  2. Sequence Number(序列号)

  3. Acknowledgement Number(确认号)

12.4. Fragementation Example:

Last updated