Unit 7. Lower Layers
低层
链路层
通信的基本原理
以太网的工作原理
计算机和电气工程的交叉点...
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 调制中的一个点)
比特是信息,符号是传输载体
比特 是需要传输的原始信息
符号 是把比特转换成适合传输的形式
调制过程:
比特分组:把比特分成一组一组的。比如,QPSK 中每 2 个比特一组
映射到符号:每组比特对应一个符号。比如,比特组合 “01” 可能对应一个符号
传输符号:符号通过物理信道传输
解调恢复比特:接收端把符号解调回比特
1.9. Example:16-QAM
16-QAM(16阶正交幅度调制)
16-QAM 是一种数字调制技术,通过在复平面上的 16 个离散点(符号)来表示数据。每个符号可以携带 4 个比特 的信息(因为 2^4 = 16 )。它结合了幅度调制和相位调制,提高频谱信息。
调制过程
比特分组
输入的比特流会被分成每组 4 个比特,每组称为一个符号
例如,比特流 0000 、 0001 、 0010 …… 1111 ,分别对应 16 个不同的符号
符号映射
每组 4 个比特被映射到 16-QAM 的星座图上的一个点
星座图是一个二维平面,横轴表示 I 分量(同相分量),纵轴表示 Q 分量(正交分量)
星座图的布局
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 码对字符进行编码
表示数据
提高效率
增强可靠性
减少冗余
在物理层,减少冗余可以帮助提高传输效率
霍夫曼编码(Huffman Coding)
游程编码(Run-Length Encoding, RLE)
增加冗余
虽然减少冗余可以提高效率,但在物理层,为了提高可靠性,通常会添加冗余信息。
循环冗余校验(CRC)
汉明码(Hamming Code)
低密度奇偶校验码(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
利用触发器,结合数据源 A 和 clock1
利用另一个触发器,结合接受源 B 和 clock2
如果 clock1 和 clock2 不同步,会导致读取的错误...可能会舍弃中间穿插的数据...也不是舍弃1,就是时钟不同步导致读取的错误。
3.2. Asynchronous communication
异步通信。
TX Clock 和 RX Clock。没有统一的时钟
数据传输是“独立”的
需要“信号”来通知。使用 Start bit 和 Stop bit 来进行通知
如果 P bits per packet...要保证时钟的容差允许...
3.3. Synchronous Communication
同步通信。
借助 Clock Recovery Unit 进行时钟校准。
在同步通信中,发送方和接收方都用同一个“时钟”来控制数据的发送和接收。
发送方会在每个时钟节拍(比如“滴答”一声)的时候发送数据,接收方也会在每个时钟节拍的时候去接收数据。
因为发送方和接收方都跟着同一个时钟,所以接收方不需要额外的信号来知道“数据来了”。
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, 6, 17, 34] ,但它不知道原始的多项式是什么。接收方的任务是通过这些数据点来重构多项式,从而恢复原始数据。
接收方知道这些数据点是某个多项式在不同点上的值。通过数学方法(比如插值法),它可以通过这些点来唯一地确定这个多项式。一旦确定了多项式,就可以直接读出多项式的系数,也就是原始数据 [1, 2, 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
避免冲突
高效利用通信介质
公平性
快速响应
适应不同的网络环境
简单和可扩展
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: 发送数据
先听后说(Carrier Sense)
边说边听(Collision Detection)
冲突停说(Collision Handling)
随机再试(Backoff and Retry)
Packet size requirement
在CSMA/CD协议中,冲突检测是一个关键步骤。设备在发送数据包的过程中,需要持续监听信道,以检测是否发生了冲突。如果数据包太小,可能会导致冲突检测机制无法正常工作。
6. Ethernet Frame Format
前导码(Preamble)
前导码是一串固定的模式(通常是 10101010 )
用来让接收设备“同步”信号
知道数据即将开始
帧起始定界符(SFD)
SFD是一个特殊的模式(通常是 10101011 )
用来标记帧的开始
它告诉接收设备:“数据帧正式开始了!”
目标MAC地址(Destination MAC Address)
这是接收设备的MAC地址
用来告诉网络这个帧是给谁的
源MAC地址(Source MAC Address)
这是发送设备的MAC地址
用来告诉网络这个帧是从哪里来的
类型/长度字段(Type/Length)
长度:如果帧中携带的是普通的以太网数据
这个字段表示数据载荷的长度
类型:如果帧中携带的是某种特定协议的数据(比如IP协议)
这个字段表示数据的类型
数据载荷(Payload)
这是帧的核心内容
也就是要传输的实际数据
帧校验序列(FCS,Frame Check Sequence)
FCS是一个校验码
用来检测帧在传输过程中是否出错
发送设备会计算一个校验码放在这个位置
接收设备收到帧后会重新计算校验码
如果和发送设备计算的一样,就说明数据没有出错
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)的演变
性能提升:交换机通过智能转发机制减少了数据冲突,提高了网络的效率和带宽利用率
功能强大:交换机支持VLAN、QoS(服务质量)等功能,能够更好地管理网络流量
安全性增强:交换机可以通过VLAN等技术将网络划分为多个逻辑段,提高了网络的安全性
成本降低:随着技术的发展,交换机的价格逐渐降低,性能大幅提升,使得它成为现代网络的首选设备
MAC Protocols: Random and Deterministic...
7. Wireless Networking
无线网络的特性...
7.1. Access Point Network
无线访问点网络
无线访问点(Access Point, AP)
无线访问点是一种网络设备,它充当无线局域网(WLAN)的中心节点,负责接收和转发无线信号。它通常通过有线网络(如以太网)连接到互联网或其他网络资源,使得无线设备(如笔记本电脑、智能手机等)可以通过无线信号接入网络。
7.2. Wireless Is Different
cons:
带宽有限
延迟较高
易受干扰
...
pros:
安装简单
扩展灵活
...
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)相对。
独立性
可扩展性
高性能
灵活性
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
RTS(Request to Send):发送节点向接收节点发送一个RTS帧,请求发送数据。
CTS(Clear to Send):接收节点收到RTS帧后,如果信道空闲,会发送一个CTS帧,允许发送节点发送数据。
作用:通过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. 为什么需要分片和重组?
减少信道占用时间
提高传输可靠性
支持大帧传输
12.2. Fragementation Example: IP
IP分片是网络层(Layer 3)的一种机制,用于将较大的IP数据包分割成多个较小的片段,以便它们能够在具有较小最大传输单元(MTU)的网络中传输。
IP分片过程中,IP头中的以下字段非常重要
Identification(16位)
Fragment Offset(13位)
More Fragments(MF)标志(1位)
Don’t Fragment(DF)标志(1位)
12.3. Fragementation Example: TCP
TCP分片的主要目的是解决不同网络链路具有不同MTU的问题。
TCP分片的关键字段
MSS(Maximum Segment Size)
Sequence Number(序列号)
Acknowledgement Number(确认号)
12.4. Fragementation Example:
Last updated