![]() |
![]() |
![]() |
II. UN BRIN DE THEORIE
Avant d'entrer dans le vif du sujet, il nous faut un minimum de connaissances théoriques. Et il faudra tout lire, c'est pour votre bien (si, si, je vous assure).
TCP/IP est en fait un protocole double. IP (Internet Protocol) est le protocole de plus bas niveau. Il sait comment recevoir des paquets individuels d'une adresse source vers une adresse destination. Dans le jargon réseau, IP est un protocole sans connexion (ou mode non connecté); l'expéditeur envoie juste un paquet au destinataire et n'attend jamais un accusé de réception. De ce fait, IP est rapide, peu coûteux en ressource machine et ne surcharge pas le réseau.
Mais que se passe-t-il lorsqu'un paquet se perd et n'arrive jamais à destination ? C'est TCP (Transfert Control Protocol) qui prend en charge ce cas de figure. TCP est le protocole de niveau supérieur. Quand deux machines négocient une connexion TCP (ce qu'elles font en utilisant IP), le destinataire doit envoyer des accusés de réception des paquets qu'il reçoit à l'expéditeur. Si l'expéditeur ne reçoit pas un accusé de réception pour un paquet après un certain temps, il renvoie ce paquet. Ces accusés de réception (ACK) génèrent un supplément de trafic sur le réseau, ralentissant le débit de transmission des données en faveur d'une plus grande fiabilité.
TCP prend aussi en charge le contrôle
de la validité des paquets reçus. En effet, les paquets contiennent
une somme de contrôle (un checksum) pour garantir la fiabilité
d'en-tête ainsi que la détection de données altérées.
Bien qu'il ne soit pas directement concerné par le transport de données, le protocole ARP (Adress Resolution Protocol) est important. Pour que deux systèmes puissent communiquer sur un réseau TCP/IP, celui qui envoie les paquets doit connaître l'adresse physique de destination. IP acquiert cette adresse physique en diffusant un paquet de demande spécial (paquet requête ARP) qui contient l'adresse IP du système de destination. Tous les systèmes disposant du protocole ARP sur le réseau détectent ce message à diffusion générale, et le système concerné répond en envoyant son adresse physique au demandeur (dans un paquet réponse ARP) qui la stocke dans son cache ARP en vue d'une utilisation ultérieure.
Remarque : dans la mesure
où la réponse ARP est diffusée sur tout le réseau,
les autres systèmes en profitent pour mettre à jour leurs
caches ARP.
De la même façon que vous possédez une adresse postale vous permettant de recevoir votre courrier, chaque machine doit posséder une adresse unique. Cette adresse est un nombre codé sur 32 bits (4 octets, soit plus de 4 milliards de possibilités). On a coutume de l'écrire en utilisant 4 nombres décimaux, chaque nombre ayant la valeur d'un des 4 octets. Chaque nombre peut donc prendre une valeur qui varie entre 0 et 255 (inclus).
Exemple : 192.168.0.14 est une adresse IP valide.
Remarque : il est incorrect
de dire qu'une adresse IP est " assignée à une machine ".
En fait, cette adresse est assignée au périphérique
qui permet les échanges de données avec le réseau
(modem, carte Ethernet, etc). En effet, nous verrons qu'il peut y avoir,
par exemple, plusieurs cartes Ethernet sur un même ordinateur. Dans
ce cas, chaque carte doit impérativement posséder une adresse
IP qui lui est propre.
Comme pour l'adresse IP, le masque réseau est un nombre codé sur 32 bits, représenté par 4 chiffres décimaux. En revanche, comme nous allons le voir, ces 4 nombres ne peuvent pas prendre n'importe quelles valeurs entre 0 et 255.
Tout d'abord, à quoi sert le masque réseau ? Il définit le droit pour un ordinateur (ou plutôt pour un périphérique) de communiquer ou non avec d'autres machines. De ce fait, il est possible de constituer des groupes d'ordinateurs (des sous-réseaux) qui ne peuvent pas communiquer avec d'autres groupes, même s'ils sont physiquement reliés entre eux.
Intérêts :
Les valeurs possibles pour chaque octet (chacun des 4 nombres décimaux) sont :
Supposons maintenant que cirl1 veuille envoyer des données à une machine chef_cirl, d'adresse IP 192.168.0.9, de masque réseau 255.255.255.248.
Les 26 premiers bits de l'IP de
cirl1
sont : 11000000.10101000.00000000.00
Les 26 premiers bits de l'IP de
chef_cirl
sont : 11000000.10101000.00000000.00
Pour cirl1, la machine chef_cirl est donc dans le même sous réseau que lui. Pourtant, en pratique, cela ne fonctionnera pas. En effet, pour chef_cirl, le masque réseau est différent de celui de cirl1. Il vaut 255.255.255.248. chef_dsi doit donc comparer les 29 (et non pas 26) premiers bits des adresses IP.
Les 29 premiers bits de l'IP de
cirl1
sont : 11000000.10101000.00000000.00000
Les 29 premiers bits de l'IP de
chef_cirl
sont : 11000000.10101000.00000000.00001
Pour chef_cirl, cirl1 n'est pas dans le même sous réseau que lui. En résumé, cirl1 peut en théorie envoyer des paquets à chef_cirl, mais comme chef_cirl ne peut répondre au paquet requête ARP diffusé par cirl1, cirl1 ne connaît pas l'adresse physique de chef_cirl et la transmission de données échoue.
Combien cirl1 peut-il contacter de machines ? Son masque réseau valant 255.255.255.192, les 26 premiers bits de chaque adresse IP sont donc utilisés pour définir le sous-réseau de cirl1. Il en reste donc 6 pour définir chaque ordinateur, soit 26 = 64 machines. En théorie, les machines du sous-réseau ont donc les adresses suivantes :
Remarques :
On remarque que le sous-réseau
g
ne peut contenir que 124
machines et non pas 126
comme on pourrait s'y attendre. En effet, l'adresse 192.168.0.191
est considérée par les sous-réseaux a
et b comme une network
address (du type de celles qui sont utilisées par les routeurs),
et l'adresse
192.168.0.192
est considérée par a
et b comme une adresse
de Broadcast. Il ne faut donc pas les utiliser comme adresses machine.
Ceci illustre une règle générale : le nombre d'adresses
d'un sous-réseau d'un réseau global est définit par
le sous-réseau le plus petit du réseau global.
Pour des raisons d'administration,
il y a quelque temps, lors du développement du protocole IP, des
ensembles d'adresses ont été organisés en réseaux
et ces réseaux ont été regroupés en ce que
l'on a appelé classes. Ces classes donnent un certain nombre de
réseaux de tailles standards auxquels on peut assigner des adresses.
Ces classes sont :
Si vous avez un réseau pour lequel vous n'avez pas alloué d'adresse IP auprès de l'autorité responsable de votre pays, vous devez utiliser les adresses suivantes :
De 10.0.0.0 à 10.255.255.255 (classe A)
De 172.16.0.0 à 172.31.255.255 (classe B)
De 192.168.0.0 à 192.168.255.255 (classe C)
Attention : ces adresses
sont réservées aux réseaux locaux et ne doivent jamais
sortir sur Internet.
Tout ordinateur configuré pour supporter le protocole TCP/IP possède, indépendamment du système d'exploitation en vigueur, un loopback. C'est un type spécial d'interface qui permet de vous connecter à vous-même. Vous pouvez vous en servir, par exemple, pour faire des essais de logiciel sans interférer avec quelqu'un d'autre sur votre réseau. Par convention, le loopback est un réseau de classe A (i.e. : de masque 255.0.0.0) commençant à l'adresse 127.0.0.0. Vous obtiendrez une réponse de votre propre machine quelque soit l'IP que vous contacterez à l'intérieur de ce réseau.
![]() |
![]() |
![]() |