Domaines et adresses

2.1 Noms de domaines Internet

L’internet est organisé en domaines. On distingue les domaines supérieurs qui correspondent à un système autonome avec une responsabilité administrative propre des sous-domaines qui correspondront à chaque réseau particulier. Les domaines supérieurs sont soit de type organisationnels, soit de type géographique.

Il existe deux catégories de domaines supérieurs: les domaines fonctionnels,et les domaines géographiques.
Domaines fonctionnels:
COM: commerciaux;
EDU : enseignements;
GOV : gouvernementaux;
MIL : militaires;
NET, ORG, ARPA, INT, etc.
Domaines géographiques :
code par pays (FR : France, BE : Belgique, DE : Allemagne etc.)
Un nom de domaine correspond à une adresse IP. Les noms se lisent de droite à gauche en partant du domaine supérieur pour aboutir au nom de machine. Les serveurs DNS (Domain Name Service) assurent la conversion d'un nom en une adresse IP.
Exemple: rodin.enic.fr correspond à la machine "rodin" du réseau "enic" du domaine géographique supérieur "fr".
Les phases de conversion sont :
  • passage du nom de la machine à l'adresse IPv4 (sur 4 octets);
  • passage de l'adresse IP à l'adresse locale (ARP).
Dans une adresse de messagerie, l'arobase est synonyme de "à" et marque la séparation entre le nom d'utilisateur et le nom de machine et de domaine. Ex: truc@reseau.com

2.2 Base de données DNS

La conversion de noms en adresses IP est assurée par le DNS. Le mécanisme de résolution inverse des adresses convertit les adresse IP en nom de domaine. Chaque domaine a un serveur de noms primaire et secondaire. L'adresse de ces serveurs est enregistrée dans son serveur DNS de niveau supérieur. Un serveur de DNS donné a autorité administrative sur les réseaux dont ils gère les noms. Chaque serveur DNS cache les noms et les adresses qu'il connaît pour la durée de validité associée à l'enregistrement DNS concerné. Souvent, un  serveur de DNS est configuré pour uniquement répondre aux requêtes extérieures qui concernent le domaine sur lequel il a autorité. Les requêtes internes concernent le domaine local ou bien d'autres domaines. Le serveur répond également à des demandes de résolution inverse (PTR).

Le DNS constitue une base de données hiérarchique et distribuée. Un serveur de domaine ne mémorise pas seulement les noms pour lesquels il a autorité, mais également les noms pour lesquels des requêtes lui ont été transmises. En ce sens, le serveur de domaine est un cache de conversion d'adresse. Une zone "time-out" indique la date limite de validité de chaque entrée. Cette durée est en général de l'ordre de quelques jours. Le format des messages échangés dans le contexte du DNS est complexe. Les messages comportent cinq sections: l'en-tête, la question, la réponse, l'autorité, les informations supplémentaires. L'en-tête d'un message DNS précise les enregistrements qu'il contient.

Les serveurs DNS contiennent différents types d'enregistrement:
  • A record (address) associe un nom à une adresse IPv4,
  • PTR record convertit l'adresse IP en nom,
  • AAAA record associe un nom à une adresse Ipv6,
  • MX record (mail exchange) contient l'adresse du serveur de messagerie,
  • CNAME contient un alias,
  • MX (mail exchange) donne l'adresse IP du serveur de messagerie du domaine,
  • NS (name server) donne l'adresse IP de serveurs de domaines,
  • SOA (start of authority) indique le domaine d'autorité,
  • TXT (text) chaîne de 255 octets maximum  pour usage divers,
  • SRV (service) donne l'adresse IP d'un service spécifique pour le domaine concerné (http, SIP, ftp, etc..).
Lorsqu'une station dispose du nom de la machine avec laquelle elle veut dialoguer et que l'adresse IP n'est pas disponible dans le cache local, elle émet une requête vers son serveur de DNS (Domain Name System). Le serveur de DNS local émet les requêtes successives en partant des serveurs racines si les noms de serveurs DNS successifs ne sont pas dans son cache. La liste des serveurs racines se trouve dans un fichier du serveur de DNS. Une requête DNS récursive se fait en trois étapes. Dans un premier temps une requête est faite vers un des serveurs DNS racine. Celui-ci renvoie l'adresse du serveur DNS pour du domaine principal (TLD), à savoir le domaine principal du mnémonique. La demande est envoyée au service DNS du TLD, puis se propage ensuite de proche en proche jusqu'au serveur DNS du réseau où se trouve la machine concernée. La réponse envoyée par le serveur de DNS est de type RR, elle comporte un ou plusieurs A record selon que le nom correspondent à une ou plusieurs adresses IP.

Mécanisme de question réponse du DNS :
  • Client Dns    Requête: @IP de truc.much? ====>    Serveur DNS
  • Client Dns                      <==== Réponse: @IP de truc.much
Les TLD (Top Level Domain, domaines de niveau supérieurs) sont gérés par différents organismes dont l'IUT. L'attribution globale des adresses est faite par l'IANA. Des sous-ensembles d'adresses sont alloués à différents registry.

Il y a indépendance entre la position physique du réseau et son appartenance à un domaine. Le domaine supérieur donne l'adresse des serveur de nom du domaine sur lesquels il a autorité, ces serveurs peuvent être n'importe où sur l'internet. Toutes les stations ne figurent pas dans le DNS, ce sont essentiellement les stations qui sont nommées qui y figurent, notamment les serveurs. Le DNS évite la modification des référence lors du changement d’adresse IP, opération souvent nécessaire lors du changement de fournisseur d'accès. Certaines versions de DNS offrent des fonctions particulières: DNSsec est une version sécurisée, IDNS est une version de DNS basée sur Unicode pour utiliser d’autres codes que le code ascii.

DNSsec crée une infrastructure DNS sécurisée. Un système de clés publiques et privées garantit l'authenticité des réponses. Les enregistrements SIG contiennent les signatures associées aux domaines et NXT permettent les réponses négatives authentifiées. 

ENUM définit la conversion des numéros de téléphones en adresses IP. Ils seront enregistrés dans un ou plusieurs domaines DNS.

Le logiciel libre Bind est un des serveurs DNS couramment utilisé.

Les commandes nslookup ou host génèrent des requêtes DNS. De la même façon, l’appel système getHostByName émet des requêtes DNS.

2.3 Adressage IPv4

2.3.1 Classes IPv4

Chaque réseau IPv4 a une adresse qui lui est propre. Les adresses sont classées en trois catégories principales. Selon le nombre d'ordinateurs hôtes, on parle des classes A, B et C. L'adresse  est codée sur 32 bits. Dans la notation pointée, elle est exprimée par 4 octets séparés par un point de la façon suivante: 187.48.251.10. Dans une adresse de station, chaque valeur sera dans l'intervalle 1..254, puisqu’elle représente un octet et que la valeur 255 est réservée pour la diffusion. Les différents champs de l'adresse sont : un champs type, un champ réseau, un champ hôte. Une adresse IP identifie à la fois un réseau et une interface réseau branchée sur celui-ci.

Classe A :
Type :    0    (valeur de l’octet 1 : 1..126) (127 diffusion locale)
Réseau :    7 bits   
Hôte :    24 bits

Classe B :
Type :    10    (valeur de l’octet 1 : 128..191)
Réseau :    14 bits   
Hôte :    16 bits

Classe C :
Type :    110    (valeur de l’octet 1 : 192..223)
Réseau :    21 bits
Hôte :    8 bits

Classe D : Adresse de groupe de diffusion, utilisée pour le multicast et IGMP
Type :    1110    (valeur de l’octet 1 : 224..239)
Classe E : réservée à un usage futur
Type :    11110     (valeur de l’octet 1 : 240..255)

Le nombre maximum de réseaux publics de l'interconnexion est de 221+214+27, soit environ 2 millions de réseaux. En fait, l’adresse complète caractérise l’interface de communication et non pas la machine. Ainsi, un routeur a autant d’adresses IP que d’interfaces de communication. L'adressage IP n'est pas hiérarchique. Pour palier aux problèmes d'extension de l’adresse, de nouvelles méthodes de numérotation sont proposées notamment dans le cadre de la nouvelle version d'IP qui est IPv6.
Le masque de sous-réseau indique la partie adresse réseau :
  • Classe A        255.0.0.0
  • Classe B        255.255.0.0
  • Classe C        255.255.255.0
Il identifie les bits de l'adresse réseau, un réseau vu comme unique de l’extérieur se découpe en plusieurs sous-réseaux internes. Quelques adresses réservées :
  • l’adresse 0.0.0.0 correspond à l’adresse par défaut.
  • l'adresse 255.255.255.255 correspond à l'adresse de diffusion sur le réseau concerné (limited broadcast). Avec une adresse réseau valide et les bits hôte à un, la diffusion sera faite sur le réseau adressé (directed broadcast).
  • si la partie adresse réseau ou adresse machine est à zéro, l'adresse correspond à l'adresse du réseau ou de la machine concernée.
  • l'adresse 127.x.x.x correspond à l'adresse de boucle locale.
  • les adresses IGMP suivantes sont réservées :
  • 224.0.0.1 : tous les systèmes d'un réseau,
  • 224.0.0.2 : tous les routeurs d'un réseau,
  • 224.0.0.5 : tous les routeurs OSPF d'un réseau,
  • 224.0.0.x : tous les routeurs OSPF désignés.
Le tableau suivant récapitule l'organisation de l'espace d'adressage IPv4:

Classe
Type
1er octet
Plage d'adresses
Masque
A
Global
1 à 126

255.0.0.0
A
Privé
10
10.0 à 10.255
255.0.0.0
A
Boucle locale
127
127.x.x.x

B
Global
128 à 191

255.255.0.0
B
Privé
172
172.16.0 à 172.31.255
172.x.0.0
C
Global
192 à 223

255.255.255.0
C
CIDR Europe
194 à 195
194.0 à 195.255
194/7 variable
C
CIDR Am. Nord
198 à 199
198.0 à 199.255
198/7 variable
C
CIDR Am. Sud et Centrale
200 à 201
200.0 à 201.255
200/7 variable
C
CIDR Asie et Pacifique
202 à 203
202.0 à 203.255
202/7 variable
C
Privé
192
192.168.0 à 192.168.255
192.168.x.0
D
Global
224 à 239
224.0 à 239.255

E
Usage futur
240 à 254
240.0 à 254.255

2.3.2 CIDR (Classless InterDomain Routing)

CIDR alloue des adresses consécutives à un même opérateur, ces adresses agrégées occupent une seule entrée dans les tables de routage BGP. Cela limite donc leur taille qui augmentait rapidement avec le développement de l'Internet et la multiplication des réseaux de classe C. Avec CIDR et VLM, le masque de sous-réseau se décale vers la droite au fur et à mesure de la progression à l'intérieur des sous-réseaux d'un système autonome, ou vers la gauche au fur et à mesure que l’on se rapproche de la sortie du système autonome. CIDR affranchit également de la frontière d'octet imposée par l'adressage de classe C, un fournisseur d'accès peut attribuer un faible nombre d'adresse  à chaque client (par exemple 4), avant CIDR le nombre minimum attribuable était 256 (tout un classe C). Ces adresses CIDR sont attribuées par pays et par fournisseur d'accès. La notion de géographie n'a d'ailleurs plus beaucoup de sens, la frontière est davantage entre les opérateurs.
  • 194.0.0.0 à 195.255.255.255 : Europe-Afrique
  • 198.0.0.0 à 199.255.255.255 : Amérique du Nord
  • 200.0.0.0 à 201.255.255.255 : Amérique centrale et du Sud
  • 202.0.0.0 à 203.255.255.255 : Asie - Pacifique
  • 202.0.0.0 à 207.255.255.255 : réservé
L’annonce d’adresse CIDR se fait sous la forme <longueur/préfixe>. Ainsi, un fournisseur d'accès auquel l'on affecte l'équivalent de 16 classes C à partir de l'adresse 195.23.16.0 fait une annonce globale du type 195.23.16/20, le préfixe est 195.23.0, avec les quatre premier bits 0000 fixes pour l'octet trois.

Le mécanisme CIDR et l'introduction d'équipements de translation d'adresse (NAT) prolongent la vie d'IPv4 malgré l'étroitesse de son champ d'adressage. De plus, la création de zones de routage privées restreint largement le besoin d'adresses et les problèmes de publication d'adresses.

2.3.3 Adresses privées et NAT (Network Address Translation)

Une série d'adresses a été réservée pour un usage privé, il s'agit des adresses:
  • 10.0.0.0 à 10.255.255.255 pour les classes A;
  • 172.16.0.0 à 172.31.255.255 pour les classes B;
  • 192.168.0.0 à 192.168.255.255 pour les classes C.
Ces adresses sont employées pour des stations non adressées depuis l'extérieur ou bien en conjonction avec des mécanismes de translation d'adresses ou de  port (NAT).

L’espace IP public constitue un seul espace d’adressage, le NAT créé des espaces d’adresses indépendants, pour sortir du domaine privé, il convertit les adresses locales en adresses publiques. Les adresses locales sont souvent privées. Ce sont essentiellement les serveurs qui disposent d’une adresse IP publique et sont déclarés dans le DNS. Les stations clientes qui ne sortent pas d’un réseau local se contenteront d’une adresse privée. Le mécanisme de translation d’adresse suffit aux stations qui sortent par intermittence. Avec cette allocation temporaire, un pool réduit d’adresses publiques dessert un nombre important de stations. Lorsqu’il dispose d’une seule adresse IP à partager, le logiciel de translation travaille également au niveau du numéro de port, dans ce cas on parle de NAPT (Network Address Port Translation). L’allocation d’une adresse publique est plus aisée pour une session TCP puisque le début et la fin de connexion sont bien identifiés, alors que pour UDP des mécanismes de type time-out sont nécessaires.

La translation d'adresse implique un nouveau calcul des sommes de contrôle IP et UDP ou TCP. Mais, comme il s'agit d'une addition avec complément à un, il suffit d'additionner l'ancienne adresse ainsi que la nouvelle à l'ancienne valeur de contrôle et réécrire cette nouvelle valeur, ce n'est donc pas une opération très coûteuse. Certaines applications reprennent l’adresse IP source dans leur en-tête, ce qui n’est pas une très bonne idée, c’est notamment le cas de FTP qui nécessite un traitement spécial pour fonctionner à travers un NAT. De plus, comme la longueur de l’adresse IP en la notation pointée est variable, les numéros de séquence TCP seront recalculés pour tout le flux subséquent! Ainsi, toute application qui reprend l’adresse IP source au niveau de la zone de données émise ne fonctionne pas à travers un NAT.

Une interconnexion privée est constructible en se basant sur un ensemble de routeurs IP reliés par divers supports : "frame relay", ATM, MPLS, liaisons louées et fonctionnant avec un espace d'adresses privées. Une ou plusieurs sorties vers l'internet public sont possibles par un NAT. De plus, l'interconnexion d'ilôts privés par l'internet public est possible par tunneling ou VPN IP. Vu le faible nombre d'adresses publiques disponibles et par mesure de sécurité la plupart des stations en entreprise fonctionnent avec des adresses privées, si nécessaire l'accès à l'internet public se fait par proxy ou NAT. Le mécanisme de NAT est souvent couplé à un mécanisme de contrôle d’accès plus sophistiqué du type firewall. Ces mécanismes remettent cependant en cause la philosophie de bout en bout qui a guidé le développement d’IP. De plus, comme le NAT mémorise des états, il constitue un point de fragilité et comme c’est un point de passage obligé, il constitue un goulot d’étranglement.

2.3.4 DHCP, Adresses IP, Ethernet, ARP, RARP

DHCP distribue des informations de paramétrage aux stations. Il distribue dynamiquement des adresses IP aux stations qui effectuent une requête DHCP diffusée sur le réseau local (dans le domaine de broadcast). Grâce à lui, les adresses IP ne sont pas enregistrées de façon statique dans les stations. Le changement de réseau est donc transparent pour les stations qui font appel à ce service. L’adresse du routeur de sortie par défaut ainsi que celle du serveur de DNS sont également délivrés par DHCP.

L’adresse Ethernet est unique par carte réseau, elle n'est cependant pas utilisée pour l'adressage dans l’interconnexion Ipv4 car le problème du routage serait encore plus complexe. La table de routage aurait une entrée par station. De plus, le routage ne serait plus indépendant du support physique, cet adressage ne serait possible que pour les équipements qui disposent d'une adresse MAC (Ethernet, Token Ring, FDDI). Par contre, l'adresse MAC est intégrée dans l'adresse IPv6.

Les adresses IP et Ethernet sont indépendantes. Sur un réseau physique, deux machines ne  communiquent entre elles que si elles disposent de leurs adresses physiques mutuelles. ARP (Address Resolution Protocol) donne l'adresse Ethernet à partir de l'adresse IP. Pour ce faire, ARP diffuse une demande d'adresse Ethernet, si la station ayant cette adresse IP existe dans le domaine de diffusion, elle répond à la requête. Pour éviter les diffusions ARP systématiques, une table de correspondance entre les adresses MAC et IP les plus récemment utilisées est maintenue sur chaque hôte. La durée de vie de chaque entrée est limitée à 10 minutes, de plus elle est supprimée au bout de deux minutes en cas de non utilisation. La suppression diminue les incohérences dues à la référence dans la table d'une machine arrêtée depuis son enregistrement. L'adresse de l'émetteur est également  mise à jour lors de diffusion des requêtes ARP.

Le protocole RARP (Reverse Address Resolution Protocol) donne l'adresse Ethernet d'une adresse IP. Il est par exemple utilisé par les stations sans disque dur pour obtenir leur propre adresse. Il perd cependant de son intérêt avec l’introduction de DHCP.
Au lieu de s'appuyer sur la diffusion, ARP aurait pu s'appuyer sur un serveur, dans ce cas, chaque réseau disposerait d'un serveur ARP primaire et secondaire. Un tel service pourrait être une extension naturelle de DHCP. Soit chaque machine du réseau connaît l'adresse du  serveur, ce serait donc un paramètre supplémentaire à spécifier à l'installation de la pile de protocoles ou bien le serveur est référencé par diffusion ou par une adresse multicast. C'est d'ailleurs la méthode employée pour les réseaux virtuels construits sur une infrastructure logique ATM sans technique de diffusion.

2.4 Connexions à l'Internet

Les différents types de connexion à l'Internet sont :
  • l'accès permanent complet;
  • l'accès intermittent complet;
  • l'accès intermittent individuel;
  • l'accès par serveur hôte.
Pour l'accès permanent complet, le réseau local de l'utilisateur est relié à l'Internet par une liaison dédiée. Une adresse publique au minimum et un nom de domaine sont alloués. L'accès permanent concerne également des stations reliées par ADSL.

Pour l'accès intermittent complet, le réseau local n'est relié que temporairement par une liaison RNIS, X25 ou RTC. Par contre une adresse de classe C et un nom de domaine sont alloués. Cet accès n'est possible que sur un routeur où l'utilisateur distant a été déclaré.

Pour l'accès intermittent individuel, une station est reliée ponctuellement à un point d'accès Internet via modem, RTC ou X25. L'adresse IP est allouée de façon permanente ou dynamique à cette station par le concentrateur d'accès distant. Les protocoles RADIUS (Remote Authentication Dial In User Service), PAP (Password Authentication Protocol) ou CHAP (Challenge Handshake Authentication Protocol) sont utilisés pour la demande de contrôle d'accès et l'identification. Radius gère la demande de connexion entre le concentrateur d’accès et le serveur RADIUS, alors que PAP ou CHAP gèrent l'identification.

Pour l'accès par serveur hôte, une station se raccorde à un serveur hôte sans qu'une adresse lui soit attribuée. Dans ce cas, les services utilisables sont limités et fixés à l’avance. Il s’agit, par exemple, de l’accès à la messagerie Internet par l’intermédiaire d’un serveur Minitel raccordé d’une part à X25, d’autre part à l'Internet.

2.5 Accès complet et installation de la pile IP

L'établissement d'un accès complet passe par les phases suivantes:
  • Demande d'une adresse de réseau IP (à un fournisseur d'accès ou administrateur de domaine)
  • Demande d'un nom de domaine avec résolution inverse des adresses
  • Connexion physique à un site déjà relié, Installation d'un routeur à chaque extrémité
  • Déclaration au fournisseur du service
  • Installation des serveurs : DNS (Domain Name Server), web, ftp, messagerie
  • Installation des clients de navigation et de messagerie, déclaration des comptes utilisateurs etc.
Certains fournisseurs de service prennent en charge une partie de ces opérations.

Les paramètres à spécifier lors de l'installation de la pile TCP/IP sur une station sont:
  • l'adresse IP de la station (0.0.0.0 si l'adresse est distribuée par un serveur de DHCP)
  • l'adresse IP du "default gateway" (routeur par défaut)
  • le masque de réseau ou de sous-réseau
  • l'adresse IP des serveurs de DNS primaire et secondaire
  • de façon optionnelle : la taille du segment, la taille de MTU, le nombre de tampons, le nombre de sockets maximum.

2.6 Nommage et Conclusion

Nous comparons différents nommages: les comparaisons entre adresses IP, le routage et les noms de domaine donnent lieu à différentes remarques.

Pour les adresses IP:
Une station a une ou plusieurs interfaces réseaux, chaque interface a une adresse MAC, ainsi qu’une adresse IP ; avec certains systèmes plusieurs adresses IP par interface sont possibles,
Un réseau est un ensemble de stations physiquement ou virtuellement voisines. Un réseau physique est caractérisé par au moins une adresse réseau IP.
Les réseaux sont reliés entre eux par des routeurs.
Une station avec des adresses IP dans des réseaux différents peut jouer le rôle d'un routeur.
Le mécanisme de VLAN plaque plusieurs réseaux logiques sur un seul réseau physique.

Pour les domaines DNS:

Une station peut appartenir à plusieurs domaines DNS différents, il suffit qu'elle soit déclarée dans le serveur de DNS de chacun d'eux.
Les stations d'un même domaine DNS peuvent appartenir à des réseaux IP totalement différents.
Les stations d'un même réseau physique peuvent appartenir à différents réseaux IP, à différents domaines DNS. Si elles ont des adresses réseaux différentes, elles communiquent entre elles par l’intermédiaire d’un routeur, même si elles sont branchées sur le même réseau physique.
Il existe différents niveaux d'adressage et de nommage: adresses MAC, VLAN, adresses de réseaux IP, adresses stations IP, noms de domaines, noms de stations.

Les opérations du DHCP, DNS et NAT sont complémentaires. Leur cohabitation pose cependant certains problèmes de cohérence de données puisque ces différent mécanismes ont tous des caches. De plus, le serveur DNS d’un domaine est mis à jour manuellement lors de la déclaration d’une station. L’attribution d’un nom à une station dont l’adresse IP est affectée par DHCP est difficile. Une version dite Dynamic DNS met à jour automatiquement le serveur de DNS. Une autre méthode est l’attribution d’un nom donné à une adresse IP donnée.

Par ailleurs, le nom de stations avec adresses privées n’est publié dans le DNS que si le NAT supporte cette fonction. Cependant seul le nom des stations désignées donc les serveurs, a besoin d’être publié.

L’allocation dynamique d’adresse n’est pas forcément compatible avec le mécanisme de cache du DNS pour lequel la période de mise à jour peut être plus longue, à moins que le bail DHCP et la durée de validité DNS soient synchronisés.

Un adressage hiérarchique du type X121 affranchirait IP de l'utilisation de différents protocoles de routage. De ce fait, le logiciel des routeurs serait plus simple et le surcoût dû à l'échange des tables de routage n'existerait plus. C'est l’objectif de l'introduction de CIDR qui agrège des réseaux et affranchit du respect de la frontière d'octet entre l'adresse réseau et l'adresse station.