Couche 3 La Couche Réseau

Transcription

Couche 3 La Couche Réseau
Services pour la Couche Transport
Couche 3
La Couche Réseau
nom PDU
couche
Pascal Berthou ([email protected])
LAAS-CNRS, 7, av du Colonel Roche - 31077 Toulouse
7
Applicat°
Applicat°
APDU
6
Présentat°
Présentat°
PPDU
5
session
session
SPDU
4
transport
transport
message
3
réseau
réseau
réseau
réseau
paquet
2
liaison
liaison
liaison
liaison
trame
1
physique
physique
routeur
physique
physique
hôte A
2004-2005
Rôles de la Couche Réseau
routeur
bit
hôte B
2
Diversité des réseaux
¾ Rôles
y Topologie sous-jacente transparente à la Couche Transport
y Service Réseau indépendant de la technologie sous-jacente
y Connecte logiquement des hôtes qui ne sont pas directement reliés
par un lien physique
¾ Mécanismes nécessaire
y Segmentation/Reassemblage
y adressage global
y routage - trouver une route jusqu’a l ’hôte final
y autre : contrôle de flux, contrôle de congestion, contrôle d ’admission, ...
2004-2005
3
2004-2005
4
Connecte logiquement des hôtes
B1
Les différents moyens d'interconnection
d'interconnection
B2
¾ Répéteurs
y niveau physique, pas de conversion ni de transcodage,
y répétition ou régénération des signaux, étendent de manière
transparente le support physique,
A2
A1
y les réseaux sont identiques à partir de la couche liaison.
B3
¾ Les ponts (bridges)
¾ Grâce a la couche 2, chacun peut communiquer avec celui au quel il
est physiquement relié (A1,A2) (B1,B2,B3)
y niveau liaison, permet de passer d'un type de réseau à un autre,
y possibilités de filtrage.
¾ Comment faire communiquer (A1, B1) ?
¾ Les routeurs (routers/gateways)
y niveau réseau,
y conversion de protocoles, incorporent des algorithmes de routage.
2004-2005
5
2004-2005
plan
6
Unités de données
¾ Introduction
¾ Objectifs : Indépendance vis a vis de la technologie sous-jacente
¾ Problème :
y Tous les réseaux de niveau 2 n ’utilisent pas les mêmes formats de
trames (taille des données variables)
¾ Mécanismes de la couche réseau
y Segmentation / Réassemblage
¾ Comment faire :
y Adressage global
y Modes d ’acheminements
y Définir ses propres unités de traitement N-PDU : Paquets
y Routage
y La taille de ses N-PDUs est choisie en fonction des caractéristiques du
service que souhaite rendre le réseau (en particulier performances)
exemple : ATM=53octets, IP=65515
¾ Exemple de l’Internet
2004-2005
y Une entête (partie fixe + parfois options) + champ information (souvent
variable mais borné)
7
2004-2005
8
Segmentation / Réassemblage
Adressage global
¾ Besoin d ’une adresse unique pour identifier un hôte dans le réseau :
¾ Adaptation des unités de données à transmettre à la taille de la
couche sous-jacente : N-SDU fragmenté en n x L-SDU
y La couche Réseau utilise des adresses pour identifier les systèmes
(d’extrémité et intermédiaires).
¾ Le protocole de la couche Réseau met généralement en œuvre un
mécanisme de fragmentation :
¾ Deux types de structuration des adresses existent :
y L’adressage global (linéaire, plat) :
y identification des N-PDU appartenant aux différents N-SDU
à chaque station se voit attribuer un numéro indépendamment de toute
sémantique,
y ordonnancement des N-PDU appartenant au même N-SDU
y délimitation des N-SDU entre eux (marquage du dernier N-PDU de
chaque N-SDU)
à des stations voisines peuvent avoir des adresses sans aucune relation entre
elles.
y L’adressage hiérarchique (structuré) :
à chaque adresse est décomposée en champs, sous-champs, etc.
¾ Remarques :
à la sémantique associée à chaque champ peut être géographique ou
fonctionnelle
y la fragmentation peut être très coûteuse : manipulation de la totalité
des données à chaque routeur ⇒ De moins en moins utilisé (vu plus tard)
2004-2005
9
2004-2005
L’adressage d’Internet
10
Objectifs
¾ Les adresses du protocole IPv4 : longueur fixe de 32 bits.
¾ Transmettre les paquets d ’un hôte à un autre
en traversant un réseau composé de nœuds intermédiaires (routeurs)
¾ Adressage hiérarchique à 2/3 champs :
¾ Principalement deux techniques utilisées
y (classe,) netid, hostid
¾ 3 classes d’adresse unicast : longueur variable de netid et hostid.
y Technique basée sur les Datagrammes
à permet de construire un service en mode non-connecté ou orienté connexion
à généralement associé au mode sans connexion
Exemple : 146.84.32.07
classe B, netid = 146.84, hostid = 32.07
y Technique basée sur les Circuits Virtuels
à permet de construire un service en mode orienté connexion ou non
à généralement associé au mode orienté connexion
¾ 1 classe d’adresse multicast :
¾ Ne pas confondre avec les services
y identifie un groupe de stations
y Service Sans Connexion
¾ Nouvelle version IPv6 :
y Service Orienté Connexion
y longueur des adresses 128 bits!
y adresses “anycast” (+ unicast + multicast)
2004-2005
11
2004-2005
12
Technique Datagrammes
Acheminement par Datagrammes
¾ Analogie avec les télégrammes
¾ 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é.
¾ Intérêts :
y pas de mémorisation du trajet d'un type de paquet
¾ Actions effectuées lors de la réception d’un paquet:
y possibilité de routes diverses
y robustesse
y extraction de l’adresse de destination,
y efficacité (multiplexage)
y recherche dans la table de routage de l ’interface adéquat
y tarification au débit
y retransmission du paquet vers le prochain routeur cette interface
¾ Mécanisme :
A
B
G
y dynamique
@A→@G
C
Quel Chemin de A vers G ?
D
F
E
2004-2005
13
Technique Circuits Virtuels
14
Acheminement par Circuits Virtuels
¾ Le circuit virtuel (CV) relie l’émetteur au destinataire.
Chaque tronçon de CV est identifié par un nº de voie logique (NVL).
¾ Analogie avec les circuit physiques du téléphone
¾ Intérêts :
¾ Les numéros de VL sont réservés lors de l’établissement de la connexion.
Ils sont rendus lors de la libération de la connexion
Utilise une table de routage pour l établissement des CV !
y éviter de recalculer la route pour chaque paquet
y traitement efficace des paquets (temps réel possible)
y tarification à la durée
¾ Actions effectuées lors de la réception d’un paquet :
¾ Mécanisme :
y extraction du NVL, recherche dans la table de circuit virtuel
y Permanents
y échange du NVL, retransmission du paquet
à Configurés
A
y Dynamiques
à Etablit à la connexion
B
8
7
1
G
C
D
F
E
2004-2005
table de routage de C
2004-2005
15
2004-2005
table de commutation de C
16
Combinaison des services et techniques
d ’acheminement
Comparaison des deux techniques
Technique
Datagramme
Circuit Virtuel
Initialisation
Non
OUI
Adressage
Informations
d'état
Calcul de route
Robustesse
Contrôle de
Congestion
Technique d' acheminement
Couche supérieure
Adresse complete de
la source etdu
Identificateur de CV
destinataire
NON
OUI
pour chaque CV
Pour chaque paquets
Pertes des paquets
en cours de
traitement si crash
Complexe
Datagram
Circuit virtuel
Sans Connexion
UDP
--------IP
Orienté Connexion
TCP
--------IP
UDP
--------IP
--------ATM
ATM AAL1
--------ATM
Initial
Perte de tous les
circuits en cas de
crash
Simple
2004-2005
17
2004-2005
Algorithmes de routage
18
Propriétés des Algorithmes de Routage
¾ Mise à jour des tables de routage !
¾ Critères
y Exactitude (correctness)
¾ Deux classes d’algorithmes de routage :
y algorithmes de routage fixes (routage statique)
y Simplicité (simplicity)
y algorithmes de routage adaptatifs (routage dynamique) :
y Robustesse (robustness)
y s’adapte aux modifications de la topologie et, plus rarement, à celles du
trafic automatiquement
y Stabilité (stability)
à doit toujours fonctionner qqs les évenements
à convergence rapide vers un équilibre
¾ Les algorithmes de routage peuvent être :
y Équité (fairness)
y centralisés : les tables de routage de tous les nœuds sont calculées
dans un seul nœud.
à même traitement pour tout les paquets
y « Optimalité » (optimality)
y répartis : les tables de routage sont calculées dans chaque noeud.
¾ Rôle contradictoire
¾ Les algorithmes de routage peuvent utiliser des informations :
y Offrir le meilleur service aux utilisateurs (délai, bande passante, …)
y locales aux nœuds. Exemple : longueur de ses files d’attente.
y Permettre une utilisation optimale du réseau
y collectées globalement. Exemple : connaissance de la topologie totale
2004-2005
19
2004-2005
20
plan
Structure de l ’Internet
¾ Introduction
¾ Ensemble de réseaux (AS, Autonomous systems) interconnectés par
un protocole de niveau réseau : IP (RFC 791)
¾ Mécanismes de la couche réseau
y Segmentation / Réassemblage
¾ Service : Sans Connexion
y Adressage global
¾ Paquets de taille maximale de 65515 octets
y Modes d ’acheminements
y fragmentation : Possible, mais de moins en moins ...
y Routage
¾ Adressage : Hiérarchisé
¾ Mode d ’acheminement : Datagram
¾ Exemple de l’Internet
¾ Options IP
(Sécurité,Strict source routing,Loose source routing,Enregistrement de
route,Estampilles temporelles,…)
2004-2005
21
2004-2005
Le format d’un paquet IP
Les protocoles de routage
31
15
Taille
TdS
Identificateur
Flag Index de fragment
0
4
Version
TTL
7
¾ IGRP : Interior Gateway Routing Protocol
Taille
Entête
Protocole
y RIP Routing Internet Protocol
y OSPF Open Shortest Path First (RFC 1247)
¾ EGRP : Exterior Gateway Routing Protocol
Header Checksum
y BGP Border Gateway Protocol
à Routage basé sur les vecteurs de distance mais orienté-chemin
Adresse IP de source
à Politiques de routage variée : choix possible d ’un chemin en fonction de la
politique (avec des fournisseurs par ex.)
Adresse IP de destination
Options
22
bourrage
Les données
2004-2005
23
2004-2005
24
Les protocoles associés
Couche 4
La Couche Transport
¾ ICMP
y Internet Control Message Protocol (RFC 792)
y Test et retour d'erreur du réseau
¾ ARP
y Address Resolution Protocol (RFC 826)
y « Quelle est l'adresse MAC du destinataire possédant l'adresse IP
192.55.123.78 ? »
¾ RARP, BOOTP,... : Configuration automatique de l'adresse IP
y RARP Reverse Address Resolution Protocol (RFC 903)
à « Mon adresse MAC est 45.00.FE.67.89.AB, qui connait mon adresse IP »
Pascal Berthou ([email protected])
à broadcast limité (adresse MAC=FF.FF.FF.FF.FF.FF)
LAAS-CNRS, 7, av du Colonel Roche - 31077 Toulouse
y BOOTP Bootstrap Protocol (RFC 951, 1048 et 1084)
y DHCP Dynamic Host Configuration Protocol...
2004-2005
25
Plan
Introduction
¾ Introduction
¾ La couche Transport du modèle OSI :
¾ Mécanismes de la couche Transport
y quatrième couche du modèle de référence
¾ Modèles de couche Transport
y dernière couche des services de « bas niveau ».
y La couche Transport assure la charnière entre les aspects applicatifs et
les aspects liés à la transmission de données sur un réseau informatique.
¾ Modèles Internet pour la couche Transport
¾ La couche Transport assure le transport de bout en bout des
données d’une façon sûre et efficace.
y transfert d’informations entre systèmes d’extrémités
y indépendamment de la nature des réseaux sous-jacents
(rôle de la couche réseau).
2004-2005
27
2004-2005
28
Service pour les couches « applicatives »
Objectifs de la couche transports
¾ Services fournis par la couche réseau (vu depuis la couche Transp)
nom PDU
couche
7
Applicat°
Applicat°
APDU
6
Présentat°
Présentat°
PPDU
5
session
session
SPDU
y niveau A (service fiable sans désynchronisation),
à Taux d ’erreurs faible, incidents rares : exemple : Réseaux Locaux
à Travail couche transport : faible
y niveau B (service fiable avec quelques désynchronisations)
à Taux d ’erreurs faible, incidents fréquents : exemple : X25
à Travail couche Transport plus important
protocole de transport
4
transport
transport
message
3
réseau
réseau
réseau
réseau
paquet
2
liaison
liaison
liaison
liaison
trame
1
physique
physique
routeur
physique
physique
 Etablissement de nvlle connexions, resynchronisation, masquages
y niveau C (service peu fiable)
à Taux d ’erreurs important, incidents fréquents : exemple : WAN, IP
à Travail couche Transport : Résoudre tous les problèmes de fiabilité
 Travail similaire à celui de la couche liaison
hôte A
routeur
bit
hôte B
2004-2005
29
2004-2005
30
Plan
Différence entre la couche liaison et la couche transport
¾ Introduction
¾ Mécanismes de la couche Transport
routeur
réseau
¾ Modèles de couche Transport
¾ Modèles Internet pour la couche Transport
hôte
lien de
communication
physique
Niveau liaison
routeur
Niveau transport
¾ Différences :
y Adressage nécessaire au niveau de la couche transport (multiplexage)
y reordonnancement possible
y délais variables
y Nombre de connexions variables
2004-2005
31
2004-2005
32
Les mécanismes de la couche transport
Transport de données
¾ Mécanismes classiques (non traités - abordés précédemment)
¾ Plusieurs services de transfert de données spécifiques sont définis:
y Détection des pertes
y Les données normales
y Réordonnancement
y Les données express (“Expedited Data”)
à traitement et transmission rapide de données
¾ Mécanismes typiques de la couches transport
y Transport de données
à à ne pas confondre avec les différents niveaux de priorités que peuvent
avoir les unités de données normales
y Multiplexage / Adressage
à de petite taille (<16 octets)
y Etablissement / Fermeture de connexion
à but : la transmission d’alarme
y Contrôle de flux / Contrôle de congestion
à non soumis aux contrôles habituels (de flux, numérotation, etc.)
y Gestion de la Qualité de Service
y 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é
à permet d’accélérer le début de la transmission de données
à données qui permettent de déterminer les droits d’établissement de la
connexion
2004-2005
33
2004-2005
Multiplexage / Adressage
34
Etablissement d’une connexion transport
¾ Les entités communicantes ne sont plus des stations mais des processus :
¾ Nécessaire pour mettre en place des mécanises de fiabilité
y Comment faire passer plusieurs connexions Transport sur une connexion Réseau
reliant les stations qui supportent les processus
y Multiplexage : adressage spécifique
¾ Contrairement aux apparences ce n ’est pas trivial
y Le réseau peut dupliquer, perdre, désordonner des paquets
y Etablissement de connexion à 2 échanges pas suffisant
Exemple : Numéros de ports TCP/UDP
y Solution : 3 échanges
¾ Comment une application peut connaître l ’@ transport d ’un serveur donné
Requête dupliquée
y Cas 1 : l ’@ transport est bien connue
y Cas 2 : Utilisation d ’un serveur de nom
ACK
Donnée dupliquée
Connexion établie à
nouveau !
Donnée reçue à
nouveau !
2004-2005
35
2004-2005
36
Contrôle de flux
Contrôle de congestion
¾ Possibilité de réutiliser les techniques de la couche Liaison
¾ Phénomène observable quand le réseau est surchargé
y Go-back-N
y Selective Repeat
Accumulation de paquets en attente d’émission dans les nœuds du réseau
¾ Toutefois plus compliqué car :
⇒ Retransmission des paquets : considérés à tort ou non comme perdus!
⇒ Augmentation du trafic et dégradation des performances.
y Nombre de connexions grands et variable
y Délais variables
→ Réservation statique de mémoire (fenêtre) coûteux et inefficace
¾ On préfère utiliser des mécanismes dont
y La taille de la fenêtre n ’est pas fixe
Solutions proches de celles du contrôle de flux : réduction des fenêtres
d’émission par exemple
2004-2005
37
2004-2005
Qualité de service
38
Qualité de service
¾ La couche Transport optimise l ’utilisation des ressources du réseau
pour atteindre et maintenir la qualité de service souhaitée par les
entités supérieures
y La QdS = Ensemble de paramètres (délai, pertes, débit …)
caractérisants les besoins des applications
¾ Quelques paramètres de QoS
y le délai d’établissement de la connexion
y la probabilité d’échec d’établissement de la connexion
y le débit de la connexion (“throughput”) : dans chaque sens
y le délai de transmission
y la gigue (“jitter”) : variation du délai
y La valeur des paramètres peu être négociée en fonction
à Du réseau sous-jacent, des entités supérieures, des mécanismes protocolaires
y le taux d’erreur résiduel
y la probabilité d’incident de transfert : non respect des contraintes précédentes
y la qualité de la sécurité de la connexion : niveau de protection
¾ La couche Transport joue le rôle de garant de la QdS :
y la priorité relative des connexions entre-elles : dégradation des moins prioritaires
y Surveillance des paramètres et notification des éventuels problèmes
y la probabilité de résiliation de la connexionle délai de libération de la connexion
y la probabilité d’échec de libération de la connexion !
y etc.
¾ Un contrat est ainsi déterminé entre les entités supérieures ayant demandé
l’établissement de la connexion et la couche Transport.
2004-2005
39
2004-2005
40
Plan
Les modèles de couche transport
¾ Introduction
¾ Spécification du protocole de couche Transport :
y TP (“Transport Protocol”) : Norme ISO 8073 ou CCITT X.224
¾ Mécanismes de la couche Transport
¾ Modèles de couche Transport
¾ 5 classes de services définies dans le modèle OSI
¾ Modèles Internet pour la couche Transport
y La classe 0 ( Transfert non fiable, connexion, segmentation)
y La classe 1 (0 + classe de base avec reprise sur problèmes de connexion)
y La classe 2 (0 + classe avec multiplexage)
y La classe 3 (1 + 2 = classe avec reprise sur pb connex. et multiplexage)
y La classe 4 (3 + classe avec détection et reprise sur erreur)
2004-2005
41
2004-2005
Les Transports PDU - TPDU
Plan
¾ Le format des TDPU
y
Entête avec partie fixe & variable (nombre d ’options variables)
y
Un champ de longueur données variables
¾ Introduction
¾ Mécanismes de la couche Transport
¾ Modèles de couche Transport
¾ Le protocole Transport utilise 10 types de TPDU :
y
Demande de connexion (“Connection request” : CR),
y
Confirmation de connexion (“Connection confirm” : CC),
y
Demande de déconnexion (“Disconnection request” : DR),
y
Confirmation de déconnexion (“Disconnection confirm” : DC),
y
Données (“Data” : DT),
y
Accusé de réception de données (“Data acknowledgment” : AK),
y
Données exprès (“Expedited data” : ED),
y
Accusé de réception de données exprès (“Exp. data ack” : EA),
y
TPDU d’erreur (“Error TPDU” : ER),
y
Rejet (“Reject” : RJ).
2004-2005
42
¾ Modèles Internet pour la couche Transport
43
2004-2005
44
Modèle Internet
TCP : Transmission Control Protocol
¾ Internet : 2 protocoles (TCP ou UDP)
¾ Mécanismes de TCP
y Adressage / Multiplexage :
à TSAP = Adresse IP + N° Port (2 octets)
¾ TCP : Transmission Control Protocol
 Une connexion est une paire de sockets
y Orienté connexion
 (@src, port src, @dest, port dest)
y Mode Flux & Fiable
y Gestion de la fiabilité
¾ UDP : User Datagram Protocol
à CRC sur entêtes et données
y Sans connexion
à Numérotation des données
à Timers
y Contrôle de flux et de congestion
à Fenêtre à taille variable
2004-2005
45
2004-2005
TCP : Transmission Control Protocol
46
TCP - Transmission Control Protocol
Primitive
0
10
4
16
SOCKET
31
SrcPort
BIND
DstPort
LISTEN
0
Flags
UrgPtr
Checksum
1
2
SEND
Emission de données
3
5
RECEIVE
Attente & réception de données
4
6
CLOSE
Fermeture de connexion
5
7
CONNECT
AdvertisedWindow
Récepteur
1
2
ACCEPT
HdrLen
Emetteur
Annonce la capacité à accepter des
connexions
Bloque le receveur jusqu'à ce qu'une
connexion arrive
Demande d'établissement de connexion
SequenceNum
Acknowledgment
Crée une nouveau point de
communication
Attache une adresse locale à la socket
3
4
Options (variable)
Data
2004-2005
47
2004-2005
48
Gestion des connexions
UDP : User Datagram Protocol
Active participant
(server)
Active participant
(client)
Passive participant
(server)
S Y N,
Sequ
enceN
u
m=
FIN, S
Ackno
wledg
m
ent =
eque
nceN
u
Ackno
w
y+1
Etablissement de connexion
ledgm
ent = y
¾ Mécanismes de UDP
y Adressage / Multiplexage :
à idem TCP
m=
y Gestion de la fiabilité
x
à CRC sur entêtes uniquement
+1
t=x
gm en
d
le
w
o
=y
Ackn
Num
ence
u
q
e
S
FIN,
x
= y,
Num
ence
u
q
e
x+1
K, S
nt =
+ AC
dgme
le
SY N
w
o
Ackn
A C K,
Passive participant
(client)
y Contrôle de flux
à Aucun !
 Inéquitable pour TCP !
+1
Fermeture de connexion
2004-2005
49
2004-2005
UDP Packet Format
Exemple d’applications
16
0
Source Port
Message Length
31
Protocoles de niveau application utilisant TCP / UDP dans l’Internet
Destination Port
Checksum
Application
Data
¾ Numéros de ports identifient l’application
¾ La longueur du message est au moins 8 octets (data peut être vide)
¾ Checksum calculé sur :
TCP
Mail
SMTP
Web
HTTP
RTP
Vidéo
RTP / UDP
Transfert de fichier
y Permet de vérifier la destination
51
UDP
VoIP
Système de fichier distribué
y Entête UDP + Des données de l ’entête IP ! (@IPsrc + @Ipdst + Protocol + long.)
2004-2005
50
2004-2005
NFS
FTP
52