5 votes

Pourquoi le protocole FTP a-t-il été conçu pour utiliser plus d'un port?

La question est dans le titre. La raison pour laquelle je me pose cette question est parce que je code un service tcp et j'aimerais explorer certaines des raisons car elles pourraient éclairer mon travail.

6voto

Rob Olmos Points 2210

Je m'attends à ce que l'utilisation d'un port différent simplifie la gestion de la connexion de données séparée attendue, qui sera dans un format différent de la connexion de contrôle. Je pense que cela permettrait au destinataire de simplement commencer le traitement des données sans avoir à vérifier s'il s'agissait d'une initiation de connexion comme il serait nécessaire de le faire s'il utilisait le port 21.

Cela permettrait à l'exemple du dernier point d'une imprimante à ligne de commencer à recevoir du texte à imprimer. Cependant, je ne suis pas sûr de savoir comment cela a été effectivement utilisé à l'époque (un programme sur le terminal redirigerait le port 20 vers leur imprimante à ligne parce qu'il pourrait déjà y avoir un démon FTP en écoute sur le 21?)

Quant à la raison d'une autre connexion, il y a trois raisons principales :

L'efficacité du transfert est un facteur important qui affecte l'utilité de FTP. Le transfert de fichiers peut être très coûteux (en termes de temps CPU) et lent (en temps réel) si une stratégie de transfert inappropriée est utilisée (par exemple, une taille de byte inappropriée). Tout devrait être fait pour optimiser le transfert de données. Une bonne stratégie pourrait être de permettre le transfert de fichiers sur une connexion séparée ou de fermer et rouvrir les connexions (en utilisant peut-être une taille de byte différente).

[4] Nous avons envisagé l'utilisation de deux liens full-duplex, l'un pour les informations de contrôle, l'autre pour les données. L'utilisation d'un lien de contrôle séparé entre les processus coopérants simplifierait les abandons, les récupérations d'erreurs et la synchronisation.

Il serait souhaitable de modifier FTP pour permettre l'envoi de données à un socket spécifié dans un mode et un type spécifiés. Les utilisateurs du TIP trouveraient alors pratique d'obtenir la liste de leurs fichiers sur une imprimante à ligne à haute vitesse, d'entrer leurs fichiers à partir d'un lecteur de carte et de sauvegarder sur des cartes ou des bandes magnétiques.

3voto

David Spillett Points 22424

La sur-ingénierie pourrait être la principale raison.

Un avantage (peu utilisé) de la séparation des connexions de contrôle/data est qu'il est possible pour le client de démarrer un transfert entre deux serveurs sans que les données aient besoin de passer par le client.

2voto

Craig Points 560

La sur-ingénierie n'est pas le cas. Il a été conçu de cette manière, de sorte que différents modes de fonctionnement sont autorisés. Le FTP actif est de nos jours rarement utilisé, car dans ce mode, le serveur se connecte de nouveau au client. Mais à l'époque - dans les années 80 - cela fonctionnait assez bien.

Le FTP passif est très utile derrière les pare-feu de nos jours, dans ce mode le client se connecte aux ports ouverts par le serveur; les clients ne sont généralement plus accessibles directement car ils ont un pare-feu/NAT/appareil devant eux. Ce mode a donc également du sens.

L'article de Wikipédia comporte des informations détaillées et intéressantes : http://fr.wikipedia.org/wiki/FTP

0voto

singingfish Points 2653

FTP utilise un port pour la transmission de données (20) et un autre pour envoyer les commandes (21), GET, DIR, PUT, etc...

Une explication plus détaillée peut être trouvée ici: http://slacksite.com/other/ftp.html

HTH!

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X