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

C Discussion :

changer le délai de paquet


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut changer le délai de paquet
    je veux un programme qui permet de changer le délai de paquet comme se présenter ci dessous.


    PING www.l.google.com (173.194.35.144) 56(84) bytes of data.
    64 bytes from muc03s01-in-f16.1e100.net (173.194.35.144): icmp_seq=1 ttl=49 time=70.2 ms
    64 bytes from muc03s01-in-f16.1e100.net (173.194.35.144): icmp_seq=2 ttl=49 time=70.7 ms
    64 bytes from muc03s01-in-f16.1e100.net (173.194.35.144): icmp_seq=3 ttl=49 time=70.9 ms
    valeurs de ping (sans retard)

    PING www.l.google.com (173.194.35.144) 56(84) bytes of data.
    64 bytes from muc03s01-in-f16.1e100.net (173.194.35.144): icmp_seq=1 ttl=49 time=30.1 ms
    64 bytes from muc03s01-in-f16.1e100.net (173.194.35.144): icmp_seq=2 ttl=49 time=30.0 ms
    64 bytes from muc03s01-in-f16.1e100.net (173.194.35.144): icmp_seq=3 ttl=49 time=30.0 m
    valeur de de ping (cas d'un retard 30ms)

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Bonjour,

    Je ne comprend pas du tout ce que tu essayes de faire, pourrais-tu être plus explicite?

  3. #3
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Tu ne peux pas changer le délai de réponse quand tu ping Google.... Ca dépend de ta connexion Internet, de l'état du réseau, de ton lieu de connexion.... Bref, du trajet aller-retour en chez toi et chez Google.

  4. #4
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Mais pourquoi est-ce que lorsqu'on pose une question, il y a toujours des personnes pour répondre en mp?

    Si je ne comprend pas ce que tu veux faire, je ne suis pas forcément le seul. Il vaut mieux répondre ici que toutes les personnes qui se posent la même question aient la réponse. C'est le principe d'un forum.

    j'ai comme PFE "développement d'un simulateur d'anomalies sur la VoIP"
    donc mon encadreur ,me demande un programme qui permet d'ajouter une anomalie "delai" au paquet .
    Sans réfléchir, je dirais de faire deux sockets :
    source <-> interface <-> cible

    La source et l'interface sont sur l'ordinateur client.
    L'interface transmet le contenu de chaque socket provenant de la source vers la cible ainsi que le contenu de chaque socket provenant de la cible vers la source.

    L'interface te permettra alors d'ajouter n'importe quel délai à ton paquet.

  5. #5
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Septembre 2012
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Neckara Voir le message
    Mais pourquoi est-ce que lorsqu'on pose une question, il y a toujours des personnes pour répondre en mp?

    Si je ne comprend pas ce que tu veux faire, je ne suis pas forcément le seul. Il vaut mieux répondre ici que toutes les personnes qui se posent la même question aient la réponse. C'est le principe d'un forum.



    Sans réfléchir, je dirais de faire deux sockets :
    source <-> interface <-> cible

    La source et l'interface sont sur l'ordinateur client.
    L'interface transmet le contenu de chaque socket provenant de la source vers la cible ainsi que le contenu de chaque socket provenant de la cible vers la source.

    L'interface te permettra alors d'ajouter n'importe quel délai à ton paquet.
    svp je suis debutante dans ce domaine et je veux savoir comment faire la modification de delai ? tout d'abord comment se fait la creation de socket
    et la tu parle sur une source et une cible est ce que possible de choisir mon pc comme source et mon routeur comme cible et merci svp je veux plus de detaille

  6. #6
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Pour la création des sockets en C, vous pouvez lire cet article : http://broux.developpez.com/articles/c/sockets/

    Je ne sais pas comment Neckara compte créer une telle interface, mais ça ressemble un peu à l'attaque de l'homme du milieu : l'interface intercepte tous les paquets, regardent vers qui c'est censé allé, et les renvoie x ms plus tard, où x est un paramètre de l'interface.

  7. #7
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    On peut imaginer 2 threads :
    - l'un pour la lecture des données reçues qui écrit le contenu du paquet reçu, la date à laquelle renvoyer les données ainsi que la destination dans une file ;
    - et un autre qui regarde le premier élément de la file, si la date indiquée est déjà passée ou est la date actuelle, on renvoi les données et on lit l'élément suivant, sinon il s'endort jusqu'à la date indiquée.

    Après on a deux possibilités :
    - l'interface connait la destination et l'expéditeur connait l'interface : dans ce cas là on a pas trop de problèmes ;
    - l'expéditeur ne connait que la destination dans ce cas là il faut modifier la table de routage pour rediriger vers l'interface (ou créer un règle dans l'iptable). Et ensuite, l'interface devra lire la destination du paquet.

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut
    Salut,

    Si tu veux contrôler exactement le délai entre chaque paquets il me semble que ça va être très difficile à faire : car lorsque tu utilises les sockets windows, c'est l'OS qui décide quand et comment les paquets seront envoyés en fonction de la charge des buffers tampons (dites moi si je me trompe ) : ce n'est pas parce que tu dis à un instant t à windows d'envoyé le paquet, qu'il va être envoyé de suite.
    Donc si tu veux qu'il n'y ai pas de latence, il faut donc que ton CPU et les buffers tampons soient le moins chargés possibles : il faut donc que le CPU soit assez puissant pour traiter toutes les données rapidement et qu'il n'y ait pas d'encombrement sur ton réseau (car si ton réseau est encombré, les switch/routeur peuvent envoyer des PAUSE packets qui diront à ton OS d’arrêter d'envoyer des paquets => je ne sais pas si c'est possible de désactiver la gestion des PAUSE packets).

    Pour information : j'avais essayé de faire une application qui envoie des paquets à interval régulier et entièrement forgés en utilisant winpcap. Avec un pentium E8400, j'arrivais à peine à envoyer 6Mb/s de données (les paquets étaient forgés à la volé au lieu de les construire auparavant puis de les mettre dans un buffer tampon avant envoie => donc le débit etaient déja réduit à cause de ça).
    => avec les sockets windows ça doit aller plus vite je suppose mais on ne peut pas tout faire...

    C'est quoi le débit visé ?

  9. #9
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    En utilisant des paquets UDP on ne devrait pas avoir ce genre de problèmes.

    Mais cela va surtout dépendre de la précision voulue.
    En informatique on ne peut que mesurer des temps mais jamais les prévoir précisément, en effet ça va dépendre de tellement de paramètres (optimisations du compilateur, chargement des données dans le cache CPU, protocoles de détection de collisions, etc.).

    Après, si on travaille avec des ms je pense pas qu'il soit bien la peine de se poser ce genre de questions (je suppose que ça doit être assez insignifiant).

  10. #10
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Septembre 2012
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    merci de me repondre voila j'ai comme sujet "développement d'un outil de simulation de latence sur flots VOIP" donc ma prof me demande de faire un programme ou "module" qui permet la simulation de latence .elle m'a dit quand tu tape la commande "Ping" il faut que la valeur de temps se change. et voila elle m'as donné un prog pou m'aider mais j'ai rien comprendre :/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    Netfilter hook
    This example shows how to use hook to alter network traffic in the Linux kernel using Netfilter.
    #include <linux/module.h>
    #include <linux/kernel.h>
    #include <linux/skbuff.h>
     
    #include <linux/ip.h>
    #include <linux/tcp.h>
    #include <linux/in.h>
    #include <linux/netfilter.h>
    #include <linux/netfilter_ipv4.h>
     
    /* Port we want to drop packets on */
    static const uint16_t port = 25;
     
    /* This is the hook function itself */
    static unsigned int hook_func(unsigned int hooknum,
                           struct sk_buff **pskb,
                           const struct net_device *in,
                           const struct net_device *out,
                           int (*okfn)(struct sk_buff *))
    {
            struct iphdr *iph = ip_hdr(*pskb);
            struct tcphdr *tcph, tcpbuf;
     
            if (iph->protocol != IPPROTO_TCP)
                    return NF_ACCEPT;
     
            tcph = skb_header_pointer(*pskb, ip_hdrlen(*pskb), sizeof(*tcph), &tcpbuf);
            if (tcph == NULL)
                    return NF_ACCEPT;
     
            return (tcph->dest == port) ? NF_DROP : NF_ACCEPT;
    }
     
    /* Used to register our hook function */
    static struct nf_hook_ops nfho = {
            .hook     = hook_func,
            .hooknum  = NF_IP_PRE_ROUTING,
            .pf       = NFPROTO_IPV4,
            .priority = NF_IP_PRI_FIRST,
    };
     
    static __init int my_init(void)
    {
            return nf_register_hook(&nfho);
    }
     
    static __exit void my_exit(void)
    {
        nf_unregister_hook(&nfho);
    }
     
    module_init(my_init);
    module_exit(my_exit);

Discussions similaires

  1. calcul de paquets perdus et délai
    Par mayu5 dans le forum Réseau
    Réponses: 0
    Dernier message: 08/07/2010, 10h37
  2. Simulation de transmission de paquet entre différent réseaux
    Par MelloW dans le forum Développement
    Réponses: 2
    Dernier message: 12/07/2002, 19h51
  3. Redimensionnement des Paquets IP sur un Réseau Local
    Par Bonoboo dans le forum Développement
    Réponses: 2
    Dernier message: 12/07/2002, 15h40
  4. changer de repertoire et situer
    Par chateau dans le forum C
    Réponses: 4
    Dernier message: 24/06/2002, 11h27
  5. changer l'adresse d'un fichier...
    Par cava dans le forum C
    Réponses: 6
    Dernier message: 05/06/2002, 12h22

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