TCP/IP-Stack im Wandel: von schwachen und starken Host-Modellen
Kommen auf einem Rechner mehrere IP-Adressen zum Einsatz, so ist mit einem Blick in die Netzwerkeinstellungen nicht immer sofort ersichtlich, welche der zur Verfügung stehenden IP-Adressen beispielsweise dann an der Reihe ist, wenn der Rechner Netzwerkpakete verschickt. Der Netzwerk-Stack verwendet dazu einen Vorgang, der als Source IP Address Selection (Adressauswahl für die Quell-IP) bezeichnet wird.
Die Übergabe der lokalen IP-Adresse, also der Source-IP, geschieht dann, wenn mittels Windows Sockets eine entsprechende Verbindung aufgebaut wird. Bis zu den Versionen Windows XP und Windows Server 2003 setzten die Microsoft-Entwickler hier auf ein sogenanntes "schwaches Hostmodell" für alle IPv4-Netzwerkschnittstellen: Diese Vorgehensweise gab Entwicklern größtmögliche Freiheiten, wenn sie Programme entwarfen, die Netzwerkzugriffe ausführten.
Allerdings verlagert dieses Modell auch die Verantwortung für die Art und Weise, wie sich das Netzwerkprogramm verhält, komplett auf die Entwickler: Sie legten fest, auf welche Art ihr Programm auf den TCP/IP-Stack zugriffen hat, und auch, wie das Programm sowohl ein- als auch ausgehende Netzwerkpakete abarbeitete.
Der IP-Stack muss jedes Mal, wenn auf dem System ein Unicast-Paket eintrifft, entscheiden, ob das Paket an den lokalen Computer gesendet wurde. Dass trifft grundsätzlich dann zu, wenn das Ziel dieses Pakets mit einer der Adresse übereinstimmt, die einer Netzwerkschnittstelle des Systems zugewiesen wurde. Bei einem schwachen Host-Modell wird jedes Paket akzeptiert, das an dieses lokale System geschickt wurde. Das ist dabei völlig unabhängig davon, über welche der Schnittstellen dieses Paket empfangen wurde. So bietet das schwache Host-Modell zwar im Prinzip eine bessere Netzwerkkonnektivität, doch dafür das System ist weitaus anfälliger für bestimmte Formen der Netzwerkangriffe: So kann ein Angreifer von außerhalb Netzwerkpakete an dieses System senden, die dann Dienste angreifen, die eigentlich nur für Rechner im Intranet erreichbar sind.
Beginnend mit dem neuen TPC / IP-Stack in Windows Vista hat Microsoft alle Windows-Systeme mit einem starken Host-Modell ausgestattet. Bei dieser Implementierung sind Sende- und Empfangsverhalten anders: Pakete an den lokalen Computer werden nur dann akzeptiert, wenn die Adresse, an die das Paket gesendet wurde, mit der Adresse der Schnittstelle übereinstimmt, über die das Paket auch empfangen wurde. Standardmäßig wird auf allen aktuellen Windows-Systemen die Einstellung so gewählt, dass dieses starke Host-Modell zum Einsatz kommt. Allerdings können Administratoren die Einstellung auch explizit verändern. Dazu stehen entsprechende netSh-Kommandos bereit, die sowohl eingehende (WeakHostReceive) als auch ausgehende (WeakHostSend) Pakete betreffen:
netsh interface IPv4 set interface <Name_Netzwerkschnittstelle> WeakHostSend=enabled Ok
netsh interface IPv4 set interface <Name_Netzwerkschnittstelle> WeakHostReceive=enabled Ok
Dabei steht "Name_Netzwerkschnittstelle" für den Adapter, auf dem diese Einstellung vorgenommen werden soll. Wollen Sie wieder zur Standardeinstellung zurückkehren, so gelingt das mit den gleichen Aufrufen, nur dass in diesem Fall disabled verwendet werden muss. Wer sich noch tiefer in die technischen Hintergründe zum Thema "Host-Modell" einarbeiten möchte, findet im "Cable Guy Blog" auf Microsofts TechNet einen schon etwas älteren englischsprachigen Artikel, der detailliert die Aspekte rund um schwache und starke Host-Modelle darstellt.