Professional Documents
Culture Documents
Cours TCP/IP
Copyright 2004 Lquipe Freeduc-Sup
Ensemble de documents raliss pour la freeduc-sup.
Historique des versions
Version 1.14 2004/10/31 01:20:26
Table des matires
1. Elments de cours sur TCP/IP.............................................................................................................. 1
1.1. Prsentation de TCP/IP ............................................................................................................... 1
1.2. OSI et TCP/IP ............................................................................................................................. 2
1.3. La suite de protocoles TCP / IP .................................................................................................. 3
1.3.1. IP (Internet Protocol, Protocole Internet) ................................................................... 3
1.3.2. TCP (Transmission Control Protocol, Protocole de contrle de la transmission) ....3
1.3.3. UDP (User Datagram Protocol) .................................................................................... 4
1.3.4. ICMP (Internet Control Message Protocol) ................................................................. 4
1.3.5. RIP (Routing Information Protocol)............................................................................. 4
1.3.6. ARP (Address Resolution Protocol) ............................................................................. 5
1.3.7. Fonctionnement gnral ................................................................................................. 5
1.4. Les applications TCP-IP ............................................................................................................. 6
1.4.1. Modle client/serveur ..................................................................................................... 6
1.4.2. Ladressage des applicatifs : les ports............................................................................. 8
2. Elments de cours sur ladressage IP................................................................................................. 11
2.1. Adresses physiques (MAC) et adresses logiques (IP)............................................................... 11
2.1.1. Notion dadresse Physique et de trames....................................................................... 11
2.1.2. Notion dadresse logique et de paquets ........................................................................ 12
2.1.3. Attribution dune adresse IP Internet............................................................................ 13
2.2. Adressage IP ............................................................................................................................. 13
2.2.1. Structure des adresses IP .............................................................................................. 13
2.2.2. Classes dadresses ........................................................................................................ 14
2.2.3. Identication du rseau................................................................................................. 15
2.2.4. Adresses rserves........................................................................................................ 16
2.3. Les sous-rseaux ....................................................................................................................... 18
2.3.1. Pourquoi crer des sous rseaux ? ................................................................................ 18
2.3.2. Masque de sous-rseau................................................................................................. 19
2.3.3. Sous-rseaux................................................................................................................. 20
2.4. Le routage ................................................................................................................................. 24
2.4.1. Recherche de ladresse physique.................................................................................. 24
2.4.2. Principe......................................................................................................................... 25
2.4.3. Acheminement des paquets TCP-IP............................................................................. 26
2.4.4. Les tables de routage .................................................................................................... 27
2.4.5. Acheminement Internet ................................................................................................ 28
2.4.6. Routage dynamique...................................................................................................... 28
3. Elments de cours sur ARP ................................................................................................................ 30
3.1. Le protocole ARP...................................................................................................................... 30
4. Ladressage IP v6 ................................................................................................................................. 33
4.1. Caractristiques......................................................................................................................... 33
4.2. Types dadresses........................................................................................................................ 33
4.3. Reprsentation des adresses ...................................................................................................... 34
4.4. Allocation de lespace dadressage........................................................................................... 35
iii
5. Fichiers de conguration du rseau et commandes de base ............................................................ 36
5.1. Prsentation du document : les outils de ladministrateur rseau ............................................. 36
5.2. Les chiers de conguration..................................................................................................... 36
5.2.1. Le chier /etc/hosts................................................................................................ 36
5.2.2. Le chier /etc/networks.......................................................................................... 36
5.2.3. Le chier /etc/host.conf ....................................................................................... 37
5.2.4. Le chier /etc/resolv.conf................................................................................... 37
5.2.5. Les chiers de conguration des interfaces rseau ...................................................... 37
5.3. Les outils de ladministrateur rseau ........................................................................................ 38
5.3.1. La commande ifcong.................................................................................................. 38
5.3.2. La commande arp ........................................................................................................ 43
5.3.3. La commande route ..................................................................................................... 48
5.3.4. La commande netstat................................................................................................... 52
5.3.5. La commande traceroute............................................................................................. 56
5.3.6. La commande dig......................................................................................................... 57
5.3.7. La commande host ....................................................................................................... 58
6. Les diteurs joe et Emacs .................................................................................................................... 59
6.1. Prsentation............................................................................................................................... 59
6.2. Lditeur Joe.............................................................................................................................. 59
6.3. Lditeur Emacs......................................................................................................................... 60
6.4. Lincontournable vi ................................................................................................................... 60
iv
Liste des illustrations
1-1. datagramme IP...................................................................................................................................... 1
1-2. OSI et TCP/IP....................................................................................................................................... 2
1-3. Protocoles TCP/IP et OSI..................................................................................................................... 5
1-4. Exemple Telnet ..................................................................................................................................... 6
1-5. Modle client/serveur ........................................................................................................................... 7
1-6. Ports applicatifs .................................................................................................................................... 8
2-1. Classes dadresses .............................................................................................................................. 14
2-2. Classes dadresses .............................................................................................................................. 15
2-3. Rcapitulatif Classes dadresses......................................................................................................... 17
2-4. table de routage .................................................................................................................................. 27
3-1. Trame Ethernet contenant une requte ARP ...................................................................................... 30
3-2. Trame Ethernet contenant une rponse ARP...................................................................................... 31
v
Chapitre 1. Elments de cours sur TCP/IP
La suite de protocoles TCP/IP
Le document prsente la suite de protocoles TCP/IP.
Ce document sert dintroduction lensemble des cours et TP sur les diffrents protocoles
1.1. Prsentation de TCP/IP
TCP/IP est labrviation de Transmission Control Protocol/Internet Protocol. Ce protocole a t
dvelopp, en environnement UNIX, la n des annes 1970 lissue dun projet de recherche sur les
interconnexions de rseaux men par la DARPA (Defense Advanced Research Projects Agency)
dpendant du DoD (Department of Defense) Amricain.
TCP/IP ,devenu standard de fait, est actuellement la famille de protocoles rseaux qui gre le
routage la plus rpandue sur les systmes Unix et Windows, et surtout, cest le protocole de lInternet.
Plusieurs facteurs contribuent sa popularit :
Maturit, Ouverture, Absence de propritaire, Richesse (il fournit un vaste ensemble de fonctionnalits),
Compatibilit (diffrents systmes dexploitation et diffrentes architectures matrielles), et le
dveloppement important dInternet.
La famille des protocoles TCP/IP est appele protocoles Internet, et a donn son nom au rseau du
mme nom. Leurs spcications sont dnies dans des documents du domaine public appels RFC
(Request For Comments - Appels commentaires). Ils sont produits par lIETF ( Internet Engineering
Task Force) au sein de lIAB (Internet Architecture Board).
La RFC 826, par exemple, dnit le protocole ARP.
Le datagramme correspond au format de paquet dni par le protocole Internet. Les cinq ou six (sixime
facultatif) premier mots de 32 bits reprsentent les informations de contrle appeles en-tte.
1
Chapitre 1. Elments de cours sur TCP/IP
Figure 1-1. datagramme IP
La longueur thorique maximale dun datagramme IP est de 65535 octets. En pratique la taille maximale
du datagramme est limite par la longueur maximale des trames transportes sur le rseau physique. La
fragmentation du datagramme (dnie dans le 2me mot de 32 bits) devient alors ncessaire ds que sa
taille ne lui permet plus dtre directement transport dans une seule trame physique. Les modules
internet des quipements prennent en charge le dcoupage et le rassemblage des datagrammes.
Le protocole Internet transmet le datagramme en utilisant ladresse de destination contenue dans le
cinquime mot de len-tte. Ladresse de destination est une adresse IP standard de 32 bits permettant
didentier le rseau de destination et la machine hte connecte ce rseau.
Dans un rseau TCP/IP, on assigne gnralement un nom chaque hte. Le terme dhte est pris dans
son sens large, cest dire un "noeud de rseau". Une imprimante, un routeur, un serveur, un poste de
travail sont des noeuds qui peuvent avoir un nom dhte, sils ont une adresse IP.
1.2. OSI et TCP/IP
Bien que le protocole TCP/IP ait t dvelopp bien avant que le modle OSI apparaisse, ils ne sont pas
totalement incompatibles. Larchitecture OSI est dnie plus rigoureusement, mais ils disposent tous
deux dune architecture en couches.
Les protocoles TCP et IP ne sont que deux des membres de la suite de protocoles TCP/IP qui constituent
le modle DOD (modle en 4 couches). Chaque couche du modle TCP/IP correspond une ou
plusieurs couches du modle OSI (Open Systems Interconnection) dni par lISO (International
Standards Organization) :
2
Chapitre 1. Elments de cours sur TCP/IP
Figure 1-2. OSI et TCP/IP
Des relations troites peuvent tre tablies entre la couche rseau et IP, et la couche transport et TCP.
TCP/IP peut utiliser une grande varit de protocoles en couche de niveau infrieur, notamment X.25,
Ethernet et Token Ring. En fait, TCP/IP a t explicitement conu sans spcication de couche physique
ou de liaison de donnes car le but tait de faire un protocole adaptable la plupart des supports.
1.3. La suite de protocoles TCP / IP
Les protocoles TCP/IP se situent dans un modle souvent nomm "famille de protocoles TCP/IP".
Les protocoles TCP et IP ne sont que deux des membres de la suite de protocoles IP.
1.3.1. IP (Internet Protocol, Protocole Internet)
IP est un protocole qui se charge de lacheminement des paquets pour tous les autres protocoles de la
famille TCP/IP. Il fournit un systme de remise de donnes optimis sans connexion. Le terme
optimis souligne le fait quil ne garantit pas que les paquets transports parviennent leur destination,
ni quils soient reus dans leur ordre denvoi. . La fonctionnalit de somme de contrle du protocole ne
conrme que lintgrit de len-tte IP. Ainsi, seuls les protocoles de niveau suprieur sont responsables
des donnes contenues dans les paquets IP (et de leur ordre de rception).
Le protocole IP travaille en mode non connect, cest--dire que les paquets mis par le niveau 3 sont
achemins de manire autonome (datagrammes), sans garantie de livraison.
1.3.2. TCP (Transmission Control Protocol, Protocole de
contrle de la transmission)
TCP est probablement le protocole IP de niveau suprieur le plus rpandu. TCP fournit un service
scuris de remise des paquets. TCP fournit un protocole able, orient connexion, au-dessus dIP (ou
3
Chapitre 1. Elments de cours sur TCP/IP
encapsul lintrieur dIP). TCP garantit lordre et la remise des paquets, il vrie lintgrit de
len-tte des paquets et des donnes quils contiennent. TCP est responsable de la retransmission des
paquets altrs ou perdus par le rseau lors de leur transmission. Cette abilit fait de TCP/IP un
protocole bien adapt pour la transmission de donnes base sur la session, les applications
client-serveur et les services critiques tels que le courrier lectronique.
La abilit de TCP a son prix. Les en-ttes TCP requirent lutilisation de bits supplmentaires pour
effectuer correctement la mise en squence des informations, ainsi quun total de contrle obligatoire
pour assurer la abilit non seulement de len-tte TCP, mais aussi des donnes contenues dans le
paquet. Pour garantir la russite de la livraison des donnes, ce protocole exige galement que le
destinataire accuse rception des donnes.
Ces accuss de rception (ACK) gnrent une activit rseau supplmentaire qui diminue le dbit de la
transmission des donnes au prot de la abilit. Pour limiter limpact de cette contrainte sur la
performance, la plupart des htes nenvoient un accus de rception que pour un segment sur deux ou
lorsque le dlai imparti pour un ACK expire.
Sur une connexion TCP entre deux machines du rseau, les messages (ou paquets TCP) sont acquitts et
dlivrs en squence.
1.3.3. UDP (User Datagram Protocol)
UDP est un complment du protocole TCP qui offre un service de datagrammes sans connexion qui ne
garantit ni la remise ni lordre des paquets dlivrs. Les sommes de contrle des donnes sont
facultatives dans le protocole UDP. Ceci permet dchanger des donnes sur des rseaux abilit leve
sans utiliser inutilement des ressources rseau ou du temps de traitement. Les messages (ou paquets
UDP) sont transmis de manire autonome (sans garantie de livraison.).
Le protocole UDP prend galement en charge lenvoi de donnes dun unique expditeur vers plusieurs
destinataires.
Ex: TFTP(trivial FTP) sappuie sur UDP, NT4 utilise UDP pour les Broadcast en TCP-Ip
1.3.4. ICMP (Internet Control Message Protocol)
ICMP : protocole de messages de contrle, est un protocole de maintenance. Il permet deux systmes
dun rseau IP de partager des informations dtat et derreur. Utilis pour les tests et les diagnostics
La commande ping utilise les paquets ICMP de demande dcho et de rponse en cho an de
dterminer si un systme IP donn dun rseau fonctionne. Cest pourquoi lutilitaire ping est utilis
pour diagnostiquer les dfaillances au niveau dun rseau IP ou des routeurs.
4
Chapitre 1. Elments de cours sur TCP/IP
1.3.5. RIP (Routing Information Protocol)
RIP est un protocole de routage dynamique qui permet lchange dinformations de routage sur un
inter-rseau. Chaque routeur fonctionnant avec RIP change les identicateurs des rseaux quil peut
atteindre, ainsi que la distance qui le spare de ce rseau (nb de sauts=nb de routeurs traverser). Ainsi
chacun dispose de la liste des rseaux et peut proposer le meilleur chemin.
1.3.6. ARP (Address Resolution Protocol)
Le protocole ARP permet de dterminer ladresse physique (ou MAC) dun noeud partir de son adresse
IP en effectuant une diffusion du type "qui est X2.X2.X2.X2 ? "
Figure 1-3. Protocoles TCP/IP et OSI
1.3.7. Fonctionnement gnral
Pour dsigner les informations transmises et leur enveloppe, selon le niveau concern, on parle de
message(ou de ux) entre applications, de datagramme (ou segment) au niveau TCP, de paquet au
niveau IP, et enn, de trames au niveau de linterface rseau (Ethernet ou Token Ring).
Les protocoles du niveau application les plus connus sont :
HTTP (Hyper Text Transfer Protocol) permet laccs aux documents HTML et le transfert de chiers
depuis un site WWW
FTP (File Transfer Protocol) pour le transfert de chiers sappuie sur TCP et tablit une connexion sur
un serveur FTP
Telnet pour la connexion distance en mulation terminal, un hte Unix/Linux.
SMTP (Simple Mail Transfer Protocol) pour la messagerie lectronique (UDP et TCP)
5
Chapitre 1. Elments de cours sur TCP/IP
SNMP (Simple Network Management Protocol) pour ladministration du rseau
NFS (Network File System) pour le partage des chiers Unix/Linux.
1.4. Les applications TCP-IP
1.4.1. Modle client/serveur
Les applications rseaux fonctionnent sur le modle client/serveur. Sur la machine serveur un processus
serveur (daemon) traite les requtes des clients. Client et serveur dialoguent en changeant des messages
qui contiennent des requtes et des rponses.
Prenons par exemple telnet.
6
Chapitre 1. Elments de cours sur TCP/IP
Figure 1-4. Exemple Telnet
Figure 1-5. Modle client/serveur
7
Chapitre 1. Elments de cours sur TCP/IP
1.4.2. Ladressage des applicatifs : les ports
Une fois le datagramme transmis lhte destinataire, il doit parvenir lutilisateur (si le systme est
multi-utilisateur) et lapplication vise (si le systme est multi-tches).
sur la machine cliente, lutilisateur (usager ou programme) effectue une requte vers une machine IP
serveur sur le rseau. (par exemple telnet host ou ftp host ). Cela se traduit par la rservation dun port
de sortie TCP ou UDP et lenvoi dun paquet IP la machine serveur. Ce paquet contient un message
TCP ou UDP avec un numro de port correspondant lapplication demande sur le serveur.
sur le serveur, la requte est rceptionne par le pilote IP, aiguille vers TCP ou UDP puis vers le port
demand. Le processus serveur correspondant est lcoute des appels sur ce port (par ex: le daemon
telnetd traite les requtes telnet, le daemon ftpd traite les requtes ftp).
processus client et processus serveur changent ensuite des messages.
Des numros de port (entre 0 et 1023) sont rservs pour les applications standards : les ports bien
connus (Well Known Ports), ils ont t assigns par lIANA. Sur la plupart des systmes ils peuvent
tre seulement employs par des processus du systme (ou root) ou par des programmes excuts par les
utilisateurs privilgis (liste complte : http://www.iana.org/assignments/port-numbers ou dans le chier
/etc/services y compris sous Windows).
Dautres numros de port sont disponibles pour les applications dveloppes par les utilisateurs (1024
65535).
8
Chapitre 1. Elments de cours sur TCP/IP
Figure 1-6. Ports applicatifs
On identie le protocole de communication entre applications par un numro de protocole et
lapplication par un numro de port.
Par exemple, les serveurs HTTP dialoguent de manire traditionnelle par le port 80 :
http ://www.sncf.com/index.htm<=> http :// www.sncf.com:80/index.htm
Les numros de protocole et de port sont inclus dans le datagramme.
Une fois la connexion tablie entre le client et le serveur, ceux-ci peuvent schanger des informations
selon un protocole dni selon lapplicatif. Le client soumet des requtes auxquelles rpondra le serveur.
9
Chapitre 1. Elments de cours sur TCP/IP
Ce mode de communication sappuie sur la couche "socket". Cette couche est une interface entre la
couche prsentation et transport. Elle permet la mise en place du canal de communication entre le client
et le serveur.
On peut schmatiquement dire quun socket fourni un ensemble de fonctions. Ces fonctions permettent
une application client/serveur dtablir un canal de communication entre 2 ou plusieurs machines, qui
utilisent un protocole de transport (TCP ou UDP) et un port de communication.
1.4.2.1. Les ports prdnis connatre
Service rseau N
de
rseau dune adresse (il "masque" la partie hte de ladresse).
Un bit 1 dans le masque prcise que le bit correspondant dans ladresse IP fait partie du N
de rseau ;
linverse, un bit 0 spcie un bit utilis pour coder le N
dhte.
Ainsi, on a un masque dit "par dfaut" qui correspond la classe de ce rseau.
Exemple: dans un rseau de classe A sans sous-rseau, le premier octet correspond ladresse du rseau
donc le netmask commence par 11111111 suivi de zros soit 255.0.0.0.
Do le tableau suivant :
Classe Netmask
A 255.0.0.0
B 255.255.0.0
C 255.255.255.0
Ex : Si mon adresse IP est 149.127.1.110 alors je travaille avec une adresse de classe B. Mon N
de
rseau est 149.127.0.0 et mon masque 255.255.0.0.
2.3. Les sous-rseaux
2.3.1. Pourquoi crer des sous rseaux ?
Les avantages de la segmentation en sous-rseau sont les suivants :
18
Chapitre 2. Elments de cours sur ladressage IP
1. Utilisation de plusieurs media (cbles, supports physiques). La connexion de tous les noeuds un
seul support de rseau peut savrer impossible, difcile ou coteuse lorsque les noeuds sont trop
loigns les uns des autres ou quils sont dj connects un autre media.
2. Rduction de lencombrement. Le trac entre les noeuds rpartis sur un rseau unique utilise la
largeur de bande du rseau. Par consquent, plus les noeuds sont nombreux, plus la largeur de bande
requise est importante. La rpartition des noeuds sur des rseaux spars permet de rduire le
nombre de noeuds par rseau. Si les noeuds dun rseau de petite taille communiquent
principalement avec dautres noeuds du mme rseau, lencombrement global est rduit.
3. Economise les temps de calcul. Les diffusions (paquet adress tous) sur un rseau obligent
chacun des noeuds du rseau ragir avant de laccepter ou de la rejeter.
4. Isolation dun rseau. La division dun grand rseau en plusieurs rseaux de taille infrieure
permet de limiter limpact dventuelles dfaillances sur le rseau concern. Il peut sagir dune
erreur matrielle du rseau (une connexion
5. Renforcement de la scurit. Sur un support de diffusion du rseau comme Ethernet, tous les
noeuds ont accs aux paquets envoys sur ce rseau. Si le trac sensible nest autoris que sur un
rseau, les autres htes du rseau ny ont pas accs.
6. Optimisation de lespace rserv une adresse IP. Si un numro de rseau de classe A ou B vous
est assign et que vous disposez de plusieurs petits rseaux physiques, vous pouvez rpartir lespace
de ladresse IP en multiples sous-rseaux IP et les assigner des rseaux physiques spciques.
Cette mthode permet dviter lutilisation de numros de rseau IP supplmentaires pour chaque
rseau physique.
2.3.2. Masque de sous-rseau
Les masques de sous-rseaux (subnet mask) permettent de segmenter un rseau en plusieurs
sous-rseaux. On utilise alors une partie des bits de ladresse dhte pour identier des sous-rseaux.
Ladressage de sous-rseau permet de dnir des organisations internes de rseaux qui ne sont pas
visibles lextrieur de lorganisation. Cet adressage permet par exemple lutilisation dun routeur
externe qui fournit alors une seule connexion Internet.
Toutes les machines appartenant un sous-rseau possdent le mme numro de rseau.
On utilise le mme principe que pour le masque par dfaut sur loctet de la partie hte auquel on va
prendre des bits. Ainsi, le masque de sous-rseau dune adresse de classe B commencera toujours par
255.255.xx.xx
Pour connatre ladresse du sous-rseau auquel une machine appartient, on effectue en ralit un ET
logique entre ladresse de la machine et le masque.
Adresse : 200.100.40.33 11001000.01100100.00101000.00100001
19
Chapitre 2. Elments de cours sur ladressage IP
Masque : 255.255.255.224 11111111.11111111.11111111.11100000
Opration ET 11001000.01100100.00101000.00100000
=> La machine appartient au sous-rseau : 200.100.40.32
Nous voyons dans ce deuxime exemple que nous avons pris 3 bits sur le dernier octet de notre adresse.
Ces 3 bits vont nous permettre de construire plusieurs sous-rseaux.
Ex : adresse : 192.0.0.131
Masque : 255.255.255.192
Conversion de ladresse en binaire : 11000000 00000000 00000000 10000011
Conversion du masque en binaire : 11111111 11111111 11111111 11000000
La machine appartient au sous-rseau 192.0.0.192 et a ladresse 11=3
Pour des raisons de commodit, on prfrera rserver un octet entier pour coder le numro de sous
rseau. De mme la thorie ne nous oblige pas prendre les bits contigus dun masque, mme si cest
ce que nous utiliserons en pratique.
Important : pour parer dventuels problmes de routage et dadressage, tous les ordinateurs dun
rseau logique doivent utiliser le mme masque de sous-rseau et le mme identicateur de rseau.
2.3.3. Sous-rseaux
2.3.3.1. Nombre de sous-rseaux
Le nombre thorique de sous-rseaux est gal 2n, n tant le nombre de bits 1 du masque, utiliss pour
coder les sous-rseaux.
Exemple :
Adresse de rseau : 200.100.40.0
Masque : 255.255.255.224
20
Chapitre 2. Elments de cours sur ladressage IP
224 = 11100000 donc 3 bits pour le N