Warum hat Microsoft niemals eine Loopback-Schnittstelle in Windows implementiert?


11

Das Wichtigste zuerst: Ich weiß, dass Sie unter Windows eine Art Loopback-Adapter installieren können .

Aber was ich wirklich seltsam fand, ist, dass es lounter Windows nichts Vergleichbares gibt. Überhaupt. Von der fehlenden Netzwerk-Loopback-Schnittstelle :

Der Windows TCP / IP-Stack implementiert keine Netzwerk-Loopback-Schnittstelle, wie sie in anderen TCP / IP-Stacks wie lo * -Schnittstellen in BSD-Systemen zu finden ist.

...

Der Microsoft Loopback-Adapter kann auf Windows-Systemen installiert werden, um Netzwerkanwendungen auszuführen, wenn kein physischer Adapter auf dem System vorhanden oder aktiv ist. Dieser Adapter entspricht nicht einer Netzwerk-Loopback-Schnittstelle, und ihm kann keine IPv4-Adresse 127.0.0.1 zugewiesen werden. Außerdem ist es zumindest mit WinPcap nicht möglich, den Netzwerkverkehr zu überwachen.

Es würde mich sehr interessieren, wenn jemand wüsste, warum diese Wahl getroffen wurde oder warum es nie notwendig schien, ein Loopback-Gerät in Windows einzubauen. Weil es so praktisch ist, tatsächlich Pakete zu erfassen, die Sie von / zu ihm senden, um Netzwerkanwendungen zu entwickeln oder zu debuggen.

Wenn also jemand Erfahrung mit Netzwerken, TCP / IP-Stacks usw. hat und Einblicke geben kann, wäre dies sehr willkommen.


Es ist dort, nur nicht standardmäßig in Windows installiert ... sevenforums.com/network-sharing/…
Moab

Ja, nein, siehe den ersten Link in meiner Frage. Ich weiß, es ist eine Art Loopback-Adapter, aber Sie können immer noch nicht einfach davon aufzeichnen.
Slhck

Aus welchem ​​Hintergrund sprichst du? Wenn Sie einen Programmierhintergrund haben, drehen Sie ihn als Programmierfrage und fragen Sie bei Stackoverflow.
Barlop

Nimmt Drahthai es nicht auf?
Barlop

@barlop Nein, es hat nichts mit Programmierung zu tun. Meine Frage ist, warum sie es nicht auf eine "richtige" oder anderweitig nützliche Weise implementiert haben. Wireshark kann es nicht aufnehmen, wie WinPcap es nicht kann.
Slhck

Antworten:


13

Historische Gründe. Unix / Linux hat sich von Grund auf um das Netzwerk gekümmert. Während MS-DOS / Windows das Netzwerk im Nachhinein angeschraubt hat, wurde anfangs "NetBIOS" anstelle von TCPIP von Windows verwendet.

Erst als Netscape auf den Markt kam, musste Microsoft einen TCPIP-Stack installieren und das Vorhandensein des Internets bestätigen. Zuvor mussten Sie Ihren eigenen Stack zusammenstellen, um mit Unix-Rechnern zu sprechen, und das Privileg gut bezahlen.

Ich hoffe, dieser historische Kontext hilft Ihnen dabei, zu verstehen, warum MS-Windows in Bezug auf eine ordnungsgemäße Vernetzung noch nicht wirklich vorhanden ist. Um eine Auto-Analogie zu nehmen, ist es ein bisschen wie zu fragen, warum Motorräder keine vier Räder haben. (Ja, das ist eine sehr schlechte Analogie ...)

Bevor es wichtig wurde, online zu gehen, gab es viele LAN-Protokolle - DECnet, Token Ring, Novell und Microsofts Bemühungen, die mit Windows 3.11 einhergingen - nur echte Experten konnten diese verschiedenen Boxen zum gemeinsamen Sprechen bringen, und das Networking war eine wahrhaft dunkle Kunst.


1
"Von Grund auf" - waren Sie sicher, dass die ersten Versionen von Unix Netzwerkfähigkeiten hatten? Auch zum Zeitpunkt der Netscape, Microsoft nicht haben einen TCPIP - Stack - Sie hatten Ihre eigenen zu installieren.
John Saunders

-1

Ernsthaft? Sind Sie sicher, dass 127.0.0.1 nicht funktioniert?

Voraussetzung ist, dass 127.0.0.X auf denselben Computer geroutet ist. Es ist Teil des IPV4-Standards. Wenn Microsoft es nicht implementiert, bricht es die Spezifikation und ich würde es überraschen, da der TCP / IP-Stapel von "Microsoft" wirklich der BSD-Stapel ist und ich weiß, dass sie es implementieren.

Ich weiß, dass "lo" nicht als Schnittstelle aufgeführt ist, aber das spielt keine Rolle. Es ist sowieso nur eine Abkürzung.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.