Kann SATA verwendet werden, um zwei Computer miteinander zu verbinden, genau wie es ein Crossover-Ethernet-Kabel tun würde?
Ich weiß, dass SATA keine "Netzwerk" -Funktionen hat und obwohl ein Controller möglicherweise mehrere Ports hat, "sehen" sich die Laufwerke nicht, und in SATA fungiert ein Gerät als Host (der Computer) und das andere Gerät ist eines Art von "Client" (das Speicherlaufwerk).
Hat dennoch jemand versucht, ein Kernelmodul zu erstellen, das einen Computer als "Client" erscheinen lässt (so dass der SATA-Controller des Hosts ihn als Standardfestplatte erkennt) und dann wie eine Pseudo-Ethernet-Verbindung oder eine sehr feste Einrichtung eingerichtet serielle Hochgeschwindigkeitsverbindung (und dann darauf laufen pppd
und vernetzen)?
Hinweis: Ich weiß, dass dies eine unprofessionelle und völlig dumme Idee ist. Ich frage nur aus Neugier.
quelle
Antworten:
Nachdem ich mir die SATA-Spezifikation kurz angesehen hatte, war ich zunächst zuversichtlich, dass SATA nicht nur mit Festplattengeräten, sondern auch mit Laufwerksgehäusen kommunizieren kann.
Es sieht jedoch so aus, als ob es nicht möglich ist, mit SATA zwei Computer miteinander zu verbinden, hauptsächlich weil es sich um eine Host- / Gerätetopologie handelt. Dies bedeutet, dass der Host einen speziellen "Host-to-Device" -Befehl sendet und das Gerät verschiedene "Device-to-Host" -Befehle zurücksendet.
Es gibt generische bidirektionale "Daten" -Befehle, die zum Austauschen von Paketen verwendet werden könnten. Ich vermute jedoch, dass diesen die richtige "Host-zu-Gerät" -Anforderung und eine entsprechende "Gerät-zu-Host" -Antwort vorausgehen müssten. Ich vermute, dass PCs keine "Geräte-zu-Host" -Nachrichten senden können (da sie der Host sind), was dies erfordern würde, aber ich könnte mich in diesem Punkt irren. Wenn ein PC einen Geräte-zu-Host-Befehl senden kann, können Sie eine Host-zu-Host-Verbindung über SATA herstellen.
Selbst wenn Sie dies tun könnten, würden Sie zweifellos benutzerdefinierte Kabel benötigen, da die Verwendung von Standard-SATA-Kabeln bedeuten würde, dass beide PCs auf demselben Kabelpaar senden und beide auf demselben Kabelpaar empfangen (wo also niemand sendet) Sie erhalten niemals Daten!) Sie müssten das SATA-Äquivalent eines Ethernet-Crossover-Kabels hacken, das die TX- und RX-Leitungen vertauscht.
Ich denke, dieses Problem spiegelt das von USB sehr gut wider. Sie können zwei Computer nicht mit einem bloßen USB-Kabel miteinander verbinden, da beide Hosts keine Geräte sind, mit denen Sie kommunizieren können. Es gibt jedoch USB-Geräte, die Daten von beiden Hosts empfangen und weitergeben, sodass der USB-Controller jedes Hosts denkt, dass er mit einem Gerät spricht (was technisch gesehen der Fall ist), was die Kommunikation von Host zu Host über USB ermöglicht.
Dasselbe wäre für SATA möglich, wenn Sie ein Gerät haben, mit dem beide Host-Controller verbunden sind, und jeder denkt, dass er mit einem Gerät spricht. Sie benötigen weiterhin benutzerdefinierte Treiber, damit das SATA-Gerät als Netzwerkgerät angezeigt wird, aber es ist funktionsfähig.
Dies wäre jedoch nur für Verbindungen mit sehr kurzer Reichweite nützlich, da SATA eine maximale Kabellänge von einem Meter hat. Wenn sich Ihr spezielles SATA-Übersetzungsgerät in der Mitte befindet, müssen Ihre beiden SATA-Anschlüsse weniger als zwei Meter voneinander entfernt sein (einschließlich des Abstands zwischen Motherboard oder Erweiterungskarte und der Außenseite des Gehäuses).
quelle
Nein, da es sich um ein Speicherprotokoll handelt. Aber PATA kann (irgendwie). Und PCI Express kann .
quelle
Soweit ich weiß, wurde dies nicht getan. Ich kann nicht darüber sprechen, ob es möglich ist oder nicht, aber ich kann sagen, dass das Erreichen eines solchen Ziels einen immensen Aufwand und Code erfordern würde.
Das Host-Client-Setup von SATA dient nur zur Speicherung, nicht zum Netzwerk. Also müssten Sie entweder
Alle drei Wege haben große Fallstricke, obwohl ich theoretisch denke, dass dies machbar wäre - das Endergebnis wäre wahrscheinlich immer noch nicht so schnell, wie Sie es sich vorstellen. Es ist jedoch eine lustige Idee.
quelle