链路层
计算机和电气工程的交叉点...
IP is the narrow waist
和电气相关的知识...
1. Physical Layer: Capacity and Modulation
1.1. Shannon Limit
Shannon Limit theroretical
香农极限是一个理论上的极限,它告诉我们在一个给定的信道中,最多能传输多少数据而不出现错误。这个极限是由克劳德·香农(Claude Shannon)在1948年提出的。

(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 之间的数值表示。
在物理层减少冗余...
常见是使用 ASCII 码对字符进行编码
减少冗余
在物理层,减少冗余可以帮助提高传输效率
游程编码(Run-Length Encoding, RLE)
增加冗余
虽然减少冗余可以提高效率,但在物理层,为了提高可靠性,通常会添加冗余信息。
转换: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
3. Physical Layer:Clocks and Clock Recovery
传输数据需要指定传输速率。
所以需要有一个时钟的概念,以便正确进行编解码...
发送器使用的时钟和频率,接收器并不知道,需要自行推理。
3.1. Data is transmitted using a clock
利用另一个触发器,结合接受源 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.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网络。
特点
纯Aloha:设备随时可以发送数据,不需要先检查信道是否空闲。
时隙Aloha:设备只能在时隙的开始时刻发送数据,稍微复杂一点,但仍然很简单。
robust against failure of a host
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: 发送数据
边说边听(Collision Detection)
Packet size requirement
在CSMA/CD协议中,冲突检测是一个关键步骤。设备在发送数据包的过程中,需要持续监听信道,以检测是否发生了冲突。如果数据包太小,可能会导致冲突检测机制无法正常工作。
6. Ethernet Frame Format
前导码是一串固定的模式(通常是 10101010 )
SFD是一个特殊的模式(通常是 10101011 )
目标MAC地址(Destination MAC Address)
源MAC地址(Source MAC Address)
类型:如果帧中携带的是某种特定协议的数据(比如IP协议)
帧校验序列(FCS,Frame Check Sequence)
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
链路层确认
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)
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头中的以下字段非常重要
12.3. Fragementation Example: TCP
TCP分片的主要目的是解决不同网络链路具有不同MTU的问题。
TCP分片的关键字段
MSS(Maximum Segment Size)
Acknowledgement Number(确认号)
12.4. Fragementation Example: