TCP-IP 1ère journée: Organisation, Techniques de base, Adressage, Multicast, Evolution http://www.lip6.fr.

Slides:



Advertisements
Présentations similaires
Sécurité informatique
Advertisements

Module Architectures et Administration des réseaux
Chap. 4 Recherche en Table
La Couche Réseau.
Routage Statique AfNOG 2003 PLAN Quest ce que le routage ? Pourquoi faire du routage sur un réseau ? PRINCIPES DU ROUTAGE IP PROTOCOLES DE ROUTAGE IP Définition.
Présentation de l’Internet
Administrer Internet et les réseaux TCP / IP
– Routage. Sommaire 1)Principes fondamentaux 1)Routage statique et dynamique 1)Convergence 1)Routage à vecteur de distance 1)Routage à état de liens 1)Systèmes.
Protocole PPP* *Point-to-Point Protocol.
Routage Classless VLSM/CIDR. Sommaire 1)Introduction au routage classless 1)CIDR* 1)VLSM** 1)Configuration * Classless Inter-Domain Routing ** Variable.
- Couche 4 - Couche transport. Sommaire 1) Caractéristiques de la couche transport 2) Les protocoles TCP & UDP 3) Méthode de connexion TCP.
- Couche 7 - Couche application. Sommaire 1)Introduction 1)DNS 1)FTP et TFTP 1)HTTP 1)SNMP 1)SMTP 1)Telnet.
DUDIN Aymeric MARINO Andrès
La Téléphonie sur IP Broussard Philippe Lagrue Sandra DESS IIR
ISP/ASP ISP ASP Conclusion DESS Réseaux 2000/2001
Architecture de réseaux
Réseaux Privés Virtuels
Formation réseau de base
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
Cours Présenté par …………..
FIN. Lycée Général et Technologique Simone de BEAUVOIR Quest-ce quInternet? On compare souvent Internet à une « autoroute » FIN.
UDP – User Datagram Protocol
Les Réseaux (Informatiques)
1 Le protocole UDP Dominique SERET. Octobre 2000 Dominique SERET - Université René Descartes 2 UDP : User Datagram Protocol n UDP : protocole de transport.
Exercice Trame Ethernet
PLAN Qu’est ce que le routage ?
Active Directory Windows 2003 Server
Introduction aux réseaux
Etude des Technologies du Web services
SECURITE DU SYSTEME D’INFORMATION (SSI)
XML-Family Web Services Description Language W.S.D.L.
Lycée Général et Technologique du Rempart - Marseille.
Architecture Réseau Modèle OSI et TCP.
TCP/IP.
Présentation générale
Serveurs Partagés Oracle
Analyse des protocoles de la couche application
Chef de projet : COUDERC Antoine Equipe : DELMON - GENIEZ - LACROIX
TRANSMISSION DES DONNEES.
Virtual Local Area Network
Chapitre 4.
Mise en place d'un serveur SSL
Les relations clients - serveurs
Gestion des bases de données
Le Modele OSI.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Aire d’une figure par encadrement
Introduction à l’architecture de l’Internet
Vue d'ensemble Configuration d'adresses IP
Adressage internet utilisé par le protocole IP (Internet Protocol)
Copyright © SUPINFO. All rights reserved Module 3 – IP Basics IP adresses, classes and routing Campus-Booster ID : 802.
Cours 5 Le modèle de référence.
Sommaire Dans ce chapitre, nous aborderons :
Réseau Infrastructure Partage ressources Protocole Sécurité.
IPv6 : L’Internet de demain
ARP Le protocole ARP Pour qui utilise-t-on le protocole ARP ? ou
Cours de programmation web
Couche Transport (4) Routeur Messages entre A et B
OSI et TCP/IP CNAM
Les Réseaux Informatiques Clients & Serveurs Le protocole FTP Laurent JEANPIERRE DEUST AMMILoR.
Module 3 : Création d'un domaine Windows 2000
Les Réseaux Informatiques
Réseaux Informatiques
IPSec Formation.
3.3 Communication et réseaux informatiques
-7- Notions de Routage.
V- Identification des ordinateurs sur le réseau
Couche réseau du modèle OSI
Architecture Client/Serveur
Transcription de la présentation:

TCP-IP 1ère journée: Organisation, Techniques de base, Adressage, Multicast, Evolution http://www.lip6.fr

TCP - IP Introduction

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

Le cahier des charges Des applications Les contraintes Gestion de terminaux Messagerie Transfert de fichiers Gestion de noms Les contraintes Sauvegarde de l’existant Diffusion gratuite et large

Les grandes orientations techniques 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

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

Concepts de l’interconnexion (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.

Concepts de l’interconnexion (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

Concepts de l’interconnexion (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

Concepts de l’interconnexion (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 Applicatifs Services de transport Service réseau en mode non connecté

Vocabulaire 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

INTERNET dans le monde

Le 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

Interconnexion de réseaux P1 Les réseaux Les passerelles Les protocoles Les adresses Approche DoD Le monde TCP-IP A B C Réseau 1 Réseau 3 P1 Px P2 Réseau 2 Réseau 4 D G E F

Architecture TCP-IP Machine A Passerelle Machine D Applications standards Applications standards Protocole IP Protocole IP Protocole IP Protocole d'accès à R1 R1 R2 Protocole d'accès à R2 Réseau R1 Réseau R2

TCP - IP L’adressage

Architecture TCP-IP: adressage 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 A P1 P2 Réseau B Réseau C 32 bits => 4,3 milliards d’adresses Réseau Machine

L’adressage Internet (suite) 8 16 24 31 Classe A Net-id Host-id 1 Net-id Host-id Classe B Net-id Host-id Classe C 1 1 Classe D 1 1 1 Multicast 1 1 1 1 Réservé Classe E

Espace d’adressage IPv4 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

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;

L’adressage Internet (suite) 8 16 24 31 désigne la machine courante Tout à zéro machine Host-id sur le réseau courant Tout à zéro Host-id diffusion limitée sur le réseau courant Tout à un diffusion dirigée sur le réseau Net-id Net-id Tout à un 127 N’importe quoi (souvent 1) boucle locale

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.2 192.100.1.1 La passerelle est multi-domiciliée: interface 1 : Ethernet 193.49.60.1 interface 2 : Token Ring 192.100.1.1 192.100.1.7

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

Réseau/Ss-réseau/Machine Le sous-adressage Pour ajouter une hiérarchie dans l’adressage Structuration de la partie machine Caractéristique du réseau Réseau/Machine Masque de réseau Vision interne Réseau/Ss-réseau/Machine RFC 917, 950, 1219

Le sous-adressage (suite) 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 128.10.1.0 .1 .2 .3 .4 Internet P A B C 128.10.0.0 .2 128.10.2.0 .6 .2 .9 D E F 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.

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

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.

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 Réseau 1 Réseau 4 P4 P3 P2 P5 Réseau 5 Réseau 3 Réseau 2 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.

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.

Le sous-adressage (suite) 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

Configuration WIN 9x/NT Pourquoi une machine doit-elle connaître le masque ? 11000000 10101000 0000001 00100010 11000000 10101000 0000001 00100000 192 168 1 32 11111111 1111111 11111111 11110000 Destination pour le routage

Le sous-adressage variable (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)

VLSM : 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.254.32.0/19 11.254.192.0/19 11.1.1.0/24 11.1.254.0/24 11.1.253.32/27 11.1.253.64/27 . . . 11.1.253.192/27 "Autre technique" : CIDR

Problèmes (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

Format 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

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

Adressage 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

Adressage local Sous-réseau 172.16.21.0 172.16.0.0 195.212.10.192/26

Traduction d’adresses (NAT,NAPT) 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 Adresse interne Application Adresse externe Application Association dynamique NAT: Network Adress Translation NAPT: Network Adress Port Translation RFC 2663, 2993, 3022, 3235

PAQUET SORTANT MODIFIE PAQUET REPONSE MODIFIE Le NAT 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 NAT 195.212.10.194 172.16.21.12 ASSOCIATIONS PAQUET REPONSE MODIFIE 172.16.21.12 193.200.61.4 A. Source A. destination PAQUET REPONSE A. Source A. destination 195.212.10.194 193.200.61.4 INTRANET INTERNET

PAQUET SORTANT MODIFIE PAQUET SORTANT MODIFIE Le NAPT PAQUET SORTANT 172.16.21.12 193.200.61.4 A. Source A. destination 6153 80 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 NAPT ASSOCIATIONS PAQUET REPONSE 193.200.61.4 172.16.21.12 A. Source A. destination 80 6153 P. Source P. destination 195.212.10.194 172.16.21.12 50148 6153 PAQUET REPONSE 193.200.61.4 195.212.10.194 A. Source A. destination 80 50148 P. Source P. destination INTRANET PAQUET SORTANT 172.16.34.25 128.234.50.37 A. Source A. destination 7683 23 P. Source P. destination INTERNET PAQUET SORTANT MODIFIE 195.212.10.194 128.234.50.37 A. Source A. destination 50149 23 P. Source P. destination 195.212.10.194 172.16.34.25 50149 7683 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

Application Layer Gateway Problèmes du NAT,NAPT Certaines applications transportent des adresses IP et/ou des n° de port: FTP DNS Mobile IP IPSec WINS HTTP H323 RSVP Application Layer Gateway (ALG)

Problèmes du NAT,NAPT 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 PERFORMANCES !

TCP-IP Protocole IP version 4

Le datagramme IP 4 8 16 19 24 31 Version d'IP Longueur en-tête 4 8 16 19 24 31 Version d'IP Longueur en-tête Type de service Longueur totale du paquet Identification du paquet Identification 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 D T R Précé- dence Type de service DF MF IP: Internet Protocol RFC 791 Drapeaux ping –f –l 1473 machine -f: Don’t Fragment

Traitement des erreurs:ICMP Une erreur se traduit par la disparition d’un paquet: Impact utilisateur Impact réseau (administrateur) Appli IP Gest ICMP X ICMP: Internet Message Control Protocol RFC 792

ICMP : modification de route 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. Re-routage B Internet R1 R2 2ème routage Route par défaut Redirection ICMP A Une fois la redirection effectuée, les datagrammes seront acheminés vers la passerelle appropriée.

La conversion des adresses Au niveau des applications: adresses IP Au niveau du réseau réel: adresses natives Besoin de conversion Nom symbolique Utilisateur Application Adresse IP IP - protocole Adresse IP IP - routage Adresse IP Passerelle IP - conversion ad. Adresse réelle Passerelle Réseau réel

ARP: Technique Le besoin La solution : ARP La technique : 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: Exemple 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). A X B Y

ARP: Table de transcodage

RARP: Technique Le besoin La solution : RARP La technique : 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: Exemple 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). A X B Y Serveur primaire RARP

BOOTP BOOTP (BOOTstrap Protocol) La technique : 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

DHCP 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

TCP - IP Traces de réseaux

Le dispositif d’observation Internet C D

Structure d’une trame Ethernet Adresse source Adresse dest Préambule Type Données CRC 64 48 48 16 ……... 32 0200 XEROX PUP 0201 PUP Address Trans. 0600 XEROX NS IDP 0800 DOD Internet 0801 X75 Internet 0802 NBS Internet 0803 ECMA Internet 0804 ChaosNet 0805 X25 niveau 3 0806 ARP 0807 XNS 6001 a 6006 DEC 8035 RARP 8098 Appletalk

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

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

Trace de protocole (2) 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) 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

Les protocoles de base: niveau transport TCP - IP Les protocoles de base: niveau transport

Le niveau transport TCP UDP Autres protocoles Fiabilité Contrôles d'erreur, de flux, d'ordre UDP Vérification des erreurs Autres protocoles Applications spécifiques (haut débit) TCP: Transmission Control Protocol RFC 793 UDP: User datagram Protocol RFC 768

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

Transport : (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.

UDP: transport minimal Sans connexion Remise si correct Pas d'ordre Pas de correction d'erreurs Mode client/serveur

Longueur totale du datagramme UDP: Format 8 16 24 31 Port de la source Port du destinataire Longueur totale du datagramme Identification Total de contrôle Données Le total de contrôle s'applique à tout le datagramme plus les adresses IP source et destination (pseudo header)

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

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

Fenêtre d'anticipation Pointeur de données urgentes TCP: Format 4 8 16 24 31 Port de la source Port du destinataire Numéro de séquence Acquittement Longueur en-tête Drapeaux Fenêtre d'anticipation Total de contrôle Pointeur de données urgentes Options éventuelles Bourrage Données 4 10 11 12 13 14 15 Réservé URG ACK PSH RST SYN FIN Drapeaux

TCP : 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

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

TCP: 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

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

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

TCP: contrôle de congestion Slow start et congestion avoidance 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; Slow start Congestion avoidance

TCP: contrôle de congestion Fast retransmit et fast recovery 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 congestion Vie d'une connexion TCP Slow Start Congestion Avoidance Fast Recovery 64 56 48 40 ssthresh Taille de la fenêtre en KB 32 cwnd 24 16 8 10 20 30 40 temps en RTT

Les TCPs 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 RFCs 2001, 2581,2582

TCP et le sans fil: problèmes L'utilisation de réseaux sans fil comme réseaux d'accès ou réseaux capillaires se développe Réseaux d'accès/capillaires sans fil Internet/intranet fillaire

TCP et le sans fil: problèmes 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 BER: Bit Error Rate (Taux d'Erreur Bit)

TCP et le sans fil: problèmes Réseaux d'accès/capillaires sans fil serveur Internet/intranet fillaire CONNEXION TCP 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 !!

TCP et le sans fil: problèmes Serveur WEB 2 : 0 2 : 2 3 : 2 4 : 2 5 : 2 6 : 2 cwnd A : B 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) 30 ms 106 ms 1 ms 33 ms A B RTT: Round Trip Time (Délai aller-retour)

TCP et le sans fil: problèmes 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: "solutions" 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 FEC: Forward Error Correction

TCP et le sans fil: "solutions" 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 I-TCP: Indirect TCP M-TCP: Mobile TCP

TCP et le sans fil: "solutions" 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

L’organisation, les standards TCP - IP L’organisation, les standards

TCP-IP: L'organisation R&D (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/

TCP-IP: L'organisation R&D (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

Les documents: RFC, Internet drafts, 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)

TCP-IP: Les documents de base 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 mailserv@ds.internic.net file /ftp/rfc/rfc822.txt transfert de fichier

Quelques 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

TCP-IP: L'organisation (3) Administration 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)

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

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

RIPE NCC Politique du RIPE Provider Independent (PI) address «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

Le multicast Pourquoi et comment?

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

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»

Diminution de la bande passante GASPILLAGE GASPILLAGE

Diminution de la bande passante ROUTEURS MULTICAST GESTION DE GROUPE

Exemple d’application de vidé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 7-9 10-12 4-6 4-6 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

IP 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

IP 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

IP Multicast: routage Deux types de routeurs: unicast (standard) multicast Algorithmes de routage spécifiques inondation arbre couvrant chemin inverse arbre central (core based) S A C B K D N M L

Routage: DVMRP (1) Inondation Elagage des branches inutiles Utilisation du principe RPF (Reverse Path Forwarding) Réponses empoisonnées S A C B K D N M L DVMRP: Distance Vector Multicast Routing Protocol RFC 1075

Routage: DVMRP (2) Evaluation de la distance à la source Message d’élagage pour éliminer les diffusions inutiles S A C B K D N M L

Multicast et tunnels INTERNET est unicast Certains routeurs sont multicast Tous les routeurs ne permettent pas ce type d’échanges Tunnels = IP dans IP S B A T B Multicast A

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)

SRM: Scalable Reliable Multicast 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 Taux d’erreur Taille du groupe Ordre

Application: MFTP Transfert de fichier multicast fiable Synthèse des acquittements NEGATIFS Plus ancien paquet à retransmettre Masque binaire des paquets unicast Blocs de données

Le Mbone: un exemple http://www-mice.cs.ucl.ac.uk/multimedia/software/

Le 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 on phyint 132.227.74.254 disable phyint 132.227.74.1 disable phyint 134.157.251.125 disable #phyint 132.227.72.161 disable tunnel 134.157.251.125 134.157.254.126 metric 1 threshold 8 rate_limit 500

Le Mbone: créer une session (1/2)

Le Mbone: créer une session (2/2)

L’évolution de IP IP version 6 I P V 6 Kubrick/Huitema

Taille de l’Internet: 147,344,723 hôtes en janvier 2002 150 000 000 130 000 000 Source: http://www.isc.org 110 000 000 90 000 000 70 000 000 50 000 000 30 000 000 10 000 000 janv-01 janv-93 janv-94 janv-95 janv-96 janv-97 janv-98 janv-99 janv-00 janv-02

Histoire 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'adressage Initialement: en 1994 ! Aujourd'hui: entre 2008 et 2018 En Janvier 1996 Percentage Allocated (Allocated and Assigned Combined) Class A - 100.00% Class B - 61.95% Class C - 36.44%

Histoire d'IPv6 1992: début des travaux a l’IETF 1994: décision IPv6 é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 ?

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 5

Croissance des tables de routage de l‘Internet CIDR devient contre productif http://www.employees.org/~tbates/cidr.hist.plot.html

Ce qu’est IP version 6 IP v4 IP v6 ICMP IGMP ICMP v6 Mobilité Roaming Mcast Auto Conf IPsec

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

IPv4: En-tête 4 8 16 19 24 31 Identification Version d'IP Longueur 4 8 16 19 24 31 Identification Version d'IP Longueur en-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

IPv6: En-tête fixe de base 4 16 31 Version d'IP (4 bits) Type de service (8 bits) Etiquette de flux (20 bits) Longueur de la charge utile (16 bits) En-tête suivant (8bits) Nombre limite de sauts (8bits) Adresse IP source (128 bits) En-tête fixe de 40 octets Adresse IP destinataire(128 bits) IPv6: Internet Protocol, Version 6 RFC 2460

Paquet IPv6 En-tête fixe de base Extension en-tête Extension en-tête Données

IPv6: extensions d'en-tête En-tête de base Hop by hop Traité par chaque routeur Destination Traité par chaque routeur figurant dans l'extension Routing Routing Liste de routers à traverser Fragmentation Traité par la destination Authentication Après ré-assemblage du paquet Security Sécurise la suite du paquet Destination Traité uniquement par la destination Extensibilité du point de vue applicatif et réseau (actif) Optimisation Upper Layer

Taille 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

Plan d‘Adressage IPv6 Contraintes Choix 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 communication Porté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

Format des adresses IPv6 128 bits Format Prefix Adresse

Typologie 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 adresses voire plus si il est servi par plusieurs ISP

Notation des adresses IPv6 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

Adresse 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-64 Aléatoire Autres ... Subnet prefix Interface ID EUI: Extended Unique Identifier (IEEE)

Aggregatable Global Unicast Topologie publique (48 bits) Topologie privée (80 bits) 001 Top Lev. Agg. ID (13 bits) Reserved (8bits) Next Lev. Agg ID (24 bits) Site Lev. Agg. ID (16 bits) Interface ID (64 bits) Topologie de site TLA : Top Level Aggregator NLA : Next Level Aggregator SLA : Site Level Aggregator RFC 2374, 2450

Topologie d'Internet TLA NLA SLA

Schéma TLA 0x0001 Topologie publique (48 bits) Topologie privée (80 bits) 001 Top Lev. Agg. ID (13 bits) Sub.TLA ID (13 bits) NLA ID (19 bits) Site Lev. Agg. ID (16 bits) Interface ID (64 bits) 0010 0000 0000 0001 2001: Ex: 2001:0660::/35 Renater 2001:0688::/35 France Telecom RFC 2928

Identificateur de groupe IPv6: le multicast Adresses de multicast: Commencent par FF hex Non nécessairement permanentes (bit T transient=1) Limite de distribution (scope) 8 bits 4 bits 4 bits 112 bits 11111111 000T scope Identificateur de groupe 1 2 5 8 E Node Link Site Organization Global RFC 2375

IPv6: 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

ICMPv6 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

Fonctions 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 Messages NDP Router solicitation Router advertisement. (MTU-Hop…) Neighb. Sollic. Neighb. Advert. Redirect RFC 2461, 3122

IPv6: 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

IPv4 et la mobilité Mobile C @IPH Home agent B A Foreign agent D HOME NETWORK Mobile C @IPH Mobile C @IPH Home agent B ROUTAGE TRIANGULAIRE ! TUNNEL Registration A Foreign agent D @IPC/O ADDRESS (TEMPORAIRE) FOREIGN NETWORK ADVERTISEMENT

IPv6 et la mobilité Mobile C @IPT @IPH Mobile C @IPH Home agent B A HOME NETWORK Mobile C @IPT @IPH Mobile C @IPH Home agent B ASSOCIATION @IPT - @IPH TUNNEL Registration A SUPPRESSION DU ROUTAGE TRIANGULAIRE Foreign agent D FOREIGN NETWORK

IPv6: Transition et interoperabilité Pas de jour J Cohabitation IPv4/IPv6 IPv4 IPv6 OK IPv4 IPv6 IPv4 Dual stacking RFC 2185, 2473, 2766, 2893, 3053, 3056, 3142

IPv6: Transition et interoperabilité 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 80 16 32 0000 . . . . . . . . . . . . 0000 FFFF Adresse IPv4 Exemple ® ::FFFF:192.31.32.46

IPv6: Transition et interoperabilité Tunnels configurés Pour traverser des routeurs IPv4 Encapsulation des paquets IPv6 dans des paquets IPv4 IPv6 Communication de S vers D S IPv6 R1 IPv4/v6 Tunnel IPv4 IPv4 R2 IPv4 R3 IPv4 IPv6 D Ipv6 R4 IPv4/v6

IPv6: Transition et interoperabilité 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 001 0000000000010 Adresse IPv4 (32 bits) Site Lev. Agg. ID (16 bits) Interface ID (64 bits) 2002: RFC 3056

IPv6: Transition et interoperabilité Internet ou intranet IPv4 6to4 (suite) 192.1.2.3 Site IPv6 A 2002:c001:0203::/48 Router 6to4 132.254.253.252 Site IPv6 B 2002:84fe:fdfc::/48 Router 6to4 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

IPv6: Transition et interoperabilité 6to4 (fin) Internet ou intranet IPv4 Site IPv6 NATIF 192.1.2.3 Router 6to4 Site IPv6 A 2002:c001:0203::/48 132.254.253.252 2001:0600::/48 Router 6to4 Site IPv6 B 2002:84fe:fdfc::/48 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

IPv6: Transition et interoperabilité NAT-PT, NATPT-PT IPv6 IPv4 Router NAT-PT Principe identique au NAT IPv4 Traduction entre adresses IPv6 et adresses IPv4 ROUTABLES Traduction protocolaire entre IPv4 et IPv6 Network Address Translation - Protocol translation RFC 2765, 2766

IPv6: Transition et interoperabilité NAT-PT, NATPT-PT (suite) IPv6 IPv4 En-tête IPv6 En-tête IPv4 En-tête fragmentation éventuel En-tête couche transport En-tête couche transport DONNEES Router NAT-PT DONNEES Dans le sens IPv4->IPv6 les options IPv4 sont ignorées Dans le sens IPv6->IPv4 les extensions IPv6 sont ignorées

IPv6: Transition et interoperabilité NAT-PT et le DNS IPv6 A FEDC:BA98::7654:3210 IPv6 A 120.130.26.12 IPv6 IPv4 DNS DNS IPv6 A, 120.130.26.12 IPv6A Hôte IPv6 B FEDC:BA98::7654:3211 Hôte IPv4 C Hôte IPv6 A FEDC:BA98::7654:3210 Router NAT-PT + DNS-ALG Pool adresses IPv4: 120.130.26/24 132.146.243.30 ALG: Application Layer gateway

IPv6: Synthè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

Le 6-bone 641 sites sur 49 pays IETF: WG Ngtrans http://www.6bone.net

IPv6: 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/ ….

IPv6: 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

IPv6 infos Pages web: Mailing lists: Livres http://playground.sun.com/ipng/ http://www-6bone.lbl.gov/6bone/ Mailing lists: IPv6 working group ipng-request@sunroof.eng.sun.com 6bone management 6bone-request@isi.edu Livres IPv6, the new internet protocol Christian Huitema, Prentice Hall Cizault, G. (1998). Ed.: O'Reilly&Associates. IPv6: Théorie et Pratique

TCP-IP 2éme journée: Routage, Application, Sécurité

TCP - IP Le routage

Objectif du routage Choisir le chemin OPTIMAL vers le destinataire d'un paquet Nécessité d'une fonction de coût !!

Tâches à accomplir pour le routage "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

Différents types de routage à Routage statique Stations route add|delete @IP_destination @IP_router metric route default @IP_destination metric Routeurs ip route @IP_destination netmask @IP_router metric

Différents types de routage à Routage dynamique/adaptatif Échange périodique des tables de routage Mise à jour automatique des tables de routage

Principe 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

Principe du routage Routage en fonction du réseau destination réduction de la taille des tables de routage Adresse IP Référence unique du Référence unique de la réseau dans le monde machine dans le réseau Utilisée pour le routage Table de routage: - ensemble de paires (R, P) R: adresse IP du réseau destination P: 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 routage Table de routage Réseau Route vers destination cette destination 10.0.0.0 20.0.0.2 20.0.0.0 Remise directe 30.0.0.0 Remise directe 40.0.0.0 30.0.0.7 50.0.0.0 30.0.0.7 Table de routage de la passerelle P2

Principe du routage Route par défaut réduction de la taille des tables de routage autonomie des sites Réseau Route vers destination cette destination 10.0.0.0 20.0.0.2 20.0.0.0 Remise directe 30.0.0.0 Remise directe 40.0.0.0 30.0.0.7 50.0.0.0 30.0.0.7 AUTRE 20.0.0.2 Table de routage de la passerelle P2 Passerelle par défaut

Principe 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 hera:[69] netstat -r Routing tables Destination Gateway • • •// • • • Interface ocean-net masi le1 default cisco-upmc le1 • • • litp4-net kawarismi le1 ibp-net hera-gw le1 upmc-net cisco-upmc le1 olympe-net hera le0 rxf-net kawarismi le1 hera:[68] netstat -rn Routing tables Destination Gateway • • •// • • • Interface 132.227.64.0 132.227.60.23 le1 default 132.227.60.3 le1 • • • 132.227.84.0 132.227.60.18 le1 132.227.60.0 132.227.60.32 le1 134.157.0.0 132.227.60.3 le1 132.227.61.0 132.227.61.135 le0 132.227.62.0 132.227.60.18 le1

Architecture du routage TCP - IP Architecture du routage

Le système de passerelles centrales Système central Réseau fédérateur ARPANET Passerelles centrales Core gateways . . . . SITE 1 SITE 2 SITE 3 SITE N 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 autonome Passerelle externe (exterior gateway): Système central Réseau fédérateur ARPANET . . . . Système autonome RL N Système Système Système N autonome autonome autonome 1 2 3 P1 P2 RL N 2 RL N 1 P3 Passerelles internes RL N 3 Passerelle externe (exterior gateway):  Collecte et propagation des informations de routage du système autonome de/vers les systèmes autonomes voisins

Système autonome: "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é

Les protocoles d’échange d’information de routage TCP - IP Les protocoles d’échange d’information de routage

Les protocoles de routage

Classifications des protocoles de routage à recherche du chemin optimal Algorithme à vecteur de distance (Bellman-Ford) Algorithme à état de lien

Classifications des protocoles de 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

Classifications des protocoles de routage Algorithme à vecteur de distance

Classifications des protocoles de routage Algorithme à vecteur de distance Destination Nb de sauts Route R1 0 directe R3 0 directe R5 7 Passerelle M R18 4 Passerelle N R25 5 Passerelle K R31 1 Passerelle R R43 1 Passerelle K Destination Nb de sauts R1 3 R5 4 R18 3 R22 3 R25 3 R31 3 R43 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 R1 0 directe R3 0 directe R5 5 Passerelle K R18 4 Passerelle N R22 4 Passerelle K R25 4 Passerelle K R31 1 Passerelle R R43 5 Passerelle K

Classifications des protocoles de 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

EGP Dialogue entre systèmes autonomes Algorithme à vecteur de distance Encore largement utilisé aujourd'hui EGP: Exterior Gateway Protocol

Contraintes sur la diffusion des tables de routages EGP Voisin EGP choix effectué par les administrateurs pas de notion de proximité géographique Contraintes sur la diffusion des tables de routages Règle de "la restriction de la tierce partie"

EGP Voisin: un exemple SA2 SA1 SA3

EGP Limitations structurelles ? 132=132 N1, 132 Limitations techniques 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 ? 132=132 N1, 132

BGP 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: vecteurs de chemins Reçu par A pour aller à D de K: KCD de B: BCD de H: HABCD de J: JABCD K C J D A B E H I F G

BGP: routage stratégique Considérations: Economiques Politiques Sécuritaires

BGP: routage stratégique Stratégie Paramétrage manuel Indépendante de BGP BGP Stratégie S t r a t é g i e Table de routage Routeur BGP

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

BGP: versions BGP2 BGP4 version de base Intégration du CIDR (Classless Inter Domain Routing) Résumés de routes --> réduction de la taille des tables de routage

BGP: Implémentation 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

RIP 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 Problème de convergence lente X Temps A B C D Distance Route 1 1 A 1 B 1 1 Distance Route D 1 directe B 2 D C 3 B A 3 B 1 1 X panne C 10 10 D 1 1 réseau cible Temps D dir. 1 B - ¥ C B 3 A B 3 dir. 1 C 4 B 5 dir. 1 C 5 B 6 dir. 1 C 6 B 7 • • • dir. 1 C 9 B 10 dir. 1 C 10 B 11 dir. 1 C 11 B 12 • • • dir. 1 C 12 D 11

Extensions de RIP IGRP (Cisco) EIGRP (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

Extensions de RIP RIP 2 Prise en compte des netmasks Possibilité d’authentification des routeurs pas encouragé par l'IETF RFC 2453

OSPF 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 Base de donnée topologique Point-à-point Réseau à accès multiples RT7 RT3 RT4 RT1 RT2 N2 N3 RT5 RT6 RT3 RT7 N2 RT6 RT4 RT1 RT2 RT5 N3 Point-à-point Réseau à accès multiples Stub

OSPF Exemple de système autonome N13 N1 RT1 N12 N14 N3 RT4 RT5 N2 RT2 8 8 8 N3 1 RT4 8 RT5 8 6 7 N2 3 RT2 1 1 6 RT3 8 6 RT6 N11 7 N12 2 2 3 6 N4 RT9 RT7 N15 9 1 1 5 N9 1 RT11 2 3 RT10 1 N6 1 N8 1 H1 10 RT12 RT8 2 4 N10 N7

OSPF BD topologique N12 N13 N1 RT1 N14 N3 RT4 RT5 N2 RT2 RT3 RT6 N12 8 8 3 8 N3 RT4 1 1 8 RT5 6 8 1 1 6 N2 RT2 3 7 RT3 8 RT6 6 6 2 7 N12 RT9 2 N4 3 N11 5 1 RT7 N15 9 N9 1 RT11 2 1 1 1 N6 H1 N8 3 10 RT10 N10 1 2 RT12 4 RT8 N7

OSPF Arbre du plus court chemin N12 N13 N1 RT1 N14 N3 RT4 RT5 N2 RT2 8 8 8 3 N3 RT4 RT5 1 6 N2 3 RT2 RT3 RT6 6 2 N12 3 RT9 2 N11 N4 7 RT7 N15 9 N9 RT11 1 1 N6 3 H1 10 N8 RT10 2 N10 RT10 N7 4

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

OSPF Configuration en régions Région 1 Région 2 Région 3 N12 N13 N1 RT1 1 N14 3 8 8 8 N3 1 RT4 8 RT5 8 6 7 N2 3 RT2 1 1 6 RT3 8 6 RT6 N11 7 N12 2 2 3 6 RT9 RT7 N15 N4 9 1 1 5 Région 1 N9 1 RT11 2 3 RT10 1 N6 1 N8 1 Région 2 H1 10 RT12 RT8 Région 3 2 4 N10 N7

OSPF Classification des routeurs Routeur interne Routeur de limite de région Routeur d'épine dorsal Routeur de frontière de système autonome

OSPF BD topologique de la région 1 N1 RT1 N3 RT4 N2 RT2 RT3 N12 N13 8 N1 RT1 14 Ia, Ib 3 22 N6 15 N3 1 RT4 1 19 N7 18 N8 26 1 1 N2 RT2 3 N9-N11, H1 14 RT5 RT3 20 RT7 15 N12 Ia, Ib N13 16 N12 N14 2 2 20 N6 8 8 8 N15 18 RT7 9 N4 N7 N8 RT5 19 N9-N11, H1

OSPF 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 N12 N13 N1 N14 8 8 4 8 N2 4 RT4 1 8 N3 RT5 3 8 N12 N4 6 6 2 7 6 9 N1 4 RT3 8 RT6 RT7 N15 1 4 N2 5 N6 1 6 4 N7 N3 7 2 N8 1 1 N4 Liaison virtuelle 1 7 5 N9-N11, H1 1 5 RT11 N7 2 1 N6 7 Liaison virtuelle 5 3 RT10 2 3 N7 N8 3 N8 N6

OSPF Authentification Mot de passe sur tous les messages Autres mécanismes dans le futur Par région Par réseau Type Signification d'authentification 0 Pas d'authentification 1 Mot de passe Autres Réservés pour attribution par l'IANA

Encore des protocoles de 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

Programmation des applications réparties TCP-IP Programmation des applications réparties

TLI Orientation bloc de données et non plus flot Pas aussi largement utilisé que les sockets

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

Les Sockets mode connecté Serveur socket () bind () socket () Client listen () connect () accept () Etablissement connexion requête write () read () traitement réponse write () read ()

Les Sockets mode non connecté Serveur socket () socket () Client bind () bind () recvfrom () requête sendto () traitement réponse sendto () recvfrom ()

Les sockets et les adresses Format général struct sockaddr { u_short sa_family; /* adress family: AF_xxx value */ char sa_data [14]; /* up to 14 bytes of protocol-specific address */ }; Adresse sur 14 octets maximum AF_INET AF_NS AF_X25 ....

Les sockets et les adresses IPv4 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 */ }; 2 2 4 8 octets

Les sockets et les adresses IPv6 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 */ }; 2 2 4 16 4 octets

Les sockets Appels système Créer int socket (int famille, int type, int protocole); AF_INET AF_NS AF_X25 .... SOCK_STREAM SOCK_DGRAM SOCK_RAW TCP UDP ICMP

Les sockets Appels système Nommer int bind (int sockfd, struct sockaddr *mon_adresse, int lgr_adresse); Dimensionner la file d’attente int listen (int sockfd, int lgr_file); Se connecter int connect (int sockfd, struct sockaddr *adresse_serveur, int lgr_adresse); Accepter une connexion int accept (int sockfd, struct sockaddr *adresse_client, int *lgr_adresse);

Les sockets serveur: séquentiel vs concurrent Accepter une connexion Accepter une connexion Déléguer le traitement de la requête Traiter la requête Traiter la requête

Les Sockets vues du système ports dédiés ports dédiés S Y T E M S Y T E M telnet telnet ftp ftp ... ... http http ports utilisateurs ports utilisateurs ... ... Machine du Serveur Machine du Client

Les Sockets vues du système ports dédiés ports dédiés S Y T E M S Y T E M telnet telnet ftp ftp ... ... SEc=socket (...) http http ports utilisateurs ports utilisateurs STr=socket (...) SEc ... ... STr Machine du Serveur Machine du Client

Les Sockets vues du système ports dédiés ports dédiés S Y T E M S Y T E M telnet telnet ftp ftp ... ... SEc=socket (...) http http bind (SEc, @) listen (...) ports utilisateurs ports utilisateurs STr=socket (...) SEc @ ... ... STr Machine du Serveur Machine du Client

Les Sockets vues du système ports dédiés ports dédiés S Y T E M S Y T E M telnet ftp ftp ... ... SEc=socket (...) http http bind (SEc, @) listen (...) ports utilisateurs ports utilisateurs STr=socket (...) SEc @ connect (STr,@) ... ... STr Machine du Serveur Machine du Client

Les Sockets vues du système ports dédiés ports dédiés S Y T E M S Y T E M telnet telnet ftp ftp ... ... SEc=socket (...) http http bind (SEc, @) listen (...) ports utilisateurs ports utilisateurs STr=socket (...) STr=accept (...) STr SEc @ connect (STr,@) ... ... STr Machine du Serveur Machine du Client

Les Sockets vues du système ports dédiés ports dédiés S Y T E M S Y T E M telnet telnet ftp ftp ... ... SEc=socket (...) http http bind (SEc, @) listen (...) ports utilisateurs ports utilisateurs STr=socket (...) STr=accept (...) STr SEc @ connect (STr,@) ... ... fork (...) Père STr SEc Fils STr Machine du Serveur Machine du Client

Les Sockets vues du système ports dédiés ports dédiés S Y T E M S Y T E M telnet telnet ftp ftp ... ... SEc=socket (...) http http bind (SEc, @) listen (...) ports utilisateurs ports utilisateurs STr=socket (...) STr=accept (...) connect (STr,@) SEc @ ... ... fork (...) Père STr Père Fils close(STr) close(SEc) Fils STr Machine du Serveur Machine du Client

Les Sockets vues du système ports dédiés ports dédiés S Y T E M S Y T E M telnet telnet ftp ftp ... ... SEc=socket (...) http http bind (SEc, @) listen (...) ports utilisateurs ports utilisateurs STr=socket (...) STr=accept (...) connect (STr,@) SEc @ ... ... fork (...) Père write (STr) STr Père Fils close(STr) close(SEc) read(STr) Fils STr Machine du Serveur Machine du Client

TCP - IP Les applications

Applications: DNS Des noms, pourquoi faire ? Un système de noms, pourquoi ?

Applications: 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

Applications: DNS Schéma de nommage générique géographique Organisation hiérarchique (1984) Syntaxe ... STORE NET INT COM EDU GOV MIL ORG CA UK FR EU AERO BIZ COOP INFO MUSEUM NAME PRO LIP6 générique géographique

Applications: DNS Gestion des noms Délégation d’autorité par domaine Network Information Center (NIC) ... STORE NET INT COM EDU GOV MIL ORG CA UK FR EU ... AERO: Société Internationale de Télécommunications Aéronautiques BIZ: JVTeam LIP6 COOP: National Cooperative Business Association 16/11/2000 INFO: Afilias MUSEUM: Museum Domain Management Association NAME: Global Name Registry générique géographique PRO: RegistryPro

Applications: DNS Résolution inverse générique géographique ARPA STORE ... ORG CA UK FR EU IN-ADDR LIP6 132 227 255 61 générique géographique 4 4.61.227.132.IN-ADDR.ARPA.

Applications: 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

Applications: DNS Déploiement et mise en œuvre (2/2) Serveur primaire lip6.fr SOA osiris.lip6.fr Serveur secondaire lip6.fr NS isis.lip6.fr lip6.fr NS soleil.uvsq.fr Sécurité

Applications: DNS Utilisation: requête itérative/récursive Requête: (nom, type) SOLVEUR Exemple: Résoudre (lip6.fr, NS) lip6.fr nameserver = isis.lip6.fr lip6.fr nameserver = soleil.uvsq.fr lip6.fr nameserver = osiris.lip6.fr isis.lip6.fr internet address = 132.227.60.2 soleil.uvsq.fr internet address = 193.51.24.1 osiris.lip6.fr internet address = 132.227.60.30

Applications: DNS Optimisation des performances Quel serveur interroger ? Apprentissage EXEMPLE:résoudre (NS,site.uottawa.ca) Server: osiris.lip6.fr Address: 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

Applications: DNS Configuration Adresses des serveurs RACINE: >more /etc/resolv.conf ; ; BIND data file ; Created by NetBSD sysinst on Thu Jan 28 16:43:00 1999 nameserver 132.227.72.133 nameserver 132.227.72.6 nameserver 132.227.60.30 nameserver 132.227.60.2 lookup file bind search lip6.fr ipv6.lip6.fr Adresses des serveurs RACINE: ftp.rs.internic.net/domain/named.root

Applications: Telnet Gestion de terminaux Terminal Gestion de terminaux Options pour diverses émulations VT100, 3270, Minitel Authentification Transparence Performances? Réseau TCP-IP Application

Applications: FTP Transfert de fichiers Types de données Utilisateur Transfert de fichiers Types de données Caractères Octets binaires Compression Transfert tiers Protection des accès Réseau TCP-IP Système de fichiers

Applications: Messagerie Structure des messages Codage de transfert Protocole de Transfert

Applications: Messagerie Structure des messages RFC 822 Multipurpose Internet Mail Extensions (RFC 1521-1522) En-tête Définition Corps 1 Corps 1 Corps 3 Corps 2 Corps 1

Applications: Messagerie TYPE SOUS TYPE text plain richtext image gif jpeg audio basic application postscript msword message rfc822 partial external-body multipart mixed alternative digest MIME Nouveaux en-têtes Nouveaux type de données

Applications: Messagerie From Michel.Soto@lip6.fr To: Michel.Soto@lip6.fr Subject: Exemple MIME Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=====================_906126837==_" --=====================_906126837==_ Content-Type: text/plain; charset="us-ascii" Voici un message au format MIME Content-Type: image/jpeg; name="fig1.jpg"; Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="fig1.jpg" /9j/4AAQSkZJRgABAQAAAQABAAD//gBIQ1JFQVRPUjogWFYgVmVyc2lvbiAzLjEwYSAgUmV2OiAx Mi8yOS85NCAgUXVhbGl0eSA9IDc1LCBTbW9vdGhpbmcgPSAwCv/bAEMACAYGBwYFCAcHBwkJCAoM … Content-Type: application/msword; name="Informations.doc"; Content-Disposition: attachment; filename="Informations.doc" /jcAIwAAAAAAACQAABkAAAAAAAAAAAEAAAANdQAAF/EAAAAAAAAMjAAAAAAAAAAAAAAAAAAAAAAA hbGl0eSA9IDc1LCBTbW9vdGhpbmcgPSAwCv/bAEMACAYGBwYFCAcHBwkJCAoMMi8yOS85NCAgUXV --=====================_906126837==_--

Applications: Messagerie Agent utilisateur

Applications: Messagerie Protocole de Transfert: SMTP (RFC 821), ESMTP (RFC 1425) Connexion TCP entre source et destination Protocole ASCII >>> EHLO hera.lip6.fr 250-rp.lip6.fr Hello hera.lip6.fr [132.227.61.135], pleased to meet you >>> MAIL From:<ms@rp.lip6.fr> SIZE=59 250 <ms@rp.lip6.fr>... Sender ok >>> RCPT To:<Michel.Soto@lip6.fr> 250 <Michel.Soto@lip6.fr>... Recipient ok >>> DATA 354 Enter mail, end with "." on a line by itself >>> . 250 TAA05005 Message accepted for delivery >>> QUIT 221 rp.lip6.fr closing connection

Applications: 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

Applications: Messagerie Confidentialité Authentification, signature, compression Pretty Good Privacy (Zimmermann) MD5, RSA, IDEA, ZIP PrivacyEnhanced Mail (RFC 1421 à 1424), MD2, MD5, DES ou RSA

Applications: News Messagerie par thème Gestion Protocole NNTP Abonnement Modération Diffusion Protocole NNTP Codages identiques à SMTP

Applications: NFS Partage de fichiers sur un réseau Gestion "à la UNIX" Echanges contrôlés par UDP Modèle client/serveur (RPC) Large disponibilité

Application: Hypertexte et Web 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

Un exemple de page Web !

Langage de description: 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, seule radio d'information continue en Europe, propose à toute heure du jour et de la nuit, une information complète sans cesse réactualisée. .....

Structure 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

Les clients: browsers Frames Grilles de saisie Tableaux Java ActiveX FTP, Gopher, e-mail, etc. Plugins

Java 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

Système d’exploitation Java: exécution Visualisation Protocole HTTP Client Web Machine virtuelle Système d’exploitation Matériel

Le Web: Evolution Meilleure maîtrise et utilisation des documents XML Changement d’usage PUSH

HTML: 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

XML: 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

HTML vs XML Représentation à la mode les BD <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 mode les BD

XML: c’est quoi ? DTD Document Type Definition + eXtensible Style Language XSL Xml LINKink language Xml POINTER language + XLINK XPOINTER = XML

XML: comment ça marche ? ou tout autre format de document RTF, .doc, PDF,WML, etc

XML: Un exemple Le fichier XML (...) <cours> <date>06/10/1998</date> <euro>6,6140</euro> <dollar>5,4825</dollar> </cours>

XML: Un exemple (suite) Le fichier XSL <rule> <target-element type="cours"/> <DIV background-color="yellow» color="black" padding="4px"> <select-elements> <target-element type="date"/> </select-elements> <target-element type="euro"/> <target-element type="dollar"/> </DIV> </rule>

XML: Un exemple (fin) Le fichier XSL RESULTAT <rule> <target-element type="date"/> <SPAN font-weight="bold" color="black"> </SPAN> </rule> <target-element type="euro"/> <target-element type="dollar"/> Le fichier XSL RESULTAT

Spécifications XML Communication... … et de nombreux domaines 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

XML:browser, éditeur, utilitaire (1/2) Unix InDelv XML Client XML browsers, XML editors VInDelv LTXML XML parsers Edinburgh Language Technology Group Mozilla XML browsers The Mozilla team PHP XML middleware The PHP development team Windows Foundation Classes XML parsers Sam Blackburn Xeena XML editors IBM alphaWorks LINUX Amaya XML editors, XML browsers World Wide Web Consortium IBM techexplorer XML browsers IBM Mozilla XML browsers The Mozilla team sgrep XML search engines Jani Jaakkola SP SGML/XML parsers James Clark Tidy General N-converters Dave Raggett XFA Scripting System XML middleware XML For All XML for C++ XML parsers IBM alphaWorks xtr2any General S-converters Sema Group

XML:browser, éditeur, utilitaire (2/2) Win 32 Amaya XML editors, XML browsers World Wide Web Consortium Balise XML parsers AIS Software Exml XML editors CUESoft FirstSTEP EXML DTD generators Product Data Integration Technologies (PDIT) Gecko XML browsers Netscape HyBrick XML browsers Fujitsu Laboratories IBM techexplorer XML browsers IBM InDelv XML Client XML browsers, XML editors InDelv Jade DSSSL engines James Clark LTXML XML parsers Edinburgh Language Technology Group Microsoft Internet Explorer 5 XML browsers Microsoft Microsoft XML Parser Redistributable XML parsers Microsoft Mozilla XML browsers The Mozilla team OmniMark Home and School IDE General S-converters OmniMark Technologies QORX General N-converters Griffin Brown Digital Publishing Xeena XML editors IBM alphaWorks XML Diff and Merge Tool XML document management utilities IBM alphaWorks XML for C++ XML parsers IBM alphaWorks XML Notepad XML editors Microsoft xtr2any General S-converters Sema Group

Evolution 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?

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

W@P Sécurité Indépendant du réseau contraintes minimales (téléphone, PDA, etc.) Support clavier Reconnaissance vocale http://www.wapforum.org/ Passerelle

WAP: architecture

Echec 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

TCP - IP La sécurité

La 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?

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

La sécurité: les méthodes Une trilogie «vitale»: Audit Analyse des besoins, des risques Les outils techniques Cryptographie Contrôle Logiciels ou matériels de surveillance Une seule étape vous manque … et tout est dépeuplé!

La sécurité: les erreurs humaines Inégalité d'Heisenberg Dx * Dp > h Ergonomie * Sécurité > k

Une attaque directe UNIX 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 NT 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

Attaque des mots de passe 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 passe Après le passage d’un dictionnaire de 870 000 mots… Temps Réel : < 30s

Attaque des mots de passe Après une attaque bête et néanmoins brutale sur l’alphabet... 14 heures plus Tard

Découverte de topologie

Attaque 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

Le déguisement Modification des adresses Intervention dans un dialogue Attaque des routages

Le «SPAM» Envoi d’information inutile et volumineuse SPAM = argot Application visée: e-mail

FTP et la sécurité Problème protocolaire Problème d’utilisation

Mots de passe Transport dans le réseau Sensible à l’écoute Besoin d’authentification

Synthè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?

La sécurité: filtrage Sécurité renforcée INTERNET Routeur Firewall DMZ (Zone Démilitarisée) Mail Web DNS FTP Telnet X Sécurité renforcée

Le filtrage par «proxy» Analyse complète protocole scénario coût application présentation session transport réseau liaison physique analyse eth ip hdr tcp/udp hdr data

Le filtrage des paquets Tâche confiée aux routeurs Assez rapide application présentation session transport réseau liaison physique analyse eth ip hdr tcp/udp hdr data

Exemples de règles de filtrage

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

Cryptographie De quoi s’agit-il? Deux familles 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

Chiffrement - 1 Algorithmes symétriques RC-4, RC-5 DES, 3-DES, IDEA, SkipJack (pas public!!) Un secret doit être partagé: la clé Algorithme identique Clef Partagée abc #!$ #!$ abc

Chiffrement - 2 abc #!$ #!$ abc abc #!$ #!$ abc 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: clef privée clef publique abc #!$ #!$ abc Bob Alice clef publique clef privée abc #!$ #!$ abc Alice Bob

«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

Chiffrement - 3 Message Message Signature hash hash Digest Digest = Clef publique hash hash Digest Digest = Digest Clef privée Signature

Problè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

Partager un secret Générer un nombre aléatoire Encoder avec clé publique du correspondant Envoyer Exemple d’utilisation: SSH, SSL Calcul de la clé Reconstitution de la clé abc #!$ abc

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

La 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

Obtention 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

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

Hié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 Recherche Compta Dévelopt.

Les 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

Où sont les applications? Pour le Web SSL pour https://… Stockage/utilisation de certificats Pour la messagerie S/MIME messages signés messages cryptés Un moteur: le commerce électronique

La sécurité applicative: en pratique 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

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

SPI (Security parameters Index) IPSec: mode transport Cryptage ESP: Encapsulated Security Protocol Cryptage IP HDR ESP DATA SPI (Security parameters Index) Authentifié Pas de protection de l'entête IP Numéro de séquence Données Algorithmes symétriques: DES 56 bits (par défaut) 3-DES, RC5, CAST, IDEA, etc. Crypté Padding (0 - 255 octets) Longueur padding Entête suivant Données d'authentification (optionnel ) Algorithmes symétriques: SHA-1, MD5 (par défaut) 32 bits

SPI (Security parameters Index) IPSec: mode transport authentification Authentification AH: Authentication Header IP HDR AH DATA Longueur AH Entête suivant Réservé ( à zéro) SPI (Security parameters Index) Numéro de séquence Authentification Protection de l'entête IP 32 bits

IPSec: mode tunnel VPN Virtual Private Network Cryptage Station A Passerelle IPSec 1 Passerelle IPSec 2 Server B trafic non protégé trafic protégé A Source Dest. B données A B données Cryptage 1 2 A B données Source Dest.

IPSec: mode tunnel Tunnel d'authentification Tunnel de cryptage IP HDRt AH IP HDRu DATA Authentification IP HDRt ESP IP HDRu DATA Cryptage Tunnel d'authentification et de cryptage IP HDRt AH ESP IP HDRu DATA Cryptage Authentification

IPSec: Echange 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

IPSec:Security Association (SA) Permet d'adapter la sécurité en fonction de: son interlocuteur de la façon de l'atteindre (intranet, Internet) Unidirectionnel 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

IPSec:SA et SPI Le SPI indentifie notre SA chez notre interlocuteur B SAab 12b PROPOSITION SA ACCEPTATION SA, SPI=12 SAab 12b SAba 45a PROPOSITION SA SAba 45a SAax 102x ACCEPTION SA, SPI=45 Saxa 98a B A

Lionel Jospin - 19 janvier 1999 Nous 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é.

La 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»

Exemple 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

PGP: 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

PGP: gestion des clés Porte- clés

PGP: génération de clés

Exemple: PGP et Outlook

Exemple: PGP et Outlook

Exemple: PGP et Eudora

Les sites de «piratage»

Coordination des utilisateurs

FIRST 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

CERT du DoD

CERT d’IBM

TCP-IP 3éme journée: IP et les autres, Hauts débits, QoS, Gestion de réseaux, Services en lignes

TCP - IP Un peu d’architecture

IP et les réseaux existants Les réseaux X25 RFC 877 Gestion des CV Adressage (CC) Taille des datagrammes (576 octets) IP X25

IP 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 IP IP Signali- sation IP PPP

IP et l’ISO Les modèles sont différents! La migration a été envisagée! Application Présentation Session Transport Réseau Liaison Physique IP TCP/UDP Application Les modèles sont différents! La migration a été envisagée! Préparation des utilisateurs Transition Abandon Utilisation de l’expérience

IP et réseaux locaux (de micros?) Utilisation «naturelle» Mais aussi … cohabitation! Les réseaux locaux classiques 85% Ethernet! TCP/UDP IP NetBIOS TCP/UDP IP NetBIOS

L'architecture «complète» FTP, SMTP, Telnet, DNS, HTTP, etc. Applications coopératives (multicast, multimedia, etc.) Applications de gestion (routage) Client Serveur (NFS) ISO Applications dérivées de l’ISO (SNMP, LDAP) Représentation des données TCP RTP/RTCP ICMP/IGMP Sécurité Mobilité ... RSVP DHCP UDP Protocole IP Autres Ethernet Token Ring Réseaux m X25 PPP, SLIP FR, ATM FDDI

TCP - IP Hauts débits

Exemple de problème: la mé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 Débit = Débitmax / 7,5 temps

Contrôle de flux: le contrôle à la 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

Exemple: NETBLT Définition du trafic en termes de Blocs Paquets, Série, Durée d'une série Reprise des erreurs par phases

Cohabitation UDP - TCP A  B: TCP à vitesse maximum Mesure de débit A B C D A  B: TCP à vitesse maximum C  D: UDP à vitesse maximum T=0, début de T=40s, début de 1 2 1 2

Cohabitation TCP/UDP 1 2

Qualité de service et IP TCP-IP Qualité de service et IP

La 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?

Un réseau de test - gigue Source: http://network-services.uoregon.edu/~ursula/thesis/

Approche INTSERV INTegrated SERVices Trois types de profils: Best effort Le service classique Controlled load Le réseau se comporte comme un réseau best effort peu chargé Guaranteed Garantie de débit, délai et gigue Signalisation - réservation

Réservation de ressources - protocole 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 du protocole: algorithmes locaux Ressources Policing Routage RSVP Tri et routage Ordon- -nancement

RSVP: quelques définitions La notion de flot Adresse source, Adresse destination, [numéro de port] Flow descriptor Flow spec Classe de service La qualité de service désirée (Rspec) Le flot de données (Tspec) Filter spec Comment reconnaître les paquets concernés

Implantation de RSVP La réservation intéresse un flot Les routeurs connaissent les flots Les traitements des datagrammes ne sont plus banalisés R4 R3 R2 R1 BE

Le protocole RSVP RESV PATH R R R R Non R RESV R R 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

IP et QoS: approche applicative 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

Transport temps réel: RTP Contrôle du temps Estampilles Protocole de contrôle: RTCP Approche ALF (Application Layer Framing) ILP (Integrated Layer Processing) Application avec RTP RTCP UDP IP

Architecture RTP

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

Exemple d’utilisation Netmeeting de Microsoft Architecture d’application adaptative Respect des normes

RTP - les paquets Transport des informations applicatives Ver P X CC M Payload Type Sequence Number Timestamp Synchronisation source (SSRC) identifier Contributing source (CSRC) identifiers Transport des informations applicatives Possibilité d'extension/adaptation Contrôle de la QoS en parallèle

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é

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)

Classification 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 interne (ingress) Routeur extérieur (egress) Tri et étiquetage Conversion de signalisation (e.g. de ou vers RSVP) Administration

Services différenciés IP et QoS: synthèse Réseau «corporate» RSVP Réseau de transit Services différenciés Bout en bout RTP-RTCP

Les technologies IP et l’ATM

Justification 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»

Intégration IP sur ATM IP ATM Accélérer IP Ajouter de la QoS Frontières IP & ATM Chemin de données Signalisation Plan de contrôle IP ATM

ATM vs IP ou ATM et IP Commutation ou Routage? Des routeurs rapides? 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)

Solutions IP / ATM IP IP IETF ATM Forum Shortcuts ATM Classiques (LIS + Routeur) Classical IP over ATM Shortcuts ATM NHRP Commutation de paquets IPswitching, Tag Switching ATM Forum LANE, IPNNI MPOA IP IP/ATM ATM Soft IP ATM Hard ATM Hard

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

Classical IP: solution simple Routeur Routeur ATM ARP Server LIS LIS LIS C C C X X ATM ARP Server X X X X ATM ARP Server C X X X C C C C C C C C C C C C C C Un réseau ATM n’est qu’un sous-réseau ordinaire Encapsulation LLC / AAL 5 Même vue de bout en bout Routeur

Classical IP over ATM : les standards IETF RFC 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 »

IP et NHRP NHRP: Next Hop Resolution Protocol Routeur Routeur NHRP Server LIS LIS NHRP Server LIS C C C X X X X X X NHRP Server C X X X C C C C C C C C C C C C C C NHRP: Next Hop Resolution Protocol NHS (NHRP Server) remplace ARP Server Déroulement d’une transmission: via le NHS

IP et NHRP Demande NHRP: Envoi de la donnée Routeur Routeur NHRP Server LIS LIS NHRP Server LIS C C C X X X X X X NHRP Server C X X X C C C C C C C C C C C C C C 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

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

IP Switching (Ipsilon - Nokia) 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) IP Switch Controller GSMP ATM switch IFMP IFMP

IP Switching Définition d’un flot Description d’un flot Suite de paquets unicast / multicast Description d’un flot Applicatif (type 1) Par machine (type 2) Analyse des paquets IP Ver. IHL. TOS Total Length Identification Flags Offset TTL Protocol Checksum Source address En-tête IP Destination address Options if any Source port Destination port En-tête TCP/UDP Type 1 et type 2 Type 1 seulement

IP Switching X X X X C X X X C C X X

IP 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 Identification Total Length Flags Offset Checksum Packet Data PAD and AAL5 trailer Reserved TOS Total Length Identification Flags Offset Reserved Protocol Checksum Packet Data PAD and AAL5 trailer

IP 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

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), ... PNNI Baynet (IPNNI), 3Com/Digital (propriétaire), ... «Commutation» IP Ipsilon (IP switching), Cisco (Tag Switching), MPLS (IETF), Xylan (prop), … POS: Packet over Sonet

Routeurs Gigabits Aujourd’hui Objectif Eléments 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

Routeurs Gigabits Caractéristiques Acteurs: 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!

POS 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

MPLS C A T R12 R1 R2 R6 R7 R3 R4 B R5 R8 R9 X R10 Z Y R11

MPLS exemple Structure de la table: A vers X B vers Y C vers Z Label en entrée LSR suivant Action Push Pop Nop Label en sortie A vers X B vers Y C vers Z

TCP-IP La voix

Codage de la voix - du son Numérisation Quantification Codage

Codage efficace Définir un modèle de son Analyser Paramètres Modèle Modèle Définir un modèle de son Analyser Transporter des paramètres Synthétiser

Les 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

La voix sur IP Transmission d’une information isochrone Problème de maîtrise des délais et de la gigue Expérimentations nombreuses Produits opérationnels Architecture normalisée H323 Utilisation de RTP/RTCP pour le contrôle de la qualité de service

Architecture 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.26x Vidéo G.7xx Voix H.225 Réseau Données T.120 H.245 Contrôle Q.931

La 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 IP longue distance RTC

Voix sur IP: exemple Architecture de Vocaltec (http://www.vocaltec.com)

Vendeurs de voix sur IP - 1 D’après DataCommunications, avril 1998

Vendeurs de voix sur IP - 2 D’après DataCommunications, avril 1998

La représentation des données TCP - IP La représentation des données

La couche présentation de l’ISO Spécification Entier Application Entier 255 0000FF00 000000FF Réseau Application 255

La couche présentation de l’ISO Spécification Entier Application Entier 255 Traduction 0000FF00 Traduction 000000FF Réseau Application 255

La couche présentation: les 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)

Le 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

Codage des données: exemple ASN.1 Une facture Définition informelle Définition formelle Codage Transfert Traitement ASSIST SA Paris, le FACTURE n° Désignation Unitaire Qté Total HT TOTAL HT TVA TOTAL TTC

Spécification en ASN.1 (1) Echange-Facture DEFINITIONS ::= BEGIN Date ::= [APPLICATION 2] SEQUENCE { jour INTEGER, -- 1 à 31 mois INTEGER, -- 1 à 12 an INTEGER } Numéro ::= [APPLICATION 3] IMPLICIT INTEGER Prix ::= [APPLICATION 4] SEQUENCE { francs INTEGER, centimes INTEGER } Ligne ::= [APPLICATION 5] SEQUENCE { désignation IA5String, unitaire Prix, quantité INTEGER, horsTaxes Prix }

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

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

ASN.1: les objets

TCP - IP La gestion de réseaux

Gestion 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

Gestion ISO Les domaines fonctionnels: Pour quoi faire? Gestion des configurations Gestion des performances Gestion des fautes Gestion des ressources Gestion de la sécurité Pour quoi faire?

Gestion: point de vue pragmatique Le métier du gestionnaire dans le temps: Le court terme Traitement des pannes Configuration des machines Le moyen terme Réglage et surveillance Gestion et suivi des coûts Le long terme Planification

Outils 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

Gestion des réseaux: TCP-IP Méthodes simples $ ping -c 10 hera.ibp.fr PING hera.ibp.fr (132.227.61.135): 56 data bytes 64 bytes from 132.227.61.135: icmp_seq=0 ttl=254 time=2.5 ms 64 bytes from 132.227.61.135: icmp_seq=1 ttl=254 time=2.5 ms 64 bytes from 132.227.61.135: icmp_seq=2 ttl=254 time=3.8 ms 64 bytes from 132.227.61.135: icmp_seq=3 ttl=254 time=2.4 ms 64 bytes from 132.227.61.135: icmp_seq=4 ttl=254 time=2.4 ms 64 bytes from 132.227.61.135: icmp_seq=5 ttl=254 time=2.4 ms 64 bytes from 132.227.61.135: icmp_seq=6 ttl=254 time=2.8 ms 64 bytes from 132.227.61.135: icmp_seq=7 ttl=254 time=2.5 ms 64 bytes from 132.227.61.135: icmp_seq=8 ttl=254 time=2.7 ms 64 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 loss round-trip min/avg/max = 2.4/2.6/3.8 ms

Gestion des réseaux: TCP-IP Méthodes simples $ ping -c 10 mozart.ee.uts.edu.au PING mozart.ee.uts.edu.au (138.25.40.35): 56 data bytes 64 bytes from 138.25.40.35: icmp_seq=0 ttl=223 time=689.9 ms 64 bytes from 138.25.40.35: icmp_seq=1 ttl=223 time=780.0 ms 64 bytes from 138.25.40.35: icmp_seq=2 ttl=223 time=793.5 ms 64 bytes from 138.25.40.35: icmp_seq=3 ttl=223 time=758.5 ms 64 bytes from 138.25.40.35: icmp_seq=4 ttl=223 time=676.1 ms 64 bytes from 138.25.40.35: icmp_seq=5 ttl=223 time=640.1 ms 64 bytes from 138.25.40.35: icmp_seq=8 ttl=223 time=1076.1 ms 64 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 loss round-trip min/avg/max = 640.1/791.9/1076.1 ms

Gestion 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 ms 10 marseille.renater.ft.net (192.93.43.73) 32 ms 49 ms 32 ms 11 marseille1.r3t2.ft.net (192.93.43.49) 36 ms 24 ms 17 ms 12 sophia1.r3t2.ft.net (193.48.50.33) 32 ms 24 ms 28 ms 13 inria-sophia.r3t2.ft.net (193.48.50.50) 26 ms 33 ms 36 ms 14 193.48.50.170 (193.48.50.170) 46 ms 31 ms 27 ms 15 sophia-gw.inria.fr (193.51.208.1) 33 ms 45 ms 29 ms 16 t8-gw.inria.fr (138.96.64.250) 23 ms 39 ms 26 ms 17 sophia.inria.fr (138.96.32.20) 38 ms 33 ms 27 ms

Gestion des machines Configuration dynamique des machines RARP BOOTP DHCP Distribution des adresses Distribution des informations de routage minimales Distribution de paramètres spécifiques

Gestion de réseaux: pourquoi un protocole? 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

Gestion des réseaux: modèle de l’ISO SMAE Get Set Action Create Delete Event-report LME A LME P LME S ? LME T LME R LME L LME P MIB Description

Gestion de réseaux: SNMP Requête Primitives simples Structuration des réseaux Limitations nombre sécurité Logiciels "hyperviseurs" Système géré Alarme Centre de gestion Système géré PROXY

Gestion de réseaux: SNMP Structure de la MIB 171 objets définis dans la MIB II Exemple du groupe system sysDescr sysObjectID sysUpTime sysContact sysName sysLocation sysServices Description libre du système Identification logiciel agent Temps depuis activation Nom d'un administrateur Nom du système Emplacement physique Services offerts (niveaux)

SNMP: Les MIBs Groupe MIB MIB Buts I II system 3 7 Informations sur le nœud lui-même interfaces 22 23 Les connexions vers les réseaux at 3 3 Traductions d'adresses IP; va disparaître ip 33 38 Le protocole IP icmp 26 26 Le protocole ICMP tcp 17 19 Le protocole TCP udp 4 7 Le protocole UDP egp 6 18 Le protocole EGP transmission - 0 nouveau snmp - 30 nouveau

Structure des informations de gestion (SMI)

La MIB RMON Ethernet, puis Token Ring, FDDI 9 groupes

etherStatsIndex INTEGER (1..65535), 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 }

SNMP v2 GetRequest, GetNextRequest, GetBulkRequest, SetRequest, InformRequest, Trap Sécurité par cryptage et authentification Gestion hiérarchique

Les 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

Limitations fonctionnelles des protocoles 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

Les outils de prédiction de performances 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

Introduction à l’utilisation de NS (Network Simulator) Simulation de réseaux Introduction à l’utilisation de NS (Network Simulator)

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

NS: 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

NS: quelques références Le projet VINT http://netweb.usc.edu/vint USC/ISI, Xerox parc, LBNL et UCB

NS: 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

NS: Utilisation simple - 1 # création d'un simulateur set ns [new Simulator] # création du fichier de trace utilisé par nam # et indication à ns de l'utiliser set 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 visualisateur proc finish {} { global ns nf $ns flush-trace close $nf exec nam out.nam & exit 0 }

NS: Utilisation simple - 2 # création de deux noeuds set 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 n0 set 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 n1 set null0 [new Agent/Null] $ns attach-agent $n1 $null0 # le trafic issus de l'agent cbr0 est envoyé # vers null0 $ns connect $cbr0 $null0

NS: 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

TCP-IP Les services en ligne

Service en ligne: architecture INTERNET Passerelle Réseau téléphonique Réseau privé Passerelle et modem

Service en ligne: organisation Intégré à l’INTERNET Fermé et privé Mixte Abonnement (hors communications) Facturation Directe Le service Reversement

Le Web: interactions A l’origine serveur vers client Les réponses du client CGI: Common Gateway Interface 1 2 3 4 1- requête 2- page 3- paramètres 4- résultats

Le Web: interactions Accès aux données sur d’autres serveurs JDBC ODBC NSAPI ISAPI Base de données HTTP Serveur Web

Le Web: gestion de transactions 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.

Le Web: les caches Pour améliorer les performances Les accès sont localisés L’intérêt est commun Serveur Cache Réseau

Le 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

Java et JDBC Appli Java JDBC API Téléchargement Driver JDBC JDBC/ODBC Réseau Accès aux données

ActiveX Technologie Microsoft Plate-forme Windows Portage Authentification VeriSign 1- Requête 2- Chargement contrôle ActiveX 3- Exécution du contrôle

Les 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

Bibliographie 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

Fiches d'évaluation Avant de partir, n'oubliez pas de compléter la fiche d'évaluation. Vous pourrez la laisser sur votre table.