Vous êtes sur la page 1sur 233

INTERNET

T CP/IP SIMPLIFIÉ
Collection «Réseau simplifié»
dirigée par Bernard Viau
et Danny J. Sohier
Ouvrages parus dans la collection

INTERNET-LES~OOMEILLEURSSITESENFRANÇAIS
DELAPLANÈTE
par Bruno Guglielminetti

INTERNET-C• MMENTCRÉERDESPAGESWEB
par Maryse Legault et Éric Soucy

INTERNET-C• MMENTTROUVERTOUTCEQUEVOUSVOULEZ
par Louis-Gilles Lalonde et André Vuillet

INTERNET-LE GUIDE DES AFFAIRES


par Érick Van Houtte

INTERNET-LEGUIDEDEL'INTERNAUTE
par Danny J. Sohier

WINDOWS 95 -CRÉEZDESINTERFACESGAGNANTES
par Daniel Lafrenière

I NTERNET -L E G UIDEDESACHATS
par Loraine Lagacé
MARC BLANCHET

INTERNET
TCP/IP SIMPLIFIÉ

Les Éditions
LOGIQUES
LOGIQUES est une maison d’édition reconnue par les organismes d’État responsables de la
culture et des communications.

Révision linguistique: Corinne de Vailly, Claire Morasse


Mise en pages: Édiscript enr.
Graphisme de la couverture: Christian Campana
Photo de l’auteur: Danielle Du Sablon

Distribution au Canada:
Logidisque inc., 1225, rue de Condé, Montréal (Québec) H3K 2E4
Téléphone: (514) 933-2225 Télécopieur: (514) 933.2182
l

Distribution en France:
Librairie du Québec, 30, rue Gay Lussac, 75005 Paris
Téléphone: (33) 1 43 54 49 02 Télécopieur: (33) 1 43 54 39 15
l

Distribution en Belgique:
Diffusion Vander, avenue des Volontaires, 321, 13-l 150 Bruxelles
Téléphone: (32-2) 762-9804 Télécopieur: (32-2) 762-0662
l

Distribution en Suisse:
Diffusion Transat s.a., route des Jeunes, 4 ter C.P. 125, 1211 Genève 26
Téléphone: (022) 342-7740 Télécopieur: (022) 343.4646
l

Les Éditions LOGIQUES


1247, rue de Condé, Montréal (Québec) H3K 2E4
Téléphone: (514) 933-2225 Télécopieur: (514) 933-3949
l

Site Web: http://www.logique.com

Les Éditions LOGIQUES / Bureau de Paris


Téléphone: (33) 1 42 84 14 52 Télécopieur: (33) 1 4.5 48 80 16
l

Reproduction interdite sans l’autorisation de l’éditeur. Toute représentation ou reproduction


intégrale ou partielle, faite sans le consentement de l’éditeur, est illicite. Cette représentation
ou reproduction illicite, par quelque procédé que ce soit, constituerait une contrefaçon
sanctionnée par la Loi sur les droits d’auteur,
Internet - TCPiIP simplifié
0 Les Éditions LOGIQUES inc., 1997
Dépôt légal: Premier trimestre 1997
Bibliothèque nationale du Québec
Bibliotheque nationale du Canada

ISBN 2-89381-307-o
LX-508
Quelques mois après ton départ,
Papa, me voici en train d’écrire
un livre dont j’espère que tu au-
rais été fier Ta sagesse me gui-
dera toujours.
Sommaire
Préface ....................................................................................... 15
Avant-propos.. ............................................................................ 19

PREMIÈRE PARTIE
LES PROTOCOLES DE BASE

Chapitre 1
Introduction ........................................................................... 25
1.1 Internet et les protocoles TCP/IP.. ................................. 25
1.2 Définition d’un protocole selon le modèle ISO.. ........... 26
1.3 Pilote de réseau TCP/IP ................................................. 28
1.4 Client ou serveur.. .......................................................... 28
1.5 Paquet IP ........................................................................ 29
1.6 Notions avancées ........................................................... 29
Chapitre 2
Identification d’un ordinateur en réseau
avec les adresses IP.. ............................................................. 33
2.1 Structure d’une adresse IP ............................................. 33
2.2 Plan d’un réseau typique avec adresses IP .................... 34
2.3 Masque de sous-réseau .................................................. 36
2.4 Classes A, B, C, D et E.. ................................................ 38
2.5 Choix d’adresses pour le branchement sur Internet.. .... 40
2.6 Notions avancées ........................................................... 41
2.7 Configuration de Windows 3.1 avec Chameleon.. ......... 44
2.8 Configuration Windows 95 ............................................ 46
2.9 Configuration Macintosh ............................................... 47
2.10 Configuration Unix ........................................................ 48
2.11 Références.. .................................................................... 50
Chapitre 3
Noms et adresses avec le DNS.. .......................................... 51
3.1 Identification d’un ordinateur.. ...................................... 51
3.2 Relation entre le nom d’un ordinateur et son adresse IP 51

9
INTERNET - TCP/IP SIMPLIFIÉ

3.3 Serveurs de noms de domaines (DNS) .......................... 53


3.4 Autorité sur les domaines .............................................. 53
3.5 Requêtes au DNS ........................................................... 54
3.6 Notions avancées ........................................................... 58
3.7 Configuration de Windows 3.1 avec Chameleon.. ......... 60
3.8 Configuration Windows 95 ............................................ 63
3.9 Configuration Macintosh ............................................... 64
3.10 Configuration Unix ........................................................ 64
3.11 Références.. .................................................................... 68
Chapitre 4
Aiguillage des paquets avec le protocole RIP ................ 69
4.1 Protocole d’aiguillage RIP.. ........................................... 72
4.2 Notions avancées ........................................................... 73
4.3 Configuration de Windows 3.1 avec Chameleon.. ......... 80
4.4 Configuration Windows 95 ............................................ 81
4.5 Configuration Macintosh ............................................... 82
4.6 Configuration Unix ........................................................ 82
4.7 Configuration d’un aiguilleur Ckco .............................. 83
4.8 Références.. .................................................................... 85
Chapitre 5
IP sur lien série avec SLIP, CSLIP et PPP ..................... 87
5.1 Configuration du port série et des modems.. ................. 88
5.2 SLIP: Serial Line IP ...................................................... 88
5.3 Compression .................................................................. 89
5.4 CSLIP: Compressed SLIP.. ............................................ 89
5.5 PPP: Point to Point Protocol.................. ........................ 90
5.6 Configuration typique d’un service de connexions IP
par lien téléphonique ...................................................... 91
5.7 Identification de l’utilisateur.. ........................................ 91
5.8 Entrée en ligne ............................................................... 92
5.9 Adresse IP dynamique ................................................... 92
5.10 Notions avancées ........................................................... 92
5.11 Configuration de Windows 3.1 avec Chameleon.. ......... 95
5.12 Configuration Windows 95 ............................................ 96
5.13 Configuration Macintosh ............................................... 98

10
5.14 Configuration Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.15 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Chapitre 6
Transport des paquets: TCP et UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.1 TCP: Transmission Control Protocol ..,......................... 103
6.2 UDP: User Datagram Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.3 Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.4 Notions avancées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.5 Configuration Windows . . . . . . . . . . . . . . . . . . . . . . . . . , . . . . . . . . . . . . . . . . . . . . . . . 112
6.6 Configuration Macintosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
6.7 Configuration Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
6.8 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 14

DEUXIÈME PARTIE

LES APPLICATIONS

Chapitre 7
World Wide Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
7.1 Hypertexte ...................................................................... 117
7.2 URL: Uniform Resource Locator .................................. 117
7.3 Protocole HTTP ............................................................. 118
7.4 Langage HTML ............................................................. 120
7.5 Les types MIME et les logiciels complémentaires ........ 121
7.6 Exemple d’interaction entre le client Web
et le serveur Web.. .......................................................... 121
7.7 Mémoire tampon.. .......................................................... 124
7.8 Les formulaires et l’interface CGI.. ............................... 124
7.9 Java ................................................................................ 126
7.10 Javascript ....................................................................... 127
7.11 Le transport chiffré des communications Web:
avec HTTPS ................................................................... 127
7.12 Gopher ........................................................................... 128
7.13 Configuration Windows, Macintosh et Unix ................. 128
7.14 Liste des services ........................................................... 130
7.15 Références ...................................................................... 130

11
I NTERNET - TCP/IP SIMPUFIÉ

Chapitre 8
Courrier électronique avec SMTP, POP et MIME . . . . . . 133
8.1 Exemple de conversation entre un client et un serveur
SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
8.2 Post OfJice Protocol (POP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
8.3 En-tête d’un message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
8.4 Caractères internationaux, éléments multimédias et
documents attachés avec MIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
8.5 Notions avancées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
8.6 Configuration Windows et Macintosh . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
8.7 Liste des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
8.8 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Chapitre 9
Service de nouvelles avec NNTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
9.1 Configuration Windows, Macintosh et Unix . . . . . . . . . . . . . . . . . 152
9.2 Liste des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
9.3 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Chapitre 10
Session interactive Telnet .................................................... 153
10.1 Émulation de terminal.. .................................................. 154
10.2 Rlogin, Rsh et Rexec ..................................................... 154
10.3 Configuration Windows et Macintosh.. ......................... 155
10.4 Configuration Unix ........................................................ 157
10.5 Liste des services.. ......................................................... 158
10.6 Références ...................................................................... 158

TROISIÈME PARTIE
PROTOCOLES DES NIVEAUX INFÉRIEURS

Chapitre 11
Résolution d’adresses, configuration automatique
et messages d’erreur avec
ARP, RARP, BOOTP, DHCP et ICMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
11 .l Réseau local Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
11.2 Résolution d’adresses sur un réseau local: ARP . . . . . . . . . . . 163

12
S OMMAIRE

11.3 Résolution inverse d’adresses sur un réseau local:


RARP ............................................................................. 164
11.4 Configuration automatique avec BOOTP et DHCP ...... 165
11.5 Messages de contrôle et d’erreurs ICMP ...................... 167
11.6 Notions avancées ........................................................... 167
11.7 Configuration de Windows 3.1 avec Chameleon.. ......... 172
11.8 Configuration de Windows 95 ....................................... 173
11.9 Configuration Macintosh ............................................... 173
11.10 Configuration Unix ........................................................ 175
11.11 Configuration Windows NT ........................................... 176
11.12 Références ...................................................................... 177
Chapitre 12
Que se passe-t-il vraiment quand j’accède
à une page Weh? ................................................................... 179

QUATRIÈMEPARTIE
A UTRESPROTOCOLES
Chapitre 13
Adressage multipoint ........................................................... 187
13.1 Adresses de classe D ...................................................... 188
13.2 Protocole IGMP ............................................................. 189
13.3 Références ...................................................................... 189
Chapitre 14
Le nouveau protocole IP ..................................................... 191
14.1 Adressage plus important .............................................. 192
14.2 En-tête du paquet IP ...................................................... 193
14.3 DNS.. .............................................................................. 193
14.4 Transition ....................................................................... 194
14.5 Références.. .................................................................... 194

Chapitre 15
Gestion de réseaux avec SNMP ......................................... 195
15.1 Station de gestion ........................................................... 195
15.2 Description des éléments: Management Information
Buse (MIB) .................................................................... 196

13
INTERNET - TCP/IP SIMPLIFIÉ
-~ ~~~ _~_..~_~~

15.3 Événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197


15.4 Modification de la configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
15.5 Mots de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
15.6 Configuration Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
15.7 Configuration Macintosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
15.8 Liste des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
15.9 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

ANNEXES
Annexe 1 Table des masques de sous-réseau . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Annexe 2 Table des numéros de ports IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Annexe 3 Table des caractères ISO 8859-l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Annexe 4 Table des objets MIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Annexe 5 Abréviations de télécommunication . . . . . . . . . . . . . . . . . . . . . . . . 219
Annexe 6 Caractéristiques de câblage Ethernet . . . . . . . . . . . . . . . . . . . . . . 221
Annexe 7 Table de conversion du mode décimal à binaire. . . . . 223
Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Adresses utiles sur Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..f........................................... 233
Liste des tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Liste des figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..,..... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Préface

D
ans la brève et si dynamique histoire des technologies de
l’information, peu de ressources et de concepts ont traversé
les années avec autant de succès et d’impact que les proto-
coles de communication TCP/IP. En effet, la croissance explosive
d’Internet - 15 millions d’usagers quotidiens à la fin de l’année
1996 et une prévision de 200 millions d’individus raccordés en
1998 - témoigne de la pérennité des idées maîtresses proposées au
début des années 70 par les instigateurs de la communication infor-
matique.
Plusieurs facteurs ont donné naissance à ce que l’on a déjà pu
appeler le «6e continent», ce nouveau territoire planétaire d’échange
d’informations de toute nature. On peut certes penser à la microélec-
tronique, qui permet maintenant la maîtrise de la réalisation écono-
mique d’éléments de traitement extraordinairement complexes. On
perçoit facilement la contribution des interfaces personne-machine
évoluées, qui ont, elles aussi, puissamment contribué à la démocra-
tisation de l’informatique. Mais on a parfois tendance à oublier que,
sans l’armature sous-jacente des protocoles de communication - et
singulièrement ceux de la filière TCP/IP -, rien de ce que nous
tenons aujourd’hui pour acquis n’existerait.
Ces idées maîtresses étaient peu nombreuses: segmentation des
messages à échanger en paquets individuels de petites dimensions,
maillage serré de tous les participants sans qu’il y ait de topologie
préétablie, routage indépendant, autonome et de proche en proche de
ces paquets sans besoin de gestion centralisée, transparence aux yeux
de l’expéditeur et du destinataire du processus de relais. Retenues à
l’origine afin d’assurer une fiabilité de communication à toute
épreuve en cas d’intervention militaire - n’oublions pas le climat de
guerre froide de l’époque - ces idées allaient également s’arrimer
magnifiquement au contexte industriel des années 80 et 90: multipli-
cité des familles d’ordinateurs, diversité des systèmes d’exploitation
et des environnements informatiques, explosion des modes d’utili-
sation exigeant le recours à des ressources aussi nombreuses que

15
INTERNET - TCPLP SIMPLIFIE
~~~~

différentes. L’informatique, à l’aube de l’an 2000, est caractérisée


par le besoin d’intégration harmonieuse de ressources hétérogènes au
sein de grands ensembles informatiques: à cet égard les protocoles
TCP/IP se sont progressivement imposés comme ciment incontour-
nable.
Cette convergence, on s’en doutera, ne s’est pas faite sans heurts,
sans opposition parfois de la part d’autres alternatives à l’occasion
supérieures sur tel ou tel aspect strictement technique. J’aime cepen-
dant à penser que si les protocoles TCP/IP sont devenus un véritable
standard de facto, c’est à cause d’une autre idée maîtresse, celle de
l’esprit d’ouverture et de collaboration de la communauté qui leur ont
donné naissance et les ont alimentés avant leur passage au stade réso-
lument commercial, qui est encore tout récent. Car, à la différence du
travail de groupes de normalisation technique qui a trop souvent ten-
dance à s’effectuer en vase clos et de manière rigide, le développe-
ment TCP/IP - longtemps associé à juste titre à la communauté
Unix - s’est largement déroulé dans le cadre de forums ouverts et
pleinement accessibles. Ceux-ci ont recruté d’extraordinaires talents
internationaux, suscité des essais de validation impitoyables, et pro-
gressivement distillé des solutions éminemment robustes et évoluti-
ves. Les protocoles TCP/IP ne sont pas parfaits - on peut penser, par
exemple, aux questions de sécurité qui prennent toute leur importance
dès lors que les technologies de l’information deviennent ressources
stratégiques de nos sociétés modernes. Mais à la marque de toutes les
belles réalisations humaines, ils possèdent cette caractéristique essen-
tielle de souplesse et de capacité évolutive qui leur a permis de tra-
verser sans faillir de multiples générations informatiques. Cette
transformation continue, sans rupture avec le passé, se poursuit
encore aujourd’hui, avec des éléments comme le multicast MBONE
pour le mode vidéoconférence, le développement multimédia qui gra-
vite autour du World Wide Web, l’authentification et la confidentia-
lité, ou encore les besoins accrus d’adressage que font pressentir les
communications mobiles. Elle se prépare notamment à se réincarner
dans la prochaine décennie sous la forme IPng (IP «next generation»).
Marc Blanchet est à même de nous faire partager le fruit d’une
expertise acquise de toute première main. Depuis son implication

16
PRÉFACE

initiale, qui remonte à ses travaux de maîtrise dans notre Laboratoire


de Vision et Systèmes Numériques, il a activement participé à la
mise en place de structures informatiques de grande qualité, que ce
soit au département de génie électrique et de génie informatique -
où nous disposons 20 ans plus tard d’un réseau exemplaire de plus
de 400 machines totalement intégrées - et plus récemment, dans le
cadre du projet AMI de l’université Laval. À de multiples occasions,
il nous a aidés à faire des choix technologiques et à les implanter
efficacement. Je me rappelle d’une époque, pas si lointaine, où nous
avons amorcé ensemble les premiers développements Unix, d’une
époque effervescente où le décodage des enjeux, des facteurs de
réussite, de risque ou d’échec étaient problématiques. Aujourd’hui,
il saute aux yeux que ces choix, que Marc avaient su si bien analy-
ser et où l’architecture TCP/JP jouait un rôle central, étaient les
bons.
Avec l’émergence imminente des ordinateurs réseau, de l’intégra-
tion htmlJava, et de la métaphore WWW comme celle du prochain
bureau informatique, les questions d’architecture d’interconnexion
effkaces, souples et fiables sont à nouveau sous les projecteurs. Que
cet ouvrage vous permette d’en bien dégager les concepts essentiels,
d’en saisir les détails et de procéder aux choix stratégiques de la
connectivité intégrale: tous mes vœux pour le xxIe siècle.

Denis Poussart
Professeur titulaire
Université Laval
et
Kce-président recherche et développement
Centre de recherche informatique de Montréal
Avant-propos
L’important est moins d’être que de
se savoir être. Toute société devrait
se structurer en fonction de cet
objectif: enrichir les échanges entre
tous.
Albert Jacquard

TCP/IP sur Internet et sur les réseaux corporatifs

L
‘accessibilité d’Internet par les entreprises et le grand public
a produit un engouement peu commun dans l’histoire de
l’informatique. La vitesse de développement et de déploie-
ment de cette technologie est en constante progression même si les
nouveaux utilisateurs possèdent moins de connaissances techniques
que les scientifiques des vingt-cinq premières années de ce moyen
de communication. Internet n’étant pas conçu pour connaître une
telle expansion, sa réussite démontre clairement la maturité tech-
nique de cet environnement informatique.
Utilisé sur Internet et sur les réseaux corporatifs, TCP/IP (Truns-
mission Control Protocolhtemet Protocol) est le protocole de
communication utilisé entre les ordinateurs. Il sert autant sur les
réseaux locaux (LAN: Local Area Networks) que sur les réseaux
étendus (M!AN: Wide Area Network). Ce protocole permet de relier
entre eux différents ordinateurs et systèmes d’exploitation, ce
qu’aucun autre protocole de réseau n’avait pu faire jusque-là.
Ce livre porte sur la version courante du protocole IP utilisée sur
Internet: la version 4. Le chapitre 14 est consacré aux fonctions sup-
plémentaires de la version 6.

Comprendre TCP/IP pour l’utilisateur et le professionnel


L’ensemble des protocoles basés sur TCP/IP est utilisé sur les
réseaux corporatifs et Internet. Le but de ce livre est de faire com-
prendre au lecteur l’ensemble des protocoles TCP/IP dans ces deux
contextes. Une compréhension que l’on veut pratique et utile tous

19
INTERNET - TCPLP SIMPLIFIÉ
-

les jours, en associant directement les concepts présentés aux para-


mètres de configuration des logiciels TCP/IP utilisés couramment.
Pour l’utilisateur curieux d’Internet, cette compréhension du rôle
de TCP/IP lui permettra de saisir la nécessité et la portée des para-
mètres de configuration des logiciels, de diagnostiquer les problè-
mes qu’il rencontre et de cheminer vers une appropriation de cette
technologie. Ce livre présuppose cependant une certaine familiarité
avec l’informatique et Internet.
Pour le professionnel travaillant dans le domaine des réseaux, ce
livre permettra de saisir l’ensemble des protocoles TCP/IP utilisés
dans les environnements corporatifs et Internet, en lui donnant des
outils pour configurer les logiciels et diagnostiquer les problèmes. En
même temps, plusieurs outils de référence comme les renvois aux
documents de normalisation (RFC), les tableaux, les exemples et les
annexes de référence, sont inclus afin que cet ouvrage devienne une
référence utile quel que soit le contexte de son utilisation.

Comment lire ce livre?


Chaque chapitre est généralement divisé en quatre sections: le sujet
exposé, les notions avancées, les configurations des logiciels et les
références. La section des notions avancées n’étant pas nécessaire à
la compréhension des chapitres suivants, elle peut être omise et
consultée plus tard, permettant ainsi aux utilisateurs d’Internet de
comprendre l’essentiel des protocoles sans en connaître tous les
détails, et aux professionnels ou aux utilisateurs très curieux de
comprendre tous les éléments en jeu.
La section sur les configurations des logiciels identifie, pour les
quatre environnements Macintosh, Unix et Windows 3.1 et Windows
95, les paramètres de configuration importants du sujet traité. Étant
donné la diversité des logiciels et des pilotes de réseau disponibles
sur Windows, nous avons choisi, pour les exemples de configuration,
le logiciel Chameleon de la compagnie Netmanage parce qu’il existe
une version réduite et gratuite, appelée Chameleon Sampler, large-
ment utilisée et distribuée avec des livres Internet et que plusieurs
fournisseurs Internet incluent dans leur ensemble de départ. Chame-
Zeon est aussi intéressant pour la compréhension car l’ensemble des

20
AVANT-PROPOS

logiciels et outils est très complet et beaucoup de paramètres de


configuration y sont offerts. Le lecteur ayant un autre logiciel sur
Windows n’aura aucune difficulté à s’y retrouver. Le problème du
choix de logiciel ne se pose pas pour les environnements Macintosh,
Unix et Windows 95, car les pilotes de réseau TCP/IP sont normali-
sés ou inclus. Pour le courrier électronique et le World Wide Web
(WWW ou Web), la configuration des logiciels Eudoru et Netscupe
Nuvigator est présentée. Au chapitre sur l’aiguillage, nous exposons
aussi quelques commandes pour les aiguilleurs de la compagnie
Cisco. Au chapitre sur les services de résolution d’adresses, nous
exposons quelques éléments de la configuration d’un serveur DHCP
sur Windows NT. Enfin, sur Unix sont présentés les principaux élé-
ments de configuration des logiciels serveurs.
Une liste des documents de normalisation des protocoles appelés
RFC (Requestfor Comments) et publiés par 1’IETF (Internet Engi-
neering Tusk Force) est inclus à la fin de chaque chapitre.
Pour un utilisateur Internet, en première lecture suggérée, je
recommande les chapitres 1, 2, 3, 4, 5, 6 et les chapitres des appli-
cations, 7 et 8 selon l’intérêt, en omettant les sections sur les notions
avancées.
Pour un professionnel des réseaux, une première lecture continue
est suggérée. Les sections sur les notions avancées peuvent cepen-
dant être omises.
Les chapitres des applications étant relativement indépendants
des premiers chapitres (2, 3 et 4), un lecteur impatient de com-
prendre les mécanismes du Web, par exemple, peut aller directe-
ment au chapitre correspondant.
Nous avons fait un effort important pour utiliser des termes tech-
niques français correspondant au bon usage. Les équivalents anglais
ont été ajoutés entre parenthèses.
Les mises à jour de ce livre de même que d’autres informations
utiles sont disponibles sur le site Web http~//~ww.viagenie.qc.ca.
Des exercices suggérés par des professeurs sont aussi offerts sur le
site.

21
INTERNET - TCP/IP SIMPLIFIÉ

Si vous désirez donner des commentaires, des suggestions ou des


corrections sur ce livre, je vous invite fortement à le faire par le site
Web ou bien à l’adresse de courrier électronique livre.tcp-ip@
viagenie.qc.ca.
En terminant, je voudrais remercier sincèrement mes prélecteurs
qui m’ont beaucoup aidé dans la conception de ce livre: Louis
Blanche& Louis Demers, Benoît Dicaire, Denyse Gilbert, Marcel
Kaszap, Lucie Nadeau et tous les autres. Un merci à l’équipe des
Éditions Logiques, dont Danny J. Sohier, Bernard Viau, Bianca Côté
et Suzanne Bélanger, pour leur soutien et leur patience.
PREMIÈRE PARTIE

Les protocoles de base

Cette première partie traite des protocoles de base. Ceux-ci


sont de première importance puisqu’ils sont la fondation utili-
sée par les protocoles des applications tels que le Web. Ces
protocoles permettent l’identification numérique des ordina-
teurs avec l’adressage IP (chapitre 2), l’identification nomi-
nale avec le DNS (chapitre 3), l’aiguillage des paquets sur le
réseau (chapitre 4), l’utilisation de liens série (chapitre 5) et les
méthodes de transport des paquets avec TCP et UDP (cha-
pitre 6).
Chapitre 1

Introduction
L’ordre naît du chaos.
Albert Einstein

1.1 Internet et les protocoles TCP/IP


nternet est un réseau de réseaux d’ordinateurs. Il connecte des

1 réseaux d’ordinateurs entre eux pour constituer le réseau mon-


dial que l’on connaît. Ces sous-réseaux peuvent être formés
géographiquement comme le réseau canadien CA*Net qui connecte
les réseaux de chaque province entre eux, ou bien de manière quel-
conque comme les réseaux corporatifs pouvant s’étendre sur plu-
sieurs pays. Tous les ordinateurs de ces réseaux, peu importe leur
système d’exploitation, utilisent l’ensemble des protocoles TCP/IP.
Cet ensemble de protocoles est conçu par les utilisateurs d’Inter-
net pour combler leurs besoins de communication. Les responsables
de la conception et du développement sont regroupés dans 1’IETF
(Internet Engineering Tusk Force) qui est l’organisme de normalisa-
tion d’Internet. Il produit des normes sous forme de documents
identifiés par le terme RFC (Request For Comments) suivi d’un
nombre. Le lecteur intéressé peut les consulter sur Internet à
l’adresse http://ds.internic.net.
L’histoire d’Internet et des protocoles TCP/IP est aussi intimement
reliée aux développements du système d’exploitation Unix, qui est
l’outil de développement privilégié pour les nouveaux protocoles et
applications. Cette liaison entre TCP/IP et Unix est due au fait que les
premières versions Unix de l’université Berkeley ont intégré TCP/IP.
Or, cette version d’Unix était et est encore largement répandue dans
les universités qui constituaient le cœur d’Internet. Ces deux techno-
logies ont été créées dans la même optique de partage des connaissan-
ces et des logiciels, d’expérimentation et de recherche*.

1. Les deux livres de Peter Salus montrent très bien la liaison entre ces deux tech-
nologies. Casting the Net et A Quarter Century of Unix, Ed. Addison-Wesley, 199.5.

25
INTERNET - TCP/IP SIMPLIFIÉ

1.2 Définition d’un protocole selon le modèle ISO


Pour que deux ordinateurs échangent entre eux, ils doivent s’en-
tendre sur une langue commune, sur un protocole commun. Celui-
ci est tout simplement une norme établissant en détail les
informations échangées et la séquence entre celles-ci. Elle établit
aussi les situations qui doivent être gérées telles qu’une erreur dans
la conversation entre les deux ordinateurs ou une donnée erronée.
On compare généralement les protocoles de réseaux entre eux
d’après le modèle ISO comportant sept niveaux superposés, en com-
mençant par les protocoles de câblage du niveau 1 traitant des fils,
du voltage, de la modulation jusqu’aux protocoles d’applications
des niveaux 5, 6 et 7 tels que le Web et Telnet, par exemple.
Chaque niveau correspond généralement à un protocole. Celui-ci
utilise de façon transparente les fonctions du niveau inférieur. Par
exemple, le protocole IP est un protocole de niveau 3 qui utilise un
protocole de niveau 2 tel qu’Ethernet ou Token-Ring ou FDDI
(Fiber Distributed Data Interface) ou un autre protocole de liaison
des données. À cet égard, un protocole de niveau supérieur utilise
les fonctions du niveau inférieur et est indépendant du protocole
actuellement utilisé au niveau inférieur.
L’ensemble des protocoles appelés TCP/IP est comparable aux
protocoles de l’ensemble Netware de Novell ou Appletdk d’Apple,
puisque ces ensembles regroupent des protocoles des niveaux 3 à 7.
Ils peuvent utiliser les protocoles de liaison de données, du niveau
2, tels qu’Ethernet. Ils sont cependant différents dans leurs fonction-
nalités.
La Figure 1.1 décrit le modèle ISO avec, en exemple, les proto-
coles TCP/IP, Netware et Appletalk.
Les protocoles des niveaux 1 à 4 sont souvent décrits par la posi-
tion des informations dans les paquets transmis d’un ordinateur à un
autre. Par exemple, dans un paquet du protocole IP, l’adresse IP de
l’ordinateur envoyant le paquet est située dans les quatre octets sui-
vant le 13e octet du début du paquet. Ainsi, l’ordinateur recevant le
paquet lira ces octets pour connaître la source de celui-ci.

26
IPX
Niveau Description du niveau TCPAP (netware) Apple Talk

Application
www(http) ) NFS 1 Services 1 Services 1

segmentation des données


Transport transmission séquencée
Tcp UDP SPX ATP
I l

formation des paquets physiques


Ethernet ou
v&ification des transmissions
Token-Rmg ou
FDDI ou ATM ou

Figure 1.1
Classification des sept niveaux ISO avec TCP/IP, Netware et Appletalk

Par contre, plusieurs protocoles des niveaux supérieurs (5 à 7) sont


souvent décrits par un langage interactif créant une conversation
entre deux ordinateurs. Avec TCP/IP, lorsqu’un ordinateur A envoie
un message de courrier électronique avec le protocole SMTP (Sim-
pie Mail Transport ProtocoZ) à un ordinateur B, il commence par
envoyer son identification avec la commande HELO. Ensuite, B ré-
pond à A qu’il est prêt à recevoir le courrier, A envoie l’adresse de
courrier de l’expéditeur par la commande MAIL FROM et B lui
répond OK. A envoie ensuite l’adresse de courrier du destinataire par
la commande RCPT TO et B vérifie l’adresse et lui répond OK. A en-
voie enfin le message lui-même avec la commande DATA. B reçoît
le message et le transmet finalement au destinataire. Cette conversa-
tion est constituée d’une série de paquets envoyés de part et d’autre.
Nous appelons donc «protocole» toute convention permettant
l’échange d’informations entre deux ordinateurs, peu importe qu’elle
se situe au niveau de la position de bits dans un paquet ou bien au
niveau d’un langage de conversation. On appelle souvent les proto-
coles utilisés sur Internet comme l’ensemble des protocoles TCP/B?
TCP et IP sont les deux protocoles de base les plus importants parmi

27
INTERNET - TCP/IP SIMPLIFIÉ

l’ensemble des protocoles d’Internet. Lorsqu’on utilise le terme


«protocole TCP/IP», il faut comprendre l’ensemble des protocoles
TCP/IP.

1.3 Pilote de réseau TCP/IP


Les protocoles de base TCPflP des niveaux 2, 3 et 4 comprenant IP,
TCP, UDP et quelques autres, sont généralement inclus dans les sys-
tèmes d’exploitation comme Unix ou bien sont sous forme d’exten-
sion logicielle dans les systèmes du Macintosh et du PC avec
Windows. Ces pilotes de réseau supportent les protocoles de base
TCP/IP illustrés en gris dans la Figure 1.2. Les services des niveaux
5 à 7 tels que Telnet, Ftp, Web, Gopher, etc., sont des logiciels que
l’utilisateur démarre au besoin.

5-7 / Application ) Ftp, Telnet, Rlogin Dns, Tftp, Bootp


Ping
(protocole + Smtp, X, Http Dhcp, Snmp
Tracr----‘-
logiciel) Gopher, Bgp / Nfs(rpc), Rip

médium de câblage

Figure 1.2
Schéma des protocoles IP

1.4 Client ou serveur


On nomme logiciel client, ou plus simplement client, un logiciel qui
accède à des services d’un autre ordinateur. On nomme logiciel ser-
veur ou plus simplement serveur, lelogiciel qui reçoit les requêtes
des clients, les traite et renvoie la réponse. Lorsqu’on utilise les
outils Web, le client Web est le logiciel comme Netscupe Nuvigator
que vous utilisez et le serveur Web est le logiciel qui envoie les
pages Web. Un même ordinateur peut être configuré comme serveur
de plusieurs services en ayant installé les logiciels serveurs pour
chaque service, et être client pour d’autres services en utilisant les
logiciels clients de ces services. Chaque logiciel client ou logiciel
serveur est indépendant. On retrouve généralement les logiciels

28
INTRODUCTION
~..-.-~-~

serveurs sur des ordinateurs ayant des systèmes d’exploitation per-


mettant l’exécution simultanée et ordonnée de plusieurs tâches, par
exemple Unix, Windows NT ou 092.

1.5 Paquet IP
Une information petite, telle qu’un caractère envoyé par Telnet, ou
grande, tel qu’un fichier envoyé par Ftp, est incorporée dans un ou
plusieurs paquets du protocole IP formé par le pilote de réseau de
votre ordinateur. Selon sa grosseur et le protocole supérieur utilisé,
l’information est découpée en un ou plusieurs morceaux, chacun
étant envoyé dans un paquet IP séparé. Ces paquets, incluant
l’adresse source et l’adresse de destination, parcourent l’Internet,
souvent en utilisant plusieurs média différents, pour se rendre à des-
tination. Le paquet IP est inséré dans les trames des média physi-
ques dans le parcours. L’information est ensuite réassemblée avec
les paquets IP reçus par l’ordinateur destinataire.
Le protocole IP de niveau 3 est responsable de l’acheminement
des paquets dans un réseau. Pour cette raison, on dénomme souvent
«réseau IP» un réseau utilisant l’ensemble des protocoles TCP/IP.
C’est le protocole IP qui gère les adresses des ordinateurs. Elles sont
présentées au prochain chapitre.

1.6 Notions avancées


Chaque chapitre du livre contient une section avancée. Sa consulta-
tion est facultative pour la compréhension des autres chapitres.

1.6.1 Dispositifs de réseau


Plusieurs types de dispositifs sont utilisés sur les réseaux, tels que
les répéteurs et concentrateurs’(repeater), les ponts (bridge), les ai-
guilleurs (rouler) et les passerelles (gateway). En utilisant le modèle
ISO, on peut les distinguer.
Un répéteur, ou un concentrateur, est un dispositif qui copie les
bits qu’il reçoît d’une de ses interfaces vers une autre de ses interfa-
ces, sans aucun changement. Il regénère le signal et permet d’éten-
dre un réseau puisque les longueurs maximales permises des câbles
sont doublées. Un répéteur est au niveau 1 du modèle ISO.

29
INTERNET - TCP/IP SIMPLIFIÉ

7 Application Application 7
6 Présentation Présentation 6
5 Session - Session 5
4 Transport Transport 4
3 Réseau Réseau 3
-
2 Liaison Liaison 2
données données
Liaison Répéteur ou 4t) Liaison l--
I 1
physique concentrateur physique
Figure 1.3
Fonction d’un répéteur dans le modèle ISO

Un pont est un dispositif qui filtre les trames en reconnaissant


leur origine et leur destination.

Pont

Figure 1.4
Exemple d’un pont

Le pont, dans la Figure 1.4, déterminera que les ordinateurs A et


B sont du côté 1 et C et D, du côté 2, en inspectant les adresses sour-
ces des trames. Ainsi, lorsqu’une trame sera envoyée de A vers B ou
de C vers D, elle ne traversera pas le pont, mais si elle est envoyée
de A vers C ou D, elle le traversera automatiquement sans aucune
autre intervention. Cette fonction est indépendante du protocole
supérieur utilisé tel que TCP/IP ou Novell IPX. Un pont correspond
au niveau 2 du modèle ISO.

30
Figure 1.5
Fonction d’un pont dans le modèle ISO

Relativement simples, les répéteurs, les concentrateurs et les


ponts peuvent être remplacés directement en cas de panne, ce qui
n’est pas le cas d’un aiguilleur qui nécessite une configuration.
Un aiguilleur est un dispositif de niveau 3 qui connaît les protoco-
les d’aiguillage et prend des décisions sur le parcours des paquets selon
sa configuration et sa table des routes. Un aiguilleur est indépendant

Figure 1.6
Fonction d’un aiguilleur dans le modèle ISO

31
INTERNET - TCP/IP SIMPLIFIÉ

des niveaux inférieurs, ce qui permet de passer d’Ethemet à Token-


Ring, par exemple. Ainsi, il insérera le paquet du protocole de niveau
3 dans la trame correspondante au médium physique du niveau 2. Dans
le cas de TCP/IP, il utilisera l’adresse IP de destination pour diriger le
paquet au bon endroit, peu importe que ce paquet ait été transporté sur
Ethernet, Token-Ring ou sur un lien téléphonique par modem.
Enfin, une passerelle est un dispositif traduisant un ou plusieurs
protocoles des niveaux 4 à 7. Le produit GatorBox de Cayman est
un exemple de passerelle entre les protocoles de disques virtuels
NFS (Network File System) et AppleShare. Ainsi, un serveur NFS
diffusera un disque virtuel NFS mais apparaîtra comme un disque
virtuel AppZeShare sur un Macintosh de l’autre côté de la passerelle.
Le serveur NFS et le client Macintosh ne connaissent pas l’existence
de la traduction, chacun parlant avec son propre protocole, la passe-
relle traduisant les requêtes.

Passerelle

....

Figure 1.7
Fonction d’une passerelle dans le modèle ISO

Au début de TCP/IP en 1970, la fonction d’aiguillage était


confondue avec la fonction de passerelle. Ainsi, les aiguilleurs
étaient appelés des passerelles. Il existe encore dans la nomenclature
et dans les configurations des logiciels TCP/IP le terme gateway
alors que l’on devrait utiliser router ou aiguilleur en français.
Chapitre 2
Identification d’un ordinateur en
réseau avec les adresses IP
L’imagination est plus importante
que la connaissance.
Albert Einstein

e chapitre décrit une partie importante dans l’acheminement

C des paquets sur un réseau IP (Internet Protocol): l’adresse


IP Tout dispositif sur un réseau IP possède une adresse IP.
À la section des notions avancées, nous introduirons le format du
paquet IP avec ces principaux éléments.

2.1 Structure d’une adresse IP


Un ordinateur ou un quelconque dispositif relié à un réseau IP pos-
sède une adresse qui l’identifie. Chaque paquet envoyé sur un tel
réseau contient l’adresse IP de l’ordinateur expéditeur et celle de
l’ordinateur destinataire. C’est uniquement en fonction de ces adres-
ses que ce paquet traverse un réseau complexe comme Internet pour
se rendre à destination. Le nom des ordinateurs ne joue aucun rôle
dans l’aiguillage des paquets.
Une adresse IP est composée de 32 bits que l’on exprime en déci-
males avec quatre nombres de 0 à 255 représentant 8 bits chacun et
séparés par un point. Par exemple, 192.168.1.5 est une adresse IP.
En binaire’, cette adresse est représentée par les 32 bits suivants:
11000000101010000000000100000101. Il existe un maximum de
232 = 4 294 967 296 adresses possibles sur un grand réseau IP
comme Internet.

1. Une table de conversion du mode décimal au mode binaire se trouve en annexe


à la page 223.

33
INTERNET - TCPLP SIMPLIFIÉ

Tableau 2.1
Adresse IP en mode décimal et binaire
Adresse IP exprimée en décimales Adresse IP exprimée en binaire
192.168.1.5 11000000 101010000000000100000101

Une adresse IP est séparée en deux parties: la première repré-


sente le numéro du réseau auquel l’ordinateur appartient et la
deuxième le numéro de l’ordinateur. Une séparation répandue
consiste à prendre les trois premiers nombres en décimales de
l’adresse comme numéro du réseau (ex.: 192.168.1) et le dernier
nombre comme le numéro de l’ordinateur (ex.: 5). Ceci correspond
à prendre les 24 premiers bits (c’est-à-dire trois nombres de 8 bits)
de l’adresse pour le numéro du réseau et les 8 derniers bits pour le
numéro de l’ordinateur. Un deuxième ordinateur sur le même réseau
192.168.1 aurait comme adresse 192.168.1.6.

Réseau
192.168.1.5 1 (192.168.1.6

Figure 2.1
Réseau IP simple

Si un ordinateur possède plusieurs interfaces branchées sur diffé-


rents réseaux, chaque interface aura sa propre adresse IP

2.2 Plan d’un réseau typique avec adresses IP


Si nous bâtissons deux réseaux reliés par un aiguilleur (router), nous
allons utiliser 192.168.1.X pour le premier réseau et 192.168.2.X
pour le second. L’aiguilleur est un ordinateur spécialisé pour faire
traverser les paquets d’un réseau à un autre uniquement lorsque

34
IDENTIFICATION D’UN ORDINATEUR EN RÉSEAU AVEC LES ADRESSES IP

c’est pertinent. Il possède deux interfaces réseau et donc deux adres-


ses IP, une sur chaque réseau. On utilise généralement un aiguilleur
pour séparer deux groupes d’ordinateurs ayant des vocations diffé-
rentes ou pour des raisons de sécurité comme ceux d’un départe-
ment des ventes et ceux d’un département de génie. On utilise aussi
un aiguilleur pour séparer un réseau contenant un nombre important
d’ordinateurs, ceux-ci créant trop de trafic sur le réseau.

192.

192.168.1.1 l
aiguilleur

192.168.

Réseau 1192.168.2.X
192.168.2.101 1192.168.2.11

Figure 2.2
Réseau IP avec aiguilleur

35
INTERNET - TCPdP SIMPLIFIÉ

2.3 Masque de sous-réseau


Avec la séparation utilisée précédemment, nous sommes limités à
des réseaux ayant un maximum de 28 = 256 ordinateurs sur chacun
d’eux puisque nous avons séparé l’adresse IP en deux parties: le
numéro du réseau à 24 bits (les trois premiers nombres) et l’adresse
de l’ordinateur à 8 bits. Deux ordinateurs sur le même réseau auront
une partie gauche identique, mais une partie droite différente.

numéro du réseau numéro


de l’ordinateur
110000001010100000000001~0000101
Figure 2.3
Séparation 2418 de l’adresse IP pour un ordinateur

Par exemple, si la partie gauche de l’adresse a 24 bits et la partie


droite 8 bits, le numéro du réseau sera les 24 premiers bits en
binaire: 11000000 10 10 10000000000 1 et le numéro de l’ordinateur
les 8 derniers bits: 00000101.
Un deuxième ordinateur sur ce même réseau aurait l’adresse sui-
vante:

numéro du réseau numéro


de l’ordinateur
110000001010100000000001~0000110
Figure 2.4
Séparation 2418 de l’adresse IP pour un 2e ordinateur

c’est-à-dire le même numéro de réseau, mais un numéro différent


dans la partie droite.
La séparation peut être différente de celle exposée jusqu’à main-
tenant (24B). Si on utilise une séparation dont la partie réseau a
27 bits et la partie ordinateur 5 bits (27/5), le numéro du réseau sera,
par exemple: 110000001010100000000001000 et le numéro de
l’ordinateur: 00101. Dans ce cas, le nombre maximal d’ordinateurs
sur un même réseau sera de 25 = 32.

36
~DENTIFKATIOND'UN ORDINATEUR ENRL~EAUAVECLESADRESSES IP

numéro du réseau numéro


de l’ordinateur
110000001010100000000001000)oo1o1
Figure 2.5
Séparation 2715 de l’adresse IP pour un ordinateur

Le Tableau 2.2 décrit les deux séparations que nous avons mon-
trées.
Tableau 2.2
Séparation entre le numéro du réseau et de l’ordinateur

SBparation Numéro du réseau Numéro de l’ordinateur


réseau/ordinateur (partie gauche de l’adresse) (partie droite de l’adresse)
2418 110000001010100000000001 le’ ordinateur: 00000101
2e ordinateur: 00000110
2715 110000001010100000000001000 le’ ordinateur: 00101
2e ordinateur: 00110

Nous avons démontré la séparation en utilisant la notation


binaire. Pour plus de simplicité de lecture, nous utilisons générale-
ment le mode décimal.
On appelle masque de sous-réseau (subnet mask) cette séparation
entre le numéro du réseau et le numéro de l’ordinateur dans une
adresse IP. Le masque est précisé en binaire par des « 1 » pour la par-
tie réseau et des «O» pour la partie ordinateur. On convertit ensuite
ce masque binaire en mode décimal. Le tableau suivant montre deux
exemples de masque en mode binaire et décimal.

Tableau 2.3
Masque de sous-réseau

Masque de
sous-réseau
(en décimales)
2.55.255.255.0
255.255.255.224

37
INTERNET - TCP/IP SIMPLIFIÉ
-.- ~

2.3.1 Choix du masque


Pour choisir le masque pour un réseau d’entreprise, il s’agit d’iden-
tifier le potentiel maximum d’ordinateurs sur un même sous-réseau
dans une perspective à moyen terme. Le masque minimum sera le
nombre de bits supérieur à ce maximum, soit le plus grand nombre
en base 2 qui suit. Par exemple, si on prévoit que le maximum d’ordi-
nateurs sera d’environ 50 sur un même sous-réseau, alors le masque
devrait être d’au moins 6 bits permettant 64 ordinateurs (26 = 64).
Le RFC 950 (voir Tableau 2.9) identifie les critères et donne des
conseils pour choisir le masque de sous-réseau approprié. Le RFC
1219 (voir Tableau 2.9) détaille une méthode simple et très pratique
pour garder le maximum de flexibilité dans l’assignation du masque
dans un réseau d’entreprise, sans toutefois avoir besoin de changer
l’adresse IP des ordinateurs lors d’un changement de masque.
Lorsque chaque sous-réseau a moins de 256 ordinateurs chacun,
nous recommandons le masque très utilisé 255.255.255.0. Étant un
multiple de 8 bits, ce masque est plus simple à utiliser pour l’admi-
nistrateur du réseau.
L’annexe 7 contient une table précisant chaque masque de sous-
réseau possible en mode décimal et binaire.

2.4 Classes A, B, C, D et E
Des classes d’adresses ont été introduites pour permettre une meil-
leure efficacité dans l’aiguillage des paquets entre les réseaux. Une
classe est un regroupement de numéros consécutifs de réseaux (par-
tie gauche d’une adresse) dont le masque de sous-réseau est défini
par défaut. Les classes sont identifiées A, B, C, D ou E. Elles sont
regroupées selon le tableau 2.4.
Une adresse IP appartient obligatoirement à une classe selon le
regroupement du tableau. Par conséquent, une adresse IP a toujours
un masque de sous-réseau par défaut. Les logiciels TCP/IP sont
codés de cette façon. Si on oublie le masque de sous-réseau, en réa-
lité, on utilise implicitement le masque de sous-réseau par défaut de
la classe correspondant à notre adresse IP.
Pour une classe donnée, on peut choisir un masque de sous-
réseau dans la partie ordinateur de l’adresse. Pour une classe B qui

38
IDENTWKATION D’UN ORDINATEUR EN RÉSEW AVEC LES ADRESSES IP

Tableau 2.4
Classes d’adresses IP
Classe Adresse en binaire Masque de
Adresse en
/ R: bit du numéro de réseau sous-réseau
mode décimal
b: bit du numéro de l’ordinateur par défaut
A ORRRRRRR bbbbbbbb bbbbbbbb bbbbbbbb 0.0.0.0-127.255.255.255 255.0.0.0

B 10RRRRRR RRRRRRRR bbbbbbbb bbbbbbbb 128.0.0.0-191.255.255.255 255.255.0.0

C IlORRRRR RRRRRRRR RRRRRRRR bbbbbbbb 192.0.0.0-223.255.255.255 255.255.255.0

0 111ORRRL 224.0.0.0-239.255.255.255 1 usage spécial


E 1 1111ORRR... / 240.0.0.0-254.255.255.255 1 usage spécial 1

comporte 16 bits comme numéro de réseau et 16 bits comme


numéro d’ordinateur, le masque doit avoir au moins 16 bits et au
plus 3 1 bits. C’est donc dans la partie ordinateur que l’on divise les
deux parties de l’adresse, à l’aide du masque.
Ces classes ont eu comme effet une sous-utilisation de l’ensemble
des quatre milliards d’adresses possibles sur Internet malgré qu’il n’y
ait que moins de dix millions d’ordinateurs. Lorsqu’un organisme
reçoit une classe B, il obtient un potentiel de 2t6 = 65536 adresses IP.
Mais, si celui-ci n’utilise que 3 500 de ces adresses, les 62 036 adres-
ses IP restantes ne sont pas disponibles pour d’autres organismes.
Quelles adresses doit-on choisir pour son réseau d’entreprise?
Dans quelle classe? Qui nous donne ces adresses?

2.4.1 Choix d’adresses pour un réseau privé


Si votre réseau d’entreprise n’est pas branché sur Internet et que vous
ne désirez pas le faire, vous pouvez choisir n’importe quelles adresses
parmi les classes A, B et C. Cependant, le RFC 1597 conseille à ces
réseaux privés d’utiliser les adresses listées dans le tableau suivant.

Tableau 2.5
Adresses pour un réseau privé
Classe Intervalles d’adresses disponibles
A 10.0.0.0 - 10.255.255.255
B 172.16.0.0 - 172.31.255.255
C 192.168.0.0 - 192.168.255.255

39
INTERNET - TCP/IP SIMPLIFIE

En effet, si un jour vous désirez brancher votre réseau d’entre-


prise sur Internet, ces adresses sont garanties de n’être jamais utili-
sées sur Internet. 11 s’agira d’installer une passerelle sécuritaire
(firewall) entre votre réseau d’entreprise et Internet. Une passerelle
sécuritaire est un ordinateur avec une interface réseau connectée sur
le réseau interne et une interface connectée sur le réseau Internet.
Elle agit comme un aiguilleur, mais cache le réseau interne au
réseau Internet. Ainsi, lorsqu’un paquet IP originant de votre réseau
traversera la passerelle sécuritaire pour aller sur Internet, celle-ci
remplacera l’adresse IP source par sa propre adresse, cachant ainsi
les adresses IP des ordinateurs du réseau interne.
Dans les exemples de ce livre, même ceux traitant d’Internet,
nous avons utilisé les adresses des réseaux privés pour éviter de
prendre celle d’une organisation déjà branchée sur Internet. Ainsi,
nous sommes assurés qu’elles ne sont pas déjà utilisées.

2.5 Choix d’adresses pour le branchement sur Internet


Pour brancher un seul ordinateur sur Internet par un fournisseur de
services Internet, celui-ci vous fournira une adresse IP. Générale-
ment, cette adresse n’est pas la même chaque fois que vous entrez
en ligne, puisque celle-ci est assignée dynamiquement par le serveur
de communication du fournisseur de services Internet. Cette carac-
téristique sera présentée au chapitre 5.
Pour brancher un réseau d’ordinateurs sur Internet, vous devez
faire une demande pour recevoir une série d’adresses IP. Votre four-
nisseur de services Internet sera en mesure de vous aider dans cette
démarche. On vous assignera ainsi une ou plusieurs classes C ou
une classe B ou A2. Par exemple, la classe B 132.203 a été assignée
à l’université Laval. Ainsi, tous les ordinateurs de l’université auront
comme adresse 132.203.X.X. Viagénie inc. a reçu la classe
C 206.123.31.

2. La politique courante à l’heure actuelle sur Internet est de donner des classes C,
de ne pas donner de classe A, et de donner de façon très limitée des classes B.
Lorsqu’un organisme a plus de 255 ordinateurs à brancher dans un avenir rappro-
ché, donc supérieur à une classe C, il reçoit plusieurs adresses de classe C.

40
~D~~~~~c.~TIoND'IJN ORDINATEUR ENRÉSEAUAVEC LESADRESSES IP

2.6 Notions avancées


La prochaine section présente des notions plus avancées. La section
suivante traite des configurations Windows, Macintosh et Unix rela-
tives aux adresses IP.

2.6.1 Adresse de message général


Les adresses IP normales sont assignées à une interface réseau d’un
ordinateur. 11 existe des adresses spéciales qui correspondent à une
multitude d’ordinateurs telles que les adresses de message général
(broadcast) et les adresses multipoints (multicust). Ces dernières
seront traitées au chapitre 13.
Lorsqu’un paquet doit être envoyé à l’ensemble des ordinateurs
du même réseau, on utilise le message général. Par exemple, cette
fonction est utilisée pour échanger des informations d’aiguillage
entre les aiguilleurs. Le message général est un paquet dont
l’adresse IP de destination est composée en binaire du numéro du
réseau et d’une série de «l» comme numéro de l’ordinateur.
L’adresse du message général est donc reliée au masque de sous-
réseau. Par exemple, si nous avons un réseau de classe C
192.168.1.X et que nous utilisons le masque de sous-réseau par
défaut (donc 255.255.255.0 ou 11111111 11111111 11111111
00000000), l’adresse de message général à tous les ordinateurs de
ce réseau est 192.168.1.255, car elle est composée de l’adresse
réseau 192.168.1 suivie de huit «l» en binaire (255 en mode déci-
mal). Le tableau suivant montre des adresses de message général
pour des masques différents.

Tableau 2.6
Adresses de message général

41
INTERNET - TCPAP SIMPLIFIÉ

2.6.2 Adresse de réseau


Semblable à l’adresse de message général qui utilise des «l»,
l’adresse du réseau est composée du numéro du réseau suivi de «O».
Cette adresse est utilisée pour désigner le réseau, mais n’est pas uti-
lisée dans les communications.

Tableau 2.7
Adresses de réseau
Adresses Masque utilisé Adresse de message général
du réseau en mode décimal et en binaire en mode décimal et en binaire /

11111111 11111111 11oooooo0oco0000

2.6.3 Adresse de test (loopback, localhost)


La classe A 127.X.X.X est réservée pour des adresses de tests.
L’adresse 127.0.0.1 identifie l’ordinateur utilisé. Cette adresse per-
met de tester l’activation du module TCP/IP et la disponibilité de
services sur son propre ordinateur sans connaître la véritable adresse
IP et sans générer de trafic sur le réseau. En pointant à l’adresse
127.0.0.1 avec la commande ping, ceci enverra un message de test
(ICMP) sur l’ordinateur sur lequel je tape la commande: aucun
paquet ne sera transmis sur le réseau. Un ordinateur a donc deux
adresses IP: l’adresse normale (par exemple: 192.168.1.5) et
127.0.0.1. Sur Unix, le nom correspondant à l’adresse 127.0.0.1 est
identifié dans le fichier letclhosts par localhost.

2.6.4 Paquet IP
Un paquet IP est formé d’un en-tête décrivant la nature du paquet,
des données elles-mêmes et d’une somme de contrôle (checksum)
permettant de valider la transmission fiable du paquet. Ce paquet IP
est inséré dans une trame pour être transporté sur un médium physi-
que tel qu’Ethemet.

42
IDENTIFICATION D’UN ORDINATEUR EN RÉSEAU AVEC LES ADRESSES IP
-~

4 - Paquet IP - -
Adresse Adresse
Données
En-tête IP IP IP Options IP
IP
source destination

Adresse Adresse Type de


Préambule Données
Ethernet Ethernet paquet CRC
Ethernet (Ethernet)
destination source UP)
4 -- Trame Ethernet -- -.---h

Figure 2.6
Paquet IP inséré dans une trame Ethernet

6 * 32 bits = 24 octets et peut être


L’en-tête contient au moins
plus grand si des options sont utilisées. Les données suivent le
champ option qui est le dernier champ significatif dans l’en-tête. Le
Tableau 2.8 détaille l’en-tête du paquet IP par demi-octet (4 bits).

Tableau 2.8
Détail d’un paquet IP

# 0 4 8 12 16 20 24 28 31
1 Version Longueur Type de service Longueur totale
2 Frag: identification Frag: 1 Frag: indice de décalage

3 Durée I Protocole
4 Adresse IP source
5
6 Options 1 Remplissage
7 Données

Voici une explication des principaux champs:


Version: La version du protocole IP. La version courante est 4.
La nouvelle version 6 est discutée au chapitre 14.
Longueur: C’est la longueur totale de l’en-tête IP qui permet de
délimiter la fin des options et le début des données.

43
INTERNET - TCPAP SIMPLIFIÉ

Type de service (TOS: Type Of Service): Cette option permet


d’identifier la priorité du service pour ce paquet. On peut minimiser
le délai, maximiser le débit, maximiser la fiabilité ou minimiser le
coût. Par exemple, pour Telnet, on minimise le délai pour obtenir le
meilleur temps de réponse lors de l’envoi et de la réception des
caractères; pour Ftp, on maximise le débit permettant un transfert
des fichiers optimal. Cette option TOS devrait être lue par les
aiguilleurs pour décider de la priorité de traitement des paquets et
des routes sur le parcours entre l’ordinateur expéditeur et l’ordina-
teur destinataire. Cependant, peu d’implantations3 le supportent, ce
qui rend cette option peu utilisable à l’heure actuelle.
Longueur totale: Cest la longueur totale du paquet IP (en-
tête+données+somme de contrôle). Ceci n’inclut pas les bits supplé-
mentaires ajoutés par la trame.
Fragmentation et durée sont abordées dans les chapitres sui-
vants.
Protocole: Identifie le protocole de transport utilisé: TCP ou
UDP, ou les protocoles de contrôle tels que ICMP, IGMP. Ces pro-
tocoles seront présentés dans les prochains chapitres.
Somme de contrôle (checksum): Permet de vérifier l’intégrité
de l’en-tête. Cette information est utile pour les aiguilleurs qui n’ont
pas besoin de calculer l’intégrité de tout le paquet, mais seulement
celui de l’en-tête.
Les prochaines sections traitent des configurations des princi-
paux logiciels sur PC-Windows, Macintosh et Unix relatives au
sujet traité dans ce chapitre.

2.7 Configuration de Windows 3.1 avec Chameleon


Contrairement au Macintosh, sur Windows 3.1, il existe plusieurs
pilotes de réseau TCP/IP. Nous allons utiliser le pilote très répandu
Chameleon de la compagnie Netmanage. Les autres pilotes ont des
interfaces similaires.

3. Les récentes versions d’Unix telles que bsd 4.3reno et bsd 4.4 ainsi que
quelques protocoles d’aiguillage tels que OSPF supportent l’option TOS dans leur
décision d’aiguillage.

44
IDE~~IFICATIOND'UNORDINATEUR EN RÉSEAU AVECLESADRESSES IP

En ouvrant la fenêtre Custom de Chameleon, on nous présente le


premier écran de configuration.

Eile Interface Setup Setyices Connect Help

Interface:
D ial:
IP Addreas:
Subnet Mask:
Host Name:
Domain Name:

Name Type IP Domain

Figure 2.7
Premier écran de configuration de Chameleon

Dans le menu Setup, l’élément IP Address nous permet de confï-


gurer l’adresse IP de l’ordinateur.

Adresse IP
H à inscrire

La classe est trouvée


Cli3#S c c----_ -- par le logiciel et
montrée à l’écran

Figure 2.8
Adresse IP de Chameleon

Dans le menu Setup, l’élément Subnet Mask nous permet de


configurer le masque de sous-réseau de l’ordinateur. Il s’agit de
déplacer le curseur dans les cases appropriées pour créer le masque
désiré.

45
INTERNET - TCPHP SIMPUFIÉ

Déplacer le
, curseur pour créer
IP Address: le masque désiré.
Chaque case
Subnet Mask:
ombragée
Subnet Value: 255.255.255.0 représente un « 1 »
en binaire.
Number of subnet mask bits:
El

Figure 2.9
Masque de sous-réseau de Chameleon

2.8 Configuration Windows 95


Pour configurer l’adresse
IP et le masque de sous-
réseau sur Windows 95,
on doit ouvrir le panneau
de configuration, sélec-
tionner l’icône Réseau,
cliquer sur l’élément
TCPLIP, cliquer sur le
bouton Propriétés et
finalement sélectionner
l’onglet Adresse IP. Cet
onglet permet de saisir
l’adresse IP ainsi que le
masque de sous-réseau.

Figure 2.10
Adresse IP sur Windows 95

46
IDENTIFICATION D’UN ORDINATEUR EN RÉSEAU AVEC LES ADRESSES IP

2.9 Configuration Macintosh


Pour configurer l’adresse IP, la classe et le masque de sous-réseau
sur le Macintosh, on doit ouvrir le tableau de bord MacTCP. Après
l’avoir ouvert, on sélectionne dans la partie supérieure le médium
physique qui sera utilisé pour TCP/IP. Dans l’exemple ci-dessous,
nous avons le choix entre Ethernet, SLIP et PPP. Ensuite, on inscrit
l’adresse IP dans la case de la partie inférieure.

En cliquant, choisir
le médium physique
utilisé:
1 Ethernet,
- SLIP,
, PPP

InterSLIP

Adresse IP
/ \.
; :: : : : : : : : : : : : : : : : :: : :: : :: :: : :: : :: : :: : : : :: : : : : : :::. .m a Inscrire
i IP Addrsss: \. i . 192.168.1.5 . . . . . . Ii ;

[More...
j
2.0.4

Figure 2. II
Premier écran de configuration de MacTCP

En cliquant sur le bouton More, on accède au deuxième panneau


de configuration. Celui-ci permet d’identifier la classe d’adresse
dans la partie supérieure droite. MacTCP le fait automatiquement en
fonction de l’adresse IP inscrite précédemment. Ensuite, on déplace
le curseur au-dessus des 32 bits de l’adresse représentés par des
cases. Ce curseur correspond au masque de sous-réseau.

47
INTERNET - TCP/IP SIMPLIFIÉ

Choisir la classe
,p Address :..............................._..... ~
correspondant à
Class:~ss: 192.0.0.0 l’adresse
Déplacer le curseur
Subnet Mask: 255.255.255.0
, , , , , , , , , , , , , , , , , , , ,ml;ii pour délimiter la partie
réseau de la partie
ordinateur du masque
du sous-réseau
Représentation des
Net: ~;~;,‘~~,‘~,‘~~~~,‘;,‘~~,‘~,‘~,‘;~~~,’;~~,’~,~~~~,~ f-J 1. CI < k
~ (,<I<k I 32 bits de l’adresse
Subnet: i
Node: ~~~;,‘~,~~~,‘~,‘~~~~,‘~,‘~,‘;~~;,’~,’~,’~;,’~,’~,~~;~,~ 0 1. <I < k /
. . . . . . . . . . . ............. i

Figure 2.12
Adresse IP, classe et masque de MacTCP

2.10 Configuration Unix


La commande ifconfig sur Unix permet de configurer une interface
réseau. Sur la ligne de commande, on précise l’interface, l’adresse
IP, le masque de sous-réseau et l’adresse de message général. La
syntaxe est la suivante:
ifconfig int A.B.C.D netmask M.N.0.P
broadcast W.X.Y.Z up
où:
in t est le nom de l’interface (par exemple 1 e 0 sur la plupart des
stations Sun)
A. B . C . D est l’adresse IP
M. N. 0. P est le masque de sous-réseau
W. X. Y. Z est l’adresse de message général
Par exemple:
Unix% ifconfig le0 192.168.1.5 netmask
255.255.255.0 broadcast 192.168.1.255 up

48
IDE~~F~cATIoND'uN~RDINATEuR EN RÉSEAU AVECLESADRESSES IP
_~---..~

Dans tous les exemples Unix du livre, nous avons ajouté Unix%
au début de chaque commande pour bien distinguer la commande de
la réponse.
Pour connaître l’état des interfaces réseau d’un ordinateur Unix,
on utilise l’option -a avec ifconfig.
Unix% ifconfig -a
100: flags=849<UP,LOOPBACK,RUNNING,MULTICAST~ mtu 8232
inet 127.0.0.1 netmask ff000000
le0: flags=863~UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST~
mtu 1500 inet 192.168.1.1 netmask ffffff00
broadcast 192.168.1.255

On notera que le masque de sous-réseau est imprimé en mode


hexadécimal (ffffffO0 correspond à 255.255.255.04) et que l’inter-
face 100 est l’interface de test (127.0.0.1) décrite à la section 2.6.3.
La commande netstat sur Unix permet de connaître en détail les
activités réseau de l’ordinateur. Avec l’option -in (-i = interface;
-n = adresses numériques), on peut connaître les interfaces actives
(colonne Name), la taille de paquet (colonne Mtu) et les statistiques
sur l’activité: les paquets qui sont reçus par l’interface (Ipkts), les
paquets reçus en erreur (Ierrs), les paquets envoyés (Opkts), les
paquets envoyés en erreur (Oerrs), les collisions sur le réseau local
(Collis) et la file d’attente de traitement des paquets (Queue). Un
taux élevé d’erreurs ou de collisions indique probablement des pro-
blèmes de câblage ou de saturation du réseau.
unix% netstat -in
Name Mtu Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queue
100 8232 127.0.0.1 127.0.0.1 2699820 0 2699820 0 0 0
le0 1500 192.168.1.5 192.168.1.5 19849883 18 16670693 19 124109 0

4. L’annexe 7 donne la liste des différents masques possibles et leur équivalent en


modes binaire et hexadécimal.

49
INTERNET - TCP/IP SIMPLIFIÉ

2.11 Références
Voici la liste des documents RFC pertinents pour ce chapitre. Vous
pouvez les consulter à l’adresse http://ds.internic.net.

Tableau 2.9
RFC

RFC Titre
t
950 Internet standard subnetting procedure
1219 / On the Assignment of Subnet Numbers l
1597 1 Address Allocation for Private Internets /
1122 Requirements for Internet hosts - communication layers
(STD 3)
Chapitre 3
Noms et adresses avec le DNS
L’homme se découvre quand il se
mesure à l’obstacle.
Antoine de Saint-Exupéry

3.1 Identification d’un ordinateur

P
our qu’il soit plus simple à l’utilisateur d’identifier les ordi-
nateurs, on utilise le nom de l’ordinateur au lieu de l’adresse
IP. Sur Internet, l’association entre le nom d’un ordinateur et
son adresse IP est gérée par le service de noms DNS (Domain Nume
System).

3.2 Relation entre le nom d’un ordinateur et son adresse IP


En 1969, au début d’ARPANET’, le prédécesseur d’Internet, quatre
ordinateurs étaient reliés entre eux. En août 1981, il en avait 213.
Étant donné le petit nombre d’ordinateurs, le centre d’information du
réseau (NZC: Network Information Center) distribuait par courrier
électronique et par Ftp la liste des ordinateurs sur le réseau sous
forme d’une table (hosktxt) identifiant le nom de la machine et son
adresse IP. Cette table statique était incorporée dans le fichier
ietdhosts d’Unix. Ceci permettait aux utilisateurs de faire, par exem-
ple, des Ftp en utilisant le nom de l’ordinateur au lieu de l’adresse IP.
Tableau 3.1
Exemple d’un fichier letckosts dans Unix
# /etc/hosts
127.0.0.1 localhost
192.168.1.5 jazz
192.168.1.6 rock
192.168.1.1 classic
192.168.2.1 blues

1. Pour une excellente histoire d’Internet, je vous conseille Casting the Net de
Peter H. Salus, Éd. Addison-Wesley, 1995.

51
INTERNET - TCPHP SIMPLIFIÉ

Avec l’augmentation du nombre d’ordinateurs sur Internet, un


mécanisme de base de données distribuée a été mis en place permet-
tant à l’ensemble des ordinateurs d’Internet d’être enregistrés de
façon décentralisée tout en étant sécuritaire et redondante. Ce sys-
tème permet aussi d’accéder à l’information de façon décentralisée.
En 1983*, Paul Mockapetris décrivait ce mécanisme appelé DNS
(Domain Nume System) permettant de nommer des ressources
diverses sur Internet, comme des noms d’ordinateurs et des domai-
nes de courrier électronique.
La première conséquence de l’utilisation du DNS est le regroupe-
ment des ordinateurs par domaines. Le nom simple d’un ordinateur
utilisé dans un contexte de réseau local est par exemple «classic».
Son nom complet, unique sur Internet, est classic.viagenie.qc.ca,
car cet ordinateur fait partie du réseau de la compagnie Viagénie
(classic.viagenie.qc.ca) du Québec (classic.viagenie.qc.ca) au
Canada (classic.viagenie.qc.ca).
Dans le DNS, le nom et l’adresse IP correspondante des ordina-
teurs d’un domaine sont inscrits dans un fichier. Celui-ci est lu par
un logiciel serveur qui rend cette table de correspondance disponi-
ble sur Internet. Cette table est ensuite interrogée par les ordinateurs
sur Internet demandant la correspondance entre le nom et l’adresse
IP d’un ordinateur de ce domaine.
Par exemple, sur Internet, lorsqu’un utilisateur sur l’ordinateur
«violet.berkeley.edu» veut faire un Ftp sur l’ordinateur «classic.
viagenie.qc.ca», le pilote de réseau TCP/IP de «violet» fait une
requête au serveur ayant la table de correspondance et celui-ci renvoie
à «violet» l’adresse IP de «classic.viagenie.qc.ca» (192.168.1.5). En-
suite, le logiciel Ftp sur «violet» utilisera l’adresse IP 192.168.1.5
pour créer le paquet FTP à envoyer à l’ordinateur «classic».
Cet exemple constitue cependant une version simplifiée du pro-
cessus plus complexe qui aurait effectivement lieu. Pour mieux
comprendre, nous allons présenter chaque élément du système
DNS.

2. Voir les documents RFC882 et RFC883 à l’adresse http://ds.internic.net pour


une description de la problématique et de la solution proposée.

52
NOMS ET ADRESSES AVEC LE DNS

3.3 Serveurs de noms de domaines (DNS)


Un serveur DNS est un logiciel contenant des tables de correspon-
dance d’un ou plusieurs domaines. La table de correspondance la
plus utilisée est celle entre le nom d’un ordinateur et son adresse IP,
mais il existe d’autres tables.
Un domaine est un nom identifiant un regroupement d’ordina-
teurs généralement associé à une organisation ou un sous-ensemble
de cette organisation. Par exemple, viagenie.qc.ca est le domaine de
la compagnie Viagénie et regroupe les ordinateurs de celle-ci.
Pour chaque domaine est associé un serveur primaire qui possède
les tables de correspondance pour ce domaine. C’est sur ce serveur
que le gestionnaire du réseau va modifier la table de correspondance
pour ajouter, enlever ou modifier le nom ou l’adresse IP d’un ordi-
nateur appartenant à ce domaine. Dans le vocabulaire du DNS, on
dit que le serveur primaire d’un domaine a autorité sur celui-ci.
Si le serveur primaire n’est plus disponible pour cause de panne
ou de surcharge, il ne sera plus en mesure de répondre aux requêtes
venant d’Internet. Il existe cependant des serveurs secondaires qui
reçoivent une copie de la table de correspondance venant du serveur
primaire. Ces serveurs secondaires prendront la relève lorsque le
primaire sera surchargé ou en panne. Le gestionnaire du réseau ins-
crit, sur le serveur primaire, la liste des serveurs secondaires qui
recevront la copie des tables de correspondance du domaine.
Un serveur DNS peut gérer plusieurs domaines. Il peut être pri-
maire pour un ou plusieurs domaines et secondaire pour un ou plu-
sieurs autres.

3.4 Autorité sur les domaines


Les domaines sont structurés de façon hiérarchique. Par exemple,
l’élément à l’extrême droite dans le nom du domaine est souvent le
code du pays3, comme ca pour Canada dans «viagenie.qc.ca». Le

3. Exception faite des domaines de premier niveau edu, gov, com, mil, net, org qui
étaient auparavant réservés à des organisations aux États-Unis, mais peuvent main-
tenant être situés n’importe où sur la planète. Le document RFC 1591, offert à
l’adresse htip://ds.internic.net, décrit bien la structure et l’état de la problématique
des noms de domaines.

53
INTERNET - TCPLP SIMPLIFIÉ

deuxième niveau correspond à une province, un État, une région ou


un organisme de niveau national. Et ainsi de suite. Les serveurs
DNS sont organisés de la même façon. Le domaine ca est géré par
son serveur primaire. Celui-ci a l’autorité pour ce domaine. Il existe
plusieurs serveurs secondaires pour le domaine ca. Le domaine
«viagenie.qc.ca» est géré par un ordinateur de Viagénie. C’est le ser-
veur primaire de ca qui a délégué l’autorité du domaine wiagenie.
qc.ca» au serveur primaire de Viagénie.
Le domaine le plus haut d’Internet est le point (.). Il existe un ser-
veur DNS primaire qui gère les premiers niveaux tels que les domai-
nes des pays et les domaines edu, gov, org, net, com et mil. Celui-ci,
appelé TOO~ set-ver, délègue l’autorité de ces domaines de premier
niveau.
domaine «point»
.H

qc ulaval berkeley
/
viagenie
Figure 3.1
Hiérarchie des domaines

3.5 Requêtes au DNS


Pour être en mesure d’interroger le DNS, on configure notre ordina-
teur (par exemple 192.168.1.5) en pointant sur quelques serveurs
DNS connus (192.168.1.7, 172.16.1.3).
Lorsque l’utilisateur saisira le nom d’un ordinateur dans un logi-
ciel TCP/IP (par exemple, «ftp classic.viagenie.qc.ca»), le pilote de
réseau TCP/IP de son ordinateur fera une requête au premier de ces
serveurs DNS (192.168.1.7). À la suite du processus décrit par la
figure suivante, il obtiendra l’adresse IP de «classic.viagenie.qc.ca».
Ensuite, le pilote de réseau de notre ordinateur (192.168.1.5) pourra
établir une connexion avec cet ordinateur en utilisant l’adresse IP
trouvée (192.168.154.5).

54
NOMS ET ADRESSES AVEC LE DNS

2. classic.
dans
3
ordinateur

1. classic.viagenie.qc.ca ?

10. classic.viagenie.qc.ca

192.1&54.5 .ca

Figure 3.2
Résolution d’un nom dans le DNS

Les étapes du processus sont décrites dans le tableau suivant.

Tableau 3.2
Étapes de résolution d’un nom dans le DNS

hape Description
1. ’ L’ordinateur demande au serveur DNS local l’adresse IP
de classic.viagenie.qc.ca
Le serveur DNS local vérifie s’il connaît déjà cette infor-

3. ; Cette information n’est pas dans la mémoire tampon


appelée cache

55
I NTERNET - TCP/IP SMPLIFIÉ

Tableau 3.2 (suite)

Étape Description
4. Le serveur DNS local demande à un des serveurs centraux
d’Internet s’il connaît classic.viagenie.qc.ca
1 Le serveur central lui répond «non», mais lui indique le
serveur DNS responsable de .ca
local demande au serveur responsable de
.ca s’il connaît classic.viagenie.qc.ca
Le serveur de .ca lui répond «non», mais lui indique le
serveur DNS responsable de viagenie.qc.ca
1 Le serveur DNS local demande au serveur responsable de
’ viagenie.qc.ca s’il connaît classic.viagenie.qc.ca
viagenie.qc.ca lui donne l’adresse IP de
classic.viagenie.qc.ca (192.168.154.5)
10. / Le serveur DNS local envoie l’adresse IP de classic.
i viagenie.qc.ca à notre ordinateur

Si le serveur DNS local connaît déjà la réponse parce qu’il est


responsable du domaine demandé, alors il la renvoie directement. Si
le serveur DNS local connaît déjà la réponse parce qu’il avait déjà
demandé cette information auparavant et qu’il l’a conservée dans
une mémoire tampon appelée cache, alors il la renvoie directement.
Ces étapes correspondent à la situation normale. Toutes les pos-
sibilités d’interaction entre un client et un serveur DNS sont les sui-
vantes4:
lLe serveur DNS ne connaît pas la réponse, mais dans la
requête initiale, l’ordinateur demandait qu’on lui délègue la
tâche de trouver cette réponse. Cette fonction s’appelle la
récursivité. Le serveur de noms fera lui-même la recherche à
travers les serveurs DNS d’Internet pour trouver la réponse.
-~
4. L’algorithme est traité plus en détail dans le RFC 1034 disponible à l’adresse
http://ds.internic.net.

56
NOMS ET ADRESSES AVEC LE DNS

Lorsque la réponse sera trouvée, il la renverra. C’est la situa-


tion expliquée dans la figure et le tableau précédents.
l Le serveur DNS ne connaît pas la réponse. Il renvoie l’adresse
IP d’un DNS probablement capable de répondre à sa requête.
Cette situation, relativement rare, arrive lorsque l’ordinateur
requérant ne demande pas au serveur DNS de trouver l’infor-
mation à sa place. 11 doit le faire lui-même.
l Le serveur DNS connaît la réponse. Il est le responsable de ce
domaine (c’est-à-dire qu’il a autorité). Il renvoie la réponse et
la qualifie de sûre.
l Le serveur DNS connaît la réponse, mais l’a apprise d’un autre
serveur DNS et l’a conservée dans la cache. 11 renvoie la
réponse et indique qu’il n’a pas autorité sur cette réponse.
l Le serveur DNS connaît la réponse, l’a apprise d’un autre ser-
veur DNS et l’a conservée dans la cache, mais la donnée est
expirée. Il fait comme s’il ne connaissait pas la réponse et
effectue une des deux premières actions de cette liste.
Le choix des serveurs DNS à interroger n’est pas limité, car
n’importe quel serveur peut répondre à n’importe quelle requête5. Il
est préférable d’utiliser le serveur de noms le plus près de notre ordi-
nateur en premier. Les serveurs DNS fortement sollicités sont aussi
intéressants même s’ils seront peut-être surchargés, car leur cache
sera riche en données, c’est-à-dire qu’ils conserveront une table très
grande des informations qu’ils ont apprises, et pourront souvent
répondre directement et rapidement à partir de celle-ci.
En résumé, un serveur DNS a deux rôles:
1. répondre aux requêtes venant d’ordinateurs sur Internet pour le
domaine dont il a reçu l’autorité;
2. servir de relais pour répondre aux requêtes venant d’ordina-
teurs de son réseau qui utilisent des noms d’ordinateurs sur
Internet.

5. Une exception est un client qui demande l’option recursivité au serveur (c’est-
à-dire d’être un relais pour trouver l’information demandée) et celui-ci ne le sup-
portera pas. Les serveurs de noms basés sur BIND de Berkeley supportent cette
option, et, jusqu’à maintenant, c’est la référence pour les implantations de serveur
de noms DNS.

57
INTERNET - TCP/IP SIMPLIFIÉ

3.6 Notions avancées


3.6.1 Durée de vie et cache
Chaque serveur primaire ou secondaire garde une copie de toutes les
réponses qu’il a trouvées depuis son dernier démarrage, lui permet-
tant ainsi de répondre rapidement à des requêtes identiques. Cepen-
dant, si une donnée a changé, il retournera l’ancienne donnée située
dans sa cache, à moins que cette donnée soit expirée. Dans ce cas,
le serveur devra la demander de nouveau au serveur ayant autorité
sur cette donnée. En effet, chaque donnée dans le DNS a une durée
de vie qui lui est attribuée dans le fichier de configuration du
domaine. Plus la durée est longue, moins le serveur primaire se fera
redemander la même donnée par les DNS d’Internet, mais advenant
un changement, les DNS ayant déjà la donnée dans leur cache ne la
changeront pas rapidement car le délai d’expiration sera long. Dans
ce dernier cas, une donnée aura deux valeurs différentes sur Internet,
si la donnée est expirée dans la cache des DNS interrogés.
Lorsqu’un administrateur de réseau a l’intention de changer
l’adresse TP d’un ordinateur sans changer son nom, il doit changer
celle-ci dans le fichier du domaine sur le serveur primaire. Si des
serveurs DNS ont déjà appris cette donnée, ils ne connaîtront pas la
nouvelle tant qu’elle n’arrivera pas à expiration. Si on sait d’avance
qu’on devra modifier une donnée, on diminue sa durée de vie, per-
mettant ainsi un «rafraîchissement» plus rapide de la donnée chan-
gée.

3.6.2 Numéro de série du fichier


Chaque fichier décrivant un domaine possède un numéro de série6
attribué par l’administrateur du serveur. Chaque fois qu’une modifi-
cation est faite dans le fichier, ce numéro de série doit être augmenté
et le serveur DNS doit être redémarré7. Au redémarrage, le serveur
reconnaîtra les modifications par le nouveau numéro de série.
6. La coutume prône l’utilisation de la date de la modification en format inversé
suivie d’un numéro séquentiel comme numéro de série: par exemple: 199607050 1
pour le numéro de série modifié le 5 juillet 1996.
7. Sur Unix, sans le redémarrer, on envoie un signal HUP avec la commande kil]:
kil1 -HUP #processus.

58
NOMS ET ADRESSES AVEC LE DNS

3.6.3 Communications entre serveur primaire et secondaire


Lorsqu’un administrateur modifie la table de correspondance pour
un domaine, il modifie le numéro de série du fichier et réinitialise le
serveur primaire. Les serveurs secondaires vérifient périodiquement
auprès du serveur primaire si l’information est toujours valide. Un
numéro de série plus élevé correspondra à un changement.
Le mécanisme de communication entre le serveur primaire et le
serveur secondaire est contrôlé par les trois options REFRESH,
RETRY et EXPIRE de la ligne dans le fichier du domaine qui iden-
tifie l’autorité (la ligne SOA) sur le serveur primaire.
Par exemple, l’option REFRESH est égale à 12 heures, l’option
RETRY à 1 heure et l’option EXPIRE à 48 heures. Lorsqu’un
fichier d’un domaine est envoyé du primaire au secondaire, celui-ci
attend 12 heures (REFRESH) avant de contacter à nouveau le pri-
maire pour vérifier s’il y a un nouveau numéro de série. Si ce
contact ne peut être fait, le secondaire reprendra le contact avec le
primaire toutes les heures (RETRY). Lorsque le contact est fait, le
secondaire compare le numéro de série reçu avec le numéro courant.
S’ils sont identiques, alors il attend 12 heures (REFRESH) avant de
recontacter le primaire. Si le nouveau numéro de série est supérieur
à l’ancien, alors le secondaire fait une demande de transfert complet
(zone transfer) des informations du primaire pour ce domaine. Si le
secondaire ne réussit pas à contacter le primaire après toutes les ten-
tatives durant 48 heures (EXPIRE), alors il considère que les infor-
mations courantes du domaine sont désuètes et les retire.

3.6.4 Démarrage d’un serveur DNS


Lorsqu’un serveur DNS démarre, il ne connaît pas les autres ser-
veurs sur Internet et pourtant il doit pouvoir les contacter. Un fichier
faisant la liste des serveurs du premier niveau (le point) est lu par le
serveur lors de son démarrage. Cette liste ne change que très rare-
ment, ce qui assure la cohérence de l’information ainsi obtenue.

3.6.5 Adressage inverse


Les logiciels Ftp, Telnet et Web utilisent un nom d’ordinateur et
demandent au DNS l’adresse IP de celui-ci. La correspondance
INTERNET - TCP/IP SIMPLIFIÉ

inverse est utilisée par les serveurs qui reçoivent un paquet avec une
adresse IP et veulent connaître le nom de l’ordinateur. 11 n’existe pas
obligatoirement de relation unique entre un nom d’ordinateur et une
adresse Il? En effet, au même nom peut correspondre plusieurs
adresses IP et plusieurs noms peuvent pointer à la même adresse IP.
L’adressage inverse est implanté avec la même structure de
domaines et le même mode de fonctionnement, par délégation. On
convertit ainsi les adresses IP en pseudo-domaines, en identifiant le
domaine in-addxarpa comme domaine principal. Par exemple, le
domaine 1.168.192.in-addrarpa. (c’est-à-dire 192.168.1 à l’envers)
gère la table de correspondance entre une adresse IP du réseau
192.168.1 .X et le nom de l’ordinateur.

3.6.6 Autorité sur un domaine


L’autorité d’un domaine ne vient pas du seul fait que l’on ait créé les
fichiers appropriés. Le serveur DNS qui gère le domaine supérieur
au nôtre doit déléguer l’autorité en l’indiquant dans ses fichiers. Si
cette étape n’est pas franchie, alors le serveur de noms ne sera pas
interrogé par les ordinateurs d’Internet, mais pourra fonctionner
quand même. Ceci permet d’effectuer tous les tests nécessaires
avant de rendre le serveur DNS disponible et visible sur Internet.

3.7 Configuration de Windows 3.1 avec Chameleon


Avec le logiciel Chameleon, on configure le nom de notre domaine
en utilisant l’élément Domain Name dans le menu Setup.
Lorsqu’on utilisera un nom d’ordinateur sans nom de domaine à la
fin, celui-ci sera implicitement ajouté.

Domain &3me: tiagenie.qc.ca 4 - de votre domaine

Figure 3.3
Nom du domaine

60
N OMSETADRESSESAVECLE DNS

La liste des serveurs DNS que l’on peut interroger est située sous
la dénomination Domain servers du menu Services. On peut préci-
ser jusqu’à trois serveurs DNS qui seront interrogés en ordre de dis-
ponibilité.

Inscrire au
maximum les
adresses IP de trois
> serveurs DNS que
l’on peut interroger
/

Figure 3.4
Liste des serveurs DNS

3.7.1 Chameleon comme serveur DNS


La version complète de Chameleon permet à un PC de devenir un
serveur DNS avec le logiciel BIND8. Dans la version courante, il
n’est pas possible d’ajouter le nom d’un domaine de courrier, les
serveurs secondaires ainsi que les paramètres de durée de vie. Ce
logiciel, quoique facile à utiliser, est limité dans son utilisation et ne
pourrait être employé par une organisation.
En cliquant sur l’icône Bind, le logiciel nous présente le premier
panneau de configuration listant les domaines gérés par celui-ci. Le
bouton Add permet d’ajouter un nom de domaine.

8. Du même nom que le serveur original sur Unix: BIND (Berkeley Internet Nume
Domain).

61
INTERNET - TCP/IP SIMPLIFIÉ

Ajouter un domaine
à gérer

Liste des domaines


gérés par ce serveur
de noms

Figure 3.5
Liste des domaines gérés par ChameZeon BIND

En cliquant sur un nom de domaine, le deuxième panneau de


configuration nous donne la liste des ordinateurs inscrits dans ce
domaine.

domaine

Liste des ordinateurs


inscrits dans ce
domaine

Figure 3.6
Liste des ordinateurs dans un domaine

Le bouton Add permet d’ajouter un ordinateur dans la liste en


ouvrant le panneau suivant. On y inscrit le nom de l’ordinateur et
l’adresse IP.

62
NOMS ET ADRESSES AVEC LE DNS

Ajout du
nom (test)
et de
l’adresse IP
(199.168.1 S)
d’un
ordinateur
dans le
domaine

Figure 3.7
Ajout du nom et de l’adresse IP d’un ordinateur dans un domaine

3.8 Configuration Windows 95


L’onglet Configuration DNS dans le panneau Propriétés TCP/IP
permet de configurer l’accès au DNS sous Windows 95. On peut
accéder au DNS en choisissant le bouton Activer le DNS. Ensuite,
on saisit le nom de notre domaine. Enfin, on ajoute l’adresse IP de
chaque serveur DNS auquel on désire accéder.

Choisir cet élément

Identifier votre domaine

Pour chaque DNS, saisir son


adresse et cliquer sur Ajout

Figure 3.8
Configuration du DNS
sous Windows 95

63
INTERNET - TCPLP SIMPLIFIÉ

3.9 Configuration Macintosh


La configuration pour les requêtes aux serveurs DNS sur le Macin-
tosh s’effectue dans le deuxième panneau de MacTCP. On dresse la
liste de chaque adresse IP des serveurs DNS que nous pouvons
interroger. On ajoute dans la case Domain correspondante le nom
du domaine géré par le serveur DNS. Cette dernière information
n’est pas essentielle. Le bouton Default identifie le domaine par
défaut et le serveur DNS qui répondra pour tous les autres domai-
nes.

Nom d’un
Y’ domaine

/.... -----.-Domain Name Server Inforaratión:............-.l

Adresse IP d’t
- serveur DNS

Figure 3.9
Domaine et serveurs DNS

3.10 Configuration Unix


La configuration pour les requêtes aux serveurs de noms sur Unix
est dans le fichier /etc/resolv.conf.
La ligne domain identifie le domaine par défaut. Les lignes
nameserver précisent les serveurs DNS qu’Unix va interroger en
ordre.

64
NOMS ET ADRESSES AVEC LE DNS

/etc/resolv.conf
domain viagenie.qc.ca
nameserver 192.168.1.7
nameserver 172.16.1.1
Dans le cas de Sun Sol&s, il faut aussi configurer le fichier
/etcInsswitch.conf pour qu’il tienne compte de l’accès au DNS dans
la résolution des noms. Il s’agit d’insérer le mot dns dans la ligne
hosts:.
La commande nslookup sur Unix permet de diagnostiquer les
serveurs DNS en créant des requêtes manuelles. On tape directe-
ment le nom d’un ordinateur et le serveur DNS renverra l’informa-
tion. On peut préciser un type particulier de requête avec la
commande set type=tp en changeant tp par soa, ns, a, ptr, cname,
mx,.... où soa (sturt ofauthority) permet de connaître le serveur pri-
maire d’un domaine, ns (name w-ver) permet de connaître tous les
serveurs DNS (primaires et secondaires) d’un domaine, a permet de
connaître l’adresse IP correspondant à un nom, ptr permet de
connaître le nom correspondant à une adresse IP, cname permet de
connaître les synonymes des noms et mx identifie le serveur de
courrier électronique du domaine. Si on utilise set type=any, toutes
les informations possibles seront demandées. On peut préciser un
serveur DNS différent à interroger avec la commande server
nom-du-serveur.

3.10.1 Configuration d’un serveur DNS sur Unix


Cette section décrit brièvement les principaux fichiers de configura-
tion d’un serveur DNS sur Unix9. Lorsqu’un élément est en italique,
cela signifie qu’il doit être remplacé par la valeur appropriée.
Le fichier /etc/named.boot décrit le ou les rôles du serveur de
noms. Étant donné qu’un serveur peut être primaire et secondaire de
plusieurs domaines, le fichier peut contenir plusieurs lignes pri-
mary ou secondary. La syntaxe est la suivante.

9. Le livre DNS and BIND d’Albitz et Liu, publié chez O’Reilly & Associates,
constitue une référence complète et détaillée sur la configuration des serveurs DNS.

65
INTERNET - TCPLP SIMPLIFIÉ

Tableau 3.3
Syntaxe du fichier /etc/named.boot

Ligne Explication
directory répertoire Identifie le répertoire qui contien-
dra les fichiers de travail du DNS
( indiqués sur les lignes cache, pri-
I mat-y et secondary
cache fichier ~~~-- -I-
, Identifie le fichier cache conte-
nant les serveurs de premier
niveau. Ce fichier a la même syn-
taxe que ceux des domaines
primary domainefichier Ce serveur est primaire pour
domaine décrit dans $Chier
secondary domaine primaire fichier Ce serveur est secondaire pour
domaine. Il reçoit l’information
du primaire et la dépose dans
fichier. Le primaire est précisé par
son adresse IP
! Le point-virgule correspond à un
commentaire

Le fichier cache contenant la liste des serveurs de premier niveau est


disponible à 1’adresse&://@p.ds.internic.net/domain/named.root.
La syntaxe d’un fichier de domaine est décrite dans le Tableau
3.4. Ce fichier est créé sur le serveur primaire de ce domaine. On
nomme généralement le fichier par le nom du domaine. Il comporte
une ligne in soa démontrant son autorité sur ce domaine, plusieurs
lignes in ns donnant la liste du serveur primaire et des serveurs
secondaires et autant de lignes in a qu’il y a d’ordinateurs dans ce
domaine.

66
NOMS ET ADRESSES AVEC LE DNS

Tableau 3.4
Syntaxe du fichier descriptif d’un domaine
TLlgrlt:
J--- r- ,. . .
1 cxpncation
$ORIGIN domaine 1 La chaîne domaine sera ajoutée !
toute donnée dans le fichier qui ne
sera pas terminée par un point (.)
----~
domaine. in soa serveur courrier Ce serveur a autorité (SOA: star-1
série refresh retry expire minimum of autority) pour ce domaine
L’administrateur peut être joint à
viagenie.qc.ca in sou jau.viagenie. l’adresse courrier. Ce fichier a le
qc.ca admin@viagenie.qc.ca numéro série. Le serveur secon-
96070501 daire contactera le serveur pri-
maire toutes les refresh secondes,
réessaiera toutes les retry se-
condes si aucune réponse, sinon
!considérera les données comme
expirées après expire secondes.
Les données de ce fichier ont, par
I défaut, une durée de vie de mini-
mum secondes
_-.~ ~.
jomaine. in ns serveur + Serveur est un serveur primaire ou
secondaire pour domaine
wdinateur in a adresseIP Cet ordinateur a cette adresse IP
zutrenom in cname ordinateur Cet ordinateur a un synonyme
Le point-virgule correspond à un
commentaire

La syntaxe d’un fichier pour l’adressage inverse est identique,


sauf pour la ligne in a qui est remplacée par in ptr.
INTERNET - TCP/IP SIMPLIFIÉ

Tableau 3.5
Syntaxe du fichier descriptif d’un domaine pour l’adressage inverse

Ligne Explication
adre.weIP in ptr ordinateur Utilisé dans les fichiers d’adres-
sage inversé: à adresseIP corres-
pond ordinateur.

Dans les fichiers de domaine, chaque donnée qui n’est pas termi-
née par un point sera complétée par le domaine défini par la ligne
$ORIGIN. Probablement plus de la moitié des erreurs que les admi-
nistrateurs commettent est d’oublier de mettre un point à la fin des
noms.

3.11 Références
Voici la liste des documents RFC pertinents pour ce chapitre. Vous
pouvez les consulter à l’adresse http://ds.internic.net.

Tableau 3.6
RFC

Domain names - concepts and facilities

Le standard ISO-3 166 donne la liste des codes à deux caractères


de tous les pays. Une liste gérée par 1’IANA (Internet Assigned
Numbers Authority) est offerte à l’adressef@://ftp.isi.edu/in-notes/
iana/assignments/country-codes.
Chapitre 4

Aiguillage des paquets


avec le protocole RIP
Le souci de per$ection, c’est comme
une cravate pa$aitement mise: c’est
beau, mais ça étouffe.
Anonyme

e chapitre traite de l’aiguillage des paquets, c’est-à-dire du

C mécanisme de décision qui permet d’acheminer un paquet vers


la destination finale en traversant un ensemble de réseaux.
Lorsqu’un paquet doit être envoyé à une adresse IP donnée,
l’ordinateur expéditeur vérifie en premier si l’adresse de destination
est située sur le même réseau local. Il le fait en appliquant le masque
de sous-réseau sur l’adresse. C’est-à-dire qu’il vérifie si la partie
réseau de l’adresse de destination délimitée par le masque est sem-
blable ou différente de la partie réseau de son adresse. Si la destina-
tion est sur le même réseau local (parties réseau des adresses IP
identiques), le paquet est envoyé directement à l’ordinateur destina-
taire. Si ce n’est pas sur le même réseau local (parties réseau des
adresses IP différentes), alors l’ordinateur consulte sa table des
routes pour identifier vers quel aiguilleur il enverra le paquet.

Tableau 4.1
Table typique des routes de l’ordinateur 192.168.1.5

Les ordinateurs ne tiennent généralement qu’une table de routes


très simple. Le Tableau 4.1 contient la table pour l’ordinateur

69
INTERNET - TCPLP SIMPLIFIÉ

192.168.1.5. La première colonne identifie une adresse de destina-


tion et la deuxième, l’aiguilleur à qui il faut envoyer le paquet pour
atteindre cette destination.
La table se résume principalement à l’identification de l’adresse
IP de l’aiguilleur qui recevra les paquets hors du réseau local: c’est
la ligne «default» du Tableau 4.1. Cette ligne indique que, pour toute
destination n’étant pas dans la table, il faut envoyer le paquet à l’ai-
guilleur 192.168.1.1. La deuxième ligne correspond au réseau local:
tout paquet destiné à une adresse 192.168.1.X doit passer par
192.168.1.5, l’adresse de l’ordinateur.

192

192.168.
aiguilleur

Figure 4.1
Réseau avec aiguilleur

Pour l’aiguillage des paquets, la configuration d’un ordinateur


consiste essentiellement à identifier l’aiguilleur par défaut où tout
paquet destiné à l’extérieur du réseau local sera envoyé. Dans le
cas de l’ordinateur 192.168.1.5, l’aiguilleur par défaut sera
192.168.1.1.

70
AIGUILUGEDESPAQUETSAVECLEPROTOCOLERIP

Lorsqu’un ordinateur envoie un paquet sur Internet à destination


d’un autre ordinateur, le chemin du paquet n’est pas déterminé
d’avance. Au moment où il le reçoit, chaque aiguilleur dans le par-
cours décide vers quel autre aiguilleur il envoie ce paquet. Ainsi,
aucune table d’adresses de tous les ordinateurs et réseaux d’Inter-
net n’est maintenue. L’aiguillage se fait de proche en proche. Il
peut arriver qu’un premier paquet IP passe par un chemin et que le
deuxième envoyé au même destinataire passe par un autre chemin
si, par exemple, un bris sur un lien entre les deux s’est produit et
un chemin alternatif a été choisi. Tout ceci se passe automatique-
ment.
La décision d’aiguillage des paquets dépend donc uniquement de
l’adresse de destination et de la table des routes connue par chaque
aiguilleur dans le parcours. Puisque les aiguilleurs ne tiennent pas
une table complète, tous les paquets avec une adresse de destination
qui n’est pas dans la table sont envoyés à l’aiguilleur suivant, iden-
tifié comme «default» dans leur table.
Un aiguilleur est un ordinateur ayant au moins deux interfaces
réseau et un logiciel d’aiguillage qui traverse les paquets selon sa
table des routes. Un aiguilleur IP peut être un produit spécialisé
commercial comme ceux des compagnies Cisco, WellFleet, Pro-
teon, 3Com et d’autres, ou un ordinateur comme un PC ou Unix
avec le logiciel d’aiguillage approprié. Un aiguilleur étant un dispo-
sitif travaillant au niveau 3 du modèle ISO, il est indépendant des
niveaux inférieurs. Ainsi, les interfaces réseau d’un aiguilleur peu-
vent être différentes: par exemple pour les connexions de réseaux
étendues avec liens dédiés, on utilise un aiguilleur avec une inter-
face Ethernet pour le réseau local et avec une interface série syn-
chrone ou asynchrone du côté du réseau étendu.
Pour des raisons essentiellement historiques du début d’Internet,
les premiers documents de normalisation ont nommé en anglais les
aiguilleurs gateway’ (passerelle) au lieu de muter (aiguilleur). Plus
tard, une distinction plus formelle a identifié une passerelle comme

1. En réalité, les premiers aiguilleurs d’Arpanet faits par la compagnie BBN


étaient bien des passerelles (gareway), dans le sens du modèle ISO.
INTERNET - TCP/IP SIMPLIFIÉ

un traducteur de protocoles des niveaux 4 à 7 du modèle ISO, alors


qu’un aiguilleur est un dispositif du niveau 3 du modèle ISO.
Les aiguilleurs se communiquent entre eux les routes qu’ils
connaissent à l’aide du protocole RIP

4.1 Protocole d’aiguillage RIP


Le protocole d’aiguillage utilisé pour les réseaux locaux est géné-
ralement la version 1 de RIP (Routing Information Protocol). Au
démarrage, un aiguilleur configuré pour RIP envoie un message
général sur les différents réseaux sur lesquels il est branché, deman-
dant les routes connues par les autres aiguilleurs. Ensuite, l’ai-
guilleur diffusera systématiquement toutes les 30 secondes toutes
les routes qu’il connaît sur tous les réseaux auxquels il est branché.
Ainsi, les autres aiguilleurs apprendront les routes connues de cet
aiguilleur. En conséquence, tous les aiguilleurs du réseau connaî-
tront toutes les routes de l’ensemble du réseau.
Pour chaque route sont identifiés l’aiguilleur qui en est responsa-
ble et une variable donnant le nombre d’aiguilleurs sur le chemin à
parcourir pour accéder à cette route. Pour RIP, cette variable doit
être comprise entre 0 et 15. Lorsque cette valeur indique 16, cela
veut dire que la route n’existe pas.
Certains ordinateurs peuvent être configurés pour écouter les dif-
fusions des routes RIP venant des aiguilleurs. Ils maintiendront
alors une table complète des routes, leur permettant d’envoyer au
bon aiguilleur les paquets destinés à un réseau lointain. Cet avantage
est intéressant lorsque plus d’un aiguilleur est sur le même réseau
local, sinon, toute la table de routes indiquera d’envoyer les paquets
au même aiguilleur, ce qui équivaut à en faire l’aiguilleur par défaut.

4.1.1 Redirection des routes


Si deux aiguilleurs sont connectés sur le même réseau, il y aura donc
deux chemins différents vers deux réseaux différents. Dans la figure
suivante, vu de l’ordinateur 192.168.2.3, l’aiguilleur 192.168.2.1
sert le réseau 192.168.1 .X et l’aiguilleur 192.168.2.5 sert les autres
réseaux et devient l’aiguilleur par défaut.

72
AIGULUGE DES PAQUETS AVEC LE PROTOCOLE RIP

Réseau 192.168.1.X
192.168.1.1

Figure 4.2
Deux aiguilleurs sur un même réseau

Si on configure notre ordinateur en pointant l’aiguilleur


192.168.2.5 comme «défaut» et qu’on envoie un paquet à destina-
tion de 192.168.1.6, l’aiguilleur 192.168.2.5 ne sera pas en mesure
d’acheminer les paquets vers le réseau 192.168.1 .X. Dans ce cas, il
renverra un message «redirect» du protocole ICMP (Internet Con-
trol Message Protocol) vers notre ordinateur (192.168.2.3) lui dis-
ant que pour le réseau 192.168.1.X, le paquet doit être acheminé à
l’autre aiguilleur 192.168.2.1. Notre ordinateur conservera cette
information et enverra directement les prochains paquets au bon
aiguilleur. Ainsi, chaque ordinateur se construit une table partielle
des routes selon les informations renvoyées par les aiguilleurs.

4.2 Notions avancées


4.2.1 Table détaillée des routes
Le Tableau 4.2 contient la table détaillée des routes pour l’ordina-
teur 192.168.1.5. La première ligne identifie l’adresse IP de

73
INTERNET - TCP/IP SIMPLIFIÉ

l’aiguilleur qui recevra les paquets destinés à l’extérieur du réseau


local. La deuxième ligne correspond au réseau local: tout paquet des-
tiné à une adresse 192.168.1.X doit passer par 192.168.1.5, l’adresse
de l’ordinateur. La troisième ligne réfère à l’adresse de test, présen-
tée au chapitre 2. Ces deux dernières lignes sont toujours présentes
dans une table des routes, mais ne sont affichées que par quelques
pilotes de réseau comme la commande netstat -rn sur Unix.

Tableau 4.2
Table typique des routes de l’ordinateur 192.168.1.5

Une ligne d’une table des routes peut contenir, comme destina-
tion, l’adresse IP d’un réseau ou celle d’un ordinateur. Ceci arrive
principalement dans le cas des liens point à point qui seront expli-
qués au chapitre 5.

4.2.2 Durée de vie: TTL


Un paquet IP a une durée de vie qu’on nomme TTL (Tirne TO Live).
Cette durée est exprimée par un nombre correspondant au nombre
maximal d’aiguilleurs que ce paquet peut traverser.
La durée de vie est inscrite dans l’en-tête du paquet IP. Elle est
généralement fixée à 64 au départ d’un paquet2. Lorsqu’un
aiguilleur reçoit un paquet, il modifie ce nombre en le diminuant de
1. Ainsi, après avoir traversé le premier aiguilleur, un paquet IP aura
un TTL de 63. Après Avoir traversé le deuxième aiguilleur, le paquet
aura un TTL de 62, et ainsi de suite
Si un aiguilleur reçoit un paquet avec une durée de vie égale à 1,
il jette le paquet et renvoie un message d’erreur ICMP time exceeded

2. 11 faut remarquer que 64 est le nombre recommandé. Certains systèmes utili-


sent 32. Certains messages ICMP utilisent la valeur maximale du TTL de 255.

74
AIGUILLAGE DES PAQUETS AVEC LE PROTOCOLE RIP

à l’ordinateur expéditeur. Ce message d’erreur aura, comme adresse


source, l’adresse de l’aiguilleur et, comme destination, l’adresse de
l’ordinateur expéditeur.
Ce mécanisme permet effectivement d’éviter les situations où un
paquet pourrait se promener sans arrêt sur un réseau lorsque les
aiguilleurs sont mal configurés et se renvoient le paquet mutuelle-
ment.
Le logiciel Ping utilise une durée de vie égale à 255, soit le maxi-
mum possible. Le logiciel Traceroute, très utile pour diagnostiquer la
route entre deux ordinateurs, utilise le champ TTL pour la découvrir.

4.2.3 Logiciel Traceroute


Traceroute permet de voir la route normale qu’un paquet prend pour
se rendre à destination. Prenons le réseau de la Figure 4.3 comme
exemple.
Si je fais traceroute 172.16.8.1 à partir de l’ordinateur
192.168.1.5, le logiciel va créer un paquet dont l’adresse de desti-
nation est 172.16.8.1, l’adresse source est 192.168.1.5 et la durée
de vie (TTL) égale à 1. Ce paquet va donc mourir sur le premier
aiguilleur rencontré (192.168.1.1). Celui-ci va renvoyer un mes-
sage d’erreur avec comme adresse source l’adresse de l’aiguilleur
192.168.1.1 et comme adresse de destination 192.168.1.5. Le logi-
ciel Traceroute va intercepter ce message d’erreur et prendre note
du premier aiguilleur. Ensuite, il crée le même paquet mais avec
une durée de vie égale à 2. Ce paquet va traverser le premier
aiguilleur (192.168.1.1) qui va diminuer la durée de vie à 1. Le
paquet va mourir sur le deuxième aiguilleur (10.23.210.2) et celui-
ci va renvoyer un message d’erreur avec comme adresse source
l’adresse de l’aiguilleur (10.23.210.2) et comme adresse de desti-
nation 192.168.1.5. Le logiciel Traceroute va intercepter ce mes-
sage d’erreur et prendre note du deuxième aiguilleur. Traceroute va
continuer cette procédure d’envoyer un paquet avec une durée de
vie augmentée de 1, attendre le message d’erreur, noter l’aiguilleur
et envoyer un autre paquet. Traceroute aura donc trouvé le parcours
entre les deux ordinateurs, puisqu’il aura noté tous les aiguilleurs
sur le chemin.

75
INTERNET - TCP/IP SIMPLIFIÉ

Figure 4.3
Chemin trouvé par Traceroute

76
AIGUILLAGE DES PAQUETS AVEC LE PROTOCOLE RIP

Truceroute enregistre aussi le temps d’aller-retour (round trip


time).

4.2.4 Options d’aiguillage dans le paquet IP


Dans le contexte d’aiguillage, certaines options incluses dans la
ligne 6 du Tableau 2.8 sont disponibles dans l’en-tête du paquet IP.

Record route
Lorsqu’un paquet IP a l’option record route, chaque aiguilleur, à tra-
vers lequel passe le paquet, s’inscrit dans le paquet en ajoutant son
adresse IP. Ainsi, on sera en mesure de connaître la route exacte que
le paquet a traversée. Cette option est souvent utilisée avec l’utili-
taire Ping, car le message de retour de Ping (echo reply) contient la
liste des aiguilleurs.

Timestamp
Lorsqu’un paquet IP a l’option timestump, chaque aiguilleur ajoute
le temps au moment où est passé le paquet. Ceci permet de connaître
les délais entre les liens. Cependant, cette option n’est pas toujours
supportée et peut être trompeuse car les horloges des aiguilleurs
sont rarement synchronisées.

Source route
L’option source route oblige le paquet à emprunter un chemin pré-
cis pour se rendre à destination en dressant la liste des adresses IP
des aiguilleurs à traverser en ordre. Chaque aiguilleur devra lire la
liste et envoyer le paquet vers l’aiguilleur suivant dans la liste.

L.oose source route


L’option loose source route ressemble à l’option source route, mais
oblige seulement de passer par certains aiguilleurs. Elle ne précise
pas le chemin complet mais seulement certaines bornes.

4.2.5 ICMP router discovery


ICMP (Znternet Control Message Protocol) est un protocole
de gestion dont quelques fonctions sont reliées à l’aiguillage. Un

77
INTERNET- TCP/IP SIMPLIFIÉ

ordinateur peut envoyer un message général adressé aux aiguilleurs


de son réseau leur demandant toutes les routes qu’ils connaissent.
C’est le message router discovery du protocole ICMP. Cette fonc-
tion n’est pas utilisée fréquemment, car elle n’est pas supportée par
tous les environnements. D’autres fonctions du protocole ICMP
seront expliquées dans des chapitres subséquents.

4.2.6 Protocoles d’aiguillage RIPv2 et OSPF


À l’instar de la version couramment utilisée, la version 2 du proto-
cole RIP supporte notamment les masques de sous-réseau pour les
réseaux ayant des masques variables dans une même classe, l’accep-
tation des routes avec autorisation préalable utilisant un mot de
passe, le découpage en zones et les extensions multipoints. Son uti-
lisation n’est pas très répandue pour le moment. I
Le protocole OSPF (Open Shovtesl Puth First) est un autre proto-
cole d’aiguillage qui utilise un algorithme différent de RIP pour ces
décisions d’aiguillage. En effet, OSPF diffuse l’état de chaque lien
dans un réseau, permettant à chaque aiguilleur OSPF de connaître
avec précision la topologie exacte du réseau. En associant un coût à
chaque lien et en utilisant le champ TOS (Type ofservice) dans l’en-
tête du paquet IP, un aiguilleur OSPF calculera le chemin le moins
coûteux pour le type de service demandé et prendra sa décision
d’aiguillage selon le résultat obtenu.
Dans la nomenclature, RIP est un protocole utilisant la technique
des vecteurs de distance, alors qu’OSPF utilise la technique des
états des liaisons. Conséquence de la propagation des changements
selon l’algorithme, le protocole RIP propage moins rapidement les
changements dans les routes qu’OSPF. Pour en savoir plus sur les
algorithmes d’aiguillage, le livre Le routage dans l’lnternet de
Christian Huitema, Éd. Eyrolles, est une excellente référence.

I 78
AIGUILLAGE DES PAQUETS AVEC LE PROTOCOLE RIP

Tableau 4.3
Comparaison sommaire des protocoles d’aiguillage RIP et OSPF

RIP RIP v2 OSPF 1


Algorithme Vecteur de Vecteur de État des liaisons
distances distances
Métrique de Nombre Nombre Vitesse du lien
_.~~_.. ~- 4
Convergence lors

4.2.7 Protocoles d’aiguillage pour grands réseaux


Pour ne pas diffuser l’ensemble des routes de tous les réseaux
d’Internet, on définit des ensembles de réseaux sous des regroupe-
ments indépendants et autonomes (autonomous system), administrés
par une seule entité. Ceux-ci sont souvent gérés par les plus impor-
tants fournisseurs de services Internet. Les protocoles comme RIP et
OSPF sont utilisés à l’intérieur de regroupements autonomes et uti-
lisent des algorithmes permettant la redondance, l’adaptation aux
changements et aux pannes et la diffusion des routes.
Les protocoles d’aiguillage entre les regroupements autonomes,
comme BGP (Border Gatewuy Protocol), sont conçus pour des
connexions point à point ne nécessitant pas de diffusion générale.
Les aiguilleurs se transmettent des tables indiquant l’accessibilité
entre les différents regroupements. Ces protocoles sont utilisés entre
les principaux réseaux régionaux sur Internet.

4.2.8 Rareté des adresses IP: multiples adresses de classe C en


un bloc
Le découpage des adresses IP en classes a amené une certaine rareté
des adresses, parce que les classes B étaient sous-exploitées, consi-
dérant qu’une classe B a un potentiel de 216 = 65536 ordinateurs.

79
INTERNET - TCPLP SIMPLIFIÉ
~-~~

Par contre, une classe C d’un maximum de 256 ordinateurs est sou-
vent trop petite pour une organisation branchée sur Internet. Le
nombre de classes C étant relativement abondant (221 = 2097 152
classes de 256 ordinateurs chacune), 1’IETF a décidé de donner plu-
sieurs classes C successives aux organisations nécessitant des adres-
ses IP pour plus de 256 ordinateurs.
Cependant, considérant que les deux millions de classes C cons-
tituent chacune une entrée dans les tables d’aiguillage et, par consé-
quent, ne pouvaient être supportées par les aiguilleurs, le concept
d’aiguillage sans classe a été introduit (CIDR: Classless Inter&-
main Routing). Ayant des classes C adjacentes et successives, les
entrées sont diminuées de façon importante. Chaque grand réseau
comme CA*Net a reçu une série de classes C qu’il distribue selon
cette politique.

4.3 Configuration de Windows 3.1 avec Chameleon


Avec Chameleon, les éléments d’aiguillage n’apparaissent que
lorsque le type d’interface est sur un réseau local (comme Ethernet).
Ils n’apparaissent pas en mode PPP ou SLIP, car ils ne sont pas per-
tinents (voir le chapitre 5).
Dans le menu Services, l’élément Default Gateway identifie
l’adresse IP de l’aiguilleur par défaut.

Figure 4.4
Aiguilleur par défaut
AIGUILLAGE DES PAQUETS AVEC LE PROTOCOLE RIP
_-.~ ~.--

Il est possible d’indiquer des routes statiques prédéfinies. Ceci est


rarement utilisé.

Inscrire l’adresse
- IP du réseau ou de
l’ordinateur
. distant ainsi que
l’adresse IP de
I’aimilleur
s
recevant ses
paquets.

Figure 4.5
Routes statiques

4.4 Configuration Windows 95


L’adresse IP de l’ai-
guilleur par défaut est
inscrite dans l’onglet
Passerelle. Il s’agit de
saisir son adresse IP et
d’appuyer sur le bouton
Ajouter.

Figure 4.6
Configuration de
l’aiguilleur par défaut
sous Windows 95

81
INTERNET - TCPLP SIMPLIFIÉ
~~~- ~ _~--.-- -

4.5 Configuration Macintosh


L’adresse IP de l’aiguilleur par défaut est inscrite dans le deuxième
panneau de configuration de MacTCP, dans la case Gateway
Address. En mode SLIP ou PPP, cette case est ignorée.

Figure 4.7
Aiguilleur par défaut

4,.6 Configuration Unix


Sur Unix, la commande route permet de manipuler les tables
d’aiguillage. Par exemple, la commande: route add default
192.168.1.1 1 indique que l’aiguilleur par défaut sera 192.168.1.1.
Il est à une distance de 1, c’est-à-dire directement sur le même
réseau.
Le processus routed sur Unix est un aiguilleur RIP. Xl est généra-
lement utilisé lorsque l’ordinateur Unix joue le rôle d’aiguilleur
avec au moins deux interfaces réseau. Lorsque routed est utilisé
avec une seule interface réseau, il écoute les annonces des routes des
autres aiguilleurs du réseau et maintient une table en conséquence.

82
AIGUILLAGE DES PAQUETS AVEC LE PROTOCOLE RIP

Ainsi, au lieu de toujours envoyer les paquets à l’aiguilleur par


défaut, il consulte la table des routes et envoie directement les
paquets sortants du réseau local au bon aiguilleur.
La commande netstat avec l’option -111 donne la liste des routes
connues. On peut connaître la route de destination, l’aiguilleur cor-
respondant, l’état de la route (Flags), le nombre de paquets envoyés
vers cette route ainsi que l’interface réseau qui sera utilisée pour
envoyer le paquet vers cette route.
unix% netstat -rn
Routing Table:
DeStinatiOn Gateway Flags Ref Use Interface
-----_---_-- -_--_ ----_ ----^- --_------
127.0.0.1 127.0.0.1 UH 0 a779 100
132.203.14.0 132.203.14.107 U 3 9169 le0
224.0.0.0 132.203.14.107 IJ 3 0 le0
default 132.203.14.30 UG 0 17246

La première ligne est la route vers l’ordinateur 127.0.0.1 passant


par l’interface 100, l’interface de test.

4.7 Configuration d’un aiguilleur Cisco


La compagnie Cisc0 est un important manufacturier d’aiguilleurs.
Elle a été fondée par des experts qui ont participé à la conception
des protocoles TCP/IP Nous mentionnerons brièvement quelques
éléments d’une configuration simple.
Sur un aiguilleur Cisc0 installé à l’intérieur d’un réseau corpora-
tif, on utilise généralement le protocole RIP. Pour ce faire, on utilise
la commande router rip. Il s’agit ensuite d’identifier sur quels
réseaux l’aiguilleur annoncera les routes qu’il connaît. C’est la com-
mande network suivie de l’adresse IP du réseau. Enfin, il est sou-
vent pertinent d’identifier une route par défaut pour toute autre
adresse de réseau inconnue. C’est le cas pour les aiguilleurs sur des
réseaux reliés à Internet.

83
Réseau 192.168.1.X
I
192.168.1.1 1
aiguilleur
192.168.
I Réseau 192.168.2.X
I
192.168.2.5 1

Figure 4.8
Exemple d’un aiguilleur avec deux réseaux et Internet

Sur la Figure 4.8, l’aiguilleur ayant des interfaces sur le réseau


192.168.1 .X et 192.168.2.X aura la configuration suivante:

Tableau 4.4
Configuration simple d’un aiguilleur Cisc0

Ligne de configuration Description


L
router rip Utilise le protocole d’aiguillage RIP
_ .~-- ~. ~~. ._~.
network 192.168.1.0 I Annonce les routes connues sur le réseau
I 192.168.1.X
.__~.~.~.
network 192.168.2.0 Annonce les routes connues sur le réseau
719L168.2.X ..-‘---
t ip route 0.0.0.0 0.0.0.0 192.168.2.5 i La route par
adresses inconnues se fait par l’ai-
guilleur 192.168.2.5

84
AIGUILUGEDESPAQUETSAVECLEPROTOCOLERIP
~~~--~_

4.8 Références
Voici la liste des documents RFC pertinents pour ce chapitre. Vous
pouvez les consulter à l’adresse http://ds.internic.net.

Tableau 4.5
RFC

lu-L IlUt:

1058 Routing Information Protocol


STD 34
1131 OSPF specification (version 1)
~_
1583 OSPF Version 2
1723 RIP Version 2 Carrying Additional Information
1393 Traceroute Using an IP Option
.~
1771 A Border Gateway Protocol4 (BGP4)
__---.
1518 An Architecture for IP Address Allocation with CIDR
1519 Classless Inter-Domain Routing (CIDR): an Address
Assignment and Aggregation Strategy
Chapitre 5
IP sur lien série avec
SLIP, CSLIP et PPP
Le rire, c’est la respiration de
1 ‘Esprit.
Jacques Salomé

L
‘arrivée des modems à plus haut débit tels que les V.34 à 28,8
kilobits par seconde ont favorisé l’utilisation à grande
échelle des liens IP sur les lignes téléphoniques. Auparavant,
on utilisait généralement les liens série pour les terminaux ou les
ordinateurs personnels en émulation de terminal avec des outils tels
que Kermit. Dans ce contexte, l’ordinateur n’était pas branché au
réseau, mais se comportait comme un terminal branché sur un autre
ordinateur. L’utilisateur entrait en ligne en s’identifiant et ensuite
tapait des commandes sur l’ordinateur hôte. C’est cet ordinateur qui
effectuait les transactions sur le réseau.
Dans le cas d’un ordinateur en réseau avec un lien série IP, la
configuration typique comporte un modem relié sur un port série
RS-232 de l’ordinateur et des interfaces logicielles SLIP (Serial
Line ZP), CSLIP (Compressed SLIP) ou PPP (Point to Point Proto-
col). L’utilisateur se sert des mêmes logiciels TCP/IP tels que Telnet,
Ftp, Eudora ou Netscape comme s’il était sur un réseau local.
Aucune modification de la configuration de ces logiciels n’est
nécessaire.
L’utilisation du protocole IP sur un lien série comporte certaines
différences par rapport aux réseaux locaux comme Ethernet. Sur un
lien série, il n’existe que deux ordinateurs à chaque extrémité et
aucun ne possède d’adresse physique. Par conséquent, le transport
des paquets est différent. D’autres paramètres de configuration tels
que la vitesse du port série, la compression et le mécanisme de liai-
son sont nécessaires.

87
INTERNET - TCPAP SIMPLIFIÉ

5.1 Configuration du port série et des modems


Les modems récents possèdent un mode de compression selon la
norme V42bis qui permet un taux maximal de 4 à 1. Un modem de
28 800 bauds (bits par seconde) pourra donc avoir un taux de trans-
fert maximal de 28 800 * 4 = 115 200 bits par seconde. Cette com-
pression est ajustée par les deux modems de chaque côté selon la
qualité de la ligne. La vitesse entre le port série de l’ordinateur et le
modem devant être fixe, la vitesse du port série doit donc être la plus
haute possible pour maximiser le taux de transfert avec la compres-
sion: on ajuste donc la vitesse du port série à 115 2001 pour des
modems 28 800 et à 57 600 pour les 14 400. Dans ce contexte, le
contrôle des communications doit être en mode matériel (hardware
handshake ou harwareflow control).
Le tableau de l’annexe 5 dresse la liste des différentes normes
reliées aux modems.
Pour les transferts plus exigeants, il est possible d’utiliser un lien
RNIS (Réseau Numérique à Intégration de Services ou ISDN: Me-
grated Services Digital Network) qui possède deux canaux de 64K
bits par seconde chacun (appelés canaux B) et un canal de contrôle
de 16K bits par seconde (appelé canal D), donnant un maximum de
128K bits par seconde pour le transfert des données. Comme pour
les modems ordinaires, on branche soit un «modem» RNIS sur le
port série de l’ordinateur, soit une carte RNIS à l’intérieur.
Les protocoles SLIP, CSLIP ou PPP sont utilisés pour supporter
TCP/IP sur des liens série.

5.2 SLIP: Seria Line ZP


SLIP est une réalisation du protocole IP sur les liens série, incorpo-
rée initialement dans la version 4.2BSD d’Unix vers 1984. Il n’a
jamais été normalisé, mais décrit a posteriori dans le RFC 1055.
SLIP définit essentiellement un octet de départ et de fin de manière
à encadrer le paquet IP.
1. Les anciens PC et Macintosh ne supportent pas ces hautes vitesses sur le port
série. Les PC possédant le circuit intégré de contrôle de communications (UART)
16550 permettent 115 200 bauds. La commande msd permet de vérifier le type de
circuit utilisé sur chaque port de communication.

88
IP SUR UEN SÉRIE AVEC SLte c.%I&’ ET PPP

octet paquet IP octet


début fin

Figure 5.1
Lien SLIP entre deux ordinateurs

SLIP ne comporte aucun mécanisme pour transmettre l’adresse


IP à l’autre ordinateur, aucune compression et aucune vérification
de la transmission du paquet. La taille maximale (ou MTU: Muxi-
mum Transmission Unit) généralement utilisée est de 1 006 octets,
car cette valeur était celle d’Unix version 4.2BSD de l’université
Berkeley.

5.3 Compression
Van Jacobson, du Lawrence Berkeley Labs, propose dans le RFC
1144 un mécanisme de compression des en-têtes TCP (Transmission
Control Protocol: voir au chapitre 6) permettant d’augmenter le débit
des paquets sur un lien série. Sans compression, lors d’une session
Telnet, le transfert interactif d’un caractère prend 41 octets: 1 octet
pour le caractère, 20 octets pour l’en-tête IP et 20 octets pour l’en-
tête TCP. L’algorithme de compression permet de réduire l’en-tête de
40 octets à 3 ou 5 octets en maintenant jusqu’à 16 connexions TCP
simultanées. L’algorithme a été bien pensé de manière à ne pas
demander d’efforts de calcul importants des ordinateurs impliqués.
Selon l’auteur2, il n’est pas utile de compresser les paquets UDP,
seuls les services TCP ont la possibilité d’utiliser cette compression.

5.4 CSLIP: Compressed SLIP


SLIP, utilisé avec la compression d’en-tête Van Jacobson, est appelé
communément CSLIP (Compressed SLIP). Étant donné que le gain
est appréciable et que la plupart des réalisations modernes de SLIP

2. Van Jacobson mentionne que les paquets UDP sont moins fréquents que les
paquets TCP.

89
INTERNET - TCP/IP SIMPLIFIÉ

supportent la compression, il est fortement recommandé de l’uti-


liser.
Certaines versions de logiciels SLIP et CSLIP ne sont pas com-
patibles entre elles. Ceci est principalement dû au manque d’une
norme et d’un mécanisme de négociation des options entre les deux
ordinateurs lors de l’entrée en ligne. PPP a réglé ce problème.

5.5 PPP: Point to Point Protocol


PPP (Point to Point Protocol) est un protocole générique pour le trans-
fert de paquets par lien série entre deux points. Il supporte non seule-
ment le protocole IP, mais aussi OSI, Appletalk, Decnet et d’autres.
PPP permet la négociation des paramètres de communications entre
les deux ordinateurs impliqués tels que la compression de l’en-tête,
leurs adresses IP et l’identification d’un utilisateur. PPP regroupe une
famille de protocoles dont le protocole LCP (Link Control Protocol)
pour l’établissement et la configuration des liens et les protocoles spé-
cifiques aux niveaux supérieurs, appelés NCP (Network Control Pro-
tocol). PPP supporte les communications asynchrones et synchrones.

Application / Logiciels
(protocole + TCP/IP
logiciel) Windows
/ Transport 1 TCPAJDP 1

Figure 5.2 ,
PPP dans le modèle ISO

Le protocole IPCP (ZP Control Protocol) est un des protocoles


NCP (Network Control Protocol) de PPP utilisés lorsque IP est le
protocole supérieur. Il permet la compression d’en-tête et la négo-
ciation des adresses IP.
La taille maximale d’un paquet PPP (MTU) est de 1 500 octets.

90
tp SUR UEN SÉRIE AVEC SLIP CsLtP ET Pt’P

5.6 Configuration typique d’un service de connexions IP


par lien téléphonique
Peu importe si on utilise SLIP, CSLIP ou PPP, la configuration typi-
que est présentée dans la figure suivante. Un modem est branché à
chaque extrémité de la ligne téléphonique. Les modems modulent
les bits en signaux électriques. Le serveur de communication reçoit
les paquets venant des ordinateurs distants et les transmet sur le
réseau local en agissant comme relais.

modem

serveur de
communication semeur
Todem

A-
wép

-- ___ -/ I l
Réseau Ethernet

Figure 5.3
Schéma typique de connexion par modem sur un réseau IP

Puisque le serveur de communication est l’unique point d’entrée


des ordinateurs dans le réseau, il n’est pas nécessaire d’identifier
l’adresse IP de l’aiguilleur par défaut lorsqu’on utilise PPP.

5.7 Identification de l’utilisateur


Lors de l’entrée en ligne, il faut s’identifier à l’aide d’un nom d’uti-
lisateur et d’un mot de passe avant de pouvoir accéder au réseau. Il
existe deux méthodes d’identification: la première est basée sur une
séquence manuelle d’entrée en ligne en répondant aux demandes
login: et password:. La deuxième est gérée par les protocoles PAP
(Password Authentication Protocol) ou CHAP (Challenge-Hands-
hake Authentication Protocol) du protocole PPP: le serveur de

91
INTERNET - TCP/IP SIMPLIFIÉ

communication demande le nom d’utilisateur et son mot de passe


directement à l’ordinateur sans que l’utilisateur n’ait besoin de les
taper. Le mode SLIP n’utilise que la première méthode tandis que
PPP peut utiliser les deux méthodes.
Pour le protocole PAP, le serveur de communication envoie un
paquet demandant le nom d’utilisateur et le mot de passe. L’ordina-
teur renvoie ces informations directement. Le protocole CHAP uti-
lise la même technique sauf que le serveur de communication
envoie préalablement une clef chiffrée pour que l’ordinateur renvoie
l’information chiffrée de l’utilisateur, assurant la confidentialité de
l’échange du mot de passe.

5.8 Entrée en ligne


Avec l’entrée en ligne par une séquence d’interrogation login:/pass-
Word:, on doit taper les informations manuellement. Les logiciels
SLIP et PPP incluent un outil de conversation permettant d’automati-
ser cette procédure. Il consiste à décrire la séquence de caractères
attendus suivie de la séquence à taper, de façon alternée. Par exemple,
si au login: on devait taper blanchet, et ensuite au password: on devait
taper asdfghjk, la séquence serait: login: blanchet password: asdfghjk.

5.9 Adresse IP dynamique


Pour minimiser le nombre total d’adresses IP, on utilise générale-
ment des adresses IP dynamiques attribuées par le serveur de com-
munication à l’ordinateur en mode SLIP ou PPP lorsqu’il entre en
ligne. Dans ce cas, on configure généralement l’adresse IP initiale
de l’ordinateur comme 0.0.0.0. Lors de l’entrée en ligne, celui-ci
recevra du serveur une adresse IP.

5.10 Notions avancées


5.10.1 Format d’un paquet PPP
Une trame PPP comprend un délimiteur de début et de fin, une
somme de contrôle, un champ protocole et les données. Le paquet
IP est inséré dans ce dernier champ. Le type de délimiteur et la
somme de contrôle sont issus du protocole HDLC (High-Level Data
Link Control).

92
IP SUR LIEN SÉRIE AVEC sa!&-f c%tP ET PPPzyxwvutsrqponm

4 Trame PPP - +
début protocole données CRC fin
W) a 1 500 octets

Adresse Adresse
Données
En-tête IP IP IP Options IP
WY
source destination
~~-~- Paquet IP -~ -+
Figure 5.4
Description d’un paquet PPP

Le champ protocole indique le type de paquet inséré dans la


trame PPP, parmi les protocoles de contrôle (LCP, PAP, CHAP et
LQR) ou les protocoles de niveaux 3 dans le modèle ISO avec leur
protocole de contrôle correspondant: on distingue IP avec IPCP,
Appletalk avec Appletalk CP, etc..

Tableau 5.1
Valeurs du champ protocole d’un paquet PPP
Protocole PPP Valeur
Link Control Protocol CO21
Password Authentication Protocol CO23
--~
Link Quality Report CO25
~~-~
Challenge Handshake Authentication Protocol C223
IP 0021
IP Control Protocol 8021
Appletalk 0029
Appletalk Control Protocol 8029
OSI- 0023
OS1 Network Control Protocol 8023 -
~~.~-~
Decnet 0027
Decnet Network Control Protocol 8027
-~
IPX 002B
~--~
IPX Network Control Protocol 802B

93
INTERNET - TCP/IP SIMPLIFIÉ

En ayant un champ protocole dans la trame, le protocole PPP per-


met d’utiliser plus d’un protocole de niveau 3 sur le même lien. Par
exemple, on pourrait avoir sur le même lien PPP le transport des
protocoles TCP/IP et IPX de Novell. Chacun aurait son protocole de
contrôle: IPCP et IPXCP. La figure suivante montre la cohabitation
pour un PC avec Windows, TCP/IP et IPX de Novell sur PPP. Ce
mode est appelé commercialement MultiLink PPP.

Figure 5.5
PPP avec IP et IPX

510.2 Relais ARP (Proxy)


Un ordinateur relié par un lien série n’a évidemment pas d’adresse
Ethernet, mais seulement une adresse IP. Selon la Figure 5.3, un ordi-
nateur en PPP ou SLIP avec son adresse IP apparaîtra comme s’il était
sur le réseau local. Les serveurs généreront une requête ARP à ces
ordinateurs distants pour connaître leurs adresses Ethernet. Le serveur
de communication devient un relais en répondant à la requête ARP en
identifiant son adresse Ethernet au nom de l’ordinateur distant. Ainsi,
le serveur enverra le paquet avec en tant qu’adresse Ethernet de des-
tination l’adresse Ethernet du serveur de communication, et comme
adresse IP de destination l’adresse IP de l’ordinateur en mode PPP ou
SLIP Le protocole ARP est expliqué à la section 11.2.

5.10.3 Taille maximale souhaitée d’un paquet


La taille maximale souhaitée d’un paquet (MRU: Maximum Receive
Unit) est transmise par l’ordinateur distant au serveur de communi-

94
IP SUR LIEN SÉRIE AVEC %.If csL#’ ET PPP
~~--

cation lui demandant de ne jamais envoyer de paquets dont la taille


est supérieure au MRU.

5.11 Configuration de Windows 3.1 avec Chameleon


La configuration PPP ou SLIP commence par le port série. On doit
fixer la vitesse, le nombre de bits de données, de bits d’arrêt, la
parité et le contrôle des échanges. Avec PPP, on utilise nécessaire-
ment 8 bits, aucune parité et le contrôle des communications est en
mode matériel.

0 480D 0 9600 0 19200

q CauierDetect

Figure 5.6
Configuration du port série

L’élément Add du menu Interface de Chameleon Custom permet


d’ajouter une interface PPP ou SLIP. Les autres éléments du menu
Setup configurent cette interface avec l’adresse IP, le masque de
sous-réseau, le numéro de téléphone pour joindre le serveur de com-
munication, le nom de l’ordinateur et le nom du domaine.

95
INTERNET - TCPLP SIMPLIFIÉ
.~-

Eile interface Setup Seryices Connect Help

Interface: PPPl - COM2.19200 baud


Dial: 555-l 212
IP Addreto: 192.168.1.5
Subnet Mask: 255.255.255.0
Hott Name:
Domain Name: gel.ulaval.ca

Figure 5.7
Panneau de configuration de PPP

5.12 Configuration Windows 95

Figure 5.8
Configuration PPP sous Windows 95

96
IP SUR LIEN SÉRIE AVEC SLIP, CsLIP ET PPP

Pour configurer PPP sous Windows 95, on doit ouvrir le panneau de


configuration, sélectionner l’icône Internet, choisir la connexion,
cliquer sur le bouton Propriétés et sélectionner Type de serveur.
On sélectionne dans ce panneau le type de serveur PPP et le proto-
cole TCP/IP.
Ensuite, on appuie sur le bouton Paramètres TCPIIP pour ajus-
ter les informations PPP. On choisit alors entre l’adresse IP saisie
directement ou bien une adresse IP attribuée par le serveur de com-
munication sur lequel on se connecte. On peut aussi saisir les adres-
ses IP des serveurs DNS qui serviront dans le cadre de cette
connexion PPP. Enfin, on devrait choisir la compression d’en-tête IP
correspondant aux améliorations de Van Jacobson.

Figure 5.9
Adresse IP en mode PPP sous Windows 95

97
INTERNET - TCPLP SIMPLIFIÉ

5.13 Configuration Macintosh


Pour utiliser MacPPP, on installe ConfigPPP comme tableau de bord
et PPP comme extension. On choisit ensuite PPP comme lien dans
le premier panneau de configuration de MacTCP
Le démarrage d’une connexion PPP se fait en cliquant sur le bou-
ton Open de ConfïgPPP. À la fin de la session, on ferme la connexion
soit avec le bouton Soft Close qui permettra une réouverture automa-
tique si un logiciel TCP/IP veut avoir une connexion (par exemple,
Eudoru qui veut vérifier si du nouveau courrier est arrivé), soit avec
le bouton Hard Close qui ferme définitivement la connexion.

A Démamer PPP

~ Lorsque terminé,
fermer

Choisir une interface

\ Des statistiques sont


offertes sur la session
Port Name: Port modem v
Idle Timeout Iminutesl: [Noner\
Echo Interual Iseconds):[20[
0 Terminal Window
&l Hangup on Close Ix) Quiet Mode

Figure 5.10
ConfigPPP

On peut définir plusieurs interfaces ayant chacune des paramètres


différents avec le bouton New et avec le bouton Config pour le pan-
neau de configuration de cette interface. Lorsqu’on désire utiliser
une interface, on la sélectionne dans le menu déroulant POP.

98
IP SUR LIEN SÉRIE AVEC SLlt: c%tP ET PPP

-PPP Seruer Name: m-.. ~ Nom de l’interface


- ~ Vitesse du port série
port Speed: [57600[ *-
FIOW Control:[CTS 6 RTS (DTR) 1,
Toujours choisir le contrôle de
Q Tone Dia1 0 Pulse Oial ’ la communication par signaux
de contrôle CTS & RTS (DTR)
Phone num
Modem Init Entrer le numéro de téléphone
’ du service Internet
Modem connect timeout: 190
-1 seconds
Connect Script... LCP Options...
(Oone)
Authentication... IPCP Options...

Figure 5. Il
Panneau de configuration d’une interface PPP

Dans le panneau de Config, pour maximiser le taux de transfert,


il faut préciser la vitesse maximale du port série et le contrôle de
communication par signaux de contrôle (CTS & RTS [DTR]). Sur
les plus récents Macintosh, la vitesse peut aller jusqu’à 115 200
bit&, alors que les anciens sont limités à 57 600 bits/s.
On indique le numéro de téléphone de la ligne du serveur de com-
munication dans le champ Phone num.
Le bouton Connect Script permet d’accéder au panneau permet-
tant de préciser le scénario d’entrée en ligne utile pour automatiser
la procédure. On indique chaque élément du scénario selon l’attente
d’une chaîne de caractères venant du serveur de communication
(Wuit) ou selon l’envoi d’une chaîne de caractères vers le serveur de
communication (OU~), avec le retour de chariot (CR). Dans la Figure
5.12, le scénario est le suivant:
a) attente de la chaîne: ogin:
b) envoi du nom d’utilisateur usager01 avec le CR
c) attente de la chaîne: assword:
d) envoi du mot de passe: af34@&;m avec le CR

99
INTERNET - TCP/IP SIMPLIFIÉ
~-

Wait timeout: 40 seconds


u
par: Ajoute un
0 out @ Wait Wn: , retour (-1)
à la fin de
Q out 0 Wait usager01
la ligne
0 out Q Wait asswd:

Q Out 0 Wait af34@&;m

@Out OWait UICI


@Out OWait f/J 0
@Out OWait 1

Figure 5.12
Scénario d’entrée en ligne

Si PAP est utilisé pour l’identification, alors c’est le bouton


Authentication qui nous amène vers le panneau de configuration de
la Figure 5.13. On introduit le numéro d’utilisateur (usagerOl) et le
mot de passe (43462 &;m).

Note: The password and id fields may


be left blank to indicate that they are
to be entered at connect time.

Ruth. ID: Ilusager

Password: af34@un
1
Retries: 10 Timeout: 3
El El seconds

Figure 5.13
Identification PPP par PAP

100
IP SUR LIEN SÉRIE AVEC SI?.IE c.%IP ET PPP

Les options relatives au protocole de base LCP sont présentées


avec le bouton LCP Options.

5.14 Configuration Unix


Nous allons traiter, dans cette section, de la version PPP du domaine
public utilisée entre autres avec Lieux, une version d’Unix du
domaine public.
Pour configurer un serveur PPP qui recevra des connexions PPP,
il s’agit de définir dans le fichier /etc/passwd un compte utilisateur
(ppp, par exemple) et de mettre comme coquille un script démarrant
le serveur pppd.
ppp:*:500:200:accès public PPP: /tmp:/etc/ppp/ppplogin:

Ce script (/etc/ppp/ppplogin) démarrera pppd avec les options


-detach, silent, modem et crtscts permettant de se détacher du port
série (tty sur Unix), d’attendre les premiers paquets PPP du client et
d’utiliser les signaux du modem, respectivement.
pppd -detach silent modem crtscts

Le client débutera sa session en s’identifiant au Login et si l’iden-


tification est positive, une session PPP s’engagera. Pour automatiser
cette séquence, un client PPP est lancé avec un script de connexion
en utilisant le logiciel Chat et la commande pppd. Chat définit une
séquence multiple «attente-réponse» pour la procédure d’entrée en
ligne.

5.15 Références
Voici la liste des documents RFC pertinents pour ce chapitre. Vous
pouvez les consulter à l’adresse http:/ds.internic.net.

101
INTERNET - TCP/IP SIMPLIFIÉ

Tableau 5.2
RFC
RFC Titre
1055 Nonstandard for transmission of IP datagrams over serial
lines: SLIP
1144 Compressing TCP/IP headers for low-speed serial links
~-
1661, The Point-to-Point Protocol (PPP)
STD 51,
1548,
1331,
1171
1334 PPP Authentication Protocols
1332, The PPP Internet Protocol Control Protocol (IPCP)
1172
1333 PPP Link Quality Monitoring
/
1663 PPP Reliable Transmission
1570 PPP LCP Extensions
1378 The PPP AppleTalk Control Protocol (ATCP)
1377 The PPP OS1 Network Layer Control Protocol (OSINLCP)
1376 The PPP DECnet Phase IV Control Protocol (DNCP)
1552 The PPP Intemetwork Packet Exchange Control Protocol
(IPXCP)
1764 The PPP XNS IDP Control Protocol (XNSCP)
1763 The PPP Banyan Vines Control Protocol (BVCP)
1762 The PPP DECnet Phase IV Control Protocol (DNCP)
1638 PPP Bridging Control Protocol (BCP)
1662, PPP in HDLC Framing
1549
-1619 PPP over SONET/SDH
1618 PPP over ISDN
i 1598
PPP in X.25
Chapitre 6

Transport des paquets:


TCP et UDP
Qu’on ne dise pas que je n’ai rien dit
de nouveau, la disposition des matiè-
res est nouvelle.
Blaise Pascal, Pensées

L
e niveau transport dans le modèle KO identifie la manière de
transporter les informations entre deux ordinateurs en pré-
supposant que les paquets arrivent à destination en utilisant
le protocole d’aiguillage du niveau 3. L’ensemble des protocoles
TCP/IP supporte deux principaux protocoles de transport: TCP
(Transmission Control Protocol) et UDP (User Datagram Proto-
col). On devrait d’ailleurs renommer les protocoles TCP/IP pour
TCP-UDP/IP ou plus simplement IP car d’autres protocoles de
transport sont définis l.

6.1 TCP: Transmission Control Protocol


TCP est un protocole de transport fiable. Pour chaque paquet
envoyé, l’expéditeur s’attend à une confirmation du destinataire sur
réception. Des mécanismes sont prévus pour avertir l’expéditeur si
le destinataire a mal reçu le paquet et qu’il doit le renvoyer une autre
fois. Ce protocole maintient donc une connexion entre les deux ordi-
nateurs aussi longtemps que nécessaire.
Lorsqu’un utilisateur désire envoyer un fichier par FTP, celui-ci
utilise le protocole de transport TCP. Il découpe le fichier en seg-
ments et chaque segment est envoyé sous forme d’un ou plusieurs
paquets selon la taille maximale permise d’un paquet (MTU).

1. Le RFC 1700 a enregistré 94 numéros de protocoles IP, c’est-à-dire des numé-


ros qui sont dans le champ protocole d’un paquet IP. UDP a le numéro 17 et TCF’,
le numéro 6. Cependant, les 92 autres ne sont pas tous des protocoles de transport.

103
INTERNET - TCP/IP SIMPLIFIL

Fichier complet

Segment no I > I
4

En-tête Données Ethuwr

En-tête Données Ethemer Fin

Figure 6.1
Découpage d’un fichier en segments

Au moment de l’envoi d’un segment, l’ordinateur expéditeur


démarre un chronomètre. Si, après un délai fixé, aucun accusé de
réception n’est reçu de l’ordinateur destinataire, l’expéditeur ren-
voie le segment une autre fois. Si l’ordinateur destinataire reçoit un
segment correctement, il expédie un accusé de réception. Si l’ordi-
nateur destinataire détecte que le segment reçu est erroné grâce à la
somme de contrôle, alors il jette ce segment, n’envoie aucun accusé
de réception et attend de recevoir une nouvelle copie du segment.
TCP est donc un protocole de transport fiable créant une
connexion bidirectionnelle entre les deux ordinateurs.

104
TRANSPORT DES PAQUETS: TCP ET UDP

Étant donné que les segments peuvent être reçus dans n’importe
quel ordre et que l’ordinateur destinataire doit pouvoir reconstruire
correctement le fichier envoyé, un numéro de séquence est inclus
dans chaque segment permettant ainsi d’identifier la position des
données dans le fichier.

6.2 UDP: User Datagram Protocol


UDP est un protocole léger ne garantissant pas la livraison du
paquet et ne délivrant aucune confirmation de réception. 11 ne main-
tient aucune connexion entre les deux ordinateurs. De par ces carac-
téristiques, il est plus efficace que TCP et est utilisé pour les services
dont la performance ou l’efficacité est essentielle tels que les servi-
ces de disques virtuels en réseau (NFS).
UDP n’a pas de notion de segment: un paquet UDP est complet
en lui-même.

6.3 Ports
Peu importe le mode de transport TCP ou UDP, lorsqu’un paquet
arrive à destination, il est transféré à un service, comme par exem-
ple Telnet, Ftp ou Web. Pour distinguer parmi ceux-ci, un numéro de
service est associé au paquet. On nomme le point d’ancrage de ce
service dans l’ordinateur: un port.
À chaque service est associé un ou plusieurs ports. Par exemple,
pour le service Telnet, le port utilisé est le numéro 23. Pour le cour-
rier électronique SMTP, c’est le port 25. Pour le Web, c’est le port
80. Lorsqu’un PC accède à un serveur Web, il envoie un paquet avec
le mode de transport TCP au port numéro 80. Ce paquet est une
requête pour recevoir une page Web. Le serveur reçoit la requête sur
le port 80 et renvoie le contenu de la page Web à l’ordinateur client.
La Figure 6.2 montre l’ordinateur 192.168.1.5 communiquant
simultanément sur plusieurs ports avec le serveur 172.17.1.6.

105
I NTERNET - TCP/IP SIMPUFIÉ

service l port port service


Client talk ) 5 1 7 Serveur
smtp 25
telnet 23
dns 5 3
www
192.168.1.5 172.17.1.6 >;

Figure 6.2 i
Communication entre client et serveur

Unix est souvent utilisé comme serveur. Le fichier /etc/inetd.conf


établit la liste des services que ce serveur Unix rend disponible. Par
exemple, une ligne identifie qu’il est un serveur Telnet au port 23.
Lorsqu’il recevra une requête à ce port, il démarrera le logiciel ser-
veur telnetd pour s’occuper de cette connexion. Dans ce cas, le
client pourrait être un PC ou un Macintosh avec le logiciel NCSA
Telnet. La Figure 6.3 identifie les logiciels utilisés à la Figure 6.2.

loaiclel sewce wxt p o r t servIce loaiciel


Macintosh Talk talk 517 5 1 7 talk Talkd Serveur Unix
Eudora smtp 25 25 smtp Sendmail
NCSA Telnet telnet 23 23 telnet Telnetd
MacTcp dns 53 53 dns Named
Netscape www 80 80 www Httpd
192.16X.1.5 172.17.1.6

Figure 6.3
Ports, services et logiciels entre un client et un serveur

La Figure 6.4 présente une situation normale où des clients accè-


dent à des serveurs différents simultanément.

106
TRANSPORT DES PAQUETS: TCP ET UDP

service Dort
Client talk 517
smtp 25
telnet 23
dns 53 1
53 dns
www 80 p 8 0 www
ïi%.168.1.5 ’ 6

Client

&ort service
5 1 7 talk Serveur
25 smtp
23 telnet
53 dns
80 www
3 119 nntp 132.203.72.253

Figure 6.4
Multiples interactions entre clients et serveurs

Lorsqu’ils reçoivent une requête d’un client, les serveurs se com-


portent soit en démarrant un nouveau processus, soit de façon itéra-
tive. En démarrant un nouveau processus pour chaque client, celui-ci
va s’occuper du client pour toute la durée de la connexion. S’il y a
cinq clients accédant au même service en même temps, il y a au
moins cinq processus serveurs. Lorsqu’une connexion est terminée,
le processus serveur meurt. C’est la stratégie généralement utilisée
pour les services TCP qui demandent une connexion plus longue.
Pour les services UDP, les serveurs itératifs sont généralement
utilisés. Un seul processus reçoit la requête, la traite et en attend une
autre. Pendant le traitement d’une requête, aucune autre ne peut être
servie sur ce port.

107
INTERNET - TCP/IP SIMPLIFIE
~~~

6.3.1 Ports privilégiés


Les ports ayant les numéros de 0 à 1 023 sont identifiés comme pri-
vilégiés pour deux raisons: l’utilisation d’un numéro de port est
assignée et gérée par I’IANA (Internet Assigned Numbers Authority)
et sur Unix, ces ports doivent être démarrés par l’utilisateur Root
possédant tous les privilèges. On retrouve la plupart des services
couramment utilisés parmi les ports privilégiés.
Les ports 1024-65535 sont offerts au besoin pour les clients et les
serveurs. La plupart des logiciels clients utilisent les ports 1024 à
5000 pour les connexions temporaires.
L’annexe 2 dresse une liste des ports utilisés fréquemment. La
liste officielle et presque complète est donnée dans le RFC 1700.
Certaines versions de Telnet permettent de se connecter directe-
ment à un port particulier pour pouvoir converser manuellement
avec le logiciel serveur. Cette option est très utile pour diagnostiquer
des logiciels serveurs. Par exemple, sur Unix, TeZnet serveur 80
nous connecte sur le serveur au port 80 qui est le port du Web.
On peut ensuite envoyer des commandes du protocole HTTP
(HyperText Transport Protocol: le protocole sous-jacent au Web) au
serveur et voir les réponses.

6.4 Notions avancées


6.4.1 Port client
Pour qu’un serveur s’y retrouve parmi les requêtes reçues au même
port et peut-être provenant du même ordinateur, comme dans le cas
de requêtes Web simultanées, chaque connexion est identifiée de
façon unique par un numéro de port unique donné par le client, for-
mant ainsi le quadruplet: adresse source IP, numéro de port source,
adresse IP de destination, numéro de port de destination. Lorsqu’un
client accède à un serveur au numéro de port désigné (par exemple
80), il donne au serveur un numéro de port source aléatoire (parmi
les numéros 1024 à 5000 généralement) qui servira aux deux pour
les requêtes et les réponses de cette connexion particulière.

108
TRANSPORT DES PAQUETS: TCP ET UDP

6.4.2 Format du paquet TCP


Un paquet TCP est inclus dans le champ Données du paquet IP qui
lui-même est inclus dans le champ Données d’une trame Ethernet.
Le paquet TCP contient le numéro de port source, le numéro de port
de destination, le numéro de séquence TCP, le numéro d’accusé de
réception, la largeur de la fenêtre, les options TCP ainsi que les don-
nées elle-mêmes.

Adrease Adresse
Données
En-tête IP IP IP Options IP
(IP)
SOUICC destination

__~mm-.-_---- Y-------
mmm_-------
Numéro de Numéro de Numéro Largeur de
Numéro de Données
port de d’accusé de la fenêtre O;r
port source séquence TCP
i destination réception TCP

Figure 6.5
Paquet TCP dans un paquet IP dans une trame Ethernet

6.4.3 Format du paquet UDP


Un paquet UDP est inclus dans le champ Données du paquet IP qui
lui-même est inclus dans le champ Données d’une trame Ethernet.
Le paquet UDP contient le numéro de port source, Ie numéro de port
de destination, la longueur du paquet UDP, la. somme de contrôle
ainsi que les données elle-mêmes.

109
INTERNET - TCP/IP SIMPLIFIÉ

Adresse
Préambule Données
Ethernet ' Ezt ;y$; CRC
Ethernet (Ethernet)
destination source

Adresse Adresse
Données
En-tête IP IP IP Options IP
source destination UP)

/-
\
Longueur du Données
CRC
paquet UDP WW

Figure 6.6
Paquet UDP dans un paquet IP dans une trame Ethernet

6.4.4 Services de base


Quelques services de base sont souvent inclus dans les logiciels
TCP/IP. Avec la commande telnet serveur #port, on peut vérifier si
une connexion sur ces services est offerte sur un serveur.
Le service Echo au port 7 fait l’écho des caractères envoyés. Si
l’expéditeur envoie un caractère, le destinataire lui renverra le même
caractère. Le service Discurd au port 9 reçoit les caractères et les
jette. Aucune information n’est renvoyée au client. Le service Duy-
time au port 13 retourne la date et l’heure du serveur. Enfin, le ser-
vice Chargen au port 19 génère une liste aléatoire de caractères à
l’écran. Par exemple, pour le service Duytime, l’ordinateur «clas-
sic.viagenie.qc.ca» renvoie la date et l’heure.
Unix% telnet classic.viagenie.qc.ca 13
Connected to classic.viagenie.qc.ca
Escape character is "'1'.
Sun Jul 16 21:55:19 1996
Connection closed by foreign host.

6.4.5 Taille maximale d’un segment (MSS)


On remarque dans la Figure 6.1 que la taille d’un segment est
indépendante de la taille du paquet IP et de la taille de la trame
Ethernet correspondante. De façon optimale, on utilise générale-
ment une taille de manière à ce qu’un segment s’insère complète-

110
TRANSPORT DES PAQUETS: TCP ET UDP

ment dans un paquet du médium physique avec les en-têtes de


TCP et IP.
La taille maximale d’un segment TCP est échangée par les deux
ordinateurs au début de leur connexion. Ce paramètre appelé MSS
(Maximum Segment Size) est optimal lorsqu’il est de 40 octets de
moins que la taille maximale des paquets, puisque l’en-tête IP est de
20 octets et l’en-tête TCP est aussi de 20 octets.

6.4.6 Taille de la mémoire tampon


Il est important qu’un ordinateur puisse gérer la mémoire vive dont
il a besoin pour recevoir les paquets IP. Si plusieurs connexions
simultanées sont actives et incluent la réception de gros fichiers, il
peut arriver que l’ordinateur manque de mémoire de travail et tombe
en panne. Pour éviter cette situation, les ordinateurs peuvent
s’échanger la taille maximale de leur mémoire tampon pour la
connexion en cours. Ainsi, si la mémoire est pleine, l’ordinateur
destinataire enverra une taille égale à zéro à l’ordinateur expéditeur
et celui-ci attendra un autre avis sur la taille plus grande que zéro
avant d’envoyer d’autres segments. On appelle fenêtre de travail
(window) cette mémoire tampon utilisée pour une connexion entre
deux ordinateurs. La valeur maximale généralement utilisée est de
4 096 octets.

6.4.7 Interface sockets (winsock)


Sur tous les environnements, le pilote de réseau inclut une interface
commune pour les logiciels utilisateurs tels que Netscape ou
Eudora. C’est une librairie de routines permettant d’accéder aux dif-
férents services par des ports (sockets). Sur Macintosh ou sur Unix,
ces interfaces sont comprises dans le système d’exploitation.
Les logiciels Windows pour TCP/IP et Internet utilisent un pilote
commun appelé Windows Sockets ou Winsock. Lorsqu’on installe un
pilote de réseau TCP/IP dans Windows, celui-ci installe le fichier
winsock.dZl. Ce fichier est la librairie de routines exécutables
TCP/IP et est spécifique au pilote de réseau que l’on utilise.

111
INTERNET - TCP/IP SIMPLIFIÉ

Figure 6.7
L’interface Winsock sur Windows

6.5 Configuration Windows


Le logiciel Chameleon ne permet pas de modifier les paramètres de
taille maximale des paquets, fenêtre de travail et taille maximale
d’un segment. Cependant, pour les utilisateurs du logiciel Trumpet,
nous dressons la liste des configurations suggérées, obtenues à par-
tir des commentaires de la section précédente.

Tableau 6.1
Table des paramètres MTU, MSS et WIN

Paramètre Description SLIP PPP


MTU Taille maximale d’un paquet IP 1006 1500
MSS Taille maximale d’un segment
(optimal si MSS=MTU-40)
- ..._~~~
RWIN Taille de la mémoire tampon

6.6 Configuration Macintosh


Dans ses panneaux de configuration, MacTCP ne permet pas la
modification des paramètres TCP.

6.7 Configuration Unix


Comme serveur, Unix utilise le logiciel Znetd qui démarre les diffé-
rents services selon la demande. Le fichier de configuration

112
TRANSPORT DES PAQUETS: TCP ET UDP

/etc/inetd.conf dresse la liste de chaque service offert avec les para-


mètres de démarrage. Lorsqu’un client TCP envoie une requête à un
serveur Unix, Znetd reçoit celle-ci, identifie le service demandé par
le numéro du port et le protocole de transport et démarre un proces-
sus serveur pour la connexion avec ce client. Certains services très
sollicités n’utilisent pas inetd, ils sont eux-mêmes des processus
permanents sur Unix, ce qui les rend plus effkaces pour répondre
aux requêtes. C’est le cas du serveur de courrier électronique Send-
mail.
Chaque ligne dans le fichier /etc/inetd.conf contient la descrip-
tion d’un service dont Unix est serveur. La syntaxe d’une ligne est:
nom-du-service type protocole options utilisateur endroit-du-ser-
veur arguments
où:
Tableau 6.2
Syntaxe du fichier inetd.conf

Élément Description Exemple pour


FTP
nom-du-service / Nom du service. Cette chaîne de 1 ftp
caractères est utilisée pour obtenir le
numéro du port par le fichier

La ligne complète du fichier inetd.conf décrivant un serveur Ftp


sur Unix sera:
ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd

113
INTERNET - TCP/IP SIMPLIFIE

6.8 Références
Voici la liste des documents RFC pertinents pour ce chapitre. Vous
pouvez les consulter à l’adresse http://ds.internic.net.

Tableau 6.3
RFC

RFC Titre l

%!!&y;;~~
Transmission Control Protocol
DEUXIÈME PARTIE

Les applications

Cette deuxième partie traite des protocoles des logiciels les


plus courants qui utilisent les protocoles de transport TCP ou
UDP. Les protocoles du Web, du courrier électronique, du ser-
vice des nouvelles et de Telnet sont abordés.
Chapitre 7

World Wide Web


Quand on se fait entendre, on parle
toujours bien.
Molière

L
e World Wide Web est l’application qui a généré beaucoup
d’intérêt auprès du grand public pour Internet. Ce chapitre
présente les différents éléments de cette technologie tels que
l’hypertexte, le langage HTML, les URL, les identifiant MIME, le
protocole HTTP et le langage Java. Une description détaillée de
l’interaction entre un client et un serveur Web complète le chapitre.

7.1 Hypertexte
Le World Wide Web (WWW ou Web ou W3) est une banque d’informa-
tions textuelles, imagées, sonores et vidéo basée sur un système de
nœuds et de liens qu’on nomme Hypertexte. Celui-ci présente la parti-
cularité de permettre de cliquer sur un élément d’un document pour se
rendre à un autre document. Le langage pour décrire les éléments
s’appelle HTML pour HyperText Murkup Languuge. Un utilisateur crée
un document en insérant les éléments du langage HTML à l’intérieur
de son texte pour qu’il devienne hypertexte. Il y a pour chaque élément
cliquable un lien vers un autre document. Par exemple, si on entoure le
mot maison par une référence au document dessin.html, l’écriture
HTMLressemblera à:<a href="dessin.html">maison</a>.
Sur le Web, l’autre document lié peut être autant sur le même
ordinateur que sur un autre ordinateur ailleurs sur Internet. La réfé-
rence précise donc le nom du document mais aussi le nom de l’ordi-
nateur qui le contient.

7.2 URL: Uniform Resource Locator


Une référence est appelée URL (Uniform Resource Locator). Par
exemple, le document «pierre.html» dans le répertoire «dot» sur le

117
INTERNET - TCP/IP SIMPLIFIÉ

serveur «www.viagenie.qc.ca» sera pointé par 1’URL: «http://www.


viagenie.qc.ca/doc/pierre.html». Une référence est composée des
éléments suivants.

Tableau 7.1
Description d’une URL
r
Ordre Description Exemple
1. Le protocole utilisé pour aller http
chercher le document sur le serveur
2. / Les caractères :// :Il
3. Le nom du serveur www.viagenie.qc.ca
4. Le numéro de port sur le serveur 230 (par défaut)
5. Le répertoire du document ldoc
6. Le nom du document pierre.html

Lorsque je demande à mon logiciel client Web la page correspon-


dant à I’URL «http://www.viagenie.qc.ca/doc/pierre.htmZ», le logi-
ciel établit une connexion avec le serveur «www.viagenie.qc.ca» et
demande le document «/doc/pierre.html» avec le protocole «http».
La syntaxe des URL permet une grande flexibilité. Une URL
pourrait pointer sur un serveur Web en utilisant le protocole HTTP
mais sur un numéro de port différent de 80 qui est le numéro de port
normalisé pour HTTP. Par exemple, le port 8000: http://www.viage-
nie.qc.ca:8000/doc/pierre.html.
Le protocole utilisé n’est pas nécessairement HTTP mais peut
être Ftp, Telnet, Gopher, Wais, etc. D’ailleurs, les clients Web tels
que Netscape Navigator, Microsoft Internet Explorer, Mosaic et les
autres contiennent tous des clients Ftp et Gopher intégrés.

7.3 Protocole HTTP


Lorsqu’un utilisateur demande un document (une page) à un serveur
Web à partir de son logiciel client Web, son ordinateur utilise le pro-
tocole HTTP (HyperText Transport Protocol) pour communiquer
avec le serveur Web et lui demander la page désirée.

118
WORLD WIDE wEt7

Par exemple, pour demander le document «http:l/www.viage-


nie.qc.ca/doc/pierre.html», le client Web va envoyer la requête
GET du protocole HTTP suivie du nom du document
(«/doc/pierre.html») suivie de la version du protocole HTTP (1 .O) au
serveur «www.viagenie.qc.ca». Celui-ci va renvoyer le document
avec son type, disant au client Web que c’est un document HTML.

1. GET /doc/pierre.html HTTP/1

+-TF-
/doc/pierre.html www.viagenie.qc.ca

Figure 7.1
Interaction simple entre un client et un serveur Web

Le protocole comporte quelques requêtes présentées dans le


tableau suivant.

Tableau 7.2
Protocole HTTP

Requête Description
GET /doc/pierre.html HTlW1.0 Demande au serveur le document
/doc/pierre.html avec le protocole

le document /doc/pierre.html avec le

POST kgi-binkraiteformulaire HTTP/1 .O Envoie le contenu du formulaire saisi


par l’utilisateur au serveur pour être
traité par le programme kgi-binkrai-
teformulaire

En réponse à une requête GET, le serveur retourne toujours un


en-tête donnant des informations générales, décrivant le document
retourné et le document lui-même.

119
INTERNET - TCP/IP SIMPLIFIÉ

Tableau 7.3
Exemple détaillé d’une requête GET du protocole HTTP

Description Client Serveur


Le client Web GET /doc/pierre.html HTTP/1 .O
fait un GET
pour recevoir
le document
Le serveur Web HTTP/1 .O 200 Document
renvoie follows
l’information MIME-Version: 1 .O
générale Server: CERNI3.0
Date: Tuesday, 26-Sep-95
02:00:36 GMT
Content-Type: textlhtml
Content-Length: 22
Last-Moditïed: Tuesday,
26-Sep-95 01:22:04 GMT
et le document <html>
HTML <hl>Titre de la pagedhl>
correspondant <p> Cette page contient de
l’information pertinente

Le champ Content-‘Qpe dans le Tableau 7.3 permet au client


Web d’identifier quel type de document le serveur envoie pour être
en mesure de le présenter à l’écran correctement. La syntaxe de ce
champ est celle définie dans le protocole MIME aussi utilisé pour le
courrier électronique (voir chapitre 8).
Le champ Content-Length indique la taille du document qui
sera envoyé à la suite de l’en-tête.

7.4 Langage HTML


Le langage HTML sert aux concepteurs de document (ou page)
Web. Il est basé sur un langage de structure de document appelé
SGML (Standard Generalized Markup Lmguage) qui définit les
étiquettes qui entourent des mots. Ces étiquettes, entourées par les
caractères c et >, donnent une propriété à ces mots. HTML utilise la
même syntaxe, car il est une forme réduite de SGML. En HTML,

120
WORLD WIDE WEB

par exemple, &Cette maisondi> décrit que les mots «cette mai-
son» seront en italique, car l’étiquette i signifie italique. La fin d’une
propriété est toujours indiquée par un / suivi de l’étiquette.

7.5 Les types MIME et les logiciels complémentaires


Un serveur Web renvoie au client Web le document que celui-ci a
demandé. Lors de la conversation HTTP, le serveur indique au client
le type du document dans la ligne Content-Type avec la définition
MIME du document. Un client Web peut, non seulement recevoir
des pages HTML, du texte ordinaire, des images GIF ou JPEG, mais
aussi n’importe quel type de documents. Dans ce cas, pour per-
mettre de visualiser le document correctement, une table de corres-
pondance entre le type d’un document et un logiciel permettant de
le visualiser est définie dans le logiciel client Web. Elle peut être
augmentée en personnalisant le logiciel. Ainsi, lorsque celui-ci
reçoit un document d’un serveur, il consulte la table pour trouver
quel logiciel sera démarré pour visualiser ce document. Dans le cas
des types HTML, des images GIF ou JPEG, aucun logiciel supplé-
mentaire n’est nécessaire et ils sont affichés directement. Pour un
type vidéo par exemple, le logiciel client Web démarrera le logiciel
de visualisation de vidéo pour afficher ce type de document. Ce
logiciel est donc complémentaire au client Web.
La compagnie Netscape a introduit une nouvelle façon d’interagir
avec ces logiciels complémentaires. Netscape Navigator permet
d’inclure de nouveaux logiciels prévus précisément pour cette fonc-
tion, à l’intérieur même de la page, rendant l’interaction plus
directe. Ces logiciels spéciaux sont appelés plug-in.

7.6 Exemple d’interaction entre le client Web et le


serveur Web
Voyons maintenant par un exemple comment ces différents élé-
ments interagissent. Dans mon logiciel client Web, je demande
I’URL suivante: http://www.viugenie.qc.ca/doc/pierre.html.
1. Le logiciel client Web extrait le nom du serveur: www.viage-
nie.qc.ca (http://www.viagenie.qc.ca/doc/pierre.html).
2. Il demande au serveur DNS l’adresse IP de ce serveur.

121
h’TERNET - TCP/IP SIMPLIFIÉ

3. Avec celle-ci comme adresse IP de destination, il utilise le pro-


tocole HTTP (http:~www.viagenie.qc.ca/doc/pierre.htmZ) pour faire
une connexion au port 80 de ce serveur, puisqu’un port différent n’a
pas été précisé dans 1’URL.
4. Il envoie la requête GET pour demander le document
/doc/pierre.html. (http://www.viagenie.qc.ca/doc/pierre.html).

/doc/pierre.html

Figure 7.2
Requête GET du protocole HTTP
5. Le serveur renvoie le document HTML.
6. Le client Web interprète le code HTML dans le document pour
le présenter à l’écran.
7. Il trouve dans la page une étiquette <IMG SRC=
“http://www.abc.ca/imuges/image.gif”>. Cette étiquette indique
qu’il doit aller chercher l’image selon 1’URL indiquée et la placer
dans la page présentée à l’écran.
8. Il doit extraire le nom du serveur de 1’URL (www.abc.ca),
demander au serveur DNS l’adresse IP de ce serveur, faire une
connexion http au serveur www.abc.ca et demander le document
/images/image.gif avec la requête GET. Notons que l’image ne
réside pas sur le même serveur que le document initial.

Figure 7.3
Requête GET d’une image GIF

122
WORLD WIDE WEB

9. Le serveur www.abc.ca renvoie le document image.gif.


10. Ensuite, il présente l’image à l’intérieur de la page.

Figure 7.4
Présentation du document dans la page Web

11. L’utilisateur consulte la page et clique sur le mot «discours»


indiquant une bande sonore à écouter.
12. Dans le document HTML, le mot cliquable était indiqué par
<a href=“/doc/message.au”>discoursda>. Le client Web doit donc
faire une connexion HTTP sur le même serveur que la page origi-
nale (www.viagenie.qc.ca) et demander le document /doc/mes-
sage.au avec la requête GET.
13. Le serveur lui renvoie le document en lui mentionnant que
c’est un document de type au&/basic.

Figure 7.5
Requête d’un document audio et démarrage du logiciel complémentaire
14. Le client Web démarre le logiciel complémentaire permettant
d’écouter cette bande sonore.

123
INTERNET - TCP/IP SIMPLIFIÉ

7.7 Mémoire tampon


Les différents logiciels clients Web ont tous une mémoire tampon
sur disque. Ils l’utilisent pour conserver les plus récents documents
déjà visualisés. Si l’utilisateur redemande le même document, le
logiciel client ira le chercher dans sa mémoire tampon sur le disque
et l’affichera à l’utilisateur, évitant ainsi une nouvelle connexion
réseau vers le serveur Web.

7.8 Les formulaires et l’interface CG1


Lorsqu’un document Web contient un formulaire avec des champs à
remplir, un bouton placé généralement au bas du formulaire permet
de soumettre ce formulaire pour traitement. Dans le formulaire écrit
en HTML, l’énoncé <FORM> indique, sous forme d’une URL, le
programme qui traitera le formulaire. Ce programme peut être écrit
dans n’importe quel langage informatique comme C, C++ ou perl.
P a r e x e m p l e , s i l ’ é n o n c é e s t : <FORM A C T I O N =
“http://www.a.com/cgi-bin/traiteformulaire”>, les données du for-
mulaire, rempli par l’utilisateur, seront envoyées avec l’énoncé
POST au programme «traiteformulaire» dans le répertoire «/cgi-
bin» du serveur «www.a.com».
Aux débuts du Web, il existait plusieurs versions différentes des
serveurs Web, dont celle du CERN (Conseil Européen pour la
Recherche Nucléaire) et celle de NCSA (National Centerfor Super-
computing Applications) qui avaient défini de façon différente
l’interface entre le serveur et le programme qui gère les formulaires.
Les concepteurs des deux groupes ont ensuite normalisé l’interface
sous une forme commune appelée CG1 (Common Guteway Znter-
face).
L’interface CG1 est simplement une définition de la façon dont le
programme de traitement du formulaire reçoit les données remplies
par l’utilisateur dans le formulaire.
L’exemple suivant illustre le traitement d’un formulaire entre le
client et le serveur.
1. Le client Web demande 1’URL http-//www.viugenie.qc.ca/for-
mulaire.html.

124
WORD WIDE WEB

Figure 7.6
Requête pour un formulaire HTML
2. Le serveur renvoie le document HTML contenant un formu-
laire. Dans le formulaire HTML est inscrit le programme de traite-
ment avec son URL: <FORM ACTION=“ht@://www.vkgenie.
qc.ca/cgi-bin/traiteformulaire”>.
3. L’usager remplit les cases du formulaire.
4. En cliquant sur le bouton Submit, le client Web envoie les
données inscrites dans les cases du formulaire au programme trai-
teformulaire du répertoire /cg&bin du serveur «www.viage-
nie.qc.ca», avec l’énoncé POST. Notons que le serveur qui reçoit la
requête POST peut ne pas être le même que celui qui possède le for-
mulaire. Dans ce cas, 1’URL dans le champ Action de l’étiquette
Form pointerait vers un autre serveur.

Figure 7.7
Traitement d’un formulaire HTML avec un programme CG1

5. Le serveur Web transmet par l’interface CG1 les données


reçues au programme traiteformulaire.
6. Le programme traiteformulaire traite le formulaire et renvoie
une réponse à l’utilisateur sous forme de document HTML par
l’intermédiaire du serveur Web vers le client Web.

125
INTERNET - TCP/IP SIMPLIFIE‘

7.9 Java
Java est un langage de programmation orientée-objet très semblable
à C++. Il a été inventé par une équipe de la compagnie Sun Micro-
systems. Un programme écrit en Java est compilé et déposé sur un
site Web. La référence à ce programme compilé est insérée dans la
page Web avec l’étiquette HTML <APPLET>. Ainsi, lorsqu’un uti-
lisateur demande la page HTML, son logiciel client Web reçoit le
programme Java dans une autre connexion, de la même manière
qu’une image GIF ou JPEG. Ensuite, ce programme Java est exé-
cuté sur l’ordinateur client à l’intérieur même du logiciel client Web.
Lorsqu’un développeur écrit un programme Java, comme
TicTacToe, il passe par les étapes suivantes.
1. Il écrit le code source dans un fichier (TicTacToe.java).
2. Il peut utiliser des librairies de routines, appelées classes
(java.awt.*).
3. II soumet ensuite le fichier source au compilateur (‘javac).

Développeur Java
Code Java
1.
import java.awt.*;

for (int i = 0 : i < 9 ; i++) (


int mw = moves[i];
if (((white & (1 << mw)) == 0)) (
int pw = white I (1 mw);

TicTacTceclass exemple 1 .html

Figure 7.8
Développement d’un logiciel Java

126
WORL.D WIDE WEB

4. Le compilateur génère un code binaire (TicTacToe.class)


appelé APPLET.
5. Le développeur écrit ensuite une page HTML (exemple 1 .html)
avec une référence cAPPLET code=“TicTacToe.class”>.
6. Le code binaire appelé APPLET et la page HTML sont dépo-
sés sur un serveur Web.
Lorsqu’un internaute demande une page HTML (hQwkvw. via-
genie.qc.ca/exemplel.html) contenant un programme Java,
1. Le client Web reçoit la page, interprète le langage HTML dans
celle-ci et découvre une référence à un APPLET Java.
2. Le client Web démarre une connexion vers le serveur pointé
par I’URL dans l’étiquette APPLET et demande le programme Java
TicTacToe.class.
3. Le serveur renvoie le programme Java (TicTacToe.class).
4. Lorsque reçu, le programme Java est exécuté par l’interpréteur
du code binaire Java inclus dans le logiciel client Web.

7.10 Javascript
Juvuscrz’pt est une version restreinte du langage Java, proposée par
la compagnie Netscape. À la différence de Java, le code source
JavaScript n’est pas compilé préalablement, mais plutôt inclus direc-
tement dans la page Web à l’intérieur de l’étiquette <SCRIPT>. Ainsi,
lorsqu’un utilisateur demande la page HTML contenant un pro-
gramme Juvuscript, le code Javascript étant déjà dans la page HTML,
il est directement interprété et exécuté par le logiciel client Web.

7.11 Le transport chiffré des communications Web:


avec HTTPS
Entre un client et un serveur Web, les données sont envoyées sans
aucun encodage particulier. Ainsi, une personne ayant accès à un
analyseur de paquets de réseau qui serait branché quelque part entre
le client et le serveur Web, pourrait voir le contenu de la conversa-
tion entre les deux. Ce problème est le même pour Telnet, Ftp et
l’ensemble des protocoles TCP/IP.
Ainsi, lorsque vous faites des achats sur Internet en remplissant
un formulaire de commande sur une page Web et que vous insérez

127
INTERNET - TCPLP SIMPLIFIÉ
-

votre numéro de carte de crédit, cette information sera transmise


sans aucun chiffrement.
La compagnie Netscape a mis au point un protocole appelé SSL
(Secure S&et kzyer) pour chiffrer le contenu des paquets entre le
client et le serveur. Bien que le premier but fût pour le Web, le pro-
tocole est générique et peut être utilisé pour d’autres services
comme Telnet.
La version SSL du protocole HTTP utilise le port 443 au lieu du
port 80. Dans une URL, le protocole de transport est noté https
comme https:/www.a.com au lieu de http:L/www.a.com.
Lorsqu’on accède à une page chiffrée avec le protocole SSL, le
client Web indique par une clef bleue ou un cadenas fermé que la
communication est chiffrée.

7.12 Gopher
Gopher est un protocole permettant de transmettre des documents et
de présenter l’information de façon hiérarchique. Il a été développé
par des gens de l’université du Minnesota avant que le Web ne soit
utilisé. N’exploitant pas d’interface graphique ni d’hypertexte,
Gopher est en train de disparaître. Les clients Web contiennent tous
un client gopher intégré. Ainsi, lorsqu’une URL est de la forme:
gopher://serv.a.com, le client Web fera une connexion avec le proto-
cole Gopher au port 70 du serveur serv.a.com. Le client Web présen-
tera l’information de type Gopher dans une page Web. Gopher
utilise le port 70.

7.13 Configuration Windows, Macintosh et Unix


Nous allons expliquer la configuration de Netscape, quasi identique
peu importe l’environnement.
On peut contrôler la taille de la mémoire tampon (cache size) sur
le disque qui conserve les documents les plus récents. Cette
mémoire est située dans un répertoire confïgurable. On peut aussi
contrôler la fréquence de la vérification du document par rapport à
la version qui existe dans la mémoire tampon, avec l’option Check
Documents.

128
WORLLI WIDE WEB

Cache and Network

,.... Cache.._..._......_........................................................................................................................ .<....,................


[ Cache Directory : Einstein:Dossier Système:Préférences :Netsoape f :Cache f (Brorsc...] 1

Cache Sire : 1 M SM available Clrar Disk Cache Nov I


$
Cl
1 Cheok Documents’ 0 Every Time @ Once Per Session 0 Never
i ........................................................... ...... ..... ........................................ i
i....Nctrork .._..._.........._.............................. .._................................................................................ .._.......................................... 1

i Connections: 0
4 (Maximum number of simultaneous network connections)

j Buffer Size. 12 Kilobytes


. ....... .. ,.. ... .. .. ........................................................................... i

Figure 7.9
Configuration de la mémoire tampon de Netscape

Le panneau de configuration Helper Applications permet


d’ajouter ou de modifier le traitement d’un type MIME. Par exem-
ple, le panneau suivant montre que le logiciel Microsoft Excel sera
lancé lorsqu’un document reçu d’un serveur aura le type MIME
textkab-separated-values. On peut ajouter d’autres types MIME
avec le bouton New. Par exemple, si je désire ajouter le démarrage
automatique d’Adobe Acrobat lors de la réception de fichiers PDF
(Portable Document Format), il s’agit d’indiquer le Mime type:
application, le subtype: pdf et l’extension pdf. Ensuite, on choisit le
logiciel Adobe Acrobat et indique l’action Launch Application.

129
INTERNET - TCPHP SIMPLIFIÉ

Helper Rpplications

Mime type: -1 Subtype : m

Extensions : 1

Application: WordPerfect Envoy [T]


71 File type:

Action: 0 Save
@ Launch Application
0 ~ce Netscape as Viewr
Q Unknown: Prompt User

Figure 7.10
Configuration des éléments MIME dans Netscape

7.14 Liste des services


Voici la liste des services pertinents pour ce chapitre.

Tableau 7.4
Services

Gopher / gopher 70 tcp


HTTPS / WWW avec SSL 443 tcp

7.15 Références
Voici la liste des documents RFC pertinents pour ce chapitre. Vous
pouvez les consulter à l’adresse http://ds.internic.net.

130
WORLD WIDE WEB

Tableau 7.5
RFC
RFC Titre
1866 Hypertext Markup Language - 2.0

Le langage SGML est défini par la norme ISO 8879 décrit à


l’adresse suivante: http://www.iso.ch/cate/dl6387.html.
Chapitre 8
Courrier électronique
avec SMTP, POP et MIME
Si tu ne sais pas quoi dire, essaie
donc la vérité.
Marie Rue1

L
e courrier électronique sur TCP/IP et sur Internet utilise le
protocole SMTP (Simple Mail Transfer Protocol). Cepen-
dant, TCP/IP peut transporter d’autres protocoles de courrier
électronique tels que X.400 de la norme OSI.
SMTP utilise le port 25 en mode TCP. Comme son nom l’indi-
que, c’est un protocole simple qui permet de transférer un message
d’un ordinateur à un autre en précisant au moins deux éléments dans
l’en-tête du message: l’adresse de l’expéditeur et l’adresse du desti-
nataire.
Une adresse de courrier électronique est formée de trois parties:
le nom de l’utilisateur, le caractère @ et le nom du domaine. Les
caractères valides sont les minuscules, les majuscules, les chiffres,
le soulignement (-), le point (.). Les majuscules et les minuscules
sont considérées identiques. Il n’est pas possible d’utiliser les carac-
tères accentués dans une adresse. Le point (.) dans la partie droite de
l’adresse découpe les domaines en sous-domaines, alors que dans la
partie gauche, il n’a aucune signification particulière. Une pratique
courante utilise la forme Prenom.Nom dans la partie gauche
comme un synonyme pour l’adresse: c’est-à-dire que l’utilisateur a
deux adresses de courrier: son code d’utilisateur généralement de
huit caractères ou moins et son nom au complet Prenom.Nom.
Lorsqu’une personne envoie un message à son destinataire, les
deux serveurs de courrier se transfèrent le message selon le proto-
cole SMTP sous forme d’une conversation.

133
INTERNET - TCP/IP SIMPLIFIÉ

8.1 Exemple de conversation entre un client et un serveur


SMTP
Marc.Blanchet@viugenie.qc.ca envoie, à partir de mon ordinateur
identifié jupiter.viagenie.qc.ca, un message à Lucie.Therrien@
geZ.ulavaZ.ca. L’ordinateur serveur qui s’occupe du courrier de
gel.uluval.ca est mars.gel.uluval.ca.
La conversation SMTP entre les deux ordinateurs est décrite dans
le tableau suivant. La première colonne décrit chaque action, la
deuxième montre ce que l’ordinateur expéditeur envoie à l’autre, et
la troisième ce que l’ordinateur destinataire envoie au premier. Les
codes SMTP sont en caractères gras. Les codes de retour du serveur,
sous forme de nombres (220,250,354,221), permettent au client de
valider si la conversation est correcte.
La séquence correspond à:
l le début de l’échange (étapes 2-4)
* l’échange des adresses de courrier (étapes 5-8)
l l’échange du message (étapes 9-12)
l la fin de l’échange (étapes 13-14)

Tableau 8.1
Séquence de transfert de courrier SMTP
Xquence Client SMTP: Serveur SMTP:
ordinateur expéditeur ordinateur destinataire
(jupiter.viagenie.qc.ca) (mars.gel.ulaval.ca)

fait une connexion


TCP au port 25 de
mars.gel.ulaval.ca

134
COURRIER ÉLECTRONIQUE AVEC SMTP, POP ET MIME

5. jupiter donne MAIL From:


1 ‘expéditeur <Marc.Blanchet@viagenie.qc.ca>
du message
6. mars accepte 250 <Marc.Blanchet
l’expéditeur @viagenie.qc.ca>.
du message Sender ok
7. jupiter donne RCPT TO:
le destinataire <Lucie.Therrien@gel.ulaval.ca>
du message
8. mars a vérifié 250
et accepte <Lucie.Therrien
le destinataire @gel.ulaval.ca>.
du message Recipient ok
9. jupiter va envoyer DATA
le message

14. mars accepte de 221 mars.gel.ulaval.ca


terminer la connexion closing connection

Tous les en-têtes propres à un message tels que le sujet (ligne


Subject) sont envoyés à l’intérieur du message. Si le message est
envoyé à plusieurs destinataires sur le même serveur, il y aura répé-
tition des étapes 7 et 8 autant de fois qu’il y a de destinataires.

8.2 Post Office Protocol (POP)


Le protocole POP (Post O#ke Protocol) permet d’aller chercher
notre courrier personnel sur le serveur responsable de le recevoir. Le
logiciel de courrier sur notre micro-ordinateur personnel envoie une

135
INTERNET - TCPLP SIMPLIFIL?

requête demandant l’ensemble des messages en attente pour nous et


le serveur POP renvoie ces messages. Ce protocole est nécessaire
car un micro-ordinateur personnel est généralement fermé durant les
périodes d’inutilisation.
11 existe deux versions du protocole POP: pop2 utilisant le port
109 et pop3, la plus répandue, utilisant le port 110.

Micro-ordinateur Micro-ordinateur

Figure 8.1
Interaction entre un client et un serveur SMTP et POP

Le tableau suivant détaille la conversation entre un client POP


(io) et un serveur POP Cjupiter). Deux messages attendaient sur le
serveur pour l’utilisateur marc.

Tableau 8.2
Conversation POP
Zquence / Client POP (io) / Serveur POP (iupiter)
1. io.viagenie.qc.ca
fait une connexion
TCP au port II0 de
jupiterzviagenie.qc.ca
2. jupiter répond à la
demande de

l’utilisateur qui désire


recevoir son courrier
4. jupiter confirme que +OK Password required
l’utilisateur existe et for blanchet
qu’il nécessite un mot ,
L de passe

136
COURRIER ÉLECTRONIQUE AVEC SMT~ POP ET MIME

i 5. io envoie
le mot de passe PASS motdepasse
-
t 6. jupiter vérijîe le mot +OK marc has 2 message(s
de passe et confirme (1 237 octets)
qu’il est correct
7. io demande combien
de messages STAT
8. jupiter indique +OK 2 1237
qu ‘il y a 2 messages
et qu’ils occupent
au total 1 237 octets
9. io demande la liste

10. jupiter identiJie +OK 2 messages


le message I qui (1 237 octets)
comporte 621 octets / 1621
2 616

_-~.
12. jupiter renvoie
le contenu du

Date: Sun, 16 Jul 1995


du message)
Marc.Blanchet@viagenie.

L3. après avoir reçu DELE 1


le message, io
demande d’effacer
celui-ci de jupiter
4. jupiter efface
le message et
le conjkme
5. io demande de RETR 2
recevoir le message 2 I

137
I 4

INTERNET - TCP/IP SIMPLIFIÉ


~--

16. jupiter retourne le +OK 616 octets


contenu du message 2 Retum-Path:
(y compris les <Lucie.Therrien@gel.
en-têtes de message) ulaval.ca>
‘Date: Sun, 16 Jul 1995
20:13:12 -0500
TO :
Marc.Blanchet@viagenie.
qc.ca
Ceci est un
autre message..

17. après avoir reçu DELE 2 /


le message, io
demande d’effacer
celui-ci de jupiter
18. jupiter efface I +OK Message 2 has been
le message et le 1 deleted
conjrme
19. les messages ayant QUIT l
tous éré reçus, io
demande la fin
de la session
20. jupiler conjïrme 1+OK Pop server at jupiter
la fin de la session 1 signing off

Le client POP peut être configuré pour interroger à intervalles


réguliers le serveur POP pour transférer les nouveaux messages.

8.2.1 Version chiffrée de POP avec la commande APUP


Avec la commande PASS de POP, le mot de passe est envoyé direc-
tement sans aucun encodage ou chiffrement. Ainsi, un ordinateur
situé entre le client et le serveur POP, et configuré avec un logiciel
d’analyse de paquets, pourrait voir le mot de passe. En remplaçant
les commandes USER et PASS par des versions utilisant le chiffre-
ment, la commande APOP règle ce problème.
Lors du message de départ, le serveur envoie une chaîne de carac-
tères aléatoires différente chaque fois. Le logiciel client jumelle
celle-ci avec le mot de passe, chiffre le tout avec l’algorithme MD5

138
COURRIER ÉLECTRONIQUE AVEC SMTe POP ET MIME

(Message Digest)’ et l’envoie au serveur. De cette façon, le mot de


passe envoyé est chiffré.

Tableau 8.3
Conversation APOP
Séquence Client APOP (io) Serveur APOP (Jupiter)
1. io.viagenie.qc.ca fait
une connexion TCP
au port 110 de
jupiteKviagenie.qc.ca
-!-
2. jupiter répond à la +OK UCB Pop server
demande de connexion (version 1.83 lbeta) at jupilter
de io starting
4896.697170952@jupite r>
--&-
3. io envoie l’identijkation t APOP blanchet
de l’utilisateur et ’ c4c9334bac560ecc979e5800 :zyxw
l’encodage du mot de lb3e22fb
passe avec la chaîne de I
caractères envoyée par

4. Lxz?~:éi
jupiter vérifiela ligne
l’utilisateur et son mot ’
de passe et con$irme
s’ils sont corrects

8.2.2 Changement de mots de passe avec POPPASSWD


Lorsqu’un serveur Unix est un serveur SMTP et POP, les utilisateurs
peuvent lire leur courrier à partir de leur micro-ordinateur, sans
jamais avoir besoin de faire une session Telnet avec le serveur Unix,
évitant ainsi les commandes plus complexes d’Unix. Cependant, il
est utile et nécessaire pour l’utilisateur de changer son mot de passe
régulièrement, car dans la majorité des cas, l’utilisateur a effective-
ment un compte sur le serveur Unix. POP n’a pas prévu de méca-
nisme de ce genre.

---
1. MD5 est un algorithme de chiffrement créé par Ronald Rivest du MIT.

139
INTERNET -TCP/IP SIMPLIFIÉ

Poppasswd est un protocole très simple permettant de changer


son mot de passe sur le serveur Unix. La plupart des logiciels de
courrier électronique sur micro-ordinateurs supportent Poppasswd.
Il s’agit d’installer le serveur Poppasswdd sur Unix.

8.3 En-tête d’un message


Le début d’un message de courrier électronique comporte un certain
nombre de lignes informatives. Le RFC 822 identifie la signification
et la syntaxe des lignes d’en-têtes des messages de courrier électro-
nique. Une ligne nulle sépare ces lignes d’en-tête du message lui-
même.
Chaque serveur entre l’expéditeur et le destinataire traitera le
message et le signera en ajoutant une ligne Received from/by dans
l’en-tête du message.

Tableau 8.4
Description des en-têtes de courrier

Ligne Exemple Sinnification


E
From: adresse From: Adresse de l’expéditeur
Marc.Blanchet@viagenie.
,qc.ca
TO: adresse /TO: Adresse du destinataire

Adresse d’un destinataire


en copie conforme
Adresse d’un destinataire en
copie conforme de façon
invisible pour les autres
destinataires (TO: et Cc:)
Subject: texte Subject: reunion demain Sujet du message
Date: date-heure Date: Sat, 9 Dec 1995 t La date du système au
08:51:16 -0500 moment de l’envoi du
message
Return-path: Return-path: L’adresse de retour de
adresse-retour Marc.Blanchet@viagenie. l’expéditeur
qc.ca

140
COURRIER ÉLECTRONIQUE AVEC SMTR POP ET MIME

Received: Received: from Signature d’un serveur de


from serveur- jupiter.viagenie.qc.ca courrier. II mentionne avoir
précédent by by mars.gel.ulaval.ca reçulemessageduserveur
serveur-suivant id AA065411; précédent a telle date-heure
id numéro- Sat, 9 Dec 1995 0 avec le numéro séquentiel
séquentiel; 8:51:16 -0500
date-heure
Message-Id: Message-Id: Identificateur unique du
<identificateur ~9605171318.AA13043 courrier assigné par le
unique> @mars.gel.ulaval.ca> serveur de courrier
Reply-TO: Adresse utilisée si
adresse l’expéditeur désire rbpondre
Resent-From: Champs rkpétés lorsqu’une
adresse réexpédition du courrier
Resent-TO: est envoyée
adresse
Resent-Cc:
adresse
Resent-Bec:
adresse
Resent-Reply-To:j
adresse
Resent-date:

K-motclef: texte
ligne d’en-tête non dtfinie
dans le protocole mais
utlhsée par certains logiciels
1 ‘.
de courrier
Y-Mailer: texte X-Mailer: Windows Description du logiciel
Eudora Light de courrier de l’expéditeur
L Version 1.5.2

La ligne Return-path: contient généralement la même adresse


que la ligne From:. Dans certains cas comme les réseaux non direc-
tement branchés sur Internet tels que Uucp2, la ligne Return-path
F Uucp: Unix-to-Unix-Copy: logiciel de transfert de courrier et de fichiers entre
ordinateurs inclus dans Unix permettant une communication discontinue (par exem-
ple toutes les nuits). UUCP a servi de fondation pour le systkme des nouvelles.

141
INTERNET - TCPLP SIMPLIFIÉ

indiquera le chemin des serveurs de courrier pour acheminer une


réponse à l’expéditeur.
Plusieurs lignes telles que Reply-To et les Resent- sont utilisées
avec les listes de courrier. Une liste de courrier comprenant plu-
sieurs abonnés a sa propre adresse de courrier. Lorsqu’un utilisateur
envoie un message à la liste, le message reçu par les abonnés aura
comme ligne From: l’adresse de l’expéditeur, mais aura comme
ligne Reply-To: l’adresse de la liste. De cette façon, les abonnés qui
répondront au message enverront leur message à la liste, car la ligne
Reply-To: a préséance sur la ligne From: lorsqu’un utilisateur
envoie une réponse.

8.4 Caractères internationaux, éléments multimédias et


documents attachés avec MIME
Le protocole SMTP ne supporte que les caractères à sept bits du
code ASCII. Tous les autres éléments que l’on peut retrouver dans
le courrier électronique tels que les caractères des différents alpha-
bets internationaux, les éléments multimédias (image, son, vidéo) et
les documents attachés, ne sont pas supportés par SMTP
MIME (Multipurpose Internet Mail Extensions) est un protocole
encodant ces nouveaux éléments à l’intérieur d’un message ordi-
naire SMTP et en ajoutant certaines lignes d’en-tête. MIME définit
aussi un séparateur dans le message permettant de distinguer chaque
élément du message comme le texte, une image, un fichier attaché
dans le même message.
Les lignes suivantes ont été ajoutées dans l’en-tête pour le proto-
cole MIME.

Tableau 8.5
Description des en-têtes MIME

~~

: 1 Nombre d’octets du message

142
COURRIER ÉLECTRONIQUE AVEC SMTe POP ET MIME

Content-Transfer- Content-Transfer- Encodageutilisé:7ou 8bits


Encoding: type Encoding: 7bit /
Mime-Version: 1.0 Version du protocole MIME
IMime-Version:zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
version /

La ligne Content-Qpe définit le type de contenu du message.


Chaque type de contenu a été répertorié et normalisé de manière à
assurer une interopérabilité entre les logiciels de courrier.

8.5 Notions avancées


8.51 Diagnostic
Certains énoncés dans le protocole SMTP sont utiles pour vérifier
les adresses de courrier électronique. Il suffit de se connecter en Tel-
net au port 25 sur le serveur de courrier responsable des adresses
que l’on désire vérifier. Ensuite, on utilise les énoncés VRFY ou
EXPN.
L’énoncé VRFY permet de vérifier la validité d’une adresse de
courrier. L’énoncé EXPN permet de connaître les adresses des uti-
lisateurs appartenant à une liste. Le Tableau 8.6 démontre l’usage de
ces deux énoncés SMTP.

Tableau 8.6
Séquence VRFY-EXPN de SMTP
Séquence 1 Client SMTP / Serveur SMTP
Le client SMTP demande la vérification VRFY blanchet
de l’adresse blanchet
Le serveur confirme que l’adresse est 250 Marc Blanchet
valide j <blanchet>
Le client SMTP demande la vérification ’ VRFY usager1
1 de l’adresse usager1 I
Le serveur confirme que l’adresse / ’ 550 usageri..
n’est pas valide I User unknown /
Le client SMTP demande la vérification EXPN to us l
de l’adresse d’une liste nommée tous l I
Le serveur affiche les trois utilisateurs 2.50 <blanchet>
membres de cette liste 250 <lucie>
250 <pierre@abc.ca

143
INTERNET - TCPLP SIMPLIFIÉ

Pour des raisons de confidentialité et de sécurité, certains ser-


veurs de courrier refusent ces énoncés.

8.52 Interaction avec le service DNS


On utilise un nom de domaine pour le courrier électronique de
manière à ne pas identifier le serveur de courrier électronique dans
l’adresse de courrier. Ainsi, utiZisateur@viagenie.qc.ca est une
adresse de la compagnie Viagénie peu importe le serveur de cour-
rier. Cette possibilité est offerte en conjonction avec le serveur de
noms (DNS).
Pour définir un domaine de courrier électronique, la ligne MX
(Mail eXchanger) est utilisée dans le fichier de configuration du
domaine sur le serveur DNS primaire. Par exemple, dans le fichier
de configuration du domaine viagenie.qc.ca sur le serveur primaire
de noms, la ligne
viagenie.qc.ca. in mx 10 serveurl.viagenie.qc.ca.

identifie que serveur1 .viagenie.qc.ca est le serveur de courrier pour


le domaine viagenie.qc.ca. Ainsi, lorsqu’un expéditeur enverra du
courrier à utiZisateur@viagenie.qc.ca, le serveur de courrier de
l’expéditeur interrogera le DNS et celui-ci renverra l’adresse du ser-
veur de courrier du domaine viagenie.qc.ca. Ensuite, le serveur de
courrier de l’expéditeur transmettra par SMTP le message au ser-
veur de courrier serveurl.viagenie.qc.ca.
Pour assurer une redondance des serveurs de courrier, on peut
ajouter d’autres serveurs de courrier pour le même domaine, avec un
ordre de préférence: plus le chiffre est petit, plus la préférence est
grande. Les lignes suivantes précisent que serveur1 est responsable
du courrier pour le domaine viagenie.qc.ca et que serveur2 prendra
la relève si serveur1 n’est pas disponible.
viagenie.qc.ca. in mx 10 serveurl.viagenie.qc.ca.
viagenie.qc.ca. in mx 20 serveur2.viagenie.qc.ca.

8.5.3 Vérification d’une adresse de courrier électronique


Pour vérifier une adresse de courrier électronique, il faut donc inter-
roger le DNS pour connaître le serveur de courrier responsable du

144
COURRIER ~ECTRONIQ~JE AVEC SMT~ POP ET MIME

domaine. Ensuite, on se connecte sur le port SMTP de ce serveur


pour utiliser la commande VFWY.
Voici la procédure en détail:
1. Trouver le serveur de courrier pour le domaine en interrogeant
le DNS. Sur Unix:
nslookup
> set type=mx
> domaine
serveur.domaine
> ^D
2. Se connecter directement sur le port SMTP (25) du serveur de
courrier
telnet serveur.domaine 25
vrfy utilisateur
quit

8.5.4 Adressage avec relais


À l’époque où plusieurs réseaux différents tels que Bitnet, Csnet,
Cdnnet, Uucp et Internet étaient connectés entre eux par des passe-
relles de courrier, les utilisateurs devaient souvent préciser dans
l’adresse de courrier l’ordinateur qui jouait le rôle de passerelle. Si
je voulais envoyer un message à bZanchet@ZavaZvml.bitnet en pas-
sant par la passerelle vm.comell.edu, alors je formais l’adresse de la
manière suivante: blunchet%Zavalvml.bitnet@vm.corneZl.edu:
c’est-à-dire que je désigne l’adresse de la passerelle après le @, et
je positionne l’adresse de mon correspondant en avant du @ en rem-
plaçant dans son adresse le @ par un %. Mon serveur de courrier,
voyant cette adresse, l’envoie à vm.comell.edu. Celui-ci enlève sa
partie (@vm.cornell.edu) et transforme l’autre partie en remplacant
le % par un @ pour ensuite envoyer le message.
Cette particularité peut être exploitée par les gestionnaires de
réseaux pour la vérification de serveurs de courrier. Si je pense
qu’un serveur (par exemple classic.viagenie.qc.ca) que je ne con-
trôle pas est fautif dans son traitement, j’envoie un message à
quelqu’un (joeG3a.b.c) ou à moi-même en ajoutant l’adresse de
courrier de ce serveur: joe%a.b.c@classic.viagenie.qc.ca.

145
INTERNET - TCP/IP SIMPLIFIÉ

8.5.5 Protocole ESMTP


Pour permettre certaines options supplémentaires jugées importan-
tes, le protocole SMTP a subi une révision appelée ESMTP (Exten-
ded Simple Mail Transfer Protocol) décrite dans le RFC 165 1.
La première option consiste à limiter la taille des messages reçus
par les serveurs SMTP. Ainsi, un serveur peut déclarer lors de la
connexion initiale avec le client SMTP, la taille maximale d’un mes-
sage qu’il peut recevoir. De la même manière, le client SMTP peut
déclarer lors de l’énoncé MAIL la taille du message qui sera envoyé.
Le serveur peut donc refuser de recevoir un courrier et renvoyer un
message d’erreur au client SMTP. Cette option est décrite dans le
RFC 1653.
La seconde option permet d’envoyer des messages de courrier en
mode huit bits au lieu de sept bits tels que définis dans SMTP La
négociation du mode 8 bits entre un client et un serveur SMTP sert,
entre autres, pour envoyer directement des caractères accentués sans
qu’ils soient convertis. Cette option est décrite dans le RFC 1652.

8.6 Configuration Windows et Macintosh


Étant donné que le logiciel Eudora est semblable dans les deux
environnements, une seule présentation sera faite. Les quatre princi-
paux éléments de configuration sont:
l le nom de l’utilisateur et son serveur POP pour la réception de
messages
l son nom au complet
. son adresse de retour
l le nom du serveur SMTP pour l’envoi de messages

146
COURRIER ÉLECTRONIQUEAVEC SMT~ POPETMIME

Persona1 Information Serveur POP


POP Account:
Imarc@jupiEï.viagenie.qc.ca
J
Real name:
Marc Blanchet
Return address:
Marc.Blanchet@viagenie.qc.ca

\ l

adresse de courrier

Figure 8.2
Configuration de base d’Eudora

Hosto

1;;

Ph: 71
Fi nger:

0 DNS load balancing.

Figure 8.3
Configuration du serveur SMTP dans Eudora

147
INTERNET - TCP/IP SIMPLIFIÉ

8.7 Liste des services


Voici la liste des services pertinents pour ce chapitre.

Tableau 8.7
Services

8.8 Références
Voici la liste des documents RFC pertinents pour ce chapitre. Vous
pouvez les consulter à l’adresse http://ds.internic.net.

Tableau 8.8
RFC
RFC Titre
821, STD 10 Simple Mail Transfer Protocol
822, STD 11 Standard for the format of ARPA Internet text messages
1521,134l MIME (Multipurpose Internet Mail Extensions) Part One:
Mechanisms for Specifying and Describing the Format of
Internet Message Bodies
1522, 1342 MIME (Multiputpose Internet Mail Extensions) Part Two:
Message Header Extensions for Non-ASCII Text
STD 53, 1939 Post Office Protocol - Version 3
1651 SMTP Service Extensions
1652 SMTP Service Extension for 8bit-MIMEtransport
1653 SMTP Service Extension for Message Size Declaration
Chapitre 9
Service de nouvelles avec NNTP
L’esprit de conversation consiste
bien moins à en montrer beaucoup
qu’à en faire trouver aux autres.
Jean de La Bruyère

L
es nouvelles, les news, Usenet et les groupes de discussion
sont tous des synonymes du même système permettant la dis-
tribution de messages de courrier électronique publics. Ce
système assure une discussion entre les participants puisque tous les
échanges sont publics. Nous expliquerons chaque message comme
un article.
NNTP (Network News Transfer Protocol) est le protocole per-
mettant la distribution, la demande, la réception et la transmission
d’articles. Il utilise TCP comme protocole de transport avec le port
119.
Les articles sont gardés dans une base de données sur un serveur.
Les utilisateurs sur leur poste de travail consultent les index des arti-
cles sur le serveur en utilisant un logiciel client NNTP Ils deman-
dent ensuite le contenu des articles désirés.
Le serveur conserve les articles pendant une certaine période pré-
cisée dans sa configuration. Le serveur peut être situé chez le four-
nisseur Internet ou sur le réseau de votre organisation.
Les utilisateurs utilisent un logiciel de lecture des articles qui se
connecte au serveur avec le protocole NNTP, lui demande les nou-
veaux articles arrivés depuis la dernière consultation et montre la
liste à l’utilisateur. L’utilisateur choisit ensuite les articles qu’il veut
lire et les demande au serveur.
La séquence suivante démontre l’interaction entre le client
Saturne et le serveur NNTP pluton. Les chiffres en gras sont des
codes de réponses du serveur.

149
INTERNET - TCP/IP SIMPLIFIÉ

Tableau 9.1
Conversation NNTP

Ilient NNTP (satum e)l Serveur NNTP (Pluton)


1. saturne fait une connexion f
au port 119 de pluton
2. pluton répond i 200 pluton InterNetNews NNRP
server INN 1.4unoff4 05Mar-96
ready (posting ok)
3. saturne demande la liste ‘JEWGROUPS
des nouveaux groupes )60201 000000
depuis la dernière fois
4. pluton fait la liste des 231 New newsgroups follow.
nouveaux groupes depuis microsoft.public.schedule+ 5 1 y
le le’ février 1996 it.annunci.seconda-mano 45 1 y
ukr.commerce.machinery 27 1 y
pa.jobs.offered 72 1 y
de.comm.internet.misc 32 1 y
uk.people.disability 33 1 y
local.portmaster 25 1 y
uwp.maillist.jarre 10 1 y
uk.music.folk 18 1 y
microsoft.public.vc.debugger 1 1 y
ukr.commerce.chemical 22 1 y

5. saturne désire lire les CROUP info.ietf


articles du groupe info.ietf
i
t5. pluton répond qu’il possède 211 24 11317 11340 infoietf
24 articles numérotés entre
11317et 11340dansce
!m”pe
i
7. Saturne demande le contem ,RTICLE 113 18
de l’article 11318
%. pluton renvoie l’en-tête de i220 11318
l’article, précisant le sujet, <9605291303.aa22345@IETF.CNR
l’auteur, la date, etc., ainsi I.Reston.VA.US> article
que l’article lui-même From: oppedahl@patents.com
(Carl Oppedahl)
Newsgroups: infoietf
Subject: Article published on loss
of domain names under NS1

I
trademark policy

150
Date: 29 Feb 96 17:03:21 GMT
Organization: University of Illinois
at Urbana
Lines: 5
Message-ID:
<9605291303,aa22345@IETECN
RI.Reston.VA.US>
1 have just published an article in
the New York Law Journal (May
21) on NSI’s trademark domain
name policy, pointing out how easy
it is for a domain name owner to
lose their domain name under NSI’!
policy. The article may be seen at
<http://www.patents.com/nylj6.sht>
). saturne ferme la connexion LUIT

Voici quelques commandes du protocole NNTP.

Tableau 9.2
Protocole NNTP
Commande Description
NEWGROUPS date heure Donne la liste des nouveaux groupes créés depuis
la date et l’heure précisée
GROUP nomdugroupe Sélectionne ce groupe pour les prochaines com-
mandes
STAT numéro-article Donne l’état de l’article
NEWNEWS nomdugroupe Donne la liste les nouveaux articles de ce groupe
date heure depuis telle date
GROUP ggg Sélectionne le groupe
ARTICLE <messageid>
ARTICLE [nnn] Donne la liste du contenu de l’article
HEAD, BODY, STAT Donne l’en-tête, l’article et l’état d’un article
1-1: <messageid> message
Informe le serveur que je possède une copie de ce

Donne la liste de tous les groupes du serveur


LAST Pointe vers le dernier article du groupe
NEXT Pointe vers le prochain article de groupe
POST Envoie un article au groupe
QUIT Termine la connexion

151
I NTERNET - TCP/IP SIMPLIFIE

9.1 Configuration Windows, Macintosh et Unix


Les logiciels de lecture de nouvelles exigent essentiellement
l’adresse IP ou le nom du serveur NNTP

9.2 Liste des services


Voici la liste des services pertinents pour ce chapitre.

Tableau 9.3
Services
Service Description Numéro Transport
de port
NNTP Nouvelles USENET 119 tcP

9.3 Références
Voici la liste des documents RFC pertinents pour ce chapitre. Vous
pouvez les consulter à l’adresse http://ds.internic.net.

Tableau 9.4
RFC
I 1
RFC Titre
977 Network News Transfer Protocol:
850 1Standard for interchange of USENE-
Chapitre 10
Session interactive Telnet
Le plus d$fïcile au monde est de dire
en y pensant ce que tout le monde dit
sans y penser:
Alain

T
elnet permet une session interactive sur un ordinateur mul-
titâche. On peut ainsi exécuter des commandes tapées en
mode terminal (texte) sur cet ordinateur. Le protocole Tel-
net ne précise pas d’émulation de terminal, il ne fait que transpor-
ter des caractères. Telnet utilise le numéro de port 23 du protocole
TCP.
Lorsque le logiciel client Telnet envoie un caractère dans un
paquet, le serveur expédie un accusé de réception au client disant
avoir reçu le paquet et renvoie l’écho du caractère au client dans un
autre paquet. Le client renverra au serveur un accusé de réception de
l’écho du caractère. Tout ceci pour un seul caractère envoyé! Le
Tableau 10.1 résume le comportement.

Tableau 10.1
Interaction entre client et serveur Telnet

client serveur

accusé de réception
de l’écho

Le trafic Telnet est assez exigeant puisque les paquets ne contien-


nent qu’un seul caractère, alors que les en-têtes IP et TCP du paquet
prennent 40 octets au minimum. Cependant, il existe une option du

153
INTERNET - TCP/IP SIMPLIFIE

protocole Telnet pour l’envoi d’une ligne complète par paquet au


lieu d’un seul caractère.

10.1 Émulation de terminal


Durant une session interactive, il est nécessaire que les deux logi-
ciels client et serveur se coordonnent pour interpréter certaines com-
mandes. Si l’ordinateur multitâche envoie une commande pour
déplacer le curseur au haut d’une page, il faut que le logiciel client
Telnet comprenne cette commande. Chaque type de terminal ayant
sa propre table de commandes, il est nécessaire de connaître quelle
émulation de terminal notre logiciel Telnet supporte. Lors de
l’entrée en ligne sur l’ordinateur multitâche, on identifiera le type de
terminal utilisé.
Les logiciels Telnet incluent généralement des émulateurs de ter-
minaux tels que Digital VTlOO, VT220, Tektronix 4014 ou autre. Le
VT100 est le plus répandu des terminaux et le plus supporté. Le
VT220 est une version supérieure qui supporte les caractères accen-
tués.
Tn3270 est une version spéciale de Telnet avec un émulateur
IBM 3270 pour des sessions sur ordinateur central IBM. Cette ver-
sion exploite l’option d’envoi d’une séquence de caractères par
paquet au lieu d’un seul caractère.

10.2 Rlogin, Rsh et Rexec


Sur Unix et d’autres environnements, la commande Rlogin permet
aussi une session interactive semblable à Telnet. Rlogin transfere
l’information de l’environnement, telle que le type de terminal, du
client au serveur, ce qui n’est pas le cas avec Telnet.
De plus, si le serveur est configuré en conséquence, il peut aussi
laisser entrer directement un utilisateur sans aucune identification,
facilitant ainsi l’entrée en ligne. Cependant, cette possibilité s’est
avérée être une cause importante de brèches de sécurité dans les
réseaux.
Les différences entre Rlogin et Telnet sont détaillées dans le
Tableau 10.2.

154
SESSION INTERACTIVE TELNET

Tableau 10.2
Différences principales entre Telnet et Rlogin

Telnet Rlogin
1
# port 23 / 13
modes 1 caractère ou 1 ligne 1 caractère
transfert de l’information sur aucun oui
l’environnement du client
identification automatique aucune oui I

Rsh et Rexec permettent d’exécuter une seule commande sur le


serveur.
La configuration des logiciels Telnet est assez simple. La plupart
des paramètres sont reliés à l’émulation de terminal et à la signifï-
cation des touches de clavier.

10.3 Configuration Windows et Macintosh


Les logiciels Telnet se ressemblant beaucoup, nous avons choisi de
montrer NCSA Telnet sur le Macintosh.
NCSA Telnet contient un logiciel client Telnet ainsi qu’un client
FTP, rudimentaire quant à son interface utilisateur, et un serveur
FTP. La configuration de NCSA Telnet (version 2.6) se fait par l’élé-
ment Preferences du menu Edit.
L’élément Terminals de ce menu oriente le comportement géné-
ral du logiciel, tel que l’interprétation des touches de clavier, le
comportement avec certaines émulations de terminal, l’émulation de
terminal (VT100 et VT220), ainsi que l’apparence à l’écran (cou-
leurs, polices de caractères, largeur et hauteur de l’écran). Pour
l’émulation avec caractères accentués qui utilisent les codes étendus
à 8 bits, on doit choisir l’option Eight bit connections ainsi que
l’émulation VT220 dans la plupart des cas.

155
INTERNET - TCP/IP SIMPLIFIÉ

Normal foreground
q Xterm sequenoes
Normal background
[XI Use VT wrap mode
0 EMACS arrow keys -Blinking foreground
Ix] Map PgUp, etc.
Options
importantes
_ pour
0 CNTL-COMND is EMACS meta l’utilisation de
caractères
Emulation 0 VT, 00 @ VT220H accentués
Font Monaco

Answerback Message VT220

Figure 10.1
Configuration générale de Telnet

L’élément Sessions du menu Preferences modifie certaines


options pour une session Telnet particulière.
En plus du nom du serveur, le numéro du port peut être précisé.
En utilisant un port Telnet autre que 23, on peut se connecter sur un
autre service tel que le courrier électronique SMTP par le port 25 ou
le port du service Web HTTP par le port 80.
Pour une session, on peut choisir la configuration de terminal du
panneau précédent ainsi que la table de traduction des caractères.
Celle-ci convertit l’encodage des caractères accentués du serveur à
ceux du Macintosh. En choisissant ISO 8859-1, NCSA Telnet
s’attend à recevoir du serveur des caractères accentués encodés
selon la norme ISO et les traduira en caractères accentués encodés
selon l’encodage spécifique au Macintosh.

156
SESSION INTERACTIVE TELNET

Ordinateur sur
- lequel on se
connecte

- Numéro de port
TEK @ Inhibit 0 4 0 1 4 04105
Paste Method 0 Quiok @ Block
Delete Sends @ Delete 0 Backspace
0 Forcesave
0 Berkeley 4.3 CRmode
q Allowlinemode
OTEK page clears screen
q Halfduplex
q Showlowlevelerrors
0 Authentioate
q Encrypt Table de
0 Local Echo traduction des
’ caractères
Terminal <Default> Translation Table 1 ISO8859-1 +-
accentués

Figure 10.2
Configuration des sessions de Telnet

10.4 Configuration Unix


Comme client Telnet sur Unix, la commande est: telnet en ajoutant
le nom du serveur sur lequel on veut se brancher: telnet serveur. On
peut préciser un numéro de port différent pour accéder à un autre
service: telnet serveur #port. Dans plusieurs versions d’llnix, la
commande telnet n’inclut aucun émulateur de terminal, ou seule-
ment un émulateur ANSI. Il est souvent utile d’utiliser un logiciel
d’émulation de terminal avec Telnet. Avec l’environnement de fenê-
tres X-Windows, le logiciel Xtemz supporte une émulation VT100 et
VT200.
Comme serveur Telnet sur Unix, le fichier /etc/inetd.conf doit
contenir une ligne pour le service Telnet:
telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnet

157
INTERNET - TCP/IP SIMPLIFIÉ

Lorsqu’un client se connectera sur ce serveur Telnet sous Unix,


le processus responsable des interactions réseau Znetd recevra la
requête, lira le numéro de port demandé (23) par le client, consul-
tera sa table de services créée dans le fichier inetd.conf, et démar-
rera le processus serveur in.telnetd qui servira ce client. Ce
processus serveur Telnet disparaîtra de lui-même à la fin de la ses-
sion avec le client Telnet.
Les serveurs Rlogin, Rexec et Rsh sont définis de la même façon
que Telnet. Par exemple, comme serveur Rlogin sur Unix, le fichier
/etc/inetd.conf doit contenir cette ligne:
login stream tcp nowait root /usr/sbiniin.rlogind in.rlogin

10.5 Liste des services


Voici la liste des services pertinents pour ce chapitre.

Tableau 10.3
Services

Service ’ Description Numéro Transport


de port
Telnet Session interactive 23 t cP
login Remote login 513 tcp
shell Remote shell 5 1 4 t cP

10.6 Références
Voici la liste des documents RFC pertinents pour ce chapitre. Vous
pouvez les consulter à l’adresse http://ds.internic.net.
Plusieurs RFC traitent du protocole Telnet et de ses options. Nous
ne mentionnerons que le principal.

Tableau 10.4
RFC

RFC / Titre
854 1 Telnet Protocol specifkation
TROISIÈME PARTIE

Protocoles des niveaux


inférieurs

Cette troisième partie traite des différents protocoles des


niveaux inférieurs au niveau IF? Le dernier chapitre de cette
partie montre un exemple complet d’une interaction entre
un client Web et un serveur Web en listant tous les paquets
impliqués.
J
Chapitre 11
Résolution d’adresses,
configuration automatique et
messages d’erreur avec ARP,
RARP, BOOTP, DHCP et ICMP
On cesse d’apprendre si l’on n’a pas
chaque jour un peu plus conscience
de son ignorance.
Carmen Martin

usqu’à maintenant, nous avons fait abstraction du médium phy-

J sique sur lequel le paquet IP circule. Cependant, celui-ci a une


influence sur la façon dont le paquet IP se rend à destination.
Nous allons voir maintenant concrètement comment un paquet se
rend d’un ordinateur à un autre sur un réseau physique tel qu’Ether-
net. Les mécanismes présentés dans ce chapitre s’appliquent aussi
aux autres types de réseaux tels que Token-Ring ou FDDI.

11.1 Réseau local Ethernet


Ethernet est un médium de réseau local permettant un débit de 10 ou
100 mégabits par seconde. Le câblage utilisé peut être du câble
coaxial de 50 ohms, des paires de fils torsadées ou de la fibre
optique. Ethernet utilise un mécanisme CSMA-CD (Carrier Sense
Multiple Access-Collision Detection) signifiant que tout ordinateur
sur un réseau Ethernet peut échanger avec un autre n’importe
quand, mais un ordinateur à la fois.
Ethernet a été développé par Digital Equipment Corp, Intel et
Xerox. Il existe trois versions d’Ethernet. La première, expérimen-
tale, n’est plus utilisée. La deuxième, appelée souvent DIX (pour
Digital Intel Xerox) ou Ethernet II, est la plus utilisée dans les
environnements TCP/IP. La dernière version est le fruit des tra-
vaux de normalisation de 1’IEEE sous la norme IEEE 802.3. Par

161
INTERNET - TCP/IP SIMPLIFIÉ

défaut sur les réseaux IP, DIX (ou Ethernet Zr> est la version Ether-
net utilisée.
Ethernet étant indépendant du protocole supérieur utilisé, une
trame Ethernet peut contenir un paquet du protocole IPX ou IP ou
Appletalk ou un autre. Une trame Ethernet contient une adresse
source et une adresse de destination valides sur le réseau local seule-
ment. Ces adresses du niveau 2 dans le modèle ISO sont différentes
et indépendantes des adresses IP. Elles sont généralement appelées
adresses de liaison (MAC: Media Access Control addresses).

Adresse de Adresse Type de


Préambule Données CRC
destination source paquet
(8 octets) (46-l 500 octets) (4 octets)
(6 octets) (6 octets) (2 octets)

Figure Il.1
Format d’un paquet Ethernet

Chaque interface Ethernet a une adresse unique dans l’univers,


car le manufacturier a reçu une série d’adresses de l’IEEE*, dont les
trois premiers champs lui sont assignés, et en désigne une différente
pour chaque carte Ethernet fabriquée. Une adresse Ethernet possède
six champs de 8 bits exprimés en mode hexadécimal séparés par des
deux-points (:), par exemple: 08:(30:2A:48:32:19. L’adresse est gra-
vée de façon électronique dans un circuit sur la carte.
L’adresse spéciale fl@fifl$fl, qui correspond en binaire à des
«l», correspond à une adresse de diffusion générale (broadcast) à
l’ensemble des ordinateurs du réseau local Ethernet. Lorsqu’un ordina-
teur envoie une trame dont l’adresse de destination est@#fifi#fl,
tous les ordinateurs sur le même réseau local Ethernet (c’est-à-dire sans
traverser un aiguilleur) reçoivent et décodent ce paquet.
Lorsqu’un paquet IP est sur un réseau local Ethernet, l’en-tête IP
et les données sont incluses dans le champ Données de la trame
Ethernet.

1. IEEE: Institute of Electrical and Electronics Engineers. L’organisme est respon-


sable de la norme IEEE 802.3 et de l’allocation des adresses pour les manufactu-
riers.

162
RÉSOLUTION D'ADRESSES, CONFIGURATIONAUTOMATIQUE ET MESSAGES D'ERREUR

f-----.-- Paquets Ethernet --p-h

Adresse Adresse
En-tête
IP de
IP / IP
source destination

4 Paquets IP -ph

Figure 11.2
Paquet IP à l’intérieur d’un paquet Ethernet

11.2 Résolution d’adresses sur un réseau local: ARP


Le protocole ARP (Address Resolution Protocol) est un mécanisme
automatique permettant de connaître la correspondance entre une
adresse IP et une adresse Ethernet. Ce mécanisme est essentiel au
protocole IP, puisque les paquets IP peuvent circuler sur plusieurs
types de médiums physiques.
Supposons que les deux ordinateurs de la Figure 11.3 soient sur
un réseau local Ethernet et qu’ils soient fermés.

Réseau Ethernet

Adresses: Adresses:
Ethernet = 8:0:cO:a3:c4:76 Ethernet = c0:4:al:43: 18:37
IP = 192.168.1.5 IP = 192.168.1.6

Figure 11.3
Réseau Ethernet avec deux ordinateurs IP

163
INTERNET - TCPLP SIMPUFIE

Après les avoir démarrés, l’utilisateur sur l’ordinateur A essaie


d’envoyer un paquet IP à l’ordinateur B. A commence par envoyer,
sur le réseau local, une requête ARP à l’ensemble des ordinateurs
demandant l’adresse Ethernet de l’ordinateur ayant l’adresse IP
192.168.1.6. Cet ordinateur (B) répond en lui donnant son adresse
Ethernet. Le Tableau 11.1 détaille ce mécanisme.

Tableau Il.1
Séquence ARP pour la correspondance des adresses IP et Ethernet

Ordre
Source Destination Protocole Contenu
ies paquets
1. 8:0:cO:a3:c4:76 ff:ffzff:ffzff:ff ARP À tous les ordinateurs
(ordinateur A) (tous les (requête) du réseau Ethernet
ordinateurs du (diffusion générale),
réseau Ethernet) A demande l’adresse
Ethernet de l’ordinateur
qui a l’adresse
IP 192.168.1.6 (B)
~~
2 c0:4:al:43: 18:37 8:0:cO:a3:c4:76 ARP B répond à A en lui
(ordinateur B) (ordinateur A) (réponse) donnant son adresse
Ethernet:
c0:4:al:43: 18:37
3. 8:0:cO:a3:c4:76 c0:4:a1:43:18:37 IP paquet IP de A à B
192.168.1.5 192.168.1.6
(ordinateur A) (ordinateur B)

Une requête ARP est seulement utile dans le contexte d’un réseau
local. La trame à diffusion générale (broadcast) est une trame
envoyée uniquement sur le réseau local (par exemple Ethernet). Une
requête ARP ne traverse pas un aiguilleur, sauf dans des cas particu-
liers.

11.3 Résolution inverse d’adresses sur un réseau local:


RARP
La gestion des adresses IP sur l’ensemble d’un réseau peut devenir
problématique. En effet, si un utilisateur, recevant un nouvel ordina-
teur, copie la configuration de son voisin, ils auront tous deux la

164
RÉSOLUTION D'ADRESSES, CONFIGURATIONAUTOMATIQUEETMESSAGESD'ERREUR

même adresse IP, résultant en une incohérence sur le réseau. Il existe


plusieurs moyens pour centraliser l’attribution aux ordinateurs de
leurs adresses IP. Le plus simple est le mécanisme de résolution
inverse d’adresses RARP (Reverse Address Resolution Protocol).
Étant donné qu’une adresse Ethernet est unique dans le monde et
gravée sur un circuit dans la carte Ethernet, le mécanisme RARP se
sert de cette information. On inscrit une table de correspondance
entre l’adresse Ethernet et l’adresse IP dans un fichier sur un serveur
RARP. Sur l’ordinateur, au lieu de lui attribuer une adresse IP dans
sa configuration, on indique qu’il ira chercher cette adresse par le
mécanisme RARP. Au moment du démarrage, cet ordinateur lira son
adresse Ethernet gravée sur la carte et enverra une requête RARP au
moyen d’un message général sur le réseau Ethernet. La requête
demandera: «quelqu’un connaît-il mon adresse IP sachant que mon
adresse Ethernet est.. .?» Un serveur RARP ayant cette information
dans sa table répondra à la requête en adressant à l’ordinateur une
réponse contenant l’adresse IP de celui-ci. Ainsi, cet ordinateur aura
appris son adresse IP à partir de la table de correspondance du ser-
veur.
Si un utilisateur copie cette configuration avec requête RARP sur
un autre ordinateur, aucune incohérence n’en résultera, car, au
démarrage, ce nouvel ordinateur lira son adresse Ethernet gravée sur
sa carte Ethernet, enverra une requête RARP avec cette adresse
Ethernet qui est nécessairement différente de l’autre. Si un serveur
RARP a l’information, il la transmettra, sinon aucune réponse ne
sera reçue et l’ordinateur n’aura pas d’adresse II?

11.4 Configuration automatique avec BOOTP et DHCP


Avec un serveur RARP, nous sommes en mesure de gérer unique-
ment l’allocation des adresses IP de façon centralisée. Par contre, un
serveur BOOTP (Bootstrup Protocol) permet de transmettre non
seulement l’adresse IP, mais l’ensemble des paramètres de configu-
ration, tels que le masque de sous-réseau, l’aiguilleur par défaut, les
serveurs de noms, etc.
Lorsqu’un ordinateur est configuré pour recevoir ces paramètres
de configuration par BOOTP, il démarre en envoyant un message

165
INTERNET - TCPLP SIMPLIFIÉ
-.

général (broadcast) sur le réseau. Ce message, sous forme d’une


trame Ethernet, aura comme:
l adresse Ethernet source: l’adresse Ethernet de l’interface
réseau de l’ordinateur
l adresse Ethernet de destination: jJf)ffijjTff:ff l’adresse de
message général Ethernet
l adresse IP source: 0.0.0.0 (inconnue pour le moment)
l adresse IP de destination: 255.255.255.255, l’adresse de mes-
sage général IP
Un serveur BOOTP voyant cette requête vérifie si l’adresse
Ethernet de l’ordinateur est dans sa table. Si c’est le cas, il renvoie
à l’ordinateur toutes les informations pertinentes qu’il connaît:
l’adresse IP, le masque de sous-réseau, l’adresse de l’aiguilleur par
défaut, la liste des serveurs de noms, etc. La trame de retour aura
comme:
9 adresse Ethernet source: l’adresse Ethernet du serveur
l adresse Ethernet de destination: l’adresse Ethernet de l’inter-
face réseau de l’ordinateur
l adresse IP source: l’adresse IP du serveur
l adresse IP de destination: l’adresse IP de l’ordinateur
BOOTP possède un nombre important d’éléments standard de
description pouvant caractériser un ordinateur. II existe aussi des
éléments2 permettant à un manufacturier de préciser des particula-
rités. Par exemple, un manufacturier de terminaux X-Windows indi-
quera le répertoire des polices de caractères dans un élément
particulier.
DHCP (Dynamic Host Conj@uration Protocol) est un protocole
plus évolué que BOOTP en permettant l’adressage dynamique. C’est-
à-dire qu’il peut assigner une adresse IP temporaire à un ordinateur ou
une adresse quelconque parmi un ensemble d’adresses IP ou une
adresse même si l’adresse Ethernet ne lui est pas connue. Un client
DHCP est inclus dans le pilote de réseau TCP/IP de Windows 95.
Habituellement, un serveur DHCP est aussi un serveur BOOTP et
peut donc répondre aux requêtes BOOTP.

2. Ils sont identifiés par TXXX où XXX est un nombre.

166
RÉSOLUTION D'ADRESSES, CONFIGURATIONALJTOMATIQUEETMESSAGES D'ERREUR

11.5 Messages de contrôle et d’erreurs ICMP


ICMP (Internet Control Message Protocol) est le protocole permet-
tant le transfert des messages d’erreurs et de diagnostics reliés au
protocole IP. Dans ce sens, il est souvent considéré comme faisant
partie du protocole IP.
Lorsqu’une erreur reliée au protocole IP se produit, l’ordinateur
ou l’aiguilleur détectant cette erreur renvoie un message ICMP à
l’expéditeur avec les huit premiers octets de l’en-tête du paquet IP
provoquant cette erreur.
ICMP est aussi utilisé pour le diagnostic. Le logiciel Ping permet
de savoir si un ordinateur est en réseau: ping 192.168.1.5 me retour-
nera «192.168.1 ..Y is alive» si celui-ci est allumé et en réseau. Ping
utilise un message ICMP echo request qu’il envoie à 192.168.1.5.
Celui-ci renvoie un message ICMP echo reply à l’expéditeur.
ICMP peut aussi servir à connaître le masque de sous-réseau. Au
démarrage, un ordinateur, dont le masque n’est pas configuré, peut3
envoyer un message général ICMP mask request à tous les ordina-
teurs du réseau local. Un de ceux-ci lui renverra l’information sur le
masque de sous-réseau, puisque cette information est commune à
tous les ordinateurs situés sur le même segment de réseau.

11.6 Notions avancées


11.6.1 Cache ARP et durée de vie
Chaque ordinateur maintient une table des adresses Ethernet qu’il a
apprises avec les requêtes ARP Ces adresses ont cependant une
durée de vie (de 20 minutes généralement). Lorsque celle-ci est
expirée, l’adresse Ethernet est retirée de la table et lorsqu’un nou-
veau paquet IP est destiné à l’ordinateur retiré de la table, une nou-
velle requête ARP est envoyée sur le réseau. Ce mécanisme de durée
de vie permet, par exemple, de changer la carte Ethernet d’un ordi-
nateur (et donc son adresse Ethernet) en gardant la même adresse IP
ou de remplacer un ordinateur par un autre. Le réseau s’en aperce-
vra après un délai maximal égal à la durée de vie.

3. Cette fonction n’est cependant pas supportée correctement par tous les systèmes
d’exploitation.

167
INTERNET - TCP/IP SIMPLIFIÉ

Lorsqu’un ordinateur démarre avec un pilote TCP/IP, il envoie géné-


ralement une requête ARP pour son adresse IP. C’est-à-dire qu’il
demande au réseau l’adresse Ethernet d’un autre ordinateur qui aurait
son adresse IP Si un ordinateur lui répond, cela veut dire qu’ils ont tous
deux la même adresse IP, ce qui est une erreur. Dans ce cas, le pilote
TCP/IP renverra un message d’erreur à l’utilisateur. Ce mécanisme
assure une certaine cohérence des adresses IP sur un réseau TCP/IP.

11.6.2 Fragmentation et taille maximale de transmission (MTU)


Chaque type de médium physique tel qu’Ethemet, Token-Ring,
ATM, FDDZ ou PPP définit une taille maximale du champ données
dans une trame, appelée MTU (Maximum Transmission Unit4)
exprimée en octets. Le Tableau 11.2 dresse la liste de la taille maxi-
male pour quelques médiums couramment utilisés.

Tableau 11.2
Taille maximale d’un paquet sur quelques médiums physiques
Type de médium physique 1 Taille maximale du paquet
i 1P:MTU (en octets)
Ethernet j 1500
/ IEEE 802.3

/ Token ring 4Mb/s


/ Token ring 16Mb/s

1 SLIP5 1 1006 I
La taille d’un paquet IP complet comprenant l’en-tête, les don-
nées et la somme de contrôle doit être inférieure à la taille maximale
(MTU) de la trame du médium physique utilisé.

4. Douglas Corner, dans son livre Intemetworking with TCPLP, donne le nom de
Maximum Transfer Unit, alors que dans les RFC (ex.: WC 1191), on réfère àMaximum
Transmission Unit, tout comme Richard Stevens dans son livre TCPLP Illustrated.
5. SLIP possède une taille variable. Voir le chapitre sur ces types de liens.

168
RÉSOLUTION D'ADRESSES, CONFIGURATIONAUTOMATIQUE D'ERREUR
ETMESSAGES
- ~-~

En traversant un aiguilleur FDDZ-Ethernet, lorsqu’une trame


passe du médium FDDZ dont la taille maximale égale 4 352 au
médium Ethernet dont la taille maximale égale 1 500, si la trame du
côté FDDZ dépasse 1 500 octets, elle doit être découpée en plusieurs
parties de 1 500 octets. Cette fonction s’appelle la fragmentation.
Lorsqu’un aiguilleur doit traiter une telle situation (passage à un
médium dont la taille maximale est plus petite), il découpe le paquet
en fragments, forme un nouveau paquet avec chacun d’eux (en-tête,
données, somme de contrôle), identifie ces nouveaux paquets avec
un numéro commun et marque le décalage de chaque fragment en
identifiant la position relative du fragment par rapport au début du
paquet IP. Ces fragments sont envoyés à l’ordinateur destinataire qui
les assemblera en ordre pour former le paquet original.
Dans le Tableau 2.8, le champ Fragidentification assigne au
paquet IP complet un numéro séquentiel permettant d’assembler à la
destination tous les fragments en un seul paquet complet. Le champ
Fragdrapeaux identifie le dernier fragment. Le champ Fragindice
de décalage permet d’assembler les fragments dans le bon ordre en
utilisant l’indice de décalage du fragment par rapport au début du
paquet IP, puisque les fragments passent indépendamment sur le
réseau et n’arrivent pas nécessairement à destination dans l’ordre.
Tout ordinateur ou dispositif TCP/IP doit supporter:
l une taille maximale d’au moins 576 octets
l la fragmentation, car, peu importe sur quel type de liaison phy-
sique, il est possible qu’il reçoive des fragments.
La fragmentation amène un traitement plus important de la part
de l’aiguilleur découpant le paquet en fragments et de la part de
l’ordinateur recevant ces fragments. L’impact sur la performance
peut être important. 11 est préférable d’éviter la fragmentation en uti-
lisant une taille maximale plus petite. La pratique sur Internet est
d’utiliser une taille maximale (MTU) de 1 500 correspondant à
Ethernet et PPP. Cependant, étant donné que l’on ne connaît pas
d’avance le parcours entre un point et un autre sur un réseau, on ne
peut garantir qu’il n’y aura pas de fragmentation.
Le RFC 1191 précise une technique appelée «découverte de
la taille maximale (MTU) du parcours» (discovery path MTU)

169
INTERNET - TCP/IP SIMPLIFIÉ

permettant d’éviter la fragmentation. Elle consiste à envoyer un


paquet de grande taille (grand MTU) à l’ordinateur destinataire et
d’attendre de voir s’il passe dans tout le parcours sans être frag-
menté. S’il doit être fragmenté, l’aiguilleur ayant le MTU plus petit
renverra un message disant de fragmenter. On renvoie un paquet
plus petit jusqu’à ce qu’il n’y ait pas de fragmentation dans tout le
chemin entre l’ordinateur expéditeur et l’ordinateur destinataire. On
choisit cette taille comme MTU pour envoyer tous les paquets sub-
séquents. Ce mécanisme est utilisé de façon systématique dans la
nouvelle version du protocole IP, décrite dans le chapitre 14.

11.6.3 Multiples protocoles sur le même Ethernet


Le champ Type de paquet dans la Figure 11.1 indique le protocole
utilisé dans les données. Ainsi, pour le protocole IP, le champ aura
la valeur 8000 en mode hexadécimal. IPX aura la valeur 8037.
Sur un réseau Ethernet, des paquets des protocoles IP, IPX,
Ethertalk, etc. peuvent donc circuler simultanément sans aucun pro-
blème, puisque chaque paquet est identifié avec son protocole de
niveau 3 dans le modèle ISO.
Le Tableau 11.3 dresse la liste de quelques protocole@ avec la
valeur dans le champ Type de paquet d’un paquet Ethernet.

Tableau 11.3
Quelques exemples de types de paquets Ethernet
Protocole Valeur dans le champ Type de paquet
Ethernet (en mode hexadécimal)
IP 8000
IPX (Novell) 8037
Ethertalk (Appletalk sur Ethernet) 809B
Decnet 6000-6009
Banyan Vines OBAD
ARP 0806
RARP - 8035

6. ftp:/&.lcs.mit.edu/pub/map/EtherNet-codes contient une liste complète de


ces codes.

170
RÉ SOLUTION D’ADRESSES, CONFIGURATION AUTOMATIQUE ET MESSAGES D’ERREUR

11.6.4 Multiples protocoles sur la même interface réseau


Il est possible d’utiliser de façon simultanée plusieurs protocoles sur
la même interface d’un ordinateur. Par exemple, le protocole utilisé
par une imprimante en réseau avec un Macintosh est Appletalk,
alors que TCP/IP est utilisé pour Eudoru et Netscape. Un PC utilise
le protocole IPX pour interagir avec un serveur Novell, alors que
TCP/IP est utilisé avec les outils Internet.
Lorsqu’on installe TCP/IP sur un micro-ordinateur utilisant déjà
un autre protocole réseau, il faut s’assurer de l’arbitrage entre les
protocoles, de telle sorte qu’un paquet IPX soit géré par le pilote de
réseau Novell et un paquet IP par le pilote de réseau TCP/IP.
Du côté de Macintosh, le système d’exploitation inclut déjà cet
arbitrage. Du côté des ordinateurs PC dans l’environnement DOS,
on utilise un logiciel d’arbitrage supportant la norme NDIS (Net-
work Device Interface SpecijTcation) ou ODI (Open Data-Link
Interface). Celui-ci va lire le champ protocole dans le paquet Ether-
net et passer le contenu au logiciel de réseau approprié. ODI a été
défini par Novell et NDIS, par 3Com, Microsoft et FTP Software.
La Figure 11.4 montre la relation entre des logiciels TCP/IP, IPX et
les logiciels d’arbitrage.

Application Logiciels
Logiciels
(protocole + TCP/IP
logiciel) W i n d o w s 1 Tiz
T r a n s p o r t ! TCP/UDP
-Réseau. I P Ipx

Ethernet

Figure 11.4
Arbitrage NDIS ou ODI

171
INTERNET - TCP/IP SIMPLJFIÉ

11.7 Configuration de Windows 3.1 avec Chameleon


Le logiciel Chameleon permet de manipuler la table de correspon-
dance entre les adresses IP et les adresses physiques (Ethernet). Il
est très rare que cette possibilité soit utilisée et elle n’est générale-
ment pas offerte. Si on désire rajouter de façon statique une corres-
pondance, on inscrit l’adresse IP et l’adresse physique dans le
panneau Frequent Destinations.

Adresse IP d’un
ordinateur

Adresse Ethernet
correspondante

Figure 11.5
Table de correspondance des adresses IP et physiques

Pour aller chercher les informations de configuration avec


BOOTP, on inscrit un X dans la case Use BOOTP et on indique
l’adresse IP d’un serveur BOOTP.

Indiquer l’adresse IP
du serveur Bootp

Rendre le démarrage
- par bootp actif

Figure 11.6
Confi guration de BOOTP

172
RÉSOLUTION D'ADRESSES, CONFIGURATIONAUTOMATIQUE ETMESSAGESB'ERREUR

11.8 Configuration de Windows 95


En choisissant le bouton Obtenir automatiquement une adresse
IP dans l’onglet Adresse IP, Windows 95 effectue une requête
DHCP sur le réseau. Dans le pilote TCP/IP de Windows 95, il n’y a
pas de support pour Bootp ou Rarp.

Figure 11.7
Adressage avec DHCP sous Windows 95

11.9 Configuration Macintosh


On peut connaître l’adresse Ethernet d’un Macintosh en cliquant sur
le pictogramme Ethernet avec la touche Alt enfoncée.

173
INTERNET - TCP/IP SIMPLIFIÉ

En cliquant sur le
- pictogramme Ethemer
avec la touche Alt
enfoncée, l’adresse
1 Ethernet apparaîtra

InterSLIP

[ More... ]
2.0.4

Figure 11.8
Adresse Ethernet d’un Macintosh

Un Macintosh peut être configuré pour recevoir son adresse IP


par RARP ou tous les paramètres IP par BOOTP en sélectionnant
Server dans la zone Obtain Address du second panneau. Les autres
cases ne deviennent alors plus modifiables mais seront ajustées
automatiquement selon la réponse reçue à la requête BOOTP ou
RARP au prochain démarrage.
Chaque Macintosh possède une interface réseau nommée Local-
talk (souvent appelée Appletalk par confusion avec le protocole).
C’est un médium utilisant du câblage de type fils de téléphone ayant
un débit de 230 kilobits par seconde. Lorsqu’on utilise cette interface
pour TCP/IP, le paquet IP est enrobé à l’intérieur d’un paquet du pro-
tocole Appletalk et envoyé à une passerelle Localtalk-Ethernet qui
enlève l’enrobage Appletalk et sort un paquet TCP/IP sur le réseau
Ethernet. Ces passerelles peuvent jouer le rôle d’attribuer des adres-
ses IP aux Macintosh sur Localtalk de façon dynamique (ressemblant

174
RÉSOLUTION D'ADRESSES, CONFIGURATIONAUTOMATIQUE ETMESSAGES D'ERREUR

rObtain Address: 1

Pour recevoir
I C) Manually i
l’adresse IP
)@ Seruer
d’un serveur
BOOTP ou / 0 Dynamically /
RARP

Figure 11.9
Macintosh en mode RARP ou BOOTP

aux fonctions de DHCP). Le choix Dynamically correspond à ce


mode et est utile seulement dans cette configuration Localtalk.

11.10 Configuration Unix


La commande Arp sur Unix permet de manipuler la table arp.
L’option -a dresse la liste de la table courante et l’option -d permet
de retirer une entrée de la table.
Sur Unix, un serveur RARP est un processus appelé rarpd. Il lit
le fichier /etc/ethers contenant l’association entre une adresse Ether-
net et un nom d’ordinateur et le fichier /etc/hosts7 contenant l’asso-
ciation entre une nom et une adresse IP Avec ces éléments, le
serveur RARP pourra renvoyer l’adresse IP de l’ordinateur ayant
une adresse Ethernet dans la table.
Sur Unix, un serveur Bootp est un processus appelé bootpd. Le
fichier de configuration /etc/bootptab contient une liste des paramè-
tres de configuration pour chaque ordinateur. Celui-ci sera identifié
par son adresse unique Ethernet comme pour RARP.

7. Ou le DNS selon le cas.

175
INTERNET - TCP/IP SIMPLIFIÉ

Chaque ligne du fichier de configuration8 décrit un ordinateur.


Les éléments de description sont séparés par des deux-points «:» et
chacun est précisé par un identificateur de deux lettres suivi d’un
signe = et de la valeur attribuée. Le Tableau 11.4 dresse la liste de
quelques paramètres de BOOTP.

Tableau 11.4
Liste des principaux paramètres de Bootp

Identificateur Signification Description


ha hardware address Adresse Ethernet
ip ip address Adresse IP
sm subnet mask Masque de sous-réseau
PJ ! gateway address Adresse IP de l’aiguilleur
par défaut
-
ds domain name servers ’ Liste des adresses IP des
, serveurs de noms DNS

Par exemple, la description d’un ordinateur nommé pc1 ayant


l’adresse Ethernet 00:00:89:00:14:CC, l’adresse IP 192.168.1.5, le
masque de sous-réseau 255255255.0, l’aiguilleur par défaut
192.168.1.1 et le serveur de noms 192.168.1.10 aura comme entrée
dans le fichier bootptab:
pc1:ha=0000890014CC:ip=192.168.1.5:sm=
255.255.255.0:gw=192.168.1.1:ds=192.168.1.10
Unix peut être un serveur DHCP.

11.11 Configuration Windows NT


Windows NT peut être configuré comme serveur DHCP. Il pourra
ainsi donner à des clients DHCP, chacun une adresse IP parmi un
groupe d’adresses IP contiguës. Il s’agit de s’identifier comme
administrateur et de démarrer le DHCP Manager dans le groupe

8. 11 existe aussi des lignes de commentaires avec le caractère # et le caractère \


pour les lignes de continuation.

176
RÉSOLUTION D'ADRESSES, CONFIGURATIONAUTOMATIQUEETMESSAGESD'ERREUR

Network Administration. Après avoir sélectionné Local Machine


pour configurer ce serveur comme serveur DHCP, on crée un groupe
d’adresses avec l’option Create Scope. Le serveur DHCP donnera
l’information sur l’adresse IP, l’aiguilleur par défaut, le nom de
domaine, les serveurs de noms DNS. Il faut savoir cependant que le
serveur DHCP sur NT ne contient pas de serveur BOOTP et donc ne
répondra pas aux requêtes BOOTP.

11.12 Références
Voici la liste des documents RFC pertinents pour ce chapitre. Vous
pouvez les consulter à l’adresse http://ds.internic.net.

Tableau 11.5
RFC

RFC Titre
894 Standard for the transmission of IP datagrams over
1 Ethernet
1042 Standard for the transmission of IP datagrams over
IEEE 802 networks I
1 826 ) Ethernet Address Resolution Protocol
/ 903 1Reverse Address Resolution Protocol
1792 / Internet Control Message Protocol
/ 951 1 Bootstrap Protocol
Dynamic Host Configuration Protocol
: Interoperation Between DHCP and BOOTP
950 Internet standard subnetting procedure

Une liste des codes de protocoles sur Ethernet est offerte à


l’adresse: ftp://ftp.lcs.mit.edu/pub/map/Ethernet-codes.
Chapitre 12

Que se passe-t-il vraiment


quand j’accède à une page Web?
Il faut vouloir être heureux et y
mettre du sien: si l’on reste dans la
position du spectateur impartial,
laissant seulement entrée au bonheur
et portes ouvertes, c’est la tristesse
qui entrera.
Propos sur le bonheur, Alain

e chapitre tente d’assembler les notions expliquées jusqu’à

C présent. Il résumera l’interaction réseau lorsqu’un client


Web adresse une requête à un serveur pour une page.
Pour résumer l’ensemble des interactions de réseau entre deux ordi-
nateurs, supposons qu’un utilisateur fasse une requête avec son logiciel
client Web sur l’ordinateur jupiter.viagenie.qc.ca dans la figure sui-
vante pour accéder à 1’URL: ht@:~www.ulaval.ca/index.html. Suppo-
sons aussi que tous les ordinateurs impliqués (y compris ceux
d’Internet) aient été éteints et viennent d’être démarrés à l’instant.
Le réseau décrivant les différents ordinateurs impliqués est décrit
dans la figure suivante. On présuppose un masque de sous-réseau de
255.255.255.0 sur tous les réseaux.

179
INTERNET - TCPLP SIMPLIFIÉ
-~-~~--

jupiter.viagenie.qc.ca

192.169.1.5 1

10.23.210.1

/ Internet

www.ulaval.ca

Figure 12.1
Réseau de l’exemple

180
QUE SE PASSE-T-IL VRAIMENTQUAND J'ACCÈDEÀ UNE PAGE WEB?

Tableau 12.1
Description de l’interaction entre les ordinateurs
Étape Description
1. Le logiciel client Web sur jupiter décompose I’URL
2. Il doit faire une connexion http sur l’ordinateur www.uZuvuZ.ca
3. Il lui faut trouver l’adresse IP de www.u2avuZ.cu
4. jupiter vérifie dans sa configuration l’adresse IP du serveur DNS
(10.23.210.3)
5. jupiter vérifie si le serveur DNS est sur le réseau local en compa-
rant sa partie réseau de l’adresse IP (192.169.2.X) avec la partie
réseau de l’adresse IP du serveur DNS (10.23.210.X). Conclu-
sion: il n’est pas sur le même réseau
6. jupiter vérifie dans sa configuration l’adresse IP de l’aiguilleur

jupiter vérifie s’il a dans sa mémoire tampon ARP l’adresse


Ethernet de 192.169.1.1. Résultat: non, puisque tous les ordina-

jupiter fait une requête ARP pour connaître l’adresse Ethernet de


l’aiguilleur (192.169.1.1)
9. L’aiguilleur répond à la requête ARP en donnant son adresse
Ethernet
-10. jupiter envoie un paquet IP dont:
- l’adresse source IP est: 192.169.1.5
- l’adresse source Ethernet est: jupiter
- l’adresse de destination IP est: 10.23.210.3 (le DNS)
- l’adresse de destination Ethernet est: aiguilleur
Il. L’aiguilleur reçoit sur son interface 1 le paquet de jupiter
(292.269.1.5) et vérifie dans sa table d’aiguillage le chemin pom
se rendre à 10.23.210.3 (le DNS)
12. L’aiguilleur trouve que c’est par l’interface 2 (10.23.210.1) qu’il!
peut acheminer le paquet vers 10.23.210.3 (le DNS)
13. L’aiguilleur vérifie si 10.23.210.3 (le DNS) est sur le réseau local
en comparant la partie réseau de l’adresse IP de l’interface 2 de
l’aiguilleur (10.23.210.X) avec la partie réseau de l’adresse IP du I
DNS (10.23.210.X). Résultat: parties réseau identiques. Il est SUI
le même réseau

181
-

INTERNET - TCP/IP SIMPLIFIÉ

Tableau 12.1 (suite)


Etape i Description
14. L’aiguilleur vérifie s’il a dans sa mémoire tampon ARP l’adresse
Ethernet de 10.23.210.3. Réponse: non, puisque tous les ordina-
teurs viennent d’être démarrés
-~
15. \ L’aiguilleur fait une requête ARP pour connaître l’adresse Ether-
/ net de 10.23.210.3 (le DNS)
16. Le DNS (10.23.210.3) répond à la requête ARP en donnant son
k~
/ adresse Ethernet
- -
17. 1 L’aiguilleur envoie un paquet IP dont:
( - l’adresse source IP est: 192.169.1.5
1 - l’adresse source Ethernet est: aiguilleur
I l’adresse de destination IP est: 10.23.210.3 (le DNS)
l-
, - l’adresse de destination Ethernet est: le DNS
18. 1Le DNS local reçoit le paquet IP C’est une demande de résolu-
/ tion pour connaître l’adresse IP de www.ulaval.ca
.~~-
19. Le DNS local vérifie dans sa mémoire tampon des noms s’il
--7connaît déjà cette information. Résultat: non, puisque tous les
ordinateurs viennent d’être démarrés
~-.
2qLe DNS local regarde dans ses fichiers de configuration et trouve
1 l’adresse IP d’un DNS central d’Internet
~~-.
--rifie si le serveur DNS central est sur le réseau
1 local en comparant sa partie réseau de l’adresse IP (10.23.210.X)
avec la partie réseau de l’adresse IP du serveur DNS central
(138.65.37.X). Conclusion: il n’est pas sur le même réseau
-57- , Le DNS local vérifie dans sa configuration l’adresse IP de
1 l’aiguilleur (10.23.210.2) pour la route par défaut
23. 1 Le DNS local vérifie s’il a dans sa mémoire tampon ARP
( l’adresse Ethernet de 10.23.210.2. Résultat: non, puisque tous les
ordinateurs viennent d’être démarrés
3+ Le DNS local fait une requête ARP pour connaître l’adresse
Ethernet de l’aiguilleur (10.23.210.2)
--+
25. 1 L’aiguilleur 10.23.210.2 répond à la requête ARP en donnant son
, adresse Ethernet

182
QUESEPASSE-T-IL VRAIMENTQUANDJ'ACCÈDEÀ UNEPAGEWEB?

- l’adresse de destination IP est: 138.65.37.3 (le DNS central)


- l’adresse de destination Ethernet est: aiguilleur

( 10.23.2 10.3) et vérifie dans sa table d’aiguillage le chemin pour


se rendre à 138.65.37.3 (le DNS central)
le paquet à l’aiguilleur du fournisseur Internet

Le DNS de .cu connaît l’adresse IP (173.16.8.1) de www.

(192.169.1.1) pour la route par défaut

- l’adresse source IP est: 192.169.1.5


, - l’adresse source Ethernet est: jupiter
- l’adresse de destination IP est: 173.16.8.1 (www.uZuv~Z.cu)
- l’adresse de destination Ethernet est: aiguilleur

183
INTERNET - TCPLP SIMPLIFIÉ

Tableau 12.1 (suite)


Étape 1 Description
. . . L’aiguilleur reçoit sur son interface 1 le paquet de jupiter
(192.169.1 S) et vérifie dans sa table d’aiguillage le chemin pour
1 se rendre à 173.16.8.1 (www.ulavaZ.ca)
. . . 1 L’aiguilleur trouve que c’est par l’interface 2 (10.23.210.1) qu’il
( va rejoindre l’aiguilleur 10.23.210.2
. . . Ta&$illeur vérifie s’il a dans sa mémoire tampon ARP l’adresse
Ethernet de 10.23.210.2. Réponse: non, puisque tous les ordina-
teurs viennent d’être démarrés
~ -
... L’aiguilleur fait une requête ARP pour connaître l’adresse Ether-
---r
net de 10.23.210.2 (l’autre aiguilleur)
l
. . . ) L’autre aiguilleur (10.23.210.2) répond à la requête ARP en don-
I nant son adresse Ethernet
y -
i L aiguilleur -
envoie un paquet IP à l’autre aiguilleur dont:
l’adresse source IP est: 192.169.1.5
11,1 adresse source Ethernet est: premier aiguilleur
- l’adresse de destination IP est: 173.16.8.1 (www.uZuwzZ.ca)
- l’adresse de destination Ethernet est: deuxième aiguilleur
-.~-~--
... i Le deuxième aiguilleur envoie le paquet à l’aiguilleur du foumis-
1 seur Internet qui effectue les mêmes démarches pour se rendre
I finalement à www.uZuvaZ.ca (173.16.8.1).
TLe serveur www.z&z~uZ.cu reçoit finalement la requête GET
! lindexhtml HTTP/l.O
~-~-.
... Le serveur www.uZuvuZ.cu renvoie la page HTML en plusieurs
paquets TCP envoyés à jupiter (192.169.1.5) en passant par les
1 m
... ê m e s é t a p e s
Jupiter reçoit les paquets, reconstitue la page HTML et la pré-
L
1 sente dans le logiciel client Web

Évidemment, le phénomène devient moins lourd rapidement car


les mémoires tampons du ARP et du DNS jouent un rôle très impor-
tant pour optimiser le trafic. Les données ainsi conservées dans les
mémoires tampons éviteront les requêtes ARP et DNS.
QUATRIÈME PARTIE

Autres protocoles

Cette quatrième partie traite des autres protocoles, moins


répandus ou utilisés dans des contextes particuliers. Par exem-
ple, les protocoles multipoint pour les vidéoconférences, la
nouvelle version du protocole IP et la gestion de réseaux par le
protocole SNMP.
Chapitre 13
Adressage multipoint
Votre ami est la réponse à vos
besoins. Il est votre champ que vous
ensemencez avec amour et moisson-
nez avec reconnaissance. Et il est
votre table et votre foyer: Car vous
venez à lui avec votre faim et vous le
recherchez pour la paix.
Le prophète, Khalil Gibran

ur les réseaux et en particulier sur Internet, on trouve maintenant

S des logiciels diffusant des signaux sonores ou vidéo permettant,


par exemple, la vidéoconférence. En utilisant une caméra bran-
chée sur son micro-ordinateur, on diffuse un signal vidéo numérique. Si
la conférence est diffusée en utilisant le protocole TCP/IP et qu’elle inté-
resse plusieurs personnes sur le même réseau local, l’ordinateur qui dif-
fuse ce signal vidéo devra envoyer chaque image à chaque ordinateur.
Au point de vue du trafic sur le réseau, chaque image sera envoyée qua-
tre fois s’il y a quatre ordinateurs récepteurs, ce qui peut congestionner
les réseaux, car les images même compressées demandent beaucoup de
largeur de bande. Dans ce mode, plus il y a de récepteurs de ces images,
plus le réseau sera congestionné rapidement. C’est le mode traditionnel
d’envoi des paquets: un expéditeur-un destinataire (unicust).
________________-___-----------------------,

_-_______-___-___-__------------, I
---------------------, I
I
I
--------- I I

Figure 13.1
Signal vidéo numérique envoyé à plusieurs destinataires

187
INTERNET - TCP/IP SIMPLIFIÉ

11 existe une façon d’envoyer un paquet à un groupe d’ordinateurs


(multicast). 11 faut cependant faire une distinction immédiatement
entre les messages généraux adressés à tous les ordinateurs d’un
même réseau sans exception (broadcast) et un paquet multipoint
adressé à certains ordinateurs (multicast).

13.1 Adresses de classe D


Les adresses IP de classe D (224.0.0.0-239.255.255.255) ont été
réservées à cette fin. Contrairement aux adresses IP qui correspon-
dent à un ordinateur, une adresse IP de classe D correspond à un
signal vidéo ou audio, comme un canal de télévision. Il suffit aux
ordinateurs désireux de recevoir le signal de «synthoniser» l’adresse
IP correspondante à ce signal.
À la différence de l’approche traditionnelle, il n’y a toujours
qu’une seule copie du signal vidéo peu importe le nombre de «spec-
tateurs».

Figure 13.2
Mode multipoint

Cette propriété vaut autant pour le réseau local que pour


l’ensemble d’Internet. En effet, depuis plusieurs années est expéri-
mentée une structure de diffusion de vidéoconférences sur Internet,
appelée MBONE (Multicast backBONE). Après entente avec votre
fournisseur Internet, vous pouvez recevoir ces diffusions et choisir
la conférence par son adresse IP de classe D.
En réalité, chaque adresse IP désigne un groupe d’ordinateurs
pouvant être dispersés sur l’ensemble d’Internet. L’appartenance

188
ADRESSAGE MULTIPOINT
~~.~~~--

d’un ordinateur à un groupe est dynamique, car il peut se débrancher


à sa guise.
Certaines adresses particulières ont été définies. Ces adresses
correspondent aux ordinateurs ou aux aiguilleurs situés sur le même
réseau local.

Tableau 13.1
Adresses particulières multipoint

Adresse 1 Description 7
) Tous les ordinateurs de ce sous-réseau
Tous les aiguilleurs de ce sous-réseau

13.2 Protocole IGMP


Le protocole IGMP (Internet Group Munagernent Protocol) permet
à un aiguilleur de savoir quels sont les ordinateurs qui écoutent quel-
les adresses multipoints. Chaque ordinateur envoie un message
général IGMP pour dire qu’il s’est abonné à tel groupe (ce qui cor-
respond à telle adresse IP). Si aucun ordinateur n’est abonné à tel
groupe (ce qui est équivalent à telle adresse IP ou encore telle vidéo-
conférence), l’aiguilleur ne diffusera pas ce signal sur le réseau. Le
protocole DVMRP (Distance kctor Multicast Routing Protocol) est
utilisé comme protocole d’aiguillage pour les paquets multipoints.
L’aiguilleur peut aussi envoyer un paquet IGMP à l’adresse
224.0.0.1 (c’est-à-dire les ordinateurs du réseau local) pour
connaître leur appartenance à chaque groupe multipoint.,Ils répon-
dent en donnant leur appartenance à chaque groupe. L’aiguilleur ne
maintient cependant pas de listes des ordinateurs abonnés pour
chaque groupe. L’aiguilleur diffuse chaque groupe multipoint qui
possède au moins un abonné sur son réseau local.

13.3 Références
Voici la liste des documents RFC pertinents pour ce chapitre. VOUS
pouvez les consulter à l’adresse http://ds.internic.net.

189
INTERNET - TCP/IP SIMPLIFIÉ

Tableau 13.2
RFC

RFC Titre
STD 5, Host extensions for IP multicasting
1112, !
1054,
988,
966
1075 Distance Vector Multicast Routing Protocol
Chapitre 14
Le nouveau protocole IP
La nature multiplie, sans objectg
les tentatives de solution face aux
problèmes posés par l’environne-
ment. Les réussites sont pa$ois
spectaculaires mais toujours pro-
visoires.
L.a matière et la vie,
Albert Jacquard

ne nouvelle version du protocole IP a été introduite récem-

U ment. Ses principales caractéristiques sont décrites dans ce


chapitre. Celui-ci s’adresse aux experts des réseaux qui
connaissent bien les paquets IP.
Depuis 1992, le protocole IP a été repensé pour répondre aux
nouveaux besoins. Un nombre beaucoup plus grand d’adresses IP
devient nécessaire. La croissance importante d’Internet rend les
tables de routage très larges. Une sécurité accrue ainsi que le sup-
port de nouvelles applications comme le temps réel, la mobilité et le
contrôle, doivent être envisagés.
Le déclencheur de ces travaux a été un rapport prédisant un man-
que d’adresses IP dans quelques années. En réalité, nous avons
232 adresses IP possibles car une adresse a 32 bits, mais le méca-
nisme des classes fait en sorte que l’espace des adresses-n’est pas
utilisé efficacement. Par exemple, une classe B permet 6.5 536 adres-
ses IP. Or, plusieurs organisations ont une classe B et possèdent seu-
lement quelques centaines ou milliers d’ordinateurs sur Internet.
Ces classes B sont donc sous-utilisées et quelque 60 000 adresses IP
par classe B ne peuvent être utilisées par une autre organisation sur
Internet. Des estimations plus précises ainsi que plusieurs efforts de
rationalisation ont permis d’entrevoir quelques années supplémen-
taires pour mettre en place la nouvelle version.

191
INTERNET - TCP/IP SIMPLIFIÉ

Le nouveau protocole est appelé IPvO (v6 pour version 6) car le


protocole IP que l’on utilise présentement est la version 4, inscrite
dans l’en-tête du paquet IP’. Il est aussi appelé IPNG pour Next
Generation en faisant référence à la série télévisée Star Trek.
Les concepteurs de IPvO avaient certains principes en tête:
l IPv6 devait être une évolution naturelle de IPv4;
l IPv6 ne devait nécessiter qu’une mise à jour de logiciel;
l IPvO ne devait pas obliger tout le monde à passer à la nouvelle
version au même moment;
l la facilité de transition devait être aussi importante que la
conception du nouveau protocole;
l IPv6 devait être efftcace autant dans les environnements à
large bande passante qu’à petite bande passante;
l IPvO devait devenir une base solide pour les nouveaux besoins
à venir;
l IPv6 devait intégrer les leçons apprises du projet MBONE
(Multicast backBONE), tant à la gestion qu’au déploiement
des réseaux à large bande passante;
l IPvO devait assurer la mobilité des ordinateurs suggérant ainsi
des fonctionnalités telles que l’aiguillage à grande échelle,
l’autoconfiguration et la confidentialité.
Les caractéristiques importantes de cette nouvelle version sont
décrites dans les sections suivantes.

14.1 Adressage plus important


Les nouvelles adresses IP ont maintenant 128 bits. 2’*s est égal à
environ 3,40 x 1038. Pour bien mesurer ce nombre, disons qu’il y a
665 570 793 348 866 943 898 599 adresses IPvO par mètre carré de
la surface de la Terre!
Ces adresses sont maintenant écrites en mode hexadécimal pour
condenser l’écriture. Une adresse IPvO ressemble à: 50AF:32CO:
1104:9031:341B:0095:0003:0104.
Quinze pour cent de l’ensemble des adresses seront allouées.
Quatre-vingt-cinq pour cent resteront réservées.

1. La version 5 est une version expérimentale et a été réservée.

192
I!X NOUVEAU PROTOCOLE IP
~_I_

Tous les ordinateurs utilisant IPv4 à l’heure actuelle auront auto-


matiquement une adresse IPv6 composée de 0 sur les 96 premiers
bits et des 32 bits de l’adresse IPv4. Ainsi, tous les ordinateurs bran-
chés sur Internet n’auront pas besoin de se faire allouer une nouvelle
adresse IP, car ils utiliseront l’adresse IP qu’ils ont déjà pour former
leur nouvelle adresse IPvO.
Pour permettre l’autoconfiguration automatique, les ordinateurs
ayant le protocole IPv6 auront automatiquement une adresse IPvO
au démarrage. Celle-ci sera composée de l’adresse de la carte
(Ethernet par exemple) précédée d’un préfixe. L’ordinateur pourra
se servir de cette adresse composée pour établir des connexions avec
d’autres ordinateurs de son réseau local et demander une configura-
tion complète à un serveur.
14.2 En-tête du paquet IP
L’en-tête du paquet IP est simplifié. Aucun élément optionnel n’est
présent et aucune somme de contrôle n’est inscrite, optimisant ainsi
le travail des aiguilleurs.
Aucune fragmentation n’est incluse. En effet, IPvO utilise le
mécanisme de la découverte de la taille maximale d’un paquet sur le
parcours pour éviter la fragmentation. Ce mécanisme existait dans
la version 4 mais n’était pas utilisé. En éliminant le traitement de la
fragmentation, les aiguilleurs et les ordinateurs seront plus efficaces
pour la réception des paquets IP.
L’en-tête est composé de la version du protocole (v6), d’une prio-
rité, du nombre maximal d’aiguilleurs (le TTL), de l’équivalent de
la taille maximale des paquets (MTU: Maximum Transmission
Unit), en v4 appelé Payload, de quelques éléments supplémentaires
et les adresses source et de destination IPvO à 128 bits chacune.
14.3 DNS
Considérant que les adresses IP à 128 bits deviennent relativement
fastidieuses à utiliser, les utilisateurs et les administrateurs de
réseaux devront utiliser largement les services du DNS. Une nou-
velle version du DNS permet de connaître, pour un ordinateur
donné, son adresse IPvO avec le nouveau champ appelé AAAA et

193
INTERNET - TCPHP SIMPLIFIÉ
~~~

son adresse IPv4 avec le champ A comme c’est le cas actuellement.


Par exemple, si j’interroge le DNS pour avoir l’adresse IPvO de
cZassic.viagenie.qc.ca, je fais une requête AAAA et il me renvoie
50AF:32CO:1104:9031:341B:0095:0003:0104. Si j’interroge le
DNS pour avoir l’adresse IPv4 de chsic.viugenie.qc.ca, je fais une
requête A et il me renvoie 206.123.31.5.

14.4 Transition
Le sommaire des étapes et des caractéristiques de la transition vers
IPvO sont décrites dans le tableau suivant.
l Un nouveau DNS qui supporte le champ AAAA pour les
adresses IPvO doit être mis en place préalablement.
l Un ordinateur à la fois peut être mis à jour à IPv6 sans affec-
ter le reste du réseau.
l Un nouvel ordinateur aura initialement comme adresse IPvO,
son adresse IPv4 précédée de 0.
l Les ordinateurs auront un pilote de réseau double: IPv4 et
IPv6.
l Lorsque deux ordinateurs IPvO sont séparés par un réseau
IPv4, l’enrobage des paquets IPvO à l’intérieur des paquets
IPv4 sera utilisé.

14.5 Références
Voici la liste des documents RFC pertinents pour ce chapitre. Vous
pouvez les consulter à l’adresse ht2p://ds.internic.net.

Tableau 14.1
RFC
l
RFC 1 Titre
1883 1 Internet Protocol, Version 6 (IPvO) Specification
-~
1884 1 IP Version 6 Addressing Architecture

I ’
1885 ’ Internet Control Message Protocol (ICMPv6) for the
Internet Protocol Version 6 (IPvO)
Chapitre 15
Gestion de réseaux avec SNMP
Le bonheur n’est pas dans l’avoir
mais dans 1 ‘être.
Contre vents et marées,
Benoît Gariépy

e chapitre présente le protocole SNMP (SimpZe Network

C Management Protocol) pour la gestion des réseaux. Il sert


aux responsables de réseaux pour connaître l’état de chaque
dispositif de réseau tel que les ponts, aiguilleurs, passerelles, ordi-
nateurs, serveurs et périphériques. On peut aussi modifier à distance
la configuration de ces dispositifs ou collecter des statistiques sur
ceux-ci, Le responsable de réseau utilise généralement une station
de gestion pour ce travail.

15.1 Station de gestion


Le protocole SNMP est utilisé par une station de gestion de réseaux
pour interroger les différents dispositifs de réseau tels que les ponts,
les aiguilleurs, les passerelles, les ordinateurs et les serveurs.

Figure 15.1
Schéma générique de gestion des dispositifs SNMP

195
INTERNET - TCPAP SIMPLIFIÉ

SNMP est un protocole utilisant TCP/IP. Chaque dispositif a une


adresse IP pour pouvoir être interrogé par la station de gestion.
Même si un concentrateur n’a pas besoin d’adresse IP pour jouer
son rôle, il en aura une pour la gestion. Ces dispositifs doivent être
«intelligents», c’est-à-dire avoir un programme résidant qui accu-
mule des statistiques diverses et qui répond aux requêtes venant de
la station de gestion. Ce programme est appelé un agent SNMP.
Les dispositifs peuvent aussi être configurés pour envoyer un
signal à la station de gestion lorsqu’un événement important arrive,
une interface de réseau déconnectée, par exemple. Le responsable
de réseau sera averti par la station de gestion de cet état. Une impri-
mante avec la gestion SNMP peut avertir un opérateur que le tiroir
de papier est vide.

15.2 Description des éléments: Management Information


Base (MIB)
L’information qu’on peut demander à une imprimante, telle que le
nombre de pages imprimées, n’est pas la même que celle qu’on
demande à un aiguilleur, telle que la description des routes actives.
La définition des éléments d’information pour un dispositif est un
MIB (Management Information Base). II a été décrit dans des RFC
une définition minimale normalisée d’un MIB pour chaque type de
dispositif, tel que les aiguilleurs, les ponts, les concentrateurs, les
imprimantes, etc. De plus, chaque manufacturier peut rajouter des
définitions particulières pour chacun de ses produits.
Le logiciel SNMP sur la station de gestion ne connaissant pas
tous les dispositifs existant sur le marché, le responsable doit donc
insérer le fichier de définition du MIB de chaque dispositif de son
réseau, dans le logiciel de gestion SNMP Celui-ci sera dès lors en
mesure d’interroger complètement chaque dispositif.
La définition des MIB est hiérarchique et se présente communé-
ment par des menus et sous-menus dans le logiciel de gestion ou
bien par une concaténation de la hiérarchie avec des points. Par
exemple, pour connaître le type de l’interface 3 d’un aiguilleur,
l’élément est: interfaces.ifTable.ifEntry.IfDescr.3. Pour connaître le
type du dispositif, l’élément est: system.sysDescr. 11 est possible

196
GE.VIONDERÉSEAUXAVEC SNMP

d’interroger un dispositif en parcourant toute la hiérarchie, c’est-


à-dire en lui demandant toutes les informations qu’il contient.

15.3 Événements
Un dispositif peut avertir une station de gestion d’un événement
(trap). Celui-ci sera traité par le logiciel de gestion SNMP L’adresse
IP de la station de gestion sera donc inscrite dans la configuration
SNMP du dispositif.

15.4 Modification de la configuration


SNMP permet aussi la modification de la configuration des disposi-
tifs. En effet, plusieurs paramètres SNMP peuvent être modifiés par
la station de gestion. On peut, par exemple, fermer une interface
réseau, commander un redémarrage du dispositif, modifier un para-
mètre de configuration. Dans ce contexte, le dispositif sera précon-
figuré pour permettre le changement de paramètres SNMP par une
station de gestion.

15.5 Mots de passe


Pour assurer un certain contrôle, SNMP version 1 supporte des mots
de passe appelés community rzames. Ceux-ci sont configurés sur le
dispositif et la station de gestion doit envoyer le bon mot de passe
pour être en mesure d’interroger ou de modifier le dispositif.

15.6 Configuration Windows


Chameleon est un agent SNMP qui peut être interrogé par la station
de gestion. Le premier panneau permet d’identifier le poste PC.
Cette information de base telle que le nom de l’ordinateur, le pro-
priétaire et l’endroit physique sera transmise 21 la station de gestion.

197
INTERNET - TCP/IP SIMPLIFIÉ
- - . ~~-

Figure 15.2
Panneau générique d’un client SNMP

On peut restreindre l’accès aux informations SNMP à une liste


d’adresses IP correspondant à une ou plusieurs stations de gestion,
en cliquant sur le bouton Add et en ajoutant les adresses IP.

Figure 15.3
Liste des stations de gestion

Lorsqu’un événement spécial arrive, Chameleon avertit la station


de gestion située dans le panneau suivant. En cliquant sur Add, on
insère l’adresse IP de la station de gestion.

198
GESTION DE R ÉSEAUX AVEC SNMP
- -

Figure 15.4
Stations de gestion recevant les événements

Les mots de passe (community) sont définis dans le panneau sui-


vant. Un mot de passe pour la lecture (Get) par la station de gestion
et un mot de passe pour la modification (Set). Dans l’exemple, les
mots de passe sont identiques: public.

Figure 15.5
Mots de passe SNMP

199
INTERNET - TCPLP SIMPLIFIÉ

15.7 Configuration Macintosh


L’agent SNMP de la compagnie Intercon sur Macintosh est sem-
blable à celui de Chameleon quant à sa configuration. Le Read
Community est le mot de passe pour la lecture et le Write Com-
munity est le mot de passe pour la modification par la station de
gestion. L’adresse IP de la station de gestion qui recevra les événe-
ments est précisée avec Trap Address.

InterCon SNMP Agent


e
1991 , Ii-h-Con Systsms Corporation

.. . . . . . . . . * . . . . . . . . . . . . . . . . . . . . , . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contact:

Location :
l
Name : l
.. .. .. .. .. .. .* .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..I.. .. .* .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
I 1
Road Community :
I

Write Community :
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .J. . . . . . . .

Trap Addreçç :
I I

Trap Community :
I

Figure 15.6
Panneau de configuration SNMP sur Macintosh

15.8 Liste des services


Voici la liste des services pertinents pour ce chapitre.

200
GESTIONDERL~EAUXAVEC SNMP

Tableau 15.1
Services

1;;
Gestion de réseaux OS1 163,164 tcp/udp

15.9 Références
Voici la liste des documents RFC pertinents pour ce chapitre. Vous
pouvez les consulter à l’adresse http://ds.internic.net.

Tableau 15.2
RFC

RFC Titre
,
1157 Simple Network Management Protocol
1156 Management Information Base for Network
Management of TCP/IP-based intemets
1155 / Structure and Identification of Management
1 Information for TCP/IP-based intemets

P
Conclusion
Être utopiste, c’est choisir une étoile
vers laquelle se diriger L’espoir est
non pas de l’atteindre, mais de par-
venir à lui être fidèle.
Albert Jacquard

e livre tente de faire comprendre les différents éléments de

C la suite de protocoles TCP/IP. En commençant par les adres-


ses IP, la traduction des noms avec le DNS, l’aiguillage et le
transport, les éléments fondamentaux ont été abordés. Ensuite, les
applications les plus répandues ont été traitées pour mieux saisir les
interactions entre les clients et les serveurs.
En donnant des exemples pratiques incluant des panneaux de
configuration de logiciels, cela vous a permis, j’espère, de pouvoir
lier la théorie avec la pratique. Pour éviter d’être encyclopédique, je
n’ai pu couvrir toutes les versions de tous les logiciels TCP/IP Je
crois tout de même que vous serez en mesure de pouvoir traduire
aisément les exemples dans les différentes versions ou les différents
logiciels que vous utilisez.
J’espère que cette humble introduction technique à TCP/IP et aux
applications Internet vous permettra de mieux apprivoiser vos logi-
ciels et vos pilotes de réseau et de mieux comprendre les implica-
tions de chaque élément de cette belle réalisation technique qu’est
Internet!

203
Annexes

Les annexes suivantes sont des tableaux résumés aux fins de


référence. Plusieurs d’entre eux ont été constitués à partir de
mon expérience pratique de gestion de réseaux. En espérant
qu’ils vous seront utiles.
Annexe 1
Table des masques
de sous-réseau
Tableau Al.1
Liste des masques de sous-réseau

~000000 255.0.0X ) A*
9/23 1223=8388608 /11111111 10000000-0000000000000000 FS00000 255.128.0.( ) A
10/22i222=4194304 / l l l l l l l l 1lOOQOOOOOOOOOOOOOOOOOOO Fcooooo 255.192.0.( ) A
:FE00000 255.224.O.c) A
FFooooa 255.24O.O.c 1 A
TF80000 255.248.0X 1 A
14/18~218=262144 /11111111 111111000000000000000000 FFcoooa 255.252.0X ) A
li/l7i217= 131072 / 111111111 111111100000000000000000 TFFEOOOO 255.254.O.c) A
16/161216=65536 111111111111111110000000000000000 FFFFoooa 255.255.0X ) A,B*
17/151215= 32768 jllllllll 111111111000000000000000 FTTFSOOO 25q255.128.c 1 .%B
18/141214= 16384 llllllll llllllll 11000000000000001F FFFCOCK 255.255.192.( 1 A3
19/13i213= 8192 /111111111 llllllll 111000000000OOll0 n+moa 255.255.224.c ) A3
2002 212= 4096 l l l l l l l l 11111111 111100000000m TFFFoilo 255.255.240X ) A.B
2101 211= 2048 l l l l l l l l 11111111 1111100000000000 +-FFFSOO 255.255.248X 1 &B
2200 210= 1024 l l l l l l l l 11111111 111111000000ooo0 FFFFCM 255.255.252X1 .%B
23/9 129=512 ~11111111 11111111 1111111000000000 FFFFEOC 255.255.254.c 1 A,B
24/X I28= 256 lllllïlll
1
11111111 1111111100000000 -00 255.255.255S )A.AC
~11111111 11111111 11111111 10000000~FFFFFF80 55.255.255.12t s iLBS
~11111111 11111111 11111111 1lOOOOOO~FFFFFFC( 55.255.255.19: ! iLB.(
2715 / 25= 32 F
l l l l l l l l 1111111111111111 11100000 FFFFFH 55.255.255.22~ t JLB.(
2814 !24=
I
16 l
l l l l l l l l l l l l l l l l l 111111111111OilO0 FFFFFFFC 55.255.255.24( 1 ILB,C
2913 i23= 8 llllllll 111111111111111111111000 FFFFFFFE 55.255.255.24f 1 !LBS
3012 /22=4 111111111111111111111111 11111100 i+‘F’FFFF( 55.255.255.25: ! ILB,C
3111 l21=2 llllllll llllllll 11111111 11111110L iF 55.255.255.25‘ i /LBS

* L’astérisque * signifie que le masque de cette ligne du tableau est le masque par
défaut de cette classe.

207
Annexe 2
Table des numéros de ports IP
oici une liste partielle des ports IP (TCP ou UDP)

V provenant de la liste offlciellel. Celle-ci est relativement


complète (plus de 700 entrées) et est disponible dans le
RFC 1700. Les ports 0 à 1023 sont les ports privilégiés. Les ports
1024-65535 sont les ports non privilégiés. Les services communs
sont en caractères gras.

Tableau A2.1
Liste des ports

Mot clef / No de port Transport Description


tcpmux / 1 tcp TCP Port Service Multiplexer

systat 11 tcp Active Users


daytime 13 tcp-udp Daytime
tcp-udp Character Generator
tcp File Transfer [Default Data]
tcp File Transfer [Control]
tcp Telnet
smtp 25 tcp Simple Mail Transfer
time 37 tcp-udp Time
nicname 43 tcp Who 1s
tacacs 49 udp Tacacs (Cisco)
domain 53 tcp-udp 1 Domain Name Server
tacacs-ds 65 udp TACACS-Database Service
sql*net 66 tcp Oracle SQL*NET
bootps 67 udp Bootstrap Protocol Server

1. Une liste détaillant les ports utilisés habituellement est tenue à jour sur le site
Web http://www.viagenie.qc.ca.

209
INTERNET - TCP/IP SIMPLIFIÉ

Tableau A2.1 (suite)

- -
kerberos 88 tcp-udp Kerberos
hostname 101 tcp NIC Host Name Server
GGF 103 tcp x.400
X400-snd 104 t cP x.4ooseG~
~~
Mailbox Name Nameserver
-~ POP password
POP2 , 109 tcp Post Office Protocol - Version 2
t POP3 110 tcp Post Office Protocol - Version 3
sunrpc 111 tcp-udp SUN Remote Procedure Cal1 -

Network News Transfer Protocol


i

sql-net 150 I tcp SQL-NET


sqlsrv 156 tcp SQL Service
snmp 161 udp S N M P ~-
snmptrap 162 udp SNMPTRAP
cmip-man
-F-rTCMIP/TCP Manage------
:cmip-agent 1 164 CMIP/TCP Agent
-~.
xdmcp 177 X Display Manager Control Protocol
nextstep 178 NextStep Window Server
‘xp 179 Border Gateway Protocol
prospero 1 9 1 t-Prospero Directoty Service
1 1
ire 9 4 ’ Internet Relay Chat Protocol
tat-rtmp j 201 AppleTalk Routing Maintenance

210

-...---
ANNEXES

Prospero Data Access Protocol

remote process execution (Gxec)

printer - 1 515 j printer spooler (Ipr)


/ t a l k ~--

L ~.
rmonitor / 560 udp rmonitord
monitor i 561 4’
9pfs I py 91 564 f i l e s e r v i c e
w i 6 0 7 n s -
- ~~
doom 1666 T--zyxwvutsrqponmlkjihgfed
i doom Id Software

211
INTERNET - TCP/IP SIMPLIFIÉ

Tableau A2.1 (suite)

coauthor 1529 oracle


radius 1645 udp Radius
radacct 1646 udp Radius accounting
proshareaudio 165 1 proshare conf audio
prosharevideo 1652 proshare conf video
prosharedata 1653 proshare conf data
prosharerequest 1654 proshare conf request
prosharenotify 1655 proshare conf notify
cisco Gateway Discovery Protocol
NFS server daemon
System V listener port
cc:mail/lotus
NFS lock daemommanager
xl1 6000-6063 udp X Window System
real audio 7070 , tcp-udp Real Audio
font-service ’ 7100 udp X Font Service
cu-seeme 7648 tcp-udp Cu-Seeme
Annexe 3
Table des caractères ISO 8859-l
oici la table des caractères accentués de la norme ISO

V 8859-l. Nous avons inscrit les correspondances dans le


codage HTML et MIME,

- -
--~ -
. . A8 168 250 &uml; =A8 I Tréma
0
a ‘A9
AA 169 1 252
170 251
&ordf;
&copy; ,=A; / E;ynr;,,,
i
“ AB 1 171 253 &laquo; / =AB ] Guillemet gauche -
1 AC 172 ! 254 &not; -m, Négation
~-~~
- AD 173 255 j &shy; =AD Trait d’union -
CO AE 174 256 I &reg; - ! =AE Enregistré
- AF 175 257 &hibar; ) =AF Macron
“IgO 176 j 260 ) &deg; =BO 1 Degré
2 Bl 177 261 1 &plusmn; i =Bl Plus-moins
2 B21 178 262 &sup2; GB2 Exposant deux
3 jB3 179 , 263 &sup3; 1 =B3 Exposant trois
t

213
INTERNET - TCP/IP SIMPUFIÉ

&acute; =B4 Accent aigu


&micro; =B5 Micro
&Para; =B6 Paragraphe
183 1 267 &middot; =B7 Point au milieu
&cedil; =B8 Cédille
&supl; =B9 Exposant un
&ordm; =BA Ordinal
&raquo; =BB Guillemet droit
&fracl4; =BC
&frac 12; =BD
&frac34; =BE Fraction trois-quarts
&iquest; =BF Point d’interrogation inversé
&Agrave; =co Lettre majuscule A avec accent
grave
&Aacute; =Cl Lettre majuscule A avec accent
aigu
&Acirc; =c2 Lettre majuscule A avec accent
circonflexe
&Atilde; =c3 Lettre majuscule A avec tilde
&Auml; =c4 Lettre majuscule A avec tréma
-~
&Aring; =c5 Lettre majuscule A avec cercle
198 1 306 &AElig; - =C6 Ligature AE
&Ccedil; =Cl Lettre majuscule C avec cédille
&Egrave; =C8 Lettre majuscule E avec accent
grave
&Eacute; =c9 Lettre majuscule E avec accent
aigu
&Ecirc; =CA Lettre majuscule E avec accent
circonflexe
203 1313 &Euml; =CB Lettre majuscule E a<c tréma
204 1 314 &Igrave; =CC Lettre majuscule 1 avec accent
grave
&Iacute; =CD Lettre majuscule 1 avec accent
aigu
&Icirc; =CE Lettre majuscule 1 avec accent
circonflexe
&Iuml; =CF Lettre majuscule 1 avec tréma

214
ANNEXES
..~

D DO 208 320
&ETH; =DO Lettre majuscule ETH
&Dstrok;
N D 1 209 321 &Ntilde; =Dl Lettre majuscule N avec tilde
Ô D2 210 I 322 &Ograve; ! =D2 Lettre majuscule 0 avec accent
grave
0 D3 211 323 &Oacute; / =D3 Lettre majuscule 0 avec accent
aigu
Ô / D4 1 212 324 1 &Ocirc; =D4 Lettre majuscule 0 avec accent
circonflexe
0 ~
D5 213+1-----i
325 &Otilde. =D5 Lettre majuscule 0 avec tilde
q D6 214 326 &Ouml; i =D6 Lettre majuscule 0 avec tréma
x D7 215 327 &nes; =D7 Multiplication
0 D8 1 216 330 &Oslash; =D8 Lettre majuscule 0 avec
I diagonale
Lettre majuscule U avec accent
- grave -
Lettre majuscule U avec accent

Lettre majuscule Y avec accent

Lettre minuscule a avec accent--

Lettre minuscule a avec accent

Lettre minuscule a avec accent


circonflexe

Lettre minuscule a avec tréma


_-
Lettre minuscule a avec cercle

Lettre minuscule c avec cédille


Lettre minuscule e avec accent

215
INTERNET - TCP/IP SIMPLIFIÉ

Lettre minuscule e avec accent


~-.
Lettre minuscule e avec accent

Lettre minuscule e avec tréma

i ED 237 355 &iacute; Lettre minuscule i avec accent


aigu
î EE 238 356 . TEE
&tctrc; Lettre minuscule i avec accent
circonflexe
ï EF 239 357 &iuml; = E F Lettre minuscule i avec tréma
Lettre minuscule ETH
Lettre minuscule n avec tilde
Lettre minuscule o avec accent

Lettre minuscule 0 avec accent

Lettre minuscule u avec accent

Lettre minuscule u avec accent

-Lettre minuscule «thorn»


Lettre-minuscule y avec tréma
Annexe 4
Table des objets MIME

L
e tableau suivant dresse une liste partielle des types d’objets
MIME. La liste complète est disponible à f@:/Jtp.isi.edu/
in-notes/iana/assignments/media-types/media-types.

1 Nom

1 text/enriched
1 textkab-separated-values

applicationipdf
INTERNET - TCP/IP SIMPLIFIÉ

Nom
application/zip
application/msword
application/mathematica
application/cybercash
image/jpeg
image/gif
imagelg3fax
image/pict
image/tiff
audiolaiff
audiofbasic
~-~
video/mpeg
-video/quicktime
Annexe 5
Abréviations de
télécommunication

L
e premier tableau donne la signification des différentes
bandes passantes utilisées dans les liens de télécommu-
nication.

Tableau A5.1
Normes en télécommunications

Nom 1 Signification 1 Équivalent


DS-0 156-64 kbits par seconde
DS-1 Ï .544 Mbits par seconde i 24 * DS-0
DS-2 6.3 12 Mbits par seconde 1 4 * DS-1
DS-3 / 44.736 Mbits parseconde 28 * DS-1
DS-4 1 274.176 Mbits parseconde 6 * DS-3
oc- 1 5 1.84 Mbits par seconde 1 * DS-3
oc-3 1 155.52 Mbits Dar seconde 3 * DS-3
oc-9 1 466.56 Mbits Dar seconde 1 9 * DS-3
oc-12 622.08 Mbits par seconde 1 12*DS-3
OC-18 933.12 Mbits par seconde j 18 * DS-3
OC-24 /j 1244.16 Mbits par seconde 2 4 * l%-3
OC-36 ~ 1866.24 Mbits Dar seconde 36 * DS-3
OC-48 1 2488.32 Mbits par seconde 1 48 * DS-3
OC-96 ’ 4976.64 Mbits par seconde 96 * DS-3
OC-192 9953.28 Mbits par seconde 192 * DS-3
Tl j 1.544 Mbits par seconde ! 24 * DS-0
T2 / 6.312 Mbits Dar seconde / 4*T-1
T3 144,736 Mbits par seconde ~ 28 *T-l
T4 1274.176 Mbits par seconde 1 6*T-3

OC = Optical Carrier (norme SONET)


DS = Digital System

219
INTERNET - TCP/IP SIMPLIFIÉ

Le deuxième tableau dresse la liste des normes internationales


pour les modems et leur vitesse de transmission.

Tableau A5.2
Normes pour les modems
Normes des modems /
Bell 103 1 300 bauds (bitsheconde)
1 V.22 (Bell 212) 11 200 bauds

/ V.32 terbo 119 200-21 600 bauds

j 31 200 - 33 600 bauds


1Contrôle des erreurs
1Compression des données 1
1 MNP 2,3,4 1Contrôle des erreurs
/ MNPS IComtxession des données 1

1. V.FC a été proposé par Rockwell, mais n’a pas été adopté comme norme
internationale.
Annexe 6
Caractéristiques
de câblage Ethernet
Le tableau suivant donne les caractéristiques générales d’Ethemet.

Tableau A6 I
Caractéristiques générales d’Ehemet

Connec- / Fils
teurs I

sans gaine, 24AWG,

lOBase

1OBaseS 1Thick 50M entre


I modulateur et câble

1ST ! fibre optique


Ethernet 100
Mbitskec.
1 OOBaseTX 2 paires de fils torsadés,
sans gaine, catégorie 5
1OOBaseFX 1 fibre optique multimode 400M
L

Dans le cadre des paires de fils torsadés pour le lOBaseT, les pins
du connecteur RJ-45 sont identifiées dans le tableau suivant.

221
INTERNET - TCPLP SIMPLIFIÉ

Tableau A62
Signaux sur un connecteur RJ-45 lOBaseT

Pour permettre une inversion lorsque deux ordinateurs se


branchent directement ou que deux concentrateurs se branchent
directement, le tableau suivant montre l’inversion des fils.

Tableau A6.3
Fils inversés pour une connexion entre deux ordinateurs
ou deux concentrateurs

Pin bout #l Pin bout #2


1 3
2 / 6
/
3 --/-
6 i 2

Les catégories de fils permettant les bandes passantes sont pré-


cisées dans le tableau suivant.

Tableau A64
Catégories de fils torsadés

Catégorie Bande passante maximale


Annexe 7

Table de conversion
du mode décimal à binaire
déc. binaire déc. binaire I
28 00011100 56 00111000
29 00011101 57 00111001
30 00011110 58 00111010
31 00011111 59 00111011
32 00100000 60 00111100
33 00100001 61 00111101
34 00100010 62 00111110
35 00100011 63 00111111
36 00100100 64 01000000
37 00100101 65 01000001
38 00100110 66 01000010
39 00100111 67 01000011
40 00101000 68 01000100
41 00101001 69 01000101
42 00101010 70 01000110
43 00101011 71 01000111
24 00101100 72 01001000
45 00101101 73 01001001
46 00101110 74 01001010
47 00101111 75 01001011
48 00110000 76 01001100
49 00110001 77 01001101
50 00110010 78 01001110
51 00110011 79 01001111
52 00110100 80 01010000
53 00110101 81 01010001
54 00110110
55 00110111

223
INTERNET - TCP/IP SIMPLIFIÉ

84 01010100 120 01111000 156 10011100


85 01010101 121 01111001 157 10011101
86 01010110 122 01111010 158 10011110
87 01010111 123 01111011 - 159 10011111
88 01011000 124 01111100 160 10100000
89 01011001 125 01111101 161 10100001
90 01011010 126 01111110 162 10100010
91 01011011 127 01111111 163 10100011
92 01011100 - 128 10000000 164 10100100
93 01011101 129 10000001 165 10100101
94 01011110 130 10000010 166 10100110
95- 01011111 -131 10000011 167 10100111
96 01100000 132 10000100 168 10101000
97 01100001 133 10000101 169 10101001
98 01100010 134 10000110 170 10101010
99 01100011 135 10000111 171 10101011
100 01100100 136 10001000 172 10101100
101 01100101 137 10001001 - 173 10101101
102 01100110 138 10001010 174 10101110
103 01100111 139 10001011 175 10101111
104 01101000 140 10001100 176 10110000
105 01101001 141 10001101 177 10110001
106 01101010 142 10001110 178 10110010
107 01101011 143 10001111 179 10110011
108 01101100 144 10010000 180 10110100
109 01101101 145 10010001 181 10110101
110 01101110 146 1oo1o010 182 10110110
Ti- 01101111 147 10010011 183 10110111
112 01110000 148 10010100 184 10111000
113 01110001 149 10010101 185 10111001
114 01110010 150 10010110 186 10111010
115 01110011 151 10010111 187 10111011
116 01110100 152 10011000 188 10111100
117 01110101 153 10011001 189 10111101
118 01110110 154 10011010 190 10111110
119 01110111 155 10011011 191 10111111

224
ANNEXES

192 11000000 214 11010110 236 11101100


193 11000001 215 11010111 237 11101101
194 11000010 216 11011000 238 11101110
195 11000011 217 11011001 239 11101111
196 11000100 218 11011010 240 11110000
197 11000101 219 11011011 241 11110001
198 11000110 220 11011100 242 11110010
199 11000111 221 11011101 243 11110011
200 11001000 222 11011110 244 11110100
201 11001001 223 11011111 - 245 11110101
202 11001010 224 11100000 246 11110110
203 11001011 225 11100001 247 11110111
204 11001100 226 11100010 -248 11111000
205 11001101 227 11100011 249 11111001
206 11001110 228 11100100 250 11111010
207 11001111 229 11100101 251 11111011
208 11010000 230 11100110 252 11111100
209 11010001 231 11100111 253 11111101
210 11010010 232 11101000 254 11111110
211 11010011 233 11101001 255 11111111
212 11010100 234 11101010
213 11010101 235 11101011
Bibliographie

Aiguillage
Cisc0 Systems, Router Products Command Reference and Conjigu-
ration Guide, 1994.
Huitema, Christian, Le routage dans Z’lnternet, Eyrolles, 1995.

Courrier électronique
Costales, Bryan et al., Sendmail, O’Reilly & Associates, 1994.
Rose, Marshall, The Internet Message, Prentice-Hall, 1993.

DNS
Albitz, Paul et Liu,Cricket, DNS and BZND, O’Reilly & Associates,
1994.

Gestion de réseaux SNMP


Rose, Marshall T., The Simple Book: An Introduction to Manage-
ment of TCP/IP-based Inter-nets, Prentice-Hall, 1991.

Histoire d’Internet et Unix


Huitema, Christian, Et Dieu créa Z’lntemet.. . , Eyrolles, 1995.
Salus, Peter, A Quarter Century of Unix, Addison-Wesley, 1994.
Salus, Peter, Casting the Net, Addison-Wesley, 1995.

Internet
Sohier, Danny, Guide de Z’lnternaute, Éditions logiques, Montréal,
1996.

IPvO
Bradner, Scott et Mar&in, Allison, éditeurs, IPng: Internet Protocol
Next Generation, Addison-Wesley, 1996.
Huitema, Christian, IPv6: The New Internet Protocol, Prentice-Hall,
1996.

227
INTERNET - TCPLP SIMPLIFIÉ

Programmation de logiciels TCP/IP


Stevens, Richard, Unix Network Progrumming, Prentice-Hall, 1990.
Bonner, Pat, Network Programming with Windows Sockets,
Prentice-Hall, 1996.

Sécurité
Chapman, Brent et Zwicky, Elizabeth, Building Internet Firewalls,
O’Reilly & Associates, 1995.
Cheswick, William et Bellovin, Steven, Firewalls and Internet Secu-
rity, Addison-Wesley, 1994.
Garfinkel, Simson, PGP Pretty Good Privacy, O’Reilly & Associa-
tes, 1995.
Garfinkel, Simson et Spafford, Gene, Practical Unix Security,
O’Reilly & Associates, 1994.

Serveurs Internet
Liu, Cricket et al., Managing Internet Information Services,
O’Reilly & Associates, 1994.

TCP/IP
Corner, Douglas, Znternetworking with TCPLP, Vol. 1, Prentice-
Hall, 1991.
Corner, Douglas et Stevens David, Znternetworking with TCP/ZP,
Vol. II, Prentice-Hall, 199 1.
Corner, Douglas, Znternetworking with TCP/ZP, Vol. III, Prentice-
Hall, 1993.
Hunt, Craig, TCP/ZP Network Administration, O’Reilly 8z Associa-
tes, 1992.
Stevens, Richard, TCP/ZP Zllustrated, vol. 1, Addison-Wesley, 1994.
Wright, Gary et Stevens, Richard, TCP/ZP Zllustrated, vol. 2,
Addison-Wesley, 1995.

228
BIBLIOGRAPHIE

Unix
Frisch, Aeleen, Essential System Administration, O’Reilly 8z Asso-
ciates, 199 1.
Kirch, Olaf, Linux Network Administrator’s Guide, O’Reilly &
Associates, 1995.
Nemeth, Evi, Snyder, Garth et Seebass, Scott, Unix System Adminis-
tration Handbook, Prentice-Hall, 1989.
SunSoft, Solaris 2.3 Documentation, 1993.
Adresses utiles sur Internet
http://ds.internic.net: liste des documents RFC et autres documents
techniques sur les normes TCP/IP
http://www.ietjIorg: site de 1’IETF (Internet Engineering Task
Force). Tous les travaux courants de normalisation des protocoles
Internet sont décrits dans ce site.
http://www.iana.org: site de 1’IANA (Internet Assigneed Numbers
Authority). Toutes les définitions de numéros TCP/IP sont décrites
dans ce site.
http://info.itu.ch: normes internationales de télécommunications de
1’ITU (International Telecommunications Union).
http.V/www.iso.ch: organisme international de normalisation (Znter-
national Organization for Standardization)

231
Glossaire
ARP: Address Resolution Protocol
BGP: Border Gateway Protocol
BOOTP: Bootstrap Protocol
CGI: Common Gateway Inte$ace
CHAP: Challenge-Handshake Authentication Protocol
UDR: Classless InterDomain Routing
CSLIP: Compressed Serial Line Internet Protocol
DHCP: Dynamic Host Configuration Protocol
DIX: Digital Intel Xerox
DNS: Domain Name System
DS: Digital System
ESMTP: Extended Simple Mail Transport Protocol
FDDI: Fiber Distributed Data Integace
HDLC: High-Level Data Link Control
HTML: HyperText Markup Language
HTTP: HyperText Transport Protocol
HTTPS: HyperText Transport Protocol (Secure)
IANA: Internet Assigned Numbers Authority
ICMP: Internet Control Message Protocol
IEEE: Institute of Electrical and Electronics Engineers
IETF: Internet Engineering Task Force
IGMP: Internet Group Management Protocol
IP: Internet Protocol
IPCP: Internet Protocol Control Protocol
IPNG: Internet Protocol Next Generation
ISDN: Integrated Services Digital Network
LCP: Link Control Protocol

233
INTERNET - TCPLP SIMPLIFIÉ

MD5 Message Digest 5


MIB: Management Information Base
MIME: Multipurpose Internet Mail Extensions
MRU: Maximum Receive Unit
MSS: Maximum Segment Size
MTU: Maximum Transmission Unit
MX: Mail exchanger
NCP: Network Control Protocol
NCSA: National Center for Supercomputing Applications
NDIS: Network Device Inter$ace Spectjïcation
NNTP: Network News Transfer Protocol
OC: Optical Carrier
ODI: Open Data-Link Inter$ace
OSPF: Open Shortest Path First
PAP: Password Authentication Protocol
POP: Post Office Protocol
PPP: Point to Point Protocol
RARP: Reverse Address Resolution Protocol
RFC: Request For Comments
RIP: Routing Information Protocol
RNIS: Réseau Numérique à Intégration de Services
RWIN: Window Size
SGML: Standard Generalized Markup Language
SLIP: Serial Line IP
SMTP: Simple Mail Transfer Protocol
SNMP: Simple Network Management Protocol
SSL: Secure Socket Layer
TCP: Transmission Control Protocol
TTL: Time TO Live

234
GLOSSAIRE

UDP: User Datagram Protocol


URL: Uniform Resource Locator
W3: World Wide Web
Web: World Wide Web
Winsock: Windows Sockets
WWW: World Wide Web
Liste des tableaux
Tableau 2.1: Adresse IP en mode décimal et binaire.. ......... 34
Tableau 2.2: Séparation entre le numéro du réseau et de
l’ordinateur ...................................................... 37
Tableau 2.3: Masque de sous-réseau.. .................................. 37
Tableau 2.4: Classes d’adresses IP.. ..................................... 39
Tableau 2.5: Adresses pour un réseau privé ........................ 39
Tableau 2.6: Adresses de message général .......................... 41
Tableau 2.7: Adresses de réseau .......................................... 42
Tableau 2.8: Détail d’un paquet IP ...................................... 43
Tableau 2.9: RFC ................................................................. 50
Tableau 3.1: Exemple d’un fichier /etc/hosts dans Unix.. ... 51
Tableau 3.2: Étapes de résolution d’un nom dans le DNS . . 55
Tableau 3.3: Syntaxe du fichier /etc/named.boot ................. 66
Tableau 3.4: Syntaxe du fichier descriptif d’un domaine.. .. 67
Tableau 3.5: Syntaxe du fichier descriptif d’un domaine
pour l’adressage inverse .................................. 68
Tableau 3.6: RFC ................................................................. 68
Tableau 4.1: Table typique des routes de l’ordinateur
192.168.1.5.. .................................................... 69
Tableau 4.2: Table typique des routes de l’ordinateur
192.168.1.5.. .................................................... 74
Tableau 4.3: Comparaison sommaire des protocoles
d’aiguillage RIP et OSPF.. .............................. 79
Tableau 4.4: Configuration simple d’un aiguilleur Cisc0 .... 84
Tableau 4.5: RFC ................................................................. 85
Tableau 5.1: Valeurs du champ protocole d’un paquet PPP 93
Tableau 5.2: RFC ................................................................. 102
Tableau 6.1: Table des paramètres MTU, MSS et WIN.. .... 112
Tableau 6.2: Syntaxe du fichier inetd.conf .......................... 113
Tableau 6.3: RFC ................................................................. 114
Tableau 7.1: Description d’une URL ................................... 118
Tableau 7.2: Protocole HTTP............................................... 119

237
INTERNET - TCP/IP SIMPLIFIÉ
--

Tableau 7.3: Exemple détaillé d’une requête GET du


protocole HTTP.. ............................................. 120
Tableau 7.4: Services ........................................................... 130
Tableau 7.5: RFC ................................................................. 131
Tableau 8.1: Séquence de transfert de courrier SMTP.. ...... 134
Tableau 8.2: Conversation POP ........................................... 136
Tableau 8.3: Conversation APOP.. ....................................... 139
Tableau 8.4: Description des en-têtes de courrier.. .............. 140
Tableau 8.5: Description des en-têtes MIME ...................... 142
Tableau 8.6: Séquence VRFY-EXPN de SMTP .................. 143
Tableau 8.7: Services ........................................................... 148
Tableau 8.8: RFC ................................................................. 148
Tableau 9.1: Conversation NNTP ........................................ 150
Tableau 9.2: Protocole NNTP .............................................. 151
Tableau 9.3: Services ........................................................... 152
Tableau 9.4: RFC ................................................................. 152
Tableau 10.1: Interaction entre client et serveur Telnet ......... 153
Tableau 10.2: Différences principales entre Telnet et Rlogin 155
Tableau 10.3: Services ........................................................... 158
Tableau 10.4: RFC ................................................................. 158
Tableau 11.1: Séquence ARP pour la correspondance des
adresses IP et Ethernet.. .................................. 164
Tableau 11.2: Taille maximale d’un paquet sur quelques
médiums physiques ......................................... 168
Tableau 11.3: Quelques exemples de types de paquets
Ethernet ........................................................... 170
Tableau 11.4: Liste des principaux paramètres de Bootp ...... 176
Tableau 11.5: RFC ................................................................. 177
Tableau 12.1: Description de l’interaction entre les
ordinateurs ....................................................... 181
Tableau 13.1: Adresses particulières multipoint.. .................. 189
Tableau 13.2: RFC ................................................................. 190
Tableau 14.1: RFC ................................................................. 194
Tableau 15.1: RFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Tableau 15.2: RFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Tableau A 1.1: Liste des masques de sous-réseau . . . . . . . . . . . . . . . . . . . 207

238
LISTEDES TABLEAUX

Tableau A2.1: Liste des ports ................................................. 209


Tableau A5.1: Normes en télécommunications ...................... 2 19
Tableau A5.2: Normes pour les modems.. .............................. 221
Tableau A6.1: Caractéristiques générales d’Ethernet.. ........... 22 1
Tableau A6.2: Signaux sur un connecteur RJ-45 lOBaseT.. .. 222
Tableau A6.3: Fils inversés pour une connexion entre deux
ordinateurs ou deux concentrateurs.. ............... 222
Tableau A6.4: Catégories de fils torsadés.. ............................. 222
Liste des figures
Figure 1.1: Classification des sept niveaux ISO avec
TCPHP, Netware et Appletalk.. ....................... 27
Figure 1.2: Schéma des protocoles IP ............................... 28
Figure 1.3: Fonction d’un répéteur dans le modèle ISO ... 30
Figure 1.4: Exemple d’un pont .......................................... 30
Figure 1.5 : Fonction d’un pont dans le modèle ISO ......... 31
Figure 1.6: Fonction d’un aiguilleur dans le modèle ISO . 31
Figure 1.7: Fonction d’une passerelle dans le modèle
ISO.. ................................................................. 32
Figure 2.1: Réseau IP simple.. ........................................... 34
Figure 2.2: Réseau IP avec aiguilleur.. .............................. 35
Figure 2.3: Séparation 24/8 de l’adresse IP pour un
ordinateur ......................................................... 36
Figure 2.4: Séparation 24/8 de l’adresse IP pour un
2e ordinateur.. .................................................. 36
Figure 2.5: Séparation 27/5 de l’adresse IP pour un
ordinateur ......................................................... 37
Figure 2.6: Paquet IP inséré dans une trame Ethernet ...... 43
Figure 2.7: Premier écran de configuration de
Chameleon ....................................................... 45
Figure 2.8: Adresse TP de Chameleon ............................... 45
Figure 2.9: Masque de sous-réseau de Chameleon ........... 46
Figure 2.10: Adresse IP sur Windows 95 ............................ 46
Figure 2.11: Premier écran de configuration de MacTCP ... 47
Figure 2.12: Adresse IP, classe et masque de MacTCP ...... 48
Figure 3.1: Hiérarchie des domaines ................................. 54
Figure 3.2: Résolution d’un nom dans le DNS ................. 55
Figure 3.3: Nom du domaine ............................................. 60
Figure 3.4: Liste des serveurs DNS ................................... 61
Figure 3.5: Liste des domaines gérés par Chameleon
BIND ............................................................... 62
Figure 3.6: Liste des ordinateurs dans un domaine.. ......... 62

241
INTERNET - TCPLP SIMPLIFIÉ

Figure 3.7: Ajout du nom et de l’adresse IP d’un


ordinateur dans un domaine ............................ 63
Figure 3.8: Configuration du DNS sous Windows 95.. ..... 63
Figure 3.9: Domaine et serveurs DNS ............................... 64
Figure 4.1: Réseau avec aiguilleur ..................................... 70
Figure 4.2: Deux aiguilleurs sur un même réseau ............. 73
Figure 4.3: Chemin trouvé par Traceroute ........................ 76
Figure 4.4: Aiguilleur par défaut ....................................... 80
Figure 4.5: Routes statiques.. ............................................. 81
Figure 4.6: Configuration de l’aiguilleur par défaut sous
Windows 95.. ................................................... 81
Figure 4.7: Aiguilleur par défaut ....................................... 82
Figure 4.8: Exemple d’un aiguilleur avec deux réseaux
et Internet.. ....................................................... 84
Figure 5.1: Lien SLIP entre deux ordinateurs ................... 89
Figure 5.2: PPP dans le modèle ISO ................................. 90
Figure 5.3: Schéma typique de connexion par modem
sur un réseau IP ............................................... 91
Figure 5.4: Description d’un paquet PPP .......................... 93
Figure 5.5: PPP avec IP et IPX .......................................... 94
Figure 5.6: Configuration du port série ............................. 95
Figure 5.7: Panneau de configuration de PPP ................... 96
Figure 5.8: Configuration PPP sous Windows 95 ............. 96
Figure 5.9: Adresse IP en mode PPP sous Windows 95 ... 97
Figure 5.10: Config PPP ...................................................... 98
Figure 5.11: Panneau de configuration d’une interface
PPP .................................................................. 99
Figure 5.12: Scénario d’entrée en ligne.. ............................. 100
Figure 5.13: Identification PPP par PAP ............................. 100
Figure 6.1: Découpage d’un fichier en segments .............. 104
Figure 6.2: Communication entre client et serveur ........... 106
Figure 6.3: Ports, services et logiciels entre un client et
un serveur ........................................................ 106
Figure 6.4: Multiples interactions entre clients et
serveurs ............................................................ 107

242
LISTE DES FIGURES
--~

Figure 6.5: Paquet TCP dans un paquet IP dans une


trame Ethernet.. ............................................... 109
Figure 6.6: Paquet UDP dans un paquet IP dans une
trame Ethernet.. ............................................... 110
Figure 6.7: L’interface Winsock sur Windows ................... 112
Figure 7.1: Interaction simple entre un client et un
serveur Web .................................................... 119
Figure 7.2: Requête GET du protocole HTTP.. ................. 122
Figure 7.3: Requête GET d’une image GIF ...................... 122
Figure 7.4: Présentation du document dans la page Web . . 123
Figure 7.5: Requête d’un document audio et démarrage
du logiciel complémentaire ............................. 123
Figure 7.6: Requête pour un formulaire HTML ................ 125
Figure 7.7: Traitement d’un formulaire HTML avec un
programme CGI.. ............................................. 125
Figure 7.8: Développement d’un logiciel Java.. ................ 126
Figure 7.9: Configuration de la mémoire tampon de
Netscape .......................................................... 129
Figure 7.10: Configuration des éléments MIME dans
Netscape .......................................................... 130
Figure 8.1: Interaction entre un client et un serveur
SMTP et POP.. ................................................ 136
Figure 8.2: Configuration de base d’lrudora ..................... 147
Figure 8.3: Configuration du serveur SMTP dans Eudoru 147
Figure 10.1: Configuration générale de Telnet .................... 156
Figure 10.2: Configuration des sessions de Telnet.. ............ 157
Figure 11.1: Format d’un paquet Ethernet .......................... 162
Figure 11.2: Paquet IP à l’intérieur d’un paquet Ethernet.. 163
Figure 11.3: Réseau Ethernet avec deux ordinateurs IP ...... 163
Figure 11.4: Arbitrage NDIS ou ODI.. ................................ 171
Figure 11.5: Table de correspondance des adresses IP et
physiques ......................................................... 172
Figure 11.6: Configuration de BOOTP.. .............................. 172
Figure 11.7: Adressage avec DHCP sous Windows 95.. ..... 173
Figure 11.8: Adresse Ethernet d’un Macintosh.. ................. 174
Figure 11.9: Macintosh en mode RARP ou BOOTP.. ......... 175

243
INTERNET - TCP/IP SIMPLIFIÉ

Figure 12.1: Réseau de l’exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180


Figure 13.1: Signal vidéo numérique envoyé à plusieurs
destinataires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Figure 13.2: Mode multipoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Figure 15.1: Schéma générique de gestion des dispositifs
SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Figure 15.2: Panneau générique d’un client SNMP . . . . . . . . . . . . 198
Figure 15.3: Liste des stations de gestion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Figure 15.4: Stations de gestion recevant les événements... 199
Figure 15.5: Mots de passe SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Figure 15.6: Panneau de configuration SNMP sur
Macintosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Index

A B
Address Resolution BGP 79
Protocol 163, 167 BIND 61
Adobe Acrobat 129 BOOTP 165
ARPANET 51 Bootstrap Protocol 165
Adressage Border Gateway Protocol 78
multipoint 187 Broadcast 41
inverse 60, 164
avec relais 145
Adresses
choix 39 c
classes 38
de message général 41 Cache 58
de réseau 40 CA*NET 25
de test 42 Carrier Sense Multiple
IP 33, 188 Access-Collision Detection 16 1
multipoints 41 Centre européen pour la
nouvelles adresses IP 192 recherche nucléaire 124
rareté 79 CERN 124
vérification 144 CG1 124
Aiguillage Challenge-Handshake
CIDR 80 Authentication Protocol 91
protocole OSPF 78 Chameleon 20, 44, 60, 80
protocole RIP 72 Chameleon Custom 95
protocole RIPv2 78 Chameleon Sampler 20
Aiguilleur 31, 34, 69, 83 CHAP 91
APOP 138 Chargen 110
AppleShare 32 Checksum 42, 44
Appletalk 26 Choix d’adresses 39
ARP 163 CIDR 80
Autonomous system 79 Cisc0 83

245
INTERNET - TCPDP SIMPLIFIÉ

Classes d’adresses 38, 188 Durée de vie


Classless InterDomain de données DNS 58
Routing 80 TTL 74
Client 28 DVMRP 189
Port 108 Dynamic Host Configuration
Web 121, 179 Protocol 166
Commande
APOP 138
Rlogin 154
Common Gateway Intet$ace 124 E
Compressed SLIP 87, 89
Compression des en-têtes Echo 110
TCP 89 Émulation de terminal 154
Community names 197 En-tête 140
Concentreur 29 IP 43, 193
CSLIP 87 ESMTP 146
CSMA-CD 161 Ethernet 25, 71, 94, 161
caractéristiques de
câblage 228
Ethernet II 161
D Événement 197
Extension Simple Mail
Daytime 110 Transfer Protocol 146
Default Gateway 80
Démarrage d’un serveur 59
DHCP 166
Digital Intel Xerox 161 F
Distance Vector Multicast
Routing Protocol 189 FDDI 26
DIX 161 Fiber Distributed Data
Domaine Name System 5 1, 52 Integace 26
Domaines 53 Firewall 40
autorité 60 Flags 83
Discard 110
Dispositifs de réseau 29
DNS 51,52, 193

246
INDEX

Institute of Electrical and


G Electronics Engineers 162
Interface
Gateway 71 CG1 124
GatorBox 32 sockets 111
Gopher 128 Internet 25
Zntegrated Services Digital
Network 88
Internet Control Message
H Protocol 73, 167
Internet Engineering Task
HDLC 92 Force 25
Hight-Level Data Link Internet Group Management
Control 92 Protocol 189
host. txt 51 IPCP 90
HTML 117 IP Control Protocol 90
HTTP 108, 118 IPNG 192
HTTPS 127 ISDN 88
Hypertext Markup ISO 26
Laquage 117 caractères 220
HyperText Transport
Protocol 108, 118

J
I Java 126 ;
Javascript 127 I
ICMP 73, 77, 167
ICMP route discovery 77
Identification d’un
ordinateur 51 L
IEEE 162
IETF 25 LAN 19
Ifconfig 48 LCP 90
IGMP 189 Link Control Protocol 90
Local Area Networks 19

247
INTERNET - TCPLP SIMPLIFIÉ

Localhost 42 Multipurpose Internet Mail


Logiciel Extensions 142
BIND 61 MX 144
Traceroute 75
Loopback 42
Loose source route 77
N
National Center For
Supercomputing
Applications 124
Mail eXchange 144 NCSA 124
Management Information NDIS 171
Base 196 Netstat 49, 83
Masque de sous-réseau 36 Netware 26
table 215 Network Device Interface
Maximum Receive Unit 94 Specijication 171
Maximum Transmession Network File System 32
Unit 168 Network Information Center 51
MBONE 188 Network News Transfer
Mémoire tampon 111, 124 Protocol 149
Message NIC 51
de contrôle 167 NFS 32
d’erreur 167 NNTP 149
MIB 196 Numéro de série de fichier 58
MIME 121, 142
table des objets 224
Modems 88
Mots de passe 139, 197 0
MRU 94
MSS 110 ODI 171
MTU 168 Open data-Link Interface 17 1
Multicast 41 Open Shortest Path First 78
Multicast backBONE 188 Options d’aiguillage 77
Multiples protocoles 170 OSPF 78

248
INDEX

Port (suite)
P 163 201
164 201
PAP 91 443 130
Paquet IP 29, 42, 74 513 158
taille maximale 168 514 158
Paquet TCP 109 1024-5000 108
Paquet UDP 109 1024-65535 108
Passerelle 32,71 client 108
sécuritaire 40 numéros 216
Password Authentication priviligié 108
Protocol 91 Post Ojïce Protocol 135
PDF 129 PPP 87,90
Pilotes de réseau 28 Protocole
Ping 42 ARP 163, 167
Plan d’un réseau 34 BGP 79
Point TO Point Protocol 87, 90 BOOTP 165
Pont 30 CHAP 90
POP 135 DHCP 166
POPPASSWD 139 DVMRP 189
Portable Document Format 129 ESMTP 144
Port 105,111 HDLC 92
O-1023 108 HTTP 108, 118
23 158 ICMP 73, 165
2.5 133, 148 IGMP 189
70 130 IP 191
80 130 IPCP 90
103 148 IPNG 192
104 148 IT 19
105 148 LCP 90
106 148 NNTP 149
109 148 PAP 91
110 148 POP 135
119 152 PPP 87,90
161 201 RARP 164
162 201 RIP 72

249
INTERNET - TCP/IP SIMPLIFIÉ

Protocole (suite) RFC (suite)


SMTP 26, 133 822 140
SNMP 195 826 177
SSL 128 850 152
TCP 19, 103 854 158
UDP 103, 105 894 177
Protocole d’aiguillage 902 177
RIP 72,79 950 38,50, 177
OSPF 78 951 177
Protocoles multiples 170 977 152
Proxy 94 1034 68
1035 68
1042 177
1122 50
R 1131 85
1055 102
RARP 164 1058 85
Record route 77 1144 102
Redirection des routes 72 1171 102
Relais ARP 94 1172 102
Répéteur 29 1191 68, 169
Request For Comments 25 1219 38,50
Réseau 1331 102
adresse 42 1332 102
dispositifs 29 1333 102
plan 34 1334 102
RNIS 88 1376 102
Réseau Numérique à 1377 102
Intégration de Service 88 1378 102
Reverse Address Resolution 1393 85
Protocol 165 1436 131
RFC 25 1518 85
761 114 1519 85
768 114 1531 177
792 177 1534 177
793 114 1541 177

250
INDEX

RFC (suite)
1548
1549
102
102
s
1552 102 Secure Socket Luyer 128
1570 102 Serial Line IP 87
1583 85 Serveur 28
1597 39,50 démarrage 59
1598 102 serveur DNS 53
1618 102 serveur primaire 59
1619 102 serveur secondaire 59
1638 102 Web 121
1661 102 Services de base 110
1662 102 SGML 120
1663 102 Simple Mail Transport
1700 114 Protocol 26, 133
1723 85 Simple Network
1738 131 Management Protocol 195
1763 102 SLIP 87
1764 102 SMTP 27, 133
1771 85 SNMP 195
1866 131 Sockets 111
1945 131 Somme de contrôle 42,44
RIP 72,78 Source route 77
Rlogin 154 SSL 128
RNIS 88 Standard Generalized
Root server 54 Markup Lunguage 120
Routed 82 Station de gestion 195
Routes Subnet mask 37,45
redirection 72
Router 34,71
Router rip 83
Router discovery 78 T
Routing Information
Protocol 72 TCP 19, 103
TCP/IP 19
Telnet 153

251
INTERNET - TCP/IP SIMPLIFIÉ
7
Timestamp 77 User Datagram
Time TO Live 74 Protocol 103, 105
Token-Ring 26
TOS 44
Traceroute 75
Transmission Control V
Protocol 19, 103
Transmission Control Vérification d’une adresse 144
Protocol/Intemet Protcool 19
Trap 197
TTL
Type de service 7: w
WAN 19
Wide Area Network 19
u Web 117, 179
World Wide Web 117
UDP 103, 105 w3 117
Uniform Resource Locator 117 WWW 117
Unix 25 Winsock 111
URL 117

Vous aimerez peut-être aussi