Cours TCP-IP
Cours TCP-IP
Cours TCP-IP
I. PRESENTATION DE TCP/IP
La couche liaison de données, il s’agit d’un ensemble de règles logicielles gravées dans
les circuits mémoire des équipements (concentrateurs, cartes réseau, routeurs, etc.) qui
stipulent comment le courrier doit être acheminé et distribué en interne. C’est à cet endroit
1
que sont stockées les règles de fonctionnement d’Ethernet, de Token Ring. Elle fournit au
niveau 3 les services suivants :
2
représentation du langage HTML (HyperText Markup Language). Cette couche peut
également exploiter des fonctions de chiffrement et de compression.
La couche application (Application layer) est constituée des programmes d’application
ou services, qui se servent du réseau. Elle gère également la communication entre
applications, comme pour le courriel. Parfois les programmes ne sont pas forcément
accessibles à l’utilisateur car ils peuvent être réservés à un usage d’administration.
PDU (« Protocol Data Unit »)
Couches Unité de données
Application Données
Présentation Données
Session Données
Transport Segments
Réseau Paquets
Liaison de données Trames
Physique Bits
II.2- Encapsulation
Lorsqu’une couche réseau veut dialoguer avec sa couche homologue, elle n’a pas d’autres
choix que de faire redescendre l’information en ajoutant des consignes pour la couche du
destinataire. Ainsi, l’en-tête et les données d’une couche N vont devenir les données de la
couche N-1. Cette couche va construire un en-tête (des consignes). Cet en-tête et ces
données vont devenir les données de la couche N-2. On parle alors d’encapsulation.
Figure 1. Encapsulation
3
II.3- Modèle DoD
TCP/IP a été historiquement créé à la demande du ministère de la Défense des États-Unis,
c'est pourquoi le modèle garde ce nom. L’objectif était de pouvoir échanger des données
entre des ordinateurs appartenant à des environnements fortement hétérogènes. Au sens
strict du terme, TCP/IP désigne la combinaison du protocole TCP (Transmission Control
Protocol : Protocole de contrôle de Transmission) et du protocole IP (Internet Protocol :
Protocole Internet).
Rôle des différentes couches
- Couche accès réseau
La couche la plus basse représente la connexion physique avec les câbles, les circuits
d'interface électrique, les cartes réseau, les protocoles d'accès au réseau (Carrier Sense
Multiple Access / Collision Detection pour les réseaux Ethernet et le jeton pour les réseaux
Token Ring). La couche accès réseau est utilisée par la couche Internet.
- Couche Internet
La couche Internet doit fournir une adresse logique pour l'interface physique. C'est le
protocole Ip qui assure ce travail. Elle fournit un mappage entre l'adresse logique et
l'adresse physique fournit par la couche accès réseau grâce aux protocoles ARP (Address
Resolution Protocol) et RARP. Les incidents et les diagnostics associés au protocole Ip
relèvent du protocole ICMP (Internet Control Message Protocol), qui opère aussi au
niveau de la couche internet. Elle est aussi responsable du routage des paquets entre les
hôtes.
- Couche Transport d’hôte à hôte
La couche Transport d’hôte à hôte définit les connexions entre 2 hôtes sur le réseau. Le
modèle DoD comprend 2 protocoles TCP, Transmission Control Protocol et UDP, User
Datagram Protocol. Le protocole TCP est responsable du service de transmission fiable de
données avec détection et correction d'erreurs. Il permet des connexions full-duplex dans
une seule connexion. UDP est orienté sans connexion, car il ne fournit pas de contrôle
d’erreurs.
4
- Couche Application
Elle permet aux applications d'utiliser les protocoles de la couche transport. On trouve les
mêmes applications que dans le modèle OSI.
II.4- Comparaison OSI et TCP/IP
Bien que le protocole TCP/IP ait été développé bien avant que le modèle OSI apparaisse,
ils ne sont pas totalement incompatibles. L'architecture OSI est définie plus
rigoureusement, mais ils disposent tous deux d'une architecture en couches.
Les protocoles TCP et IP ne sont que deux des membres de la suite de protocoles TCP/IP
qui constituent le modèle DOD (modèle en 4 couches). Chaque couche du modèle TCP/IP
correspond à une ou plusieurs couches du modèle OSI (Open Systems Interconnection)
défini par l'ISO (International Standards Organization).
5
CHAPITRE II : LA SUITE DE PROTOCOLES TCP / IP
I- FAMILLE DE PROTOCOLES TCP/IP
Les protocoles TCP et IP ne sont pas que deux des membres de la pile de protocoles IP.
Cette pile est souvent nommée "famille de protocoles TCP/IP" et comprend plusieurs
protocoles.
1. IP (Internet Protocol, Protocole Internet)
IP est un protocole qui se charge de l'acheminement des paquets pour tous les autres
protocoles de la famille TCP/IP. Il fournit un système de remise de données optimisé sans
connexion.
Ainsi, seuls les protocoles de niveau supérieur sont responsables des données contenues
dans les paquets IP (et de leur ordre de réception).
Le datagramme correspond au format de paquet défini par le protocole Internet. Les cinq
premiers mots de 32 bits représentent les informations de contrôle appelées en-tête.
TCP (qui signifie Transmission Control Protocol, soit en français: Protocole de Contrôle
de Transmission) est un des principaux protocoles de la couche transport du modèle
TCP/IP. Il permet, au niveau des applications, de gérer les données en provenance (ou à
destination) de la couche inférieure du modèle (c'est-à-dire le protocole IP). Lorsque les
données sont fournies au protocole IP, celui-ci les encapsule dans des datagrammes IP.
TCP est un protocole orienté connexion, c'est-à-dire qu'il permet à deux machines qui
communiquent de contrôler l'état de la transmission. Les caractéristiques principales du
protocole TCP sont les suivantes :
6
TCP permet de multiplexer les données, c'est-à-dire de faire circuler simultanément des
informations provenant de sources (applications par exemple) distinctes sur une même
ligne.
Grâce au protocole TCP, les applications peuvent communiquer de façon sûre (grâce au
système d'accusé de réception ACK du protocole TCP), indépendamment de la couche
inférieure.
UDP est un complément du protocole TCP qui offre un service de datagrammes sans
connexion qui ne garantit ni la remise ni l'ordre des paquets délivrés. Ainsi, si deux
processus distants A et B veulent communiquer à travers UDP, si A envoie un paquet P
sur le réseau et que celui-ci se perd avant la réception, alors ni A ni B ne peut être au
courant de cette perte. Les messages (ou paquets UDP) sont transmis sans garantie de
livraison.
4. ICMP (Internet Control Message Protocol)
Le protocole ARP permet de déterminer l'adresse physique (ou MAC) d'un nœud à partir
de son adresse IP en effectuant une diffusion du type "qui est X2.X2.X2.X2 ? "
On considère 2 machines A et B sur un même réseau. A souhaite connaître l'adresse MAC
de B dont il connait l'adresse IP.
7
A envoie en broadcast une demande ARP.
B notifie dans sa table ARP la correspondance entre les adresses IP et MAC de A.
B répond à A en lui transmettant son adresse MAC.
A mémorise les correspondances entre les adresses MAC et IP de B dans sa table
ARP.
Les données contenues dans la table ARP ont une validité de 20 minutes. Une fois ce délai
dépassé, il faut refaire une demande ARP.
6. RARP (Reverse Address Resolution Protocol)
Le protocole RARP (Reverse Address Resolution Protocol) est beaucoup moins utilisé, il
signifie Protocole ARP inversé, il s'agit donc d'une sorte d'annuaire inversé des adresses
logiques et physiques.
En réalité le protocole RARP est essentiellement utilisé pour les stations de travail n'ayant
pas de disque dur et souhaitant connaître leur adresse physique...
Le protocole RARP permet à une station de connaître son adresse IP à partir d'une table de
correspondance entre adresse MAC (adresse physique) et adresses IP hébergée par une
passerelle (Gateway) située sur le même réseau local (LAN).
Pour cela il faut que l'administrateur paramètre le Gateway (routeur) avec la table de
correspondance des adresses MAC/IP. En effet, à la différence d’ARP ce protocole est
statique. Il faut donc que la table de correspondance soit toujours à jour pour permettre la
connexion de nouvelles cartes réseau.
Pour désigner les informations transmises et leur enveloppe, selon le niveau concerné, on
parle de message(ou de flux) entre applications, de datagramme (ou segment) au niveau
TCP, de paquet au niveau IP, et enfin, de trames au niveau de l'interface réseau (Ethernet
ou Token Ring).
Les protocoles du niveau application les plus connus sont :
HTTP (Hyper Text Transfer Protocol) permet l'accès aux documents HTML et le
transfert de fichiers depuis un site WWW (TCP).
8
FTP (File Transfer Protocol) pour le transfert de fichiers s'appuie sur TCP et établit une
connexion sur un serveur FTP
Telnet pour la connexion à distance en émulation terminal, à un hôte Unix/Linux (TCP).
SMTP (Simple Mail Transfer Protocol) pour la messagerie électronique (UDP et TCP).
SNMP (Simple Network Management Protocol) pour l'administration du réseau (UDP).
NFS (Network File System) pour le partage des fichiers Unix/Linux (UDP et TCP).
9
2- L'adressage des applicatifs : les ports
Une fois le datagramme transmis à l'hôte destinataire, il doit parvenir à l'utilisateur (si le
Système est multi-utilisateur) et à l'application visée (si le système est multi-tâches).
sur la machine cliente, l'utilisateur (usager ou programme) effectue une requête vers une
machine IP serveur sur le réseau. (Par exemple telnet host ou ftp host). Cela se traduit par
la réservation d'un port de sortie TCP ou UDP et l'envoi d'un paquet IP à la machine
serveur. Ce paquet contient un message TCP ou UDP avec un numéro de port
correspondant à l'application demandée sur le serveur.
sur le serveur, la requête est réceptionnée par le pilote IP, aiguillée vers TCP ou UDP
puis vers le port demandé. Le processus serveur correspondant est à l'écoute des appels sur
ce port (par ex: le daemon telnetd traite les requêtes telnet, le daemon ftpd traite les
requêtes ftp).
processus client et processus serveur échangent ensuite des messages.
Un numéro de port est codé sur 16 bits, ce qui fait qu'il existe un maximum de soit 65 536
ports distincts par machine. Ces ports sont classés en 3 catégories en fonction de leur
numéro:
les numéros de port de 0 à 1 023 correspondent aux ports "bien-connus", utilisés pour
les services réseaux les plus courants.
les numéros de ports de 1 024 à 49 151 correspondent aux ports enregistrés, assignés
par l'IANA
les numéros de ports de 49 152 à 65 535 correspondent aux ports dynamiques,
utilisables pour tout type de requêtes TCP ou UDP autres que celle citées
précédemment.
10
Service réseau N°de Port Type Commentaire
11
CHAPITRE III : ADRESSE IP V4
Deux cartes réseaux qui communiquent s'échangent des messages (suite de bits) appelés
trames (frame). Tous les postes connectés au même câble reçoivent le message, mais seul
celui à qui il est destiné le lit.
Comment sait-il que cette trame lui est adressée ?
Car il reconnaît l'adresse de destination, contenue dans la trame comme étant la sienne.
Comment sait-il qui lui a envoyé la trame ?
Car la trame contient aussi l'adresse de l'émetteur.
Au niveau de la couche liaison, les nœuds utilisent une adresse dite « physique » pour
communiquer. L'adresse correspond à l'adresse de la carte réseau. On parle d'adresse
MAC (Medium Access Control) ou d'adresse de couche 2 (référence au modèle OSI).
Cette adresse est identique pour les réseaux Ethernet et Token Ring. Sa longueur est de
48 bits soit six octets et est généralement représentée sous la forme hexadécimale en
séparant les octets par un double point ou un tiret. Cette adresse est définie par le
constructeur de la carte.
Par exemple : 08-00-14-57-69-69 / 08:00:14:57:69:69
L'adresse MAC identifie de manière unique un nœud dans le monde. Elle est
physiquement liée au matériel (écrite sur la PROM), c'est à dire à la carte réseau.
2. Notion d'adresse logique et de paquets
L'adresse d'une carte réseau correspond à l'adresse d'un poste et d'un seul. Or les postes
sont généralement regroupés en réseau.
Comment identifier le réseau auquel appartient le poste ?
12
Il faut une adresse logique qui soit indépendante de l'adresse physique. C'est ce que
propose le protocole IP.
Pourquoi identifier le réseau ?
Pour permettre à 2 postes qui ne sont pas connectés au même réseau de communiquer.
Cette adresse dite logique du nœud (car elle est attribuée par logiciel à un hôte, plus
précisément à une carte réseau) contenue dans le paquet est l'adresse IP, est définie
indépendamment de toute topologie d'ordinateur ou de réseau. Son format reste identique
quel que soit le support utilisé.
Les machines (hôtes) d'un réseau TCP/IP sont identifiées par leur adresse IP.
Toute machine sur un réseau IP a donc 2 adresses, une adresse MAC et une adresse IP.
Les processus de niveaux supérieurs utilisent toujours l'adresse IP et donc lorsqu'un
processus communique avec un autre processus, il lui envoie un message dont l'adresse
destinataire est une adresse IP, mais pour pouvoir atteindre la carte réseau du destinataire,
il faut connaître son adresse MAC. Le rôle du protocole ARP (Adress Resolution Protocol)
est d'assurer la correspondance entre l'adresse IP et l'adresse MAC.
4. Attribution d'une adresse IP Internet
13
II. ADRESSAGE IP
1. Structure des adresses IP
14
Le premier octet d'une adresse IP permet de déterminer la classe de cette adresse.
Les adresses disponibles (de 0.0.0.0 à 255.255.255.255) ont donc été découpées en plages
réservées à plusieurs catégories de réseaux.
Par exemple, l'adresse d'un poste appartenant à un réseau de classe A est donc de la forme
:
0AAAAAAA.xxxxxxxx.xxxxxxxx.xxxxxxxx, avec A fixé par le NIC et x quelconque.
Exemple :
IBM a obtenu l'adresse 9 (en fait, on devrait dire 9.X.X.X, mais il est plus rapide de
n'utiliser
que la valeur du premier octet). 9 est bien de classe A car 9décimal=00001001 binaire
Cela signifie que chaque adresse IP du type 00001001.xxxxxxxx.xxxxxxxx.xxxxxxxx,
avec x
prenant la valeur 0 ou 1, fait partie du réseau d'IBM.
3. Identification du réseau
15
Figure 2 : Classes d'adresses
4. Adresses réservées
Les adresses réservées ne peuvent pas désigner une machine TCP/IP sur un réseau.
L'adresse d'acheminement par défaut (route par défaut.) est de type 0.X.X.X. Tous les
paquets destinés à un réseau non connu, seront dirigés vers l'interface désignée par 0.0.0.0.
NB : 0.0.0.0 est également l'adresse utilisée par une machine pour connaître son adresse IP
durant une procédure d'initialisation (DHCP).
L'adresse de bouclage (loopback): l'adresse de réseau 127 n'est pas attribuée à une
société, elle est utilisée comme adresse de bouclage dans tous les réseaux. Cette adresse
sert à tester le fonctionnement de votre carte réseau. Un ping 127.0.0.1 doit retourner un
message correct. Le paquet envoyé avec cette adresse revient à l'émetteur.
16
Toutes les adresses de type 127.X.X.X ne peuvent pas être utilisées pour des hôtes. La
valeur de 'x' est indifférente. On utilise généralement 127.0.0.1
L'adresse de réseau est une adresse dont tous les bits d'hôte sont positionnés à 0 (ex :
128.10.0.0 adresse de réseau du réseau 128.10 de classe B). Elle est utilisée pour désigner
tous les postes du réseau. On utilise cette adresse dans les tables de routage.
Les noms de réseaux de type :
L'adresse de diffusion est une adresse dont tous les bits d'hôte sont positionnés à 1 (ex :
128.10.255.255 adresse de diffusion du réseau 128.10 de classe B).
Elle est utilisée pour envoyer un message à tous les postes du réseau.
Les adresses "privées"
Les adresses suivantes (RFC 1918) peuvent également être librement utilisées pour
monter un réseau privé :
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
Aucun paquet provenant de ces réseaux ou à destination de ces réseaux, ne sera routé sur
l'Internet.
Le Masque de réseau (netmask), son rôle est d'identifier précisément les bits qui
concernent le N° de réseau d'une adresse (il "masque" la partie hôte de l'adresse).
Un bit à 1 dans le masque précise que le bit correspondant dans l'adresse IP fait partie du
N° de réseau ; à l'inverse, un bit à 0 spécifie un bit utilisé pour coder le N° d'hôte.
17
Ainsi, on a un masque dit "par défaut" qui correspond à la classe de ce réseau.
Exemple: dans un réseau de classe A sans sous-réseau, le premier octet correspond à
l'adresse du réseau donc le netmask commence par 11111111 suivi de zéros soit
255.0.0.0.
D'où le tableau suivant :
18
III. SOUS-RESEAUX
1. Définition
Un sous-réseau est la subdivision d’un réseau physique de grande taille en des réseaux
logiques de petites tailles. La subdivision d'un réseau en sous-réseaux permet de limiter la
propagation des broadcast, ceux-ci restant limités au réseau local et leur gestion étant
coûteuse en bande passante et en ressource au niveau des commutateurs réseau. Les
routeurs sont utilisés pour la communication entre les machines appartenant à des sous-
réseaux différents.
Y N X
20
21
CHAPITRE IV : ADRESSAGE CLASSLESS
Au début des années 90, Internet subissait une croissance exponentielle annonçant un
épuisement des adresses IPv4. Cette pénurie d’adresse est principalement due au
découpage fixe de l'espace d'adressage total IPv4 en classes (Classe A, classe B, classe C)
qui fige le nombre de réseaux possibles et le nombre d'hôtes maximum par réseau.
En effet, lorsque l’on utilise un adressage classful, les masques de sous-réseaux ne sont
pas envoyés sur le réseau. Les équipements réseaux utilisent donc des masques de sous-
réseaux par défaut qui sont les suivants :
• Classe A : 255.0.0.0
• Classe B : 255.255.0.0
• Classe C : 255.255.255.0
Il est dans ce cas impossible de créer des sous-réseaux et de former des groupes
d’utilisateur de différentes tailles au sein d’un réseau d’entreprise.
Ce problème est résolu avec l’utilisation d’un adressage classless (sans classe) qui permet
d’envoyer le masque de sous-réseau utilisé aux autres équipements et de ce fait, de créer
des sous-réseaux de taille variable.
22
II. CIDR (Classless Inter-Domain Routing)
23
III. VLSM
L'utilisation du masque de sous-réseau à taille variable (Variable Length Subnet Mask) permet à un
réseau classless d'utiliser différents masques de sous-réseaux au sein d’une organisation et d’obtenir par
conséquent des sous-réseaux plus appropriés aux besoins. Cependant, certaines conditions sont requises
pour utiliser le VLSM :
Il est nécessaire d'employer un protocole de routage supportant le VLSM. RIPv.2, OSPF, IS-IS, EIGRP,
BGP ainsi que le routage statique supportent VLSM. Les protocoles de routage classless, contrairement
aux protocoles de routage classful (RIPv.1, IGRP), transmettent dans leurs mises à jour de routage, le
masque de sous-réseau pour chaque route.
• Les routeurs doivent implémenter un algorithme de la correspondance la plus longue. En effet, les routes
qui ont le préfixe le plus élevé sont les plus précises. Les routeurs dans leurs décisions d'acheminement
doivent être capables de déterminer la route la plus adaptée aux paquets traités.
• Un plan d'adressage hiérarchique doit être appliqué pour l'assignation des adresses afin que l'agrégation
puisse être effectuée.
VLSM repose sur l’agrégation. C'est-à-dire que plusieurs adresses de sous-réseaux sont résumées en une
seule adresse. L’agrégation est simple, l’on retient simplement la partie commune à toutes les adresses
des sous-réseaux.
• Recenser le nombre total d’utilisateurs sur le réseau (prévoir une marge pour favoriser l’évolutivité du
réseau).
• Décompter les entités au niveau de chaque couche. Par exemple, les grandes agglomérations, avec pour
chaque agglomération, les villes, le nombre de bâtiments dans chaque ville, le nombre d'étages par
bâtiment et le nombre d'utilisateur par étage.
• Pour chacune de ces entités, réserver le nombre de bits nécessaire en prévoyant l’évolutivité du réseau.
• Calculer le masque de sous-réseau à chaque niveau de l’organisation.
24
IV. PROCEDURE DE REALISATION
Les procédures de réalisation de plan d’adressage avec du VLSM symétrique puis asymétrique sont
expliquées.
Néanmoins, il faut savoir que le VLSM symétrique n’est qu’une étude de cas scolaire et que le VLSM
asymétrique est ce qui est réellement utilisé dans la réalité. Dans ce module nous exploiterons le VLSM
Asymétrique.
Le VLSM Asymétrique, ou plus simplement, VLSM, correspond à une topologie d’entreprise ou les
différents niveaux hiérarchiques et les instances ne sont pas similaires (nombre, taille etc.)
Procédure :
25