Dossier Vista : deuxième partie
Rédigé par le 22 février 2006
[ Logiciel ]

imprimer Téléchager en pdf cette actualité Les articles sur votre site Partager cet actualité par email
 
Le modèle actuel de couches réseaux date du début des années 90. Il commençait à montrer des signes de faiblesses en termes d’extensions et d’adaptations. NetIO (Next Generation Network Protocol Stack), la nouvelle couche réseau de Vista, a été totalement reconçue et recodée.


Elle apporte de fortes améliorations en termes de fiabilité, performances et sécurité. Vista inclut la sixième version de NDIS (Network Device Interface Specification) qui est la couche faisant le lien entre les pilotes réseaux et les couches basses du réseau. NDIS intègre un nouveau modèle de pilote « Light Weight Filter »(LWF), beaucoup plus robuste et performant. Ce nouveau modèle permettra aux pilotes d’être ajoutés et enlevés de la pile réseau sans pour autant casser les connexions existantes.

La technologie Receive-Side Scaling permet de partager le traitement du trafic réseau entre plusieurs processeurs, cela étant particulièrement intéressant pour les serveurs. Avec l’arrivée des cartes réseaux de 10GBits et plus, le traitement des paquets entre les différentes couches réseaux peut faire augmenter dramatiquement le taux d’utilisation du processeur. Plusieurs technologies servent à alléger la charge du processeur :

  • TCP Chimney offre des mécanismes pour décharger le traitement TCP et IP (versions 4 et 6) vers la carte réseau
  • RDMA Chimney permet de transférer un tampon de données d’un ordinateur à un autre sans utilisation du CPU
  • IPSec Chimney décharge le CPU pour le protocole IPSec destiné à sécuriser l’IP.

Ces technologies nécessitent des cartes réseaux récentes. NVIDIA avait annoncé le support du Chimney sur ses chipsets NForce4.

Vista inclut également une toute nouvelle implémentation de la pile TCP/IP : la pile «TCP/IP Next Generation ». Contrairement à Windows XP et 2003 Server qui gèrent deux piles séparées pour les versions 4 et 6 d’IP, Vista possède une pile unique où IPv4 et IPv6 cohabitent. L’IPv6 est activée maintenant par défaut, ce qui implique que toutes les premières tentatives de connexion se feront avec cette version. Cette version 6, on ne cesse de le répéter depuis quelques années, a plusieurs avantages :

  • Les adresses IP sont codées sur 128 bits, ce qui autorisera la connexion d’un nombre quasi illimité d’ordinateurs à Internet. Les entreprises ne seront plus obligées de passer par des routeurs NAT.
  • Le routage entre les différents nœuds du réseau est bien meilleur qu’avec la version 4. Les paquets sont plus rapidement envoyés d’un routeur à un autre.
  • L’implémentation de l’IPv6 requiert par défaut le protocole IPSec qui permet de crypter et d'authentifier une connexion IP. Sur XP et 2003 l’implémentation d’IPSec pour IPv6 était incomplète, ce n’est plus le cas sur Vista.

Les utilisateurs n’ayant pas encore une connexion internet IPv6, il est nécessaire de pouvoir accéder au réseau IPv6 derrière une connexion IPv4. La technologie Teredo, déjà présente avec le pack réseau avancé de Windows XP Service Pack 1, est maintenant intégrée et activée par défaut. Teredo permet de faire passer des paquets IPv6 dans des paquets UDP sur IPv4. Ces paquets sont envoyés à un serveur NAT Teredo qui permet alors la connexion au réseau IPv6. Microsoft propose déjà un serveur Teredo par défaut sur les clients Windows (teredo.ipv6.microsoft.com) mais Wanadoo, par exemple, en propose également un (teredo.ipv6.wanadoo.fr). Teredo, sous Vista, gère maintenant les NAT symétriques et les membres d’un domaine.

Plusieurs préférences du TCP, jusqu’à maintenant statiques, sont maintenant déterminées automatiquement. La taille de la fenêtre de réception TCP est par exemple déterminée dynamiquement selon l’activité du réseau, et est réajustée constamment. A noter que cette option existait déjà depuis quelque temps sous Linux.

Le protocole Compound TCP (CTCP) est destiné aux serveurs à large bande passante qui envoient de grosses quantités de données. En test interne, Microsoft a remarqué, avec l’utilisation de ce protocole, que le temps mis pour envoyer de grands fichiers sur une connexion 1Gb/s, avec un RTT (round-trip delay time) de 50ms, a été réduit de moitié.

Entre les connexions multi-utilisateurs et les différents réseaux, il n’est pas souhaitable que le trafic soit relayé n’importe où et Vista supporte en ce sens le routage compartimenté. Un compartiment est une combinaison d’interfaces réseaux avec un login qui possède sa propre table de routage IP. Les compartiments sont isolés entre eux. On peut ainsi, par exemple, en se connectant sur un VPN, séparer la connectivité partielle entre l'accès internet et le réseau intranet.

XP intégrait un QOS (quality of service) générique pour gérer le trafic réseau et exploiter au mieux la bande passante. Vista intègre pour sa part également un QOS pour les entreprises. La stratégie de configuration permet de fixer une bande passante ou de donner la priorité à un type d’utilisation réseau. On peut le fixer pour une application ou une adresse IP et un port TCP/UDP précis. Par exemple, QWAVE (Quality Windows Audio-Video Experience). Elle utilise des techniques avancées pour automatiquement gérer la bande passante pour la VoIP, le streaming, etc.


Le pare-feu de Vista a subi lui aussi un lifting conséquent, ce que personne d’ailleurs ne lui reprochera. Il gère désormais les connexions entrantes et sortantes. Il bloque par défaut les connexions entrantes (sauf exceptions) et autorise par défaut les sortantes (sauf exceptions). Ces exceptions du nouveau pare-feu peuvent être configurées selon plusieurs critères :

  • IP source et destination
  • Ports TCP et UDP sources et destinations
  • Interfaces réseaux
  • ICMP et ICMPv6
  • Comptes Active Directory

On peut aussi appliquer une exception pour les services. Cette solution est d’ailleurs utilisée par le Windows Service Hardening abordé plus haut. Le pare-feu est basé sur le Windows Filtering Platform (WFP), dont nous avions expliqué le fonctionnement dans la première partie du dossier. Cette technologie permet entre autres de remplacer et faire coexister plusieurs pare-feux sans risque de conflits. Le WFP donne en outre un accès très fin à la couche TCP/IP.


Le pare-feu exploite les fonctionnalités du protocole IPSec qui permet d’authentifier et de crypter les connections d’un utilisateur pour éviter l’interception de données. Le protocole IPSec agissant au même niveau que la couche IP, il reste transparent pour les applications. Le pare-feu de Vista devient ainsi authentifiant. L’administrateur peut aussi gérer les stratégies de sécurité d’IPSec comme il le veut et il n’y a plus qu’une seule stratégies de sécurité commune pour le pare-feu et IPSec. Sur Windows XP et 2003 Server, les stratégies elles étaient séparées et pouvaient donner lieux à des préférences dupliquées ou contradictoires.

Sous Windows XP et 2003 Server également, l’infrastructure Wifi avait été conçue pour émuler une connexion Ethernet, qui limitait fortement son évolution. Vista gère une infrastructure Wifi native qui devrait permettre une plus grande flexibilité en supportant des fonctionnalités avancées de la norme IEEE 802.11. Le fait que Vista gère une grande partie des fonctionnalités Wifi devrait rendre plus simple pour les constructeurs le développement des pilotes. En outre, il devrait aussi gérer WPA 2, un protocole de sécurité. L’architecture native devrait fournir en outre une API pour que les tierces parties puissent étendre les fonctionnalités existantes. Ces composants extensibles pourraient également proposer une interface de configuration personnalisée et intégrée à Windows.

Les utilisateurs passent souvent des heures à essayer de configurer un réseau et de trouver une panne. Network Diagnostics Framework (NDF) est un composant de Vista qui pourrait régler un bon nombre de problèmes. C’est un module réseau capable de détecter toutes sortes d’évènements ou de pannes. NDF récupère un maximum d’informations et les analyse pour y trouver des causes potentielles. L’utilisateur est ensuite interrogé avec une série d’options pour l’aider à résoudre le problème mais peut aussi résoudre le problème automatiquement.

Sur Windows XP, pour pouvoir intercepter des paquets réseaux d’un protocole, on utilisait une « bidouille » assez sale. Les pare-feu utilisaient par exemple cette méthode. Nous en avons déjà parlé dans la première partie : Windows Filtering Platform (WFP) propose sur Vista une API complète pour filtrer des paquets réseau. Ce sera la seule méthode possible sur Vista du fait de la réécriture complète de la pile réseau.

Windows Connect Now est un ensemble de composants ayant pour but de pouvoir connecter des périphériques réseaux à Windows. Il utilise le protocole PnP-X qui est destiné à détecter les périphériques réseaux comme le fait le Plug & Play avec les périphériques physiques. Pour découvrir ces périphériques, il peut utiliser le protocole UPNP (Universal Plug & Play) mais également le Devices Profile For Web Services (DPWS) qui est en fait un type de Web Services offrant l’utilisation d’un périphérique. Les Web Services utilisent des normes Web comme SOAP et sont déjà couramment utilisés sur Internet. PnP-X crypte les données transitant entre Vista et le périphérique sur le réseau pour des raisons de sécurité.


Windows Connect Now devrait jouer un rôle important sur Vista, qui se veut un système « ultra connecté ». De plus, un nombre important de nouveaux périphériques fonctionnant en Wifi est attendu. Au CES 2006 par exemple, des écrans Wifi ont été présentés. Vista est présenté comme pouvant se connecter à un nombre important de périphériques high-tech de la vie quotidienne.

Une API pour les flux RSS et Atom sera également intégrée à Vista pour permettre aux applications de proposer du contenu « Live ». Windows Communication Foundation (WCF), connu aussi sous l’ancien nom de code Indigo, est un framework de très haut niveau qui permettra aux développeurs de concevoir des applications réseaux en très peu de temps.

WCF est construit sur un modèle unifié qui permet l’accès à un grand nombre de technologies Windows précédentes mais aussi à un nombre important de protocoles ouverts. Il intègre un modèle de Web services qui devrait faciliter le développement d’applications distribuées. WCF a d’ailleurs été conçu pour simplifier au maximum l’interopérabilité avec d’autres systèmes d’exploitation. Son modèle de conception est extensible et doit permettre, dans le futur, de gérer de nouveaux types de protocoles. Il peut aussi être utilisé avec plusieurs topologies réseaux différentes dont le P2P.



Dans le quotidien, nous avons à gérer toutes sortes d’identités. En s’inscrivant sur un site Web par exemple, ou en achetant un film ou un livre sur une boutique en ligne. InfoCard est un système de gestion d’identités sur Vista pour WCF. Vous pouvez créer des cartes virtuelles contenant différentes informations sur une identité. Une carte est en réalité un certificat numérique autosigné contenant une partie d’identité publique et une autre partie avec des informations privées comme le numéro de carte bancaire. InfoCard peut alors fonctionner sur deux modes.

  • Le premier vous permet de vous connecter à un site web standard. Pour vous inscrire le site demande une adresse mail. InfoCard va lancer automatiquement un sélecteur de cartes qui fournira toutes les cartes présentes ayant les caractéristiques demandées. L’utilisateur en sélectionne une compatible et InfoCard envoie les informations demandées et non la totalité. Le site reçoit ces informations et valide la saisie, l’utilisateur pouvant ainsi se connecter.
  • Le deuxième mode travaille avec un fournisseur d’identité tierce. Admettons que vous achetiez un DVD en ligne : InfoCard va demander les informations nécessaires au magasin. Ensuite, le sélecteur d’identité s’affiche à l’écran. L’utilisateur choisit une carte compatible. Les informations sont fournies à un site bancaire qui va vérifier les informations et va attester de la validité des informations au magasin. Ce dernier ne récupère donc à aucun moment les informations vitales.

InfoCard peut servir aussi à authentifier un site par une tierce partie comme Verisign. Au niveau de la sécurité, le sélecteur de cartes s’affiche dans une zone d’affichage isolée du bureau pour empêcher une technique d’attaque standard consistant à récupérer ce qui s’affiche à l’écran pour voler des informations. De même, les informations sur le disque dur sont cryptées et les communications sont également authentifiées et cryptées selon les protocoles WS-* et SAML (normes W3C). InfoCard peut aussi utiliser plusieurs systèmes de certificat comme X509 ou Kerberos.

Microsoft a dû tirer un enseignement de l’échec de Passport, qui était un système d’identité centralisé et propriétaire qui n’a pas réussi à s’imposer. InfoCard repose entièrement sur des standards web et ne nécessite pas de centralisation. Sur identityblog.com on trouve un papier à destination des systèmes non Microsoft pour implémenter cette technologie. On sait par exemple désormais que PHP devrait intégrer InfoCard.