Modèle TCP/IP et INTERNET Yonel GRUSSON
Plan Présentation générale De TCP/IP OSI et TCP/IP Pile de protocoles TCP/IP Des organismes de gestion. L’adressage Avec la norme IPv4 Aperçu de la norme IPv6 Yonel GRUSSON
Plan Le protocole réseau IP Présentation Structure du Datagramme IP Le Routage IP Le protocole de transport TCP Structure du message TCP La connexion TCP Yonel GRUSSON
TCP/IP TCP IP Modèle OSI et protocoles TCP/IP (Transport Control Protocol / Internet Protocol) Couche Physique 2 3 1 4 Couche Liaison Couche Transport Couche Réseau IP TCP Yonel GRUSSON
TCP/IP TCP IP UDP HTTP SNMP SMTP TELNET, FTP Couche Liaison Dans ce contexte, on parlera d'une pile de protocoles du modèle TCP/IP. Par exemple : 5 à 7 Couche Physique TCP IP Couche Liaison 2 3 1 4 HTTP TELNET, FTP UDP SNMP SMTP ARP RARP Yonel GRUSSON
TCP/IP Il existe en fait une famille de protocoles liés à TCP/IP (quelques exemples) : TELNET pour les connexion à distance en émulation VT (Virtual Terminal) FTP (File Transfer Protocol) pour le transfert de fichiers. SMTP (Simple Mail Transfer Protocol) pour la messagerie électronique. SNMP : (Simple Network Management Protocol) pour l'administration à distance. Yonel GRUSSON
TCP/IP ARP (Adress Resolution Protocol) Permet de faire la correspondance entre les adresses logiques et les adresses physique (MAC) - Type = 806 RARP (Reverse Adress Resolution Protocol) Correspondance Adresse physique / adresse logique - Type = 8035 Yonel GRUSSON
TCP/IP UDP (User Datagram Protocol) Protocole équivalent à TCP mais en mode non connecté (Datagramme). Livraison non fiabilisée (pas de garantie d'arrivée, pas de contrôle de flux ni du séquencement…) Yonel GRUSSON
La Gestion d'Internet Le réseau Internet est géré par l'ICANN (Internet Corporation for Assigned Names and Numbers) organisation de droit privé (droit californien) à but non lucratif créé en 1998. De par ses statuts elle doit : Coordonner les éléments techniques pour préserver la connectivité universelle des réseaux. Yonel GRUSSON
La Gestion d'Internet De par ses statuts elle doit : Allouer et gérer l'espace des adresses IP Attribuer des identificateurs de protocole Gérer les noms de domaine de premier niveau pour les codes génériques (.com, .net, etc.) et nationaux (.fr, .it, etc.) Superviser et garantir le fonctionnement du système racine DNS. Yonel GRUSSON
La Gestion d'Internet L'ICANN remplace et assume maintenant les fonctions assurée précédemment par l'IANA (Internet Assigned Number Authority). L'ICANN est dirigé par un comité directeur de 19 membres élus. Les principales composantes de l'ICANN : Le DNSO (Domain Name Supporting Organization) qui traite des noms de domaines. Yonel GRUSSON
La Gestion d'Internet Les principales composantes de l'ICANN : L'ASO (Address Supporting Organization) qui s'occupe des adresses IP. Elle délègue la gestion des adresses IP à divers organismes : RIPE NCC (Réseaux IP Européens - Network Coordination Center) pour l'Europe, Moyen-Orient, Afrique du Nord APNIC (Asia-Pacific NetWork Information Center) pour l'Asie et le Pacifique Yonel GRUSSON
La Gestion d'Internet ARIN (American Registry for Internet Numbers) pour les États-Unis et le reste du monde Ces organisme délèguent à leur tour (en France, l’AFNIC -au sein de l’INRIA- gère le domaine .fr). Le PSO (Protocol Supporting Organization) travaille sur les protocoles utilisés dans les communication sur l'Internet. PSO collabore avec les organismes qui ont définis ou fait évolués les standards (IETF, W3C, etc.) et les organismes de télécommunication Yonel GRUSSON
La Gestion d'Internet Quelques adresses : http://www.icann.org http://www.dnso.org http://www.pso.icann.org http://www.aso.icann.org http://www.ietf.org (Internet Engineering Task Force) http://www.afnic.fr Pour obtenir les RFC : ftp://ftp.inria.fr http://abcdrfc.free.fr (traduction française) Yonel GRUSSON
L'adressage IP (IPv4) La norme IPv4, bientôt remplacée par IPv6, a connu de nombreuses évolutions : Une application "Classfull" de la norme. Puis devant les limites de ce type d'adressage, Le SubNetting (sous-réseaux) La technique CIDR (Classless Internet Domain Routing) La technique VLSM (Variable Length Subnetwork Mask) Yonel GRUSSON
Adresse de la machine sur le réseau local L'adressage IP (IPv4) L'adressage CLASSFULL Une adresse IP est codée sur 32 bits (4 octets) traditionnellement exprimée à l'aide de 4 nombres (0 à 255) séparés par des points Exemple d'adresse : 192.48.92.2 Décomposition d'une adresse IP : Attribuée par l'ICANN Attribué par l'Administrateur Adresse du réseau Adresse de la machine sur le réseau local Adresse IP Yonel GRUSSON
L'adressage IP (IPv4) Les réseaux sont catalogués en 5 classes : Yonel GRUSSON
L'adressage IP (IPv4) Classe A (premier bit à zéro) 126 Réseaux possibles (00 à 7F) + 16 millions de machines (000000 à FFFFFF). Adresses attribuées aux grands organismes (Défense US, MIT, etc.). Actuellement plus attribué. Classe B (second bit à zéro) 16384 réseaux (8000 à BFFF) et 65535 machines. Adresses allouées aux grands sites industriels, centres de recherche, universités, etc.). Yonel GRUSSON
L'adressage IP (IPv4) Classe C (troisième bit à zéro) 2097152 réseaux (C00000 à DFFFFF) avec 254 machines sur chaque réseau. Classe D (quatrième bit à zéro) Ces adresses ne désignent pas une machine mais un groupe de machines voulant partager la même adresse. La diffusion sur le groupe s'appelle MULTICAST Yonel GRUSSON
L'adressage IP (IPv4) Récapitulation Classe d'adresse Minimum Maximum Classe A Classe B Classe C Classe D Classe E Minimum 128 192 224 240 Maximum 126 191 223 239 247 Yonel GRUSSON
L'adressage IP (IPv4) Adresses Particulières : 0.0.0.0 Adresse utilisée par une machine pour connaître son adresse Internet durant une procédure d'initialisation (cf DHCP). 255.255.255.255 message envoyé à toutes les machines du réseau mais pas vers les autres réseaux (broadcast limité). <réseau>.255 message envoyé à toutes les machines du réseau <réseau> (broadcast dirigé). Par exemple : 193.16.255.255. Yonel GRUSSON
L'adressage IP (IPv4) Adresses Particulières : <réseau>.0 Adresse utilisée pour désigner le réseau <réseau>. Par exemple : 193.16.0.0. 0.<machine> Adresse du poste <machine> sur "ce réseau". Par exemple : 0.0.12.45 127.x.x.x Adresse de boucle. Le paquet envoyé avec cette adresse revient à l'émetteur. La valeur de 'x' est indifférente. On utilise généralement 127.0.0.1 Yonel GRUSSON
L'adressage IP (IPv4) Adresses Particulières : Le RFC 1597 fournit des adresses pour les réseaux privés (Adresses non routables sur l'Internet) : 10.0.0.0 1 réseau de classe A Soit le bloc d’adresses : 10.0.0.0 - 10.255.255.255 de 172.16.0.0 à 172.31.0.0 16 réseaux de classe B Soit le bloc d’adresses : 172.16.0.0 - 172.31.255.255 de 192.168.0.0 à 192.168.255.0 256 réseaux de classe C Soit le bloc d’adresses : 192.168.0.0 - 192.168.255.255 Yonel GRUSSON
Adresse de la machine sur le réseau local L'adressage IP (IPv4) Notion de masque "classfull" Adresse du réseau Adresse de la machine sur le réseau local Adresse IP Partant d'une adresse d'hôte (machine), le masque de réseau va permettre de reconnaître chacune des deux parties. Dans un contexte "classfull", il y a un masque par classe. Yonel GRUSSON
L'adressage IP (IPv4) Les masques seront donc : Classe A : 255.0.0.0 Adresse IP Adresse du réseau Adresse de l'hôte géré par l'administrateur BITS POSITIONNES A 1 BITS POSITIONNES A 0 Construction du masque "classfull" Les masques seront donc : Classe A : 255.0.0.0 Classe B : 255.255.0.0 Classe C : 255.255.255.0 Yonel GRUSSON
L'adressage IP (IPv4) Remarque importante : Avec le protocole IP, contrairement à l'adresse IP, LE MASQUE NE CIRCULE PAS sur le réseau (voir trame IP). Il est connu par les hôtes et les différents routeurs situés sur le ou les réseaux. Le masque se déduit du premier octet. Yonel GRUSSON
L'adressage IP (IPv4) Réseaux IP: Un réseau IP se défini comme un ensemble de machines (hôtes) interconnectées ayant la même adresse réseau et le même masque. Les réseaux IP sont séparés et interconnectés par des routeurs Réseau IP 1 Réseau IP 2 Routeur Yonel GRUSSON
L'adressage IP (IPv4) Réseaux IP: Dans un contexte "classfull" chaque réseau possède une adresse de classe et son masque Réseau IP 1 : 172.16.0.0 – 255.255.0.0 Réseau IP 2 : 10.0.0.0 – 255.0.0.0 Routeur Yonel GRUSSON
L'adressage IP (IPv4) Réseaux IP : Sur un réseau local on créera des réseaux IP pour : des raisons d’optimisation du trafic : Un réseau IP formera au moins un domaine de collision. La diffusion ARP et DHCP se fait sur le réseau IP de l’émetteur. des raisons de sécurité : La fonction routage peut être associé à des fonctions de filtrage (proxy, firewall, filtre,…) Yonel GRUSSON
L'adressage IP (IPv4) Limites du "classfull" L'utilisation stricte du "classfull" a très rapidement atteint ses limites : Le stock d'adresses publiques fut rapidement épuisé. Pour les très grands réseaux, le nombre d'adresses privées est insuffisants. Gaspillage d'adresses ; Avec une adresse de classe C, 253 hôtes, pour parfois un nombre d'hôtes inférieur. Yonel GRUSSON
Le SubNetting (sous-réseau) L'adressage IP (IPv4) Le SubNetting (sous-réseau) L'administrateur d'un LAN est maître de sa codification. Il peut s'il le désire créer diviser une adresse "classfull" en sous-réseaux dans la partie qui lui revient. L'adresse IP d’un hôte sera alors l’association de 3 adresses : Adresse du réseau Adresse du Sous-réseau Adresse de la machine sur le sous-réseau Yonel GRUSSON
L'adressage IP (IPv4) Donc deux problèmes peuvent se poser à l’administrateur : Définir son plan d’adressage donc définir un masque de réseau Retrouver grâce au masque de réseau, les éléments constitutifs d’une adresse (réseau, sous-réseau et hôte). Yonel GRUSSON
Construction du masque (subnetting) L'adressage IP (IPv4) N° Sous réseau N° de la machine BITS POSITIONNES A 1 BITS POSITIONNES A 0 Construction du masque (subnetting) Adresse IP Adresse du réseau Partie gérée par l'administrateur Yonel GRUSSON
L'adressage IP (IPv4) Le masque de réseau doit permettre de séparer la partie réseau + sous-réseau d'avec la partie numéro de machine. Exemples : Rappel : sans sous-réseau (classfull) Classe A : 255.0.0.0 - Classe B : 255.255.0.0 Classe C : 255.255.255.0 Calcul : <Adresse-IP> ET <Masque> = <Adresse-réseau>.0 Yonel GRUSSON
<142.12.42.145> ET <255.255.255.0> = <142.12.42.0> L'adressage IP (IPv4) Exemples : Sous-réseau en partant d' adresse de la classe B L'administrateur A peut choisir : 8 bits pour coder le sous-réseau et 8 bits pour les machines : Masque de réseau : 255.255.255.0 Ainsi avec l'adresse IP = 142.12.42.145 Calcul : <142.12.42.145> ET <255.255.255.0> = <142.12.42.0> Comme nous sommes en présence d'une classe B (1er octet = 142), il y a un sous réseau, et son adresse 42 est extrait du 3ème octet. Yonel GRUSSON
<153.121.219.14> ET <255.255.240.0>=<153.121.208.0> L'adressage IP (IPv4) Exemples : L'administrateur B peut choisir : 4 bits pour coder le sous-réseau et 12 bits pour les machines : Masque de réseau : 255.255.240.0 car (240)10 = (11110000)2 Ainsi avec l'adresse IP = 153.121.219.14 Calcul : <153.121.219.14> ET <255.255.240.0>=<153.121.208.0> Comme nous sommes en présence d'une classe B (1er octet = 153), l’adresse du sous-réseau 13 est extrait du 3ème octet 219 (4 premiers bits = 1101). Yonel GRUSSON
L'adressage IP (IPv4) La division des bits à la disposition de l'administrateur se fera selon : Le nombre de sous-réseaux à adresser et/ou Le nombre d'hôtes à adresser sur chaque sous-réseau en tenant compte de l'évolution de ce nombre. Yonel GRUSSON
L'adressage IP (IPv4) 142.12.42.145 / 24 - 153.121.219.14 / 20 Une convention d'écriture des adresses IP On trouve parfois l'écriture suivante des adresses IP (reprise de la notation CIDR) : 142.12.42.145 / 24 - 153.121.219.14 / 20 Dans cette écriture les nombres 24 (pour 255.255.255.0) et 20 (pour 255.255.240.0) représentent le nombre de bits consacré à la codification du réseau (et sous réseau). C'est une autre façon de donner le masque. Yonel GRUSSON
L'adressage IP (IPv4) La technique CIDR La méthodologie CIDR (Classless Internet Domain Routing – Routage de domaine Internet sans classe ) s'applique essentiellement à l'Internet. Devant l'expansion d'Internet 2 problèmes qui sont liés, sont apparus : Faire face au manque d'adresses Faire face à la taille importante des tables de routage des routeurs. Yonel GRUSSON
L'adressage IP (IPv4) Problème : Une organisation désire 2000 adresses. Un réseau de classe B lui procurera 65534 hôtes (63534 adresses perdues). Un réseau de classe C lui procurera seulement 254 hôtes. Pour une bonne gestion du stock d'adresses, l'organisation obtiendra 8 réseaux de classe C (254*8 = 2032 adresses) par exemple les ID de réseau 220.78.16.0 à 220.78.23.255 (ID contiguës) Mais cette multiplicité de réseaux implique une surcharge des tables de routage car pour 1 organisation 8 lignes sont nécessaires alors qu'une seule devrait suffire. Yonel GRUSSON
220.78.16.0 / 21 (notation normalisée CIDR) L'adressage IP (IPv4) 220.78.16.0 à 220.78.23.255 11011100 01001110 00010 000 00000000 Jusqu'à… 11011100 01001110 00010 111 11111111 Soit le masque CIDR : 11111111 11111111 11111 000 00000000 220.78.16.0 - 255.255.248.0 ou 220.78.16.0 / 21 (notation normalisée CIDR) Yonel GRUSSON
[ID Réseau la plus basse – Masque de réseau_CIDR] L'adressage IP (IPv4) La technique du CIDR va permettre de remplacer ces 8 lignes par une seule. Cette entrée dans la table de routage sera : [ID Réseau la plus basse – Masque de réseau_CIDR] Entre d'autres termes, cette méthode fixe une adresse de départ et une étendue. Yonel GRUSSON
L'adressage IP (IPv4) 220.78.16.0 / 21 …….. 220.78.16.0 / 24 220.78.23.0 / 24 220.78.17.0 / 24 220.78.22.0 / 24 …….. Yonel GRUSSON
L'adressage IP (IPv4) Récapitulatif : Le nombre de réseaux de classe C doit être une puissance N de 2 (pour 16 réseaux N = 4, par exemple) La première adresse de classe C se termine par N zéros. De cette façon la numérotation des réseaux va de 00..0 à 11..1 (de 0000 à 1111 pour N = 4) Le masque CIDR contient des 1 pour le préfixe commun à toutes les adresses de classe C et des 0 sur les autres positions. Yonel GRUSSON
Variable Lenght SubNet Mask (VLSM) L'adressage IP (IPv4) Variable Lenght SubNet Mask (VLSM) VLSM est une application de la méthodologie CIDR à un réseau hiérarchique d'entreprise (bâtiment, étage, service, etc...) On distingue : Le VLSM symétrique Le VLSM asymétrique Yonel GRUSSON
L'adressage IP (IPv4) Méthodologie pour appliquer VLSM : Dénombrer le nombre d'hôtes en tenant compte de leur évolution. Etablir une topologie en différentes couches hiérarchique (par exemple : pays, région, ville, etc..) Réserver un nombre de bits afin de décrire chaque couche et le nombre d'hôtes. Calculer l'adresse réseau et le masque de chaque niveau hiérarchique. Yonel GRUSSON
L'adressage IP (IPv4) VLSM symétrique Avec ce découpage, le masque attribue la même taille à chaque couche. Exemple : Une entreprise dispose d'un bâtiment de 3 étages : 1er étage : 2 services avec respectivement 10 et 20 hôtes 2éme étage : 1 service avec 50 hôtes 3éme étage : 3 services avec respectivement 40,20 et 40 hôtes. Nombre d'hôtes total : 160 Yonel GRUSSON
L'adressage IP (IPv4) Le service le plus important comprend 50 hôtes qui nécessite 6 bits (26 = 64) Le nombre maximal de services 3 soit 2 bits Le nombre maximal d'étages 3 soit 2 bits Utilisation d'une adresse de classe B, par exemple : 130.78.0.0 L'adresse IP sera donc de la forme : 10000010. 01001110. 0000 0000 . 0000 0000 Yonel GRUSSON
L'adressage IP (IPv4) La répartition des adresses sera la suivante : 1er étage : 130.78. 0000 0000 . 0000 0000 Service 1A : 130.78. 0000 0000 . 0000 0000 Service 1B : 130.78. 0000 0000 . 0100 0000 2éme étage : 130.78. 0000 0001 . 0000 0000 Service 2A : 130.78. 0000 0001 . 0000 0000 3éme étage : 130.78. 0000 0010 . 0000 0000 Service 3A : 130.78. 0000 0010 . 0000 0000 Service 3B : 130.78. 0000 0010 . 0100 0000 Service 3C : 130.78. 0000 0010 . 1000 0000 Yonel GRUSSON
L'adressage IP (IPv4) On détermine les adresses et les masques pour chaque niveau : 1er étage : 130.78 .0.0 / 24 Service 1A : 130 .78.0.0 / 26 Service 1B : 130.78. 0.64 / 26 2éme étage : 130.78. 1.0 / 24 Service 2A : 130.78. 1 .0 / 26 3éme étage : 130.78.2.0 / 24 Service 3A : 130.78.2. 0 / 26 Service 3B : 130.78. 2.64 / 26 Service 3C : 130.78. 2.128 / 26 Yonel GRUSSON
L'adressage IP (IPv4) 130.78.0.0 / 24 130.78.1.0 / 24 130.78.2.0 / 24 130.78.0.0 / 26 130.78.0.64 / 26 130.78.1.0 / 26 130.78.2.0 / 26 130.78.2.64 / 26 130.78.2.128 / 26 130.78.0.0 / 16 Yonel GRUSSON
L'adressage IP (IPv4) Dans cet exemple, les couches ont été "calibrées au plus juste", 6 bits ne sont pas utiliser. Dans la réalité, il est impossible d'obtenir une adresse de classe entière (à moins d'utiliser une adresse privée). Les fournisseurs d'accès internet attribue une adresse qui répond exactement aux besoins de l'entreprise. Dans l'exemple, il pourrait attribuer l'adresse suivante : 130.78.172.0 / 22 Ainsi le FAI conserve la disponibilité des 6 bits. Yonel GRUSSON
L'adressage IP (IPv4) VLSM asymétrique Le VLSM symétrique entraine un gaspillage des adresses (64 hôtes par service alors qu'un service n'en contient que 10). Le VSLM asymétrique va s'adapter à la taille de chaque couche de la structure hiérarchique. Reprise du même exemple avec la méthodologie asymétrique. Yonel GRUSSON
L'adressage IP (IPv4) Le schéma de départ de l'adresse IP est le même : 10000010. 01001110. 0000 0000 . 0000 0000 Le service 1A n'a que 10 hôtes donc 4 bits suffisent ; Les bits exclus passant à la couche supérieur : Idem pour les services 1B, (20 hôtes = 5 bits) Pour les services 3A et 3C (40 hôtes = 6 bits) Yonel GRUSSON
L'adressage IP (IPv4) La répartition des adresses sera la suivante : 1er étage : 130.78. 0000 0000 . 0000 0000 Service 1A : 130.78. 0000 0000 . 0000 0000 Service 1B : 130.78. 0000 0000 . 0010 0000 2éme étage : 130.78. 0000 0001 . 0000 0000 Service 2A : 130.78. 0000 0001 . 0000 0000 3éme étage : 130.78. 0000 0010 . 0000 0000 Service 3A : 130.78. 0000 0010 . 0000 0000 Service 3B : 130.78. 0000 0010 . 0100 0000 Service 3C : 130.78. 0000 0010 . 1000 0000 Yonel GRUSSON
L'adressage IP (IPv4) On détermine les masques pour chaque niveau: 1er étage : 130.78 .0.0 / 24 Service 1A : 130 .78.0.0 / 28 Service 1B : 130.78. 0.32 / 27 2éme étage : 130.78. 1.0 / 24 Service 2A : 130.78. 1.0 / 26 3éme étage : 130.78.2.0 / 24 Service 3A : 130.78.2.0 / 26 Service 3B : 130.78. 2.64 / 27 Service 3C : 130.78. 2.128 / 26 Yonel GRUSSON
L'adressage IP (IPv4) 130.78.0.0 / 16 130.78.0.0 / 24 130.78.1.0 / 24 130.78.2.0 / 24 130.78.0.0 / 28 130.78.0.32 / 27 130.78.1.0 / 26 130.78.2.0 / 26 130.78.2.64 / 27 130.78.2.128 / 26 Yonel GRUSSON
Conditions d'utilisation du ClassLess L'adressage IP (IPv4) Conditions d'utilisation du ClassLess Le protocole de routage doit transporter le masque ce qui est le cas avec RIP2 et EIGRP (RIP1 et IGRP sont ClassFull) Les routeurs et les hôtes doivent supporter le ClassLess (cas général). Le plan d'adressage doit être de type hiérarchique. Yonel GRUSSON
Les Adresses IP (IPv6) L'adressage 32 bits se révéle insuffisant avec le développement d'Internet (émergence de nouveaux pays – Inde, Chine…). IPv6 (ou Ipng - ng pour "Next Génération") prévoit des adresses sur 128 bits (1 milliard de réseaux). IPv6 pourra contenir un adresse IPv4 sur les 32 bits de poids faibles + un préfixe sur les bits de poids forts. Yonel GRUSSON
Les Adresses IP (IPv6) Une adresse IPv6 s'exprime en notation hexadécimal avec le séparateur "deux-points". Exemple d'adresse : 5800:10C3:E3C3:F1AA:48E3:D923:D494:AAFF Le principe de numérotation des réseaux et des hôtes est maintenue avec des améliorations. Cf. cours IPV6 Yonel GRUSSON
Le Protocole IP Le protocole IP offre une couche d'abstraction par rapport aux caractéristiques physiques et matériels du réseau I P Contraintes Physiques LAN Ethernet WAN Token Ring Yonel GRUSSON
Le Protocole IP Un réseau IP est : En mode DATAGRAMME. Sans connexion La couche IP ne tente pas d'assurer "une livraison fiable à la destination". La fiabilité et le problème du séquencement sont traités par un protocole de couche supérieure comme TCP. Yonel GRUSSON
Le Protocole IP Le DATAGRAMME IP sera encapsulé dans "la zone de donnée" de la trame du niveau inférieur. Yonel GRUSSON
Le Protocole IP Yonel GRUSSON
Le DATAGRAMME IP Version : 4 bits pour la version ( 4 pour IPv4 -actuellement utilisé- ou 6 pour IPv6). Internet Header Length (IHL) : 4 bits pour donner la longueur de l'en-tête IP exprimée en mot de 32 bits. Avec un bourrage dans le champs option pour s'aligner sur un multiple de 32 bits. Sans le champs options la longueur minimum de l'en-tête IP est de 20 octets soit 5 mots de 32 bits. Yonel GRUSSON
Le DATAGRAMME IP Type de Service (ToS :Type Of Service) 8 bits qui se décomposent ainsi - délai + fiabilité débit coût Type de Service Priorité 2 1 3 6 5 4 7 Zone utilisée par les algorithmes de routage Yonel GRUSSON
Le DATAGRAMME IP Longueur totale du Datagramme : 16 bits pour la longueur totale (En-tête + Données). Longueur théorique maximale : 65535 octets. Quand le datagramme est encapsulé par une trame Ethernet ce champ permet de distinguer la partie information utile des bits de bourrage Les Datagrammes dont la longueur dépasse la zones de données (MTU : Maximum Transmission Unit) du réseau sous-jacent doivent être fragmentés (rappel : MTU Ethernet 1500 octets). Yonel GRUSSON
Le DATAGRAMME IP La Fragmentation : La fragmentation recouvre les champs identification, drapeau et place du fragment. Identification : Chaque émetteur numérote le datagramme (0 à 65535). Champs utilisé pour réassembler un datagramme fragmenté. Drapeau : 3 bits Toujours à 0 DF : Don't Fragment MF : More Fragment 1 2 Yonel GRUSSON
Le DATAGRAMME IP La Fragmentation Drapeau (suite) : DF = 0 Fragmentation possible. DF = 1 Fragmentation interdite. MF = 0 Dernier fragment. MF = 1 Ce n'est pas le dernier fragment. Place du fragment : 13 bits pour indiquer la position des données du fragment par rapport au début du datagramme originel (en mot de 8 octets). Yonel GRUSSON
Valeur = 0 Le paquet est détruit Le DATAGRAMME IP La Durée de Vie (TTL : Time To Live) Temps maximal pendant lequel le paquet peut rester dans le système. Valeur = 0 Le paquet est détruit En principe TTL est exprimé en Seconde. Mais les durées de propagation sont difficilement évaluables par les routeurs. En pratique TTL contient le nombre de routeurs maximal qu'un paquet peut traverser. Chaque routeur décrémente de 1. Yonel GRUSSON
Le DATAGRAMME IP Protocole Ce champ indique le protocole de couche supérieur qui recevra les données IP TCP=6 - UDP = 17 ETHERNET IP ARP RARP TCP Couche 2 Couche 3 Couche 4 Type 0835 Type 0806 Type 0800 Protocole = 6 Yonel GRUSSON
Le DATAGRAMME IP CheckSum : Égal au complément à 1 de la somme des mots de 16 bits (excepté le checksum). Cette somme est recalculée par chaque routeur (modification du champs TTL) Adresse Source (cf Adressage IP) Adresse Destination (cf Adressage IP) Yonel GRUSSON
Le DATAGRAMME IP Options : Ce champ est de longueur variable et peut être nul. La description d'une option est la suivante : Paramètre(s) Longueur Option Longueur est un multiple de mots de 32 bits (bourrage éventuel avec des 0) Yonel GRUSSON
Copie de cette option dans les fragments Le DATAGRAMME IP Classe 2 Bits Nombre - 5 Bits pour numéroter l'option dans la classe 0 0 : Contrôle 1 0 : Débogage et mesures 0 1 et 11 réservé à un usage ultérieur Paramètre(s) Longueur Option Copie de cette option dans les fragments si Bit = 1 Yonel GRUSSON
Le ROUTAGE IP Les réseaux IP sont interconnectés entre eux pour former un vaste réseau dont l'étendue peut être mondial (INTERNET). Les réseaux IP sont reliés entre eux à l'aide de périphériques : Les ROUTEURS. La transmission des datagrammes IP vers leurs destinataires s'appelle le ROUTAGE. (Le routage ne s'entend que dans un environnement interconnecté de réseaux ou de sous-réseaux.) Yonel GRUSSON
Prendre la direction de : Le ROUTAGE IP Dans chaque routeur un logiciel de routage IP à l'aide d'une table de routage achemine l'information de proche en proche vers le destinataire Les hôtes -station d'un réseau- peuvent avoir aussi une table de routage. Schéma simplifié d'une table de Routage : Pour se rendre à : XXXXXXX YYYYYYYY Prendre la direction de : Yonel GRUSSON
Le ROUTAGE IP Routeur Chaque PORT est connecté sur un RESEAU Sortant xxx Logiciel de Routage Table de routage Balayage Port Entrant Sortant Chaque PORT est connecté sur un RESEAU Yonel GRUSSON
Le ROUTAGE IP Types de Routage Routage Statique : La table de routage est créée manuellement. Routage Dynamique : Le routeur intègre dynamiquement de nouvelles informations grâce à des protocoles de routage (Routing Information Protocol - RIP par exemple). Même dynamique le routeur doit parfois être configuré manuellement. Yonel GRUSSON
Le ROUTAGE IP 196.10.55.0 154.203.0.0 132.96.0.0 222.127.12.0 R1 R2 R4 R3 R5 154.203.0.6 196.10.55.8 196.10.55.4 222.127.12.9 154.203.0.11 132.96.0.4 132.96.0.6 222.127.12.21 154.203.0.10 222.127.12.2 154.203.0.12 Exemple de réseau d'entreprise IP Yonel GRUSSON
Le ROUTAGE IP Exemple de table de Routage d'un hôte 202.10.1.0 203.5.25.0 204.23.10.0 R1 R5 R2 R4 R3 205.6.12.2 205.6.12.5 205.6.12.1 205.6.12.3 205.6.12.0 Destination 205.6.12.0 202.10.1.0 203.5.25.0 204.23.10.0 Routeur de prochain pas Connexion directe 205.6.12.1 205.6.12.2 205.6.12.3 Exemple de table de Routage d'un hôte Yonel GRUSSON
Exemple de table de routage pour un Routeur Le ROUTAGE IP Destination Interface Routeur prochain pas 202.10.1.0 198.110.4.0 197.18.6.0 203.15.8.0 Connexion directe 198.110.4.3 198.110.4.6 P2 P1 202.10.1.0 197.18.6.0 203.15.8.0 198.110.4.0 R3 R2 202.10.1.5 R1 198.110.4.1 197.18.6.12 198.110.4.3 198.110.4.6 203.15.8.4 P2 P1 Exemple de table de routage pour un Routeur Yonel GRUSSON
Le ROUTAGE IP D'une façon générale une table de routage contient des adresses de réseau comme destination. Il y a cependant deux autres destinations possibles : Des adresses spécifiques La destination par défaut Yonel GRUSSON
Routage avec des adresses spécifiques Le ROUTAGE IP 202.10.1.0 203.5.25.0 R1 R5 R2 R4 R3 205.6.12.2 205.6.12.5 205.6.12.1 205.6.12.3 205.6.12.0 Destination Routeur 202.10.1.4 203.5.25.8 204.23.10.0 205.6.12.0 202.10.1.4 203.5.25.8 202.10.1.0 203.5.25.0 204.23.10.0 Connexion directe 205.6.12.2 205.6.12.3 205.6.12.1 Exemple de table de Routage avec des adresses spécifiques Yonel GRUSSON
Le ROUTAGE IP R1 R2 195.23.5.0 216.39.8.0 214.56.3.0 204.23.12.0 196.139.5.0 196.139.5.5 196.139.5.6 Routeur de prochain pas Destination 196.139.5.0 204.23.12.0 0.0.0.0 Connexion directe 196.139.5.5 196.139.5.6 Yonel GRUSSON
Exploitation des tables de routage L’exploitation d’une table de routage commence avec l’adresse IP de destination d’un hôte. Pour atteindre cet hôte il faut d’abord atteindre le réseau auquel il appartient et traverser les réseaux qui le précèdent. Les adresses des réseaux ne peuvent être obtenu qu’avec l’aide du masque de réseau. La table de routage doit donc présenter ce masque Yonel GRUSSON
Exploitation des tables de routage Une table de routage contiendra donc les quatre colonnes suivantes : Adresse de destination (pour joindre telle adresse IP) Masque de réseau (dont le réseau est …) Adresse du Routeur ou passerelle (passer par ce routeur…) Interface ou Port (pour joindre ce routeur passer par…) Yonel GRUSSON
Exploitation des tables de routage 132.12.0.0 132.12.1.0 132.12.2.0 198.25.30.0 166.1.0.0 R2 R1 P1 P2 P3 P4 132.12.1.1 132.12.2.1 166.1.0.1 156.15.0.1 156.15.0.2 156.15.0.0 Yonel GRUSSON
Exploitation des tables de routage Version 1 Adresse de destination Masque de réseau Passerelle Interface 166.1.0.0 132.12.1.0 132.12.2.0 156.15.0.0 198.25.30.0 255.255.0.0 255.255.255.0 Connexion Directe 156.15.0.2 P4 P3 P2 P1 Yonel GRUSSON
Exploitation des tables de routage Version 2 Adresse de destination Masque de réseau Passerelle Interface 166.1.0.0 132.12.1.0 132.12.2.0 156.15.0.0 198.25.30.0 255.255.0.0 255.255.255.0 132.12.1.1 156.15.0.2 166.1.0.1 132.12.2.1 156.15.0.1 Yonel GRUSSON
Exploitation des tables de routage Dans cette seconde version, la mention "Connexion directe" (le réseau de destination connecté sur le même routeur) est remplacé par l'adresse IP de l'interface du routeur. Un cinquième colonne "Métrique" est possible. Elle indique le nombre de pas pour atteindre la destination. Le nombre de pas correspond au nombre de réseaux qu'il faut traverser pour atteindre le réseau de destination. Yonel GRUSSON
Exploitation des tables de routage Début PasTrouve := Vrai Tant que PasTrouve ET Non(Fin de la table) faire N=Adresse de destinataire ET Masque de réseau Si N = Adresse de destination (colonne 1 de la table) Alors PasTrouve :=Faux Si Passerelle = "Connexion directe " alors Recherche de l'Ad. MAC dans le cache ARP Si Pas de correspondance dans la table ARP alors Émission d'une trame ARP Remise de la trame IP à la couche 4 Terminé sinon Remise de la trame IP à la couche 4 Fin du si Yonel GRUSSON
Exploitation des tables de routage sinon Router vers la passerelle Terminé Fin du si Fin du Tant que Si PasTrouvé Alors Message d ’erreur Fin D'autres algorithmes sont possibles Yonel GRUSSON
LES protocoles DE ROUTAGE Les protocoles de routage vont permettre aux routeurs interconnectés s'échanger des informations afin de mettre à jour automatiquement leurs tables de routage (routage dynamique). Il existe deux critères de classement : La portée du protocole. L'algorithme utilisé. Yonel GRUSSON
LES protocoles DE ROUTAGE La portée du protocole : Certains protocoles sont de type Interior Gateway Protocol (IGP). Leur portée est limitée à un système autonome (SA). On appelle SA un ensemble de réseaux placés sous le contrôle de la même autorité (par exemple un FAI). C'est une notion administrative et non technique. Yonel GRUSSON
LES protocoles DE ROUTAGE La portée du protocole : D'autres protocoles sont utilisés entre les systèmes autonomes. Ils sont dit externes (EGP – Exterior Gateway Protocol) Yonel GRUSSON
LES protocoles DE ROUTAGE L'algorithme utilisé : Il existe deux classes d’algorithmes : Les algorithmes Vector-Distance : RIP v1(Routing Internet Protocol), RIP v2, IGRP (Interior Gateway Routing Protocol de CISCO) Les algorithmes Link-State : OSPF (Open Shortest Path First) Des protocoles sont dits hybrides : BGP (Border Gateway Protocol) et EIGRP (Enhanced Interior Gateway Routing Protocol de CISCO ) Yonel GRUSSON
LES PROTOCOLES DE ROUTAGE Algorithme Vector-Distance de Belman-Ford : Un routeur diffuse régulièrement à ses voisins les routes qu’il connaît. Une route est composée d’une adresse destination, d’une adresse de passerelle et d’un métrique indiquant le nombre de sauts nécessaires pour atteindre la destination. Une passerelle qui reçoit ces informations compare les routes reçues avec ses propres routes connues et met à jour sa propre table de routage : si une route reçue comprend un chemin plus court (nombre de prochains sauts +1 inférieur), si une route reçue est inconnue. Yonel GRUSSON
Vector-Distance : Exemple de mise à jour B 1 C 2 E 3 D A L B 1 C 3 E 2 D C 2 1 B L E 4 B L E 4 1 C 2 Donc : 1 2 C A B B 1 Reste inchangé C 3 Devient 1 2 Car 1+1 < 3 3 4 6 E 5 D E 3 2 Reste inchangé Vector-Distance : Exemple de mise à jour Yonel GRUSSON
Vector-Distance : construction des tables 4 A B D E 1 2 6 5 L C 3 A 1 3 B 2 1 A D 3 6 4 E 6 1 A B 2 C 5 4 D D 6 1 A 2 B 4 E L C A 1 B L 3 D A L Yonel GRUSSON
Vector-Distance : la convergence 1 B L C 2 E 4 D Vector-Distance : la convergence 6 5 3 A L D 3 1 B C 2 E 6 4 5 A 1 B L C 2 E 4 D C 1 2 E Convergence ! C 6 2 Yonel GRUSSON
LES protocoles DE ROUTAGE Le protocole RIP est de type IGP. Il est surtout utiliser dans les petits ou moyens réseaux locaux : RIP 1 est seulement "classfull" et n’accepte pas le VLSM (il ne transporte pas le masque). RIP 2 est "classless" et ajoute un processus d’authentification. RIP 1 et 2 se limitent à 15 sauts et utilisent une bande passante non négligeable (transfert régulier de la table de routage)
LES protocoles DE ROUTAGE Algorithme Link-State Basé sur la technique Shortest Path First (SPF) : Les passerelles maintiennent une carte complète du réseau et calculent les meilleurs chemins localement en utilisant cette topologie. Les passerelles ne communiquent pas la liste de toutes les destinations connues (cf. Vector-Distance), Une passerelle basée sur l’algorithme SPF, teste périodiquement l’état des liens qui la relient à ses routeurs voisins, puis diffuse périodiquement ces états (Link-State) à toutes les autres passerelles du domaine. Yonel GRUSSON
LES protocoles DE ROUTAGE Les messages diffusés ne spécifient pas des routes mais simplement l’état (up, down) entre deux passerelles. Lorsque un message parvient à une passerelle, celle-ci met à jour la carte de liens et recalcule localement pour chaque lien modifié, la nouvelle route selon l’algorithme de Dijkstra shortest path algorithm qui détermine le plus court chemin pour toutes les destinations à partir d’une même source. Détail de l'algorithme de Dijkstra à l'adresse : http://fr.wikipedia.org/wiki/Algorithme_de_Dijkstra Yonel GRUSSON
Les Protocoles de transport On trouve typiquement au dessus du protocole IP (couche réseau - 3), les protocoles de transport (couche 4) suivants : UDP (User Datagramme Protocol) Protocole sans connexion Livraison non fiabilisée (pas de garantie d'arrivée, pas de contrôle de flux ni du séquencement…) TCP (Transmission Control Protocol) Yonel GRUSSON
LE MESSAGE TCP Caractéristiques du protocole TCP Un contrôle des données transférées (données endommagées, perdues et/ou dupliquées) et un reséquencement si la couche IP ne les délivre pas dans l'ordre. Un niveau de priorité. Les données transmises dans un message peuvent être traitées avec plus ou moins de priorité. Yonel GRUSSON
LE MESSAGE TCP Caractéristiques du protocole TCP Un contrôle du flux grâce à un mécanisme de "fenêtre". Yonel GRUSSON
LE MESSAGE TCP Yonel GRUSSON
LE MESSAGE TCP Port Source - Port Destination L'adresse IP, au niveau 3, permet de situer une machine. Une fois la machine trouvée, il faut pouvoir déterminer l'application qui doit traiter les données. L'application est désignée par un NUMERO DE PORT. Le RFC 1700 donne l'affectation des numéros de port aux applications connues Yonel GRUSSON
LE MESSAGE TCP Exemples de numéro de PORT (extrait du RFC 1700) Yonel GRUSSON
[Adresse IP + Numéro de port] LE MESSAGE TCP Les numéros de port compris entre 0 et 1023 sont réservés pour les ports usuels. L'association : [Adresse IP + Numéro de port] s'appelle un Socket. Numéro de séquence et Acquittement Principe : Pour la fiabilité de la transmission les octets sont numérotés. Yonel GRUSSON
LE MESSAGE TCP Champ des bits de contrôle (Flag) 6 Bits pour définir la fonction des message et la validité de certains champs : URG : Message urgent - Les données doivent être traitées sans attendre que le récepteur ait traité les octets envoyés dans le flux. ACK : Indique la validité du champ acquittement. Yonel GRUSSON
LE MESSAGE TCP Champ des bits de contrôle (Flag) PSH : Les données reçues doivent être immédiatement remises à la couche supérieure. RST (Reset) : Réinitialisation de la connexion suite à une erreur irrécupérable. SYN : Indique l'ouverture d'une connexion. FIN : Fermeture normale d'une connexion Yonel GRUSSON
LE MESSAGE TCP Champ réservé Pour un usage futur et positionné à 0. Déplacement Nombre de mots de 32 bits qui constitue l'entête TCP car le champ Option est de longueur variable. Avec aucune option, déplacement = 5 (20 octets). Yonel GRUSSON
LE MESSAGE TCP Champ fenêtre Ce champ est une implémentation du contrôle de flux. Nombre d'octets qu'il est possible de recevoir par rapport au numéro d'acquittement (cf. plus loin). Il est calculé par le récepteur en fonction de la taille encore disponible dans son buffer d'entrée. Yonel GRUSSON
LE MESSAGE TCP CheckSum Pointeur message Urgent Pointe sur les octets qui doivent être traités en priorité. Options Champ de longueur variable avec un bourrage pour s'aligner sur un multiple de 32 bits (voir déplacement) Yonel GRUSSON
LE MESSAGE TCP Options (suite) Type A : 1 seul octet : 00000000 Fin des options 00000001 Pas d'opération Type B : 00000010 Longueur Données de l'option Yonel GRUSSON
LE MESSAGE TCP Options (suite) L'option principalement utilisée est la détermination du MSS (Maximum Segment Size) lors de la connexion. MSS fixe la taille maximum des données qu'il est possible de mettre dans un message. 00000010 4 octets Type B Long = 4 MSS Yonel GRUSSON
LA CONNEXION TCP Gestion d'une connexion TCP Les champs numéro de séquence, acquittement et flags sont utilisés par le protocole TCP à gérer la communication de bout en bout (couche 4) Yonel GRUSSON
LA CONNEXION TCP Une application qui appelle le module TCP utilise les appels systèmes suivants : OPEN pour ouvrir la connexion. On distingue : OPEN PASSIF qui est un open type serveur. Il reste à l'écoute et accepte les requêtes qui lui arrive. OPEN ACTIF qui est un open type client qui après une connexion sur un open passif enverra des données. Yonel GRUSSON
LA CONNEXION TCP CLOSE pour fermer la connexion SEND pour envoyer les données après un OPEN RECEIVE pour recevoir des données STATUS pour obtenir des informations sur la connexion. Yonel GRUSSON
LA CONNEXION TCP L'ouverture d'un connexion TCP se négocie en 3 temps à l'aide des flags SYN et ACK : SYN = 1 ACK = 0 Demande d'ouverture ACK = 1 Acceptation de l'ouverture SYN = 0 Données Yonel GRUSSON
LA CONNEXION TCP Le contrôle de flux se fait à l'aide des champs numéro de séquence (noté #SEQ) et acquittement (noté #ACK). La valeur initiale de #SEQ est produite à partir d'une horloge et d'un compteur incrémenté toutes les 4 ms. Il permet de numéroter les octets de données. Avec ces éléments un schéma d'une connexion TCP sera le suivant (il existe d'autres séquences de protocole) : Yonel GRUSSON
LA CONNEXION TCP ACTIVE OPEN Demande d'ouverture de connexion par le client PASSIVE OPEN Par le serveur #ACK = 0 #SEQ = 55 SYN=1 ACK=0 #ACK = 56 #SEQ = 202 SYN=1 ACK=1 #ACK = 203 #SEQ = 56 SYN=0 ACK=1 #ACK = 67 (56+10+1) #SEQ = 203 Envoi de 10 octets Envoi de 20 octets Quand SYN=0 et ACK=1 : #SEQ reprend le #ACK reçu #ACK = #SEQ reçu + Nombre d'octets reçu + 1 #ACK donne le numéro du prochain octet attendu Yonel GRUSSON
LA CONNEXION TCP Envoi de 10 octets Envoi de 30 octets #ACK = 224 (203+20+1) #SEQ = 67 SYN=0 ACK=1 #ACK = 78 #SEQ = 224 Envoi de 30 octets Panne de réseau t =Time Out Copie du message dans une file d'attente. Reprise de l'envoi si aucun ACK n'est reçu avant le temps "t". Yonel GRUSSON
LA CONNEXION TCP Réexpédition des 30 octets Envoi de n octets Etc. #ACK = 255 #SEQ = 78 SYN=0 ACK=1 Réexpédition des 30 octets Envoi de n octets #ACK = 78 #SEQ = 224 Etc. Yonel GRUSSON
Modèle TCP/IP et INTERNET Yonel GRUSSON
A B D E 1 2 6 5 4 3 C L Yonel GRUSSON