Précédent   Forum du club des développeurs et IT Pro > C et C++ > C > Réseau
Réseau Forum d'entraide sur la programmation réseau en C
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 20/02/2013, 13h45   #1
boboss123
Membre éclairé
 
Inscription : septembre 2009
Messages : 1 005
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 1 005
Points : 352
Points : 352
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 ?)
boboss123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2013, 13h49   #2
jouana
Membre éprouvé
 
Homme
Développeur informatique
Inscription : janvier 2010
Messages : 341
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : janvier 2010
Messages : 341
Points : 493
Points : 493
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).
jouana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2013, 13h55   #3
boboss123
Membre éclairé
 
Inscription : septembre 2009
Messages : 1 005
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 1 005
Points : 352
Points : 352
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 ?
boboss123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2013, 17h25   #4
ram-0000
Rédacteur/Modérateur

 
Avatar de ram-0000
 
Homme Raymond
Inscription : mai 2007
Messages : 9 236
Détails du profil
Informations personnelles :
Nom : Homme Raymond
Localisation : France

Informations forums :
Inscription : mai 2007
Messages : 9 236
Points : 29 244
Points : 29 244
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
.
ram-0000 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2013, 08h55   #5
boboss123
Membre éclairé
 
Inscription : septembre 2009
Messages : 1 005
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 1 005
Points : 352
Points : 352
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 ?
boboss123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2013, 09h34   #6
ram-0000
Rédacteur/Modérateur

 
Avatar de ram-0000
 
Homme Raymond
Inscription : mai 2007
Messages : 9 236
Détails du profil
Informations personnelles :
Nom : Homme Raymond
Localisation : France

Informations forums :
Inscription : mai 2007
Messages : 9 236
Points : 29 244
Points : 29 244
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
.
ram-0000 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2013, 13h27   #7
jouana
Membre éprouvé
 
Homme
Développeur informatique
Inscription : janvier 2010
Messages : 341
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : janvier 2010
Messages : 341
Points : 493
Points : 493
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.
jouana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2013, 14h27   #8
boboss123
Membre éclairé
 
Inscription : septembre 2009
Messages : 1 005
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 1 005
Points : 352
Points : 352
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
boboss123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2013, 15h00   #9
IP_Steph
Modérateur
 
Avatar de IP_Steph
 
Homme Steph
Architecte réseau
Inscription : février 2012
Messages : 1 282
Détails du profil
Informations personnelles :
Nom : Homme Steph
Localisation : France

Informations professionnelles :
Activité : Architecte réseau
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : février 2012
Messages : 1 282
Points : 2 716
Points : 2 716
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
__________________
"#define QUESTION ((bb) || !(bb))" - Shakespeare
IP_Steph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2013, 16h42   #10
boboss123
Membre éclairé
 
Inscription : septembre 2009
Messages : 1 005
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 1 005
Points : 352
Points : 352
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
boboss123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2013, 17h12   #11
IP_Steph
Modérateur
 
Avatar de IP_Steph
 
Homme Steph
Architecte réseau
Inscription : février 2012
Messages : 1 282
Détails du profil
Informations personnelles :
Nom : Homme Steph
Localisation : France

Informations professionnelles :
Activité : Architecte réseau
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : février 2012
Messages : 1 282
Points : 2 716
Points : 2 716
Le source est ici :

http://vlan.sourcearchive.com/docume...8c-source.html

Steph
__________________
"#define QUESTION ((bb) || !(bb))" - Shakespeare
IP_Steph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2013, 09h00   #12
boboss123
Membre éclairé
 
Inscription : septembre 2009
Messages : 1 005
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 1 005
Points : 352
Points : 352
oki, merci
ça à l'air super simple à configurer :
Code :
ioctl(fd, SIOCSIFVLAN, &if_request)
boboss123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 10h41.


 
 
 
 
Partenaires

Hébergement Web