SCTP

529 vues

Publié le

Stream Control Transmission Protocol : A brief overview

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
529
Sur SlideShare
0
Issues des intégrations
0
Intégrations
5
Actions
Partages
0
Téléchargements
22
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

SCTP

  1. 1. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur SCTP Stream Control Transmission Protocol Jonathan Schoreels Universit´e de Mons 16 Novembre 2012 Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 1 / 34
  2. 2. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Table des mati`eres 1 Introduction Situation actuelle TCP UDP 2 Objectif 3 Mod`ele d’association Base du mod`ele Diff´erences avec TCP 4 Fonctionnalit´es Multi-Homing Multi-Streaming Options de livraison 5 Structure Message 6 Comportement Initiation SCTP Data Transfer SCTP Shutdown 7 Futur D´eploiement Pistes `a d´evelopper Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 2 / 34
  3. 3. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Le r`egne Depuis 30 ans, deux protocoles se sont partag´es le r`egne de la couche transport : TCP et UDP. La couche application s’est bas´ee principalement sur ces deux protocoles pour communiquer et TCP fourni un transport fiable de messages entre applications, l`a o`u UDP garde le paradigme du best-effort intact. Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 3 / 34
  4. 4. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Le r`egne Depuis 30 ans, deux protocoles se sont partag´es le r`egne de la couche transport : TCP et UDP. La couche application s’est bas´ee principalement sur ces deux protocoles pour communiquer et TCP fourni un transport fiable de messages entre applications, l`a o`u UDP garde le paradigme du best-effort intact. Mais en 30 ans, les choses ont-elles chang´ees ? Les besoins de la couche application ont-ils ´evolu´es ? Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 3 / 34
  5. 5. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Les limites de TCP Origine de TCP TCP a gard´e le comportement que Jon Postel avait d´efini dans le RFC793. RFC datant maintenant de 1981, il ne prend pas en compte les besoins sp´ecifiques de nouvelles applications comme le VoIP. Exemples : Contrainte d’ordre. Certaines applications peuvent pr´ef´erer une approche ”Ordre d’arriv´ee”. Contrainte sur la connexion TCP qui ne pourra utiliser qu’une seule adresse IP destination : Non gestion du multi-homing. Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 4 / 34
  6. 6. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Pourquoi ne pas utiliser UDP ? UDP est sans doute le protocole de la couche transport respectant le mieux les id´ees du streaming. H´elas, dans le cadre du VoIP, nous ne pouvons laisser un protocole orient´e best-effort. En effet, UDP n’ayant pas de contrˆole de congestion, l’utiliser reviendrait `a d´et´eriorer les conditions de travail d’autres protocoles comme TCP (en saturant les liens). De plus, il est primordial que l’´emission et la r´eception de messages soient fiables, ce qui requiert un processus de r´ecup´erations de paquets perdus. Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 5 / 34
  7. 7. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Table des mati`eres 1 Introduction Situation actuelle TCP UDP 2 Objectif 3 Mod`ele d’association Base du mod`ele Diff´erences avec TCP 4 Fonctionnalit´es Multi-Homing Multi-Streaming Options de livraison 5 Structure Message 6 Comportement Initiation SCTP Data Transfer SCTP Shutdown 7 Futur D´eploiement Pistes `a d´evelopper Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 6 / 34
  8. 8. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur SCTP Objectif Fournir un protocole de couche transport comprenant `a la fois la fiabilit´e de TCP, mais ´egalement l’ajout de concepts et de fonctionnalit´es profitant aux nouvelles applications, comme le VoIP. D´efinition compl`ete SCTP a ´et´e approuv´e en Octobre 2000 dans le RFC 2960. Celui-ci a ´et´e r´evis´e et mis `a jours dans le RFC 4960 datant cette fois ci de Septembre 2007. Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 7 / 34
  9. 9. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Table des mati`eres 1 Introduction Situation actuelle TCP UDP 2 Objectif 3 Mod`ele d’association Base du mod`ele Diff´erences avec TCP 4 Fonctionnalit´es Multi-Homing Multi-Streaming Options de livraison 5 Structure Message 6 Comportement Initiation SCTP Data Transfer SCTP Shutdown 7 Futur D´eploiement Pistes `a d´evelopper Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 8 / 34
  10. 10. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur SCTP : Un mod`ele ”orient´e-association” Id´ee de base Tout comme TCP, SCTP est ”orient´e-connexion”. N´eanmoins, pour se d´ebarrasser de la connotation qu’une connexion est entre une seule source et destination, SCTP emploie le terme d’association pour d´esigner l’´etat des deux pairs qui s’´echangent des messages. Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 9 / 34
  11. 11. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur SCTP : Un mod`ele ”orient´e-association” Attention : Diff´erence entre connexion et association L`a o`u une connexion (dans le sens donn´e par TCP) d´esigne un lien entre une adresse IP source (avec le port associ´e) et une adresse IP destination (avec le port associ´e), une association est d´efinie par un ensemble d’adresses IP sources (avec un port associ´e pour toutes celles-ci) et un ensemble d’adresses IP destinations (toujours avec un port associ´e pour toutes celles-ci) Il est important de comprendre qu’`a chaque envoi de messages, n’importe quelle adresse source ou destination peut-ˆetre utilis´ee. Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 10 / 34
  12. 12. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Table des mati`eres 1 Introduction Situation actuelle TCP UDP 2 Objectif 3 Mod`ele d’association Base du mod`ele Diff´erences avec TCP 4 Fonctionnalit´es Multi-Homing Multi-Streaming Options de livraison 5 Structure Message 6 Comportement Initiation SCTP Data Transfer SCTP Shutdown 7 Futur D´eploiement Pistes `a d´evelopper Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 11 / 34
  13. 13. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Multi-Homing Concept Fournir `a une connexion la possibilit´e de passer via plusieurs interfaces identifi´ees par des IPs diff´erentes. Avantages : R´esistance de l’association aux pannes ´eventuelles (SCTP fournit un syst`eme de ”battement de cœur” int´egr´e). Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 12 / 34
  14. 14. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Multi-Homing Concept Fournir `a une connexion la possibilit´e de passer via plusieurs interfaces identifi´ees par des IPs diff´erentes. Avantages : R´esistance de l’association aux pannes ´eventuelles (SCTP fournit un syst`eme de ”battement de cœur” int´egr´e). Lorsqu’un client souscrit `a deux FAIs, il n’est plus n´ecessaire d’indiquer au deuxi`eme FAI le set d’adresses obtenue par le premier (ce qui implique un rajout d’adresses agr´egeables), il suffit simplement que le client indique ses multiples adresses dans l’association. Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 12 / 34
  15. 15. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Multi-Homing Concept Fournir `a une connexion la possibilit´e de passer via plusieurs interfaces identifi´ees par des IPs diff´erentes. Avantages : R´esistance de l’association aux pannes ´eventuelles (SCTP fournit un syst`eme de ”battement de cœur” int´egr´e). Lorsqu’un client souscrit `a deux FAIs, r´eduction des annonces d’adresses agr´egeables. Encouragement `a diversifier la topologie du r´eseaux pour fournir plus d’alternatives de routes. Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 12 / 34
  16. 16. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur TCP connexion - SCTP association Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 13 / 34
  17. 17. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Cas plus personnel et concret .. Imaginons la situation suivante : Vous ˆetes en salle informatique avec votre portable reli´e `a l’ethernet, mais aussi tr`es certainement au r´eseau student de votre universit´e. Pas de chance, votre cˆable n’a plus sa cale en plastique, et le r´eseau sans fil de votre universit´e est loin d’ˆetre paradisiaque ... Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 14 / 34
  18. 18. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Multi-Streaming Chaque stream est identifi´e par en entier Le blocage d’un stream n’affecte pas les autres Parall´elisme des requˆetes ´Economies de ports par rapport `a plusieurs connexions TCP. Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 15 / 34
  19. 19. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Remarque pr´eliminaire Diff´erence entre livraison fiable et ordonn´ee Il est important de comprendre que les deux concepts que sont la fiabilit´e de livraison et la livraison ordonn´ee des paquets sont li´ees est un concept impos´e par TCP. SCTP fournit une liaison fiable, l’ordre ´etant param´etrable. Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 16 / 34
  20. 20. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Diff´erents ordres possibles SCTP fournit les ordres de livraisons suivants : Ordre de transmission strict (Comportement similaire `a TCP) Ordre de transmission partiel (L’ordre n’est respect´e que pour un mˆeme stream) Ordre de r´eception pur (Comportement similaire `a UDP) Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 17 / 34
  21. 21. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Table des mati`eres 1 Introduction Situation actuelle TCP UDP 2 Objectif 3 Mod`ele d’association Base du mod`ele Diff´erences avec TCP 4 Fonctionnalit´es Multi-Homing Multi-Streaming Options de livraison 5 Structure Message 6 Comportement Initiation SCTP Data Transfer SCTP Shutdown 7 Futur D´eploiement Pistes `a d´evelopper Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 18 / 34
  22. 22. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Message SCTP Remarque importante L`a o`u dans TCP chaque paquet transmis est une suite de bits non structur´ee, les messages transmis par SCTP sont des conteneurs de chunks, que l’on pourrait assimiler `a un paquet TCP. A noter n´eanmoins que ce chunks dispose d’un champ Protocol ID, que SCTP n’utilise pas lui mˆeme mais qui permet `a l’application de marquer diff´erents types de paquets pour sa gestion interne. Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 19 / 34
  23. 23. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Structure d’un message SCTP Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 20 / 34
  24. 24. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Table des mati`eres 1 Introduction Situation actuelle TCP UDP 2 Objectif 3 Mod`ele d’association Base du mod`ele Diff´erences avec TCP 4 Fonctionnalit´es Multi-Homing Multi-Streaming Options de livraison 5 Structure Message 6 Comportement Initiation SCTP Data Transfer SCTP Shutdown 7 Futur D´eploiement Pistes `a d´evelopper Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 21 / 34
  25. 25. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur SCTP Init Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 22 / 34
  26. 26. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur SCTP Init Plus de soucis d’attaques SYN-Flood : INIT : A envoie `a Z une demande d’initiation d’association INIT-ACK : Z signale qu’il a bien re¸cu la demande, et envoie un cookie `a A sans allouer d’espace pour la future connexion COOKIE-ECHO : A renvoie le cookie en confirmant que de son cot´e l’association est prˆete. COOKIE-ACK, Z alloue les ressources n´ecessaires `a l’association et confirme le d´ebut de l’association `a A. Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 23 / 34
  27. 27. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur SCTP Data Transfer Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 24 / 34
  28. 28. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur SCTP Data Transfer Quelques d´etails : Plusieurs SACK peuvent ˆetre regroup´es dans un seul message On peut coupler des chunks de type DATA et SACK. Pr´eservation des fronti`eres des messages : Contrairement `a TCP qui requiert qu’une application reconstitue apr`es les read le message qui est susceptible d’avoir ´et´e d´ecoup´e en plusieurs paquets ou diff´erents write qui auraient ´et´e agr´eg´es, SCTP garantit que le r´esultat d’un read du receveur du message soit ´egal `a ce que l’´emetteur a plac´e dans son write. Comportement similaire `a ce que fournit UDP. Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 25 / 34
  29. 29. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur SCTP Shutdown Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 26 / 34
  30. 30. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur SCTP Shutdown Contrairement `a TCP, SCTP n’accepte pas de connexions `a moiti´e ferm´ee. Aussitˆot que le premier shutdown est envoy´e, SCTP n’accepte plus aucune donn´ee de la couche application mais continue `a envoyer les messages encore en file de transmission L’hˆote A renvoie un deuxi`eme shutdown pour notifier l’application Z qu’il a bien re¸cu les donn´ees et qu’il r´e-affirme la fermeture de la connexion. La fermeture se clˆoture par un ACK du serveur suivi d’un complete du client. Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 27 / 34
  31. 31. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Table des mati`eres 1 Introduction Situation actuelle TCP UDP 2 Objectif 3 Mod`ele d’association Base du mod`ele Diff´erences avec TCP 4 Fonctionnalit´es Multi-Homing Multi-Streaming Options de livraison 5 Structure Message 6 Comportement Initiation SCTP Data Transfer SCTP Shutdown 7 Futur D´eploiement Pistes `a d´evelopper Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 28 / 34
  32. 32. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur D´eploiement SCTP connait un succ`es grandissant : Plus de 19 compagnies, dont Ericsson, Motorola, IBM, Cisco et Nokia ont particip´e `a son ´elaboration en 2001. Plusieurs OS l’impl´ementent d´ej`a. Linux (Depuis le noyau 2.6), Solaris, Free BSD, Windows (via des drivers third party). Etudi´es par plusieurs universit´es comme Temple University, University of Delaware. IETF continue `a ´evaluer si l’utilisation de SCTP am´eliorerait la navigation sur le net grˆace au multi-streaming. Fait l’objet `a l’instant d’une pr´esentation `a l’UMONS. Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 29 / 34
  33. 33. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Retour au VoIP SS7 (Syst`eme de signalisation 7) Ensemble des protocoles de signalisation t´el´ephonique. Sigtrans encapsule les messages du protocole SS7 via le r´eseaux IP, en encapsulant ceux-ci dans des messages SCTP, entre les diverses passerelles SS7/IP existantes. Cela permet de garder le r´eseau SS7 actuel tout en lui donnant les hautes-capacit´es que le r´eseau IP fourni (Les liens SS7 ne fournissent que des bandes passantes de 56 ou 64 Kbps). Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 30 / 34
  34. 34. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Pistes `a d´evelopper Corruption des paquets encore possible (Checksum Adler-32) Rajout et suppression `a la vol´ee d’adresses d´efinissant une association. (Pour permettre le rajout d’interfaces sans interrompre l’association SCTP) Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 31 / 34
  35. 35. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur N´eanmoins ... Mˆeme si il reste du travail pour assurer que SCTP soit assez flexible et fournisse les fonctionnalit´es requises par les applications du futur, n’oublions pas qu’il fournit d´ej`a plus que ce TCP et UDP peuvent offrir `a l’heure actuel. Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 32 / 34
  36. 36. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur R´ef´erences SCTP - New Transport Protocol for TCP/IP (Randall Stewart and Chris Metz from Cisco Systems - DECEMBER 2001) Better networking with SCTP - IBM (Tim Jones, Consultant Engineer from Emulex - FEBRUARY 2006) Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 33 / 34
  37. 37. Introduction Objectif Mod`ele d’association Fonctionnalit´es Structure Comportement Futur Merci pour votre attention ! :-) Jonathan Schoreels UMons R´eseaux 2 - SCTP 16 Novembre 2012 34 / 34

×