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 :

Sockets Windows et VLAN


Sujet :

Réseau C

  1. #1
    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 Sockets Windows et VLAN
    Bonjour,

    Est-il possible d'ouvrir plusieurs socket UDP sur différents VLAN ?
    => j'ai l'impression que c'est impossible de gérer les VLANs (on ne peut meme pas gérer un seul VLAN ?)

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 434
    Points : 654
    Points
    654
    Par défaut
    C'est à dire?
    Les Vlan c'est propre à ton réseau, alors que les sockets c'est le driver de ta machine.

    Y a une diff entre la config réseau et le dev réseau (admin réseau et dev).

  3. #3
    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
    Tous les exemples de code que je trouve sur le net ne gèrent pas les VLAN : c'est à dire que si un paquet arrive sur ma machine avec un tag VLAN donné, son contenu n'est pas mis dans le socket (le paquet est ignoré).
    Et dans l'autre sens non plus je ne trouve pas de solution : comment émettre des paquets taggés VLAN ?

    => c'est plus clair ?

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Tu développes sur quoi Workstation ou serveur ?

    Si c'est Workstation, je pense que tu ne peux pas.

    De toute façon, si tu veux émettre dans plusieurs VLAN, c'est déjà que tu est connecté à un trunk de VLANs et tu ne pourras émettre que dans les VLAN de ce trunk.

    Encore une fois, je ne suis pas sûr qu'une workstation sache gérer un trunk. C'est un truc normalement réservé aux routeurs et firewalls.

    Les PC sont en général reliés à un switch (qui lui sait gérer les VLAN) et c'est ce switch qui fait le travail d'encapsulation/décapsulation VLAN.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    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
    Je développe pour une workstation.
    En fait, j'ai déjà fait ce type d'application en utilisant winpcap mais il y a plusieurs problèmes :
    - il faut se gérer intégralement tout le protocoel UDP (bien que ça reste assez simple comparé a TCP) et les couches plus basses => problème non critique
    - il faut que la carte réseau puisse gérer des paquets de taille supérieure à la norme standard car il faut rajouter les tag VLAN => problème non critique
    - J'ai de grosses pertes de performances : impossible de charger le port à 100% (a priori ça vient que winpcap fait plein d'appel système) => problème critique

    Sinon en passant sous linux, vous pensez que c'est faisable en utilisant les fonctions de socket de l'OS ?
    => si ce n'est pas possible de traiter plusieurs VLAN en même temps, est-ce qu'il est possible d'en traiter au moins 1 ?

  6. #6
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    A mon avis, la problématique VLAN n'est pas ton problème, c'est celle du switch en amont.

    Est ce que déjà comme tu es configuré, tu peux communiquer avec quelqu'un (ftp, WWW, ssh ou tout autre protocole). Si tu peux, c'est que la problématique VLAN est déjà réglée par les admin réseau et tu n'as pas à t'en occuper.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 434
    Points : 654
    Points
    654
    Par défaut
    Bonjour,

    Le vlan est une manière de découper un réseau avec plus de facilité et flexibilité qu'une masque de sous réseau il est propre au matériel réseau.

    Le vlan n'est pas le problème du développeur.

  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
    Citation Envoyé par jouana Voir le message
    Le vlan n'est pas le problème du développeur.
    Sauf si le développeur en question développe une application pour tester le fonctionnement d'un switch gérant les VLANs (ce qui est mon cas)

    ... donc a priori c'est impossible à faire sans passer par une bibliothèque lente (libpcap) permettant de forger intégralement les paquets et d'écouter en mode promiscuous

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par boboss123 Voir le message
    Sinon en passant sous linux, vous pensez que c'est faisable en utilisant les fonctions de socket de l'OS ?
    => si ce n'est pas possible de traiter plusieurs VLAN en même temps, est-ce qu'il est possible d'en traiter au moins 1 ?
    Tu pourrais peut-être t'inspirer de la façon dont le package Linux vlan fonctionne...

    Cf

    http://www.developpez.net/forums/d12...uteur-virtuel/

    Après installation du package vlan, lorsqu'on associe explicitement un tag à une interface, le kernel crée automatiquement des sous-interfaces. Perso, je trouve la solution très élégante ! Intuitivement, je prendrais cette direction pour réaliser ce que tu essaies de faire (je dis bien intuitivement, parce que ça fait très longtemps que je ne code plus)... D'autre part, je pense que Linux est mieux adapté et plus "flexible" pour coder en raw sockets (encore une fois, c'est subjectif).

    Steph

  10. #10
    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
    merci, ça m'a l'air pas mal comme système : reste plus qu'a tester pour voir si ça implique une baisse de perf

  11. #11
    Invité
    Invité(e)

  12. #12
    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
    oki, merci
    ça à l'air super simple à configurer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ioctl(fd, SIOCSIFVLAN, &if_request)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Question sur les sockets [WINDOWS]
    Par lektrosonic dans le forum Réseau
    Réponses: 5
    Dernier message: 26/11/2007, 21h13
  2. [Reseau] probleme de socket windows
    Par le novice2 dans le forum Réseau
    Réponses: 4
    Dernier message: 24/07/2007, 20h13
  3. Socket windows/Linux
    Par yodaime dans le forum C++
    Réponses: 7
    Dernier message: 11/04/2006, 17h33
  4. [SOCKET] Windows et linux
    Par Gmrinfo dans le forum C++
    Réponses: 3
    Dernier message: 21/02/2006, 23h44
  5. [socket & windows & accept]
    Par Magique dans le forum Réseau
    Réponses: 7
    Dernier message: 01/05/2004, 00h34

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