信号传播的物理学理论

就我个人来说,我的物理学得很不好,我也懒得处理很多物理上的内容,但是,要理解网速相关的众多内容,对物理中的波至少要有一点感性认识。

我们就说以太网好了。以太网不涉及什么调制的内容,在以太网上传播的就是数字信号,只不过经过了曼彻斯特编码(就是将源信号和时钟异或一下)

1

那么,这个信号的传播,究竟是一个什么过程呢?

电信号就是高低变化的电压,以太网的介质(media)就是导线(准确地说,同轴电缆、双绞线等)。那么这样看起来,这个信号的传播似乎是不需要时间的。

何出此言呢?我们考虑一下高中学过的物理或者大学物理课中关于电压的部分,导线的一端电压发生变化,另一端的电压是不是马上就作出与之相符的变化呢?

准确地来说,我个人以前所学过的物理知识,似乎没有处理过这类问题。但前人已经将这件事研究得很清楚了,这就是传输线理论

In radio-frequency engineering, a transmission line is a specialized cable or other structure designed to conduct alternating current of radio frequency, that is, currents with a frequency high enough that their wave nature must be taken into account.

这个理论是从麦克斯韦方程推导出来的,我们不需要了解其具体内容,只需要知道一个结论:在传输线上传输的信号,本质是一种电磁波,其波速是一个定值,且等于频率与波长的乘积。

Transmission Delay 与 Propagation Delay

稍微知道了一点物理学理论,我们就可以研究一下延迟中的发送时延(Transmission Delay)传播时延(Propagation Delay)了。

一般在谈到网卡的作用时,网卡将操作系统的网络buffer中的网络包编码为串行的曼彻斯特码信号,然后发送出去。其实,这个过程的图景并不完全是这样。

网卡连接着传输介质,它做的事情主要就是在接口的INPUT部分“观测”电压,在接口的OUTPUT部分“改变”电压。所谓的“发送”,就是不断地改变OUTPUT口的电压,其改变的频率就是时钟频率,而这正是它发送的电磁波的频率。

电磁波的波速,在同一介质中是一定的。所以传播时延只和介质的种类和长度有关,而发送时延实际上与以太网的速率有关。

如果静下心来认真思考的话,我们不难想到,以太网的速率就是时钟频率的倒数。为什么呢?因为一个时钟发送一个bit。在802.3-1985这份最早的ieee以太网标准中,以太网的速率是10 Mbit/s,而标准也很清晰地说明了标准时钟频率应该为

\[100ns = 1 \times 10 ^ {-7}s = \frac{1}{10000000}\]

2

所谓的发送时延,其实就是将网络包按照速率发送出去的时间。

这时可能会有一个问题,为什么要把总时延的计算里,为什么要把发送时延和传输时延加起来呢?我们可以这样去想:自第一个bit被一方发送至第一个bit被对方接收的时间(\(t_{1}\)),是传播时延;自一个bit被发送至最后一个bit被发送的时间(\(t_{2}\)),是发送时延,总时延应该包括自第一个bit被发送至最后一个bit被接收的时间(\(t_{3}\)),而显然有:

\[t_{3} = t_{1} + t_{2}\]

以太网的速率

经过上面的讨论,我们可以知道,以太网的速率,应该是一个定值,与网卡的时钟频率成正比。但是这并不是绝对的。

  • 如果一个以太网是使用集线器或总线连接的共享网络,那么它有CMSA/CD机制避免冲突,实际上的速率是标注值除以共享网络的人数。
  • 如果一个以太网不是共享的(比如用交换机连接),那么它的速率和标注值一致。

现在的以太网基本都不是共享的,所以,可以认为现在使用的以太网速率都是确定的、是由时钟频率决定的,我们其实并没有什么提高速率的办法。