TCP
/ IP
nombre de sous-réseaux IP par sous-réseau masque de sous-réseau
1 256 255.255.255.000
2 128 255.255.255.128
4 64 255.255.255.192
8 32 255.255.255.224
16 16 255.255.255.240
32 8 255.255.255.248
En fait, nous avons vu au paragraphe précédent que pour chaque sous-réseau il
faut déduire trois adresses IP non attribuables à
un ordinateur :
1.l'adresse de sous-réseau (généralement le premier IP du sous-réseau), par
exemple a.b.c.0 pour un réseau composé d'un
seul sous-réseau, ou a.b.c.64 pour le troisième sous-réseau d'un réseau
divisé en 8 sous-réseaux.
2.l'adresse de diffusion (généralement le dernier IP du sous-réseau), par
exemple, en reprenant les deux exemples
précédents, a.b.c.255 ou a.b.c.95.
3.l'adresse du routeur par défaut dont je parle un peu plus loin, par exemple
a.b.c.1 ou a.b.c.65.
Chaque sous-réseau "perd" donc trois adresses IP; il s'ensuit qu'une
subdivision excessive d'un réseau n'est pas avantageuse (on
divise rarement au-delà de 8 sous-réseaux).
6. Le
routage des paquets IP et le protocole TCP
Revenons à notre ordinateur A d'adresse 192.168.0.2 (mettons-lui un masque de
sous-réseau de 255.255.255.0). Admettons qu'il
veuille envoyer un paquet IP à ordinateur B d'adresse 192.170.0.4. En utilisant
le masque de sous-réseau, A comprend qu'il ne
peut atteindre directement B. Que fait-il donc ? Il envoie sans réfléchir le
paquet IP à l'adresse du routeur par défaut (disons que
ce dernier a été défini comme 192.168.0.254).
Qu'est-ce que ce routeur ? Le routeur est une machine pouvant "jouer sur
plusieurs sous-réseaux" en même temps. Typiquement,
si on utilise un ordinateur, ce dernier possèdera deux cartes réseaux (ou
plus), l'une connectée sur l'un des sous-réseaux (dans
notre cas, disons qu'elle possède l'adresse 192.168.0.254), l'autre connectée
sur l'autre sous-réseau (disons 192.170.0.192). S'il
utilise le bon logiciel, un tel ordinateur est capable de faire transiter des
paquets IP du réseau 192.168.0.0 vers le réseau
192.170.0.0, et inversément bien sûr.
Deux petites remarques s'imposent. Tout d'abord, vous l'aurez compris, c'est
donc grâce à des routeurs que différents
sous-réseaux d'un réseau de classe C peuvent communiquer entre eux, par
exemple l'ordinateur 192.168.0.2 avec l'ordinateur
192.168.0.120 d'un réseau de classe C subdivisé en 8 sous-réseaux (masque de
sous réseau 255.255.255.224). La seconde
remarque est d'ordre plus pratique : vous retiendrez que Windows 95 n'est pas
capable de faire du routage, bien qu'il soit tout à fait
possible d'installer deux cartes réseaux (avec des IP différents) dans un
ordinateur tournant sous ce système; par contre,
Windows NT 4.0, même en version Workstation, est capable d'une telle fonction.
Question pertinente : pourquoi subdiviser et ne pas faire de "méga" réseaux
?
Les deux points suivants expliquent en partie pourquoi on procède ainsi.
1.Limiter le trafic sur un tronçon donné. Imaginons deux réseaux locaux A et
B séparés par un routeur. Lorsque des
ordinateurs de A discutent avec des ordinateurs de B, le routeur a pour rôle de
transmettre l'information du réseau A vers
le réseau B (et inversément). Par contre, si des ordinateurs de A s'échangent
entre eux des données, il n'y a pas de raison
qu'ils encombrent inutilement le trafic sur le réseau B, et c'est bien pour
cette raison que les réseaux A et B sont distincts.
Autre évidence : si le réseau A tombe en panne, le réseau B n'en est pas
affecté. C'est d'ailleurs l'avantage principal de
subdiviser : éviter qu'un ennui technique qui pourrait rester localisé ne
perturbe la totalité du réseau
2.Autre aspect non négligeable : le broadcast (diffusion). Vous ne le savez
peut-être pas, mais dans votre dos, les
ordinateurs sont de grands bavards : ils ne cessent de causer entre eux pour
signaler leur présence ou se mettre d'accord
sur les protocoles qu'ils sont capables de comprendre. Pensez un peu si Internet
n'était constitué que d'un seul segment : le
broadcast seul des ordinateurs utiliserait l'intégralité de la bande passante
avant même qu'un seul octet de données ait pu
être transmis ! Pour cette raison, le travail des routeurs est non seulement de
faire transiter les paquets IP, mais aussi de
filtrer le broadcast local qui n'intéresse pas la planète entière. Vous
comprendrez par là que les routeurs jouent un rôle
essentiel pour éviter la saturation du trafic.
Disons encore quelques mots sur l'acheminement des paquets IP. Vous comprenez
maintenant que lorsqu'un ordinateur doit
acheminer un paquet IP, il vérifie tout d'abord s'il peut le transmettre
directement (grâce au masque de sous-réseau); s'il ne peut
pas, il l'envoie bêtement, sans réfléchir, au routeur par défaut. A partir
de là, les routeurs sont généralement configurés pour savoir
où diriger les paquets IP qui leur sont confiés; les routeurs bavardent entre
eux (à l'aide de protocoles particuliers de routage, RIP
ou OSPF par exemple) pour savoir quelle est la meilleure route (la plus courte généralement)
pour qu'un paquet IP atteigne sa
destination. De même, si une route est soudainement interrompue, les routeurs
sont capables de se reconfigurer et proposer des
nouvelles routes de secours.
Or le protocole IP néglige un point crucial : il ne vérifie nullement le bon
acheminement des paquets IP. En d'autres
termes, l'ordinateur expéditeur, dans le protocole IP, ne fait qu'envoyer le
paquet IP plus loin; il ne s'intéresse pas du tout de savoir
si le paquet a bien été reçu ou s'il a été endommagé pendant le transfert
!
Qui doit donc assurer l'intégrité point à point, si ce n'est IP ? La réponse
: son copain, TCP.
Le protocole de contrôle de transmission ou TCP (Transmission Control Protocol)
vérifie donc le bon acheminement d'un
paquet IP. Cela se fait de la façon suivante. Admettons que A veuille
transmettre un paquet IP à B. A envoie (un peu à l'aveugle)
son paquet IP à B, un peu comme une bouteille à la mer. Tant que A ne recevra
pas un accusé de réception de B lui indiquant que
ce dernier a bien reçu le paquet IP dans son intégrité (grâce à l'en-tête
de total de contrôle), il renverra à intervalles réguliers le
même paquet IP à B. Il n'arrêtera d'envoyer ce paquet qu'à la confirmation
de B. Ce dernier agira ensuite de même s'il doit
transmettre le paquet plus loin. Si B constate que le paquet qu'il a reçu est
abimé, il n'enverra pas de confirmation, de manière à ce
que A lui renvoie un paquet "neuf".
TCP fournit d'autres services sur lequels je ne m'attarderai pas ici. On résumera
rapidement les principales fonctionnalités du
protocole TCP ainsi :
l'établissement d'une liaison
le séquençage des paquets
le contrôle de flux
la gestion d'erreurs
le message d'établissement d'une liaison
On entend par "contrôle de flux" la capacité de TCP, entre autres,
de reconstituer l'information originale à partir de paquets IP
arrivés (souvent) dans le désordre le plus absolu.
C'est aussi TCP qui gère la notion de "sockets" (ports) dont je parle
dans la partie concernant la façon de configurer un réseau
local et le connecter à Internet.
7. Le système
de désignation de noms (DNS)
Maintenant que vous avez compris (j'espère !) comment circulent les paquets IP
à travers Internet, il me reste à donner
rapidement quelques explications sur le système de désignation de noms, en
anglais Domain Name System (DNS). Vous avez vu plus haut que tout ordinateur connecté à Internet possède un numéro IP qui
lui est propre. Pour communiquer avec un autre
ordinateur, il vous faut connaître son adresse IP. Or, lorsque vous
"surfez" sur le net, vous écrivez très rarement de tels numéros
dans votre browser. C'est tout simplement que vous faites appel, sans le savoir,
à un serveur DNS.
Un serveur DNS est simplement une machine qui associe le numéro IP à une
adresse plus facilement mémorisable, bref une sorte
d'annuaire téléphonique pour Internet. Ainsi, la machine qui répond lorsque
vous tapez http://www.microsoft.com dans votre
browser possède en fait l'adresse IP 207.68.137.65. Si vous tapiez
http://207.68.137.65, vous obtiendriez exactement le même
résultat. Un (ou plusieurs) serveur DNS se trouvent généralement chez votre
provider; vous avez d'ailleurs sûrement reçu une
feuille de configuration vous indiquant une ou deux adresses IP pour ces
serveurs lors de la configuration de votre connexion à
votre provider.
Une manière simple de constater l'utilité d'un serveur DNS est d'ouvrir (sous
Windows 95) une fenêtre DOS, et de taper ping
'adresse de l'hôte', par exemple ping www.microsoft.com. "Ping" est
une fonction très utile dans l'établissement de réseau : c'est
une commande qui envoie un paquet IP tout simple à un ordinateur et lui demande
simplement de répondre.
Sous Windows 95, quatre paquets IP sont envoyés, et si vous avez avez tapé 'ping
www.microsoft.com' par exemple, votre
ordinateur devrait ensuite vous écrire une ligne de type :
pinging www.microsoft.com [207.68.137.65] with 32 bytes of data
suivie de quatre lignes de la forme :
reply from 207.68.137.65: bytes=32 time=550ms TTL=128
Ces quatre dernières lignes vous indiquent que le serveur Microsoft a répondu
à vos appels et vous montrent le temps total qu'a
pris la transaction pour chaque ping (par exemple 550 millisecondes). Vous
noterez surtout que le serveur DNS de votre provider
aura fait automatiquement la translation www.microsoft.com <->
207.68.137.65.
PS : J'ai parlé plus haut de l'adresse IP réservée 127.0.0.1, dite adresse de
boucle; un ping sur cette adresse correspond à un ping
"sur soi-même", ce qui permet de tester la bonne marche de la carte réseau.
8. Résumé
et exemples
Résumons en quelques points ce que nous avons vu sur les réseaux TCP/IP.
1.Chaque ordinateur sur Internet possède une adresse IP, par exemple
195.235.4.6
2.Les adresses IP définissent les termes de réseaux ou de sous-réseaux. C'est
un organisme international, l'Internic, qui
attribue les différentes adresses ou les différents réseaux (classe A, B, C).
Ce sont ensuite les entreprises qui ont acheté
les réseaux qui peuvent les subdiviser en sous-réseaux grâce à l'utilisation
de masques de sous-réseaux adéquats.
3.De nombreuses adresses IP ne sont pas utilisées.
L'Internic tout d'abord conserve des adresses utilisables à des fins privées,
par exemple les adresses de type
192.168.0.x
L'administrateur d'un réseau doit toujours mettre de côté trois adresses IP
par sous-réseau : l'adresse de sous-réseau
(par exemple 192.168.0.0), l'adresse de diffusion (par exemple 192.168.0.255) et
l'adresse du routeur par défaut.
4.Pour communiquer, l'ordinateur expéditeur fragmente l'information à envoyer
en de nombreux paquets IP qui contiennent,
outre l'information, les adresses IP de l'expéditeur et du destinataire ainsi
qu'un en-tête de total de contrôle.
5.Les paquets IP ne peuvent être transmis directement qu'à un ordinateur du même
sous-réseau (défini par le masque de
sous-réseau). Si l'ordinateur destinataire ne peut être atteint, l'ordinateur
expéditeur envoit le paquet IP à l'adresse du
routeur par défaut qui lui a été spécifié.
6.Le routeur est une machine qui fait transiter les paquets d'un réseau à un
autre (ou d'un sous-réseau à un autre) et qui
utilise donc plusieurs adresses IP (une sur chacun des sous-réseaux couverts).
Par exemple, un routeur possédant les deux
adresses IP 196.129.0.1 et 197.160.40.91 peut faire passer des paquets IP du réseau
196.129.0.0 au réseau 197.160.40.0,
et inversément.
7.Le protocole IP ne s'occupe que de l'acheminement des paquets IP. La vérification
du transfert de l'intégrité des données
est effectuée par le protocole TCP.