Outils pour utilisateurs

Outils du site


gabriel_rotella:gabriel_rotella2

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

gabriel_rotella:gabriel_rotella2 [2020/06/02 17:37]
Gabriel Rotella créée
gabriel_rotella:gabriel_rotella2 [2020/06/03 10:05] (Version actuelle)
Gabriel Rotella
Ligne 7: Ligne 7:
 MPTCP est un protocole de couche transport qui consiste en un ensemble d'​extensions TCP dont le but est de faire fonctionner une connexion TCP sur plusieurs chemins ou sous-flux de données simultanément. De cette façon, en utilisant plusieurs chemins différents,​ il est possible de maximiser les ressources réseau d'un nœud avec plusieurs interfaces. MPTCP a eu sa première définition formelle par l'IETF en 2013 dans la RFC 6824 et à ce jour de nombreuses études ont été réalisées à cet égard ainsi que plusieurs autres RFC ont été définis. MPTCP est un protocole de couche transport qui consiste en un ensemble d'​extensions TCP dont le but est de faire fonctionner une connexion TCP sur plusieurs chemins ou sous-flux de données simultanément. De cette façon, en utilisant plusieurs chemins différents,​ il est possible de maximiser les ressources réseau d'un nœud avec plusieurs interfaces. MPTCP a eu sa première définition formelle par l'IETF en 2013 dans la RFC 6824 et à ce jour de nombreuses études ont été réalisées à cet égard ainsi que plusieurs autres RFC ont été définis.
  
- +{{ :​gabriel_rotella:​imagenmptcp.jpg?​400 |}} 
  
 La motivation derrière la création de ce nouveau protocole est d'​utiliser toute la capacité offerte par les ressources réseau qu'un nœud peut avoir. TCP limite la communication entre deux extrémités à une seule connexion au niveau du transport. Ces connexions sont établies socket à socket, de sorte que chaque extrémité est associée à une seule paire d'​adresses de port IP et donc à une interface unique et à un chemin réseau unique. Mais que se passe-t-il si nous avons plusieurs cartes réseau? Dans ce cas, avec TCP, nous gaspillerions des ressources précieuses. La motivation derrière la création de ce nouveau protocole est d'​utiliser toute la capacité offerte par les ressources réseau qu'un nœud peut avoir. TCP limite la communication entre deux extrémités à une seule connexion au niveau du transport. Ces connexions sont établies socket à socket, de sorte que chaque extrémité est associée à une seule paire d'​adresses de port IP et donc à une interface unique et à un chemin réseau unique. Mais que se passe-t-il si nous avons plusieurs cartes réseau? Dans ce cas, avec TCP, nous gaspillerions des ressources précieuses.
Ligne 45: Ligne 45:
 La connexion avec MPTCP se fait de manière très similaire à celle qui est effectuée dans TCP; la prise de contact à trois voies est toujours la méthode d'​établissement de la connexion. La seule différence est qu'en plus des indicateurs SYN et ACK correspondants,​ il dispose également d'une option TCP associée qui indiquera qu'il s'agit d'une connexion MPTCP. La figure montre l'​échange de messages effectué pour établir la connexion; qui est exactement la même que dans TCP. La connexion avec MPTCP se fait de manière très similaire à celle qui est effectuée dans TCP; la prise de contact à trois voies est toujours la méthode d'​établissement de la connexion. La seule différence est qu'en plus des indicateurs SYN et ACK correspondants,​ il dispose également d'une option TCP associée qui indiquera qu'il s'agit d'une connexion MPTCP. La figure montre l'​échange de messages effectué pour établir la connexion; qui est exactement la même que dans TCP.
  
 +{{ :​gabriel_rotella:​imagen1mptcp.jpg?​400 |}}
    
  
Ligne 55: Ligne 55:
 Cependant, bien que le transfert de données puisse être démarré avec cette connexion, aucun autre sous-flux n'a encore été ajouté pour utiliser TCP sur plusieurs chemins. Cependant, bien que le transfert de données puisse être démarré avec cette connexion, aucun autre sous-flux n'a encore été ajouté pour utiliser TCP sur plusieurs chemins.
  
 +{{ :​gabriel_rotella:​imagen2mptcp.jpg?​400 |}}
    
 ====   * Ajout de sous-flux ==== ====   * Ajout de sous-flux ====
Ligne 61: Ligne 62:
 Analogue à l'​établissement de la connexion MPTCP, l'​ajout de trois flux produit également une prise de contact à trois voies. Cependant, l'​option MPTCP utilisée dans ce cas est MP_JOIN. Analogue à l'​établissement de la connexion MPTCP, l'​ajout de trois flux produit également une prise de contact à trois voies. Cependant, l'​option MPTCP utilisée dans ce cas est MP_JOIN.
  
 +{{ :​gabriel_rotella:​imagen3mptcp.jpg?​400 |}}
    
 Dans le cas de la figure, l'​hôte A démarré un nouveau sous-flux entre l'une de ses adresses IP et l'une des adresses IP de l'​hôte B. Le jeton utilisé est généré à partir de la clé B et sert à identifier la connexion à laquelle le nouveau sous-flux est ajouté. D'​autre part, le HMAC (Hash-based Message Authentication Code), utilisé pour l'​authentification,​ est généré à partir des nonces (« number that can be only used once », nombres aléatoires) avec les clés échangées dans l'​établissement de la connexion. De plus, des identifiants d'​adresse sont également envoyés qui peuvent être utilisés pour référencer l'​adresse source du flux, évitant ainsi d'​éventuels problèmes de changement d'​adresse IP lors du passage par un NAT (Network Address Translation). Dans le cas de la figure, l'​hôte A démarré un nouveau sous-flux entre l'une de ses adresses IP et l'une des adresses IP de l'​hôte B. Le jeton utilisé est généré à partir de la clé B et sert à identifier la connexion à laquelle le nouveau sous-flux est ajouté. D'​autre part, le HMAC (Hash-based Message Authentication Code), utilisé pour l'​authentification,​ est généré à partir des nonces (« number that can be only used once », nombres aléatoires) avec les clés échangées dans l'​établissement de la connexion. De plus, des identifiants d'​adresse sont également envoyés qui peuvent être utilisés pour référencer l'​adresse source du flux, évitant ainsi d'​éventuels problèmes de changement d'​adresse IP lors du passage par un NAT (Network Address Translation).
Ligne 72: Ligne 74:
 De cette façon, les mécanismes sont définis pour assurer la livraison fiable des données à la fois au niveau du flux MPTCP (avec le DSN et les données ACK), ainsi qu'au niveau du sous-flux en utilisant les mécanismes TCP. De cette façon, les mécanismes sont définis pour assurer la livraison fiable des données à la fois au niveau du flux MPTCP (avec le DSN et les données ACK), ainsi qu'au niveau du sous-flux en utilisant les mécanismes TCP.
  
 +{{ :​gabriel_rotella:​imagen4mptcp.jpg?​400 |}}
    
  ​==== ​ * Fermeture de conexión ====  ​==== ​ * Fermeture de conexión ====
gabriel_rotella/gabriel_rotella2.1591112234.txt.gz · Dernière modification: 2020/06/02 17:37 par Gabriel Rotella