根据维基百科,传输时间可以定义为(对于数字信号):
“从消息的第一位到最后一位离开发送节点的时间。”
对于数字信号,传输时间对应于整个数据包的总持续时间。数据从发送缓冲区推送到线路上。数据包的各个位应在发送队列(缓冲区)中等待的时间量是另一种延迟,称为排队延迟,因此我现在将其排除在外。
我的问题是:传输时间到底是一个什么函数?例如,我们可以说传播延迟是光速和连接节点之间距离的函数,处理延迟是 CPU、FPGA 等处理速度的函数。但是,传输延迟时间似乎是根据这些函数关系来松散定义的。
由于排队时间是一种单独的延迟,因此我们应该认为将被推送到线路上的数据已经超过了排队时间,因此,唯一要做的工作就是将数据推送到线路上。我提出的问题也采用以下形式:“什么物理原因阻止数据立即推送到线路上?”。
当然,看起来并不能立即推到电线上,而且一点也不直观,但为什么呢?是从发送缓冲区的物理位置到线路起始端的距离吗?PHY 协议是否能够通过不同的限制机制强制执行某种限制(例如,请参阅:“...许多以太网适配器和交换机端口通过使用自动协商来设置最佳值的速度和双工来支持多种速度两个连接的设备都支持。") ? 如果是,那么硬件层面的这些机制是什么?是节点时钟的采样率吗?其中哪一个可能对传输时间产生最大的影响?
我知道并非每个 PHY 协议都能够处理高传输速度(例如 Comer, DE (2008)。计算机网络和互联网第 5 版:“异步串行接口通常支持高达 230.4 kbit/s 的位传输速度。”) 。据我了解,布线和物理层本身存在限制,但是,我认为答案在于发送节点的属性和 NIC 上的物理连接接口的组合。
顺便说一句,请不要告诉我它是数据包大小和比特率的函数,因为它最终归结为“周期高,但为什么?因为频率低!”,这是没有意义的。
我可能跳过了一些可能提供这方面信息的来源,但是找不到任何来源。
您所说的(数字)数据必须表示为模拟电信号才能传输。现实世界是模拟的;只有信息是数字化的。数字(即量化)数据不能存在于真实的模拟(即连续)世界中(除非您正在研究量子物理学占据主导地位的亚原子粒子)。它必须由模拟信号表示。(“数字信号”是一个用词不当;它实际上是指通过模拟波形传达的数字信息。)
所有波形都具有连续值而不是离散值,因此都是模拟的。波形不能处于一个离散电压电平,然后立即变为另一个离散电压电平。数字信号只有两个电平,例如 0 和 1。决不允许 1/2 状态。但在这个模拟世界中不可能产生这样的信号。
通常采用幅度、相位和频率的组合来将数字信息调制成模拟波形。最简单的“数字”信号,即逻辑信号(例如在 TTL 和 CMOS 中使用的),仅使用幅度调制来表示逻辑电平/状态 0 和 1。逻辑状态由而不是您期望的特定电压电平来表示一个真正的数字值,但是,作为对信号必须在其中运行的模拟世界的让步,每个逻辑状态的电压范围(即连续体)。
每个逻辑输入都是一个非常简单的模数转换器。当对输入进行采样(由时钟信号触发)时,低电压范围内的采样电压将被解释为逻辑 0。但如果采样电压处于高电压范围内,则“读取”逻辑 1。所有这些模数转换都被简单地视为逻辑或数字输入,教科书总是使用完美的方波脉冲来表示逻辑状态的变化。
RS-232 与 TTL 和 CMOS 有点相似,因为两者都使用简单的幅度调制。但为了提高传输能力,RS-232 使用负电压范围表示逻辑 1,使用正电压范围表示逻辑 0。
以太网变得更加复杂,并且根据速度标准,有些将使用多级脉冲幅度调制。
尽管 TTL/CMOS 和 RS-232 具有一对一的对应关系,每个(模拟)符号仅代表一位(对于两个可能的数字值),但有些调制方案的符号代表多个一位(对于2^N 个可能的数字值)。
为了执行“数据”传输,必须对发射器的输出电压进行调制。尽管该电压变化将以光速沿导线传播,但该电压变化会受到导线的电容和电感的阻碍或促进,并被电阻所衰减。然后,到达接收器的信号可能会失真并带有噪声。
信号中的预期失真限制了为传输每个符号而调制电压的速率,以及为准确接收每个符号而对信号进行可靠采样的速率。这些限制(带有安全裕度)成为最大传输速率。
附录
没有“如果”。
下面是一个揭示了阻抗设计错误的 PCB 上 CMOS(3.3V 逻辑)“数字”信号的高带宽(10 GHz) 示波器捕获结果。
电路中带有阻尼电阻的相同“数字”信号可以“纠正”阻抗问题。
想象一下!
“数字”信号受到电路的影响!
但它看起来仍然不像教科书上那些完美的方形信号。它永远不会(也不必),因为这是模拟的现实世界。
在您的第一段中,您说这是发送第一位和最后一位之间的时间,这是正确的,然后您完全将其视为第二段中的“队列”,这是错误的做法。
您根本无法同时通过线路发送所有数据,并假设它们都已立即收到。
传播时间可能接近光速,但您需要一段时间将该位“保持”在线上,以便接收器检测它是 1 还是 0。该保持时间是上升的一个因素发送电子设备的下降时间、接收电子设备的灵敏度以及这两个设备用于相互同步数据速率的时钟速率。
在数据发送出去之前有一个队列或缓冲区,但线路也是一个数据队列,这意味着整个数据包永远不会以光速瞬间传输,每一位数据都存在延迟。
每个位的总延迟构成了传输时间。
消息中的符号数以及符号率(符号/秒或波特)。
我们每秒可以可靠传输的信息量由香农-哈特利定理给出,作为信道带宽和信道信噪比的函数。
带宽受到物理因素(较高带宽收发器、放大器等比低带宽收发器更难构建,传输线在较高频率下会出现损耗等)和社会因素(假设您正在构建一个射频设备,您有一个合法分配的频道,您可以在其中运行,并且该频道具有一定的带宽)。
信噪比也有类似的因素组合:由于热力学定律,噪声始终存在,而信号功率则受到实际问题(成本、尺寸、热量、电池寿命、设备爆炸等)的限制。 )和监管限制。
因此,在任何给定的现实场景中,您必须适应一定量的带宽、能够提供一定量的功率、A 点和 B 点之间一定量的损耗以及一定量的损耗。您必须容忍的噪音 - 同时将错误数量限制在 X%。考虑到所有这些限制,您雇用一名工程师,他们会提出一个代码(一种将消息的位转换为符号的方法)和一种调制(一种将这些符号转换为物理事物的方法,例如相位或幅度)电信号)满足您的要求。鉴于此,您现在知道: N位消息被编码为M 个符号,而M 个符号需要t秒传输。如果你想走得更快,那么你的设计约束的某些部分就必须改变,设计也必须随之改变。如果你要求太多,那么你的工程师会说“我无法改变物理学定律!”