公众号旧文
为什么网卡上写的是 TX / RX,而不是 SEND / RECEIVE?
在很多网络设备上,比如网卡、交换机、路由器、光模块,你经常会看到两个标识:

比如 Tailscale 的流量统计:

我很好奇,为什么不用更直观的 SEND / RECEIVE(发送 / 接收),
而是使用 TX / RX 这种不明所以的缩写?
经过一番探索,胖子发现这背后是一个跨越几十年的通信工程传统。
一、TX / RX 的真正含义
先理解这两个缩写:
| 缩写 | 英文 | 含义 |
|---|---|---|
| TX | Transmit | 发送 / 发射 |
| RX | Receive | 接收 |
在网络设备或操作系统中,它们的含义非常简单:
- TX(Transmit):本机发送出去的数据
- RX(Receive):本机接收到的数据
这里有一个非常重要的原则:
一切都是以当前设备为视角。
例如:
服务器 ─────────► 用户电脑
TX RX
在服务器看来,它正在 发送数据(TX)。 而在用户电脑看来,它正在 接收数据(RX)。
二、为什么不用 SEND / RECEIVE
很多人会觉得:
SEND / RECEIVE
看起来更直观。
但在通信工程领域,几乎所有设备都统一使用 TX / RX,原因主要有三个。
三、历史原因:来自无线电通信
TX / RX 其实不是计算机网络发明的。
它最早来自 无线电通信领域。
在无线电设备上,工程师需要区分两个状态:
- Transmit(发射信号)
- Receive(接收信号)
因此设备上通常会标注:
TX
RX
例如:
TX ON
RX SIGNAL
因为无线电系统关注的是 信号的发射和接收,而不是发送文件和消息。
四、电信设备继承了这个传统
后来电话网络、电信设备也沿用了这一套术语。
例如在通信线路中:
TX line
RX line
表示:
- 发送线路
- 接收线路
这时 TX / RX 已经成为通信工程的标准术语。
五、计算机串口时代(RS-232)
到了计算机早期,设备之间主要通过 串口通信。
例如经典的 RS-232 接口。
串口针脚通常标为:
TXD (Transmit Data)
RXD (Receive Data)
例如 DB9 串口:
Pin 2 RXD
Pin 3 TXD
在 1980 年代,这已经成为行业标准。
六、以太网网卡继续沿用
当以太网网卡出现时,工程师并没有重新发明术语,而是直接沿用了通信工程的传统。
于是网卡内部也出现了:
TX queue
RX queue
TX buffer
RX buffer
在 Linux 系统里,你也会看到类似统计:
tx_packets
rx_packets
tx_bytes
rx_bytes
这套命名一直沿用至今。
七、TX / RX 还有一个实际优势
除了历史原因,TX / RX 还有一个非常现实的优势:
更短、更适合硬件标识。
在电路板或芯片上,空间非常有限。
例如在网卡 PHY 芯片上,经常会看到:
TX+
TX-
RX+
RX-
如果写成:
SEND+
RECEIVE-
不仅更长,也更不清晰。
因此 TX / RX 在硬件设计中更加实用。
八、在很多设备上都能看到
这种命名方式不仅存在于网卡,还广泛出现在各种通信设备中,例如:
- 交换机
- 路由器
- 光模块
- 串口设备
- 无线电设备
例如光模块上通常标注:
TX
RX
含义分别是:
- TX:发射光信号
- RX:接收光信号
也就是说:
- TX 端是 激光发射器
- RX 端是 光电接收器
九、一句话总结
为什么网络设备上写的是 TX / RX,而不是 SEND / RECEIVE?
因为计算机网络继承了通信工程几十年的传统术语。
在通信领域里:
TX = Transmit(发送信号)
RX = Receive(接收信号)
这套缩写从无线电时代沿用到今天,已经成为全球通信设备的统一语言。
你可能感兴趣的其他文章: