根据维基百科,传输时间可以定义为(对于数字信号):
“从消息的第一位到最后一位离开发送节点的时间。”
对于数字信号,传输时间对应于整个数据包的总持续时间。数据从发送缓冲区推送到线路上。数据包的各个位应在发送队列(缓冲区)中等待的时间量是另一种延迟,称为排队延迟,因此我现在将其排除在外。
我的问题是:传输时间到底是一个什么函数?例如,我们可以说传播延迟是光速和连接节点之间距离的函数,处理延迟是 CPU、FPGA 等处理速度的函数。但是,传输延迟时间似乎是根据这些函数关系来松散定义的。
由于排队时间是一种单独的延迟,因此我们应该认为将被推送到线路上的数据已经超过了排队时间,因此,唯一要做的工作就是将数据推送到线路上。我提出的问题也采用以下形式:“什么物理原因阻止数据立即推送到线路上?”。
当然,看起来并不能立即推到电线上,而且一点也不直观,但为什么呢?是从发送缓冲区的物理位置到线路起始端的距离吗?PHY 协议是否能够通过不同的限制机制强制执行某种限制(例如,请参阅:“...许多以太网适配器和交换机端口通过使用自动协商来设置最佳值的速度和双工来支持多种速度两个连接的设备都支持。") ? 如果是,那么硬件层面的这些机制是什么?是节点时钟的采样率吗?其中哪一个可能对传输时间产生最大的影响?
我知道并非每个 PHY 协议都能够处理高传输速度(例如 Comer, DE (2008)。计算机网络和互联网第 5 版:“异步串行接口通常支持高达 230.4 kbit/s 的位传输速度。”) 。据我了解,布线和物理层本身存在限制,但是,我认为答案在于发送节点的属性和 NIC 上的物理连接接口的组合。
顺便说一句,请不要告诉我它是数据包大小和比特率的函数,因为它最终归结为“周期高,但为什么?因为频率低!”,这是没有意义的。
我可能跳过了一些可能提供这方面信息的来源,但是找不到任何来源。