SATA可以用来连接电脑吗?

9 networking sata esata

SATA 可以用来将两台计算机连接在一起吗,就像交叉以太网电缆一样?

我知道 SATA 没有“网络”功能,即使控制器可能有多个端口,驱动器也不会“看到”彼此,并且在 SATA 中,一个设备充当主机(计算机),另一个设备是一些一种“客户端”(存储驱动器)。

但是,是否有人试图制作一个内核模块,使一台计算机显示为“客户端”(以便主机的 SATA 控制器将其检测为标准硬盘驱动器),然后像伪以太网链接或非常高速串行链路(然后pppd在其上运行并进行联网)?

注意:我知道这是一个不专业且完全愚蠢的想法,我只是出于好奇而问。

Mal*_*ous 3

简要查看了 SATA 规范后,我最初充满希望,因为 SATA 不仅可以与磁盘设备通信,还可以与驱动器外壳通信。

然而,看起来不可能使用 SATA 将两台计算机连接在一起,主要是因为它是主机/设备拓扑。这意味着主机发送特殊的“主机到设备”命令,并且设备发送回不同的“设备到主机”命令。

有通用的双向“数据”命令可用于交换数据包,但是我怀疑这些命令之前必须有正确的“主机到设备”请求和适当的“设备到主机”响应。我猜测 PC 无法发送“设备到主机”消息(因为它们是主机),这正是这所需要的,但在这一点上我可能是错的。如果 PC 可以发送设备到主机命令,那么可以,您可以通过 SATA 建立主机到主机链接。

然而,即使您可以做到这一点,您无疑也需要定制电缆,因为使用标准 SATA 电缆意味着两台 PC 都在同一线对上传输,并且都在同一线对上接收(没有人在传输,因此他们永远不会收到任何数据!)您需要破解相当于以太网交叉电缆的 SATA,该电缆交换 TX 和 RX 线。

我认为这个问题与 USB 的问题非常相似。您无法使用裸露的 USB 电缆将两台计算机连接在一起,因为它们都是主机,没有可与之通信的设备。然而,有些 USB 设备从两个主机接收数据并将其传递,以便每个主机的 USB 控制器认为它正在与一个设备通信(技术上确实如此),从而允许通过 USB 进行主机到主机的通信。

对于 SATA 也可以做同样的事情,在这种情况下,两个主机控制器都连接到一个设备,并且它们都认为自己正在与一个设备通信。您仍然需要自定义驱动程序才能使 SATA 设备显示为网络设备,但它是可行的。

然而,这仅适用于非常短距离的连接,因为 SATA 的最大电缆长度为一米。因此,当您的特殊 SATA 转换器设备位于中间时,您的两个 SATA 端口之间的距离必须小于两米(包括从主板或扩展卡到机箱外部的距离。)