Les bases fondamentales des réseaux
Introduction
Un réseau informatique permet à des équipements et à des applications d'échanger des données. Ces échanges reposent sur des adresses, des protocoles de communication et des règles qui déterminent comment les données circulent.
Dans Microsoft Azure, les réseaux permettent de connecter les ressources entre elles, de contrôler leur accès et de les relier à Internet ou au réseau d'une entreprise.
Les réseaux virtuels
Un réseau virtuel, appelé Virtual Network ou VNet dans Azure, constitue un réseau privé défini dans l'infrastructure Microsoft. Il permet à des machines virtuelles de communiquer entre elles à l'aide d'adresses IP privées.
Un réseau virtuel possède un espace d'adressage, composé d'une ou plusieurs plages d'adresses IP. Par exemple, la plage 10.0.0.0/16 peut être utilisée pour adresser les ressources d'un réseau. Le /16 indique que les 16 premiers bits identifient le réseau. Une adresse IPv4 comportant 32 bits, les 16 bits restants permettent de distinguer les adresses à l'intérieur de ce réseau. Chaque nombre de l'adresse représente 8 bits. Dans 10.0.0.0/16, les deux premiers nombres, 10.0, restent donc fixes, tandis que les deux derniers peuvent varier :
- Première adresse :
10.0.0.0 - Dernière adresse :
10.0.255.255 - Nombre total d'adresses : 2^16 = 65 536
Un VNet est associé à une région Azure. Plusieurs réseaux virtuels peuvent être reliés entre eux, y compris lorsqu'ils se situent dans des régions différentes.
Les sous-réseaux
Un sous-réseau, appelé subnet, représente une subdivision de l'espace d'adressage d'un réseau. Il permet d'organiser les ressources, par exemple selon leur rôle dans une application.
Un réseau virtuel utilisant la plage 10.0.0.0/16 peut contenir les sous-réseaux suivants :
| Sous-réseau | Plage d'adresses | Utilisation |
|---|---|---|
| Web | 10.0.1.0/24 |
Hébergement des serveurs Web |
| Application | 10.0.2.0/24 |
Hébergement des traitements applicatifs |
| Données | 10.0.3.0/24 |
Hébergement des serveurs de bases de données |
Les plages des sous-réseaux doivent appartenir à l'espace d'adressage du VNet et ne doivent pas se chevaucher. La séparation en sous-réseaux ne bloque pas, à elle seule, les communications. Azure permet par défaut le routage entre les sous-réseaux d'un même VNet. Des règles de sécurité doivent être définies pour limiter les échanges. Par exemple, elles peuvent autoriser les serveurs applicatifs à accéder aux bases de données, tout en interdisant cet accès aux serveurs Web. Ces règles peuvent être configurées à l'aide de groupes de sécurité réseau (NSG).
L'adressage IP
Les adresses IPv4 et IPv6
Une adresse IP identifie une interface réseau et permet d'acheminer les données vers leur destination. Deux versions sont utilisées :
- IPv4 : adresse sur 32 bits, généralement écrite sous la forme de quatre nombres séparés par des points, comme
10.0.1.4. - IPv6 : adresse sur 128 bits, écrite en hexadécimal, comme
2001:db8::1.
La suite de ce chapitre utilise principalement IPv4 pour simplifier les exemples.
Les adresses privées et publiques
Une adresse IP privée permet de communiquer au sein d'un réseau privé ou entre des réseaux privés interconnectés. Elle n'est pas directement routable sur Internet. Les plages privées IPv4 sont les suivantes :
| Plage | Notation CIDR |
|---|---|
De 10.0.0.0 à 10.255.255.255 |
10.0.0.0/8 |
De 172.16.0.0 à 172.31.255.255 |
172.16.0.0/12 |
De 192.168.0.0 à 192.168.255.255 |
192.168.0.0/16 |
Une adresse IP publique est routable sur Internet. Son utilisation ne signifie toutefois pas qu'une ressource est accessible : les règles de sécurité et la configuration du service doivent également autoriser la communication.
La notation CIDR et le masque de sous-réseau
CIDR (Classless Inter-Domain Routing, autrement dit routage interdomaines sans classe) décrit une plage d'adresses IP. Elle associe une adresse à un préfixe, comme dans 10.0.1.0/24. Le nombre situé après le caractère / indique combien de bits identifient le réseau. En IPv4 :
/16laisse 16 bits pour les adresses, soit 65 536 adresses./24laisse 8 bits, soit 256 adresses./26laisse 6 bits, soit 64 adresses.
Plus le préfixe est élevé, plus la plage est petite. Un préfixe /24 correspond au masque 255.255.255.0. La plage 10.0.1.0/24 s'étend de 10.0.1.0 à 10.0.1.255. Dans chaque sous-réseau IPv4, Azure réservant les quatre premières adresses et la dernière, un sous-réseau /24 dispose de 251 adresses attribuables aux ressources.
L'attribution des adresses
Une adresse IP privée peut être attribuée de manière :
- Dynamique : Azure sélectionne une adresse disponible dans le sous-réseau.
- Statique : une adresse précise est configurée pour la ressource.
Pour une machine virtuelle Azure, cette configuration s'effectue sur son interface réseau, appelée NIC (Network Interface).
Les protocoles et les ports
Un protocole définit les règles utilisées pour échanger des données. Deux protocoles de transport sont particulièrement courants :
- TCP : établit une connexion et fournit une transmission fiable et ordonnée des données.
- UDP : transmet des datagrammes sans garantir leur livraison ni leur ordre.
Un port permet d'identifier un service sur un équipement. Une même adresse IP peut ainsi héberger plusieurs services.
| Service | Protocole de transport habituel | Port par défaut |
|---|---|---|
| HTTP | TCP | 80 |
| HTTPS avec HTTP/1.1 ou HTTP/2 | TCP | 443 |
| DNS | UDP ou TCP | 53 |
| SSH | TCP | 22 |
| RDP | TCP et UDP | 3389 |
Par exemple, 10.0.1.4:443 désigne le port 443 de l'équipement utilisant l'adresse 10.0.1.4.
Le DNS
Le DNS, pour Domain Name System, permet notamment de traduire un nom, comme www.exemple.fr, en une adresse IP.
Les applications peuvent ainsi utiliser des noms plutôt que des adresses numériques. Dans Azure, des services DNS permettent de gérer la résolution des noms publics et privés.
Le routage et les passerelles
Le routage consiste à déterminer vers quelle destination intermédiaire transmettre un paquet pour atteindre son destinataire.
Une table de routage contient des règles associant des plages d'adresses de destination à un prochain saut, par exemple une passerelle ou un équipement de sécurité.
Une passerelle permet de communiquer avec un autre réseau. Dans Azure, une passerelle VPN peut notamment relier un réseau virtuel au réseau d'une organisation.
Azure crée des routes système. Des tables de routage personnalisées permettent d'adapter certains chemins, par exemple pour faire transiter le trafic par un équipement de sécurité.
Le modèle OSI
Le modèle OSI (Open Systems Interconnection), décrit les communications réseau au travers de sept couches. Chaque couche possède un rôle particulier :
| Numéro | Couche | Rôle |
|---|---|---|
| 7 | Application | Fournir les protocoles utilisés par les applications, comme HTTP ou DNS |
| 6 | Présentation | Définir la représentation des données : encodage, compression ou chiffrement |
| 5 | Session | Organiser les dialogues et gérer les sessions de communication |
| 4 | Transport | Assurer le transport entre applications, notamment avec TCP ou UDP |
| 3 | Réseau | Gérer l'adressage logique et le routage, notamment avec IP |
| 2 | Liaison de données | Transmettre les trames sur une liaison, notamment avec Ethernet |
| 1 | Physique | Transmettre les bits au moyen de signaux électriques, optiques ou radio |
Lors d'un envoi, les données traversent les couches depuis l'application vers le support physique. À la réception, elles parcourent le chemin inverse.
Le modèle OSI est un modèle de référence. Les protocoles réellement utilisés sur Internet s'organisent autour du modèle TCP/IP, dont les couches ne correspondent pas exactement aux sept couches OSI.
Dans Azure, cette distinction aide à comprendre les services : Azure Load Balancer intervient principalement à la couche 4, tandis qu'Azure Application Gateway traite le trafic Web à la couche 7.
Le filtrage des communications
Les communications réseau doivent être limitées aux échanges nécessaires au fonctionnement des applications.
Dans Azure, un groupe de sécurité réseau, ou NSG (Network Security Group), contient des règles qui autorisent ou refusent le trafic entrant et sortant. Ces règles prennent notamment en compte les adresses IP, les ports et les protocoles.
Pour une application organisée en trois sous-réseaux, on peut par exemple autoriser :
- Les connexions HTTPS vers les serveurs Web.
- Les appels des serveurs Web vers les serveurs applicatifs.
- Les connexions des serveurs applicatifs vers les bases de données.
Cette organisation associe la segmentation du réseau à des règles de filtrage pour contrôler les communications.