You are on page 1of 8

02/07/13

Introduction aux rseaux IP

Introduction aux rseaux IP


Introduction

Vincent Defert - 28 Nov. 1998

Un rseau est un ensemble de dispositifs matriels et logiciels permettant 2 machines ou plus de communiquer. Pour mettre en vidence les concepts importants, on peut utiliser l'analogie avec la vie quotidienne: Imaginez que vous (M. Dupond) ayez un client (M. Schmidt) au tlphone. Celui-ci vous soumet un problme dlicat: vous attirez l'attention de votre collgue (M. Jones) et lui griffonez quelques mots sur un bout de papier. M. Jones rflchit un instant et vous griffonne sa rponse. MM. Dupond, Schmidt et Jones reprsentent les machines connectes. Ces personnes sont relies par 2 rseaux ("Liaison tlphonique" et "Liaison visuelle") auquels ils sont relis par 2 types d'interfaces ("Combin tlphonique" et "Papier + Crayon"). M. Dupond, qui possde les 2 types d'interfaces, permet d'tablir une communication entre M. Schmidt et M. Jones: il sert de passerelle entre les 2 rseaux. Enfin, chaque personne parle pendant un temps puis attend une rponse de son interlocuteur: ils communiquent en changeant des paquets d'informations. A la lumire de cet exemple, on peut donc formuler ainsi les dfinitions des mots importants: Rseau Support permettant les changes. Ce terme gnrique peut aussi bien dsigner un cble coaxial reliant 2 machines qu'une ligne spcialise (dont l'autre extrmit est relie une installation complexe, mais qui est vue comme un support ordinaire du point de vue d'une interface). Le terme de rseau dsigne aussi la totalit de l'installation (machines, interfaces et cblage). Le contexte permet de distinguer facilement le sens dans lequel il doit tre compris. Interface Dispositif assurant la connexion de la machine un rseau. Les interfaces utilises avec les rseaux informatiques sont les cartes rseaux, les modems et les ports parallles. Routeur Machine assurant l'interconnexion de plusieurs rseaux. On parle aussi de passerelle (en anglais: "router" et "gateway"). Il peut s'agit d'une machine du rseau dans laquelle on a install plusieurs interfaces, ou d'un appareil spcialis n'assurant que cette fonction. Paquet Unit de transport d'information. Protocole Ensemble de rgles rgissant les changes d'informations. Adresse Identification des lments intervenant dans la communication (interfaces et rseaux). L'analogie postale est particulirement bonne: le nom de la rue correspond l'adresse de rseau et le numro de
www.linux-france.org/article/formation/net.html 1/8

02/07/13

Introduction aux rseaux IP

la maison l'adresse de l'interface.

Rseaux IP
Les rseaux IP sont caractriss par leur indpendance par rapport au matriel et par la possibilit d'tablir une communication entre 2 machines situes des rseaux diffrents (on dit que c'est un protocole "routable"). Ces avantages dcoulent du mode d'adressage choisi: on affecte chaque interface une adresse logique dcoulant de l'adresse du rseau auquel elle est connecte. On fait ainsi d'une pierre 2 coups: puisqu'il s'agit d'une adresse logique, on peut facilement faire voluer le matriel (il suffit de donner la nouvelle machine l'adresse de l'ancienne), et puisqu'elle dcoule de l'adresse du rseau auquelle elle est relie, il est facile de dtecter si la machine laquelle on veut envoyer des donnes est sur le mme rseau ou non (auquel cas on doit passer par un routeur). Prennons un exemple simple:

host1 et host2 sont les noms des machines, eth0 le nom des interfaces, et mynet le nom du rseau (on peut aussi l'appeler "mon petit rseau local", a n'a aucune importance si ce n'est faciliter les conversations entre humains). On a donc commenc par choisir une adresse de rseau: 192.168.0.0 (nous verrons plus loin pourquoi). Ensuite, on affecte une adresse logique chacune des interfaces qui y est relie, l'adresse de l'interface dcoulant de celle du rseau: 192.168.0.1, 192.168.0.2, etc. Les adresses IP sont des nombres cods sur 32 bits. Par commodit, on les reprsente en dcimal sous la forme de 4 nombres (de 0 255 chacun) spars par des point ("dotted quad" en anglais). Nous avons vu que l'adresse d'une interface dcoule de celle du rseau. La relation entre les 2 consiste "couper" l'adresse en 2 parties: les bits situs gauche du point de coupure constituent la partie fixe (l'adresse de rseau) et ceux situs droite sont disponibles pour numroter les interfaces. L'adresse du rseau a donc tous les bits de la partie variable 0. L'adresse dont tous les bits de la partie variable sont 1 est rserve. D'un point de vue arithmtique, on peut donc considrer que l'adresse de rseau peut tre dtermine partir de l'adresse d'une interface en faisant un ET logique entre l'adresse de l'interface et un nombre dont tous les bits de la partie fixe sont 1 et ceux de la partie variable sont zro. Ce nombre est appel masque de rseau (netmask en anglais). Le netmask est reprsenter sous forme de dotted quad, comme les adresses. Selon la valeur de l'adresse IP, on distingue plusieurs classes de rseaux (correspondant la position du point de coupure). Ces classes sont simplement des conventions destines faciliter l'attribution des plages
www.linux-france.org/article/formation/net.html 2/8

02/07/13

Introduction aux rseaux IP

d'adresses. Classe A: le bit de poids le plus fort est 0. Le netmask correspondant est 255.0.0.0. Les rseaux 0.0.0.0 et 127.0.0.0 tant rservs, la classe A correspond donc 126 rseaux de 16 millions de machines. Classe B: le bit de poids le plus fort est 1, le suivant 0. Son netmask est 255.255.0.0. Elle comporte donc environ 16000 rseaux de plus de 65534 machines. Classe C: les 2 bits de poids le plus fort sont 1, le suivant 0. Le netmask est 255.255.255.0 et on a 2 millions de rseaux de 254 machines. Il existe d'autres classes spciales ou exprimentales sur lesquelles nous ne nous tendrons pas. Enfin, il est possible de crer des sous-rseaux partir d'une plage d'adresses donne en utilisant un netmask comportant plus de bits 1 que le netmask conventionnel. Nous reviendrons sur ce point par la suite. Remarque : Pour indiquer une adresse de rseau et son netmask, on utilise souvent une notation consistant faire suivre l'adresse d'un slash et du nombre de bits un dans le netmask. Exemples : Adresse 192.168.12.0 - netmask 255.255.255.0 => 192.168.12.0/24 Adresse 10.0.0.0 - netmask 255.0.0.0 => 10.0.0.0/8 Adresse 10.0.0.0 - netmask 255.192.0.0 => 10.0.0.0/10 Adresse 172.16.128.0 - netmask 255.255.128.0 => 172.16.128.0/17 Dans le cas d'un rseau local priv, on peut choisir n'importe quelle adresse. Dans le cas d'un rseau local connect Internet, votre fournisseur de connectivit IP vous indique la plage d'adresses qui vous a t alloue. Certains numros de rseaux ont t rservs pour les rseaux locaux privs (RFC 1597): Classe A: 10.0.0.0 (1 rseau) Classe B: 172.16.0.0 172.31.0.0 (16 rseaux) Classe C: 192.168.0.0 192.168.255.0 (256 rseaux) Pour en finir avec les adresses rserves, signalons encore 2 cas: l'adresse de loopback et les adresses de broadcast. L'adresse de loopback (127.0.0.1) correspond une interface fictive prsente sur toutes les machines, l'interface de loopback (lo ou lo0). Elle permet la machine de s'envoyer elle-mme des paquets. Ca a peut tre l'air bte, mais c'est trs utile: on peut ainsi utiliser des applications rseau sans disposer d'interface physique, ou sans qu'elle soit relie au rseau. On peut par exemple installer les programmes client et serveur d'une application dans la mme machine pour aller faire une dmonstration chez un (futur) client, ou encore travailler chez soi la conception d'un site Internet, etc. L'adresse de broadcast associe un rseau correspond une partie machine dont tous les bits sont 1. Elle sert en particulier dterminer quelle adresse physique correspond une adresse IP donne: une requte envoye l'adresse de broadcast est reue par toutes les machines, mais seule celle dont l'interface correspond l'adresse demande rpond. La question de l'adressage ayant t suffisament traite pour le moment, reste aborder celle de la
www.linux-france.org/article/formation/net.html 3/8

02/07/13

Introduction aux rseaux IP

communication. Communiquer, c'est changer des informations. Les rgles rgissant ces changes sont appeles protocoles. Les principaux protocoles rencontrs avec les rseaux IP sont les suivants (liste loin d'tre exhaustive). Nom IP (Internet Protocol) ICMP (Internet Control Message Protocol) ARP (Address Resolution Protocol) RARP (Reverse Address Resolution Protocol) TCP (Transmission Control Protocol) UDP (User Datagram Protocol) FTP (File Transfer Protocol) HTTP (HyperText Transfer Protocol) NNTP (Network News Transfer Protocol) POP (Post Office Protocol) Telnet Description Echange de paquets entre noeuds Transmission de messages d'erreur et de contrle entre machines et passerelles Correspondance entre adresse IP et adresse physique Correspondance entre adresse physique et adresse IP Trasmission de donnes en mode connect (mode "Stream") Trasmission de donnes sans connection (mode "Datagram") Services de haut niveau de transfert de fichiers Serveurs Web Serveurs de News

SMTP (Simple Mail Transfer Protocol) Transmission de courrier lectronique Gestion de botes aux lettres lectroniques Emulation de terminal

Cette liste permet de voir que les protocoles s'adressent diffrents niveaux: un programme de transfert de fichiers fournira une interface utilisateur au protocole FTP, qui s'appuie lui mme sur TCP, lequel utilise IP, ce dernier exploitant ARP et RARP. C'est pour cette raison qu'on parle souvent de la "pile TCP/IP", ou de la "suite de protocoles TCP/IP". Les spcifications de ces protocoles sont appeles RFC (Request For Comments). On peut les trouver sur tous les grands sites FTP, notamment les sites universitaires, ceux des organismes de recherche et ceux des socits lies l'internet. Exemples: ftp.lip6.fr, ftp.inria.fr, ftp.nic.fr. Notez au passage que le terme "TCP/IP" est utilis pour dsigner des choses qui ne mettent pas ncessairement en oeuvre le protocole TCP: "TCP/IP" est devenu un nom propre indpendant des abrviations qui le composent. Supposons maintenant qu'une machine soit utilise pour faire plusieurs choses (situation normale): serveurs Web, FTP, SMTP et POP. Cette machine n'a qu'une interface, donc qu'une adresse IP. Le problme qui se pose est de trouver un moyen d'indiquer cette machine le programme auquel transmettre le paquet qu'on lui envoie. La solution ce problme est la notion de port: on affecte un numro chacun des services offerts par la machine (80 pour le serveur HTTP, 21 pour le serveur FTP, 25 pour le serveur SMTP et 110 pour le serveur POP). Notez qu'on peut trasmettre des donnes un port selon 2 modes: connect (TCP) ou non (UDP). Le mode connect (ou mode Stream) garantit que les donnes seront reues en totalit et dans l'ordre o elles ont t envoyes. Le mode non-connect (ou mode Datagram) permet d'envoyer un message isol sans garantie qu'il
www.linux-france.org/article/formation/net.html 4/8

02/07/13

Introduction aux rseaux IP

soit reu. Cette dernire dfinition peut surprendre, mais ce mode est trs utile: au cours d'un transfert de fichier (donc mode Stream), par exemple, on peut avoir besoin de transmettre un message d'alerte. On enverra alors cette information sous la forme d'un datagramme sur le mme port (puisqu'il est destin la mme application). Le programme de rception peut dtecter l'arrive de ces donnes "hors bande" et appeler la procdure adquate sans interfrer avec le transfert en cours (sauf s'il s'agit d'une demande d'interruption...). Si par malchance le message d'erreur n'tait pas reu, il pourrait tre envoy une seconde fois: l'absence de garantie d'acheminement n'est donc pas un handicap.

Le routage
Aprs avoir pass en revue les notions de base sur un exemple simple (rseau local isol), nous sommes arms pour passer au cas de 2 rseaux locaux interconnects. Cette situation se gnralise au cas d'un rseau reli l'Internet, c'est dire un nombre impressionnant d'autres rseaux. Nous parlerons aussi des connexions en "dial-up" (par modem).

Pour permettre 2 machines situes sur des rseaux diffrents, il est ncessaire d'tablir une liaison entre ces 2 rseaux. La machine "host01" remplit cette fonction de passerelle entre les 2 rseaux: elle dispose de 2 interfaces relies chacune un rseau. Il ne reste qu' indiquer la machine comment utiliser ces interfaces: c'est le rle de la table de routage. Chaque paquet mis possde une adresse de dpart et une adresse d'arrive. Lorsqu'une application envoie un paquet, la fonction systme responsable de son acheminement parcoure la table de routage de la machine pour dterminer quelle interface elle devra utiliser. Voici sous forme simplifie les tables de routage des machines host01, host02 et host11. Machine host01 Adresse 127.0.0.0 Masque 255.0.0.0 Interface Passerelle lo0 nant nant
5/8

192.168.0.0 255.255.255.0 eth0


www.linux-france.org/article/formation/net.html

02/07/13

Introduction aux rseaux IP

192.168.1.0 255.255.255.0 eth1 Machine host02 Adresse 127.0.0.0 0.0.0.0 Masque 255.0.0.0 0.0.0.0

nant

Interface Passerelle lo0 eth0 nant nant 192.168.0.1

192.168.0.0 255.255.255.0 eth0

Machine host11 Adresse 127.0.0.0 0.0.0.0 Masque 255.0.0.0 0.0.0.0 Interface Passerelle lo0 eth0 nant nant 192.168.1.3

192.168.1.0 255.255.255.0 eth0

La ligne des tables de routage de host02 et host11 dont l'adresse de destination est 0.0.0.0 correspond la route par dfaut, c'est dire l'interface utiliser quand aucune des autres entres de la table ne convient. Supposons maintenant que host02 veuille envoyer un paquet host11. L'adresse d'arrive est donc 192.168.1.1. host02 parcoure chaque entre de sa table de routage et vrifie si l'adresse d'arrive remplit les conditions indiques. Sur la premire ligne, il applique le masque 255.0.0.0 192.168.1.1 et trouve donc 192.0.0.0, alors que cette ligne est donne pour 127.0.0.0. On passe donc la suivante: 192.168.1.1 et 255.255.255.0 donne 192.168.1.0, ce qui ne correspond pas au 192.168.0.0 attendu. Il ne reste plus que la route par dfaut: le paquet sera donc transmis host01 (192.168.0.1). Lorsque host01 reoit ce paquet, il applique la mme technique. Sur la premire ligne, le resultat est identique au cas prcdent. Sur la 2me ligne, 192.168.1.1 et 255.255.255.0 donne 192.168.1.0 , ce qui ne correspond pas au 192.168.0.0 attendu. Par contre, la condition de la 3me ligne est satisfaite: le paquet sera donc transmis sur eth1 et reu par host11. Le routage ressemble ces jeux ducatifs compos d'un ensemble de formes en plastique et d'une bote comportant des trous appropris. L'enfant doit essayer les diffrents trous jusqu' ce qu'il trouve celui qui convient la forme qu'il veut ranger dans la bote. Moralit: TCP/IP, c'est enfantin! ;-)

Le cas d'une connexion "dial-up" est intressant parce qu'il met en oeuvre la modification dynamique de la
www.linux-france.org/article/formation/net.html 6/8

02/07/13

Introduction aux rseaux IP

table de routage: lorsque le modem tablit la connexion avec son homologue l'autre bout de la ligne tlphonique, une nouvelle interface (ppp0) est cre et 2 entres sont ajoutes la table de routage (une vers le modem distant et une route par dfaut). Les diffrentes tapes sont les suivantes: Le modem local numrote, le modem distant dcroche et tous 2 ngocient le protocole de communication (vitesse, compression, etc). Une fois le lien physique tabli, les machines ngocient les paramtres du lien PPP. C'est ce moment que l'interface associe au modem local est cre. La machine distante lui assigne alors une adresse IP et indique galement l'adresse de la passerelle pour la route par dfaut. Lors de la dconnexion, les entres ajoutes dans la table de routage sont supprimes, de mme que l'interface ppp0. Supposons par exemple que le modem local reoive l'adresse 192.168.1.1 et que celle du modem distant soit 192.168.1.2, on aura alors les tables de routage suivantes: Machine host1 non connecte Adresse Masque Interface Passerelle 127.0.0.0 255.0.0.0 lo0 nant

Machine host1 connecte Adresse 127.0.0.0 0.0.0.0 Masque 255.0.0.0 0.0.0.0 Interface Passerelle lo0 ppp0 nant nant 192.168.1.2

192.168.1.0 255.255.255.0 ppp0

Domain Name System


Jusqu' maintenant, nous ne nous sommes occup que des adresses des machines, mais dans la ralit on utilise leurs noms: pour la plupart des gens, www.yahoo.fr est beaucoup plus facile retenir que 195.67.49.44. Toute machine peut utiliser un fichier local contenant la correspondance entre adresses IP et noms de machines. Le problme avec cette approche est qu'elle n'est valable que pour un rseau local qui ne change pas trs souvent (car il faut alors mettre jour les tables de toutes les machines!). L'objet du Domain Name System est de fournir un moyen pour transformer les noms de machines en adresses IP l'chelle plantaire. Le principe consiste organiser les noms des machines de faon hirarchique. Ainsi, le nom www.yahoo.fr comporte 3 niveaux, lus de droite gauche. Chaque niveau gre la totalit des niveaux immdiatement infrieurs. Un certain nombre de serveurs grent les domaines de premier niveau (ici: fr), ceux-ci dlguant leur tour la gestion des niveaux infrieurs. En rsum, les serveurs "racine" grent les domaines de plus haut niveau (com, fr, uk, etc), les Network
www.linux-france.org/article/formation/net.html 7/8

02/07/13

Introduction aux rseaux IP

Information Centers nationaux grant tous les niveaux infrieurs (ex. le NIC France gre ibp.fr, gouv.fr, yahoo.fr, etc). Yahoo! France gre tous les noms se terminant par yahoo.fr, et ainsi de suite. Lorsqu'une machine veut transformer un nom en adresse IP, elle fait appel un serveur de noms qui se chargera d'exploiter toute l'arborescence de ses confrres pour obtenir le renseignement. Les serveurs de noms utilisent un "cache" pour viter de dclencher une recherche chaque demande. Le systme de dlgation permet de rsoudre le problme des mises jour ( la dure de vie des informations copies dans les caches prs) et de laisser une totale libert de gestion chaque niveau. Chaque serveur en charge d'un domaine doit tre second par au moins un autre serveur. Ce sont les DNS secondaires, qui recopient intervalles rguliers les donnes du serveur primaire et peuvent traiter les demandes en cas d'indisponibilit du serveur primaire.

www.linux-france.org/article/formation/net.html

8/8

You might also like