Microsoft hat am 8. November 2016 den Netzwerkaufbau des Windows Subsystem for Linux beschrieben. Der technische Beitrag erklärt, wie WSL Linux-Netzwerkaufrufe an den Windows-Netzwerkstack weiterreicht. Es handelt sich um eine Beschreibung der Architektur, nicht um die Ankündigung einer neuen Windows-Version.
Linux-Systemaufrufe treffen auf Winsock Kernel
Für Internet-Sockets führt der Weg über den LXCore-Treiber und die Bibliothek WslSocket.lib zu Winsock Kernel, kurz WSK. Die Linux-Anwendung verwendet weiterhin ihre BSD-Socket-Schnittstellen. Sie wird nicht auf die übliche Win32-Winsock-API umgeschrieben.
Die Unterstützung umfasst TCP und UDP. Raw-Sockets sind im beschriebenen Stand auf ICMP begrenzt. Lokale Unix-Sockets behandelt WSL dagegen innerhalb des Subsystems, ohne sie durch WSK zu leiten.
DNS wird abgeglichen, Routingabfragen sind noch unvollständig
Beim Start erfasst der LXSS Session Manager die Windows-Netzwerkschnittstellen und DNS-Einstellungen. WSL übernimmt diese Informationen und schreibt die DNS-Konfiguration in /etc/resolv.conf. Änderungen an der Windows-Konfiguration werden ebenfalls weitergegeben.
Bei Netlink unterstützt Microsoft ausgewählte Abfragen aus NETLINK_ROUTE. Schnittstellen und Adressen lassen sich über RTM_GETLINK und RTM_GETADDR ermitteln. Die Routingtabellen-Abfrage RTM_GETROUTE wird ausdrücklich erst als geplant geführt. Der Name der Netlink-Familie bedeutet hier also keine vollständige Linux-Kompatibilität.
Die Netzwerkarchitektur ist außerdem von der angekündigten besseren Zusammenarbeit zwischen WSL und Sicherheitssoftware zu unterscheiden. Eine grundsätzlich unterstützte Socket-Funktion garantiert nicht, dass eine konkrete Firewall- oder Antivirus-Konfiguration die Verbindung zulässt.

