Vous êtes sur la page 1sur 112

UNIVERSITÉ CADI AYYAD ‫جامعة القاضي عياض‬

FACULTÉ DES SCIENCES ET TECHNIQUES ‫كلية العلوم و التقنيات‬


MARRAKECH
‫مراكش‬

RÉSEAUX
ET TRANSMISSION DE
DONNÉES
Sommaire

- Introduction aux réseaux Informatiques


- Modèle de référence
- Couche physique
- Couche liaison
- Couche réseau
- Couche transport
- Couches hautes
- Réseau TCP/IP
Introduction générale

Introduction générale aux


réseaux informatiques

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 ;

Réseaux et Transmission de données 1


Introduction générale


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.

3- Conception d’un réseau


Il faut savoir :

• 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

Réseaux et Transmission de données 2


Introduction générale

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.

Variantes des topologies


• Bus en étoile
Hub 1 Hub 2 Hub 3

Anneau en étoile

Réseaux et Transmission de données 3


Introduction générale

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

Réseaux et Transmission de données 4


Introduction générale

c- Envoi & contrôle des données


• Avant que la carte émettrice envoie réellement les données sur le réseau, elle procède à un
dialogue électronique avec la carte réseau réceptrice afin de se mettre d’accord sur les points
suivants:
- taille maximale des groupes de données à envoyer
- volume de données à envoyer avant confirmation
- intervalles de temps entre les tronçons de données envoyées
- délai d’attente avant l’envoi d’une confirmation
- quantité de données que chaque carte peut contenir avant débordement - vitesse de
transmission de données

Réseaux et Transmission de données 5


Présentation générale

Chapitre 1 : Le Modèle de référence

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.

II- Les modèles de référence On trouve :


- Le modèle OSI (Open System Interconnection) : Développé par l’ISO (International
Standardization Organisation) : Comme le modèle de référence ;
- Le modèle TCP / IP (Transport Control Protocol / Internet Protocol) : C’est le modèle de
Fondement de l’Internet ;
- Le modèle ATM (Assynchronous Transfer Mode) : Développé par l’UIT (Union
Internationale des Télécommunications).

III- Les systèmes multi-couches


1- Une structuration en couches
- Permet de simplifier la description d’un système complexe ;
- Chaque couche offre un ou plusieurs services aux couches supérieures en utilisant ceux
des couches inférieures ;
- Une couche peut aussi bien être logicielle que matérielle.

Structuration en couches
Réseaux et Transmission de données 6
Présentation générale

2- Les objectifs poursuivis


- Organiser l’ensemble des fonctions à réaliser en un nombre de couches logiquement bien
définies : Deux fonctions de natures différentes doivent se situer dans des couches distinctes
;
- Limiter les interactions entre couches pour réduire les flux d’information entre couches ;
- Rendre les relations entre couches le plus simple possible : En permettant uniquement des
relations entre couches adjacentes ;
- Conférer à chaque couche une propriété d’indépendance : L’implémentation d’une
couche doit pouvoir être modifiée sans modification des couches inférieures ou supérieures
;
Pour ce faire, les interfaces entre couches devront être normalisées

IV- La communication entre couches 1-


Les relations entre couches adjacentes -
Une interface entre couches :
- Décrit comment accéder aux services offerts par une couche
- Est définie par un ensemble de primitives élémentaires

Relations entre couches adjacentes


- La réalisation des services : Par un ensemble d’entités (matérielles ou logicielles)
- L’accès aux services : Par des points d’accès ou Service Access Point (SAP). Ex : la prise
téléphonique est le point d’accès au service téléphonique
- Chaque SAP est identifié par une adresse : Un numéro de téléphone est l’adresse d’un SAP

Réseaux et Transmission de données 7


Présentation générale

- Les différents types de primitives de service :

- Une primitive peut comporter ou non des paramètres :


Une primitive « CONNECT.request » de demande d’établissement de connexion possédera
généralement en paramètre :
• Les adresses des entités source et destination
• Des paramètres de qualité de service (débit, taux d’erreurs, etc.)
- Exemples de primitives offrant un service orienté connexion avec « confirmation »

Cependant il existe deux modes de communication entre entités :


- communication en mode connecté (appelé aussi “with connection”) :

• Trois phases : connexion, transfert, déconnexion.


• Contrôle de flux, des erreurs et de l’ordre (séquence).
• Communication avec contexte partagé entre les entités communicantes.
- communication en mode non connecté (appelé aussi “connectionless”

• Une seule phase : transfert de données.


• Communication sans mémoire.
• Chaque unité de transfert de données est acheminée indépendamment.

2- Les relations entre couches de systèmes différents

Réseaux et Transmission de données 8


Présentation générale

- Un protocole de niveau N précise comment communiquent des entités de systèmes


différents mais d’une même couche N.

- 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- Les flux de messages


- Une communication entre couches est toujours virtuelle : Excepté pour les couches les plus
basses connectées directement par le support physique de transmission.

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.

Réseaux et Transmission de données 9


Présentation générale

3.2- Segmentation
- Fonction d’une couche (N) qui consiste à une adaptation de la taille des données
aux caractéristiques de transmission.

4- Les unités de données échangées


Une unité de données du service N (N-SDU) est un ensemble de données provenant de l’interface
avec la couche N qui doit être transporté sur une connexion N. Les informations de contrôle du
protocole N (N-PCI) proviennent d’entités N.
Les unités de données du protocole N (N-PDU) sont spécifiées par un protocole N et consistent en
informations de contrôle du niveau N et en informations provenant d’une unité (ou plusieurs) de
données de service.
Pour contrôler la communication entre entités de niveau (N+1) et entités de niveau N, les informations
nécessaires sont transportées dans des (N-ICI). Ces informations de gestion peuvent être ajoutées aux
données à transporter au travers de l’interface N (N-PDU), pour donner naissance aux (N-IDU)
Réseaux et Transmission de données 10
Présentation générale

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 :

Réseaux et Transmission de données 11


Présentation générale

IP = Internet Protocol
TCP = Transport Control Protocol
UDP = User Datagram Protocol
ATM= Assynchronous Transfer
Mode
AAL = Adaptation ATM Layer

Comparaison des modèles (OSI, TCP/IP et ATM)

Réseaux et Transmission de données 12


Couche physique

Chapitre 2 : Couche physique

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.

2- Système de communication informatique

Réseaux et Transmission de données 13


Couche physique

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).

ETTD ETCD ETCD ETTD


Ligne de
Communication

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

• Capacité d’une voie


Quantité d’information pouvant être transmise en une seconde. S’exprime en bit/s.

Réseaux et Transmission de données 14


Couche physique

• Longueur élémentaire d’une voie


Longueur (en mètres) au-delà de laquelle le signal doit être amplifié ou répété pour être
correctement reçu.
La longueur élémentaire est plus importante dans le cas de la fibre optique que dans le cas du
coaxial.
• Taux d’erreur
Probabilité de perte ou d’altération d’une information (1 bit).
5- Nature des liaisons de données
Différent mode de liaison

- Simplex : Transmission dans un seul sens.


- Semi – Duplex (Half-Duplex): Transmission dans les 2 sens mais alternativement.
- Duplex (Full-Duplex): Transmission dans les 2 sens simultanément.
Configuration des liaisons de données

- 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.

➢ Multiplexage en fréquence : Chaque voie BV conserve sa BP sur la voie HV.


 La voie HV doit avoir une capacité suffisante pour absorber toutes les données provenant des
voies BV.
➢ Multiplexage temporel : On découpe le temps en tranches affectées régulièrement à chaque voie.

IV – Moyens de transmission
Trois groupes principaux de câbles sont utilisés pour la majorité des réseaux :

Réseaux et Transmission de données 15


Couche physique

- 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é

b- Câble coaxial épais


• Diamètre = 12 mm
• RG-58 C/U Spécification militaire du RG-
58 A/U
• RG-59 Transmission à large bande
(TV par câble)
• RG-6 Diamètre plus large que RG-59

Réseaux et Transmission de données 16


Couche physique

• RG-62 Réseaux ArcNet

• Souvent désigné comme le standard Ethernet


• Longueur maximale = 500 m
• Il est plus difficile à plier et par conséquent à installer

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)

- paire torsadée blindée (STP)

Exemple : Câble UTP


• Longueur maximale = 100 m
• nombre de torsions autorisées par pied (33 cm) 5 catégories de
câbles UTP:
- catégorie 1: fil téléphonique standard
- catégorie 2: quatre paires torsadées pouvant transporter des données à 4 Mb.s
- catégorie 3: quatre paires torsadées avec 3 torsions par pied. Débit maximum = 10 Mb/s
- catégorie 4: quatre paires torsadées. Débit maximum = 16 Mb/s
- catégorie 5: quatre paires torsadées. Débit maximum= 100 Mb/s

Réseaux et Transmission de données 17


Couche physique

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

central, entouré d’une couche de verre


appelé gaine optique.
- Les fibres sont parfois en plastique. Distribution multifibre

- Elles véhiculent des signaux sous forme


d’impulsions lumineuses
- Les transmissions sur une fibre
- Chaque fibre de verre transmet les
optique sont à l’abri des
signaux dans un seul sens. De ce fait, un
interférences électriques et sont
câble est constitué de deux fibres. Une
rapides (jusqu ’à 1 Gb/s et plus)
pour l’émission et l’autre pour la
réception.
Le choix d’un câblage dépend des conditions suivantes :
- volume de trafic sur le réseau ;
- besoins en matière de sécurité ; - distance à couvrir par le câble.

5- Communications sans fil


Utilisé pour différents raisons : Espaces très fréquentés, personnes mobiles, Zones et bâtiments
isolés, Bureaux dans la disposition change fréquemment…etc.

a- Types de réseaux sans fil


• Réseaux locaux
- Infrarouge ou laser
- radio à bande étroite
- radio à spectre étalé
• Réseaux étendus: utilisation de ponts à faible ou à grande portée
• Informatique mobile fait appel à des entreprises de télécoms et à des services publics pour
émettre et recevoir en utilisant les éléments suivants:
- radio-communication par paquets
- réseaux
Réseaux cellulairesde données
et Transmission 18
Couche physique

- stations satellite

V – Transmission de donnée sur une voie


1- Transmission série et parallèle
La transmission de bit peut être faite de deux manières :
- En parallèle : Transmission de plusieurs bits simultanément (bus de 8 ou 16 bits).
- En série : Les bits sont transmis séquentiellement les un après les autres.

2- Synchronisation a- Transmission asynchrone


• Les caractères sont transmis de façon irrégulière (intervalle entre 2 caractères est aléatoire,
début du message peut arriver à n’importe quel moment).
• Présence d’un bit de Start et d’un bit de stop.
- Simple à mettre en œuvre
- Peu coûteuse - Débit limité.
b- Transmission synchrone
Les bits sont émis de façon régulière sans séparation entre les caractères. Pour cela, émetteur et
récepteur possèdent une horloge bit de même fréquence.

VI – Différents modes de transmission


1- Transmission en bande de base

Pas de modulation du signal après codage.

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, …).

2- Transmission large bande


Pour
Réseaux et transmettre
Transmissionla transmission
de données longue distance, le signal est transmis sur une onde19porteuse.
Couche physique

Les types de modulation : cf. cours systèmes de communication.

VII – Les modems


1- Le modem émetteur
Transforme les données à émettre en un signal adapté à la ligne.

Données Codeur : Modulateur : Envoyer


NRZBiphase Signal carré Phase Signal sinusoïdal sur la
Suite de bit … Amplitude ligne

Bande de Base

Large bande

2- Le modem récepteur

Signal Suite de Bit


Démodulateur Décodeur

3- Normalisation des modems


Les modems et les interfaces sont normalisés ce qui assure une bonne compatibilité entre les
équipements.
Le classement des modems se fait en fonction des critères suivants:
- Technique de transmission.
- Débit.
- Support de transmission : réseau commuté, ligne spécialisé, ligne Half-duplex et Full
duplex.
- Méthode de synchronisation : asynchrone, synchrone.
- Format de l’appareil : Boitier indépendant, carte à insérer dans un ordinateur.

Réseaux et Transmission de données 20


Le niveau Liaison

Chapitre 3 : Liaison de données

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 :

- des fonctions de contrôle d’erreurs et de contrôle de flux (pour veiller à la


bonne transmission de l’information)
- des fonctions de contrôle d’accès au support (quand un même support est
partagé entre plusieurs stations)
• Des normes distinctes ont été définies pour les WAN et LAN

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

Réseaux et Transmission de données 21


Le niveau Liaison

é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)

Format général d’une trame


2.2. Remarques
- Suivant le type de protocoles, une trame peut :
- être de taille fixe ou de taille variable (jusqu’à une certaine taille maximum) : Exemple :
Variable = trame d’HDLC (High-level Data Link Control),
Fixe = cellule d’ATM (53 octets) - Ne
pas avoir de fin de trame explicite :
Exemple:
SD + ED (Starting/ending delimiter) = trame d’HDLC ou Token Ring,
SD uniquement : trame Ethernet où la fin de la trame est détectée par la fin de la porteuse
du signal.
- Suivant le rôle qui lui est attribué :
- une trame peut ne pas comporter de champ information. (Exple : un simple acquittement).

2.3. Méthodes de délimitation des trames


La couche Physique (grâce à la technique de codage utilisée) permet généralement au récepteur
de reconstituer (à l’aide du signal reçu) l’horloge et donc d’assurer la synchronisation au niveau du
bit et ainsi de reconstruire la suite binaire envoyée.
La couche Liaison de données à partir de cette suite binaire va reconstituer la trame envoyée en
assurant la synchronisation au niveau de la trame.

Réseaux et Transmission de données 22


Le niveau Liaison

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

3.2. Identification des trames


Une numérotation permet d’identifier les trames et leur acquittement
L’unité d’identification varie en fonction des protocoles :
- la trame (par exemple HDLC)
- l’octet (par exemple TCP)
- plus l’unité est petite plus l’identification est précise mais plus c’est coûteux (taille du champ).
ex : HDLC = 3 bits (ou 7 bits), TCP = 16 bits

Réseaux et Transmission de données 23


Le niveau Liaison

La numérotation se fait modulo N (=2la_largeur_du_champ_de_numérotation)

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.

- L’acquittement peut être positif (ACK) ou négatif


(NACK)

Problème 1 :

Solution : Armer un temporisateur T1 après l’envoi d’une


trame d’information.

- Si T1 expire avant la réception d’un acquittement (+ ou

-), l’émetteur renvoi la même trame d’information.

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

- Anticipation : l’émetteur peut envoyer w trames sans avoir un acquittement.


- Acquittement groupé : Le récepteur peut acquitter par une seule trame un groupe de trames reçues.
- Le nombre maximum de trames consécutives que l’on peut ainsi émettre (resp. recevoir) est la
largeur de la fenêtre d’anticipation d’émission (resp. de réception)[Principe de la fenêtre
coulissante].

- 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

- L’acquittement peut être explicite ou implicite


- Chaque trame d’informations est identifiée par un numéro.
- La numérotation de trames est faite modulo 2n où n est le nombre de bits utilisés pour représenter
les numéros de trames.

4. Le protocol HDLC (High Level Data Link Control)


Il en existe beaucoup de protocoles de liaison de données :
- BSC Binary Synchronous Control
- SDLC Synchronous Data Link Control
- HDLC High level Data Link Control (normalisé par l'ISO en 1976)
nombreux sous-ensembles (protocoles LAP-B, LAP-D, LAP-F, LAP-X)
- Ethernet / IEEE802.3
- FDDI IEEE802.4 - Token Ring IEEE802.5 - ...
Le HDLC offre un service de transfert de données fiable et efficace entre deux systèmes adjacents.

4.1. Format général d’une trame HDLC


Trame: L-PDU ("Link Protocol Data Unit")

Réseaux et Transmission de données 25


Le niveau Liaison

Format général d’une trame HDLC


4.2. Le fanion ("flag")
- Formé de 6 bits consécutifs à 1, préfixés et suffixés par un bit à 0, il délimite la trame :
dedans/dehors ;
- la trame est de longueur variable puisque le champ de données est de longueur variable
- Pour assurer l’unicité de la configuration binaire du fanion à l’intérieur de la trame, celle-ci
(munie de tous ses champs sauf des fanions) est transcodée lors de la transmission :
- toute suite de 5 bits consécutifs à 1 est transcodée en une suite de cinq bits à 1 et d’un bit à
0.
- à la réception, enlever les 0 après les séquences de cinq 1 consécutifs.
- les 0 insérés sont appelés bits de transparence.
Exemple :
Soit le N PDU (ou le L SDU) suivant :
10101111 10111111 11111001
La couche 2 va former son L PDU en ajoutant les informations du L PCI au L SDU ; La
couche 2 émet donc la séquence :
01111110 xxxxxxxx xxxxxxxx
101011111001111101111101001
xxxxxxxxxxxxxxxx01111110
- Les trames successives peuvent n’être séparées que par un seul fanion
- Une suite de plus de 15 bits consécutifs à 1 est interprétée comme une liaison hors service

4.3. Les adresses

Réseaux et Transmission de données 26


Le niveau Liaison

Ce champ désigne l’adresse du terminal auquel on transmettait les données, ou l’adresse du


terminal qui transmettait des données.

4.4. Les différents types de trames


Le protocole HDLC (LAP B) est un protocole de transmission fiable qui opère en mode connecté
(3 phases), donc on a besoin de trois types de trames :
- Trames de gestion de la liaison ou non numérotées (U : Unnumbered) Demande de
connexion, acceptation, refus, libération de la connexion ;
- Trames d’informations (I : Information)
Trames de transmission effective des données.
- Trames de supervision de la transmission (S : Supervisory) Acquittements : positifs et
négatifs
Trois types : 2 bits suffisent pour les distinguer (notamment par leur champ Commande)

Le bit P/F (poll/final)


- On dit que le bit P/F est positionné s’il a la valeur 1.
- Par pure convention de notation on dit :
- Un bit P/F positionné a la valeur P si la trame est une trame de commande.
- Un bit P/F positionné a la valeur F si la trame est une trame de réponse.
- L’émetteur d’une commande exige une réponse immédiate.
- En recevant une trame avec le bit P/F positionné, la signification de ce bit dépend du contexte
local.
F si le récepteur a déjà envoyé une commande
P si aucune commande n’est envoyée.

4.5. Les trames d’information

Réseaux et Transmission de données 27


Le niveau Liaison

Acheminent les données utilisant le “piggybacking”.

- Ns : Numéro de la trame d’information ( 3 bits donc numéro module 8 ) - Nr : Numéro de la


prochaine trame d’information attendue
- Numérotation modulo 8
- Une trame acquitte toutes les trames de numéros strictement inférieurs à Nr
- La perte d’un acquittement peut ainsi être compensée par le prochain acquittement. -
Notation : INs, Nr

4.6. Les trames de supervision


4 types de trames de supervision,

- RR (“Received & Ready”) - 00 : acquittement


• confirme la réception des trames de données de n° < N(R)
• demande la transmission des trames suivantes
- RNR (“Received & Not Ready”) - 10 : contrôle de flux
• confirme la réception des trames de données de n° < N(R)
• interdit la transmission des trames suivantes
- REJ (“Reject”) - 01 : protection contre les erreurs
• confirme la réception des trames de données de n° < N(R)
• demande la retransmission des trames de n° < N(R)
- SREJ (“Selective Reject”) - 11 : protection contre les erreurs
• confirme la réception des trames de données de n° < N(R)
• demande la retransmission de la trame de n° = N(R)
• non-utilisée par LAP-B
- Notation : RRNr , RNRNr, REJNr

4.7. Les trames non-numérotées


Toutes les autres trames nécessaires à la gestion de la connexion

Réseaux et Transmission de données 28


Le niveau Liaison

• U0U1U2U3U4 : code le type des trames non-numérotées


- Trame d’établissement de la connexion - commande : SABM [11100] (Set asynchronous
balanced mode) - en format normal
- Trame de libération de la connexion - commande : DISC [00010] (Disconnection)
- Trame de confirmation - réponse : UA [00110] (“Unnumbered acknowledgment”) :
- Trame de récupération des erreurs -réponse : FRMR [10001] (“Frame reject”) :
- Trame d’indication de connexion libérée : DM [11000] (“Disconnected mode”)

4.8. Quelques variables des entités du protocole


- Chaque entité tient à jour les trois variables suivantes :
• V(S) = numéro de la prochaine trame d’information à émettre,
• V(R) = numéro de la prochaine trame à recevoir, DN(R) = numéro
du dernier acquittement reçu.
- et connaît les constantes suivantes :
• T1 = délai de garde au bout duquel une trame non acquittée est réémise.
• T2 = délai d’acquittement pendant lequel le récepteur peut retarder l’envoi de l’acquittement
d’une trame.
• N1 = taille maximum d’une trame.
• N2 = nombre maximum de réémissions d’une même trame. W = largeur de la fenêtre.
• etc.
4.9. Quelques aspects fondamentaux de la procédure (du protocole) HDLC
4.9.1 Emission d’une trame
- Emission d’une trame I
Vérifier que V(S) < DN(R) + W puis :
• N(S) = V(S) et N(R) = V(R) ;
• mémoriser la trame;
• incrémenter V(S) modulo N;
• armer le temporisateur (délai de garde T1) associé à la trame; désarmer T2.
- Emission d’une trame REJ

Réseaux et Transmission de données 29


Le niveau Liaison

N(R) = V(R)
désarmer T2.
- Emission d’une trame RR
N(R) = V(R)
désarmer T2.

4.9.2 Réception d’une trame


- Sur réception d’une trame
• Si la trame est invalide
• alors la trame est ignorée (si FCS incorrect) ou émission d’une trame FRMR (format incorrect).
Sur réception d’une trame I
• Si N(S) V (R),
• alors trame non-attendue (déséquencée)
- émettre une trame REJ;
sinon /* N(S) = V(R) */
- Armement du temporisateur T2 (délai d’acquittement) associé à N(S); - Incrémentation
de V(R).
• Si DN(R) N(R) < V(S) alors
- désarmer les temporisateurs T1 des trames de n° compris entre DN(R) et N(R); -
DNR(R) = N(R) ;
- Sur réception d’une trame RR
• Si DN(R) N(R) < V(S) alors
- désarmer les temporisateurs T1 des trames de n° compris entre DN(R) et N(R); -
DNR(R) = N(R).
- Sur réception d’une trame REJ
• Si DN(R) N(R) < V(S) alors
- désarmer les temporisateurs T1 des trames de n° compris entre DN(R) et N(R);
- DNR(R) = N(R) ;
- Emettre les trames de numéros compris entre N(R) et V(S).

4.9.3 Expiration d’un délai


- A l’expiration du délai T1 associé à une trame
Si le nombre de retransmissions n’est pas dépassé (< N2) -
alors on réémet la trame I telle qu’elle a été mémorisée.
- A l’expiration du temporisateur T2 émettre une trame RR.

4.10. Scénario d’établissement et de rupture d’une connexion

Réseaux et Transmission de données 30


Le niveau Liaison

- Etablissement de la connexion, envoie des données puis rupture de la connexion :

- Refus d’établissement de la connexion : - Établissement de la connexion :

4.11. Scénario de transfert de données -


Transfert unidirectionnel :

Transfert bidirectionnel :

- Transfert avec perte :

Réseaux et Transmission de données 31


Le niveau Liaison

Avec contrôle de flux

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).

Réseaux et Transmission de données 32


Le niveau Réseau

Chapitre 3 : Le niveau Réseau

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)

- des services sans connexion ou datagrammes (normes Internet)

1.1. Fonctions de la couche Réseau


La couche réseau est chargée de transmettre les données de la couche Transport en utilisant un
système de communication (un réseau) composé de systèmes intermédiaires, généralement
homogènes, interconnectées par des liaisons de données. Le terme réseau est utilisé à la fois pour
nommer la couche et le système de communication.

1.2. Le paquet

Réseaux et Transmission de données 33


Le niveau Réseau

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).

Format général d’un paquet

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é) :

Réseaux et Transmission de données 34


Le niveau Réseau

• chaque adresse est décomposée en champs, sous-champs, etc.


• la sémantique associée à chaque champ peut être géographique ou fonctionnelle

Quelques critères pour le choix de la structure d’adresse : mobilité, routage, diffusion, densité, etc.

3.1. Adressage ISO


- Adressage X.121 : réseau public de données numériques
Adressage hiérarchique utilisant 14 demi-octets (utilisant une représentation DCB)
Dcc N NTC
Pays Réseau Adresse de l’équipement Extension

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)

La structuration interne de ce champ d’adresse est choisie par l’administrateur local.

- Norme ISO 8348/2 ou CCITT X.213/A :


Plan d’adressage hiérarchique :

- Initial domain part :


Composé de deux champs :

Réseaux et Transmission de données 35


Le niveau Réseau

- Authority format identifier qui indique l’autorité et le format utilisé ;


- Initial domain identifier : identifie le domaine
d’adressage donc l’autorité chargée d’interpréter le
champ suivant.
- Domain specific part : adresse spécifique

3.2. L’adressage d’Internet


Les adresses du protocole IPv4 ont une longueur fixe de 32 bits. C’est un type d’adressage
hiérarchique à 2/3 champs : (classe,) netid (Network Identifier), hostid (Host Identifier).
Classe Adresse 32 bits 1 er octet (décimal) Nb de réseaux Nb de nœuds
8
A 0 netid hostid 1 à 126 126 16 777 214
16
B 10 netid hostid 128 à 191 16 383 65334
24
C 110 netid hostid 192 à 223 2 097 151 254

D 1110 multicast 224 à 239

E 1111 Réservé à un usge ultérieur 240 à 247

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 :

Nouvelle version IPv6 :


- longueur des adresses 128 bits
- adresses "anycast" (+ unicast + multicast)

3.3. Adresse IEEE 802


Adresse utilisée par les réseaux locaux (couche Liaison de données), exemple Ethernet, Token
Ring, Token Bus, FDDI, c’est une norme IEEE 802 et constitue un adressage global. Il
existe 2 formats :

Réseaux et Transmission de données 36


Le niveau Réseau

- bit I/G : adresse individuelle ou de groupe


- bit U/L : adresse universelle ou locale
Adresses réservées
Attribution des adresses (par les constructeurs des cartes) :
- 3 premiers octets : numéro de l’équipementier (exemples : Sun= 080020, 3COM= 02608C).
- 3 derniers octets : numéro de série de la carte.
3.4. La gestion du plan d’adressage
Administration de la structuration variable des adresses (de longueur variable) :
- attribution des adresses (unicité)
- décodage des adresses (efficacité)
Chaque domaine possède une autorité. Chaque autorité connaît :
- les adresses des objets de son domaine
- l’autorité du domaine supérieure dont elle dépend
- les autorités des domaines inférieures (leur identification)
- les ensembles d’adresses qui dépendent de ses sous-autorités
Chaque autorité délègue la gestion des suffixes aux autorités de ses sous-domaines.

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.

Réseaux et Transmission de données 37


Le niveau Réseau

- 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.

4.1. La commutation des paquets


Chaque routeur est muni d’une table de routage. Cette table reflète l’état (perçu par le routeur)
de la topologie du réseau à un moment donné.

4.1.1 Le procédé d’acheminement utilisant un circuit virtuel


Chaque tronçon de CV est identifié par un nº de voie logique
(NVL).
Les numéros de VL sont choisis lors de l’établissement de la connexion. Ils sont rendus lors de la
libération de la connexion :

Réseaux et Transmission de données 38


Le niveau Réseau

4.1.2 Services et procédés d’acheminement


Deux services d’acheminement :
- en mode connecté ou en mode non connecté
Deux procédés d’acheminement :
- Par circuit virtuel ou par datagramme - Le service
non connecté:
• Les paquets (N-SDU) sont reçus et délivrés par les entités Réseau
indépendamment les uns des autres.
• Utilise généralement le procédé d’acheminement par datagramme,
• Généralement peu ou pas de service d’augmentation de la fiabilité.
Les services de protection contre les erreurs, de contrôle de flux et le ré-ordonnancement
des paquets sont éventuellement reportés dans les couches supérieures.

Réseaux et Transmission de données 39


Le niveau Réseau

- 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é.

- Le procédé d’acheminement par datagramme :


• Les paquets (N-PDU) sont transmis indépendamment les uns des autres au sein du réseau.
• Leur routage (commutation) est effectué grâce à l’adresse de destination figurant dans
l’entête du paquet,
• Le routage des paquets (entre deux mêmes stations) est adaptatif,
• Généralement, les routeurs effectuent peu ou pas de traitement de contrôle.

- Le procédé de transmission par circuit virtuel :


• Les paquets (N-PDU) sont acheminés séquentiellement grâce à une connexion ouverte au
sein du réseau.
• Leur routage (commutation) est effectué grâce à un identificateur de circuit virtuel figurant
dans l’entête du paquet,
• La phase d’établissement de la connexion permet de déterminer le circuit virtuel en
réservant les ressources (notamment l’identificateur de circuit virtuel) au sein de chaque
routeur,
• Tous les paquets utilisant un circuit virtuel suivent le même chemin,
• Les paquets sont transmis sur ce circuit virtuel dans l’ordre, Généralement, un
contrôle de flux et d’erreur y est associé.

Réseaux et Transmission de données 40


Le niveau Réseau

• Note : une table de routage (commutation) est nécessaire lors de l’établissement du circuit virtuel.

4.1.3 Comparaison entre CV et datagramme et entre adresse et numéro de CV


- Un numéro de CV identifie un tronçon de CV (pour une seule liaison entre 2 systèmes
intermédiaires). Le chemin suivi par un CV est identifié par une suite de nº de VL.
- L’identificateur de CV est généralement de plus faible taille qu’une adresse
- La table de commutation (de n° de circuit virtuel) est plus petite que la table de routage.
- La durée le vie de l’association numéro de VL /Circuit virtuel est celle de la connexion.
- La réservation d’un nº de VL est effectuée localement pour chacune des liaisons formant la
connexion. Sinon :
• des réservations multiples de nº risqueraient d’apparaître,
• la résolution des conflits de numérotation serait complexe et longue.
- Grâce au circuit virtuel :
la commutation est plus
rapide, , le contrôle du trafic
est aisé, la taxation est plus
facile.

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.

4.2. Les paquets errants


Certains paquets peuvent traîner dans le réseau :
- notamment si le service Réseau est en mode datagramme
- les paquets suivent des chemins indépendants
- le mécanisme de retransmission produit des doubles
Réseaux et Transmission de données 41
Le niveau Réseau

- certaines portions du réseau peuvent se trouver isoler du reste :


• soit par panne de routeur ou par rupture de liaisons
• soit à cause de l’instabilité (vitesse de convergence) des algorithmes de routage
- les routeurs doivent mémoriser les paquets qu’ils ne peuvent temporairement acheminer
Dans ce cas, la durée de vie des paquets est volontairement limitée. Exemple IP :
- chaque datagramme est munie d’un champ spécifique : TTL (“Time to live”),
- initialisé à une certaine valeur : sa duré de vie maximale,
- décrémenté toutes des secondes de résidence dans un routeur et à chaque réception dans un
routeur,
- le datagramme est détruit lorsque la valeur devient nulle.

4.3. Les algorithmes de routage


Rôle : Mise à jour des tables de routage
- Deux classes d’algorithmes de routage :
• algorithmes non-adaptatifs (routage statique) algorithmes adaptatifs (routage
dynamique) :
• automatique
• s’adapte aux modifications de la topologie et du trafic - Les algorithmes
adaptatifs peuvent être :
• centralisés : les tables de routage de tous les noeuds sont calculés dans un seul noeud.
• répartis : les tables de routage sont calculées dans chaque noeud. - Les
algorithmes peuvent utilisées des informations :
• locales aux noeuds. Exemple : longueur de ses files d’attente.
• collectées globalement. Exemple : connaissance de la topologie totale

4.3.1 Propriétés principales d’un algorithme de routage


- L’exactitude - L’équité
- La robustesse - L’optimalité
- La stabilité - La complexité

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 :

Réseaux et Transmission de données 42


Le niveau Réseau

- 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).

4.4.2 L’algorithmes centralisés de calcul du plus court chemin


- algorithme sur les graphes valués positivement [Dijkstra (1959), Moore(1957)],
- algorithme sur les graphes quelconques [Bellman (1958), Ford(1956)],
- algorithme matriciel [Floyd], - etc.

4.4.3 Quelques algorithmes de routage


- "Distance vector algorithm"
Algorithme réparti d’échange d’information synthétique entre voisins.
Principe :
- chaque noeud connaît la distance vers tous ses voisins immédiats,
- chaque noeud échange régulièrement avec tous ses voisins ses meilleurs chemins.
Exemple :
- RIP (“Routing information protocol”) d’Internet Simple, d’étendue limitée, mono-critère.

- "Link state algorithm"


Algorithme réparti d’échange de l’état de toutes les liaisons entre tous les noeuds. Principe
:
- Diffusion de l’état de toutes les liaisons connues, - Calcul local du (des) meilleur(s)
chemin(s).

Exemple:
- OSPF : Open Short Path First (ISO et Internet) Algorithme générique.
- Routage hiérarchique
Lorsque la taille du réseau augmente :

Réseaux et Transmission de données 43


Le niveau Réseau

- la taille des tables de routage croit


- la complexité de calcul de la table de routage croit
- le nombre de messages de routage échangés croit
Le réseau est structuré hiérarchiquement en différents domaines :
- un nombre restreint de noeuds de chaque domaine assurent l’interconnexion entre domaines

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.

Deux types de solution : la prévention (ou anticipation) ou la régulation (a posteriori).

Remarque :
Le problème de contrôle de congestion est à différencier du problème de contrôle de flux.

5.1. La préallocation de l’espace de mémorisation - Utilisable uniquement dans le


cas d’une connexion. - Efficace mais monopolisation inutile de ressources.

Réseaux et Transmission de données 44


Le niveau Réseau

5.2. Le contrôle de congestion isarythmique


- Conservation d’un nombre constant de paquets en circulation dans le réseau par
utilisation de jetons.
- Mauvaise répartition des jetons en fonction de la charge.

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

5.4. Priorité/destruction des paquets


- Nécessité de définir des critères pour choisir les paquets à détruire ou à
acheminer en priorité.
- En dernier ressort.

6. Etude du protocole PLP 6.1. Présentation


- "Packet Layer Protocol"

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.

En fait, la norme X25 définit les protocoles des 3 premiers niveaux :


- X25.1 : Physique (X.21)
- X25.2 : Liaison de données (HDLC : LAP-B) - X25.3 (PLP)

6.1.2 Fonctions
C’est un protocole d’accès au réseau

Réseaux et Transmission de données 45


Le niveau Réseau

- Entre un équipement d’extrémité (système hôte) et un équipement d’interconnexion


(systèmes intermédiaires - routeurs).
- Il n’est pas forcément utilisé comme protocole d’échange des données au sein du réseau
(entre équipements d’interconnexion). Il est très souvent utilisé à l’intérieur du réseau.
Exemple : Transpac.

6.1.3 Les circuits virtuels


- Deux types de connexion possibles :
- circuit virtuel permanent (PVC : “Permanent Virtual Circuit:) :
• le circuit virtuel est toujours disponible : fonctionne comme une ligne spécialisée
(louée/réservée). La connexion est établie en permanence.
• l’équipement d’extrémité n’a pas à implémenter les phases d’établissement et de rupture
de la connexion (c à d le processus de signalisation ou de commande) :
▪ facilite la transition
▪ gain de temps ▪
sécurité ?
- circuit virtuel (VC Virtual Circuit) :
• c’est le fonctionnement normal
• en trois phases : établissement de la connexion, transfert de données, libération de la
connexion.

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()

Réseaux et Transmission de données 46


Le niveau Réseau

- Quelques enchaînements de primitives

- Mode non connecté


N_UniData.req(@ appelé, @ appelant, qos, données)
N_UniData.ind(@ appelé, @ appelant, qos, données)
N_Facility.req(qos)
N_Facility.ind(origine, qos, raison)
N_Report.ind(origine, qos, raison)

6.3. Les différents types de paquets


6.3.1 Le format général des paquets
- Paquets de contrôle - Paquets de données

- Multiplexage :
- NVL : numéro de voie logique (= tronçon de circuit virtuel)
Réseaux et Transmission de données 47
Le niveau Réseau

- NGVL : numéro de groupe de voies logiques


6.3.2 Le paquet de données
Le bit Q (“Qualified data”) :
- 1 : données de contrôle (ex: PAD)
- 0 : données issues des entités des couches supérieures
Le bit D (“Delivery”):
- 1 : contrôle de flux de bout en bout
- 0 : contrôle de flux local (“back pressure”)

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

Les champs P(S) et P(R) :


- compteurs de la fenêtre coulissante utilisée par le protocole pour effectuer le contrôle de flux
et le contrôle d’erreur
- P(S) : numéro du paquet (=N(S))
- P(R) : numéro du prochain paquet attendu et acquittement (=N(R))

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

- La fragmentation est coûteuse : on préfère l’éviter et ne l’avoir qu’en frontière de réseau, si


possible

Le champ de données :
- longueur variable...
Réseaux et Transmission de données 48
Le niveau Réseau

- mais bornée par la longueur maximale du paquet :


négociée parmi les valeurs [16, 32, 64, 128, 256, 512, 1024, 2048,
4095], par défaut 128 octets.
6.3.3 Les paquets de contrôle

- 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 bit A (“Address”), le type d’adresse utilisée :


- 1 : TOA+NPI address =“Type Of Address+Numbering Plan Identication+Address value” -
0 : adresse X.121

Les adresses peuvent être de taille variable :


- l’unité longueur est le demi-mot
- les longueurs peuvent être différentes entre appelant et appelé !
Le champ Facilités :
- taille maximum du paquet [16-4096 bits], largeur de la fenêtre [2-127 paquets], débit
[7564Kbit/s], etc.
Réseaux et Transmission de données 49
Le niveau Réseau

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.

Le protocole X25 est un protocole d’accès au réseau...


- ... mais il peut être utilisé entre équipements intermédiaires.
- Il utilise une technique de commutation utilisant un circuit virtuel adapté au mode connecté.
- Il reprend le mécanisme de la fenêtre coulissante :
contrôle de flux (et contrôle d’erreur).
D’autres services et protocoles existent :
- IP ou CNLP : leur service est non connecté, ils utilisent un procédé de transmission de type
datagramme.

Réseaux et Transmission de données 50


Le niveau Réseau

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.

Réseaux et Transmission de données 51


Le niveau Transport

Chapitre 4 : Le niveau Transport

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

1.2. Ses fonctions


- Les entités communicantes ne sont plus des stations mais des processus :
• adressage spécifique
• multiplexage des connexions Transport sur une connexion Réseau reliant les stations
supportant les processus.
- La connectivité doit être assurée et maintenue en dépit de la multiplicité des réseaux utilisés
pour l’acheminement.
- La couche Transport peut offrir les deux modes classiques de service :
• le mode connecté et le mode non connecté - Deux types de services de
transmission :
• flux continu de données ("stream oriented service") : un seul T_SDU
• séquence d’unités de données ("record oriented service") : une suite de T_SDU
- Le message : c’est l’unité de données de transfert de niveau Transport (T-PDU).

Réseaux et Transmission de données 52


Le niveau Transport

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.

2.1.1 Quelques paramètres de QoS


- le délai d’établissement de la connexion
- la probabilité d’échec d’établissement de la connexion
- le débit de la connexion ("throughput") : dans chaque sens
- le temps de transit
- le taux d’erreur résiduel
- la probabilité d’incident de transfert : non respect des contraintes
précédentes
- la qualité de la sécurité de la connexion : niveau de protection
- la priorité relative des connexions entre-elles : dégradation des moins
prioritaires
- la probabilité de résiliation de la connexion
- le délai de libération de la connexion
- la probabilité d’échec de libération de la connexion - etc.

Réseaux et Transmission de données 53


Le niveau Transport

Un contrat est ainsi déterminé entre les entités supérieures ayant demandé l’établissement de la
connexion et la couche Transport.

2.2. Services fournis par la couche Réseau


Les mécanismes mis en oeuvre au sein d’un protocole Transport (pour rendre le service
demandé) dépendent de l’environnement dans lequel il opère : c’est-à-dire des services fournis
par la couche Réseau.
Du point de vue de la couche Transport, on distingue trois niveaux de service Réseau :
- niveau A (service fiable sans désynchronisation),
- niveau B (service fiable avec quelques désynchronisations)
- niveau C (service peu fiable)

2.2.1 Service Réseau de niveau A


- Taux acceptable d’erreurs résiduelles : La fraction de paquets perdus,
dupliqués ou corrompus est négligeable.
- Taux acceptable d’incidents signalés : Les désynchronisations
(N_RESET()) sont très rares.
- Cette catégorie de service est fournie par les réseaux locaux.
Le travail de la couche Transport est très simple.

2.2.2 Service Réseau de niveau B


- Taux acceptable d’erreurs résiduelles.
- Taux inacceptable d’incidents signalés : la couche Réseau émet trop
fréquemment des commandes de réinitialisation.
- Cette catégorie de service est fournie par les réseaux publics (X25).

Le travail de la couche Transport devient un peu plus complexe :


• établissement d’une nouvelle connexion
• resynchronisation
• poursuite de la transmission avec masquage des N_RESET à
l’utilisateur.

Réseaux et Transmission de données 54


Le niveau Transport

2.2.3 Service Réseau de niveau C: service peu fiable


- Taux inacceptable d’erreurs résiduelles : pertes, duplications ou
corruptions.
- Taux inacceptable d’incidents signalés.
- Cette catégorie de service est fournie par les réseaux à longue distance en
mode non connecté et les réseaux par ondes hertziennes.

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.

Réseaux et Transmission de données 55


Le niveau Transport

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

Quelques techniques de protection :


- chiffrement (cryptage),
- authentification (des partenaires), - intégrité des données (signature).
2.5. Adressage
- Double besoin pour les adresses :
identifier les processus dans les stations
- durée de vie égale à celle du processus : réutilisation des mêmes adresses
- connaissance de ces adresses limitée aux intervenants
identifier des services généraux ("Well known generic service address")
- durée de vie permanente
- connaissance totale étendue à tous les acteurs potentiels
L’adresse Transport complète l’adressage Réseau.
- L’adressage s’effectue via les points d’accès au service Transport :
TSAP ("Transport Service Access Point") auxquels chaque processus vient se connecter
et où il attend une demande de connexion.

- Ces adresses peuvent ne pas figurer explicitement dans les messages de données échangés :
Numéro de référence :

Réseaux et Transmission de données 56


Le niveau Transport

- Accélération du traitement - recherche du contexte rapide par accès direct au


contexte grâce au numéro de référence qui sert d’index.
- Minimisation du volume occupé dans l’entête.

2.6. Etablissement de la connexion en 2 ou 3 phases Deux séquences d’échange de


messages lors de l’établissement de la connexion peuvent être définies :
- En deux phases ("two way handshake") : service Réseau assure la séquentialité
(généralement en mode connecté)
- En trois phases ("three way handshake") : service Réseau n’assure pas la séquentialité
(généralement en mode non connecté)

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.

2.7. La gestion de la connexion


2.7.1 Présentation
La gestion de la connexion est plus développée :
- la phase d’établissement de la connexion est aussi une phase de
négociation des paramètres de QoS
- plusieurs formes : "two-way and three-way handshake"

Les procédures d’établissement et de libération doivent être symétriques :


- chaque utilisateur peut prendre l’initiative des opérations

On définit deux types de libération de la connexion :


- libération ordonnée : toutes les unités de données en transit sont délivrées
avant la libération effective
- libération brutale ("abrupt connection release"/ "abort") : plus rapide

2.7.2 La libération d’une connexion

Réseaux et Transmission de données 57


Le niveau Transport

2.8. Multiplexage et éclatement

Réseaux et Transmission de données 58


Le niveau Transport

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).

3.1. En mode connecté


- Etablissement de connexion avec négociation de la QoS à l’aide de quatre primitives
T_CONNECT : T_Connect.req(adresse destination, adresse source, option de données exprès,
qualité de service, données utilisateur), T_Connect.ind(idem) T_Connect.resp(adresse de réponse,
option de données exprès, qualité de service, données utilisateur) et T_Connect.conf(idem).

Longueur de données utilisateur ≤ 32 octets.

- 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)

Réseaux et Transmission de données 59


Le niveau Transport

- Transfert de données exprès (optionnel) avec les deux primitives T_Expedited_DATA :


T_Expedited_Data. req(données utilisateur) et T_Expedited_Data.ind(idem).

Longueur de données utilisateur ≤ 16 octets.

- Libération de la connexion avec les primitives T_Disconnect : T_Disconnect.req(données


utilisateur) et T_Disconnect.ind(cause de la déconnexion, données utilisateur).

Longueur de données utilisateur ≤ 64 octets


3.2. En mode non connecté:
- L’utilisateur du service Transport ne dispose que de deux primitives T_Unidata liées au
transfert de données : T_Unidata.req(adresse destination, adresse source, qualité de service,
données utilisateur) et T_Unidata.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).

Réseaux et Transmission de données 60


Le niveau Transport

- 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

4.1. Les classes de protocole Transport


4.1.1 La classe 0 (classe de base)
- Gestion de la connexion : accord ou refus d’établissement.
- Transfert de données normales (pas de données exprès)
- Segmentation des données en plusieurs messages, si nécessaire.
- Libération implicite de la connexion
- Pas de numérotation
- Pas de séquencement, ni de contrôle de flux.
- Pas de contrôle d’erreur sophistiqué : - détection des erreurs protocolaires -
simple libération de la connexion.
Le protocole de classe 0 est simple. Il est prévu pour fonctionner au-dessus des services Réseau
de niveau A (Exemple : télex).

4.1.2 La classe 1 (classe de base avec reprise sur erreur)


- Classe 0 +
- Concaténation et séparation
- Libération explicite de la connexion
- Numérotation des TPDU DT
- Echange de données exprès soit dans des paquets de données soit dans des paquets exprès
de la couche Réseau
- Capacité à maîtriser les resynchronisations (N_RESET) de la couche Réseau. - Gel des
références
- Pas de contrôle de flux, pas de technique d’augmentation de la fiabilité.
Cette classe convient à un service Réseau de niveau B (service fiable avec resynchronisation).

4.1.3 La classe 2 (classe avec multiplexage)


- Classe 0 +
- Multiplexage et démultiplexage.
- Concaténation et séparation
- Libération explicite de la connexion
- Numérotation des TPDU DT
- Echange de données exprès dans les paquets de données de la couche Réseau - Contrôle
de flux optionnel.
Cette classe est généralement utilisée sur un service Réseau de catégorie A.

Réseaux et Transmission de données 61


Le niveau Transport

4.1.4 La classe 3 (classe avec reprise sur erreur et multiplexage)


C’est l’union des classes 1 et 2.
- Mais le contrôle de flux est obligatoire.
Cette classe est adaptée au service Réseau de catégorie B

4.1.5 La classe 4 (classe avec détection et reprise sur erreur)


Cette classe de protocole Transport reprend toutes les fonctionnalités des classes 0, 1, 2, et 3.
- Détection d’erreurs par champ de contrôle d’erreur. - Retransmission après
temporisation - Remise en séquence.
- Détection d’inactivité.
- Eclatement et recombinaison
Cette classe est prévue pour les services Réseau de catégorie C (service insuffisant).
4.2. Les différents T-PDU
- Le protocole Transport utilise 10 types de TPDU :
• Demande de connexion (“Connection Request” : CR),
• Confirmation de connexion (“Connection Confirm” : CC),
• Demande de déconnexion (“Disconnection Request” : DR),
• Confirmation de déconnexion (“Disconnection Confirm” : DC),
• Données (“Data” : DT),
• Accusé de réception de données (“Data acknowledgment” : AK),
• Données exprès (“Expedited Data” : ED),
• Accusé de réception de données exprès (“Exp. Data acknowledgment” : EA),
• TPDU d’erreur (“Error TPDU” : ER), Rejet (“Reject” : RJ).
- Classes et codes

Réseaux et Transmission de données 62


Le niveau Transport

4.3. Le format général des TPDU Les


TPDU comportent :
- une entête avec partie fixe et variable,
- et un champ de données de longueur variable

Le champ LI (“Length Indicator”) :


- longueur de l’entête en octets, non-compris le champ LI lui-même. - la valeur 255 est
réservée pour des futures extensions

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.

Le reste de la partie fixe dépend du type du TPDU.

Réseaux et Transmission de données 63


Le niveau Transport

4.4. La partie variable de l’entête


Comporte des paramètres en nombre et en taille variables.
- La technique de codage :
TLV (Type -longueur-valeur) :

Le champ Code définit le type du paramètre.


Le champ Length définit la longueur en octets du champ Value. Le
champ Value contient la valeur du paramètre

- 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]

Réseaux et Transmission de données 64


Le niveau Transport

• Délai maximum d’expédition d’un acquittement (en ms)


• Débit : moyen et minimal, pour chacun des deux sens de transmission
• Délai de transit : moyen et maximal, pour chacun des deux sens de transmission
• Taux résiduel d’erreur : moyen et minimal
• Priorité choisie : de 0 à 64K (0 est la plus élevée)
• Nombre maximum des tentatives de retransmission
• Délai maximum d’établissement des connexions etc.

4.5. Le champ de données


- Le champ Données du TPDU est de longueur variable :
• sa longueur n’est pas explicitement fournie
• la longueur du champ Données est déduite sans ambiguïté
- grâce à la connaissance apportée par la couche Réseau
- et par différence avec la longueur de l’entête - La longueur maximale du TPDU :
• par défaut 128 octets
• peut être négociée lors de l’établissement de la connexion grâce à un paramètre de la
partie variable de l’entête.

4.6. Le format des TPDU

Réseaux et Transmission de données 65


Le niveau Transport

4.7. Les champs


4.7.1 Les champs "Destination and source references" :
Chaque entité choisit localement sa propre référence, et utilise celle de l’autre Accélère
la recherche de contexte, et diminue la surcharge.
Ce procédé se différencie :
- des numéros de voie logique (NVL) du protocole X25 car chaque paquet comporte un seul
NVL et un nouveau NVL est partagé à chaque couple d’entités Réseau adjacentes.
- des TSAP, car ceux-ci identifient de manière unique et permanente certains services.
Le champ "Destination reference" est nul pour le TPDU CR
Seul le champ "Destination reference" est utilisé lorsque la connexion est établie.

La classe 0 et 1 utilise un format réduit de DT TPDU, sans "Destination reference" et pas de


multiplexage.

4.7.2 L’établissement de la connexion


En trois phases pour la classe 4 et en deux phases pour les autres classes.

Réseaux et Transmission de données 66


Le niveau Transport

Association entre références et TSAP source et destination :


Les références sont utilisées pour accéder directement au contexte de la connexion lors de la
phase de transfert des données.

4.7.3 Le champ “Classe options¨


- 4 premiers bits codent la classe de Transport préférée :
• 000 : classe 0 demandée 0001 : classe 1 demandée
• etc.
• des classes de repli peuvent être définies grâce à un paramètre spécifique de la partie
variable de l’entête
- 4 bits suivants codent les options demandées :
• numérotation normale ou étendue :
• T(S) et T(R) sur 1 ou 4 octets, Cdt sur 4 ou 16 bits [classe 2, 3, 4].
• utilisation du contrôle de flux [classe 2].

4.7.4 Le bit EOT du champ T(S)


"End of TSDU" : identifie le dernier TPDU du TSDU.
Utilisé par le mécanisme de segmentation :

Réseaux et Transmission de données 67


Le niveau Transport

Présent dans les TPDU : DT et ED


Fonction équivalente au bit M du protocole X25.

4.7.5 Le champ Cause


- La cause de la déconnexion (code) :
• demande de la couche supérieure (128)
• TSAP inconnu (134)
• réseau congestionné (129)
• cause inconnue etc.
- La raison peut être précisée à travers un paramètre placé dans la partie variable de l’entête
Utilisé par les TPDU DR, ERR

4.7.6 L’échange de données


- Les messages sont numérotés (sauf ceux de la classe 0) :
• format normal : 1 octet
• format étendu: 4 octets
- Utilise le mécanisme de la fenêtre coulissante à crédit variable
La longueur totale du TPDU DT est négociée lors de l’établissement de la connexion.
En classe 0 : pas de format étendu, pas de numérotation des TPDU (toujours 0)
Des données peuvent être transmises par les TPDU CR, CC et DR, mais pas DC : toutefois la
longueur de leur champ de données doit être inférieure à respectivement 32 et 64 octets.

4.7.7 La fenêtre coulissante


Le champ T(S) :
- identifie le TPDU DT ou ED (modulo 27 ou 231)

Réseaux et Transmission de données 68


Le niveau Transport

- utilisé par le mécanisme de gestion de la fenêtre coulissante ( N(S) et P(S)) - toujours


nul pour la classe 0 Le champ T(R) :
- numéro du prochain TPDU attendu
- utilisé par le mécanisme de gestion de la fenêtre coulissante ( N(R) et P(R))
- présent dans les TPDU AK et EA
- pas de "piggybacking" Le champ Crédit :
- nombre de TPDU que l’on peut transmettre par anticipation,
- définit la largeur variable de la fenêtre coulissante,
- permet de gérer finement le contrôle de flux,
• adaptation à la capacité de stockage et de traitement du récepteur
• adaptation à la charge du réseau
- Deux formats : court sur 4 bits et étendu sur 2 octets.
- présent dans les TPDU DT et ED, CR et CC :
le crédit initial est déterminé par les TPDU CC et CR.

- 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 !

4.7.8 L’échange de données exprès


- Transmission indépendante du contrôle de flux appliqué aux flux de données (normales) -
Un seul TPDU ED à la fois, numéroté et acquitté par un seul EA:
protocole "send and wait"

- Longueur maximum du champ de données : 16 octets

Réseaux et Transmission de données 69


Le niveau Transport

• Le bit EOT est toujours à 1 (pas de multiplexage possible ni utile) - Un TSDU


ED émis avant un TSDU DT est toujours remis avant ce dernier :
• il n’est jamais doublé...
• ... mais il peut doubler

4.7.9 Traitement des erreurs


- Demande de retransmission :
• les TPDU REJ
• retransmission des TPDU de numéro supérieur ou égal au champ T(R)
Utilisé par les classes 1 et 3.
Employé après réception d’un TPDU incorrect :
• Corruption : détectée grâce au champ de contrôle d’erreur Employé après
une dé(re)-synchronisation de la couche inférieure :
• paquet N_Reset
- La classe 4 met en oeuvre un mécanisme de retransmission par temporisateur au niveau
de l’émetteur.

4.8. Exemple de Scénario

Réseaux et Transmission de données 70


Le niveau Transport

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.

Réseaux et Transmission de données 71


Les couches Hautes

Chapitre 5 : Les couches hautes

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. Les mécanismes généraux -


Principaux services :
• gestion de la connexion : établissement et libération
• transfert de données : normales, exprès et typées
• points de synchronisation
• gestion d’activité et les informations de capacités
• resynchronisation
• signalisation d’anomalie - Les jetons :
• symbolisent le droit exclusif d’utiliser certains services de la couche Session
Quatre jetons : o Le jeton de données (“data token”) o Le jeton de terminaison
(“release token”)
o Le jeton de synchronisation mineure (“synchronise minor token”) o Le jeton de
synchronisation majeure ou d’activité (“synchronize major/ activity token”)
La disponibilité d’un jeton est définie par l’utilisation du service associé.

2.1. La connexion de la couche Session


- Fournir aux utilisateurs de Session les moyens d’établir des connexions appelées sessions et
d’y transférer des données en bon ordre.
- Trois correspondances possibles entre connexions Session et connexions Transport.
Réseaux et Transmission de données 72
Les couches Hautes

Les adresses Session peuvent être différentes des adresses Transport.


- Pas de multiplexage possible de plusieurs connexions (Session) sur une même connexion
Transport.
- Pas d’éclatement d’une connexion (Session) sur plusieurs connexions Transport.

2.2. L’établissement d’une connexion


2.2.1 Fonctions
Fonctions similaires à celles des connexions des niveaux inférieurs, mais étoffées :
- affectation de la connexion Transport
- mise en correspondance des adresses Transport et Session
- identification de la connexion
- choix des paramètres de qualité de service
- négociation des paramètres de la connexion
- transfert de données initiales

2.2.2 Primitives

Une variante :
- RF-r : Refus avec réutilisation possible de la connexion Transport vacante - RF-nr : Refus
sans réutilisation

2.3. Libération de la connexion


2.3.1 Fonctions
La libération de la connexion peut être :
- brutale ou ordonnée (normale : pas de perte de données) : requiert la possession de tous les
jetons par le demandeur de terminaison.

Réseaux et Transmission de données 73


Les couches Hautes

- 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

Les primitives possèdent un paramètre Données utilisateur.


Une variante :
- FN-n : Terminaison avec réutilisation possible de la connexion Transport vacante
- FN-nr : Terminaison sans réutilisation (notamment si le transfert de données exprès était
actif)

Double demande de libération de connexion simultanée :


- impossible si des jetons sont utilisés
- sinon

- afin de permettre la terminaison ordonnée des données contenues par les S_Release PDU

2.3.3 Libération brutale ou rupture


- demandée à la suite d’une erreur ou d’un incident
- n’est pas soumise à la possession des jetons
- n’importe quand, par n’importe qui (et même simultanément)
- utilise le flux exprès de la connexion Transport, si disponible

Réseaux et Transmission de données 74


Les couches Hautes

2.4. Transfert de données


2.4.1 Transfert de données normales
Segmentation
- item de délimitation (“enclosure item”) : début, milieu, fin
- S_SDU potentiellement de taille infini

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

Réseaux et Transmission de données 75


Les couches Hautes

2.4.2 Transfert de données exprès et de données typées Données


typées :
- non soumis au tour de parole (contraintes des jetons)
- non soumis au séquencement des données normales
Données exprès :
- taille maximum : 14 octets
- similaire aux données exprès de la couche Transport
- non soumis au tour de parole (contraintes des jetons)
- non soumis au séquencement des données normales :
les “Expedited SPDU” sont transportées dans des “Expedited TPDU”, si ce service est
disponible.

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)

- Deux types de points de synchronisation :


- les points de synchronisation majeure : attente de la confirmation explicite de la pose du
point de synchronisation et définit une unité de dialogue.
- les points de synchronisation mineure : l’envoi des données peut se poursuivre, .
confirmation non obligatoire. Un certain nombre de points de synchronisation mineure

Réseaux et Transmission de données 76


Les couches Hautes

peuvent être en cours de pose sans que cela n’entraîne l’interruption de l’échange de
données.

2.5.2 Primitives et scénarios

- V(A) : prochain numéro de série attendu


- V(M) : numéro de série courant

- 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.

Réseaux et Transmission de données 77


Les couches Hautes

• prépare le traitement de l’acquittement de pose de point de synchronisation majeure


• délimite totalement la frontière avant et après la pose de point de synchronisation

2.6. Les activités


2.6.1 Présentation
- Le flot de messages est structuré en activités :
• elles sont identifiées de manière unique,
• elles sont délimitées par des points de synchronisation majeure,
• elles peuvent regrouper plusieurs unités de dialogue,
• elles peuvent être suspendues et reprises aux points de synchronisation
• elles sont totalement indépendantes les unes des autres
- Plusieurs activités successives au sein d’une même session.
- Une même activité peut se poursuivre sur plusieurs sessions

- La gestion d’activité est subordonnée à la possession du jeton d’activité (≡ synchro majeure),


et s’ils sont disponibles, du jeton de données et du jeton de synchro mineure.

2.6.2 Lancement et interruption d’une activité

La S_PDU AS comporte un champ de données d’au plus 6 octets.

2.6.3 Reprise et terminaison d’une activité

Réseaux et Transmission de données 78


Les couches Hautes

2.6.4 Transfert de données hors activité


Entre activité, il est possible d’échanger des données :
- données normales (mais sans poser des points de synchronisation)
- informations de capacités o Capability Data

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 :

La signification des points de synchronisation et la gestion de la resynchronisation est du


domaine de l’application. Par exemple :
L’application peut conserver une copie des données échangées tant que les points de
synchronisation majeure ne sont pas confirmés, en cas de problème il sera possible de restaurer
l’échange après reprise à l’aide des copies conservées.

2.7.2 Scénario de resynchronisation

Utilisation de S_PDU Prepare : si le service de flux de Transport exprès existe.

2.8. Les unités fonctionnelles


Tableau 1 : Les unités fonctionnelles

Réseaux et Transmission de données 80


Les couches Hautes

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 :

Champ PI : “Parameter identifier”


Champ PGI : “Parameter group identifier”
- Exemples :

3.2. Les S_PDU

Réseaux et Transmission de données 82


Les couches Hautes

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

- celles d’établissement de la connexion, de données exprès, de terminaison, ... Catégorie 2 :


les S_PDU qui peuvent être suivies par un transfert de jetons :
- celles de données, d’accusé de pose de synchronisation majeure, d’échange de capacités,
...
- Règles de concaténation :
- catégorie 1 : toujours seule
- catégorie 2 : toujours précédées d’une S_PDU de catégorie 0
- catégorie 0 : soit seule, soit suivie d’une (concaténation normale) ou jusqu’à trois
(concaténation étendue) S_PDU de catégorie 2.

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

- De codage et décodage de l’information :


Pour permettre la communication entre machines utilisant des modes de
représentation différents (codes ASCII et EBCDIC)
Basés sur la syntaxe abstraite ASN.1 définit dans les normes ISO 8824 et avis
X.208 de l’UIT
- De compression de l’information
- De chiffrement de l’information (de bout en bout)
Par des méthodes de cryptage à clef publique ou privée

Pour assurer la confidentialité, l’authentification….

1.2. Les problèmes


Le transfert transparent (c’est-à-dire à l’identique) de la suite binaire n’est pas le service attendu.
Il faut un transfert de données qui conserve la sémantique.

1.2.1 L’hétérogénéité des architectures internes des ordinateurs


Si deux ordinateurs ayant des architectures différentes échangent des données à l’aide d’un
service de transfert qui conserve totalement la suite binaire, l’interprétation des données reçues
risquent d’être incorrectes.

1.2.2 La représentation des types simples


- Technique de représentation des caractères : EBCDIC, ASCII, etc.
- Technique de représentation des nombres entiers : représentation binaire en complément à
1, ou complément à 2, DCB, etc.
- Technique de représentation des nombres réels : virgule flottante, mantisse + exposant, base
décimale ou binaire, etc.

1.2.3 Les objets complexes (composés) :


- Les applications échangent des objets simples mais aussi des objets structurés : liste,
ensemble, tableau, vecteur, matrice, enregistrement, etc.
- Il faut être capable de transmettre la structure !
1.2.4 Spécification

Réseaux et Transmission de données 85


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. Les solutions


- Des fonctions de décodage tenant compte de la représentation utilisée :
- dépend des couples émetteur/récepteur
- chaque station doit posséder un jeu complet de fonctions de décodage, si elles veulent
communiquer avec n’importe quelles autres stations :
oN types de représentation -> N*N-1 fonctions de décodage -
Une représentation conventionnelle :
- définie par le réseau
- tous doivent s’y plier, même si c’est sous-optimal
o Par exemple : si l’émetteur et le récepteur utilisent la même
représentation interne qui n’est pas la représentation conventionnelle, il y
a deux opérations de transcodage inutiles lors de chaque échange.
o Trop rigide : pas d’adaptation vis-vis des applications - Il faut
coder les structures de données.
- Spécification/Implémentation
On distingue trois types de syntaxe :
- la syntaxe d’application (Description abstraite)
- la syntaxe locale à chaque système
- la syntaxe de transfert (Règles d’encodage)

Réseaux et Transmission de données 86


Les couches Hautes

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 :

2. Les règles d’encodage


Il en existe plusieurs syntaxes de transfert :
- Basic encoding rules (ISO 8825/1, X.209)
- Canonical encoding rules (ISO 8825/1)
- Distinguished encoding rules (ISO 8825/1)
- Packed encoding rules (ISO 8825/2) Codage TLV :
- explicite et flexible
- lourd
3. Protocole
3.1. Présentation
La couche Session est normalisée :
- Service : ISO IS 8822
- Protocole : ISO IS 8823
Offre les services de transfert de données offert par la couche … Session Et
des règles de représentation des données … structurées.
Et des mécanismes de définition et de sélection de ces règles.
3.2. Le service

Réseaux et Transmission de données 87


Les couches Hautes

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

3.3.1 Les P-PDU de gestion des contextes


Les P-PDU de contexte sont acheminés par le service de transfert des données typés de la couche
Session.
Les P_PDU AC contiennent :
- la liste des nouveaux contextes (identificateur de contexte, nom de
syntaxe d’application, liste de syntaxe de transfert)
- la liste des contextes à supprimer (identificateur de contexte)
3.3.2 Sélection des contextes

Réseaux et Transmission de données 88


Les couches Hautes

Le type EXTERNAL permet sélectionner un contexte courant.


Soit par référence indirecte (implicitement):
- identificateur de contexte
Soit par référence directe (explicitement)
- à l’aide d’un OBJECT IDENTIFIER

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

Contexte de la couche Présentation


- une syntaxe d’application (utilise la notation de syntaxe abstraite : ASN.1) - une
syntaxe de transfert (ex. BER)

Fonction de sécurité (cryptage, authentification, certification) et de compression des données

Un autre exemple : Internet


- basé sur un format conventionnel (universel),
- des fonctions d’encodage (ex : ntohs(), ntohl()),
- une norme XDR (eXternal Data Representation),
- un outil (“rpcgen”)
- un protocole d’administration du réseau SNMP qui utilise ASN-1 et BER pour représenter
et encoder les objets échangés.
III – Le niveau Application
• La couche Application ne définit pas des applications en soi, mais le moyen d’accéder à
l’environnement OSI
• La structure de la couche Application détermine comment différentes applications vont
être organisées pour utiliser des modules OSI communs
• Plusieurs éléments de service d’application (Application Service Element ou ASE) sont
définis

Réseaux et Transmission de données 89


Les couches Hautes

- ACSE (Association Control Service Element) permet l’établissement et la


libération (ordonnée ou brutale) d’associations
- CCR (Commitment, Concurrency and Recovery) permet de coordonner de
manière sûre l’interaction entre plusieurs applications (gestion des
transactions dans les BD distribuées)
- FTAM (File Transfer Access and Managment) définit un service standard
pour la manipulation de fichiers

- VTS (Virtual Terminal Service) définit un service de terminal virtuel

Réseaux et Transmission de données 90


Réseau TCP/IP

Chapitre 6 : Réseau Internet

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")

3. Quelques définitions d’Internet Ensemble de protocoles :


- développés au départ pour réaliser le service d'interconnexion de machines informatiques
(hétérogènes) dans un contexte de réseaux hétérogènes.
- puis étendus pour assurer les services applicatifs.
Les protocoles Internet : TCP/IP et beaucoup d'autres...
Le(s) réseau(x) Internet : les équipements (routeurs...), les infrastructures (les câbles...) Les
applications Internet : news, mail, Web, rlogin, ftp, etc.

4. Les protocoles d'Internet


IP : Internet protocol
TCP : Transport control protocol
UDP : User datagram protocol
ARP : Address resolution protocol
ICMP : Internet control management protocol
EGP : Exterior gateway protocol
RIP : Routing information protocol
FTP : File transfer protocol
HTTP : Hypertext transfer protocol
SNMP : Simple network management protocol
NFS : Network filesystem
XDR : External data representation
SMTP : Simple mail transfer protocol
DNS : Domain name server

Réseaux et Transmission de données 91


Réseau TCP/IP

5. La pile OSI et Internet

6. Les principaux services d’Internet

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

Réseaux et Transmission de données 92


Réseau TCP/IP

- segmentation (fragmentation)
- performance Interconnexion : - adressage
- routage Transmission :
- par paquet (datagram)
- en mode non connecté (sans contexte : simple mais sans mécanisme de contrôle)

1.2. Les équipements


- Des stations hétérogènes,
- Sur des réseaux hétérogènes : Ethernet, FDDI, réseau ATM, etc...

1.3. Les routeurs


Interconnexion grâce à des routeurs (équipements d'interconnexion) :

1.4. L’hétérogénéité des sous-réseaux IP masque l'hétérogénéité des (sous-)réseaux :

1.5. L’hétérogénéité de la localisation IP masque les routeurs et les sous-réseaux :

1.6. L’Internet idéal


IP masque la localisation et le type des stations, notamment grâce à l'adressage IP.

2. L’acheminement des datagrammes


2.1. Les acteurs

2.2. La table de routage

Réseaux et Transmission de données 93


Réseau TCP/IP

2.3. Le transport des datagrammes IP


Les datagrammes sont transportés dans les trames des réseaux sous-jacents

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)

Réseaux et Transmission de données 94


Réseau TCP/IP

3.2. La notation des adresses sous Internet


- Notation décimale pointée : D1.D2.D3.D4 exemple : = 192.168.4.1
• D1 < 128 : classe d'adresse A
• 128 ≤ D1 < 192 : classe d'adresse B
• 192 ≤ D1 < 224 : classe d'adresse C - Attribution des adresses :
• Une station doit avoir au moins une adresse unicast.
• Une station peut avoir autant d'adresses que de connexions à un ou plusieurs (sous-
réseaux) : l'adresse identifie la connexion et pas la station.
• Toutes les stations connectées à un même (sous-)réseau appartiennent à la même classe
d'adressage et ont le même netid.

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"

Réseaux et Transmission de données 95


Réseau TCP/IP

Une telle structuration peut faciliter le routage interne :


- chaque routeur ne s'occupant que des paquets de son sous-domaine.
- les tables de routage sont plus courtes.
Chaque station est munie d'un "subnet mask : masque sous-réseau". -
indique la frontière entre subnetid et hostid.

11111111 11111111 11111111 0 0 0 0 0 0 0 0 0



0 n e t i d subnetid hosti d

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

Les paquets de données d’IP ont pour nom


datagram

Alignement sur des mots de 32 bits pour


optimiser la vitesse de traitement.

La taille maximum d'un datagramme est de


64 Ko..

Structure d'un datagramme :


- Une entête :
- une partie de taille fixe,
- une partie de taille variable (les
options),
- Un champ de données : de longueur
variable.

Réseaux et Transmission de données 96


Réseau TCP/IP

5.2. Les champs Vers et HLEN du datagramme IP - Vers : version du protocole.


• La version courante : 4 (septembre 1981).
• La version nouvelle IPv6 : (décembre 95)
Un même réseau peut accueillir différentes versions de protocole : les récepteurs écartent les
datagrammes qu'ils ne peuvent pas décoder.
- HLEN : "Header length": Longueur de l'entête, (en mots de 4 octets)

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).

5.4.2 Le réassemblage du datagramme


Les entêtes des fragments comportent les mêmes champs et ont mêmes contenus que ceux du
datagramme dont ils proviennent :
- même identification de datagramme, même type de service, même TTL,
même protocole, mêmes adresses.
- sauf pour les champs de longueur, le bit "More fragment" et le "Header
checksum"

Réseaux et Transmission de données 97


Réseau TCP/IP

5.4.3 Offset et longueur

5.5. Les champs du datagramme IP : TTL et Protocol


- Time to live : durée de vie résiduelle du fragment (en nombre de “hops” ou de secondes de
résidence).
- valeur initialisée par l'émetteur.
- décrémentée par chaque routeur et le récepteur
- si TTL=0 alors le datagramme est détruit Fonction :
- limitation de l'étendue de diffusion des paquets (“scope”) - suppression des trames
fantômes.
- Protocol : identification du protocole chargé d'exploiter (décoder) le champ de données.
- UDP = 17
- TCP = 6
- ICMP = 1
- IP = 4 (IP in IP)

5.6. Les champs du datagramme IP : Checksum et address


- Header checksum : Addition en complément à 1 des demi-mots (16 bits) constituant l'entête
du fragment.

Réseaux et Transmission de données 98


Réseau TCP/IP

- peu et calcul facile


- capacité de détection faible
- Source IP address : identifie la station émettrice.
- retour à l’envoyeur (message ICMP).
- Destination IP address : identifie le récepteur (ou le groupe).
- permet l’acheminement jusqu’au(x) destinataire(s).
5.7. La partie variable de l’entête du datagramme
5.7.1 Le champ des options du datagramme IP -
Partie variable de l'entête limitée à 40 octets -
Leur traitement ralentit le routage :
- certains routeurs ont deux files de datagrammes :
• datagrammes avec options
• datagrammes sans option - Fonction principale :
• choix de la route par l'émetteur
- Assemblage des options : indépendamment des mots de 32 bits ou non.

5.7.2 Les différentes options


Structure générale d’une option : type, longueur, valeur (“TLV encoding”) Code
de l'option :

5.7.3 Les options Source Routing


- Un chemin = Liste des adresses IP des routeurs : 9 au maximum - Record Route :
• l'émetteur prépare une liste vide (pointer=0),

Réseaux et Transmission de données 99


Réseau TCP/IP

• 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é).

6. L’acheminement du datagramme : “datagram forwarding”

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

2. Format des paquets UDP - Format général :


• une entête de taille fixe.

un champ de données de taille variable.


- UDP packet length :


• longueur totale du paquet UDP
(header+data).
• 8 packet length < 64 K octets.
- Overhead minimum :
• + 8 octets
• X25.3=3 octets, TP4 (sans options)=5 octets

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é

3.2. Les numéros de port


- Indépendance vis-à-vis des applications :

Réseaux et Transmission de données 101


Réseau TCP/IP

• de leur durée de vie


• de la dénomination
• de leur spécificité
- Numéro de port réservé (n° < 1024) : définit des services par exemple :
o 7 : echo 15 : netstat
o 111 : SUNRPC o 513 : whod (who
deamon) o 520 : RIP (routing
information protocol) o 20 : ftp
(21 pour TCP)
o 80 : www o 119 : nntp
• permanent
• fonctionnel
- Attribution dynamique des autres numéros de ports :
• Souplesse
• optimisation de l'utilisation de la ressource

4. Détection des erreurs


Détection de la corruption du contenu du paquet UDP par un champ de contrôle d'erreur (checksum).
- A l'émetteur : calcul sur le message transmis et transmission dans le champ "UDP
checksum" du résultat.
- Au récepteur : calcul sur le message reçu et comparaison avec le contenu du champ "UDP
checksum". S'ils sont identiques, aucune erreur n'est détectée, sinon le paquet est corrompu
donc détruit (ignoré).
- Sommation en complément à 1 par demi-mots (processeur 16 bits !)
- Sur la totalité du paquet UDP (en supposant que le champ "UDP checksum" est nul) - le
pseudo-entête IP suivant Ne respecte pas les couches

- 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

- Sans (avec très peu d') augmentation de service :


• le service fourni est le service disponible.
• multiplexage (n° port).
- Adapté au multicast
- Attention : non-fiable sans augmentation de la fiabilité
IV- Le Protocole TCP
1. Présentation
- "Transmission control protocol" : Rfc 793 : Sept. 1981 -
Transmission de données :
• Par paquets de tailles variables
• En mode connecté (3 phases)
• Bidirectionnelle
• Fiable (contrôle et récupération des erreurs, contrôle de flux et de congestion, contrôle
de la duplication, reséquencement).

2. Les segments TCP


2.1. Le format général

- 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)

2.3. Le piggy backing


La connexion étant bidirectionnelle, chaque sens de transmission transmet ses propres données
et simultanément les commandes relatives à l'autre sens.

Réseaux et Transmission de données 103


Réseau TCP/IP

2.4. Les différents rôles des segments Code (6 bits):


- Urgent bit : valide le champ "Urgent pointer"
- Acknowledgment bit : valide le champ "Acknowledgment
number"
- Push bit : livraison immédiate du segment
- Reset bit : réinitialisation de la connexion
- Synchronise bit : demande d'ouverture de la connexion
- Final bit : demande de libération de la connexion
3. Le multiplexage
Source port et destination port :
- identique à UDP : identifie la connexion :
• <@IP source + n° port source, @IP destination +n° port destination> Destiné
au Multiplexage - 3 types de n° de port :
• n° réservés (≤1024) : pour services généraux spécifiques (durée de vie infinie)
• n° réservés localement : choisis pour une application (durée de vie de l'application)
• n° attribués dynamiquement : choisis par le système parmi les n° libres (durée de vie de
la connexion).

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).

Réseaux et Transmission de données 104


Réseau TCP/IP

4.3. Contrôle d’erreur


Checksum : Champ de détection d'erreur.
- Procédé de calcul strictement identique au même champ de protocole UDP :
• somme de demi-mots de 16bits en complément à un -
Peut-être inutilisé (=0).
- Les segments TCP erronés sont détruits.
- La récupération des erreurs s'appuie sur un mécanisme de retransmission :
• un temporisateur armé lors de l'émission de chaque
segment TCP, chaque segment est numéroté (Sliding
window).

4.4. Acquittements Exemple :


Emission d'un message de 1024 octets puis d'un message de 2048 octets par segments de 500
octets maximum, l'espace de stockage est de 8192 octets.
- Données:
<sequence_number, explicit_data_segment_length, PSH> -
Acquittement:
<acknowledgment_number, window_size>

Réseaux et Transmission de données 105


Réseau TCP/IP

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

- Espace de stockage du récepteur presque plein → diminution de la largeur de la fenêtre (=0)


- Espace de stockage du récepteur presque vide → augmentation de la largeur de la fenêtre.

Réseaux et Transmission de données 106


Réseau TCP/IP

4.6. Gestion des erreurs


- Détection des pertes : à l'émetteur, par temporisateur o moins efficace (mais plus sûr) que
par acquittement explicite (négatif) en provenance du récepteur.
- Récupération des pertes : par retransmission (depuis le segment perdu) o Les segments
corrompus sont détruits, cela se traduit par des pertes. Le mécanisme normal de contrôle des
erreurs permet leur retransmission.

4.7. Congestion du réseau


- Diminution du débit
- la largeur de la fenêtre est divisée par deux à chaque détection de perte
- la largeur de la fenêtre est incrémentée à chaque acquittement reçu
- Convergence du mécanisme : diminution exponentielle / accroissement proportionnel.

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.

Réseaux et Transmission de données 107


Réseau TCP/IP

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

Réseaux et Transmission de données 108


Réseau TCP/IP

- 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

7.2. Quelques options


- MSS option : "Maximum segment size", par défaut = 536 Octets.
- Window scale factor : Augmente la capacité de la fenêtre
. La capacité de la fenêtre limite le débit

Réseaux et Transmission de données 109


Réseau TCP/IP

. Exemple : 0x03.03.01 : la largeur de la fenêtre doit être multipliée par 2.


. RFC 1323
Timestamp option : contrôle du délai d’acheminement

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.

Réseaux et Transmission de données 110

Vous aimerez peut-être aussi