Windows 7

Blog von Microsoft Deutschland

Virtual WiFi macht Windows 7 zum Access Point

Virtual WiFi macht Windows 7 zum Access Point

  • Comments 10
  • Likes

Wireless Local Area Networks (WLAN) erfreuen sich steigender Popularität. Fast jeder, den ich kenne, hat zu Hause einen WLAN-Router stehen und nutzt die Freiheit, mit dem Laptop auch auf dem Balkon im Internet surfen zu können.

Ein WLAN kann dabei in zwei unterschiedlichen Modi betrieben werden: Mobile Geräte wie beispielsweise Notebooks können entweder direkt untereinander oder mit einem gemeinsamen Zugriffsknoten verbunden werden. Im ersten Fall spricht man von einem Adhoc-Netzwerk. Diese Variante sieht man aber recht selten, da darüber nur gemeinsam Daten ausgetauscht werden können und kein Internetzugriff hergestellt werden kann.

Die zweite Variante mit einem gemeinsamen Zugriffsknoten nennt sich Infrastruktur-Netz. Sie wird am häufigsten in Verbindung mit einem drahtlosen Router eingesetzt, der die Verbindung zum Internet (beispielsweise über DSL) allen angeschlossen Clients gemeinsam zur Verfügung stellt.

Bisher ist es so, dass eine drahtlose Netzwerkschnittstelle unter Windows nur in einem Modus betrieben werden kann. Entweder Adhoc- oder Infrastruktur-Netz. Weiterhin kann man mit nur einem drahtlosen Netzwerk pro WLAN-Karte zur gleichen Zeit verbunden sein. Bis Windows Vista sah die WiFi-Architektur so aus:

Virtual-Wifi-1

Seit 2002 arbeitete Microsoft Research unter dem Codenamen MultiNet an einer Virtualisierung der WiFi-Architektur. Die Ergebnisse wurden als Projekt VirtualWiFi der Öffentlichkeit vorgestellt und in mehreren Projekten eingesetzt:

Entwickelt für Windows XP wurde es bisher über 100.000 mal heruntergeladen und an mehr als 400 Universitäten als Bestandteil des Mesh Academic Resource Toolkits weltweit verteilt.

VirtualWiFi abstrahiert eine WLAN-Karte, so dass sie als virtueller Netzwerkadapter mehrfach im System erscheint. Jede virtuelle Karte kann dann vom Anwender separat konfiguriert werden und erlaubt damit die Verbindung zu unterschiedlichen drahtlosen Netzwerken zur gleichen Zeit über nur einen physikalischen Netzwerkadapter.

Wofür kann man das nun gebrauchen? Zum Beispiel kann man gleichzeitig mehrere Rechner drahtlos vernetzen, um darüber spielen zu können und gleichzeitig einen der Rechner mit einem (kostenpflichtigen) Hotspot verbinden, über den dann alle Clients sich den Zugang teilen. Ein anderes Beispiel ist die Heimvernetzung, wenn das Funksignal des WiFi Access Points nicht bis in alle Ecken des Hauses reicht. Mit VirtualWiFi kann ein Computer nun gleichzeitig auch als Repeater arbeiten und die Funkabdeckung erhöhen.

In Windows 7 griff Microsoft diese Technologie auf und baute sie direkt in das Betriebssystem ein. Im ersten Schritt wurde dafür die generelle WiFi-Architektur verändert, um die Virtual WiFi Infrastruktur zu integrieren:

Virtual-Wifi-2

Im nächsten Schritt kamen dann alle notwendigen Funktionen hinzu, um einen Software Access Point (SoftAP) abbilden zu können. Den größten Teil deckt dabei Microsoft ab. Die Hersteller müssen lediglich in ihren Netzwerktreibern SoftAP unterstützen. Zur weitreichenden Untertützung der neuen Technologie wurde die Unterstützung von SoftAP als Bedingung für die Erfüllung des Windows 7 Logotests für die Treiber drahtloser Netzwerkkarten gemacht:

Virtual-Wifi-3

In Windows 7 kann Virtual WiFi eine physikalische WLAN-Karte um eine zweite virtuelle Karte erweitern. Wir nennen das neue Feature Wireless Hosted Network – auf Deutsch gehostetes Netzwerk. In der MSDN finden Hersteller eine Dokumentation zur Implementierung von Virtual WiFi in einen 802.11 Miniport-Treiber:

Die grundlegende Einrichtung, das Netzwerk und der Betrieb werden dabei über die folgende Funktionen gesteuert:

Für Anwender sind diese Funktionen in Kommandos der Netshell eingeflossen. netsh wlan /? zeigt die grundlegende Bedienung:

  • netsh wlan start hostednetwork
    Startet das gehostete Netzwerk.
  • netsh wlan stop hostednetwork
    Stoppt das gehostete Netzwerk.
  • netsh wlan set hostednetwork [mode=]allowed|disallowed
    Aktiviert oder Deaktiviert das gehostete Netzwerk.
  • netsh wlan set hostednetwork [ssid=]<ssid> [key=]<passphrase> [keyUsage=]persistent|temporary
    Konfiguriert die Einstellungen für das gehostete Netzwerk. Es wird immer WPA2-PSK mit AES zur Verschlüsselung genutzt.
  • netsh wlan refresh hostednetwork [data=] key
    Aktualisiert den Schlüssel für das gehostete Netzwerk.
  • netsh wlan show hostednetwork [[setting=]security]
    Zeigt Informationen über das gehostete Netzwerk an.
  • netsh wlan show settings
    Zeigt die globalen WLAN-Netzwerkeinstellungen an.

Wie verhält sich das nun in der Praxis? Man benötigt als erstes eine unterstützte Netzwerkkarte. Die mit Windows 7 ausgelieferten WLAN-Treiber unterstützen für fast alle Karten das gehostete Netzwerk. Ich habe es mit Karten von Atheros und Broadcom selbst getestet. Lediglich der Treiber von Intel beherrscht die notwendigen Erweiterungen bisher nicht. Es wird aber von Intel einen aktualisierten Treiber geben, den wir über Windows Update zur Verfügung stellen werden.

Als nächstes öffnet man eine Eingabeaufforderung als Administrator und gibt folgendes in einer Zeile ein:

netsh wlan set hostednetwork mode=allow ssid="Virtual WiFi" key="mh29-dyi9-txwt" keyUsage=persistent

Die SSID und den Key passt man natürlich an die eigenen Wünsche an. Wenn man alles richtig eingegeben hat, bekommt man als Antwort:

  1. Der Modus für das gehostete Netzwerk ist so festgelegt, dass das gehostete Netzwerk zugelassen wird.
  2. Die SSID des gehosteten Netzwerks wurde erfolgreich geändert.
  3. Die Benutzerschlüsselpassphrase des gehosteten Netzwerks wurde erfolgreich geändert.

Im Gerätemanager erscheint dann eine neue Netzwerkkarte:

Virtual-WiFi-4

Sie taucht als Drahtlosnetzwerkverbindung 2 im System auf:

Virtual-WiFi-5

Mit netsh wlan start hostednetwork startet man dann das gehostete Netzwerk. Windows 7 wird auf dem Host den neuen Adapter automatisch mit dem neuen Netzwerk verbinden…

Virtual-WiFi-7

…und den Anwender fragen, wie er das Netzwerk einstufen möchte. Ich habe im obigen Beispiel “Arbeitsplatznetzwerk” gewählt. Die Standardeinstellung lautet “Öffentliches Netzwerk”:

Virtual-WiFi-6

Informationen über den derzeitigen Status erhält man mit netsh wlan show hostednetwork:

Einstellungen für das gehostete Netzwerk
-----------------------
    Modus                   : Zugelassen
    SSID-Name              : "Virtual WiFi"
    Maximale Clientanzahl  : 100
    Authentifizierung         : WPA2-Personal
    Verschlüsselung                 : CCMP

Status des gehosteten Netzwerks
---------------------
    Status                 : Gestartet
    BSSID                  : 00:21:00:ed:cb:7b
    Funktyp             : 802.11g
    Kanal                : 1
    Anzahl Clients      : 0

Man sieht, dass das Netzwerk betriebsbereit ist und sich noch kein Client verbunden hat. Wenn man nun auf einem anderen Client das Netzwerkicon in der Taskleiste rechts unten klickt, erscheint das neue Netzwerk als ganz normales drahtloses Netzwerk und kann entsprechend verbunden werden:

Virtual-WiFi-8

Wenn man nun zum Beispiel sich in einen Hotspot eingebucht hat, kann man mit Hilfe des gehosteten Netzwerks ein zweites WLAN eröffnen, das nur für einen selbst zur Verfügung steht. Hier kann man dann weitere Laptops, Spielekonsolen, Musikplayer mit drahtlosem Internetzugang, Smartphones, etc. einbinden und die Internetverbindung über den Hotspot teilen. Mir erspart das zukünftig das Mitschleppen von einem WLAN-Router, wenn ich mal wieder unterwegs bin.

Damit Mitglieder des gehosteten Netzwerks den Internetzugang gemeinsam nutzen können, muss lediglich in den Eigenschaften der Drahtlosnetzwerkverbindung, die mit dem Hotspot verbunden ist, die gemeinsame Nutzung der Internetverbindung aktiviert und die Drahtlosnetzwerkverbindung 2 als Heimnetzwerkverbindung festgelegt werden:

Virtual-WiFi-10

Man könnte darüber natürlich auch andere Arten von Internetzugängen drahtlos teilen. Das können drahtgebundene Zugänge über ein Ethernetkabel, als auch drahtlose Zugänge über UMTS sein, wenn sich die UMTS-Karte als Wählverbindung im System einrichten lässt. Windows 7 agiert dann wie ein Gateway zwischen den Netzen. Das gehostete Netzwerk wird dabei mittels NAT gegenüber Zugriffen aus dem äußeren Netz abgeschottet. Ein DHCP-Server wird durch die Konfiguration der gemeinsamen Nutzung der Internetverbindung automatisch gestartet und vergibt an die Clients IP-Adressen aus einem vordefinierten Segment.

Zum Anhalten des gehosteten Netzwerks gibt man netsh wlan stop hostednetwork ein. Das gehostete Netzwerk wird dann beendet.

Comments
  • Hat des schonmal jemand mit ner Realtek RTL8187 getestet? Ich bekomms bei mir nich zum laufen...

    Beim starten bekomme ich immer folgende Meldung:

    Das gehostete Netzwerk wurde nicht gestartet.

    Die Gruppe oder Ressource haben für diesen Vorgang nicht den richtigen Zustand.

    netsh wland set funktioniert komischerweise...

  • Wie schon oben geschrieben: Der WLAN-Treiber muss das unterstützen. Bei Intel-Karten habe ich genau die gleiche Fehlermeldung und bei denen weiss ich, dass der aktuelle Treiber das Feature noch nicht unterstützt.

    Ich habe leider keine Realtek-Karte zum Testen.

  • auf der intel seite gibt es neue treiber, für meine 5100agn funkt es nun und mein iPhone konnte sich ohne Probleme verbinden.

  • Das kann Linux schon lange, und mit einem W-Lan Accesspoint für 20 Euro ging das auch schon vor Jahren. Und in Ad-hoc Netzwerken kann man auch gleichzeitig mit dem Internet verbunden sein. Also wer braucht das? Ein Laptop oder PC als Repeater? Ich glaube MS hat andere Baustellen, die dringender sind. Wäre der Großteil der Bevölkerung nicht so unheimlich engstirnig, gäbe es wahrscheinlich mittlerweile kein MS mehr. Linux und OSX zeigen doch wie es geht.

  • "Das kann Linux schon lange" und deswegen hat es sich ja auch so phänomenal durchgesetzt. Da unten, neben dem 1% Balken. Wenn das in Windows drin ist, dann kann es die Masse aller Benutzer zukünftig nutzen. Das macht schonmal den ersten Unterschied.

    "Mit einem W-Lan Accesspoint für 20 Euro ging das auch schon vor Jahren" - na dann verrat uns doch mal, welchen AP Du meinst. Und Du vergißt dabei, dass die Integration in Windows gerade dafür sorgt, dass man den AP nicht mitschleppen muss, wenn man unterwegs ist.

    "Also wer braucht das?" Na jeder, der es braucht. Wenn Du es nicht brauchst - schön. Aber lass doch den anderen, die es brauchen, das Feature. Und dann noch MS Engstirnigkeit vorwerfen. Du bist doch hier engstirnig. Die Welt braucht nur Linux und MacOS und dann ist alles gut? Hey, das sind ca. 6% der Anwender in Deutschland. Und was macht der Rest?

    Der Sinn und Zweck des ganzen ist ganz einfach: Man kann ein WLAN damit über WLAN teilen. Und das finde ich toll. Im Hotspot eingebucht einfach über ein zweites WLAN andere Clients an der Internetverbindung teilnehmen lassen. Supereinfach einzurichten - wer die zwei Zeilen nicht eintippen kann, der kann auch eine GUI benutzen: http://connectify.me/

    Wie machen das nochmal die unheimlich nichtengstirnigen Linux- und OSX-Benutzer? Klar, ist doch bestimmt ganz einfach dort zu konfigurieren. Oder etwa nicht? Schau Dich mal bei DD-WRT im Forum um, wie schwierig die Konfiguration unter Linux ist. Wieviele Probleme die Leute haben, es zum Laufen zu bringen. Vor allem mit WPA2. Das ganze Gefrickel funktioniert einfach nicht stabil. Lies selbst nach.

    Mann o mann, Du kannst ja gern Deine Zeit mit Linux & Co. verschleudern, wenn Du nix besseres zu tun hast. Aber lass doch mal den Missionierungseifer. Vielleicht wollen ja alle, die Linux & Co. nicht benutzen, das auch gar nicht nutzen? Weil es zu unkomfortabel ist. Wäre das so abwegig?

  • Funktioniert das auch anders herum, d.h. gleichzeitiger Connect zu 2 verschiedenen WLANs?

  • wo konfiguriere ich aber den Kannal???

  • ich finde es ganz toll das mann mit win7 sein wlan teilen kann, nutze es oft (wenn ich  mit handy ins internet will oder mit anderen mobilen geräten) geht das starten des hostetednetwork auch einfacher, ohne Eingabe des Befehl`s?  

    interessieren würde es mich auch ob mann gleichzeitig 2 verbindungen herstellen kann, obwohl ich meine das es garnicht möglich ist.....

  • Pack Dir doch den Befehl in eine cmd-Datei. Die kannst Du dann per rechtem Mausklick als Administrator starten. Ich habe so einen Batch auch schonmal eingerichtet zusammen mit dem Aufgabenplaner. Der startet den Batch nach jedem Aufwachen des Rechners oder nach dem Booten. Oder schau Dir mal http://connectify.me an.

    Was meinst Du mit 2 Verbindungen genau? Man kann per WLAN mit einem Hotspot verbunden sein und gleichzeitig das Netzwerk freigeben. An dem freigegebenen Netzwerk können auch mehrere Geräte angeschlossen werden.

    VG, Daniel

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment