Académique Documents
Professionnel Documents
Culture Documents
RÉSEAUX
ET TRANSMISSION DE
DONNÉES
Sommaire
Introduction
Un réseau en général résulte de la connexion de plusieurs machines entre elles, afin que les
utilisateurs et les applications fonctionnant sur ces dernières puissent échanger des informations.
- Réseau : désigne l’ensemble des machines en connexion, infrastructure informatiques,
protocoles utilisés, la façon d’interconnexion des machines, …
- Etendu des réseaux : - LAN : Local Area Network ou réseau local (10m –1Km); - MAN
: Metropolitan Area Network (1-100Km); - WAN : Wide Area Network (plus de
100Km).
1- Concepts réseau
Les concepts réseau sont :
• Serveurs: ordinateurs qui fournissent les ressources partagées aux utilisateurs ;
• Clients: ordinateurs qui accèdent aux ressources partagées sur le réseau fournies par un ou
des serveur(s) ;
• Support: façon dont les ordinateurs sont connectés entre eux ;
• Données partagées: fichiers fournis par des serveurs sur le réseau.
2- Types de réseaux
On assiste à deux types de réseau :
•
Réseau d’égal à égal: pour moins d’utilisateurs ou il n’y a pas de problèmes de sécurité. - Pas
de serveurs dédiés ; - Aucune hiérarchie.
•
Réseau organisé autour d’un serveur, pour lequel il y a :
•
Existence de serveurs spécialisés
•
Partage de ressources administré et contrôlé de manière centralisée ;
•
Définition d’une stratégie de sécurité et son application à chaque utilisateur ;
•
Possibilités de sauvegarde à partir d’un point donné ;
•
Mise en place d’un système de redondance ;
•
Prise en charge d’un nombre très élevé des utilisateurs.
• Topologies standard ;
• Composants principaux de chaque topologie ;
• Utilisations adéquates de chaque topologie.
La topologie désigne l’organisation ou la disposition physique des ordinateurs, câbles et autres
composants du réseau. Le choix d’une topologie influence sur les éléments suivants:
- Type d’équipements nécessaire au réseau ;
- Capacités de l’équipement ;
- Extension du réseau ; - Gestion du réseau.
4- Topologies standards
Il existe trois principales topologies : Bus, Etoile et Anneau.
a- Bus
Les machines sont connectés les uns à la suite des autres le long d’un seul câble appelé segment.
La communication entre ces ordinateurs est basée sur les concepts :
- Émission du signal (diffusion)
- Rebondissement du signal
- Terminaison (bouchon) pour absorber les signaux libres
b- Etoile
Dans une topologie en étoile, les ordinateurs sont connectés par des segments de câble à un
composant central, appelé concentrateur.
C’est une architecture qui nécessite plus de
câbles. Si le point central tombe en panne, tout le
réseau est mis hors service. Mais si le câble qui
relie l’ordinateur au hub tombe en panne, seul cet
ordinateur est isolé du reste du réseau.
c- Anneau à jeton
Dans cette architecture, les ordinateurs sont reliés sur une seule boucle de câble
Les signaux se déplacent le long de la boucle dans une
direction et passe par chacun des ordinateurs. Une des
méthodes de transmission des données sur un anneau est
appelé le passage de jeton
Le jeton est passé d’ordinateur en ordinateur, tant qu’il n’a pas atteint un ordinateur qui doit
envoyer des données. L’ordinateur émetteur modifie le jeton, ajoute une adresse électronique aux
données et les dépose sur l’anneau. Les données passent par chaque ordinateur jusqu ’à ce qu’elles
atteignent celui dont l’adresse est identique à celle contenue dans les données. L’ordinateur
récepteur renvoie un message à l’émetteur lui indiquant que les données ont été reçues. Après
vérification, l’ordinateur émetteur crée un jeton et le dépose sur le réseau.
Anneau en étoile
Conc. principal
3- CARTES RESEAUX
a- Fonctions de la carte réseau
• La carte réseau fait office de connexion physique entre l’ordinateur et le câble réseau.
• Les cartes sont installées dans un connecteur (slot) d’extension sur chaque ordinateur et serveur
du réseau.
• Les fonctions de la carte réseau sont les suivantes:
- Préparation pour le câble réseau des données qui seront transmises à partir de l’ordinateur ;
- Envoi des données vers un autre ordinateur ;
- Contrôle du flux de données entre l’ordinateur et le système de câblage.
• Une carte réseau contient le matériel et les microprogrammes qui mettent en œuvre les fonctions
LLC et MAC de la couche liaison des données du modèle OSI
b- Adresse réseau
• La carte transforme les données, mais elle doit également indiquer son emplacement (adresse)
aux autres composants du réseau afin qu’elle puisse être distinguée des autres cartes du réseau.
• Les adresses réseau sont définies par la commission IEEE. Cette commission attribue des blocs
d’adresses à chaque fabriquant de cartes réseau
• L’adresse de la carte est appelée aussi l’adresse MAC
I- Définition générale
Un modèle de référence est défini par un ensemble de normes dites de références ayant pour
ambition :
- De fixer une terminologie : Répéteur, pont, commutateur, routeur, etc.
- De définir des concepts de base : Concepts d’entités, de services, de protocoles, etc.
- De faciliter le développement de normes plus spécifiques : Norme ISO 8802.3 définissant les
réseaux Ethernet, etc.
Structuration en couches
Réseaux et Transmission de données 6
Présentation générale
- Quand on définit un service : On ne dit rien sur la manière dont il sera réalisé
- Quand on développe un protocole : On s’intéresse à la mise en œuvre pratique d’un service
On précise notamment :
• Le format des unités de données échangées entre
les entités (sous quelle forme sont transmis les
paramètres des primitives de service)
• La manière dont les primitives de service doivent
s’enchaîner pour réaliser le service demandé
(sous forme de diagramme temporel) Exemple de diagramme
3.1- Encapsulation
- Les données d’une couche sont encapsulées dans une unité de données de la
couche inférieure. Par ex. : la lettre dans l’enveloppe dans le sac postal dans le
train postal.
3.2- Segmentation
- Fonction d’une couche (N) qui consiste à une adaptation de la taille des données
aux caractéristiques de transmission.
PDU: Protocol Data Unit - Unité de Données de Protocole (ex : (2)-PDU = trame, (3)-PDU = paquet)
PCI : Protocol Control Informations - Informations de contrôle de protocole
IDU : Interface Data Unit - Unité de Données d’Interface
ICI : Interface Control Information - Informations de Contrôle d’Interface
SDU: Service Data Unit - Unité de Données de Service
V- Les couches du modèle OSI
Le modèle décrit simplement ce que chaque couche doit réaliser (le service), les règles et le
format des échanges (le protocole), mais pas leur implantation.
Le modèle OSI possède sept couches comme présenté dans la figure ci dessous :
IP = Internet Protocol
TCP = Transport Control Protocol
UDP = User Datagram Protocol
ATM= Assynchronous Transfer
Mode
AAL = Adaptation ATM Layer
I – Introduction
• La norme ISO 8802 ou l’avis X.211 de l’UIT définit le service devant être rendu par la couche
Physique
• Elle permet la transmission de bits sur un circuit de communication
• Elle fournit les moyens mécaniques, électriques et fonctionnels pour le
maintien et l’utilisation des connexions physiques
• Elle définit à la fois :
- les supports de transmission (câbles et connecteurs) à utiliser
- les modes de transmission de l’information (en bande de base et par
modulation)
• La conception de la couche Physique peut être considérée comme faisant partie
du domaine de l’ingénieur électronicien
II – Notion de transmission
Une fois les données sont codées, il faut transmettre les bits sur le réseau.
1- Système de communication
Sens de transmission
Emetteur Récepteur
Canal de
Signal
Communication
Problème de la transmission : Trouver une bonne transformation de l’information de signal tel que
le canal sera capable de le propager correctement.
Dans le cas de système informatique, l’information à transmettre est une suite de bits et les
éléments composants le bipoint du système sont :
• Les ETTD (Equipement Terminaux de traitement de donnée, Ordinateurs, imprimante,…).
• Les ETCD (Equipement Terminal de circuit de Donnée) : Equipements permettent de
transformer les bits en signaux (modem).
Emetteur Récepteur
3- Notion de signal
Un signal est une grandeur physique qui évolue au cours du temps : (électrique ou onde
électromagnétique), y(t) = A . sin( t + )
4- Support de transmission
Les caractéristiques des supports de transmission (débit, taux d’erreurs) dépendent de la bande
passante, de l’affaiblissement du signal … etc, et de la façon d’utiliser le support pour transmettre
des données (multiplexage ou non, …).
• Bande Passante :
Plage de fréquence sur laquelle la voie est
capable de transmettre des signaux sans que B.P.
Fréquence
leur affaiblissement soit trop important.
Fmin Fmax
• Rapport d’affaiblissement :
Amplitude du signal reçu
Le rapport d’affaiblissement =
Amplitude du signal émis
- Liaison point à point : Deux ETTD reliés. Une suite de cette liaison forme un
anneau.
- Liaison multi – point : La même liaison est partagée entre plusieurs ETTD.
III – Multiplexeurs
Lorsque plusieurs circuits de données existent, il est BV
intéressant de concentrer les données transmises sur des MUX
BV HV
BV
voies de basse vitesse (BV) sur un seul circuit de donnée à plus
fort débit (HV). Multiplexeurs et concentrateurs réalisent cette opération.
IV – Moyens de transmission
Trois groupes principaux de câbles sont utilisés pour la majorité des réseaux :
- Câble coaxial
- Paire torsadée : paire torsadée non blindée / paire torsadée blindée - Fibre
optique
1- Câble coaxial
Il est composé d’un brin central en cuivre à un fil entouré d’une enveloppe isolante, d’un
blindage tressé et d’une gaine externe. Il existe des variantes à double et à quatre blindages.
Deux types de câbles coaxiaux :
- Câble coaxial fin (Thinnet)
- Câble coaxial épais (Thicknet)
a- Câble coaxial fin
• Diamètre = 6 mm
• Distance maximale = 185 m
• Fait partie de la famille RG-58
• Impédance = 50 ohms
• RG-58 /U Brin central en Cu à un fil
• RG-58 A/U Brin central torsadé
2- Paire torsadée
Une paire torsadée est constituée de deux brins torsadés en cuivre, protégés chacun par une
enveloppe isolante.
On distingue :
- paire torsadée non blindé (UTP)
3- Fibre Optique
- La fibre est constituée d’un cylindre en 4- Choix d’un câblage
verre extrêmement fin, appelé brin Duplex
- stations satellite
Remarque :
Les signaux bande de base sont sujets à une atténuation dont l’importance dépend du support.
Ils doivent être régénérés périodiquement, en utilisant des répéteurs.
- Différents type de codages : voir cours de Comm. Num. (code NRZ, biphase de Manchester,
biphase différent, …).
Bande de Base
Large bande
2- Le modem récepteur
1. Introduction
• La norme ISO 8886 ou l’avis X.212 de l’UIT définit le service devant être rendu par la couche Liaison •
Elle permet la transmission de données de manière fiable entre deux entités connectées
directement (au niveau physique)
• A l’émission, les données sont assemblées en trames pour être échangées • A la réception, les
frontières entre trames envoyées par la couche Physique doivent être détectées
• Deux types de fonction sont principalement apportés :
2. La trame
C’est l’unité de données du protocole de niveau Liaison de données (L-PDU) (Adaptation de la
longueur des données aux caractéristiques de la transmission, de protection contre les erreurs et du
stockage).
Dans le contexte d’un réseau, une trame peut être une trame Token Ring ou Ethernet, FDDI
(Fiber Distributed Data Interface), ou un autre type de trame réseau. Pour les liens des réseaux
étendus, ces trames peuvent être des trames SLIP (Serial Line IP Protocol), PPP (Point to Point
Protocol), X.25 ou ATM.
2.1. Format général d’une trame Une trame :
- Une suite de bits (d’une longueur variable mais bornée)
- Le début et la fin de trame sont souvent identifiés par des délimiteurs
- Composée d’un certain nombre de champs ayant chacun une signification
précise.
- On distingue souvent 3 ensembles de champs : l’entête (header), le champ de
données et la terminaison (trailer)
Chaque trame commence par un délimiteur de début et se termine par un délimiteur de fin. Un
délimiteur peut être :
- soit une séquence particulière de caractères, comme les séquences (DLE) STX et (DLE)
ETX du protocole BSC (Binary Synchronous Communication) d’IBM.
- soit une suite particulière de bits, comme le fanion 01111110 du protocole HDLC (modèle ISO).
- soit un codage particulier, comme les symboles J et K du protocole Token Ring.
3. Mécanismes généraux
3.1. Techniques de contrôle
On doit s’assurer que le récepteur a reçu correctement, en un seul exemplaire, et dans l’ordre les
trames émises.
Deux phénomènes viennent perturber la transmission :
- la corruption de trames : transformation de la suite binaire transmise
- la perte de trames : due à la non-transmission ou la non-reconnaissance de la trame (Exple:
corruption du délimiteur)
- une corruption se traduit par une perte lorsque le récepteur détruit la trame corrompue.
Les solutions :
- Mécanisme de détection des erreurs (Utilisation d’un code polynomial : G( x) = x16 + x15 +
x2 + 1).
- Mécanisme d’acquittement positif ou négatif (explicite ou implicite)
- Techniques de mémorisation des trames et de correction par retransmission
- Utilisation de temporisateurs
- Identification des trames
Au cours d’une même connexion le même numéro va être réutilisé pour identifier plusieurs trames
différentes :
- il faut lever les ambiguïtés : W < N (W : nombre de trames envoyées).
Principes du contrôle de flux :
- Chaque trame envoyée doit être acquittée par le
récepteur.
Problème 1 :
Problème 2 :
Solution : Numérotation de trames
(identification).
- Un bit alterné suffit pour lever l'ambiguïté
Problème 3 :
- Si chaque trame doit être acquittée par une trame spécifique et d’une manière individuelle
l’efficacité de la liaison sera très faible.
- La plupart de temps les extrémités de la liaison seront en état d’attente d’acquittement. Solutions
:
- Piggybacking : le récepteur peut acquitter une trame d’information reçue par l’envoi d’une autre
trame d’information.
Réseaux et Transmission de données 24
Le niveau Liaison
- exemple : la largeur W 3
Pour que la capacité de la liaison de données soit totalement utilisée il faut que : W. L Ta/r . D
L : longueur moyenne d’une trame, Ta/r la durée d’aller/retour et D : débit nominal de la liaison.
• Numérotation de trames d’information
• Acquitter la trame N c’est acquitter toutes les trames précédentes 1..N
N(R) = V(R)
désarmer T2.
- Emission d’une trame RR
N(R) = V(R)
désarmer T2.
Transfert bidirectionnel :
5. Conclusion
- L’ensemble des mécanismes précédemment cités nécessitent l’échange d’information, la création
d’un contexte commun (partagé et réparti). Ces mécanismes se développent facilement au sein de
ce qui est appelé une “connexion”.
Généralement les mécanismes d’augmentation de la fiabilité de la transmission sont développés
au sein d’un protocole utilisant le mode connecté (Exple : HDLC).
Généralement les protocoles utilisant le mode non connecté ne proposent pas de mécanisme
augmentant la fiabilité de la transmission (Exple : Ethernet).
1. Introduction
• La couche Réseau doit permettre l’interconnexion de réseaux hétérogènes et la communication
entre machines qui ne sont pas connectées directement (au niveau Physique)
• A ce niveau, les données sont assemblées en paquets pour être échangées : Les paquets sont
encapsulés dans les trames de niveau Liaison
• Les principales fonctions apportées :
- des fonctions d’adressage (systèmes d’adressage hiérarchiques où deux
entités voisines ont des adresses comparables)
- des fonctions de routage (pour déterminer les chemins à suivre pour
interconnecter deux sous-réseaux ou entités)
• Deux types de service sont offerts :
- des services orientés connexion (normes X.25)
1.2. Le paquet
C’est l’unité de données d’un protocole de niveau Réseau (N-PDU : “Network PDU”),
généralement de longueur variable (mais bornée). Il est composé de :
- une entête
• composée d’une partie fixe (champs fixes en nombre et en taille)
• et parfois d’une partie optionnelle (champs optionnels)
- un champ d’information (selon son rôle ce champ peut être vide).
2. Segmentation-réassemblage
Les messages émis par les applications peuvent être de dimension très variable :
- commandes de quelques caractères
- fichiers de plusieurs Giga octets
Les paquets acheminés dans le réseau doivent avoir la juste taille :
- ni trop long : difficulté de la gestion du stockage, efficacité de la protection contre les erreurs,
augmentation du temps de commutation
- ni trop court : entête devient prépondérant
Le protocole de la couche Réseau met généralement en oeuvre un mécanisme de segmentation:
- identification des N-PDU appartenant aux différents N-SDU
- ordonnancement des N-PDU appartenant au même N-SDU
- délimitation des N-SDU entre-eux (marquage du dernier N-PDU de chaque N-SDU)
3. Adressage
La couche Réseau utilise des adresses pour identifier les systèmes (d’extrémité et
intermédiaires). Deux types de structuration des adresses existent :
- l’adressage global (linéaire, plat) :
chaque station se voit attribuer un numéro indépendamment de sa localisation, Des
stations voisines peuvent avoir des adresses sans aucune relation entre elles.
- l’adressage hiérarchique (structuré) :
Quelques critères pour le choix de la structure d’adresse : mobilité, routage, diffusion, densité, etc.
3 1 10 1 ou 2
Préfixes réservés : 0 = E.163 (téléphone), 1= réservé, 8 = F.69 (télex), 9 = E.164 (RNIS)
- Le champ DCC : code pays ("data country code")
- Le champ N : numéro de réseau à l’intérieur du pays (“network code”) : 10 au plus par DCC.
- Le champ NTC (“network terminal code”) : 10 chiffres (optionnellement 12).
- La structuration interne de ce champ d’adresse est choisie par l’administrateur local.
- E.164 : Plan d’adressage pour le RNIS (similaire au E.163 : plan du téléphone), les champs
qu’il renferme sont :
- CC : "country code" (variable)
- NN : "national number" (variable), consistant en 2 autres codes:
• NDC : “national destination code” (variable)
• SN : “subscriber number” (variable)
On distingue :
- 3 classes d’adresse unicast : longueur variable des champs netid et hostid.
- 1 classe d’adresse multicast : Identifie un groupe de stations. Le tableau suivant donne, pour
chaque classe, le nombre de réseaux logiques possibles, et le nombre maximum de nœuds (ou
hôtes) sur chacun d'entre eux :
4. Le routage
Il s’agit de la principale fonctionnalité de la couche Réseau qui consiste à déterminer le chemin
qui doit être utilisé par les paquets pour arriver à destination.
- Chaque nœud intermédiaire doit choisir vers quel nœud (qualifiés de prochain nœud) il doit
envoyer un paquet entrant pour que celui-ci arrive à destination.
• En mode datagramme, le choix est effectué indépendamment pour chaque paquet.
• En mode circuit virtuel, le choix est fixé à l’établissement de la connexion, et pour toute
la durée de la connexion.
- Dans chaque nœud, ces choix sont effectués en se servant d’informations contenues dans
une table de routage qui contient les nœuds suivants utilisables pour atteindre la
destination.
- Les entrées d’une table de routage sont renseignées soit statiquement, soit dynamiquement
à l’aide d’algorithme de mise à jour des tables de routage se basant sur différents critères
(débit possible, disponibilité de la ligne, taux d’erreurs, nombre de nœuds
intermédiaires,...) - Fonctions d’un routeur :
• commutation des paquets (“datagram forwarding”), c à d retransmission des paquets.
• mise à jour des tables de routage - algorithme de routage.
- Le service connecté :
• Les paquets (N-SDU) sont délivrés dans l’ordre où ils ont été reçus par les entités Réseau.
Utilise généralement le procédé d’acheminement par circuit virtuel,
• Et généralement, un contrôle de flux et d’erreur y est associé.
• Note : une table de routage (commutation) est nécessaire lors de l’établissement du circuit virtuel.
Remarque : La couche Réseau propose les deux types de service à travers 2 protocoles :
- PLP : Packet Level Protocol (X25.3),
- CLNP: Connexion Less Network Protocol.
Un bon algorithme de routage doit effectuer le meilleur compromis entre ces différents critères.
Les chemins proposés par le routage doivent :
- répondre aux exigences de qualité de chacune des applications (débit, délai, taux de perte, etc.)
- et simultanément offrir une utilisation optimale des ressources du réseau.
4.4. Procédé de calcul des routes
4.4.1 Le routage multichemin (ou multiple)
- La notion du plus “court” chemin dépend du critère d’évaluation choisi :
- distance, nombre de noeuds intermédiaires, débit offert, taux d’erreur, délai de transfert, coût
financier,...
plusieurs tables de routage peuvent être nécessaires pour tenir compte de tous ces critères.
- Plusieurs chemins peuvent menés au même destinataire :
Chaque entrée de la table de routage d’un noeud peut comporter une liste des liaisons possibles
(triées par valeur décroissante).
Exemple:
- OSPF : Open Short Path First (ISO et Internet) Algorithme générique.
- Routage hiérarchique
Lorsque la taille du réseau augmente :
5. Le contrôle de congestion
La congestion, c’est le phénomène que l’on observe lorsqu’il y a trop de paquets présents dans
le réseau :
- Accumulation de paquets en attente d’émission dans les noeuds du réseau,
- Retransmission des paquets : considérés à tort ou non comme perdus, -
Augmentation du trafic, et dégradation des performances.
Remarque :
Le problème de contrôle de congestion est à différencier du problème de contrôle de flux.
5.3. Rétro-contrôle
- Chaque noeud surveille le taux d’utilisation de ses lignes de sortie et envoie des
paquets d’engorgement vers les noeuds émetteurs de paquets devant être
acheminés sur les lignes de sortie chargées.
- Délai de réaction
6.1.1 Normalisation En
mode connecté.
- protocole normalisé par le CCITT X.25 (ISO 8208)
- "Network service definition" X.213 (ISO 8348) Mais il existe une variante en mode non
connecté :
- CNLP : “Connectionless-mode network protocol” et service (ISO 8473, 9068) - similaire
à IP.
6.1.2 Fonctions
C’est un protocole d’accès au réseau
6.2. Le service -
Mode connecté :
N_Connect.req(@ appelé, @ appelant, opt_conf_recept, opt_données_exprès, qos, données)
N_Connect.ind(@ appelé, @ appelant, opt_conf_recept, opt_données_exprès, qos, données)
N_Connect.resp(@ répondeur, opt_conf_recept, opt_données_exprès, qos, données)
N_Connect.conf(@ répondeur, opt_conf_recept, opt_données_exprès, qos, données)
N_Disconnect.req(raison, données, @ répondeur)
N_Disconnect.ind(origine, raison, données, @ répondeur)
N_Data.req(données, conf_demandée)
N_Data.ind(données, conf_demandée)
N_Data_ack.req()
N_Data_ack.req()
N-Exp_data.req(données)
N-Exp_data.ind(données)
N_Reset.req(raison)
N_Reset.ind(origine, raison)
N_Reset.resp()
N_Reset.conf()
- Multiplexage :
- NVL : numéro de voie logique (= tronçon de circuit virtuel)
Réseaux et Transmission de données 47
Le niveau Réseau
Le champ Modulo :
- dimension des champs de numérotation : P(S) et P(R),
- 01 : modulo 8 (entête de 3 octets) - format normal de paquet
- 11 : modulo 128 (entête de 4 octets) - format étendu de paquet
Le bit M (“More”):
- 1 : ce paquet est le dernier fragment du N_SDU
- 0 : ce paquet est un fragment intermédiaire du N_SDU
Le champ de données :
- longueur variable...
Réseaux et Transmission de données 48
Le niveau Réseau
- Le paquet d’appel
Etablit le circuit virtuel :
- associe dans chaque routeur les adresses de l’appelant et de l’appelé avec le NGVL+NVL
- négocie les services complémentaires au travers des champs des facilités
Le champ Données :
- données transmisses lors de l’établissement de la connexion (“Fast select facility”)
- jusqu’à 128 octets
6.4 Exemple de scénario de transfert de données
Etablissement de la connexion, transfert de données et libération de la connexion :
7. Conclusion
Les fonctions essentielles de la couche Réseau sont :
- la segmentation, l’adressage, le contrôle de flux et le routage.
Les algorithmes de routage (mise à jour des tables de routage) sont déterminants pour de bonnes
performances de transmission et une bonne utilisation du réseau.
La diffusion de données, la mobilité, la sécurité et le respect de la Qos sont les services qui
devraient se développer dans le futur.
1. Introduction
1.1. Présentation
• La couche Transport est l’interface entre les couches basses (Physique,
Liaison et Réseau) du modèle OSI qui s’occupent de la transmission de
l’information et les couches hautes (Session, Présentation et Applic ation) du
modèle OSI qui s’occupent du traitement de l’information
• Elle effectue des contrôles supplémentaires à ceux déjà effectués par la
couche Liaison, mais ces contrôles sont effectués de bout en bout
• Elle définit plusieurs classes de protocoles
Il est généralement de taille variable et composée d’un champ d’entête et d’un champ
d’information.
2. Mécanismes généraux
2.1. Qualité de service (QoS)
La couche Transport optimise l’utilisation des ressources disponibles du Réseau pour atteindre
(et maintenir) la qualité de service (de transmission de données) souhaitée par les entités
supérieures (applicatives).
- La notion de QoS peut être définie par l’ensemble des paramètres (délai de transit, débit,
etc.) caractérisant les besoins des entités applicatives.
- La valeur des paramètres peut être négociée :
Lors de la phase d’établissement de la connexion, en fonction :
• des caractéristiques des réseaux sous-jacents
• des demandes des entités supérieures locales et distantes des
mécanismes protocolaires disponibles.
- Pour chaque paramètre, l’OSI distingue trois ensemble de valeurs : préférées, acceptables et
inacceptables.
- La couche Transport joue un rôle de garant de la QoS et surveille les paramètres de QoS.
Un contrat est ainsi déterminé entre les entités supérieures ayant demandé l’établissement de la
connexion et la couche Transport.
La couche Transport doit résoudre tous les problèmes de fiabilité (analogues à ceux de la couche
Liaison de données).
2.3. Transfert de données
Des services de transfert de données spécifiques sont définis
: - Les données exprès ("Expedited Data delivery")
traitement et transmission rapide de données
• à ne pas confondre avec les différents niveaux de priorités que peuvent avoir les unités
de données normales
• de petite taille (<16 octets)
• but : la transmission d’alarme
• non soumis aux contrôles habituels (de flux, numérotation, etc.)
- Transfert de données lors de l’établissement et lors de la libération de la connexion
• transmission de données en pseudo-mode non connecté
• transmission de données accélérant l’établissement de la connexion
2.4. Sécurité
La couche Transport est une couche favorable à la mise en oeuvre de mécanismes de protection
: elle prend en compte le transfert de bout en bout des informations.
Toutefois des mécanismes de protection peuvent être mis en oeuvre à n’importe quels autres
niveaux : notamment Application ou Réseau.
On peut identifier deux types d’attaques :
Les attaques passives, et les attaques actives
- L’intrus écoute les informations échangées sur les connexions de Transport
- L’intrus peut agir sur les informations échangées : modification, reproduction, addition,
sabotage.
Exemple :
- "replay" : réexécution d’une séquence de messages préalablement capturées
- "spoofing" : l’intrus se fait passer pour quelqu’un d’autre (fausse identité)
Même si les données sont chiffrées au niveau supérieur, l’analyse du message peut fournir des
informations (directes ou indirectes) sur l’identité des correspondants, la fréquence et l’intensité de
leurs échanges
- Ces adresses peuvent ne pas figurer explicitement dans les messages de données échangés :
Numéro de référence :
L’établissement de la connexion en trois phases permet une négociation plus approfondie des
paramètres de la connexion :
- proposition de l’initiateur de la connexion
- contre-proposition du sollicité
- accord définitif de l’initiateur
En deux phases, le sollicité peut seulement choisir parmi les propositions de l’initiateur ou
refuser.
3. Le service Transport
Définition du service de la couche Transport :
- En mode connecté
- norme ISO 8072 ou CCITT X.214
Transport OSI en mode non connecté (Additif 1 de la norme 7498).
- Transfert de données (“normales”) avec contrôle de flux sur une connexion de Transport
avec les primitives T_Data : T_Data.req(données utilisateur) et T_Data.ind(idem)
Remarque : Ces deux primitives véhiculent tous les paramètres nécessaires à leur transmission
(adressage, QoS,...) alors que les primitives T-Data du mode connecté n’en ont pas besoin.
4. Le protocole de Transport
- Spécification du protocole de couche Transport :
• TP (“Transport Protocol”) : Norme ISO 8073 ou CCITT X.224
• Les mécanismes exacts mis en oeuvre au sein du protocole Transport dépendent de
l’environnement dans lequel il opère : c’est-à-dire du niveau de service (A, B et C) de
la couche sous-jacente (Réseau).
- Cinq classes de mécanismes (procédures) mis en oeuvre au sein du protocole Transport sont
définies pour s’adapter :
• aux différents niveaux de service Réseau
• aux différents besoins des applications
Le champ Type :
- les 4 premiers bits définissent le type du TPDU
- les 4 bits suivants codent la valeur du crédit pour les TPDU CR, CC, AK et RJ, et valent 0
pour les autres TPDU.
- Quelques paramètres :
• Taille maximale des TPDU : par défaut et au minimum 128 octets
[0xD0] o sur 1 octet : la puissance de 2 de la taille en octets (de 27 à
213) o Exemple : Option fixant la taille maximum à 1Ko :
• TSAP de l’appelant [0xD1] o champ Value de longueur variable :
identifie l’appelant
• TSAP de l’appelé [0xD2] o champ Value de longueur variable :
identifie le service appelé
• Champ de contrôle d’erreur [0xD3] sur 2 octets :
o premier octet : la somme de tous les octets du TPDU est nulle o deuxième
octet : la somme pondéré de tous les octets du TPDU est nulle o calcul
arithmétique simple, modulo 255 : “Fletcher checksum”
o complète la protection assurée par le calcul polynomial de la couche Liaison
de Données
• Négociation d’options [0xD6] : o premier bit : données exprès, o deuxième bit : contrôle
d’erreur.
• Classes de protocole de repli [0xD7] o même format que l’octet Class options o plusieurs,
par ordre de préférence
• Numéro de version du protocole [0x81]
- en classe 4 : le crédit peut être arbitrairement réduit réquisition : les messages déjà
envoyés sont détruits - Crédit = 0 : émission interdite !
- Pas de piggybacking !
5. Conclusion
Entre couches basses (réseau) et couches hautes (application)
Offre adaptée aux besoins de la couche supérieure, en fonction des services offerts par la couche
Réseau :
- OSI : TP a 5 classes
- Internet : 2 protocoles (TCP ou UDP)
Notion de QoS
Mécanisme de fenêtre coulissante à crédit
Le surcoût dû à l’empilement Transport+Réseau+Liaison de données devient important :
- quantité d’octets transférés vis-à-vis des données utiles,
- temps de traitements liés aux mécanismes mis en oeuvre.
I- Le niveau Session
1. Introduction
• La couche Session introduit la notion de session, extension de la notion de connexion
• Elle offre des services à valeurs ajoutées aux couches supérieures :
- Libération ordonnée de session
- Gestion du dialogue (pour des liaisons fonctionnant à l’alternat)
- Synchronisation des échanges (pour gérer les erreurs de niveau
supérieur)
- Gestion des activités ou transactions
• Par rapport aux autres couches, la couche Session est une couche très mince
2.2.2 Primitives
Une variante :
- RF-r : Refus avec réutilisation possible de la connexion Transport vacante - RF-nr : Refus
sans réutilisation
- par l’utilisateur ou par le fournisseur de service : aucune libération ne peut avoir lieu tant
qu’une activité est en cours.
La terminaison peut être négociée :
- le jeton de terminaison gère le service de terminaison négocié
- la libération libère généralement la connexion Transport associée 2.3.2 Primitives
- afin de permettre la terminaison ordonnée des données contenues par les S_Release PDU
Concaténation:
- règles spécifiques assurant une séparation non ambiguë
La connexion Transport assure un transfert des données parfaitement fiable :
- Pas de mécanismes de protection contre les erreurs
- Pas de multiplexage, ni d’éclatement de connexion Gestion du tour de parole :
- par le jeton de données (“Data token”)
- full duplex ou à l’alternat
2.5. La synchronisation
2.5.1 Points de synchronisation
- Ce service est utilisé pour effectuer des reprises sur erreurs et remettre les entités de Session
dans un état (cohérent) connu des interlocuteurs.
- Les Points de synchronisation délimitent des unités logiques et sont identifiés par un numéro
de série de 0 à 999999 par incrémentation
- la signification réelle des points de synchronisation est du domaine de l’application.
Remarque : Les S_PDU ne sont pas numérotées individuellement (la fiabilité de la connexion
Transport est suffisante)
peuvent être en cours de pose sans que cela n’entraîne l’interruption de l’échange de
données.
- V(R) : plus grand numéro de série possible pour une resynchronisation par reprise
- PR-MAA S_SPU :
• utilise le flux exprès de Transport, si le service existe; sinon la S_PDU n’est pas
utilisée.
o
unité fonctionnelle optionnelle : dépend de la présence de l’unité fonctionnelle de
gestion d’activité et de la possession du jeton majeur (et mineur et données si dispo) o
transfert en quantité limitée avec acquittement explicite :
2.7. Resynchronisation
2.7.1 Fonctions :
- un nouveau numéro de série
- réattribution des jetons
- purge des données
Ce service est offert par une unité fonctionnelle optionnelle :
- négocié lors de l’établissement
Trois types de resynchronisation sont possibles :
- reprise : “Restart”
un point de synchronisation posé (inférieur au numéro de série courant, supérieur au dernier
point de synchronisation majeure)
Réseaux et Transmission de données 79
Les couches Hautes
- abandon : “Abandon”
• un nouveau point de synchronisation (supérieur au numéro de série courant,
généralement le suivant)
• certaines données sont irrémédiablement perdues
- position : “Set”
un point de synchronisation quelconque
Exemple :
3. Protocole
3.1. Le format général des S_PDU
Format variable, dont la longueur est multiple d’un octet
Codage TLV généralisé
- Champ SI (1 octet), “S_PDU identifier” : identifie le S_PDU
- Champ LI, “Length Indicator” : longueur en octet du champ paramètre
• longueur < 255 (1 octet)
• longueur < 65536 (3 octets) : premier octet = 255; deuxième et troisième
octet=longueur
- Champ de paramètres :
• une suite de paramètres pouvant être rassemblés par groupes.
Réseaux et Transmission de données 81
Les couches Hautes
- Champ d’information :
• de longueur variable
• sans indication explicite de longueur - Quelques formats :
3.3. La concaténation
- La concaténation permet le transport de plusieurs S_PDU au sein d’une seule T_SDU.
Certaine S_PDU sont obligatoirement concaténées !
Les S_PDU sont réparties en trois catégories :
Catégorie 0 :
- GT et PT S_PDU
Catégorie 1 : les S_PDU qui ne sont pas normalement suivies par un transfert de jetons :
Réseaux et Transmission de données 83
Les couches Hautes
Lors d’un échange d’une S_PDU de catégorie 2, si aucun transfert de jeton n’est prévu, une
S_PDU de catégorie 0 (GT ou PT) sans paramètre est concaténée.
L’option “transfert avec optimisation du dialogue” négociée lors de l’établissement de la
connexion permet à plusieurs S_PDU de catégorie 2 d’être concaténées (3 maximum).
4. Conclusion
La couche Session définit et utilise de nombreux objets évolués :
- activité, dialogue, point de synchronisation, jetons
- pour répondre aux besoins de structuration et de resynchronisation La couche Session définit
de nombreux services :
- regroupés en unité fonctionnelle et négociées lors de l’établissement de la connexion
- pour répondre aux différents besoins des entités supérieures
Ces services mettent à la disposition des applications des outils (de base) dont l’utilisation et
l’interprétation exacte sont laissées aux entités supérieures.
Il existe une définition de la couche Session en mode non connecté : ISO 9548
II- Le niveau Présentation
1. Introduction
• La couche Présentation est la première couche qui s’intéresse à la sémantique des données
échangées
• Elle offre des services :
Réseaux et Transmission de données 84
Les couches Hautes
Les applications réparties peuvent être développées non seulement sur des équipements
hétérogènes mais aussi par des équipes différentes avec des moyens variés :
- les structures de données doivent être spécifiées préalablement et formellement,
- indépendamment de la représentation choisie (l’implémentation), -
lisible par le développeur de code (humain)
1.3.1 La normalisation La
norme définie :
- un langage abstrait de spécification de la structure des données échangées o ex :
ASN.1 (Abstract Syntax Notation) o interprétable par l’être humain (-> texte d’un
programme)
- des techniques d’encodage (règles) o ex. : BER, PER, etc.
o c’est la suite binaire réellement transmise (-> code machine du
programme) o la technique d’encodage est choisie lors de
l’établissement de la connexion L’utilisation :
Etablissement de la connexion :
- le contexte de présentation initial
- les caractéristiques de la connexion Session
Gestion des contextes
- définition de contexte de Présentation
- sélection de contexte courant
Transfert de données
- duplex, exprès, typés, de capacités (Session)
- Libération de la connexion
- ordonnée, brutale (Session)
Contrôle du dialogue
- ceux fournis par la couche Session : point de synchronisation, activité, jeton
3.3. Le contexte
Un contexte de Présentation est défini par un couple :
- une syntaxe d’application et une syntaxe de transfert Plusieurs contextes sont disponibles :
- contexte par défaut
- contexte initial (négocié lors de la connexion)
- contexte sélectionné parmi un ensemble de contextes prédéfinis
Modification de l’ensemble des contextes prédéfinis :
- La primitive P__Alter-context
4. Conclusion
La couche Présentation
- s’appuie pour l’essentiel sur les services de la couche Session.
- Fonction de définition et de sélection de contexte
I- Introduction
1. Historique
- Développés pour le DARPA (Defence Advanced Research Projects Agency).
- "Internet protocol" : IP v4 (rfc781) : sept. 1981.
- "Transmission of IP datagrams over Ethernet networks" (rfc894) : avr. 1984. - "Classical
IP over ATM" (rfc1577) : janv. 1994 - IP v6 (rfc1883) : déc. 1995.
2. Normalisation
Les activités de normalisation :
- contrôlées par l'IAB (Internet Activity Board)
- enregistrées par le NIC ("Network Information Center")
II. Le protocole IP
1. Introduction au protocole Internet
1.1. Présentation
"Internet protocol" : Rfc 791 : version 4 (septembre 1981)
Homogénéisation :
- hétérogénéité (des stations, de leur localisation, des méthodes d'accès, des topologies, etc...) -
transparence des données
- segmentation (fragmentation)
- performance Interconnexion : - adressage
- routage Transmission :
- par paquet (datagram)
- en mode non connecté (sans contexte : simple mais sans mécanisme de contrôle)
3. L’adressage d’Internet
3.1. Les classes d’adresse - Hiérarchique :
• identificateur du (sous-)réseau (netid)
• identificateur de la station dans le (sous-)réseau (hostid)
- Taille fixe (32bits)
- 4 classes d'adressage (voir 5)
Exemple :
3.3. Quelques adresses particulières
- Adresse de diffusion (ne doivent pas être utilisé en tant que adresse source):
• réseau local : 255.255.255.255
• sous-réseau distant : D1.D1'.D1".255 ou D2.D2'.255.255 ou D3.255.255.255
- Cette station : 0.0.0.0
- La station dans le sous-réseau local : 0.0.0.X1 ou 0.0.X2.X2' ou 0.X3.X3'.X3"
- Test (rebouclage : loopback) : 127.127.127.X1 ou 127.127.X2.X2' ou 127.X3.X3'.X3"
(Echo local des datagrammes).
3.4. Le masque de sous-réseau "Subnetting"
4. Segmentation
- Problème d’adaptation de la taille des unités de données à transmettre à la taille des unités
de transport.
- Les (sous-)réseaux offrent des unités de données de taille limitée :
o Ethernet <1500 octets o FDDI <4500 octets o
X25.3 128 octets (par défaut) o ATM = 48
octets (sans la sous-couche AAL)
5. Le datagramme IP
5.1. Le format du datagramme IP
5.3. Les champs du datagramme IP : Type of Service - Service type (ToS : Type of
service) :
• Qualifie le service de transmission demandé.
• Utilisé pour optimiser l'algorithme de routage :
o Priorités entre les différents types de flux de données. o
Critères de choix lors du routage entre des chemins alternatifs.
5.4. La fragmentation
5.4.1 Les champs du datagramme IP pour la fragmentation
- Fragment total length : longueur totale du fragment (et pas du
datagramme !) en octets (< 64koctet).
- Datagram identification : Identification unique du datagramme et de tous
ses fragments.
- Flags : "do not fragment bit" : segmentation interdite
• MTU discovery (maximum transfer unit)
• “more fragment bit” : dernier fragment d'un datagramme.
- Fragment offset : déplacement relatif des fragments par rapport au début
du datagramme (en unité de 8 octets).
• qui est remplie par chacun des routeurs du chemin (pointer+=4), tant
qu'il y a de la place dans la liste (pointer<length).
- Source Routing :
• Le chemin que doit suivre le datagramme est explicitement décrit.
• strict source routing : totalement décrit (S'il manque un routeur le datagramme est détruit).
• loose source routing : partiellement décrit (S'il manque un routeur l'algorithme de
routage standard est appliqué).
7. Conclusion
- Protocole assurant l'interconnexion de (sous-)réseaux hétérogènes :
• routage,
• adressage (adresse IP), fragmentation.
- Protocole simple (sans connexion):
• détection des erreurs (de l'entête uniquement),
• sans mécanisme de récupération des erreurs (perte, duplication, congestion).
- Nécessite d'autres protocoles :
Réseaux et Transmission de données 100
Réseau TCP/IP
• ICMP (erreur)
• RIP (routage)
• ARP (résolution d'adresse)
• ...
• Et TCP ou UDP
III- UDP
1. Présentation
"User Datagram protocol" : RFC 768 : août 1980 Transmission
:
- Par paquet de taille variable
- En mode non connecté
- Simple, sans ajout de mécanisme de contrôle "datagram"
- Se contente des services offerts par la couche inférieure (IP)
- peu de traitement
- peu de délai
3. Multiplexage
3.1. Rôle
- accès à une station du réseau (par une des ses connexions) : adresse IP
- accès à un processus dans une des stations du réseau : numéro de port
- UDP source port est optionnel
- il spécifie le n° de port utilisé lors de la réponse
- 0 : il est inutilisé
- Optionnel :
• Pas de contrôle d'erreur : le champ "UDP checksum" = 0, le vrai 0
est codé '1111111111111111'.
• Exactement la même technique est utilisée par TCP. .
5. Conclusion
- Protocole simple :
• surcoût minimal pour les paquets UDP.
• surcoût minimal pour le traitement du protocole :
o pas de contexte, o très peu de contrôle :
détection d'erreur optionnelle.
Réseaux et Transmission de données 102
Réseau TCP/IP
- En mots de 32 bits.
- Une entête :
• une partie de taille fixe,
• une partie de taille variable (les options).
- Un champ de données : de longueur
variable.
- Une connexion <-> double couple :
<adresse IP, numéro de port> du récepteur
+ <adresse IP, numéro de port> de l'émetteur.
par exemple :
<131.254.31.8, 2345> + <131.254.11.26, 20>
2.2. L’entête
HLEN (header length) : Longueur de l'entête en mots de 4 Octets (équivalent à IP)
4. La fenêtre coulissante
4.1. Les champs
- Sequence number : Numéro de premier octet du champ de données dans le flux
d'octets transmis (modulo 232).
- Acknowledgment number : Numéro du prochain octet à recevoir, Acquitte tous
les octets de numéro inférieur.
- Window size : Nombre d'octets pouvant être envoyés par anticipation.
4.2. Le mécanisme
Mécanisme permettant à la fois :
- Le contrôle de flux et de congestion.
- Le contrôle des pertes, duplication, déséquencialité.
- La récupération des erreurs par retransmission.
- L'optimisation de l'utilisation de la connexion par l'envoi anticipé de paquets
(avant que les octets des paquets précédents soient acquittés).
- Basé sur l'identification des octets (OSI : des paquets) : numérotation
(modulo232).
Les acquittements sont cumulatifs : ils acquittent tous les octets précédents. Nul n'est besoin
d'envoyer systématiquement un acquittement.
La perte d'un acquittement ne nécessite pas forcément une réémission.
4.5. Contrôle de flux Exemple
:
Emission d’un message de 5000 octets, Espace de stockage disponible au récepteur = 1024 octets
L'espace diminue
5. La connexion
5.1. L’établissement de la connexion
- 3 Phases : on distingue trois types de segments grâce aux bits "Syn", "Ack" du
champ Code - contrôle par temporisateur.
5.2. La déconnexion
- dans chaque sens indépendamment
- 2 doubles échanges
- utilise deux types de segments identifiés par les bits "Fin" et "Ack" du champ
Code.
6. Données urgentes
- Urgent pointer :
- données transmises hors du contrôle de flux
(urgente).
- Ex : commande d'interruption de traitement en
cours ou "abort".
- Le champ "urgent pointer" indique la fin de la
partie urgente du segment qui commence au
début du champ de données du segment.
- Le champ "urgent pointer" est validé par le bit
"urgent" du champ code.
7. Les options
7.1. Le format général des options
8. Conclusion
- Protocole offrant un service évolué assurant une transmission en mode connecté de bonne
qualité.
- Basé sur le mécanisme de la fenêtre coulissante.
- Protocole aux mécanismes complexes mais ses performances sont toutefois très correctes.