-1- TCP-IP TCP-IP 1ère journée: Organisation, Techniques de base, Adressage, Multicast, Evolution http://www.lip6.fr
-1-
TCP-IPTCP-IPTCP-IPTCP-IP
1ère journée:
Organisation, Techniques de base, Adressage, Multicast, Evolution
http://www.lip6.fr
-2-
TCP - IPTCP - IPTCP - IPTCP - IP
Introduction
-3-
Historique en quelques motsHistorique en quelques motsHistorique en quelques motsHistorique en quelques mots
Recherches du DARPA (Defense Advanced Projects Research Agency ) Fin des années 60 : recherche pour créer un réseau maillé pour sécuriser les liaisons militaires aux Etats-
Unis ARPANET (premier réseau à commutation de paquet au milieu des années 1970) réseau de liaisons point à point (SRI, UCLA, UCSB, UTAH)
1974: Concept TCP/IP (Cerf-Kahn) 1981: RFC 791 défini IP (Internet Protocol) 1983: Migration d’Arpanet de NCP vers IP et création d’Internet
MILNET regroupe la partie militaire ARPANET regroupe la communauté scientifique et universitaire TCP/IP intégré à l'Unix BSD livré en standard
entrée dans le monde universitaire développement d'applications réseaux avec les sockets
1984: Création du DNS (1 000 machines hôtes) NSFnet en 1986, réseau reliant les centres de calculs 1989 - Fin de ARPANET 1994 - Explosion du Web !!! 1995 - Fin du financement de la NSF
Privatisation du «backbone» par les opérateurs télécom Merit, Sprint, MCI Fournisseurs d’Accès Internet (FAI ou ISP)
-4-
Le cahier des chargesLe cahier des chargesLe cahier des chargesLe cahier des charges
Des applications Gestion de terminaux Messagerie Transfert de fichiers Gestion de noms
Les contraintes Sauvegarde de l’existant Diffusion gratuite et large
-5-
Les grandes orientations Les grandes orientations techniquestechniquesLes grandes orientations Les grandes orientations techniquestechniques
Protocoles hétérogènes Virtualisation du réseau Protocole fédérateur Conversion au niveau réseau
Adressage hétérogène Adressage universel Procédures de conversion
-6-
Concepts de l’interconnexionConcepts de l’interconnexion
Point de départ : les réseaux interconnectés sont de nature diverse
Les différences entre tous ces réseaux ne doivent pas apparaître à l'utilisateur de l'interconnexion.
Les premiers systèmes d'interconnexion ont traité le problème au niveau applicatif : messagerie relayant le message de nœud en nœud.
Inconvénients : les applications sont victimes de toute modification du réseau, plusieurs applications différentes sur une même machine dupliquent
l'accès au réseau, lorsque le réseau devient important, il est impossible de mettre en œuvre
toutes les applications nécessaires à l'interconnexion sur tous les nœuds des réseaux.
-7-
Concepts de l’interconnexion Concepts de l’interconnexion (suite)(suite)
Alternative à cette solution : mise en œuvre de l'interconnexion au niveau de la couche réseau de ces systèmes.
Avantages: les données sont routées par les nœuds intermédiaires sans que ces nœuds
aient la moindre connaissance des applications responsables des ces données,
la commutation est effectuée sur la base de paquets de petite taille plutôt que sur la totalité de fichiers pouvant être de taille très importante,
le système est flexible: on peut facilement introduire de nouveaux interfaces physiques en adaptant la couche réseau alors que les applications demeurent inchangées,
les protocoles peuvent être modifiés sans que les applications soient affectées.
-8-
Concepts de l’interconnexionConcepts de l’interconnexion(suite) (suite)
A l'intérieur de chaque réseau, les nœuds utilisent la technologie spécifique de leur réseau (Ethernet, X25, etc)
Le logiciel d'interconnexion (couche réseau) encapsule ces spécificités et offre un service commun à tous les applicatifs, faisant apparaître l'ensemble de ces réseaux disparates comme un seul et unique réseau.
Vue utilisateur Vue réelle du réseau
-9-
Concepts de l’interconnexion Concepts de l’interconnexion (suite)(suite)Concepts de l’interconnexion Concepts de l’interconnexion (suite)(suite) La technologie est constituée par des protocoles de base
(suite TCP/IP) qui offrent les services de base du transfert des données : transport de datagrammes : service élémentaire de la commutation
de paquets, transport fiable : service orienté connexion permettant d'acheminer
des données en garantissant leur intégrité, adaptation de la technologie TCP/IP à la plupart des interfaces
matérielles. services de base indépendants du support de transmission;
adaptables à toute sorte de media depuis les réseaux locaux jusqu'aux réseaux longue distance. Interconnecte divers réseaux : Ethernet, T.R., X25, FR, FDDI, etc.
Interconnexion d'égal à égal (peer to peer systems) : il n'y a pas de machines prioritaires
-10-
Service réseau en mode non connecté
Services Applicatifs
Concepts de l’interconnexion Concepts de l’interconnexion (suite)(suite)Concepts de l’interconnexion Concepts de l’interconnexion (suite)(suite)
Applications standards bâties sur la technologie de base : courrier électronique, transfert de fichier, émulation terminal, etc.
Indépendante des constructeurs et disponible sur tous types de matériel (micro, station, super-calculateur et équipements de réseaux)
Services de transport
-11-
VocabulaireVocabulaireVocabulaireVocabulaire
INTERNET: INTERconnection of NETworks
INTRANET: la technologie INTERNET dans un réseau privé
EXTRANET: le réseau INTRANET à longue distance
WWW: World Wide Web TCP-IP: les protocoles utilisés
-12-
INTERNET dans le mondeINTERNET dans le mondeINTERNET dans le mondeINTERNET dans le monde
-13-
Le calendrierLe calendrier
1970: problème posé 1975: premières versions 82: multicast et multimédia 84-86: rencontre ISO 88-90:
incorporation d’applications ISO problème de taille du réseau
90: gestion de la pénurie 92: évolution du protocole? 94: décision IPv6 97: déploiement de test 99: qualité de service
-14-
Réseau 1
BA
Réseau 2
Réseau 3
Réseau 4
P1
P2
C
DE G
F
P1
Px
Interconnexion de réseauxInterconnexion de réseauxInterconnexion de réseauxInterconnexion de réseaux
Les réseaux Les passerelles Les protocoles Les adresses Approche DoD Le monde TCP-IP
-15-
Réseau R1
Protocole d'accès à R1
Protocole IP
Applicationsstandards
Réseau R2
Protocole d'accès à R2
Protocole IP
Applicationsstandards
R1 R2
Protocole IP
Machine A Machine DPasserelle
Architecture TCP-IPArchitecture TCP-IPArchitecture TCP-IPArchitecture TCP-IP
-16-
TCP - IPTCP - IPTCP - IPTCP - IP
L’adressage
-17-
Architecture TCP-IP: Architecture TCP-IP: adressageadressageArchitecture TCP-IP: Architecture TCP-IP: adressageadressage
Adressage binaire compact assurant un routage efficace basé sur un numéro UNIQUE dans l’Internet
LE ROUTAGE n'est pas effectué sur la base de la machine destinataire mais SUR LA BASE DU RÉSEAU DESTINATAIRE
Adressage hiérarchique Réseau / Machine
Les classes d'adressage Une adresse = 32 bits dite "internet address" ou "IP address" constituée
d'une paire (netid, hostid) où netid identifie un réseau et hostid identifie une machine sur ce réseau.
Cette paire est structurée de manière à définir cinq classes d'adresse
Réseau Machine
32 bits => 4,3 milliards d’adresses
P1Réseau A Réseau B P2 Réseau C
-18-
L’adressage Internet (suite)L’adressage Internet (suite)
0 Net-id
0 24
Host-id
8 16 31
Classe A
1 Net-id
Host-id
Classe B
Net-id
Host-id
Classe C
Multicast
Classe D
0
1 01
1 01
1
Réservé
Classe E 1 11 1
-19-
Classe A : 27 réseaux (128) réservé: 0.0.0.0 et 127.0.0.0 disponible: 1.0.0.0 à 126.0.0.0
126 réseaux classe A et 16 777 214 machines/réseau
Classe B : 214 réseaux (16 384) réservé: 128.0.0.0 et 191.255.0.0 disponible 128.1.0.0 à 191.254.0.0
16 382 réseaux classe B et 65 534 hosts/réseau
Classe C : 221 réseaux (2 097 152) réservé 192.0.0.0 et 223.255.255.0 disponible 192.0.1.0 à 223.255.254.0
2 097 150 réseaux classe C et 254 hosts/réseau
Espace d’adressage IPv4Espace d’adressage IPv4Espace d’adressage IPv4Espace d’adressage IPv4
-20-
L’adressage Internet (suite)L’adressage Internet (suite)
Notation décimale pointée (dotted decimal)
10000000 00001010 00000010 00011110 s'écrit : 128.10.2.30
Adresses particulières
Adresse réseau (netid): adresse IP dont la partie machine ne comprend que des zéros;
la valeur zéro ne peut être attribuée à une machine réelle : 191.20.0.0 désigne le réseau 191.20 de classe B.
Adresse machine locale (hostid) : adresse IP dont la partie réseau ne contient que des zéros;
-21-
L’adressage Internet (suite)L’adressage Internet (suite)
0 24
Tout à zéro
8 16 31
Host-id
Tout à zéro
Tout à un
Net-id
Tout à un
127
N’importe quoi (souvent 1)
désigne la machinecourante
machine Host-idsur le réseau courant
diffusion limitée surle réseau courant
diffusion dirigée surle réseau Net-id
boucle locale
-22-
L’adressage Internet (suite)L’adressage Internet (suite)
Adresses et connexions
Une adresse IP => une interface physique => une connexion réseau.
S'applique particulièrement aux routeurs qui possèdent par définition plusieurs connexions à des réseaux différents
A une machine, est associé un certain nombre N d'adresses IP.
Si N > 1 la machine (ou passerelle) est multi-domiciliée.
193.49.60.41 193.49.60.43 193.49.60.1
192.100.1.1
192.100.1.2
192.100.1.7La passerelle est multi-domiciliée:interface 1 : Ethernet 193.49.60.1interface 2 : Token Ring 192.100.1.1
-23-
Le sous-adressageLe sous-adressage
Le sous-adressage est une extension du plan d’adressage initial
Il a été introduit afin de limiter la consommation d’adresses IP ce qui permet également de diminuer :
la gestion administrative des adresses IP, la taille des tables de routage des passerelles, la taille des informations de routage, le traitement effectué au niveau des passerelles.
Principes A l’intérieur d’une entité associée à une adresse IP de classe A, B ou C,
plusieurs réseaux physiques partagent cette adresse IP. On dit alors que ces réseaux physiques sont des sous-réseaux (subnet) du
réseau d’adresse IP.
-24-
Le sous-adressageLe sous-adressageLe sous-adressageLe sous-adressage
Pour ajouter une hiérarchie dans l’adressage
Structuration de la partie machine
Caractéristique du réseau
Réseau/Machine
Réseau/Ss-réseau/Machine
Masque de réseau
Vis
ion in
tern
e
• RFC 917, 950, 1219• RFC 917, 950, 1219
-25-
Le sous-adressage (suite)Le sous-adressage (suite)
Un site avec deux réseaux physiques utilisant le sous-adressage de manière à ce que ses deux
sous-réseaux soient couverts par une seule adresse IP de classe B.
La passerelle P accepte tout le trafic destiné au réseau 128.10.0.0 et sélectionne le sous-réseau
en fonction du troisième octet de l’adresse destination.
Les sous-réseaux 128.10.1.0 et 128.10.2.0 sont notés seulement avec le NetId,
les machines seulement avec le Hostid ; exemple IP(F) = 128.10.2.9
Internet A CB
D FE
128.10.1.0
128.10.2.0
.1 .2 .3 .4
.2
.6 .2 .9
128.10.0.0P
-26-
Le sous-adressage (suite)Le sous-adressage (suite)
Le site utilise une seule adresse pour les deux réseaux physiques. A l’exception de P, toute passerelle de l'Internet route comme s’il
n’existait qu’un seul réseau. La passerelle doit router vers l’un ou l’autre des sous-réseaux ; le
découpage du site en sous-réseaux a été effectué sur la base du troisième octet de l’adresse : les adresses des machines du premier sous-réseau sont de la forme
128.10.1.X, les adresses des machines du second sous-réseau sont de la forme
128.10.2.X. Pour sélectionner l’un ou l’autre des sous-réseaux, P examine le
troisième octet de l’adresse destination : si la valeur est 1, le datagramme est routé vers réseau 128.10.1.0, si la valeur est 2, il est routé vers le réseau 128.10.2.0
-27-
Le sous-adressage (suite)Le sous-adressage (suite)
Conceptuellement, la partie locale dans le plan d’adressage initial est subdivisée en “partie réseau physique” + “identification de machine (hostid) sur ce sous-réseau” :
Partie Internet Partie locale
Partie Internet Sous Réseau Identifieur Machine
Partie Internet correspond au NetId (plan d’adressage initial) Partie locale correspond au hostid (plan d’adressage initial) les champs Sous Réseau et Identifieur Machine sont de taille variable;
la longueur des 2 champs étant toujours égale à la longueur de la Partie locale.
-28-
Le sous-adressage (suite)Le sous-adressage (suite)
Structure du sous-adressage Structuration souple : chaque site peut définir lui-même les longueurs des
champs réseau physique et identificateur de machine. Flexibilité indispensable pour adapter la configuration réseau d’un site:
P1
P3P2
P4
P5
Réseau 1
Réseau 2
Réseau 4
Réseau 5 Réseau 3
Ce site a cinq réseaux physiques organisés en trois niveaux : le découpage rudimentaire
en réseau physique et adresse machine peut ne pas être optimal.
-29-
Le sous-adressage (suite)Le sous-adressage (suite)
Le choix du découpage dépend des perspectives d’évolution du site: Exemple Classe B :
- 8 bits pour la partie sous réseau: 256 sous réseaux de 254 machines- 3 bits pour la partie sous réseau: 8 sous-réseaux de 8190 machines
Exemple Classe C :- 4 bits pour la partie sous-réseau: 16 sous-réseaux de 14 machines
Lorsque le sous-adressage est ainsi défini, toutes les
machines du réseau doivent s’y conformer sous peine de
dysfonctionnement du routage ==> configuration rigoureuse.
-30-
Utilisation de masques Le sous-adressage ==> masque de 32 bits associé au sous-réseau. Bits du masque de sous-réseau (subnet mask) :
positionnés à 1 : partie réseau, positionnés à 0 : partie machine
11111111 11111111 11111111 00000000
==> 3 octets pour le champ réseau, 1 octet pour le champ machine Les bits du masque identifiant sous-réseau et machine peuvent ne pas être
contigus : 11111111 11111111 00011000 01000000 Les notations suivantes sont utilisées :
décimale pointée; exemple : 255.255.255.0 adresse réseau/masque : 193.49.60.0/27 (27 = nombre de bits contigus du masque)
11000001 00111001 00111100 00000000 / 11111111 11111111 11111111 11100000 27 bits pour le champ réseau (dont 3 bits bits pour les sous-réseaux) 5 bits pour les machines
Le sous-adressage (suite)Le sous-adressage (suite)
-31-
11111111 1111111 11111111 11110000
11000000 10101000 0000001 00100010
Configuration WIN 9x/NTConfiguration WIN 9x/NTConfiguration WIN 9x/NTConfiguration WIN 9x/NT
Pourquoi une machine
doit-elle connaître le masque ?
11000000 10101000 0000001 00100000 192 168 1 32
Destination pour le routage
-32-
Le sous-adressage variable Le sous-adressage variable (VLSM)(VLSM) RFC 1009 : un réseau IP peut posséder plusieurs masques
différents;==> réseau de type VLSM (Variable Length Subnet
Masks) Evite la rigidité du masque fixe qui impose :
le nombre de sous-réseaux le nombre de machines par sous-réseau Exemple : 130.5.0.0/22
==> 64 sous-réseaux et 1022 machines / sous-réseau inadapté pour des petits sous-réseaux de quelques machines;
exemple 30 machines sur un sous-réseau: 992 adresses IP perdues
Permet l’adaptation de l’adressage IP à la taille des sous-réseaux Exemple précédent : cohabitation de grands et petits sous-réseaux
130.5.0.0/22 (64 sous-réseaux et 1022 machines / sous-réseau) 130.5.0.0/26 (1024 sous-réseaux de 62 machines / sous-réseau)
-33-
VLSM : agrégation de routesVLSM : agrégation de routes
Division d’un espace IP en sous-réseaux successifs Permet de masquer les informations de routage entre
groupes de sous-réseaux 11.0.0.0/8
11.1.0.0/16 11.254.0.0/16. . .
11.1.1.0/24 11.1.254.0/24. . . 11.254.32.0/19 11.254.192.0/19. . .
11.1.253.32/2711.1.253.64/27
. . .
11.1.253.192/27 "Autre technique" : CIDR
-34-
Problèmes Problèmes (fin années 80)(fin années 80)Problèmes Problèmes (fin années 80)(fin années 80)
Allocation d’adresses Epuisement classes B
254 machines < sites << 64K machines Utilisation rapide des classes C
=> allouer exactement la quantité nécessaire Accroissement des tables de routage
=> agrégation d’adresses Solution: Classless InterDomain Routing
Adresses avec IPv4 sans classes Préfixe/longueur
préfixe: regroupe des destinations communes pour un bloc d’adresses
longueur: nombre de bits significatifs du préfixe 2(32-longueur) adresses de machines
• CIDR: Classless InterDomain Routing • RFC 1518, 1519
• CIDR: Classless InterDomain Routing • RFC 1518, 1519
-35-
Format adresses CIDRFormat adresses CIDRFormat adresses CIDRFormat adresses CIDR
16 premiers bits significatifs 128.96.0.0/16: regroupe 128.96.0.0 à 128.96.255.255
2(16-16) = 1 adresse de réseaux classe B en notation classique 194.5.0.0/16: regroupe 194.5.0.0 à 194.5.255.255
2(24-16) = 256 adresses de réseaux classes C contiguës en notation classique
24 premiers bits significatifs 192.1.0.0/24: regroupe 192.1.0.0 à 192.1.0.255
2(24-24) = 1 classe C en notation classique
23 premiers bits significatifs 192.1.0.0/23 regroupe 192.1.0.0 et 192.1.1.0
2(24-23) = 2 adresses de réseaux adresses de réseaux classes C contiguës de ce bloc en notation classique
2(32-23) = 512 adresses de machines
-36-
Format adresses CIDRFormat adresses CIDRFormat adresses CIDRFormat adresses CIDR
22 premiers bits significatifs 192.1.4.0/22 regroupe 192.1.4.0
jusqu’à 192.1.7.0 2(24-22) = 4 adresses de réseaux adresses de réseaux classes C
contiguës de ce bloc en notation classique 1 bloc de 2(32-22) = 1024 adresses de machines
Allouer la quantité nécessaire 350 adresses de machines à un utilisateur
/24 => 256 adresses et /25 => 128 adresses = 384 machines
Agrégation d’adresses pour le routage 192.1.2.0/23 regroupe 2 classes C contigus (192.1.2.0 et 192.1.3.0)
-37-
Adressage localAdressage localAdressage localAdressage local
Best Current Practice: Address Allocation for Private Internets réseau non connecté à Internet réseau avec mur coupe-feu
Adresses réservées: 10.0.0.0 - 10.255.255.255 (10/8) 172.16.0.0 - 172.31.255.255 (172.16/12) 192.168.0.0 - 192.168.255.255 (192.168/16)
Numéros jamais annoncés au niveau des tables de routage de l’Internet
Utiliser la traduction d’adresses (NAT, Proxy)
• RFC 1918• RFC 1918
-38-
Adressage localAdressage localAdressage localAdressage local
Sous-réseau
Sous-réseau
172.16.0.0172.16.21.0
195.212.10.192/26
-39-
Table de conversion Gestion des adresses de machine et
des applications supportées (numéro de «port» dans le langage TCP/IP)
Correspondance 1 adresse 1 machine 1 adresse N machines
Traduction d’adresses (NAT,NAPT)Traduction d’adresses (NAT,NAPT)Traduction d’adresses (NAT,NAPT)Traduction d’adresses (NAT,NAPT)
Adresse externe ApplicationAdresse interne Application
Association dynamique
• NAT: Network Adress Translation • NAPT: Network Adress Port Translation • RFC 2663, 2993, 3022, 3235
• NAT: Network Adress Translation • NAPT: Network Adress Port Translation • RFC 2663, 2993, 3022, 3235
-40-
NAT
Le NATLe NATLe NATLe NAT
195.212.10.194 172.16.21.12
ASSOCIATIONS
PAQUET SORTANT
172.16.21.12 193.200.61.4
A. Source A. destination
PAQUET SORTANT MODIFIE
195.212.10.194 193.200.61.4
A. Source A. destination
PAQUET REPONSE MODIFIE
172.16.21.12193.200.61.4
A. Source A. destination
PAQUET REPONSE
A. Source A. destination
195.212.10.194193.200.61.4
INTRANET INTERNET
-41-
NAPT
Le NAPTLe NAPTLe NAPTLe NAPT
ASSOCIATIONS
195.212.10.194 172.16.21.12 50148 6153
PAQUET SORTANT
172.16.21.12 193.200.61.4
A. Source A. destination
6153 80
P. Source P. destination
INTRANETPAQUET SORTANT
172.16.34.25 128.234.50.37
A. Source A. destination
7683 23
P. Source P. destination
PAQUET SORTANT MODIFIE
195.212.10.194 193.200.61.4
A. Source A. destination
50148 80
P. Source P. destination
INTERNETPAQUET SORTANT MODIFIE
195.212.10.194 128.234.50.37
A. Source A. destination
50149 23
P. Source P. destination
PAQUET REPONSE
193.200.61.4 172.16.21.12
A. Source A. destination
80 6153
P. Source P. destination
PAQUET REPONSE
193.200.61.4 195.212.10.194
A. Source A. destination
80 50148
P. Source P. destination
PAQUET REPONSE
128.234.50.37 172.16.34.25
A. Source A. destination
23 7683
P. Source P. destination
PAQUET REPONSE
193.200.61.4 195.212.10.194
A. Source A. destination
23 50149
P. Source P. destination
195.212.10.194 172.16.34.25 50149 7683
-42-
Certaines applications transportent des adresses IP et/ou des n° de port: FTP DNS Mobile IP IPSec WINS HTTP H323 RSVP
Problèmes du NAT,NAPTProblèmes du NAT,NAPTProblèmes du NAT,NAPTProblèmes du NAT,NAPT
Application Layer Gateway(ALG)
-43-
Fragmentation des paquets Deux stations parlant avec la même machine distante peuvent choisir
la même identification de fragment. Application peer-to-peer
Téléphonie IP, Jeux Certaines applications ouvrent de nombreuses connexion:
HTTP 1.0 H323
Problèmes du NAT,NAPTProblèmes du NAT,NAPTProblèmes du NAT,NAPTProblèmes du NAT,NAPT
PERFORMANCES !
-44-
TCP-IPTCP-IPTCP-IPTCP-IP
Protocole IP version 4
-45-
Le datagramme IPLe datagramme IP
0 248 16 31
Identification
4Version
d'IP
19Longueur
en-têteType de service Longueur totale du paquet
Identification du paquet Drapeaux Décalage du fragment
Durée de vie Protocole Total de contrôle de l'en-tête
Adresse IP source
Adresse IP destinataire
Options éventuelles Bourrage
0 DF MF
Drapeaux
D T R 0 0Précé-dence
Type de service• IP: Internet Protocol
• RFC 791
• IP: Internet Protocol
• RFC 791
ping –f –l 1473 machine-f: Don’t Fragment
-46-
Traitement des erreurs:ICMPTraitement des erreurs:ICMPTraitement des erreurs:ICMPTraitement des erreurs:ICMP
Une erreur se traduit par la disparition d’un paquet: Impact utilisateur Impact réseau
(administrateur)
X
Appli
IP
Gest
ICMP
• ICMP: Internet Message Control Protocol
• RFC 792
• ICMP: Internet Message Control Protocol
• RFC 792
-47-
ICMP : modification de routeICMP : modification de route
A
R1 R2Internet
B
Une fois la redirection effectuée, les datagrammes seront acheminés vers la passerelle appropriée.
Un message ICMP de redirection de route peut être transmis par une passerelle vers une machine reliée au même réseau pour lui signaler que la route n’est pas optimale.
Route par défaut
2ème routage
Redirection ICMP
Re-routage
-48-
La conversion des adressesLa conversion des adresses
Au niveau des applications: adresses IP
Au niveau du réseau réel: adresses natives
Besoin de conversion
Application
Utilisateur
IP - protocole
IP - routage
IP - conversion ad.
Réseau réel
Nomsymbolique
Adresse IP
Adresse IP
Adresse IPPasserelle
Adresse réellePasserelle
-49-
ARP: TechniqueARP: Technique
Le besoin La communication entre machines ne peut s'effectuer qu'à travers l'interface physique Les applicatifs ne connaissant que des adresses IP.
Comment établir le lien adresse IP / adresse physique ? La solution : ARP
Mise en place dans TCP/IP d’un protocole de bas niveau appelé Address Resolution Protocol
Rôle de ARP : fournir à une machine donnée l'adresse physique d'une autre machine située sur le même réseau à partir de l'adresse IP de la machine destinatrice.
La technique : Diffusion d'adresse sur le réseau physique (couche 2) La machine d'adresse IP émet un message contenant son adresse physique Les machines non concernées ne répondent pas Gestion cache pour ne pas effectuer de requête ARP à chaque émission
durée de vie d'une association: 2mn puis 10mn si elle est réutilisée durant les 2mn
• ARP: Address Resolution Protocol
• RFC 826
• ARP: Address Resolution Protocol
• RFC 826
-50-
L'association adresse physique - adresse IP de l'émetteur est incluse dans la requête ARP de manière à ce que les récepteurs enregistrent l'association dans leur propre mémoire cache
Pour connaître l'adresse physique de B(PHB) à partir de son adresse IP (IPB) la machine A diffuse une requête ARP qui contient l'adresse IPB vers toutes les machines; la machine B répond avec un message ARP qui contient la paire (IPB, PHB).
ARP: ExempleARP: Exemple
A YBX
-51-
ARP: Table de transcodageARP: Table de transcodage
-52-
RARP: TechniqueRARP: Technique
Le besoin Une machine sans disque connaît son adresse physique mais ignore son adresse IP Les applicatifs ne connaissant que des adresses IP.
Comment établir le lien adresse physique -> adresse IP ? La solution : RARP
Mise en place dans TCP/IP d’un protocole de bas niveau appelé Reverse Address Resolution Protocol
Rôle de RARP : fournir à une machine donnée son adresse IP à partir de son adresse physique.
La technique : Diffusion d'adresse sur le réseau physique (couche 2) La machine émet un message contenant son adresse physique Un serveur primaire ou secondaire retourne l'adresse IP de la machine demandeuse Gestion cache pour ne pas effectuer de requête ARP à chaque émission
• RARP: Reverse Address Resolution Protocol
• RFC 903
• RARP: Reverse Address Resolution Protocol
• RFC 903
-53-
L'adresse physique de l'émetteur est incluse dans la requête RARP.
Pour connaître son adresse IP (IPA) à partir de son adresse physique (PHA) la machine A diffuse une requête RARP qui contient l'adresse PHA vers toutes les machines; le serveur B répond avec un message RARP qui contient la paire (IPA, PHA).
RARP: ExempleRARP: Exemple
A YBX
Serveur primaire RARP
-54-
BOOTPBOOTP
BOOTP (BOOTstrap Protocol) Conçu initialement pour l'autoconfiguration de machine sans disque
Adresse IP + routeur par défaut et DNS Serveur TFTP pour charger le fichier d'amorçage
Les configurations sont statiques (pré-configurations)
La technique : Utilise UDP Emission d'une requête en diffusion limitéé (255.255.255.255, ports 68 et 67) La machine émet un message contenant son adresse physique
• BOOTP: Bootstrap Protocol
•RFC 2132
• BOOTP: Bootstrap Protocol
•RFC 2132
-55-
DHCPDHCP
Adresse IP + routeur par défaut et DNS Basé sur BOOTP
Compatibilité selon les vendeurs Totalement dynamique Fonctions supplémentaires
Gestion de pools d'adresses IP Association fixe adresse IP-adress MAC Notion de bail pour une adresse IP Interaction avec le DNS Allocation alternative de plusieurs adresse IP à une seule adresse MAC …...
La technique: Idem BOOTP
• DHCP: Dynamic Host Configuration Protocol• RFC 2132
• DHCP: Dynamic Host Configuration Protocol• RFC 2132
-56-
TCP - IPTCP - IPTCP - IPTCP - IP
Traces de réseaux
-57-
Le dispositif d’observationLe dispositif d’observationLe dispositif d’observationLe dispositif d’observation
A
Internet
B
C
D
-58-
Structure d’une trame EthernetStructure d’une trame EthernetStructure d’une trame EthernetStructure d’une trame Ethernet
64 1648 48 ……... 32
Préa
mbu
leAd
ress
e de
stAd
ress
e so
urce
Type Données
CR
C
0200 XEROX PUP0201 PUP Address Trans.0600 XEROX NS IDP0800 DOD Internet0801 X75 Internet0802 NBS Internet
0803 ECMA Internet0804 ChaosNet0805 X25 niveau 30806 ARP0807 XNS6001 a 6006 DEC8035 RARP8098 Appletalk
-59-
Trace de protocole (1)Trace de protocole (1)Trace de protocole (1)Trace de protocole (1)
08 00 20 0a ac 96 08 00 20 0a 70 66 08 00 4f 00 00 7c cb c9 00 00 ff 01 b9 7f 84 e3 3d 05 c0 21 9f 06 07 27 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 a2 56 2f 00 00 00 29 36 8c 41 00 03 86 2b 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37
-60-
Trace de protocole (1)Trace de protocole (1)Trace de protocole (1)Trace de protocole (1)
08 00 20 0a ac 96 08 00 20 0a 70 66 08 00 4f 00 00 7c cb c9 00 00 ff 01 b9 7f 84 e3 3d 05 c0 21 9f 06 07 27 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 a2 56 2f 00 00 00 29 36 8c 41 00 03 86 2b 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37
-61-
08 00 20 0a 70 66 08 00 20 0a ac 96 08 00 4f 00 00 7c 3f 86 00 00 fb 01 49 af c0 21 9f 06 84 e3 3d 05 07 27 28 84 e3 3c 20 c0 2c 41 12 c0 46 47 05 c0 21 9f 02 c0 21 9f 06 c0 46 47 06 c0 2c 41 1a 84 e3 3c 1e 84 e3 3d 87 00 00 00 aa 56 2f 00 00 00 29 36 8c 41 00 03 86 2b 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 00 00 00 00 00 00 00 00 00 20 00 01 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37
Trace de protocole (2)Trace de protocole (2)Trace de protocole (2)Trace de protocole (2)
-62-
08 00 20 0a 70 66 08 00 20 0a ac 96 08 00 4f 00 00 7c 3f 86 00 00 fb 01 49 af c0 21 9f 06 84 e3 3d 05 07 27 28 84 e3 3c 20 c0 2c 41 12 c0 46 47 05 c0 21 9f 02 c0 21 9f 06 c0 46 47 06 c0 2c 41 1a 84 e3 3c 1e 84 e3 3d 87 00 00 00 aa 56 2f 00 00 00 29 36 8c 41 00 03 86 2b 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 00 00 00 00 00 00 00 00 00 20 00 01 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37
Trace de protocole (2)Trace de protocole (2)Trace de protocole (2)Trace de protocole (2)
-63-
TCP - IPTCP - IPTCP - IPTCP - IP
Les protocoles de base: niveau transport
-64-
Le niveau transportLe niveau transport
TCP Fiabilité Contrôles d'erreur, de flux, d'ordre
UDP Vérification des erreurs
Autres protocoles Applications spécifiques (haut débit)
• UDP: User datagram Protocol• RFC 768
• UDP: User datagram Protocol• RFC 768
• TCP: Transmission Control Protocol• RFC 793
• TCP: Transmission Control Protocol• RFC 793
-65-
Les portsLes ports
Destinations abstraites permettant d'adresser un service applicatif s'appellent des ports de protocole.
L'émission d'un message se fait sur la base d'un port source et un port destinataire.
Les processus disposent d'une interface système leur permettant de spécifier un port ou d'y accéder (socket, TLI, ...).
Les accès aux ports sont généralement synchrones, les opérations sur les ports sont tamponnés (files d'attente).
-66-
Transport : (dé)multiplexageTransport : (dé)multiplexage
Le protocole de transport multiplexe et démultiplexe les datagrammes en sélectionnant les numéros de ports : une application obtient un numéro de port de la machine locale; dès lors que
l'application émet un message via ce port, le champ PORT SOURCE du protocole contient ce numéro de port,
une application connaît (ou obtient) un numéro de port distant afin de communiquer avec le service désiré.
Lorsque le protocole reçoit une PDU, il vérifie que le port destination est un des ports actuellement actifs (associé à une application) et la délivre à l'application responsable (mise en queue)
si ce n'est pas le cas, il émet un message ICMP port unreachable, et détruit le datagramme.
-67-
UDP: transport minimalUDP: transport minimalUDP: transport minimalUDP: transport minimal
Sans connexion Remise si correct Pas d'ordre Pas de correction d'erreurs Mode client/serveur
-68-
UDP: FormatUDP: FormatUDP: FormatUDP: Format
0 248 16 31
IdentificationLongueur totale du datagramme Total de contrôle
Port de la source Port du destinataire
Données
Le total de contrôle s'applique à tout le datagramme plus les adresses IP
source et destination (pseudo header)
-69-
UDP : les ports standardsUDP : les ports standards Certains ports sont réservés (well-kown port assignements) : No port Mot-clé Description
7 ECHO Echo
11 USERS Active Users
13 DAYTIME Daytime
37 TIME Time
42 NAMESERVER Host Name Server
53 DOMAIN Domain Name Server
67 BOOTPS Boot protocol server
68 BOOTPC Boot protocol client
69 TFTP Trivial File transfert protocol
123 NTP Network Time Protocol
161 SNMP Simple Network Management prot.
D'autres numéros de port (non réservés) peuvent être assignés dynamiquement aux
applications.
-70-
TCP: caractéristiquesTCP: caractéristiques
service en mode connecté connexions bidirectionnelles et simultanées (full duplex)
transfert de données transferts tamponnés : découpage en segments de taille variable transferts fiables et ordonnés contrôle de flux (crédit, accusé de réception positif)
contrôle d’erreur détection d’erreur, des duplications, des paquets hors d’ordre retransmission
urgence priorités sans contrôle de flux
usage plus de 85 % des octets transportés !!
-71-
TCP: FormatTCP: FormatTCP: FormatTCP: Format
0 248 16 31
Fenêtre d'anticipation
Total de contrôle
Port de la source Port du destinataire
Numéro de séquence
Acquittement
DrapeauxLongueur
en-tête
Pointeur de données urgentes
Options éventuelles Bourrage
Données
Réservé
Drapeaux
URG ACK PSH RST SYN FIN
4 10 11 12 13 14 15
4
-72-
TCP : ports standardsTCP : ports standards
No port Mot-clé Description
20 FTP-DATA File Transfer [Default Data]
21 FTP File Transfer [Control]
23 TELNET Telnet
25 SMTP Simple Mail Transfer
37 TIME Time
42 NAMESERVER Host Name Server
43 NICNAME Who Is
53 DOMAIN Domain Name Server
79 FINGER Finger
80 HTTP WWW
110 POP3 Post Office Protocol - Version 3
111 SUNRPC SUN Remote Procedure Call
-73-
TCP: contrôle de congestionTCP: contrôle de congestionTCP: contrôle de congestionTCP: contrôle de congestion
OBJECTIF: Prévenir, détecter et réagir à la congestion du réseau
HYPOTHESE: la perte d'un paquet est interprétée comme un signe
de congestion
moins de 1% des paquets sont détruits à cause d'une erreur de transmission
PRINCIPE: Conservation du flux de paquet (self/ack-clocking)
Le nombre de segments qui entrent dans le réseau doit être égal au nombre
de segments qui quittent le réseau.
-74-
TCP: contrôle de congestionTCP: contrôle de congestionTCP: contrôle de congestionTCP: contrôle de congestion
Ack-clocking: les ACK régulent l'émission des segments
Slow start Eviter de créer ou d'aggraver une situation de congestion
Congestion avoidance
Réagir à une situation de congestion
Réduction du rythme d'émission
-75-
TCP: contrôle de congestionTCP: contrôle de congestionTCP: contrôle de congestionTCP: contrôle de congestion
Fast retransmit la congestion est faible
retransmission du segment perdu sans attendre l'expiration du timer de
retransmission
détection après 3 ACK dupliqués strictement consécutifs
Fast recovery exécuter à la suite d'un fast retransmit jusqu'à l'acquittement d'un segment
non retransmis
éviter le slow start puisque la congestion est faible éviter de perdre du le rythme d'émission
l ’émetteur peut continuer à transmettre de nouveaux segments.
-76-
TCP: contrôle de congestionTCP: contrôle de congestionTCP: contrôle de congestionTCP: contrôle de congestion
Un peu de technique ... Slow start et congestion avoidance sont indépendants mais implémentés
ensemble Quelque variables:
cwnd (congestion window): limite du côté émetteur la quantité de données que
l’émetteur peut transmettre dans le réseau avant de recevoir un ACK
ssthresh (slowstart threshold size): détermine quel algorithme utiliser (slow start ou
congestion avoidance) pour contrôler la transmission des données. smss (sender maximum segment size): calculé à partir de la MTU ou de rmss ou
d'autres facteurs (n'inclut pas les en-têtec TCP et IP)
flight size: Volume total de données déjà envoyé mais pas encore acquitté
rwnd (receiver window): taille courante de la fenêtre d'anticipation.
-77-
• Initialisations cwnd = smss /* <= 2*smss */ ssthresh= 65 535 /* arbitrairement grand */
• Après chaque ACK
if (cwnd < ssthresh) cwnd += smss; /* Accroissement Multiplicatif */ else cwnd += (smss*smss)/cwnd; /* Accroissement Additif */
• Après expiration du temporisateur de retransmission
ssthresh=max (FlightSize/2, 2*SMSS); cwnd=smss;
TCP: contrôle de congestionTCP: contrôle de congestionTCP: contrôle de congestionTCP: contrôle de congestion
Slow start
Congestion avoidance
Slow start et congestion avoidance
-78-
1. A la réception du 3e ACK dupliqué :
ssthresh = max (FlightSize/2, 2*SMSS)
2. Retransmettre le segment perdu et :
cwnd = ssthresh + 3*SMSS
3. Pour chaque ACK dupliqués reçu,
cwnd += SMSS
4. Transmettre un segment si la nouvelle valeur de cwnd et rwnd le permettent
5. A la réception du premier ACK acquittant un segment non retransmis
cwnd = ssthresh
6. Fin du fast recovery
TCP: contrôle de congestionTCP: contrôle de congestionTCP: contrôle de congestionTCP: contrôle de congestion
Fast retransmit et fast recovery
-79-
TCP: contrôle de congestionTCP: contrôle de congestionTCP: contrôle de congestionTCP: contrôle de congestion
08
16243240485664
0 10 20 30 40
temps en RTT
Tai
lle d
e la
fen
être
en
KB
ssthreshcwnd
Fast RecoveryCongestion AvoidanceSlow Start
Vie d'une connexion TCP
-80-
TCP 4.3BSD Tahoe (1988) Fast retransmit Congestion avoidance et Slow start
TCP 4.3BSD Reno (1990) Fast recovery
TCP 4.3BSD Vegas (1995) jusqu'à 70% de débit en plus que Reno "incompatible" avec Reno qui accapare 50% de BP en plus
TCP 4.3BSD New Reno (1999) Correction/amélioration du Fast retansmit / recovery
prise en charge du cas où de plusieurs segments sont perdus
Les TCPsLes TCPsLes TCPsLes TCPs
RFCs 2001, 2581,2582
-81-
L'utilisation de réseaux sans fil comme réseaux d'accès ou réseaux capillaires se développe
TCP et le sans fil: problèmesTCP et le sans fil: problèmesTCP et le sans fil: problèmesTCP et le sans fil: problèmes
Réseaux d'accès/capillaires
sans fil
Internet/intranet fillaire
-82-
TCP est conçu pour le filaire et optimisé pour ça pendant des années HYPOTHÈSE CENTRALE: Perte de paquet => congestion
BER filaire: 10-6 à 10-8
1,2% de perte pour des messages de 1500 octets
BER sans fil: 10-3 à 10-1
Atténuation, obstacle, mobilité
12% de perte pour des messages de 1500 octets
l'hypothèse centrale de TCP n'est plus valide
TCP et le sans fil: problèmesTCP et le sans fil: problèmesTCP et le sans fil: problèmesTCP et le sans fil: problèmes
• BER: Bit Error Rate (Taux d'Erreur Bit)• BER: Bit Error Rate (Taux d'Erreur Bit)
-83-
CONNEXION TCP
TCP et le sans fil: problèmesTCP et le sans fil: problèmesTCP et le sans fil: problèmesTCP et le sans fil: problèmes
Réseaux d'accès/capillaires
sans fil
Internet/intranet fillaire
se
rve
ur
BER 10-3 BER 10-8
La corruption d'un paquet sur le sans fil entraîne sa retransmission par l'émetteur: NORMAL!!
… mais entraîne aussi la diminution de la fenêtre de collision de l'émetteur: DOMMAGE POUR LE DEBIT !!
-84-
Fort délai (RTT) affecte le débit et l'interactivité perçue
par l'utilisateur la fenêtre de congestion (cwnd)
s'ouvre au rythme des ACK (ack-
clocking)
TCP et le sans fil: problèmesTCP et le sans fil: problèmesTCP et le sans fil: problèmesTCP et le sans fil: problèmes
• RTT: Round Trip Time (Délai aller-retour)• RTT: Round Trip Time (Délai aller-retour)
30 ms
106 ms
1 ms 1 ms
33 ms
A
B
ServeurWEB
2 : 0
2 : 2
3 : 2
4 : 2
5 : 2
6 : 2
cwndA : B
-85-
Flots réduits beaucoup d'applications ne sortent pas du slow-start
sous utilisation de la bande passante un transfert de 10Kb avec une bande passante infinie et un délai de 35 ms plafonne à 300Kb/s
Consommation d'énergie Plus une connexion dure plus elle consomme d'énergie
gênant pour tous les équipements alimentés par batterie
TCP et le sans fil: problèmesTCP et le sans fil: problèmesTCP et le sans fil: problèmesTCP et le sans fil: problèmes
-86-
Agir au niveau liaison retrouver la qualité du filaire
FEC consomme énormément de bande passante
consomme de l'énergie pour les calculs
Retransmission peut saturer la liaison si le BER devient important
Protocole de liaison non averti de TCP (TCP unaware) préserve la modularité des protocoles
n'empêche pas la duplication des ACK TCP
consommation de bande passante et d'énergie
Protocole de liaison averti de TCP (TCP aware) examiner les segments TCP et réagir aux situations d'erreurs sans perturber TCP
SNOOP
TCP et le sans fil: "solutions"TCP et le sans fil: "solutions"TCP et le sans fil: "solutions"TCP et le sans fil: "solutions"
• FEC: Forward Error Correction• FEC: Forward Error Correction
-87-
Couper la connexion en deux un protocole adapté à la partie sans fil …
TCP sur la partie filaire les segments TCP seront acquittés avant d'atteindre la station sans fil
I-TCP
violation de la sémantique bout en bout de TCP
M-TCP
préserve la sémantique bout en bout de TCP
compression (optionnelle) sur la partie sans fil
TCP et le sans fil: "solutions"TCP et le sans fil: "solutions"TCP et le sans fil: "solutions"TCP et le sans fil: "solutions"
• I-TCP: Indirect TCP•M-TCP: Mobile TCP
• I-TCP: Indirect TCP•M-TCP: Mobile TCP
-88-
Modifier TCP TCP SACK
Option de TCP: le receveur acquitte un segment bien reçu même si il est désequencé Evite à l'émetteur de retransmettre des segments correctement reçu
Efficacité discutable seulement 4% en moins de retransmission sur time-out dans certain cas
Implémenté sur linux et Windows 98
TCP Santa Cruz Conçu avec le souci des supports physique hétérogènes
L'émetteur calcule le délai inter-arrivée des segments chez le destinataire
l'ouverture de la fenêtre de congestion est découplée du nombre de ACK reçus
Meilleure performance que TCP de base Complexité pouvant engendré un supplément de consommation d'énergie
Calcul faussé si le récepteur retarde ses acquittements
TCP et le sans fil: "solutions"TCP et le sans fil: "solutions"TCP et le sans fil: "solutions"TCP et le sans fil: "solutions"
-89-
TCP - IPTCP - IPTCP - IPTCP - IP
L’organisation, les standards
-90-
TCP-IP: L'organisation TCP-IP: L'organisation R&DR&D (1) (1)TCP-IP: L'organisation TCP-IP: L'organisation R&DR&D (1) (1)
ISOC Internet SOCiety Association pour but non lucratif créée en 1992 Promotion technologique de l'Internet (orientation de la R&D,
formations, revues, séminaires, etc.) Ombrelle juridique de l’IETF, l’IESG et l’IAB http://www.isoc.org/
IAB Internet Architecture Board Initialement de DARPA, devenu comité de l’ISOC en 1992 Le «gouvernement» de l’IETF et l’IRTF Identifie les problèmes, décide des études, valide et diffuse
les standards, alloue les ressources vis-à-vis de l’architecture de l’Internet
http://www.iab.org/
-91-
TCP-IP: L'organisation TCP-IP: L'organisation R&DR&D (2) (2)TCP-IP: L'organisation TCP-IP: L'organisation R&DR&D (2) (2)
IETF Internet Engineering Task Force http://www.ietf.org/ L’ «assemblée»; Plusieurs «areas» de recherche Identifie des problèmes via des meetings réguliers, crée des
WG (Working Groups), produit des documents techniques Comité de direction: IESG (Steering Group) (http://www.iesg.org/)
Revoit et publie les standards Formé des responsables de secteurs et directeurs de l’IETF
IRTF Internet Research Task Force Organisme s’occupant de la recherche long terme Ne produit pas des standards Si la recherche débouche, confier le résultat à l’IETF
-92-
Les documents: RFC, Internet Les documents: RFC, Internet drafts, FYIdrafts, FYILes documents: RFC, Internet Les documents: RFC, Internet drafts, FYIdrafts, FYI
Pas de "normes" au sens ISO Internet Draft
document de travail issu des WG de l’IETF n versions (valables 6 mois) http://www.ietf.org/
Documents de base: RFC (Request For Comments) http://www.rfc-editor.org/ (de 1-3xxx depuis 1969) Proposed standards (6-24 mois) Draft standards (4-24 mois) Standards (numéro officiel IETF: STD xxxx) Mais aussi: Historic, Experimental, Informational Un RFC n'est jamais mis à jour après édition mais peut
évoluer (devenir obsolète par un nouveau RFC)
-93-
TCP-IP: Les documents de TCP-IP: Les documents de basebaseTCP-IP: Les documents de TCP-IP: Les documents de basebase
Les standards «Required»: Implantation obligatoire. «Recommanded»: Non obligatoire pour l'interfonctionnement,
mais fortement souhaité. «Elective»: Au choix de l'utilisateur
Accès direct électronique via le réseau messagerie électronique
$ mail [email protected]
file /ftp/rfc/rfc822.txt
transfert de fichier
-94-
Quelques RFCsQuelques RFCsQuelques RFCsQuelques RFCs
RFC 3232: Assigned Numbers (mise en ligne à www.iana.org, plus de rfc) RFC 3000: Internet Official Protocol Standards (novembre 2001) RFC 1122: Host Requirements (link layer, network layer and transport
layer RFC 1123: Host Requirements (application layer) RFC 1160, RFC1601: Internet Architecture Board RFC 1009: Router Requirements RFC 894: Ethernet Encapsulation RFC 2235: “Hobes Internet Timeline”, 1998 RFC 1180: A TCP/IP Tutorial RFC 1118: The Hitchhicker’s guide to the Internet RFC 0001: "Host software", 04/07/1969
-95-
TCP-IP: L'organisation (3)TCP-IP: L'organisation (3)Administration et exploitationAdministration et exploitationTCP-IP: L'organisation (3)TCP-IP: L'organisation (3)Administration et exploitationAdministration et exploitation
IANA Internet Assigned Numbers Authority http://www.iana.org/ Assignation d’identifiants uniques (ressources réseau)
adresses IP, domaines de premier niveau, objets SNMP numéros de protocoles, numéros de ports (entre 1 et 1023) (rfc 1700)
ICANN Internet Corporation for Assigned Names and Numbers http://www.icann.org/ allocation de blocs de numéros IP exploitation des serveurs autoritaires de la racine du DNS
IANA/ICANN délègue aux Regional Internet Registries l’assignation d’adresses délègue aux Network Information Center(s) la gestion des domaines de
premier niveau («.com», «.org», «.net») InterNIC (http://www.internic.net) NIC nationaux («.fr» AFNIC, www.nic.fr)
-96-
Allocation d’adresses IP (1)Allocation d’adresses IP (1)Allocation d’adresses IP (1)Allocation d’adresses IP (1)
Regional IRs APNIC: Asie - Pacifique ARIN: Amériques - Afrique (sub-saharienne) RIPE: Europe - Afrique - Moyen Orient allouent les adresses aux Local IRs
délégation d’adresses IP aux FAI locaux
-97-
Allocation d’adresses IP (2)Allocation d’adresses IP (2)Allocation d’adresses IP (2)Allocation d’adresses IP (2)
Possibilités d’adressage géographique par fournisseur (ISP)
Meilleure efficacité par ISP la topologie du réseau est plus dépendante de l’organisation
entre ISP que de l’organisation géographique Système hiérarchique distribué basé sur les
fournisseurs Règles d’allocation (RFC1466 & 2050)
Europe: 193, 194, 195, 212 Amérique du Nord, Centrale/Sud: 198, 199, 200, 201 Zone pacifique: 202, 203, 211 Autres: 192, 204, 205
-98-
RIPE NCCRIPE NCCRIPE NCCRIPE NCC
«Réseaux IP Européens» «Network Coordination Center» http://www.ripe.net/
Politique du RIPE Provider Independent (PI) address
ISPs: anciennes adresses allouées 192-193 indépendant du prestataire et pas d’obligation de re-
numéroter, mais fortement conseillé de le faire (193)
Provider Aggregatable (PA) address ISPs: depuis les adresses allouées 194-195 dépendant du prestataire et obligation de re-numéroter
Assignation et base de données RIPE
-99-
Le multicastLe multicastLe multicastLe multicast
Pourquoi et comment?
-100-
Multipoint: pour quoi faire (1)?Multipoint: pour quoi faire (1)?Multipoint: pour quoi faire (1)?Multipoint: pour quoi faire (1)?
Applications diffusées: Transfert de fichier Conférence Télévision, radio, etc. Le «push» du Web
Diminution de la consommation de bande passante
Outil de qualité de service
-101-
Multipoint: pour quoi faire (2)?Multipoint: pour quoi faire (2)?Multipoint: pour quoi faire (2)?Multipoint: pour quoi faire (2)?
Les applications de groupe «naturelles»: Conférences Edition concurrente de documents
Le multicast comme outil de QoS Codage hiérarchiques Distribution et diffusion «simulée»
-102-
Diminution de la bande Diminution de la bande passantepassanteDiminution de la bande Diminution de la bande passantepassante
S
GASPILLAGE
GASPILLAGE
GASPILLAGE
-103-
Diminution de la bande Diminution de la bande passantepassanteDiminution de la bande Diminution de la bande passantepassante
S
GESTION DE GROUPE
ROUTEURS MULTICAST
-104-
Exemple d’application de Exemple d’application de vidéo à la demandevidéo à la demandeExemple d’application de Exemple d’application de vidéo à la demandevidéo à la demande
1 2 3 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
4-6
4-6
4-6
7-9 10-12 4-6
4-6
4-6
1 2 3 4-6 7-9 10-12
12 minutes, 1 minute de temps d’attente moyen, 6 copies, nombre quelconque de clients, …mémoire nécessaire dans le terminal
-105-
IP multicastIP multicastIP multicastIP multicast
Adresses de classe D Interface de programmation simple Impact important sur le routage Reste «best effort» sur la sémantique Correspondance avec les réseaux
support Cohabitation multicast/unicast
•RFC 1112•RFC 1112
-106-
IP multicast: IGMPIP multicast: IGMPIP multicast: IGMPIP multicast: IGMP
Gestion de l’appartenance à un groupe
Portée restreinte au réseau local
Information utile au routage
Analogie avec ICMP
• IGMP: Internet Group Management Protocol• RFC 2236, 3228
• IGMP: Internet Group Management Protocol• RFC 2236, 3228
-107-
IP Multicast: routageIP Multicast: routageIP Multicast: routageIP Multicast: routage
Deux types de routeurs: unicast (standard) multicast
Algorithmes de routage spécifiques inondation arbre couvrant chemin inverse arbre central (core
based)
A
C
BD
S
NM
L
K
-108-
Routage: DVMRP (1)Routage: DVMRP (1)Routage: DVMRP (1)Routage: DVMRP (1)
Inondation Elagage des
branches inutiles Utilisation du
principe RPF (Reverse Path Forwarding)
Réponses empoisonnées
A
C
BD
S
NM
L
K
• DVMRP: Distance Vector Multicast Routing Protocol• RFC 1075
• DVMRP: Distance Vector Multicast Routing Protocol• RFC 1075
-109-
Routage: DVMRP (2)Routage: DVMRP (2)Routage: DVMRP (2)Routage: DVMRP (2)
Evaluation de la distance à la source
Message d’élagage pour éliminer les diffusions inutiles
A
C
BD
S
NM
L
K
-110-
Multicast et tunnelsMulticast et tunnelsMulticast et tunnelsMulticast et tunnels
INTERNET est unicast
Certains routeurs sont multicast
Tous les routeurs ne permettent pas ce type d’échanges
Tunnels = IP dans IP
A
S
T
B
A
BMulticast
-111-
Transport «multicast»Transport «multicast»Transport «multicast»Transport «multicast»
Problème de base Passage à l’échelle Fiabilité et contrôle
d’erreur Contrôles de
congestion/flux
Diverses solutions SRM (Scalable Reliable
Multicast) RMTP (Reliable Multicast
Transport Protocol) MFTP (Multicast File
Transfer Protocol)
Acquittements positifs ou négatifs
Qui retransmet les données?
Utilisation de codes FEC (Forward Error Correction)
-112-
SRM: Scalable Reliable SRM: Scalable Reliable MulticastMulticastSRM: Scalable Reliable SRM: Scalable Reliable MulticastMulticast
N’importe qui peut retransmettre
Les NACK sont envoyés au groupe après temporisation
Temporisateurs de retransmission
Détection des doubles
Sémantique de la fiabilité: Erreur Ordre
Ordre
Taux d’erreur
Taille du groupe
-113-
Application: MFTPApplication: MFTPApplication: MFTPApplication: MFTP
Transfert de fichier multicast fiable
Synthèse des acquittements NEGATIFS Plus ancien paquet à
retransmettre Masque binaire des
paquets unicast
Blocs de données
-114-
Le Mbone: un exempleLe Mbone: un exempleLe Mbone: un exempleLe Mbone: un exemple
http://www-mice.cs.ucl.ac.uk/multimedia/software/
-115-
Le Mbone: configurationLe Mbone: configurationLe Mbone: configurationLe Mbone: configuration
# $NetBSD: mrouted.conf,v 1.4 1996/12/29 03:30:10 mrg Exp $ # # This is the configuration file for "mrouted", an IP multicast router. # mrouted looks for it in "/etc/mrouted.conf". ################################################################# # configuration sur olympe: tunnel avec le routeur du CCR # cache_lifetime 300 pruning onphyint 132.227.74.254 disable phyint 132.227.74.1 disable phyint 134.157.251.125 disable #phyint 132.227.72.161 disabletunnel 134.157.251.125 134.157.254.126 metric 1 threshold 8 rate_limit 500#################################################################
-116-
Le Mbone: créer une session Le Mbone: créer une session (1/2)(1/2)
Le Mbone: créer une session Le Mbone: créer une session (1/2)(1/2)
-117-
Le Mbone: créer une session Le Mbone: créer une session (2/2)(2/2)
Le Mbone: créer une session Le Mbone: créer une session (2/2)(2/2)
-118-
L’évolution de IPL’évolution de IPL’évolution de IPL’évolution de IP
IP version 6 IPV6
Kubrick/Huitema
-119-
Taille de l’Internet: Taille de l’Internet: 147,344,723 hôtes 147,344,723 hôtes en janvier 2002en janvier 2002
Source: http://www.isc.org
0
10 000 000
30 000 000
50 000 000
70 000 000
janv-
93
janv-
94
janv-
95
janv-
96
janv-
97
janv-
98
janv-
99
janv-
00
90 000 000
110 000 000
janv-
01
janv-
02
150 000 000
130 000 000
-120-
Histoire d'IPv6Histoire d'IPv6Histoire d'IPv6Histoire d'IPv6
1990s: Croissance exponentielle (x2 tous les 14 mois) Risque de pénurie d'adresses
Prévision d'un épuisement de l'espace d'adressageInitialement: en 1994 !Aujourd'hui: entre 2008 et 2018
En Janvier 1996Percentage Allocated (Allocated and Assigned
Combined)Class A - 100.00%Class B - 61.95%Class C - 36.44%
-121-
1992: début des travaux a l’IETF évolution du protocole?
1994: décision IPv6 1995: premières piles IPv6 1996: création du 6-bone 1997: premiers produits industriels 1998: déploiements expérimentaux 2001: déploiements commerciaux ?
Histoire d'IPv6Histoire d'IPv6Histoire d'IPv6Histoire d'IPv6
-122-
Pourquoi un nouveau protocole IP ?Pourquoi un nouveau protocole IP ?Pourquoi un nouveau protocole IP ?Pourquoi un nouveau protocole IP ?
Une solution pour les problèmes de croissance: Actuellement la taille de l'Internet double tous les 14 mois
l'épuisement des adresses IP l'explosion de la taille des tables de routage
Cahier des charges Adresser un espace beaucoup plus grand (109 réseaux au minimum) Routage plus efficace Conserver les principes qui ont fait le succés de IP Corriger les défauts de la version actuelle Résoudre les problèmes qui vont devenir critiques (applications temps réel,
multipoint, sécurité...)
Autres motivations Accélérer le traitement du datagramme Prise en compte de nouvelles contraintes
Faciliter la QoS Routage vers le meilleur serveur d'un ensemble de serveurs en miroir
-123-
Croissance des tables de Croissance des tables de routage de l‘Internetroutage de l‘InternetCroissance des tables de Croissance des tables de routage de l‘Internetroutage de l‘Internet
http
: //w
ww
. em
ploy
ees.
org/
~tba
t es/
cidr
.hi s
t. pl o
t. ht m
l
CIDR devient contre productif
-124-
Ce qu’est IP version 6Ce qu’est IP version 6Ce qu’est IP version 6Ce qu’est IP version 6
IP v4
ICMP
IGMP
Mcast
IPsec
MobilitéRoaming
AutoConf
IP v6
ICMP v6
-125-
Caractéristiques d'IPv6Caractéristiques d'IPv6Caractéristiques d'IPv6Caractéristiques d'IPv6
Adresses Passage de 32 à 128 bits 340 282 366 920 938 463 463 374 607 431 701 211 156
Unicast, multicast, Anycast Nouveau format de datagramme Allocation de ressources
Flow spec + RSVP? Support du multicast Support de la mobilité Support de la sécurité IPSEC Support de l’autoconfiguration
-126-
0 248 16 314 19
Identification
Versiond'IP
Longueuren-tête
Type de service Longueur totale du paquet
Identification du paquet Drapeaux Décalage du fragment
Durée de vie Protocole Total de contrôle de l'en-tête
Adresse IP source
Adresse IP destinataire
Options éventuelles Bourrage
IPv4: En-têteIPv4: En-têteIPv4: En-têteIPv4: En-tête
-127-
IPv6: En-tête fixe de baseIPv6: En-tête fixe de base
0 16 314Version
d'IP (4 bits)Type de service
(8 bits)
Longueur de la charge utile (16 bits)
Etiquette de flux (20 bits)
Nombre limitede sauts (8bits)
En-tête suivant (8bits)
Adresse IP source (128 bits)
Adresse IP destinataire(128 bits)
En
-têt
e fi
xe d
e 40
oct
ets
• IPv6: Internet Protocol, Version 6• RFC 2460
• IPv6: Internet Protocol, Version 6• RFC 2460
-128-
Paquet IPv6Paquet IPv6
DonnéesEn-tête fixe de base Extension en-tête Extension en-tête
-129-
En-tête de base
Hop by hop
Destination
Routing
Fragmentation
Authentication
Security
Destination
Upper Layer
Traité par chaque routeur
Traité par chaque routeur figurant dans l'extension Routing
Liste de routers à traverser
Traité par la destination
Après ré-assemblage du paquet
Sécurise la suite du paquet
Traité uniquement par la destination
• Extensibilité du point de vue applicatif et réseau (actif)• Optimisation
IPv6: extensions d'en-têteIPv6: extensions d'en-têteIPv6: extensions d'en-têteIPv6: extensions d'en-tête
-130-
Taille des paquets IPv6Taille des paquets IPv6Taille des paquets IPv6Taille des paquets IPv6
Minimum MTU = 1280 octets (1500 recommandé) fragmentation/re-assemblage réalisé par la
couche inférieure si nécessaire Path MTU Discovery (RFC1981)
recommandé afin d’optimiser le MTU La fragmentation au niveau IPv6 est
déconseillée
-131-
Plan d‘Adressage IPv6Plan d‘Adressage IPv6Plan d‘Adressage IPv6Plan d‘Adressage IPv6
Contraintes Fléxible pour suivre l'évolution du réseau Faciliter le routage en réduisant la table de
routage Choix
Extension des types d'adresses:Mode de communicationPortée de l'adresse Pour la transition
Principe CIDR (préfixe/longueur préfixe) Représentation héxadécimale Les interfaces ont plusieurs adresses IPv6
-132-
Allocation Préfixe Fraction del‘espace d’adresse
Reserved 0000 0000 1/256Unassigned 0000 0001 1/256Reserved for NSAP Allocation 0000 001 1/128Reserved for IPX Allocation 0000 010 1/128Unassigned 0000 011 1/128Unassigned 0000 1 1/32Unassigned 0001 1/16Aggregatable Global Unicast Addresses 001 1/8Unassigned 010 1/8Unassigned 011 1/8Unassigned 100 1/8Unassigned 101 1/8Unassigned 110 1/8Unassigned 1110 1/16Unassigned 1111 0 1/32Unassigned 1111 10 1/64Unassigned 1111 110 1/128Unassigned 1111 1110 0 1/512Link-Local Unicast Addresses 1111 1110 10 1/1024Site-Local Unicast Addresses 1111 1110 11 1/1024Multicast Addresses 1111 1111 1/256
Format des adresses IPv6Format des adresses IPv6Format des adresses IPv6Format des adresses IPv6
Format Prefix Adresse 128 bits
-133-
Typologie des adresses IPv6Typologie des adresses IPv6Typologie des adresses IPv6Typologie des adresses IPv6
Loopback Link local Site local Global
6bone : 3FFE… Officielle : 200x…
Unicast Multicast Anycast
Pour la migration v4/v6 IPv4 mapped IPv4 compatible 6to4
Un hôte possède 3 adressesvoire plus si il est servi par plusieurs ISP
-134-
Format de base: 8 x 16 bits en hexa (RFC 2373) 2080:7C18:8179:A15B:54D8:6800:200C:417A
Format abrégé
2080:0:0:0:8:800:200C:417A ou
2080::8:800:200C:417A
FF01:0:0:0:0:0:0:43 ou FF01::43
FE80:0:0:0:0:0:0:0 ou FE80::
0:0:0:0:0:0:134.157.4.16 ou ::134.157.4.16
Notation des adresses IPv6Notation des adresses IPv6Notation des adresses IPv6Notation des adresses IPv6
-135-
Adresse UnicastAdresse UnicastAdresse UnicastAdresse Unicast
Adressage hiérarchique Localisation du réseau Identification de la machine dans le réseau
Interface ID:A partir de l'adresse MAC: EUI-64AléatoireAutres ...
Subnet prefix Interface ID
• EUI: Extended Unique Identifier (IEEE)• EUI: Extended Unique Identifier (IEEE)
-136-
Aggregatable Global UnicastAggregatable Global UnicastAggregatable Global UnicastAggregatable Global Unicast
001 Top Lev. Agg.ID (13 bits)
InterfaceID (64 bits)
Reserved(8bits)
Next Lev. AggID (24 bits)
TLA : Top Level Aggregator
NLA : Next Level Aggregator
SLA : Site Level Aggregator
Site Lev. Agg.ID (16 bits)
Topologiede site
Topologie publique (48 bits) Topologie privée (80 bits)
• RFC 2374, 2450• RFC 2374, 2450
-137-
Topologie d'InternetTopologie d'InternetTopologie d'InternetTopologie d'Internet
NLA
TLA
SLA
-138-
Schéma TLA 0x0001Schéma TLA 0x0001Schéma TLA 0x0001Schéma TLA 0x0001
001 Top Lev. Agg.ID (13 bits)
InterfaceID (64 bits)
NLAID (19 bits)
Site Lev. Agg.ID (16 bits)
Topologie publique (48 bits) Topologie privée (80 bits)
Sub.TLAID (13 bits)
0010 0000 0000 0001 2001:
IPv6 Prefix Range Assignment
2001:0000::/29 - 2001:01F8::/29 IANA
2001:0200::/29 - 2001:03F8::/29 APNIC
2001:0400::/29 - 2001:05F8::/29 ARIN
2001:0600::/29 - 2001:07F8::/29 RIPE NCC
2001:0800::/29 - 2001:09F8::/29 (future assignment)
2001:0A00::/29 - 2001:0BF8::/29 (future assignment)
2001:0C00::/29 - 2001:0DF8::/29 (future assignment)
2001:0E00::/29 - 2001:0FF8::/29 (future assignment)
2001:1000::/29 - 2001:11F8::/29 (future assignment)
Ex: 2001:0660::/35 Renater 2001:0688::/35 France Telecom
• RFC 2928• RFC 2928
-139-
IPv6: le multicastIPv6: le multicastIPv6: le multicastIPv6: le multicast
Adresses de multicast: Commencent par FF hex Non nécessairement permanentes (bit T transient=1) Limite de distribution (scope)
11111111 000T scope Identificateur de groupe
112 bits4 bits4 bits8 bits
1258E
NodeLinkSiteOrganizationGlobal• RFC 2375• RFC 2375
-140-
IPv6: adresses Mcast connuesIPv6: adresses Mcast connuesIPv6: adresses Mcast connuesIPv6: adresses Mcast connues
FF02:0:0:0:0:0:0:1 Tous les nœuds
FF02:0:0:0:0:0:0:2 Tous les routeurs
FF02:0:0:0:0:0:0:B Tous les agents de mobilité
FF02:0:0:0:0:0:0:D Tous les routeurs PIM
FF02:0:0:0:0:0:0:101 Tous les nœuds NTP
FF02::1:2, FF02::1:3 et FF02::1:4 Tous les agents, serveurs et relais DHCP
-141-
ICMPv6ICMPv6ICMPv6ICMPv6
Messages Neighbor Discovery Protocol (NDP) ARP + ICMP Router Discovery + ICMP Redirect +
améliorations Permet l’autoconfiguration des adresses et du MTU Défini pour tous les types de réseaux
point-a-point, diffusion, maillé, asymétrique Messages d’erreur
Dest. Unreach., Packet too big, Time exceeded, Param. problem
Messages d’information Echo Request/Reply Group Membership Query/Report/Reduction
• RFC 2463• RFC 2463
-142-
Fonctions remplies par NDPFonctions remplies par NDPFonctions remplies par NDPFonctions remplies par NDP
Router Discovery Prefix Discovery Parameter Discovery (MTU, hop limit) Address Resolution (IPv6 to L2)
Next-hop Determination Neighbor Unreachability Detection Duplicate Address Detection Redirect
Message ICMP de sollicitation de voisinage FF02:0:0:0:0:1:FF00:0/104 chaque machine écoute le groupe correspondant à
chacune de ses adresses réponse si reconnaissance
Router solicitation
Router
advertisement.
(MTU-Hop…)
Neighb. Sollic.
Neighb. Advert.
Messages NDP
Redirect
• RFC 2461, 3122• RFC 2461, 3122
-143-
IPv6: auto-configurationIPv6: auto-configurationIPv6: auto-configurationIPv6: auto-configuration
Création de l’adresse lien-local FE80:0:0:0:xxxx:xxxx:xxxx:xxxx EUI-64 (dérivé de l’adresse MAC par ex: yyyyyyFFFEyyyyyy) Vérification de l’unicité de l’adresse sur le lien
Identification des routeurs présents sur le lien Auto-configuration sans état (stateless)
Préfixes fournis par les routeurs sollicitation de «tous les routeurs» et réponse par annonce des
routeurs à «tous les nœuds» Auto-configuration avec état (statefull)
adresses gérées avec durée de vie, fournies par un serveur (DHCP, éventuellement via un relais)
mise à jour du DNS (problème !)
• RFC 2462, 3041• RFC 2462, 3041
-144-
Foreign agent D
Home agent B
IPv4 et la mobilitéIPv4 et la mobilité
A
HOME NETWORK
FOREIGN NETWORK
@IPC/O ADDRESS (TEMPORAIRE)
Mobile C@IPH
Mobile C@IPH
Mobile C@IPH
ADVERTISEMENT
Registration
TUNNEL
ROUTAGETRIANGULAIRE !
-145-
Foreign agent D
Home agent B
IPv6 et la mobilitéIPv6 et la mobilité
A
HOME NETWORK
FOREIGN NETWORK
Mobile C@IPH
Mobile C@IPT
Mobile C@IPH
Registration
TUNNEL
ASSOCIATION @IPT - @IPH
SUPPRESSION DUROUTAGE TRIANGULAIRE
-146-
IPv6IPv4
IPv6: IPv6: Transition et interoperabilitéTransition et interoperabilitéIPv6: IPv6: Transition et interoperabilitéTransition et interoperabilité
OK
Dual stacking
IPv4
IPv4 IPv6
Pas de jour J Cohabitation IPv4/IPv6
• RFC 2185, 2473, 2766, 2893, 3053, 3056, 3142
• RFC 2185, 2473, 2766, 2893, 3053, 3056, 3142
-147-
IPv4-mapped IPv6 Créée à la volée par:
le DNS, quand une application IPv6 demande l'adresse IPv6 d'une machine uniquement IPv4 (Pas d'enregistrement dans le DNS)
la machine IPv6, quand un paquet IPv4 a pour destinataire une des ses applications IPv6
Tous les échanges utilisent des paquets IPv4
IPv6: IPv6: Transition et interoperabilitéTransition et interoperabilitéIPv6: IPv6: Transition et interoperabilitéTransition et interoperabilité
0000 . . . . . . . . . . . . 0000 FFFF Adresse IPv4
Exemple ::FFFF:192.31.32.46
80 16 32
-148-
TunnelIPv4
Tunnels configurés
Pour traverser des routeurs IPv4
Encapsulation des paquets IPv6
dans des paquets IPv4
IPv6: IPv6: Transition et interoperabilitéTransition et interoperabilitéIPv6: IPv6: Transition et interoperabilitéTransition et interoperabilité
IPv6
IPv4
R2IPv4
R3IPv4
SIPv6
R1IPv4/v6
DIpv6
R4IPv4/v6
IPv6
Communication de S vers D
-149-
Adresse IPv4 (32 bits)
6to4 Interconnecter des nuages IPv6 via des nuages IPv4 avec un minimum d'effort Evite la configuration de tunnel Passe à l'échelle Encapsulation des paquets IPv6 dans des paquets IPv4 (protocole: 41) TLA: 0x2002/16
IPv6: IPv6: Transition et interoperabilitéTransition et interoperabilitéIPv6: IPv6: Transition et interoperabilitéTransition et interoperabilité
001 0000000000010Interface
ID (64 bits)Site Lev. Agg.
ID (16 bits)
2002:
• RFC 3056• RFC 3056
-150-
6to4 (suite)
IPv6: IPv6: Transition et interoperabilitéTransition et interoperabilitéIPv6: IPv6: Transition et interoperabilitéTransition et interoperabilité
Site IPv6 A2002:c001:0203::/48
Router6to4
192.1.2.3
Internetou
intranetIPv4
Internetou
intranetIPv4
Site IPv6 B2002:84fe:fdfc::/48
Router6to4
132.254.253.252
Le préfixe du site est obtenue de l'adresse IPv4 du routeur de bordure
Chaque site crée dans son DNS des enregistrements commençant par son prefixe 6to4:
• Site A: 2002:c001:0203::/48
• Site B: 2002:84fe:fdfc::/48
-151-
6to4 (fin)
IPv6: IPv6: Transition et interoperabilitéTransition et interoperabilitéIPv6: IPv6: Transition et interoperabilitéTransition et interoperabilité
Site IPv6 A2002:c001:0203::/48
Router6to4
192.1.2.3
Internetou
intranetIPv4
Internetou
intranetIPv4
Site IPv6 B2002:84fe:fdfc::/48
Router6to4
132.254.253.252
Le site B crée dans son DNS des enregistrements commençant par:
son préfixe 6to4: 2002:c001:0203::/48
et son préfixe IPv6 natif: 2001:0600::/48
Le préfixe 2002/16 ne doit jamais être annoncé à l'extérieur d'un site 6to4
Site IPv6 NATIF
2001:0600::/48
-152-
IPv4
IPv4
IPv6: IPv6: Transition et interoperabilitéTransition et interoperabilitéIPv6: IPv6: Transition et interoperabilitéTransition et interoperabilité
IPv6IPv6
NAT-PT, NATPT-PT
Principe identique au NAT IPv4
Traduction entre adresses IPv6 et adresses IPv4 ROUTABLES
Traduction protocolaire entre IPv4 et IPv6
Router NAT-PT
•Network Address Translation - Protocol translation •RFC 2765, 2766
•Network Address Translation - Protocol translation •RFC 2765, 2766
-153-
IPv4
IPv4
IPv6: IPv6: Transition et interoperabilitéTransition et interoperabilitéIPv6: IPv6: Transition et interoperabilitéTransition et interoperabilité
IPv6IPv6
NAT-PT, NATPT-PT (suite)
Dans le sens IPv4->IPv6 les options IPv4 sont ignorées
Dans le sens IPv6->IPv4 les extensions IPv6 sont ignorées
Router NAT-PT
En-tête IPv6
En-tête couche
transport
DONNEES
En-tête IPv4
En-tête couche
transport
DONNEES
En-tête fragmentation
éventuel
-154-
IPv4
IPv4
IPv6: IPv6: Transition et interoperabilitéTransition et interoperabilitéIPv6: IPv6: Transition et interoperabilitéTransition et interoperabilité
IPv6IPv6
NAT-PT et le DNS
Router NAT-PT+
DNS-ALG+
Pool adresses IPv4:120.130.26/24
HôteIPv6 B
HôteIPv6 A
DNS
HôteIPv4 C
DNS
FEDC:BA98::7654:3210
FEDC:BA98::7654:3211
132.146.243.30
IPv6A
IPv6 AFEDC:BA98::7654:3210
IPv6 A120.130.26.12
IPv6 A, 120.130.26.12
• ALG: Application Layer gateway • ALG: Application Layer gateway
-155-
IPv6: IPv6: SynthèseSynthèseIPv6: IPv6: SynthèseSynthèse
80% des ISP veulent IPv6 La configuration pour les besoin des clients représentent
45% des coûts supportés les ISP veulent beaucoup de clients
cela implique beaucoup de travail de configuration
Les entreprises avec des application "high-tech" Téléphonie serveur vidéo serveur MP3 etc.
Nouveaux marchés Home networking
Suppression du NAT: le plug-and-play est essentiel
-156-
Le 6-boneLe 6-boneLe 6-boneLe 6-bone
• 641 sites sur 49 pays
• IETF: WG Ngtrans
• http://www.6bone.net
-157-
IPv6: supportIPv6: supportIPv6: supportIPv6: support
Sun Solaris http://wwws.sun.com/software/solaris/ipv6/ - http://www.optix.org/~dxy/solaris/ipv6/
6Wind http://wwws.6wind.com/
FreeBSD 4. http://www.freebsd-fr.org/projects/projects.html#kame
NetBSD http://www.netbsd.org/Documentation/network/ipv6/
Linux 2.2 http://www.bieringer.de/linux/IPv6/
IBM AIX http://www-3.ibm.com/software/is/mp/s390/ipv6/
Hitachi http://www.internetworking.hitachi.com/news_and_events-eventid-20020325.shtml Nortel http://www.nortelnetworks.com/corporate/technology/ipv6/ Cisco http://www.cisco.com/ipv6/ Trumpet http://www.trumpet.com.au/ipv6.htm Windows 2000, XP http://research.microsoft.com/msripv6/ ….
-158-
IPv6: déploiement commercialIPv6: déploiement commercialIPv6: déploiement commercialIPv6: déploiement commercial
6TAP (peering) situé au startap à Chicago Autres points de peering (Tokyo,
Allemagne, Amsterdam, USA…) 6REN initiative pour l’émergence d ’ISP
IPv6 Smartone à Hong-Kong 1er ISP mobile IPv6 6INIT en Europe (4,2 M€) Nokia sur GPRS BT NTT
-159-
IPv6 infosIPv6 infosIPv6 infosIPv6 infos
Pages web: http://playground.sun.com/ipng/ http://www-6bone.lbl.gov/6bone/
Mailing lists: IPv6 working group
[email protected] 6bone management
Livres IPv6, the new internet protocol
Christian Huitema, Prentice Hall Cizault, G. (1998). Ed.: O'Reilly&Associates.
IPv6: Théorie et Pratique
-160-
TCP-IPTCP-IPTCP-IPTCP-IP
2éme journée:
Routage, Application, Sécurité
-161-
TCP - IPTCP - IPTCP - IPTCP - IP
Le routage
-162-
Objectif du routageObjectif du routage
• Choisir le chemin OPTIMAL vers le
destinataire d'un paquet
Nécessité d'une fonction de coût !!
-163-
Tâches à accomplir pour le Tâches à accomplir pour le routageroutage
"Aiguillage" des paquets (packet forwarding)
Accompli par les routeurs
Mise à jour des tables de routage Accomplie par les routeurs
routage dynamique/adaptatif Manuelle
routage statique
-164-
Différents types de routageDifférents types de routageDifférents types de routageDifférents types de routage
Stations route add|delete @IP_destination @IP_router metric route default @IP_destination metric
Routeurs ip route @IP_destination netmask @IP_router metric
Routage statique
-165-
Différents types de routageDifférents types de routageDifférents types de routageDifférents types de routage
Échange périodique des tables de routage
Mise à jour automatique des tables de routage
Routage dynamique/adaptatif
-166-
Principe du routagePrincipe du routage Toutes les machines participent au
routage Passerelle:
connexion physique de plusieurs réseaux transit des datagrammes d'un réseau à l'autre connaissance de la topologie de l'interconnexion
-167-
•Routage en fonction du réseau destination réduction de la taille des tables de routage
Référence unique du réseau dans le monde
Référence unique de la machine dans le réseau
Adresse IP
Utilisée pour le routage
•Table de routage:- ensemble de paires (R, P)
R: adresse IP du réseau destinationP: adresse IP de la passerelle suivante sur le chemin qui mène à R
Seules les passerelles directement accessibles sur un réseau physique donné figurent dans la table
Principe du routagePrincipe du routagePrincipe du routagePrincipe du routage
-168-
A B
P2
C
E
F
D
P1 P3
G
Réseau 20.0.0.0
Réseau 40.0.0.0
Réseau 50.0.0.0
10.0.0.2
20.0.0.2 20.0.0.4
30.0.0.4
40.0.0.7
30.0.0.7
50.0.0.7Réseau 10.0.0.0
Réseau 30.0.0.0
Réseau Route vers destination cette destination
10.0.0.0 20.0.0.220.0.0.0 Remise directe30.0.0.0 Remise directe40.0.0.0 30.0.0.750.0.0.0 30.0.0.7
Table de routage de la passerelle P2
Principe du routagePrincipe du routagePrincipe du routagePrincipe du routage
Table de routage
-169-
A B
P2
C
E
F
D
P1 P3
G
Réseau 20.0.0.0
Réseau 40.0.0.0
Réseau 50.0.0.0
10.0.0.2
20.0.0.2 20.0.0.4
30.0.0.4
40.0.0.7
30.0.0.7
50.0.0.7Réseau 10.0.0.0
Réseau 30.0.0.0
Réseau Route vers destination cette destination
10.0.0.0 20.0.0.220.0.0.0 Remise directe30.0.0.0 Remise directe40.0.0.0 30.0.0.750.0.0.0 30.0.0.7AUTRE 20.0.0.2
Table de routage de la passerelle P2
Principe du routagePrincipe du routagePrincipe du routagePrincipe du routage
Route par défaut réduction de la taille des tables de routage autonomie des sites
Passerelle par défaut
-170-
hera:[69] netstat -rRouting tablesDestination Gateway • • •// • • • Interfaceocean-net masi le1default cisco-upmc le1• • •litp4-net kawarismi le1ibp-net hera-gw le1upmc-net cisco-upmc le1olympe-net hera le0rxf-net kawarismi le1
hera:[68] netstat -rnRouting tablesDestination Gateway • • •// • • • Interface132.227.64.0 132.227.60.23 le1default 132.227.60.3 le1• • •132.227.84.0 132.227.60.18 le1132.227.60.0 132.227.60.32 le1134.157.0.0 132.227.60.3 le1132.227.61.0 132.227.61.135 le0132.227.62.0 132.227.60.18 le1
Principe du routagePrincipe du routagePrincipe du routagePrincipe du routage
Table de routage sur une machine UNIX hera:[67] ifconfig -au le0: flags=63<UP,BROADCAST,NOTRAILERS,RUNNING> inet 132.227.61.135 netmask ffffff00 broadcast 132.227.61.255 le1: flags=63<UP,BROADCAST,NOTRAILERS,RUNNING> inet 132.227.60.32 netmask ffffff00 broadcast 132.227.60.255
-171-
TCP - IPTCP - IPTCP - IPTCP - IP
Architecture du routage
-172-
Passerelle centrale: Connaissance de TOUTES les destinations possibles
Pas de route par défaut Destruction des datagrammes en cas de destination
inconnue et envoi de message ICMP destination inaccessible
Communication avec les autres passerelles centrales
Système central
Réseau fédérateur ARPANET
. . . .
Passerelles centralesCore gateways
SITE 1 SITE 2 SITE 3 SITE N
Le système de passerelles Le système de passerelles centralescentralesLe système de passerelles Le système de passerelles centralescentrales
-173-
. . . .
Réseau fédérateurARPANET
Systèmeautonome
1
Systèmeautonome
2
Systèmeautonome
3
RL N
RL N1
RL N2
RL N3
P1 P2
P3
Systèmeautonome
N
Passerelles internes
Système central
Système autonomeSystème autonomeSystème autonomeSystème autonome
Passerelle externe (exterior gateway):
Collecte et propagation des informations de routage du système autonome de/vers les systèmes autonomes voisins
-174-
Système autonome:Système autonome:"Diviser pour mieux régner""Diviser pour mieux régner"Système autonome:Système autonome:"Diviser pour mieux régner""Diviser pour mieux régner"
Groupe de passerelles Identification par un numéro unique Une seule autorité administrative pour le
routage Libre choix de l'architecture interne de
routage Obligation d'échanges des informations de
routage avec les passerelles centrales Obligation de connexité
-175-
TCP - IPTCP - IPTCP - IPTCP - IP
Les protocoles d’échange d’information de routage
-176-
Les protocoles de routageLes protocoles de routageLes protocoles de routageLes protocoles de routage
PROTOCOLE VECTEUR ETAT DE LIEN INTRA SA INTER SAEGP X XBGP CHEMIN XIDRP (0SI) CHEMIN (basé sur BGP) XRIP X XRIP 2 X XHello X XIGRP (Cisco) X XEIGRP (Cisco) X XOSPF X X
-177-
Classifications des protocoles Classifications des protocoles de routagede routageClassifications des protocoles Classifications des protocoles de routagede routage
Algorithme à vecteur de distance (Bellman-Ford)
Algorithme à état de lien
recherche du chemin optimal
-178-
Classifications des protocoles Classifications des protocoles de routagede routageClassifications des protocoles Classifications des protocoles de routagede routage
Algorithme à vecteur de distance (Bellman-Ford, 1957) Mal adapté aux changements rapides Echange de messages longs:
taille des messages proportionnelle nombre total de réseaux de l'interconnexion
Algorithme distribué: participation nécessaire de toutes les passerelles
-179-
Classifications des protocoles Classifications des protocoles de routagede routageClassifications des protocoles Classifications des protocoles de routagede routage
Algorithme à vecteur de distance
-180-
R1 0 directe
Destination Nb de sauts Route
R1 0 directeR3 0 directeR5 7 Passerelle MR18 4 Passerelle NR25 5 Passerelle KR31 1 Passerelle RR43 1 Passerelle K
Destination Nb de sauts
R1 3R5 4R18 3R22 3R25 3R31 3R43 4
Table de routage d'une passerelle P Vecteur émis par la passerelle K
Destination Nb de sauts Route
Mise à jour de la table de routage de la passerelle P
Classifications des protocoles Classifications des protocoles de routagede routageClassifications des protocoles Classifications des protocoles de routagede routage
Algorithme à vecteur de distance
R3 0 directeR5 5 Passerelle KR18 4 Passerelle NR22 4 Passerelle KR25 4 Passerelle KR31 1 Passerelle RR43 5 Passerelle K
-181-
Classifications des protocoles Classifications des protocoles de routagede routageClassifications des protocoles Classifications des protocoles de routagede routage
Algorithme à état de lien (SPF) Chaque passerelle connaît la topologie complète Surveillance/propagation périodique de l'état de ses
liens Recalcul des routes après changement de l'état
d'un lien Calcul des routes effectué de façon indépendante Convergence rapide de l'algorithme Taille des messages d'état indépendante du
nombre de réseaux de l'interconnexion
-182-
EGPEGPEGPEGP
Dialogue entre systèmes autonomes
Algorithme à vecteur de distance
Encore largement utilisé aujourd'hui
• EGP: Exterior Gateway Protocol • EGP: Exterior Gateway Protocol
-183-
Contraintes sur la diffusion des
tables de routages
Règle de "la restriction de la tierce partie"
EGPEGPEGPEGP
Voisin EGP choix effectué par les
administrateurs pas de notion de proximité
géographique
-184-
EGPEGPEGPEGP
Voisin: un exemple
SA3SA1
SA2
-185-
Limitations structurelles Aucune interprétation possible des distances
impossibilité de mentionner plusieurs chemins limite la topologie à une structure d'arbre pas d'équilibrage de charge sur plusieurs passerelles
Limitations techniques fragmentation/ré-assemblage des message
contenant les vecteurs
EGPEGPEGPEGP
N1, 132132=132?
-186-
BGPBGPBGPBGP
Successeur d'EGP Déploiement depuis le printemps 94 Topologie maillée Concept de vecteur de chemins Prévention des boucles RFC 1654, 1655
• BGP: Border Gateway Protocol • BGP: Border Gateway Protocol
-187-
K C
D
F
BA
H
I
G
E
J
BGP: vecteurs de cheminsBGP: vecteurs de cheminsBGP: vecteurs de cheminsBGP: vecteurs de chemins
Reçu par A pour aller à D de K: KCD de B: BCD de H: HABCD de J: JABCD
-188-
BGP: routage stratégiqueBGP: routage stratégiqueBGP: routage stratégiqueBGP: routage stratégique
Considérations:
Economiques
Politiques
Sécuritaires
-189-
BGP
Table deroutage
Stratégie
Routeur BGP
BGP: routage stratégiqueBGP: routage stratégiqueBGP: routage stratégiqueBGP: routage stratégique
Stratégie Paramétrage manuel Indépendante de
BGP S t r a t é g i e
-190-
BGP: routage stratégiqueBGP: routage stratégiqueBGP: routage stratégiqueBGP: routage stratégique
Exemples de stratégies: Ne pas traverser un système autonome de
FAI Ne jamais mettre l’Irak sur un chemin
commençant par le Pentagone Le trafic entrant ou sortant de CEGETEL ne
doit pas transiter par Bouygues Telecom Ne passer par le Luxembourg que si il n’y a
pas d’autre possibilité
-191-
BGP: versionsBGP: versionsBGP: versionsBGP: versions
BGP2 version de base
BGP4 Intégration du CIDR (Classless Inter Domain
Routing)Résumés de routes --> réduction de la taille des tables
de routage
-192-
Implémentation Au dessus de TCP (port 179) Protocole plus simple
les problèmes d'erreur de transmission sont gérés par TCP
Mise à jour incrémentale des tables de routage très faible débit nécessaire
Perte de précision sur l'état des routeurs Ajout de sondes
BGP: ImplémentationBGP: ImplémentationBGP: ImplémentationBGP: Implémentation
-193-
RIPRIPRIPRIP
Algorithme à vecteur de distance Pour site homogène ou de taille modérée Inspiré du code de "routed" Diffusion des tables toutes les 30 s Durée de validité d'une route: 180 s Durée de diffusion d'une route invalide: 120 s Port UDP 520 RFC 1058
• RIP: Routing Information Protocol • RIP: Routing Information Protocol
-194-
• • • dir. 1
C 12D 11C 12
Distance RouteD 1 directeB 2 DC 3 BA 3 B
Temps
A B
C
D
1 11
1
11
10
1
1
10
1
réseau cible
Xpanne
RIPRIPRIPRIP
Problème de convergence lente
D dir. 1B - C B 3A B 3
dir. 1C 4B 5B 5
dir. 1C 5B 6B 6
dir. 1C 6B 7B 7
• • • dir. 1C 9B 10B 10
dir. 1
C 10B 11B 11
dir. 1
C 11B 12B 12
-195-
Extensions de RIPExtensions de RIPExtensions de RIPExtensions de RIP IGRP (Cisco)
Plus de limites à 15 nœuds Plusieurs chemins possibles Meilleure mise à jour des tables de routage Métrique composite
délai, bande passante, fiabilité, charge Moins de charge sur le réseau
Diffusion des tables toutes les 90 s
EIGRP (Cisco) un protocole à vecteur de distance à la mode état
de lien !!
• IGRP: Interior Gateway Routing Protocol • EIGRP: Enhanced Interior Gateway Routing Protocol
• IGRP: Interior Gateway Routing Protocol • EIGRP: Enhanced Interior Gateway Routing Protocol
-196-
Extensions de RIPExtensions de RIPExtensions de RIPExtensions de RIP
RIP 2 Prise en compte des netmasks Possibilité d’authentification des routeurs pas encouragé par l'IETF RFC 2453
-197-
OSPFOSPFOSPFOSPF
Pour site hétérogène et/ou de grande taille Routage par type de service Equilibrage de charge Authentification Reconnaît une structure des réseaux en régions Prise en compte des réseau à accès multiples Mise à jour de l'état des liens par inondation Topologie de réseau virtuelle RFC 2178 (OSPF2)
•OSPF: Open Shortest Path First•OSPF: Open Shortest Path First
-198-
RT7
RT2RT6
RT5
RT3
RT1 RT2
RT1
RT3 RT4
RT5 RT6
N2
RT4N2
RT7
N3
N3
Point-à-point Réseau à accès multiples Stub
OSPFOSPFOSPFOSPF Base de donnée topologique
-199-
RT1
RT2
RT4 RT5
RT3 RT6
N4
N3
N1
N2
N12 N13 N143
1
1 88 6
8 88
7
68 6
7
1
2
31
RT9
RT12 RT8
RT7
RT10RT11
H1
N9
N10
N11
N8
N7
N6
N12
N156 2
3
15
132
110
2
1
1
4
9
1
OSPFOSPFOSPFOSPF
Exemple de système autonome
-200-
N13
6
RT1
RT2
RT4
RT3 RT6
N3
N1
N2
N12 N143
1 1 8
8
8 8 8
76
8
6
1
2
3
1
RT5
N4RT9
RT12RT8
RT7
RT10H1
N9
N10
N11
N8
N7
N6
N12
N15
7
23
1 5
121
102
1
14
9
3
RT111
6
OSPFOSPFOSPFOSPF
BD topologique
-201-
N7
RT9
RT7
RT10H1
N9
N11
N8
N12
N15
23
1
10 2
4
9
31
N6
RT10
RT11
N10
RT6
7
RT1
RT2
RT4
RT3
N4
N3
N12 N148 8 8
6
6
1
RT5
2
3
3
N1
N2
N13
OSPFOSPFOSPFOSPF
Arbre du plus court chemin
-202-
OSPFOSPFOSPFOSPF
Notion de région groupe de réseaux contigus et de machines topologie invisible autonomie protection réduction globale du trafic dû au routage épine dorsale inter-région(backbone)
-203-
RT1
RT2
RT4 RT5
RT3 RT6
N4
N3
N1
N2
N12 N13 N143
1
1 88 6
8 88
7
68 6
7
1
2
31
RT9
RT12 RT8
RT7
RT10RT11
H1
N9
N10
N11
N8
N7
N6
N12
N156 2
3
15
132
110
2
1
1
4
9
1Région 1
Région 2Région 3
OSPFOSPFOSPFOSPF
Configuration en régions
-204-
OSPFOSPFOSPFOSPF
Classification des routeurs
Routeur interne Routeur de limite de région Routeur d'épine dorsal Routeur de frontière de système autonome
-205-
RT1
RT2
RT4
RT3
N4
N3
N1
N2
3
1 1
1
2
3
1
RT5RT7
Ia, Ib
N6
N7N8
N9-N11, H1
8 14
2215
19
18
26
RT5
RT7
Ia, Ib
N6
N7N8
N9-N11, H1
19
1820
16
15
20
14
N12 N13 N14N12
N158 8
82
9
RT5RT7
OSPFOSPFOSPFOSPF
BD topologique de la région 1
-206-
Lien virtuel
mécanisme d'abstraction de la topologie
utilisable entre routeurs de l'épine dorsale
contrôle et amélioration des routes par l'administrateur
RT4
RT3 RT6 RT7
RT10
N12 N13 N14
N12
8
86
8 8 8
76
8
6
7
62
5
2
9
3
RT11
RT5
5
7
N15N6
N7N8
N6
N7
N8
N9-N11, H1
N7
N8
N6
N1
N2
N3
N4
N1
N2
N3
N4
441
3
4
41
2
15
4
1
5
3
1
7
2
3
Liaison virtuelle
111
Liai
son
virt
uelle
OSPFOSPFOSPFOSPF
-207-
Authentification
Mot de passe sur tous les messagesAutres mécanismes dans le futur
Par régionPar réseau
Type Significationd'authentification
0 Pas d'authentification
1 Mot de passe
Autres Réservés pour
attribution par l'IANA
OSPFOSPFOSPFOSPF
-208-
Encore des protocoles de Encore des protocoles de routage…..routage…..Encore des protocoles de Encore des protocoles de routage…..routage…..
RIPng for IPv6 (RFC 2080)
OSPF for IPv6 (RFC 2740
RIP to Support Demand Circuits (RFC 1582, 2091)
OSPF to Support Demand Circuits (RFC 1793
-209-
TCP-IPTCP-IPTCP-IPTCP-IP
Programmation des applications réparties
-210-
TLITLITLITLI
Orientation bloc de données et non plus flot
Pas aussi largement utilisé que les sockets
-211-
Les socketsLes socketsLes socketsLes sockets
Structure d’interface équivalent à un canal d’E/S (fichier)
mode «sûr» (SOCK_STREAM) mode «au mieux» (SOCK_DGRAM) famille de protocole
TCP/IP, X25, ISO, XNS, etc.
-212-
Les SocketsLes Sockets mode connectémode connecté
socket ()
bind ()
listen ()
accept ()
read ()
write ()
socket ()
connect ()
read ()
write ()
Serveur
Client
Etablissement connexion
requête
réponsetraitement
-213-
Les SocketsLes Sockets mode non connectémode non connecté
socket ()
bind ()
recvfrom ()
sendto ()
socket ()
bind ()
recvfrom ()
sendto ()
Client
requête
réponse
Serveur
traitement
-214-
struct sockaddr {u_short sa_family; /* adress family: AF_xxx value */char sa_data [14]; /* up to 14 bytes of protocol-specific address */
};
AF_INETAF_NSAF_X25....
Adresse sur 14 octets maximum
Les sockets et les adressesLes sockets et les adressesFormat généralFormat généralLes sockets et les adressesLes sockets et les adressesFormat généralFormat général
-215-
struct in_addr {u_long s_addr; /* 32-bit netid/hostid */
};
struct sockaddr_in {short sin_family; /* AF_INET */u_short sin_port; /* 16-bit port number */struct in_addr sin_addr; /* 32-bit netid/hostid */char sin_zero[8]; /* unused */
};
Les sockets et les adresses IPv4Les sockets et les adresses IPv4Les sockets et les adresses IPv4Les sockets et les adresses IPv4
2 2 4 8 octets
-216-
struct in6_addr {
uint8_t s6_addr[16]; /* IPv6 address */
};
struct sockaddr_in6 {
sa_family_t sin6_family; /* AF_INET6 */
in_port_t sin6_port; /* transport layer port # */
uint32_t sin6_flowinfo; /* IPv6 traffic class & flow info */
struct in6_addr sin6_addr; /* IPv6 address */
uint32_t sin6_scope_id; /* set of interfaces for a scope */
};
Les sockets et les adresses IPv6Les sockets et les adresses IPv6Les sockets et les adresses IPv6Les sockets et les adresses IPv6
2 2 4 16 4octets
-217-
SOCK_STREAMSOCK_DGRAMSOCK_RAW
TCPUDPICMP
AF_INETAF_NSAF_X25....
Les socketsLes socketsAppels systèmeAppels systèmeLes socketsLes socketsAppels systèmeAppels système
Créer int socket (int famille, int type, int protocole);
-218-
• Nommerint bind (int sockfd, struct sockaddr *mon_adresse, int
lgr_adresse);
• Dimensionner la file d’attenteint listen (int sockfd, int lgr_file);
• Se connecterint connect (int sockfd, struct sockaddr *adresse_serveur, int
lgr_adresse);
• Accepter une connexionint accept (int sockfd, struct sockaddr *adresse_client, int
*lgr_adresse);
Les socketsLes socketsAppels systèmeAppels systèmeLes socketsLes socketsAppels systèmeAppels système
-219-
Accepter une connexion
Traiter la requête
Accepter une connexion
Déléguer le traitementde la requête
Traiter la requête
Les socketsLes socketsserveur: séquentiel vs concurrentserveur: séquentiel vs concurrentLes socketsLes socketsserveur: séquentiel vs concurrentserveur: séquentiel vs concurrent
-220-
S
Y
S
T
E
M
E...
...
ports dédiés
portsutilisateurs
ftp
http
S
Y
S
T
E
M
E..
...
.
ports dédiés
portsutilisateurs
telnetftp
http
Machine du Serveur Machine du Client
telnet
Les SocketsLes Socketsvues du système vues du système Les SocketsLes Socketsvues du système vues du système
-221-
S
Y
S
T
E
M
E...
...
ports dédiés
portsutilisateurs
ftp
http
S
Y
S
T
E
M
E..
...
.
ports dédiés
portsutilisateurs
telnetftp
http
Machine du Serveur
Machine du Client
SEc=socket (...)
STr=socket (...)
telnet
STr
SEc
Les SocketsLes Socketsvues du système vues du système Les SocketsLes Socketsvues du système vues du système
-222-
S
Y
S
T
E
M
E...
...
ports dédiés
portsutilisateurs
ftp
http
S
Y
S
T
E
M
E..
...
.
ports dédiés
portsutilisateurs
telnetftp
http
Machine du Serveur Machine du Client
SEc=socket (...)
bind (SEc, @)listen (...) STr=socket (...)
telnet
STr
SEc
@
Les SocketsLes Socketsvues du système vues du système Les SocketsLes Socketsvues du système vues du système
-223-
S
Y
S
T
E
M
E...
...
ports dédiés
portsutilisateurs
ftp
http
S
Y
S
T
E
M
E..
...
.
ports dédiés
portsutilisateurs
telnetftp
http
Machine du Serveur Machine du Client
SEc=socket (...)
bind (SEc, @)listen (...)
connect (STr,@)
STr=socket (...)
STr
SEc
@
Les SocketsLes Socketsvues du système vues du système Les SocketsLes Socketsvues du système vues du système
-224-
S
Y
S
T
E
M
E...
...
ports dédiés
portsutilisateurs
ftp
http
S
Y
S
T
E
M
E..
...
.
ports dédiés
portsutilisateurs
telnetftp
httpSEc=socket (...)
bind (SEc, @)listen (...)
STr=accept (...) connect (STr,@)
STr=socket (...)
telnet
STrSTr
SEc
@
Machine du Serveur Machine du Client
Les SocketsLes Socketsvues du système vues du système Les SocketsLes Socketsvues du système vues du système
-225-
S
Y
S
T
E
M
E...
...
ports dédiés
portsutilisateurs
ftp
http
S
Y
S
T
E
M
E..
...
.
ports dédiés
portsutilisateurs
telnetftp
httpSEc=socket (...)
bind (SEc, @)listen (...)
STr=accept (...)
fork (...)
connect (STr,@)
STr=socket (...)
telnet
STrSTr
SEc
@
STr
SEc
Père
Fils
Machine du Serveur Machine du Client
Les SocketsLes Socketsvues du système vues du système Les SocketsLes Socketsvues du système vues du système
-226-
S
Y
S
T
E
M
E...
...
ports dédiés
portsutilisateurs
ftp
http
S
Y
S
T
E
M
E..
...
.
ports dédiés
portsutilisateurs
telnetftp
httpSEc=socket (...)
bind (SEc, @)listen (...)
STr=accept (...)
fork (...)
close(STr)close(SEc)
Père Fils
connect (STr,@)
STr=socket (...)
telnet
STr
SEc
@
STr
Père
Fils
Machine du Serveur Machine du Client
Les SocketsLes Socketsvues du système vues du système Les SocketsLes Socketsvues du système vues du système
-227-
S
Y
S
T
E
M
E...
...
ports dédiés
portsutilisateurs
ftp
http
S
Y
S
T
E
M
E..
...
.
ports dédiés
portsutilisateurs
telnetftp
httpSEc=socket (...)
bind (SEc, @)listen (...)
STr=accept (...)
fork (...)
close(STr)close(SEc)
Père Fils
connect (STr,@)
STr=socket (...)
read(STr)
write (STr)
telnet
STr
SEc
@
STr
Père
Fils
Machine du Serveur Machine du Client
Les SocketsLes Socketsvues du système vues du système Les SocketsLes Socketsvues du système vues du système
-228-
TCP - IPTCP - IPTCP - IPTCP - IP
Les applications
-229-
Applications: DNSApplications: DNSApplications: DNSApplications: DNS
Des noms, pourquoi faire ?
Un système de noms, pourquoi ?
-230-
Applications: DNSApplications: DNSApplications: DNSApplications: DNS
Règles du DNS (RFC 1034, 1035):
• Schéma de nommage
• Gestion des noms
• Déploiement et mise en œuvre
• Utilisation
• Optimisation des performances
-231-
COM EDU MIL ORG UK FRCA
...
LIP6
Applications: DNSApplications: DNSApplications: DNSApplications: DNS
Organisation hiérarchique (1984)
Syntaxe
Schéma de nommage
GOVINTNETSTORE EU
générique géographique
AERO BIZ COOP INFO MUSEUM NAME PRO
-232-
Applications: DNSApplications: DNSApplications: DNSApplications: DNS
Délégation d’autorité par domaine
Network Information Center (NIC)
Gestion des noms
COM EDU MIL ORG UK FRCA
...
LIP6
GOVINTNETSTORE ...
générique géographique
AERO: Société Internationale de Télécommunications Aéronautiques
BIZ: JVTeam
COOP: National Cooperative Business Association
INFO: Afilias
MUSEUM: Museum Domain Management Association
NAME: Global Name Registry
PRO: RegistryPro
16/11/2000
EU
-233-
ORG UK FRCA...
LIP6
Applications: DNSApplications: DNSApplications: DNSApplications: DNS
STORE EU
générique géographique
ARPA
Résolution inverse
IN-ADDR
132
227
61
4
0 255
4.61.227.132.IN-ADDR.ARPA.
-234-
Applications: DNSApplications: DNSApplications: DNSApplications: DNS
Déploiement et mise en œuvre (1/2)
Base de données répartie lip6.fr MX 10 isis.lip6.fr lip6.fr MX 20 osiris.lip6.fr lip6.fr MX 30 shiva.jussieu.fr pascal CNAME nephtys.lip6.fr osiris.lip6.fr A 132.227.60.30 isis.lip6.fr A 132.227.60.2 isis.ipv6.lip6.fr AAAA 3ffe:0304:0103:00a0:0a00:20ff:fe0a:2e65
Enregistrements ressources
-235-
Applications: DNSApplications: DNSApplications: DNSApplications: DNS
Déploiement et mise en œuvre (2/2)
lip6.fr SOA osiris.lip6.fr
Serveur primaire
lip6.fr NS isis.lip6.frlip6.fr NS soleil.uvsq.fr
Serveur secondaire
Sécurité
-236-
lip6.fr nameserver = isis.lip6.frlip6.fr nameserver = soleil.uvsq.frlip6.fr nameserver = osiris.lip6.frisis.lip6.fr internet address = 132.227.60.2soleil.uvsq.fr internet address = 193.51.24.1osiris.lip6.fr internet address = 132.227.60.30
Applications: DNSApplications: DNSApplications: DNSApplications: DNS
Utilisation: requête itérative/récursive
Requête: (nom, type) SOLVEUR
Résoudre (lip6.fr, NS)Exemple:
-237-
Applications: DNSApplications: DNSApplications: DNSApplications: DNS
Optimisation des performances Quel serveur interroger ? Apprentissage
EXEMPLE:résoudre (NS,site.uottawa.ca)
Server: osiris.lip6.frAddress: 132.227.60.30
Non-authoritative answer:site.uottawa.ca nameserver = csi0.csi.uottawa.ca
Authoritative answers can be found from:csi0.csi.uottawa.ca internet address = 137.122.24.51
-238-
Applications: DNSApplications: DNSApplications: DNSApplications: DNS
Configuration
>more /etc/resolv.conf;; BIND data file; Created by NetBSD sysinst on Thu Jan 28 16:43:00 1999;nameserver 132.227.72.133nameserver 132.227.72.6nameserver 132.227.60.30nameserver 132.227.60.2lookup file bindsearch lip6.fr ipv6.lip6.fr
Adresses des serveurs RACINE:ftp.rs.internic.net/domain/named.root
-239-
Réseau TCP-IP
Application
Terminal
Applications: TelnetApplications: TelnetApplications: TelnetApplications: Telnet
Gestion de terminaux
Options pour diverses émulations VT100, 3270, Minitel Authentification
Transparence Performances?
-240-
Réseau TCP-IP
Système de fichiers
Utilisateur
Applications: FTPApplications: FTPApplications: FTPApplications: FTP
Transfert de fichiers
Types de données Caractères Octets binaires Compression
Transfert tiers Protection des
accès
-241-
Applications: MessagerieApplications: MessagerieApplications: MessagerieApplications: Messagerie
Structure des messages
Codage de transfert
Protocole de Transfert
-242-
Applications: MessagerieApplications: MessagerieApplications: MessagerieApplications: Messagerie
En-tête
Corps 1
Corps 1
Corps 3
Corps 2
Corps 1
Définition Structure des messages
RFC 822
Multipurpose Internet Mail Extensions
(RFC 1521-1522)
-243-
Applications: MessagerieApplications: MessagerieApplications: MessagerieApplications: Messagerie
MIME
Nouveaux en-têtes
Nouveaux typede données
TYPE SOUS TYPEtext plain
richtextimage gif
jpegaudio basicapplication postscript
mswordmessage rfc822
partialexternal-body
multipart mixedalternativedigest
-244-
Applications: MessagerieApplications: MessagerieApplications: MessagerieApplications: Messagerie
From [email protected] To: [email protected]: Exemple MIMEMime-Version: 1.0Content-Type: multipart/mixed; boundary="=====================_906126837==_"
--=====================_906126837==_Content-Type: text/plain; charset="us-ascii"Voici un message au format MIME
--=====================_906126837==_Content-Type: image/jpeg; name="fig1.jpg";Content-Transfer-Encoding: base64Content-Disposition: attachment; filename="fig1.jpg"
/9j/4AAQSkZJRgABAQAAAQABAAD//gBIQ1JFQVRPUjogWFYgVmVyc2lvbiAzLjEwYSAgUmV2OiAxMi8yOS85NCAgUXVhbGl0eSA9IDc1LCBTbW9vdGhpbmcgPSAwCv/bAEMACAYGBwYFCAcHBwkJCAoM…--=====================_906126837==_Content-Type: application/msword; name="Informations.doc";Content-Transfer-Encoding: base64Content-Disposition: attachment; filename="Informations.doc"
/jcAIwAAAAAAACQAABkAAAAAAAAAAAEAAAANdQAAF/EAAAAAAAAMjAAAAAAAAAAAAAAAAAAAAAAAhbGl0eSA9IDc1LCBTbW9vdGhpbmcgPSAwCv/bAEMACAYGBwYFCAcHBwkJCAoMMi8yOS85NCAgUXV…--=====================_906126837==_--
-245-
Applications: MessagerieApplications: MessagerieApplications: MessagerieApplications: Messagerie
Agent utilisateur
-246-
Applications: MessagerieApplications: MessagerieApplications: MessagerieApplications: Messagerie
Protocole de Transfert: SMTP (RFC 821), ESMTP (RFC 1425)
Connexion TCP entre source et destination Protocole ASCII
>>> EHLO hera.lip6.fr250-rp.lip6.fr Hello hera.lip6.fr [132.227.61.135], pleased to meet you
>>> MAIL From:<[email protected]> SIZE=59250 <[email protected]>... Sender ok
>>> RCPT To:<[email protected]>250 <[email protected]>... Recipient ok
>>> DATA354 Enter mail, end with "." on a line by itself
>>> .250 TAA05005 Message accepted for delivery
>>> QUIT221 rp.lip6.fr closing connection
-247-
Applications: MessagerieApplications: MessagerieApplications: MessagerieApplications: Messagerie
Remise finale Post Office Protocol 3 (RFC 1225) Interactive Mail Access Protocol (RFC 1054), Distributed Mail System Protocol (RFC 1056),
Outils Filtres Démon de vacances
-248-
Applications: MessagerieApplications: MessagerieApplications: MessagerieApplications: Messagerie
Confidentialité Authentification, signature, compression
Pretty Good Privacy (Zimmermann) MD5, RSA, IDEA, ZIP
PrivacyEnhanced Mail (RFC 1421 à 1424), MD2, MD5, DES ou RSA
-249-
Applications: NewsApplications: NewsApplications: NewsApplications: News
Messagerie par thème Gestion
Abonnement Modération Diffusion
Protocole NNTP Codages identiques à SMTP
-250-
Applications: NFSApplications: NFSApplications: NFSApplications: NFS
Partage de fichiers sur un réseau Gestion "à la UNIX" Echanges contrôlés par UDP Modèle client/serveur (RPC) Large disponibilité
-251-
Application: Hypertexte et Application: Hypertexte et WebWebApplication: Hypertexte et Application: Hypertexte et WebWeb
Langage HTML pour définition de pages définition de liens menus et formulaires scripts (Javascript) algorithmique (Java)
Clients pour visualisation (Mosaïc, Netscape, Microsoft Explorer, etc.)
Protocole HTTP
-252-
Un exemple de page Web !Un exemple de page Web !Un exemple de page Web !Un exemple de page Web !
-253-
<HTML>
<Head> <Title>Bienvenue sur le WWW audio de Radio France</Title></Head>
<Body text="#000000" background="./ico/rffond2.gif">
<IMG ALIGN = RIGHT SRC ="./ico/logo_fra.gif"><BR CLEAR = ALL><HR NOSHADE SIZE = 4><IMG ALIGN = LEFT SRC ="./ico/carre_fr.gif"><BR><BR><BR><BR><BR>Dernière-née du réseau Radio France, France Info, seuleradio d'information continue en Europe, propose à toute heure du jour etde la nuit, une information complète sans cesseréactualisée......
Langage de description: HTMLLangage de description: HTMLLangage de description: HTMLLangage de description: HTML
-254-
Structure des URLStructure des URLStructure des URLStructure des URL
Universal Resource Locator protocole://nom[:port][/chemin]
http://www.microsoft.com ftp://ftp.lip6.fr/pub/linux/readme.txt http://www.lip6.fr/dess http://mercure.lip6.fr:8080/essai
-255-
Les clients: Les clients: browsersbrowsersLes clients: Les clients: browsersbrowsers
Frames Grilles de saisie Tableaux Java ActiveX FTP, Gopher, e-mail, etc. Plugins
-256-
JavaJavaJavaJava
Origine de SUN Langage orienté objet (type C++) Sécurité du code Sécurité de l’exécution Interprétation/compilation Indépendance de la plate-forme
matérielle
-257-
Java: exécutionJava: exécutionJava: exécutionJava: exécution
Matériel
Système d’exploitation
Client Web
Visualisation
Protocole HTTP
Machine virtuelle
-258-
Le Web: EvolutionLe Web: EvolutionLe Web: EvolutionLe Web: Evolution
Meilleure maîtrise et utilisation des documents XML
Changement d’usage PUSH
-259-
HTML: Forces et faiblessesHTML: Forces et faiblessesHTML: Forces et faiblessesHTML: Forces et faiblesses
Simple Intégrable dans les navigateur: peu de balises
Un seul moule pour tout type de document Pas de notion de contenu
Exploration, partage et modification difficiles des documents
Evolution trop lente (Tableaux: HTML 3 !!) Liens hypertextes inadaptés
-260-
XML: Retour aux sourcesXML: Retour aux sourcesXML: Retour aux sourcesXML: Retour aux sources
SGML(Standard Generalised Mark up Language)
Norme ISO (IS 8879) depuis 12 ans (300 pages)
eXtensible Mark up Language Simplification de SGML (32 pages) Séparation structure du contenu/présentation L’utilisateur défini ses propres balises
<train>, <gare>, <horaire>, <ingrédients>, etc
-261-
HTML vs XMLHTML vs XMLHTML vs XMLHTML vs XML
<H2>En français</H2> <UL> <LI> Alain Michard, <I>XML, Langage et Applications</I>, Paris, Eyrolles, 1998 </LI> </UL>
<BIBLIO subject="XML"> <BOOK xml:lang="fr"> <AUTHOR> <FIRSTNAME>Alain</FIRSTNAME> <LASTNAME>Michard</LASTNAME> </AUTHOR> <TITLE>XML, Langage et Applications</TITLE> <PUBLISHER> <NAME>Eyrolles</NAME> <PLACE>Paris</PLACE> </PUBLISHER> <DATEPUB>1998</DATEPUB> </BOOK> ... </BIBLIO>
Représentation à la modeles BD
-262-
XML: c’est quoi ?XML: c’est quoi ?XML: c’est quoi ?XML: c’est quoi ?
XSL
XLINKXPOINTER
XML
DTD
+
+
=
Document Type Definition
eXtensible Style Language
Xml LINKink languageXml POINTER language
-263-
XML: comment ça marche ?XML: comment ça marche ?XML: comment ça marche ?XML: comment ça marche ?
ou tout autre formatde documentRTF, .doc, PDF,WML, etc
-264-
XML: Un exempleXML: Un exempleXML: Un exempleXML: Un exemple
(...) <cours> <date>06/10/1998</date> <euro>6,6140</euro> <dollar>5,4825</dollar></cours>(...)
Le fichier XML
-265-
XML: Un exemple (suite)XML: Un exemple (suite)XML: Un exemple (suite)XML: Un exemple (suite)
<rule> <target-element type="cours"/> <DIV background-color="yellow» color="black" padding="4px"> <select-elements> <target-element type="date"/> </select-elements> <select-elements> <target-element type="euro"/> </select-elements> <select-elements> <target-element type="dollar"/> </select-elements> </DIV></rule>
Le fichier XSL
-266-
<rule> <target-element type="date"/> <SPAN font-weight="bold" color="black"> </SPAN> </rule> <rule> <target-element type="euro"/> <target-element type="dollar"/></rule>
Le fichier XSL
RESULTAT
XML: Un exemple (fin)XML: Un exemple (fin)XML: Un exemple (fin)XML: Un exemple (fin)
-267-
Spécifications XMLSpécifications XMLSpécifications XMLSpécifications XML
Communication... Alliance for Telecommunications Industry Solutions (ATIS):
Telecommunications Interchange Markup (TIM) Wireless Application Protocol Forum (WAP): Wireless Markup Language
(WML)
… et de nombreux domaines Presse Espace Comptabilité Publicité etc
-268-
XML:browser, éditeur, utilitaire (1/2)XML:browser, éditeur, utilitaire (1/2)XML:browser, éditeur, utilitaire (1/2)XML:browser, éditeur, utilitaire (1/2)
Unix
InDelv XML Client XML browsers, XML editors VInDelvLTXML XML parsers Edinburgh Language Technology GroupMozilla XML browsers The Mozilla teamPHP XML middleware The PHP development teamWindows Foundation Classes XML parsers Sam BlackburnXeena XML editors IBM alphaWorks
Unix
InDelv XML Client XML browsers, XML editors VInDelvLTXML XML parsers Edinburgh Language Technology GroupMozilla XML browsers The Mozilla teamPHP XML middleware The PHP development teamWindows Foundation Classes XML parsers Sam BlackburnXeena XML editors IBM alphaWorks
LINUX
Amaya XML editors, XML browsers World Wide Web ConsortiumIBM techexplorer XML browsers IBMMozilla XML browsers The Mozilla teamsgrep XML search engines Jani JaakkolaSP SGML/XML parsers James ClarkTidy General N-converters Dave RaggettXFA Scripting System XML middleware XML For AllXML for C++ XML parsers IBM alphaWorksxtr2any General S-converters Sema Group
LINUX
Amaya XML editors, XML browsers World Wide Web ConsortiumIBM techexplorer XML browsers IBMMozilla XML browsers The Mozilla teamsgrep XML search engines Jani JaakkolaSP SGML/XML parsers James ClarkTidy General N-converters Dave RaggettXFA Scripting System XML middleware XML For AllXML for C++ XML parsers IBM alphaWorksxtr2any General S-converters Sema Group
-269-
XML:browser, éditeur, utilitaire (2/2)XML:browser, éditeur, utilitaire (2/2)XML:browser, éditeur, utilitaire (2/2)XML:browser, éditeur, utilitaire (2/2)
Win 32
Amaya XML editors, XML browsers World Wide Web ConsortiumBalise XML parsers AIS SoftwareExml XML editors CUESoftFirstSTEP EXML DTD generators Product Data Integration Technologies (PDIT)Gecko XML browsers NetscapeHyBrick XML browsers Fujitsu LaboratoriesIBM techexplorer XML browsers IBMInDelv XML Client XML browsers, XML editors InDelvJade DSSSL engines James ClarkLTXML XML parsers Edinburgh Language Technology GroupMicrosoft Internet Explorer 5 XML browsers Microsoft Microsoft XML Parser Redistributable XML parsers Microsoft Mozilla XML browsers The Mozilla teamOmniMark Home and School IDE General S-converters OmniMark TechnologiesQORX General N-converters Griffin Brown Digital PublishingXeena XML editors IBM alphaWorksXML Diff and Merge Tool XML document management utilities IBM alphaWorksXML for C++ XML parsers IBM alphaWorksXML Notepad XML editors Microsoftxtr2any General S-converters Sema Group
Win 32
Amaya XML editors, XML browsers World Wide Web ConsortiumBalise XML parsers AIS SoftwareExml XML editors CUESoftFirstSTEP EXML DTD generators Product Data Integration Technologies (PDIT)Gecko XML browsers NetscapeHyBrick XML browsers Fujitsu LaboratoriesIBM techexplorer XML browsers IBMInDelv XML Client XML browsers, XML editors InDelvJade DSSSL engines James ClarkLTXML XML parsers Edinburgh Language Technology GroupMicrosoft Internet Explorer 5 XML browsers Microsoft Microsoft XML Parser Redistributable XML parsers Microsoft Mozilla XML browsers The Mozilla teamOmniMark Home and School IDE General S-converters OmniMark TechnologiesQORX General N-converters Griffin Brown Digital PublishingXeena XML editors IBM alphaWorksXML Diff and Merge Tool XML document management utilities IBM alphaWorksXML for C++ XML parsers IBM alphaWorksXML Notepad XML editors Microsoftxtr2any General S-converters Sema Group
-270-
Evolution du WEB: pushEvolution du WEB: pushEvolution du WEB: pushEvolution du WEB: push
Le WEB est une application client/serveur
Les canaux de distribution Convergence des solutions?
Place de Microsoft et de Netscape Intégration dans les serveurs ou
participation des clients?
-271-
Le Web sans filLe Web sans filLe Web sans filLe Web sans fil
HDML:Handheld Device Markup Language 1996, Phone.com
WAP: Wireless Application Protocol 1997, Phone.com, Ericsson,Motorola, Nokia
i-Mode 1999, NTT DoCoMo (Japon) Disponible en France depuis le
15 novembre 2002 (Bouygues)
-272-
W@PW@PW@PW@P
• Sécurité
• Indépendant du réseau
• contraintes minimales
(téléphone, PDA, etc.)
•Support clavier
•Reconnaissance vocale
http://www.wapforum.org/
Passerelle
-273-
WAP: architectureWAP: architectureWAP: architectureWAP: architecture
-274-
Echec et WAPEchec et WAPEchec et WAPEchec et WAP Quelques éléments de réflexion
Le contenu 60 000 sites sont aujourd'hui disponibles sur les mobiles japonais
Relation entre opérateurs, constructeurs et fournisseurs de services Opérateurs vs éditeurs de contenu
A chacun son métier NMPP vs Presse écrite
Rémunération: Au japon, 91% de la surtaxe I Mode est reversée aux fournisseurs de contenus.En France 30 à 40 % sur la surtaxe et rien sur le transport
-275-
TCP - IPTCP - IPTCP - IPTCP - IP
La sécurité
-276-
La sécurité dans les réseauxLa sécurité dans les réseaux
D'où viennent les problèmes? Distribution des informations et des machines. Réseaux mondiaux: Nombre d’utilisateurs élevé, utilisateurs
inconnus. Réseaux locaux: 80% des «attaques» Commerce et paiement: Le paradoxe du nombre et de la confiance!
Les techniques Cryptographie principalement L’information se protège et se transmet facilement, pour la
confiance, les choses sont plus délicates
Les limites réglementaires et/ou techniques Besoin de contrôle des autorités. Problèmes douaniers / Lieu et méthode de taxation. Comment exercer réellement un contrôle?
-277-
La sécurité dans les réseauxLa sécurité dans les réseaux
Plusieurs niveaux doivent être considérés: Le contrôle d’accès: qui travaille sur ma machine? Le contrôle des données: mes informations sont-elles
secrètes? Un point central: la confiance et comment la partager?
Qui est vulnérable? Réseau local
Il est très facile d’accès pour ses utilisateurs. C’est le point faible pour les informations.
Le réseau longue distance Il concentre de nombreux utilisateurs. C’est le point faible
pour le contrôle d’accès.
-278-
La sécurité: les méthodesLa sécurité: les méthodes
Une trilogie «vitale»: Audit
Analyse des besoins, des risques
Les outils techniquesCryptographie
ContrôleLogiciels ou matériels de surveillance
Une seule étape vous manque … et tout est dépeuplé!
-279-
La sécurité: les erreurs La sécurité: les erreurs humaineshumaines
Inégalité d'Heisenberg
Dx * Dp > h
Ergonomie * Sécurité > k
-280-
•Un utilisateur quelconque •se connecte sur Internet
•Il récupère le code d’un «exploit»
•Il le compile et l’exécute
•Il est root
Une attaque directe UNIXUne attaque directe UNIXUne attaque directe UNIXUne attaque directe UNIX
-281-
• Un utilisateur quelconque se connecte sur Internet• Il récupère le programme «sechole.exe»• Il l’exécute • Son compte est ajouté au groupe Administrators
Une attaque directe NTUne attaque directe NTUne attaque directe NTUne attaque directe NT
-282-
Sous NT la liste des mots de passe cryptés s’obtient :• par une attaque sur la base de registres «pwdump»• en sniffant le réseau• via le fichier de réparation «%systemroot%\repair\sam._»
Attaque des mots de passeAttaque des mots de passeAttaque des mots de passeAttaque des mots de passe
-283-
Après le passage d’un dictionnaire de 870 000 mots…Temps Réel : < 30s
Attaque des mots de passeAttaque des mots de passeAttaque des mots de passeAttaque des mots de passe
-284-
Après une attaque bête et néanmoins brutale sur l’alphabet...14 heures plus Tard
Attaque des mots de passeAttaque des mots de passeAttaque des mots de passeAttaque des mots de passe
-285-
Découverte de topologieDécouverte de topologieDécouverte de topologieDécouverte de topologie
-286-
Attaque de datagrammesAttaque de datagrammesAttaque de datagrammesAttaque de datagrammes
La structure des données est connue La structure des applications est
connue et standard Une machine simple peut:
Ecouter Analyser Créer
-287-
Le déguisementLe déguisementLe déguisementLe déguisement
Modification des adresses Intervention dans un dialogue Attaque des routages
A B Z
-288-
Le «SPAM»Le «SPAM»Le «SPAM»Le «SPAM»
Envoi d’information inutile et volumineuse
SPAM = argot Application visée:
-289-
FTP et la sécuritéFTP et la sécuritéFTP et la sécuritéFTP et la sécurité
Problème protocolaire Problème d’utilisation
A B
Vers le port 21
Depuis le port 20
A B
Vers le port 21
CF
iltre
Depuis le port 20
-290-
Mots de passeMots de passeMots de passeMots de passe
Transport dans le réseau Sensible à l’écoute Besoin d’authentification
RéseauA B
Détenteur du« secret »
Vérification du« secret »
-291-
Synthèse des techniquesSynthèse des techniquesSynthèse des techniquesSynthèse des techniques
On ne change pas les protocoles de communication Filtrage
On change/adapte les applications Cryptographie
On change/adapte les protocoles de communication IPSec
Que devient la réglementation?
-292-
La sécurité: filtrageLa sécurité: filtrageLa sécurité: filtrageLa sécurité: filtrage
RouteurFirewall
INTERNET
Sécurité renforcée
DMZ (Zone Démilitarisée)
MailWebDNS
FTPTelnetX
-293-
Le filtrage par «proxy»Le filtrage par «proxy»Le filtrage par «proxy»Le filtrage par «proxy»
physiqueliaisonréseau
transportsession
présentation
eth ip hdr data
application
tcp/udp hdr
analyse
Analyse complète
protocole scénario
coût
-294-
Le filtrage des paquetsLe filtrage des paquetsLe filtrage des paquetsLe filtrage des paquets
Tâche confiée aux routeurs
Assez rapide
analyse
physiqueliaisonréseau
transportsession
présentationapplication
eth ip hdr datatcp/udp hdr
-295-
Exemples de règles de filtrageExemples de règles de filtrageExemples de règles de filtrageExemples de règles de filtrage
Règle Sens AdresseSource
AdresseDest.
Protocole PortSource
PortDest
Bit AckPositionné
action
faux-paquet entrant interne quelconque quelconque quelconque quelconque quelconque interdire
telnet-1 sortant interne quelconque TCP >1023 23 quelconque autoriser
telnet-2 entrant quelconque interne TCP 23 >1023 oui autoriser
ftp-1 sortant interne quelconque TCP >1023 21 quelconque autoriser
ftp-2 entrant quelconque interne TCP 21 >1023 oui autoriser
ftp-3 sortant interne quelconque TCP >1023 >1023 quelconque autoriser
ftp-4 entrant quelconque interne TCP >1023 >1023 oui autoriser
SMTP-1 sortant services quelconque TCP >1023 25 quelconque autoriser
SMTP-2 entrant quelconque services TCP 25 >1023 oui autoriser
SMTP-3 entrant quelconque services TCP >1023 25 quelconque autoriser
SMTP-4 sortant services quelconque TCP 25 >1023 oui autoriser
-296-
Cryptographie - les basesCryptographie - les basesCryptographie - les basesCryptographie - les bases
Utilisée pour fournir les services de sécurité demandés par l’utilisation d’un réseau: Secret cryptage Intégrité des données one-way hash Authentification signature électronique Non répudiation
Def: empêcher le refus fallacieux de reconnaître l’envoi, la réception ou le contenu d’un message
-297-
CryptographieCryptographieCryptographieCryptographie
De quoi s’agit-il? Transformer des données de sorte à ce
qu’elles deviennent incompréhensibles pour ceux qui ne possèdent pas une clé
Deux familles Clé publique ou asymétrique Clé privée ou symétrique
-298-
Chiffrement - 1Chiffrement - 1Chiffrement - 1Chiffrement - 1
Algorithmes symétriques RC-4, RC-5 DES, 3-DES, IDEA, SkipJack (pas public!!)
Un secret doit être partagé: la clé Algorithme identique
abc #!$ #!$ abc
Clef Partagée
-299-
abc #!$ #!$ abcAlice
clef privée clef publique
Bob
Chiffrement - 2Chiffrement - 2Chiffrement - 2Chiffrement - 2
Pas de secret partagé, seulement l’algorithme Génération des clés Algorithmes asymétriques à cause des clés
RSA Chiffrement, Authentification, Intégrité
Problème de la distribution des clés et des performances Exemples:
abc #!$ #!$ abcAlice
clef privéeclef publique
Bob
-300-
«One-way hash functions»«One-way hash functions»«One-way hash functions»«One-way hash functions»
Vérifier qu’une donnée est correcte calcul d’une empreinte à l’aide d’une fonction de hashage
Idée du CRC, mais plus complexe 128 bits ou plus impossible de produire un document correspondant à une
empreinte donnée 1 bit modifié dans le document entraîne une très forte
modification de l’empreinte
Algorithmes MD2, MD4, MD5 (128 bits): Message Digest SHA-1 (160 bits): Secure Hash Algorithm
-301-
Chiffrement - 3Chiffrement - 3Chiffrement - 3Chiffrement - 3
Message
hash
Digest
Signature
Clef privée
Message
hash
Digest
Signature
Clef publique
Digest=
-302-
ProblèmesProblèmesProblèmesProblèmes
Impossible d’utiliser les systèmes asymétriques pour cacher des données (trop lent)
Il faut utiliser un algorithme symétrique, mais avec quelle clé?
Une solution: transférer la clé par des techniques asymétriques, soit une combinaison des deux techniques
-303-
Partager un secretPartager un secretPartager un secretPartager un secret
Générer un nombre aléatoire Encoder avec clé publique du correspondant Envoyer Exemple d’utilisation: SSH, SSL
abc abc#!$
Calcul de la clé Reconstitution de la clé
-304-
Authentification des clés!Authentification des clés!Authentification des clés!Authentification des clés!
Comment être sûr de la clé publique? Validation des clés par l’utilisation de
«certificats» Identité d’une personne (Bob) Identité de l’autorité de certification (CA) Clé publique de Bob Dates de validité (début, fin) Une empreinte du contenu du certificat
L’empreinte est signée par le CA
-305-
La confianceLa confianceLa confianceLa confiance
Il faut avoir confiance en l’autorité de certification
Construction de «chaînes de confiance»
Qui délivre des certificats? VeriSign, GTE, AT&T En France, Axenet par exemple Une société pour son usage propre
-306-
Obtention d’un certificatObtention d’un certificatObtention d’un certificatObtention d’un certificat
Génération d’un couple CléPublique/CléPrivée
Envoi d’une demande de certificat au CA (seulement CléPublique)
Validation de l’utilisateur par le CA CA génère le certificat Le certificat peut être diffusé par
l’utilisateur ou par le CA
-307-
Validation d’un certificatValidation d’un certificatValidation d’un certificatValidation d’un certificat
Alice récupère le certificat de Bob Récupérer le certificat du CA qui a
signé le certificat de Bob Valider le CA Valider le certificat de Bob Valider les dates d’utilisation Utiliser la clé
-308-
Hiérarchie de confianceHiérarchie de confianceHiérarchie de confianceHiérarchie de confiance
Une hiérarchie de CA peut se créer et ainsi distribuer la «confiance» nécessaire
Création de chaînes Administration et
configuration sont alors locales
Alice Corp
A Corp B Corp
ComptaRecherche
Dévelopt.
-309-
Les standards de codageLes standards de codageLes standards de codageLes standards de codage
X509 Contenu du certificat
ASN.1 La syntaxe et le
codage
DER Distinguished
Encoding Rules Format de transfert
PKCS #10 Message de
demande de certificat
PKCS #7 Message crypté
Origines: ISO - UIT RSA
-310-
Où sont les applications?Où sont les applications?Où sont les applications?Où sont les applications?
Pour le Web SSL pour https://… Stockage/utilisation de certificats
Pour la messagerie S/MIME
messages signésmessages cryptés
Un moteur: le commerce électronique
-311-
La sécurité applicative: en La sécurité applicative: en pratiquepratiqueLa sécurité applicative: en La sécurité applicative: en pratiquepratique
La signature pour authentifier Le cryptage pour la confidentialité A quel niveau?
Celui des protocoles: IPSec par exemple Celui des applications: PGP par exemple
La sécurité des implantations logicielles Les outils de Java Voir par exemple http://www.rootshell.com
-312-
IPSecIPSecIPSecIPSec
Protocole d'authentification
Protocole de cryptage
Protocole de négociation des méthodes de
sécurisation et d'échange de clé
Mode transport et mode tunnel
Totalement compatible avec IPv4 et IPv6 "de base"
-313-
IPSec: mode transportIPSec: mode transportIPSec: mode transportIPSec: mode transport
IP HDR ESP DATA
Cryptage
SPI (Security parameters Index)
Longueurpadding
Numéro de séquence
Données
Entêtesuivant
Données d'authentification (optionnel )
Crypté
Authentifié
Cryptage ESP: Encapsulated
Security Protocol
Pas de protection de l'entête IP
Padding (0 - 255 octets)Algorithmes symétriques:
• DES 56 bits (par défaut)
• 3-DES, RC5, CAST, IDEA, etc.
32 bits
Algorithmes symétriques:
• SHA-1, MD5 (par défaut)
-314-
IPSec: mode transportIPSec: mode transportIPSec: mode transportIPSec: mode transport
DATA
authentification
Numéro de séquence
SPI (Security parameters Index)
Authentification
Authentification AH: Authentication
Header
LongueurAH
Réservé( à zéro)
Entêtesuivant
IP HDR AH
32 bits
Protection de l'entête IP
-315-
IPSec: mode tunnelIPSec: mode tunnelIPSec: mode tunnelIPSec: mode tunnel
trafic non protégé
trafic protégé
PasserelleIPSec 1
PasserelleIPSec 2
VPN Virtual Private
Network
Station A
Server B
A
Source Dest.
B donnéesA B données
A
Source Dest.
B données21
Cryptage
-316-
IPSec: mode tunnelIPSec: mode tunnelIPSec: mode tunnelIPSec: mode tunnel
Tunnel d'authentification
Tunnel de cryptageAuthentification
DATAIP HDRuIP HDRt AH
Cryptage
DATAIP HDRuIP HDRt ESP
Authentification
DATAIP HDRuIP HDRt AH ESP
Tunnel d'authentification et de cryptage
Cryptage
-317-
IPSec:IPSec:Echange et gestion des clésEchange et gestion des clésIPSec:IPSec:Echange et gestion des clésEchange et gestion des clés
Trois étapes
Négocier Algorithme de cryptage et d'authentification
Echanger valeur des clés fréquence de changement
Mémoriser le contexte
-318-
IPSec:Security Association (SA)IPSec:Security Association (SA)IPSec:Security Association (SA)IPSec:Security Association (SA)
SA
Algorithme pour l'AH
Algorithme pour l'ESP
Fréquence de changement des clés
Durée de vie des clés
Durée de vie du SA
Négociation: plusieurs propositions un seul choix
Permet d'adapter la sécurité en fonction de: son interlocuteur de la façon de l'atteindre (intranet, Internet)
Unidirectionnel
-319-
IPSec:SA et SPIIPSec:SA et SPIIPSec:SA et SPIIPSec:SA et SPI
Le SPI indentifie notre SA chez notre interlocuteur
SAab 12b
SAax 102x
SAab 12b
SAba 45a
Saxa 98a
SAba 45a
A
B
PROPOSITION SA
ACCEPTATION SA, SPI=12
PROPOSITION SA
ACCEPTION SA, SPI=45
-320-
Lionel Jospin - 19 janvier 1999Lionel Jospin - 19 janvier 1999Nous avions, il y a un an, franchi un premier pas vers la libéralisation des moyens de cryptologie. J’avais annoncé alors que nous en franchirions un autre ultérieurement. Le Gouvernement a, depuis, entendu les acteurs, interrogé les experts et consulté ses partenaires internationaux. Nous avons aujourd’hui acquis la conviction que la législation de 1996 n’est plus adaptée. En effet, elle restreint fortement l’usage de la cryptologie en France, sans d’ailleurs permettre pour autant aux pouvoirs publics de lutter efficacement contre des agissements criminels dont le chiffrement pourrait faciliter la dissimulation.
Pour changer l’orientation de notre législation, le Gouvernement a donc retenu les orientations suivantes dont je me suis entretenu avec le Président de la République :
- offrir une liberté complète dans l'utilisation de la cryptologie ;
- supprimer le caractère obligatoire du recours au tiers de confiance pour le dépôt des clefs de chiffrement ;
- compléter le dispositif juridique actuel par l'instauration d'obligations, assorties de sanctions pénales, concernant la remise aux autorités judiciaires, lorsque celles-ci la demandent, de la transcription en clair des documents chiffrés. De même, les capacités techniques des pouvoirs publics seront significativement renforcées et les moyens correspondants dégagés.
Changer la loi prendra plusieurs mois. Le Gouvernement a voulu que les principales entraves qui pèsent sur les citoyens pour protéger la confidentialité de leurs échanges et sur le développement du commerce électronique soient levées sans attendre. Ainsi, dans l'attente des modifications législatives annoncées, le Gouvernement a décidé de relever le seuil de la cryptologie dont l’utilisation est libre, de 40 bits à 128 bits, niveau considéré par les experts comme assurant durablement une très grande sécurité.
-321-
La signature électroniqueLa signature électroniqueLa signature électroniqueLa signature électronique
Loi n° 2000-230 du 13 mars 2000 J.O. n° 62 du 14 mars 2000 page 3968, adaptation du droit de la preuve aux
technologies de l’information et relative à la signature électronique.
Article1316-3 du code civil devient: «L’écrit sur support électronique a la même
force probante que l’écrit sur support papier»
-322-
Exemple de PGPExemple de PGPExemple de PGPExemple de PGP
http://come.to/pgpi-fr Informations en français
Outil de signature pour l’authentification Outil de cryptage pour la confidentialité Algorithmes connus Implantés sur tous les systèmes classiques
(Windows, MacOS, PalmOs, Psion, Linux, etc.)
Intégration avec les outils classiques de la communication
-323-
PGP: les fonctionsPGP: les fonctionsPGP: les fonctionsPGP: les fonctions
Génération d’une paire de clés Maintenance d’un annuaire de ses
correspondants Gestion d’un accès LDAP Signature de fichiers Cryptage de fichiers Intégration aux messageries
-324-
PGP: gestion des clésPGP: gestion des clésPGP: gestion des clésPGP: gestion des clés
Porte- clés
-325-
PGP: génération de clésPGP: génération de clésPGP: génération de clésPGP: génération de clés
Exemple: PGP et OutlookExemple: PGP et OutlookExemple: PGP et OutlookExemple: PGP et Outlook
Exemple: PGP et OutlookExemple: PGP et OutlookExemple: PGP et OutlookExemple: PGP et Outlook
-328-
Exemple: PGP et EudoraExemple: PGP et EudoraExemple: PGP et EudoraExemple: PGP et Eudora
-329-
Les sites de «piratage»Les sites de «piratage»Les sites de «piratage»Les sites de «piratage»
-330-
Coordination des utilisateursCoordination des utilisateursCoordination des utilisateursCoordination des utilisateurs
-331-
FIRSTFIRSTFIRSTFIRST
Plus de 70 membres en 2000 Des opérateurs, des industriels, bref
des utilisateurs de réseaux Fédération des CERTs Coordination des détections de
problèmes et des parades Service d’alerte indispensable pour
les ingénieurs
-332-
CERT du DoDCERT du DoDCERT du DoDCERT du DoD
-333-
CERT d’IBMCERT d’IBMCERT d’IBMCERT d’IBM
-334-
TCP-IPTCP-IPTCP-IPTCP-IP
3éme journée: IP et les autres, Hauts débits, QoS, Gestion de réseaux, Services en lignes
-335-
TCP - IPTCP - IPTCP - IPTCP - IP
Un peu d’architecture
-336-
IP et les réseaux existantsIP et les réseaux existants
Les réseaux X25 RFC 877
Gestion des CV
Adressage (CC)
Taille des datagrammes (576 octets)
IP
X25
-337-
IP et les réseaux existantsIP et les réseaux existants Les liaisons
spécialisées SLIP
La solution initiale pour les lignes asynchrones
X25 La solution simple …
en Europe PPP
Une possibilité générique … et universelle
IP
X25
IPIPIP
PPP
Signali-sation
-338-
IP et l’ISOIP et l’ISOIP et l’ISOIP et l’ISO
Les modèles sont différents!
La migration a été envisagée! Préparation des
utilisateurs Transition Abandon Utilisation de
l’expérience
Application
Présentation
Session
Transport
Réseau
Liaison
Physique
IP
TCP/UDP
Application
-339-
IP et réseaux locaux (de IP et réseaux locaux (de micros?)micros?)IP et réseaux locaux (de IP et réseaux locaux (de micros?)micros?)
Utilisation «naturelle»
Mais aussi … cohabitation!
Les réseaux locaux classiques 85% Ethernet!
TCP/UDP
IP
NetBIOS
TCP/UDP
IP
NetBIOS
-340-
L'architecture «complète»L'architecture «complète»
Protocole IP
ICMP/IGMP
Autres
TCPUDP
...
Ethernet Token Ring Réseaux m X25
PPP, SLIP FR, ATM FDDI
FTP, SMTP, Telnet, DNS, HTTP,
etc.
Applicationsde gestion(routage)
ClientServeur(NFS)
Applications dérivéesde l’ISO (SNMP,
LDAP)
Représentation des données
Applicationscoopératives
(multicast,multimedia,
etc.)
ISO
RTP/RTCPRSVP DHCP
SécuritéMobilité
-341-
TCP - IPTCP - IPTCP - IPTCP - IP
Hauts débits
-342-
Exemple de problème: la Exemple de problème: la mémoire du réseaumémoire du réseau
Contrôle de flux à fenêtre Temps d'émission de 64 Ko
5,24 ms à 100 Mbps
Temps de traversée 15 ms
temps
Débit = Débitmax / 7,5
-343-
Contrôle de flux: le contrôle à Contrôle de flux: le contrôle à la sourcela source
Négocier le débit du transfert En fonction des capacités de l'émetteur En fonction des possibilités du récepteur En fonction des ressources du réseau
-344-
Exemple: NETBLTExemple: NETBLT
Définition du trafic en termes de Blocs Paquets, Série, Durée d'une série
Reprise des erreurs par phases
-345-
Cohabitation UDP - TCPCohabitation UDP - TCPCohabitation UDP - TCPCohabitation UDP - TCP
A B: TCP à vitesse maximum C D: UDP à vitesse maximum T=0, début de T=40s, début de
A B C D
1
2
1
2
Mesure de débit
-346-
Cohabitation TCP/UDPCohabitation TCP/UDPCohabitation TCP/UDPCohabitation TCP/UDP
-1000
0
1000
2000
3000
4000
5000
6000
1
2
-347-
TCP-IPTCP-IPTCP-IPTCP-IP
Qualité de service et IP
-348-
La qualité de service et IPLa qualité de service et IPLa qualité de service et IPLa qualité de service et IP
Le «best effort» seul est insuffisant Plusieurs approches sont possibles:
Adaptation du comportement des applications Réservation de ressources dans le réseau Adaptation du comportement du réseau
Les outils RTP/RTCP INTSERV et RSVP DIFFSERV
Signalisation globale?
-349-
Un réseau de test - gigueUn réseau de test - gigueUn réseau de test - gigueUn réseau de test - gigue
Source: http://network-services.uoregon.edu/~ursula/thesis/
-350-
Approche INTSERVApproche INTSERVApproche INTSERVApproche INTSERV
INTegrated SERVices Trois types de profils:
Best effortLe service classique
Controlled loadLe réseau se comporte comme un réseau best effort
peu chargé
GuaranteedGarantie de débit, délai et gigue
Signalisation - réservation
-351-
Tri et routageTri et
routage
Ordon--nancement
Ordon--nancement
RoutageRoutage RSVPRSVP
PolicingPolicingRessourcesRessources
Réservation de ressources - Réservation de ressources - protocole RSVPprotocole RSVPRéservation de ressources - Réservation de ressources - protocole RSVPprotocole RSVP Spécification d'un flot à la mode IP (CV?) Spécification d'une QoS (débit, délai) Conformité du trafic Contrôle
d’admission Les réservations ne
dépendent pas duprotocole:algorithmeslocaux
-352-
RSVP: quelques définitionsRSVP: quelques définitionsRSVP: quelques définitionsRSVP: quelques définitions
La notion de flotAdresse source, Adresse destination,
[numéro de port]
Flow descriptorFlow spec
Classe de serviceLa qualité de service désirée (Rspec)Le flot de données (Tspec)
Filter specComment reconnaître les paquets concernés
-353-
Implantation de RSVPImplantation de RSVPImplantation de RSVPImplantation de RSVP
La réservation intéresse un flot Les routeurs connaissent les flots Les traitements des datagrammes ne sont
plus banalisés
BE
R1
R2
R3
R4
-354-
RR RR
RR
RR
RR
RR
PATHRESV
RESV
Le protocole RSVPLe protocole RSVPLe protocole RSVPLe protocole RSVP
Description des données, admission du flot (bornes de description)
Définition des réservations Remise à jour périodique («soft state», éphémère) Abandon des réservations
Non R
-355-
IP et QoS: approche IP et QoS: approche applicativeapplicativeIP et QoS: approche IP et QoS: approche applicativeapplicative
Hypothèse Les applications vivent avec un réseau sur lequel
aucune modification n’est possible
Adaptation Modification du comportement des applications en
fonction du comportement du réseau (exemple, modification des codages)
L’application est en prise la plus directe possible avec le réseau: RTP
Besoin d’un mécanisme d’observation: RTCP
-356-
Transport temps réel: RTPTransport temps réel: RTP
Contrôle du temps Estampilles Protocole de
contrôle: RTCP Approche ALF
(Application Layer Framing) ILP (Integrated Layer Processing)
IPIP
UDPUDP
Application avec RTP
Application avec RTP RTCPRTCP
-357-
Architecture RTPArchitecture RTPArchitecture RTPArchitecture RTP
Mixer
TranlatorFirewall
A
B
C
D
X
Y
Z
-358-
RTP est un vrai protocoleRTP est un vrai protocoleRTP est un vrai protocoleRTP est un vrai protocole
RFC 1889, 1890 - Proposed Internet Standard
Profils définis pour MPEG1/MPEG2, JPEG, H261, etc.
Incorporé dans la recommandation H225.0 de l’ITU-T (partie de H323)
Implanté dans des produits commerciaux (Sun, SGI, Precept, etc.)
-359-
Exemple d’utilisationExemple d’utilisationExemple d’utilisationExemple d’utilisation
Netmeeting de Microsoft
Architecture d’application adaptative
Respect des normes
-360-
Timestamp
Ver P X CC M Payload Type Sequence Number
Synchronisation source (SSRC) identifier
Contributing source (CSRC) identifiers
RTP - les paquetsRTP - les paquetsRTP - les paquetsRTP - les paquets
Transport des informations applicatives Possibilité d'extension/adaptation Contrôle de la QoS en parallèle
-361-
Quelques idées générales (1)Quelques idées générales (1)Quelques idées générales (1)Quelques idées générales (1)
Un réseau longue distance est un réseau d’opérateur
Un opérateur a des clients Les clients veulent un service connu,
même s’il faut le payer pour certaines applications
Le partage égalitaire des ressources dans l’Internet doit être abandonné
-362-
Quelques idées générales (2)Quelques idées générales (2)Quelques idées générales (2)Quelques idées générales (2)
D’un point de vue technique RSVP est (trop?) coûteux en mémoire d’état
dans les routeurs. Il faut trouver une méthode d’agrégation des réservations.
Introduction de plusieurs niveaux de signalisation dans un réseau IP
Lien avec les signalisations des réseaux utilisés (e.g. l’ATM)
-363-
Classification des traficsClassification des traficsClassification des traficsClassification des trafics
A l’entrée d’un réseau, les trafics sont triés et étiquetés
Chaque routeur traite alors les paquets en fonction de leur classe
Routeur extérieur(egress)
Routeur interne(ingress)• Tri et étiquetage
• Conversion de signalisation (e.g. de ou vers RSVP)• Administration
-364-
IP et QoS: synthèseIP et QoS: synthèseIP et QoS: synthèseIP et QoS: synthèse
Réseau «corporate»RSVP
Réseau de transitServices différenciés
Bout en boutRTP-RTCP
-365-
Les technologiesLes technologiesLes technologiesLes technologies
IP et l’ATM
-366-
JustificationJustification
Reconnaissance d’IP Interface applicative bout en bout
Utilisation de l’ATM comme “backbone” Telcos backbone privés IP sur SDH!
QoS Nouvelles applications «mieux» que le «Best Effort»
-367-
Intégration IP sur ATMIntégration IP sur ATM
Accélérer IP Ajouter de la QoS
Frontières IP & ATM Chemin de données Signalisation Plan de contrôle
IP ATM
-368-
ATM vs IP ou ATM et IPATM vs IP ou ATM et IPATM vs IP ou ATM et IPATM vs IP ou ATM et IP
Commutation ou Routage? routeurs flexibles, lents et chers commutateurs rapides, plus économiques
Des routeurs rapides? Gigabit routeurs
Associé IP et ATM pour le meilleur? IP switching Tag Switching MPLS (IETF) Serveurs de route MPOA (ATM Forum)
-369-
Solutions IP / ATMSolutions IP / ATMSolutions IP / ATMSolutions IP / ATM
IETF Classiques (LIS + Routeur)
Classical IP over ATM
Shortcuts ATM NHRP
Commutation de paquets IPswitching, Tag Switching
ATM Forum LANE, IPNNI MPOA
ATMSoft
ATM Hard ATM Hard
IPIP/ATM
IP
-370-
Serveurs de routesServeurs de routes
Des serveurs de route calculent les chemins dans le réseau
Utilisation de NHRP (IETF) Transfert de niveau 3 aux frontières du
réseau request [@MAC S, @IP, VLAN Id] response [@MAC R, VLAN Id]
Commutation de niveau 2 dans le réseau «Shortcut»
3 Com, Hughes, Newbridge, IBM, (Cisco)
-371-
Classical IP: solution simpleClassical IP: solution simpleClassical IP: solution simpleClassical IP: solution simple
Un réseau ATM n’est qu’un sous-réseau ordinaire
Encapsulation LLC / AAL 5 Même vue de bout en bout
XX XX
XX
LIS
C C C
C
C
C
RouteurRouteurATM ARP
Server
ATM ARP
Server
XX XX
XX
LIS
C C C
C
CC
RouteurRouteur
ATM ARP
Server
ATM ARP
Server
XX XX
XX
LIS
C C C
C
CC
ATM ARP
Server
ATM ARP
Server
RouteurRouteur
-372-
Classical IP over ATM : les Classical IP over ATM : les standardsstandardsClassical IP over ATM : les Classical IP over ATM : les standardsstandards
IETFRFC 1483 : « Multiprotocol Encapsulation over ATM
Adaptation Layer 5 » RFC 1577 : « Classical IP and ARP over ATM » RFC 1626 : « Default IP MTU for use over ATM AAL5 » RFC 1755 : « ATM Signaling Support for IP over ATM » RFC 1932 : « IP over ATM : A Framework Document » RFC 2022 : « Support for Multicast over UNI 3.0/3.1
based ATM Network »
-373-
IP et NHRPIP et NHRPIP et NHRPIP et NHRP
NHRP: Next Hop Resolution Protocol NHS (NHRP Server) remplace ARP Server Déroulement d’une transmission: via le
NHS
XX
XX
LIS
C C C
C
C
C
RouteurRouteurNHRPServer
NHRPServer
XX
LIS
C C C
C
CC
RouteurRouteur
NHRPServer
NHRPServer
XX
XX
LIS
C C C
C
CC
NHRPServer
NHRPServer
XX XX XXXX
-374-
IP et NHRPIP et NHRPIP et NHRPIP et NHRP
Demande NHRP: Si adresse destination connue, résolution adresse ATM Si adresse destination inconnue, routage et envoi requête vers
NHS suivant
Envoi de la donnée Utilisation de IP pour NHRP
XX
XX
LIS
C C C
C
C
C
RouteurRouteurNHRPServer
NHRPServer
XX
LIS
C C C
C
CC
RouteurRouteur
NHRPServer
NHRPServer
XX
XX
LIS
C C C
C
CC
NHRPServer
NHRPServer
XX XX XXXX
-375-
IP et NHRPIP et NHRPIP et NHRPIP et NHRP
Quand établir les connexions ATM? Longs flots de données Paquets uniques (DNS par exemple) sont
traités par routage sur des liens pré-établis Problème du multicast ATM de bout en bout n’existe pas!
-376-
IP Switching (Ipsilon - Nokia)IP Switching (Ipsilon - Nokia)IP Switching (Ipsilon - Nokia)IP Switching (Ipsilon - Nokia)
ATMswitch
IP SwitchController
IFMPIFMP
GSMP
IP Switch Contrôle et analyse des flots
Commande du commutateur (GSMP: General Switch Management Protocol)
Mise en place des flots commutés (IFMP: Ipsilon Flow Management Protocol)
-377-
Destination portDestination port
Options if anyOptions if any
Destination addressDestination address
Source addressSource address
ChecksumChecksum
OffsetOffset
Ver.Ver.IHL.IHL.
IP SwitchingIP SwitchingIP SwitchingIP Switching
Définition d’un flot Suite de paquets unicast / multicast
Description d’un flot Applicatif (type 1) Par machine (type 2)
Analyse des paquets IP
TOSTOS Total LengthTotal Length
Identification Flags
ProtocolTTL
Source port
En
-tê
te I
PE
n-t
ête
T
CP
/UD
P
Type 1 et type 2
Type 1 seulement
-378-
IP SwitchingIP SwitchingIP SwitchingIP Switching
XX XX XX XX
XX XX XX
C
XX XX
C C
-379-
ReservedReserved TOSTOS
PAD and AAL5 trailerPAD and AAL5 trailer
Packet DataPacket Data
IdentificationIdentification
IP Switching - encapsulationIP Switching - encapsulationIP Switching - encapsulationIP Switching - encapsulation
Encapsulation sur le canal par défaut LLC/SNAP au dessus
d’ATM Encapsulation en
cas de redirection En-tête IP
compressée AAL 5 reconstitution de l’en-
tête à la sortie
ChecksumChecksumOffset
Total LengthTotal Length
Flags
PAD and AAL5 trailerPAD and AAL5 trailer
Packet DataPacket Data
ProtocolReserved
IdentificationChecksumChecksum
OffsetOffset
Total LengthTotal Length
Flags
-380-
IP SwitchingIP SwitchingIP SwitchingIP Switching
Politique d’établissement des circuits Statistique Par application, en reconnaissant les ports TCP
«nativement» en mode flot: FTP, Telnet, HTTP, X11, etc.
Maintien des circuits Information d’état répétée régulièrement (20s), «soft
state» Performances
Traitement d’un datagramme 3 à 4 fois plus rapide via le switch
-381-
IP Rapide...IP Rapide...
Commutateur vs Routeur Modèle de LAN sur média partagé + Routeur Modèle de LAN commuté +
Routeur IP Serveurs de routes et MPOA
CISCO (MPOA), Newbridge (~MPOA), Cabletron/IBM (propriétaire), ...
PNNIBaynet (IPNNI), 3Com/Digital (propriétaire), ...
«Commutation» IPIpsilon (IP switching), Cisco (Tag Switching), MPLS (IETF), Xylan
(prop), …
POS: Packet over Sonet
-382-
Routeurs GigabitsRouteurs GigabitsRouteurs GigabitsRouteurs Gigabits
Aujourd’hui 250 000 paquets/s 50 000 entrées dans la table de routage
Objectif 20Gb/s, soit 10 M paquets/s hypothèse: 1 paquet ~ 2000 bits
Eléments matrice de commutation processeur le moteur de renvoi (forwarding engine) les cartes d’interface de transmission
-383-
Routeurs GigabitsRouteurs GigabitsRouteurs GigabitsRouteurs Gigabits
Caractéristiques pas de changements architecturaux (subnets) standard cher performances réelles? Avenir
Acteurs: Ascend GRF400, 4 slots, 2.8 M pps, 100.000$,
150.000 routes par carte Cisco BFR BBN 20 M pps!
-384-
POS Packet Over SonetPOS Packet Over SonetPOS Packet Over SonetPOS Packet Over Sonet
Considérer le paquet IP comme un paquet standard pouvant être encapsulé directement dans SONET (ou par l’intermédiaire d’un protocole intermédiaire comme HDLC ou PPP)
Vitesse des routeurs Commutation IP
-385-
MPLSMPLSMPLSMPLS
R1 R2
R3 R4
R5
R12
R6 R7
R11
R10
A
R9R8B
C
ZY
X
T
-386-
MPLS exempleMPLS exempleMPLS exempleMPLS exemple
Structure de la table: Label en entrée LSR suivant Action
Push Pop Nop
Label en sortie
A vers X B vers Y C vers Z
Table de R5 : - R5 push 4 4 R3 push 5
Table de R8 : 7 R8 pop - 3 R10 nop 8 4 R11 nop 8 Table de R12 : - R12 push 5 5 R6 push 7
Table de R7 : 2 R7 pop - 3 R8 nop 7 5 R9 nop 6
Table de R6 : 7 R7 nop 2
Table de R1 : - R2 push 3
Table de R2 : 3 R3 push 5 Table de R3 : 5 R4 nop 3 Table de R4 : 3 R6 push 7
-387-
TCP-IPTCP-IPTCP-IPTCP-IP
La voix
-388-
Codage de la voix - du sonCodage de la voix - du son
Numérisation Quantification Codage
-389-
Codage efficaceCodage efficaceCodage efficaceCodage efficace
Définir un modèle de son Analyser Transporter des paramètres Synthétiser
Modèle
Paramètres
Modèle
-390-
Les standards de la voixLes standards de la voixLes standards de la voixLes standards de la voix
Quelques exemples de codages de la voix: 1016: standard DoD à 4.8 kbps GSM de l’ITU à 13 kbps G 711 de l’ITU à 64 kbps
Pour la voix sur IP G 723.1 de l’ITU à 5.3 kbps
-391-
La voix sur IPLa voix sur IPLa voix sur IPLa voix sur IP
Transmission d’une information isochrone
Problème de maîtrise des délais et de la gigue
Expérimentations nombreusesProduits opérationnels
Architecture normalisée H323 Utilisation de RTP/RTCP pour le
contrôle de la qualité de service
-392-
Architecture de protocolesArchitecture de protocolesArchitecture de protocolesArchitecture de protocoles
Le cadre général actuel est H323 de l’ITU-T intégrant voix - données - audio sur réseaux de données
Intègre RTP/RTCP
H.2
25
Rés
eau
H.245
Q.931Contrôle
T.120Données
Voix
Vidéo
G.7xx
H.26x
-393-
La téléphonie sur IPLa téléphonie sur IPLa téléphonie sur IPLa téléphonie sur IP
Autre problème: interfonctionnement avec le réseau téléphonique classique
Mise en place de passerelles d’interconnexion Développement d’un réseau de type opérateur
RTC Réseau IPlongue distance
RTC
-394-
Voix sur IP: exempleVoix sur IP: exempleVoix sur IP: exempleVoix sur IP: exemple
Architecture de Vocaltec (http://www.vocaltec.com)
-395-
Vendeurs de voix sur IP - 1Vendeurs de voix sur IP - 1Vendeurs de voix sur IP - 1Vendeurs de voix sur IP - 1
Vendor URL Product Price per port
ACT http://www.acti.com Servicexchange 5, SX 10 $500 (24 ports), plus $3,995 for gatekeeper
Ascend http://www.ascend.com Ascend VoIP $750 (48 ports), plus $3,000 and up for gatekeeper
Cisco http://www.cisco.com Voice/fax modules for 3600 series $6,900 (full router with 4 voice ports)
E-Fusion http://www.efusion.com eStream $2,500 (24 ports)
Franklin http://www.ftel.com Tempest Data/Voice Gateway $987 (24 ports)
Hypercom http://www.hypercom.com Integrated Enterprise Network (IEN) $300 (24 ports)
Inter-tel http://www.inter-tel.com Vocalnet Server $1,580 (24 ports), plus $230 per port for gatekeeper
Lucent http://www.lucent.com Internet Telephony Server $2,520 (24 ports)
Micom http://www.micom.com V/IP Phone/Fax IP Gateway $750 (24 ports)
Motorola http://www.mot.com/isg Vanguard 320 Vipr, MP Router Vipr series $660 (24 ports)
Netrix http://www.netrix.com Network Exchange 2210 $500 (24 ports); $390 (168 ports)
Netspeak http://www.netspeak.com Webphone Gateway Exchange $2,000 (24 ports)
Phonet http://www.phonet.co.il Ethergate $600, plus $600 for PC server
RADvision http://www.radvision.com L2W-323 $1,000 (8 ports)
3Com http://www.3com.com Hiper Access System for Total Control $500
Vienna http://www.viennasys.com Vienna.way $900 (48 ports), plus $5,000 for gatekeeper
Vocaltec http://www.vocaltec.com Vocaltec Telephony Gateway $1,400 (24 ports); gatekeeper price not disclosed
D’ a
prè
s D
ataC
omm
un
icat
i on
s, a
vril
199
8
-396-
Vendeurs de voix sur IP - 2Vendeurs de voix sur IP - 2Vendeurs de voix sur IP - 2Vendeurs de voix sur IP - 2
Vendor ArchitectureH.323compliance
Maximumcompression
Latency testprior to call
RSVP
ACT DSP No 4.8 kbit/s No No
Ascend DSP Yes 8 kbit/s No No
Cisco DSP Yes 7.9 kbit/s No Yes
E-Fusion DSP Yes 5.3 kbit/s No No
Franklin DSP Yes 6.3 kbit/s No No
Hypercom DSP Yes 5.3 kbit/s No Yes
Inter-tel DSP No 13.6 kbit/s No No
Lucent DSP Yes 5.3 kbit/s Yes Yes
Micom DSP No 5.3 kbit/s No Yes
Motorola DSP No 5.3 kbit/s No Yes
Netrix DSP No 5.5 kbit/s No No
Netspeak DSP No 13.6 kbit/s Yes No
Phonet DSP Yes 5.3 kbit/s No Yes
RADvision DSP Yes 5.3 kbit/s No No
3Com DSP Yes 5.3 kbit/s Yes No
Vienna DSP No 7.3 kbit/s No No
Vocaltec CPU, DSP Yes 4.8 kbit/s No Yes
D’ a
prè
s D
ataC
omm
un
icat
i on
s, a
vril
199
8
-397-
TCP - IPTCP - IPTCP - IPTCP - IP
La représentation des données
-398-
La couche présentation de La couche présentation de l’ISOl’ISOLa couche présentation de La couche présentation de l’ISOl’ISO
Spécification
Application
Application
000000FF
0000FF00255
255
Réseau
Entier
Entier
-399-
La couche présentation de La couche présentation de l’ISOl’ISOLa couche présentation de La couche présentation de l’ISOl’ISO
Spécification
Application
Application
000000FF
0000FF00255
255
Réseau
Traduction
Traduction
Entier
Entier
-400-
La couche présentation: les La couche présentation: les méthodes (1)méthodes (1)La couche présentation: les La couche présentation: les méthodes (1)méthodes (1)
Langage de spécification des données Règles de codage Protocole pour le choix Les outils
ASN.1 (Abstract Syntax Number 1)ISO 8824 et 8825
XDR (eXternal Data Representation)
-401-
Le codage ISO: ASN.1Le codage ISO: ASN.1Le codage ISO: ASN.1Le codage ISO: ASN.1
Un langage de description de données Détaché d’un langage de programmation Plus général que XDR Même objectif que XDR
Une technique de codage Codage TLV Codage hiérarchique
-402-
Codage des données: Codage des données: exemple ASN.1exemple ASN.1Codage des données: Codage des données: exemple ASN.1exemple ASN.1
ASSIST SA
FACTURE n°
Paris, le
Désignation Unitaire Qté Total HT
TOTAL HT TVA TOTAL TTC
Une facture Définition informelle Définition formelle Codage Transfert Traitement
-403-
Spécification en ASN.1 (1)Spécification en ASN.1 (1)Spécification en ASN.1 (1)Spécification en ASN.1 (1)
Echange-Facture DEFINITIONS ::=BEGINDate ::= [APPLICATION 2] SEQUENCE {
jour INTEGER, -- 1 à 31mois INTEGER, -- 1 à 12an INTEGER }
Numéro ::= [APPLICATION 3] IMPLICIT INTEGERPrix ::= [APPLICATION 4] SEQUENCE {
francs INTEGER,centimes INTEGER }
Ligne ::= [APPLICATION 5] SEQUENCE {désignation IA5String,unitaire Prix,quantité INTEGER,horsTaxes Prix }
-404-
Spécification en ASN.1 (2)Spécification en ASN.1 (2)Spécification en ASN.1 (2)Spécification en ASN.1 (2)
Facture ::= [APPLICATION 1] SEQUENCE {date Date,numéro Numéro,article SEQUENCE OF Ligne,totalHT Prix,tVA Prix,tTC Prix }
END
-405-
ASN.1: désignation des objetsASN.1: désignation des objetsASN.1: désignation des objetsASN.1: désignation des objets
Chaque spécification possède un nom Obtenu depuis un catalogue Codable en OBJECT IDENTIFER
Une définition peut être utilisée dans un protocole
Exemple: dans les protocoles de gestion de réseaux
numéro de l'avis
a(1)
Jusque z(26)
numéro de groupe + période * 32
question en étude
DCC de X121
DNIC de X121
recommandation(0)
question(1)
administration(2)
operateur-reseau(3)
ccitt(0)
standard(0)numéro de norme
partie de norme
Autorité d'enregristrement(1)
membre (2)code pays (ISO 3166)
organisation reconnue(3)
code international (ISO 6523)
code organisation
iso(1)
Présentation(0)
ASN.1 (1)
ACSE (2)
RTS (3)
ROS (4)
Répertoire (5)
MHS (6)
ccr (7)
oda (8)
joint-iso-ccitt(2)
ASN.1: ASN.1: les objetsles objetsASN.1: ASN.1: les objetsles objets
-407-
TCP - IPTCP - IPTCP - IPTCP - IP
La gestion de réseaux
-408-
Gestion de réseauxGestion de réseaux
Les outils de base «livrés en standard» ICMP, EGP, BGP, RIP, OSPF
Administration ISO Démarche de convergence ISO-TCP/IP Création de SNMP SNMP v2 CMIP
-409-
Gestion ISOGestion ISOGestion ISOGestion ISO
Les domaines fonctionnels: Gestion des configurations Gestion des performances Gestion des fautes Gestion des ressources Gestion de la sécurité
Pour quoi faire?
-410-
Gestion: point de vue Gestion: point de vue pragmatiquepragmatiqueGestion: point de vue Gestion: point de vue pragmatiquepragmatique
Le métier du gestionnaire dans le temps: Le court terme
Traitement des pannesConfiguration des machines
Le moyen termeRéglage et surveillanceGestion et suivi des coûts
Le long termePlanification
-411-
Outils simples de gestionOutils simples de gestionOutils simples de gestionOutils simples de gestion
PING et le test de connectivité TRACEROUTE (TRACERT)
0- i:=0
1- Envoi d’un datagramme avec TTL=i
2- Récupération du message ICMP
3- i := i+1
4- Aller en 1
-412-
Gestion des réseaux: TCP-IPGestion des réseaux: TCP-IP Méthodes simples
$ ping -c 10 hera.ibp.frPING hera.ibp.fr (132.227.61.135): 56 data bytes64 bytes from 132.227.61.135: icmp_seq=0 ttl=254 time=2.5 ms64 bytes from 132.227.61.135: icmp_seq=1 ttl=254 time=2.5 ms64 bytes from 132.227.61.135: icmp_seq=2 ttl=254 time=3.8 ms64 bytes from 132.227.61.135: icmp_seq=3 ttl=254 time=2.4 ms64 bytes from 132.227.61.135: icmp_seq=4 ttl=254 time=2.4 ms64 bytes from 132.227.61.135: icmp_seq=5 ttl=254 time=2.4 ms64 bytes from 132.227.61.135: icmp_seq=6 ttl=254 time=2.8 ms64 bytes from 132.227.61.135: icmp_seq=7 ttl=254 time=2.5 ms64 bytes from 132.227.61.135: icmp_seq=8 ttl=254 time=2.7 ms64 bytes from 132.227.61.135: icmp_seq=9 ttl=254 time=2.5 ms
--- hera.ibp.fr ping statistics ---10 packets transmitted, 10 packets received, 0% packet lossround-trip min/avg/max = 2.4/2.6/3.8 ms
-413-
Gestion des réseaux: TCP-IPGestion des réseaux: TCP-IP Méthodes simples
$ ping -c 10 mozart.ee.uts.edu.auPING mozart.ee.uts.edu.au (138.25.40.35): 56 data bytes64 bytes from 138.25.40.35: icmp_seq=0 ttl=223 time=689.9 ms64 bytes from 138.25.40.35: icmp_seq=1 ttl=223 time=780.0 ms64 bytes from 138.25.40.35: icmp_seq=2 ttl=223 time=793.5 ms64 bytes from 138.25.40.35: icmp_seq=3 ttl=223 time=758.5 ms64 bytes from 138.25.40.35: icmp_seq=4 ttl=223 time=676.1 ms64 bytes from 138.25.40.35: icmp_seq=5 ttl=223 time=640.1 ms64 bytes from 138.25.40.35: icmp_seq=8 ttl=223 time=1076.1 ms64 bytes from 138.25.40.35: icmp_seq=9 ttl=223 time=921.0 ms
--- mozart.ee.uts.edu.au ping statistics ---10 packets transmitted, 8 packets received, 20% packet lossround-trip min/avg/max = 640.1/791.9/1076.1 ms
-414-
Gestion des réseaux: TCP-IPGestion des réseaux: TCP-IP Méthodes simples
$ traceroute sophia.inria.fr traceroute to sophia.inria.fr (138.96.32.20), 30 hops max, 40 byte packets 1 mercure-gw.ibp.fr (132.227.72.1) 1 ms 1 ms 1 ms 2 hera.ibp.fr (132.227.61.135) 2 ms 2 ms 2 ms 3 kerbere.ibp.fr (132.227.60.3) 4 ms 4 ms 4 ms 4 r-jusren.reseau.jussieu.fr (134.157.252.254) 125 ms 10 ms 92 ms 5 r-rerif.reseau.jussieu.fr (192.44.54.1) 4 ms 33 ms 34 ms 6 danton1.rerif.ft.net (193.48.58.121) 31 ms 12 ms 15 ms 7 stlamb3.rerif.ft.net (193.48.53.49) 16 ms 28 ms 32 ms 8 stamand1.renater.ft.net (192.93.43.115) 206 ms 136 ms 47 ms 9 lyon1.renater.ft.net (192.93.43.89) 360 ms 30 ms 33 ms10 marseille.renater.ft.net (192.93.43.73) 32 ms 49 ms 32 ms11 marseille1.r3t2.ft.net (192.93.43.49) 36 ms 24 ms 17 ms12 sophia1.r3t2.ft.net (193.48.50.33) 32 ms 24 ms 28 ms13 inria-sophia.r3t2.ft.net (193.48.50.50) 26 ms 33 ms 36 ms14 193.48.50.170 (193.48.50.170) 46 ms 31 ms 27 ms15 sophia-gw.inria.fr (193.51.208.1) 33 ms 45 ms 29 ms16 t8-gw.inria.fr (138.96.64.250) 23 ms 39 ms 26 ms17 sophia.inria.fr (138.96.32.20) 38 ms 33 ms 27 ms
-415-
Gestion des machinesGestion des machinesGestion des machinesGestion des machines
Configuration dynamique des machines RARP BOOTP DHCP
Distribution des adressesDistribution des informations de routage
minimalesDistribution de paramètres spécifiques
-416-
Gestion de réseaux: pourquoi Gestion de réseaux: pourquoi un protocole?un protocole?Gestion de réseaux: pourquoi Gestion de réseaux: pourquoi un protocole?un protocole?
Gestion de réseau = Collecte d’information Filtrage des informations Interprétation des informations Modification des paramètres du réseau
Le protocole, c’est L’accès aux informations
-417-
Gestion des réseaux: modèle Gestion des réseaux: modèle de l’ISOde l’ISO
LME
LME
LME
LME
LME
LME
LME
A
P
S
T
R
L
P
SMAE
?
GetSet
ActionCreateDelete
Event-reportMIB
Description
-418-
Gestion de réseaux: SNMPGestion de réseaux: SNMP
Primitives simples Structuration des
réseaux Limitations
nombre sécurité
Logiciels "hyperviseurs"
Centrede gestion
Systèmegéré
Requête
Alarme
PROXYSystème
géré
-419-
Gestion de réseaux: SNMPGestion de réseaux: SNMP
Structure de la MIB 171 objets définis dans la MIB II
Exemple du groupe system
sysDescrsysObjectIDsysUpTimesysContactsysNamesysLocationsysServices
Description libre du systèmeIdentification logiciel agentTemps depuis activationNom d'un administrateurNom du systèmeEmplacement physiqueServices offerts (niveaux)
-420-
SNMP: Les MIBsSNMP: Les MIBsSNMP: Les MIBsSNMP: Les MIBs
Groupe MIB MIB ButsI II
system 3 7 Informations sur le nœud lui-mêmeinterfaces 22 23 Les connexions vers les réseauxat 3 3 Traductions d'adresses IP; va disparaîtreip 33 38 Le protocole IPicmp 26 26 Le protocole ICMPtcp 17 19 Le protocole TCPudp 4 7 Le protocole UDPegp 6 18 Le protocole EGPtransmission - 0 nouveausnmp - 30 nouveau
-421-
Structure des informations de Structure des informations de gestion (SMI)gestion (SMI)Structure des informations de Structure des informations de gestion (SMI)gestion (SMI)
cc itt(0 )
d irec to ry(1 )
sys tem in te rface ip ... sn m p rm on (1 6 )
m ib (1 )
m g m t(2 ) exp erim en ta l(3 )
en te rp rises (1 )
p riva te (4 )
in te rn e t(1 )
d od (6 )
o rg (3 )
iso (1 ) jo in t-iso -cc itt(2 )
-422-
La MIB RMONLa MIB RMONLa MIB RMONLa MIB RMON
Ethernet, puis Token Ring, FDDI 9 groupes
eth erS ta tsE n try
e th erS ta tsTab le
s ta tis t ic s h is to ry a la rm h os ts h os tTop N m atrix filte r cap tu re even t
rm on
EtherStatsEntry ::= SEQUENCE { etherStatsIndex INTEGER (1..65535), etherStatsDataSource OBJECT IDENTIFIER, etherStatsDropEvents Counter, etherStatsOctets Counter, etherStatsPkts Counter, etherStatsBroadcastPkts Counter, etherStatsMulticastPkts Counter, etherStatsCRCAlignErrors Counter, etherStatsUndersizePkts Counter, etherStatsOversizePkts Counter, etherStatsFragments Counter, etherStatsJabbers Counter, etherStatsCollisions Counter, etherStatsPkts64Octets Counter, etherStatsPkts65to127Octets Counter, etherStatsPkts128to255Octets Counter, etherStatsPkts256to511Octets Counter, etherStatsPkts512to1023Octets Counter, etherStatsPkts1024to1518Octets Counter, etherStatsOwner OwnerString, etherStatsStatus INTEGER }
-424-
SNMP v2SNMP v2SNMP v2SNMP v2
GetRequest, GetNextRequest, GetBulkRequest, SetRequest, InformRequest, Trap
Sécurité par cryptage et authentification
Gestion hiérarchique
-425-
Les logicielsLes logicielsLes logicielsLes logiciels
SunNet Manager, Dec mcc, HP Openview, Spectrum, Netview, ISM, etc.
Fonctions comparables Découverte de réseaux Programmation Alertes Intégration de nouvelles MIBs (compilation) Filtrage Stations de travail ou PCs
-426-
Limitations fonctionnelles des Limitations fonctionnelles des protocolesprotocolesLimitations fonctionnelles des Limitations fonctionnelles des protocolesprotocoles
Accès à de l’information locale sur un nœud
Problème de la consolidation Par le calcul Par le déport de fonctions
Exemple des sondes matérielles RMON
Problématique de sécurité dans les échanges
-427-
Les outils de prédiction de Les outils de prédiction de performancesperformancesLes outils de prédiction de Les outils de prédiction de performancesperformances
Qualitatif Spécification formelle Traitement automatique Les outils théoriques: Réseaux de Petri
Quantitatif Modélisation ou prototypage Analyse ou simulation Les outils théoriques: Probabilités
-428-
Simulation de réseauxSimulation de réseauxSimulation de réseauxSimulation de réseaux
Introduction à l’utilisation de NS (Network Simulator)
-429-
Pourquoi et Comment?Pourquoi et Comment?Pourquoi et Comment?Pourquoi et Comment?
La simulation est l’outil d’évaluation de performances des systèmes complexes
La simulation est simple … et compliquée
De l’exploitation des résultats De la réutilisabilité des modèles, des
trafics, des résultats
-430-
NS: Network SimulatorNS: Network SimulatorNS: Network SimulatorNS: Network Simulator
Création d’un noyau de simulation en C++ Ajout de composants à la demande Diffusion gratuite Système de référence Fonctionne sur tout système où C++ existe Outils complémentaires: visualisation,
génération de topologies, etc. Deux utilisations possibles:
Assemblage de briques de base Conception de briques
-431-
NS: quelques référencesNS: quelques référencesNS: quelques référencesNS: quelques références
Le projet VINT http://netweb.usc.edu/vint USC/ISI, Xerox parc, LBNL et UCB
Application Web, ftp, telnet, générateur de trafic (CBR, ...)
Transport TCP, UDP, RTP, SRM
Routage Statique, dynamique (vecteur distance) et routage
multipoint (DVMRP, PIM)
Gestion de file d'attente RED, DropTail, Token bucket
Discipline de service CBQ, SFQ, DRR, Fair queueing
Système de transmission CSMA/CD, CSMA/CA, lien point à point
-432-
NS: le principe de baseNS: le principe de baseNS: le principe de baseNS: le principe de base
Écrit en C++ Interface en Tcl /
Otcl Double hiérarchie
de classes Suivant l’usage, on
ne voit que l’une des hiérarchies
Utilisateur
OTcl
C++NS
-433-
NS: Utilisation simple - 1NS: Utilisation simple - 1NS: Utilisation simple - 1NS: Utilisation simple - 1
A B
# création d'un simulateurset ns [new Simulator]
# création du fichier de trace utilisé par nam# et indication à ns de l'utiliserset nf [open out.nam w]$ns namtrace-all $nf
# lorsque la simulation sera terminée, cette procédure est appelée# pour lancer automatiquement le visualisateurproc finish {} {
global ns nf$ns flush-traceclose $nfexec nam out.nam &exit 0
}
-434-
NS: Utilisation simple - 2NS: Utilisation simple - 2NS: Utilisation simple - 2NS: Utilisation simple - 2
# création de deux noeudsset n0 [$ns node]set n1 [$ns node]# création d'une ligne de communication full duplex# entre les noeuds n0 et n1$ns duplex-link $n0 $n1 1Mb 10ms DropTail# création d'un agent générateur de paquets à vitesse constante# paquets de 500 octets, générés toutes les 5 ms# implantation de cet agent dans le noeud n0set cbr0 [new Agent/CBR]$ns attach-agent $n0 $cbr0$cbr0 set packetSize_ 500$cbr0 set interval_ 0.005# création d'un agent vide, destiné à recevoir les paquets# il est implanté dans n1set null0 [new Agent/Null]$ns attach-agent $n1 $null0# le trafic issus de l'agent cbr0 est envoyé# vers null0$ns connect $cbr0 $null0
-435-
NS: Utilisation simple - 3NS: Utilisation simple - 3NS: Utilisation simple - 3NS: Utilisation simple - 3
# scénario de début et de fin de génération des paquets par cbr0$ns at 0.5 "$cbr0 start"$ns at 4.5 "$cbr0 stop"
# la simulation va durer 5 secondes$ns at 5.0 "finish"
# début de la simulation$ns run
-436-
TCP-IPTCP-IPTCP-IPTCP-IP
Les services en ligne
-437-
Service en ligne: architectureService en ligne: architectureService en ligne: architectureService en ligne: architecture
Réseau privé
Réseau téléphonique
INTERNET
Passerelle
Passerelleet modem
-438-
Service en ligne: organisationService en ligne: organisationService en ligne: organisationService en ligne: organisation
Intégré à l’INTERNET
Fermé et privé Mixte
Abonnement (hors communications)
Facturation Directe Le service Reversement
-439-
Le Web: interactionsLe Web: interactionsLe Web: interactionsLe Web: interactions
A l’origine serveur vers client
Les réponses du client
CGI: Common Gateway Interface
1 2 3 4
1- requête2- page3- paramètres4- résultats
-440-
Le Web: interactionsLe Web: interactionsLe Web: interactionsLe Web: interactions
Accès aux données sur d’autres serveurs
Serveur Web
Base dedonnées
HTTP
JDBCODBCNSAPIISAPI
-441-
Le Web: gestion de Le Web: gestion de transactionstransactionsLe Web: gestion de Le Web: gestion de transactionstransactions
Installation d’une mémoire d’état Utilisation des cookies Mémorisation d’état dans le serveur Contexte de l’échange maintenu
Programmation coté serveur Pages ASP Scripts CGI PHP Etc.
-442-
Le Web: les cachesLe Web: les cachesLe Web: les cachesLe Web: les caches
Pour améliorer les performances
Les accès sont localisés
L’intérêt est commun
Réseau
Cache
Serveur
-443-
Le développement de pagesLe développement de pagesLe développement de pagesLe développement de pages
Editeurs spécifiques (Frontpage, HotMetal, Adobe PageMill, etc.)
Transformation et/ou conversion Exemple de Word (enregistrer au format
HTML) La méthodologie Les serveurs et le suivi
-444-
Java et JDBCJava et JDBCJava et JDBCJava et JDBC
Réseau
Accès auxdonnées
Téléchargement
Appli Java
Driver JDBC
JDBC/ODBC
JDBC API
-445-
ActiveXActiveXActiveXActiveX
1- Requête2- Chargement contrôle ActiveX
3- Exécution du contrôle
Technologie Microsoft Plate-forme Windows Portage Authentification VeriSign
-446-
Les moteurs de rechercheLes moteurs de rechercheLes moteurs de rechercheLes moteurs de recherche
Exploration systématique Constitution d’une base de donnée
par indexation automatique Analyse d’une requête
Ensemble de mots clés Comparaison des mots clés Mesure de pertinence
-447-
BibliographieBibliographieBibliographieBibliographie
Réseaux, A. Tannenbaum, Prentice Hall, 1997
Les réseaux, G. Pujolle, Eyrolles, 1997 Internetworking with TCP/IP, D.E. Comer,
Prentice Hall, 1996 IPv6 the New Internet protocol, C. Huitema,
Prentice Hall, 1996 Gestion de réseaux et de services, N.
Simoni et S. Znaty, InterEditions, 1997