有两台ubuntu 16.04机器,一台ethtool收发器的类型是:internal,另一台显示external。两台机器ping状态都很好。 我发现 ethtool man docs 解释了它: “内部|外部 选择收发器类型。目前仅限内部 和 external 可以指定,在未来 fur- 可能会添加其他类型。” 但我无法理解,所以,关于 ethtool 收发器类型的“外部”和“内部”有什么区别?
我遇到了同样的问题并且遇到了这个线程但没有任何答案所以我会记下我从我自己的谷歌搜索中学到的东西以及我从同行那里得到的答案。请注意,我对NIC和收发器的了解有限,如果有任何错误,请指正。
在linux内核源码中,我发现有一个宏叫做XCVR_INTERNAL和XCVR_EXTERNAL,其中XCVR代表收发器。
评论是这样描述宏的:
#define XCVR_INTERNAL 0x00 /* PHY和MAC在同一个包里*/
#define XCVR_EXTERNAL 0x01 /* PHY 和 MAC 在不同的包中 */
PHY 和 MAC 在这种情况下是 NIC 中用于以太网物理的芯片,其中 PHY 将从电缆接收到的信号转换为比特并通过 MII 发送到 MAC 以将其组装为数据包(更多细节我从这个线程中获得 ).
“同封装”(即内部)是指PHY、MAC和MII集成为一个芯片,而“不同封装”(外部),PHY和MAC是独立的芯片,通过MII连接。
存在两种不同类型的收发器,因为在某些情况下,NIC 希望在 PHY 和 MAC 之间建立不止一对一的连接,这意味着可能有多个 PHY 连接到单个 MAC,反之亦然。
希望这对遇到这个问题的任何人都有帮助。