IDREZO

Technologies informatiques

TCP IP : techniques d'adressage

Dans un réseau ETHERNET basé sur TCP/IP, il peut y avoir des problèmes de charge réseau qui apparaissent pour plusieurs raisons:

  • Diffusion NETIOS trop importante ( broadcast )
  • Trop grande quantité de machines sur un seul réseau logique d'où un trafic trop important.

Rappelez vous le principe de la résolution de noms:
   Un hôte veut contacter une machine pc3.domaine.com:
   L'hôte contacte son cache WINS, si pas d'entrée,
   L'hôte contacte son serveur WINS, si pas d'entrée
   L'hôte vérifie son fichier LMHOSTS, si pas d'entrée,
   L'hôte contacte son cache DNS, si pas d'entrée,
   L'hôte vérifie son fichier HOSTS, si pas d'entrée,
   L'hôte contacte son serveur DNS pour résoudre le nom d'hôte en adresse IP.

La résolution NETBIOS se déclenche donc avant la résolution DNS. C'est une résolution gourmande en trafic réseau car basée sur les diffusions. On peut la désactiver dans les propriétés de TCP/IP, onglet WINS, options désactiver NETBIOS avec TCP/IP.

Les diffusions ne passant pas les routeurs, on peut aussi décider d'implémenter un adressage réseau permettant d'isoler certaines portions du MAN ou du WAN car dans de nombreux cas, la résolution NETBIOS est importante, beaucoup d'application clients - serveur sont développées pour fonctionner avec NETBIOS.

Quelles adresses utiliser ?

L'adresse TCP/IP est codée sur 32 bits soit 4 octets dont une partie correspond à l'identificateur de réseaux et une partie à l'identificateur de machines.

l'utilisation de TCP/IP oblige traditionnellement à choisir une classe d'adresse. Chaque classe d'adresse offre un compromis entre le nombre maximum de réseaux et le nombre de machines. Il existe 5 classes d'adresses possibles que l'on peut déterminer à partir de la valeur du premier octet.

 
CLASSE N° / valeur 1er octet Nb de réseaux Max Nb d'hôtes Max
classe A 0.x.x.x à 127.x.x.x 127 16 777 216
classe B 128.x.x.x à 191.x.x.x 16 383 65 534
classe C 192.x.x.x à 223.x.x.x 2 031 616 254
classe D 224.x.x.x à 239.x.x.x    
classe E 240.x.x.x à 247.x.x.x  

Les adresses de classe D sont réservées au multicasting. Les adresses de la classe E sont réservées à un usage futur. Les seules classes vraiment utiles sont les classes A,B et C. Plus le nombre de réseaux par classe est important et moins le nombre de machines par réseaux est important.

On remarquera l'adresse particulière 127.0.0.1 utilisée pour configurer la boucle locale.

Le numéro de réseau courant est parfois noté en mettant tous les bits de l'hôte à 0. Ex: 132.148.0.0 est assimilé au réseau logique 132.148.

Un hôte du réseau courant est parfois identifié en remplaçant le numéro de réseau par des 0. Ex: 0.0.67.2 correspond à l'hôte 132.148.67.2 sur le réseau 132.148.

Les adresses TCP/IP privées

Il existe, à l'intérieur de chaque classe, un sous - ensemble d'adresses qui sont destinées à un usage privé. Ce qui signifie que tout routeur du marché ne routera pas , par défaut, ces adresses sur Internet. Plusieurs réseaux locaux utilisent donc ces adresses pour leur usage interne. Il n'y a pas de conflit, puisque ce sont des réseaux privés dont les adresses ne sont pas accessibles depuis Internet.

  • Pour la classe A, les adresses 10.x.x.x
  • Pour la classe B, les adresses 172.16.x.x à 172.31.x.x
  • Pour la classe C, les adresses 192.168.x.x

Masque de réseau

Il permet d'identifier avec exactitude la partie de l'adresse IP qui correspond au numéro de réseau et celle qui correspond au numéro d'hôte. Quand on écrit l'adresse IP en binaire, tout bit associé au numéro de réseau va être marqué d'un 1 dans le masque, sinon d'un 0.

Ex: 132.148.67.2 associé au masque 255.255.0.0. 132.148 identifie le numéro de réseau et 67.2 le numéro d'hôte.
10000100.10010100.01000011.00000010 donne 132.148.67.2
11111111.11111111.00000000.00000000 donne 255.255.0.0

Calcul de la destination d'un paquet IP

Lorsqu'un hôte source veut contacter un hôte destinataire, il doit en premier lieu déterminer si ce dernier appartient au même réseau que lui. Ceci est important car il doit, en effet, soit lui adresser directement le paquet, soit sortir du réseau logique local, en utilisant l'adresse de passerelle par défaut, équivalent d'un panneau toutes directions. Ainsi un hôte qui ne dispose pas d'adresse de passerelle par défaut ne peut pas sortir de son réseau local.

Aussi, quand un hôte veut contacter un autre hôte, il se pose la question suivante : Est -ce que le destinataire appartient au même réseau que moi ?

Il sait les adresses sources ( IP source, Masque source, IP passerelle source ), sur le destinataire, il ne connaît que son adresse IP. ( IP destinataire ). Effectivement, dans la plupart des cas, l'hôte source ne connaît pas le masque destinataire avant de le joindre. Par conséquent, il adopte une vision personnelle de la situation en utilisant son propre masque.

La question que l'on se pose se traduit alors par : est - ce qu'il y'a égalité sur les numéros de réseaux utilisés d'après ma propre vision de la situation ( avec mon propre masque ). On obtient donc l'équation suivante, qui se résout à l'aide de l'opération binaire " and ".

IP source and Masque source = IP destinataire and Masque source

Si l'égalité est vérifié, l'hôte est sur le même réseau, si l'égalité n'est pas vérifiée, l'hôte n'est pas sur le même réseau et le paquet sera acheminé à la passerelle.

Ex1: l'hôte 132.147.200.3 avec le masque 255.255.0.0 veut contacter 132.147.100.1

Est - ce que le destinataire appartient au même réseau IP que moi ? si oui cela signifie que IP source and Masque source = IP destinataire and masque source

soit :
132.147.200.3 and 255.255.0.0 = 132.147.100.1 and 255.255.0.0
Il faut convertir les nombre en binaire, on obtient,
10000100.10010011.11000100.00000011 and 11111111.11111111.00000000.00000000 = 10000100.10010011.01100100.00000001 and 11111111.11111111.0000000.00000000

table de conversions AND binaire

  • 0 and 0 = 0
  • 0 and 1 = 0
  • 1 and 0 = 0
  • 1 and 1 = 1

10000100.10010011.00000000.00000000 = 10000100.10010011.00000000.00000000
132.147.0.0 = 132.147.0.0
L'égalité est vérifiée, l'hôte de destination appartient bien au même réseau.

Ex2: l'hôte 132.147.200.3 avec le masque 255.255.0.0 veut contacter 62.160.245.1
Est - ce que le destinataire appartient au même réseau IP que moi ? si oui cela signifie que IP source and Masque source = IP destinataire and masque source
soit :
132.147.200.3 and 255.255.0.0 = 62.160.245.1 and 255.255.0.0
10000100.10010011.11000100.00000011 and 11111111.11111111.00000000.00000000 = 00111110.10100000.11110101.00000001 and 11111111.11111111.00000000.00000000

10000100.10010011.00000000.00000000 = 00111110.10100000.00000000.00000000
132.147 = 62.160
l'égalité n'est pas vérifiée, le destinataire n'est pas sur le même réseau que l'hôte source. La source va donc contacter et acheminer son paquet à sa passerelle.