IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau C Discussion :

Estimer sa bande passante (tcp)


Sujet :

Réseau C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Etudiant
    Inscrit en
    Février 2010
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 115
    Par défaut Estimer sa bande passante (tcp)
    Salut,

    Je développement actuellement une application de streaming et j'essaye d'utiliser le protocole TCP pour faire passer mes données.
    Vu la nature du protocole (on envoie un paquet et on a un ACK en retour), est-ce possible de savoir si je suis limité en bande passante ?

    Merci d'avance

    PS : vu tout les sous-forum du Réseau j'espère avoir posé ma question au bon endroit ^^'

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 495
    Par défaut
    Bonjour,

    Citation Envoyé par Phago Voir le message
    Je développement actuellement une application de streaming et j'essaye d'utiliser le protocole TCP pour faire passer mes données.
    Vu la nature du protocole (on envoie un paquet et on a un ACK en retour), est-ce possible de savoir si je suis limité en bande passante ?
    Non, pas directement, à commencer parce que ta liaison va traverser une succession de réseaux différents dont la capacité maximum sera différente à chaque tronçon, et dépendra du trafic en cours.

    Le seul moyen d'en avoir une idée à peu près fiable est de la mesurer en temps réel et de faire le bilan des paquet transmis/reçus au bout d'une certaine unité de temps.

  3. #3
    Membre actif
    Homme Profil pro
    Etudiant
    Inscrit en
    Février 2010
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 115
    Par défaut
    Citation Envoyé par Obsidian Voir le message
    faire le bilan des paquet transmis/reçus au bout d'une certaine unité de temps.
    Et ce bilan peut être fait côté éméteur seulement, et si oui comment ? Je n'ai pas vraiment le controle du serveur sur lequel j'envoie mes packets

  4. #4
    Membre actif
    Homme Profil pro
    Etudiant
    Inscrit en
    Février 2010
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 115
    Par défaut
    je up vite fait le topic car j'ai vu une application qui marchait pas mal du tout, le mec ne me répond pas à mes mails mais explique sur son blog comment il fait (ça à l'air simple pour lui, pour moi c'est une autre histoire) je cite :

    "I will take the usual approach of using async sockets and monitoring how much data was sent."

    une petite explication ? :')

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 495
    Par défaut
    Citation Envoyé par Phago Voir le message
    Je cite :

    "I will take the usual approach of using async sockets and monitoring how much data was sent."

    une petite explication ? :')
    (Presque) littéralement : « j'adopterai l'approche habituelle consistant à utiliser des sockets asynchrones et à mesurer quelle quantité de données a été envoyée ».

    Donc, tu te fixes au départ un laps de temps donné et tu constates à la fin le nombre d'octets effectivement envoyé, et tu en déduis un taux de transfert moyen qui, au final, est bien celui qui t'intéresse quelque soient les considérations techniques entre tes deux points terminaux.

    Sur un réseau TCP/IP et a fortiori sur Internet, tu ne peux pas te baser sur les caractéristiques techniques du médium utilisé pour connaître taux de transfert effectif (par exemple, 100 Mb/s) parce que :

    • Tu vas traverser une série de réseaux successifs différents. Le goulet d'étranglement sera donc le réseau le plus lent de la chaîne ;
    • Tu utilises une liaison par paquets : il y a un overhead fixe qui est donc plus ou moins coûteux en fonction de la taille de ces paquets (il est plus efficace d'envoyer un paquet de mille octets que mille paquets de un octet) ;
    • Le débit du chemin que tu vas emprunter va être fonction du trafic qui y circule déjà (et qui n'est pas le tien) ;
    • Si tu envoies beaucoup de datagrammes (parque ta connectivité immédiate te permet de le faire), alors ces datagrammes peuvent éventuellement emprunter différentes routes pour équilibrer le trafic. Ou pas ;
    • Tes datagrammes peuvent arriver dans le désordre. La pile TCP va alors attendre d'avoir une suite consécutive pour te la transmettre, ce qui va se traduire, au niveau du système, par une petite interruption suivie d'un gros tas de données arrivant en une fois ;
    • Tes datagrammes eux-mêmes peuvent éventuellement être fragmentés, et ces fragments suivre différents chemins, pour arriver dans le désordre.


    Les réseaux IP fonctionnent sur un système « postal » : tu confies une charge utile à ta passerelle la plus proche et cette charge va aller se promener de port en port jusqu'à arriver à destination au bout d'un délai moyen. La seule mesure qui soit donc vraiment fiable à grande échelle est une statistique de la quantité de données effectivement arrivée dans un laps de temps imparti.

  6. #6
    Membre actif
    Homme Profil pro
    Etudiant
    Inscrit en
    Février 2010
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 115
    Par défaut
    Effectivement je comprends un peu mieux
    J'ai passé la journée à me documenter sur le protocole tcp et bien sur sur les socket en C.
    De ce que j'ai compris, il faut créer une socket asynchrone (= non blocante ?) et d'une manière ou d'une autre choper le nombre d'octets reçu par le serveur en 5s ( par exemple ). Ceci étant -j'imagine- possible grâce aux ack envoyé par le serveur à la réception et reçu par mon client.

    Pour ce qui est de la mise en pratique, corrigez moi si je me trompe, j'ai l'impression que serait possible grâce a la fonction select() que j'essaye de bien comprendre à l'aide du man - j'essayerai demain ^^'

    Si j'ai bien compris, avec cette fonction on peut écouter un file descriptor (= socket ?) et connaître son état ( lecture écriture erreur)

Discussions similaires

  1. Serveur dedié et bande passante ?
    Par ShinJava dans le forum Hébergement
    Réponses: 9
    Dernier message: 03/06/2005, 10h29
  2. [Stratégie] Limiter la bande passante
    Par Neuromancer dans le forum Développement
    Réponses: 7
    Dernier message: 17/01/2005, 15h29
  3. Appication Client/serveur : Limiter la bande passante ?
    Par souch dans le forum Web & réseau
    Réponses: 8
    Dernier message: 25/07/2004, 14h53
  4. Limiter la bande passante
    Par naili dans le forum Réseau
    Réponses: 3
    Dernier message: 15/01/2004, 08h21
  5. [Bande passante]
    Par Alexr dans le forum Développement
    Réponses: 7
    Dernier message: 12/09/2003, 14h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo