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

Java Discussion :

Architecture d'un routeur software


Sujet :

Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 69
    Points : 53
    Points
    53
    Par défaut Architecture d'un routeur software
    Bonjour à tous

    Je viens ici pour vous poser une petite question du point de vue de la conception d'un projet en JAVA.

    En effet, je dois implémenter un routeur qui pourra forwarder des messages, maintenir une table de routage etc.

    Le problème c'est que je ne sais pas encore réellement comment faire un bon design de cette application et c'est pour cela que j'aurais bien aimé avoir votre avis sur la question


    J'avais pensé - en simplifiant le probème - à une classe "Routeur" qui contiendrait 2 threads :
    • le premier, une classe "receveur", assurerait la réception des paquets
    • Le second, une classe "sender", serait dédié à l'envoi de paquets à d'autres routeurs



    Merci pour toutes vos suggestions !

    A bientot

    Matt

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Tout dépend du trafic à gérer.
    Je pense qu'il faut faire du synchrone, car si tu gères une file d'attente, tu vas faire ramer les connexions en cas de fort trafic avec le risque de faire tomber les client/serveur en timeout.
    Un Thread devrait gérer une connexion entrante/sortante de bout en bout.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 69
    Points : 53
    Points
    53
    Par défaut
    Merci pour ta réponse

    Je crois que le trafic ne serait pas important mais c'est vrai qu'il faut penser à l'évolutivité du réseaux

    Donc, si j'ai bien compris, tu créerais un thread par nouvelle connexion, qui gererait le trafic entrant d'une connexion donnée et aussi le trafic sortant.


    Mais alors là je me demande comment ca marcherait du point de vue des sockets. Il faudrait attribuer un port à chaque thread? Car pour moi le routeur doit avoir un point d'entrée unique (on lui envoie des données via son @Ip + port)


    Mais je peux me tromper, je débute avec toutes ces notions donc n'hésitez pas à me recadrer si je me trompe


    Un grand merci,

    A bientot,


    MAtt

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Attention, un routeur traite les trames de plus bas niveau, sans notion de port.
    Mais effectivement, pour simplifier, un routeur utilise deux processus : un qui empile les paquets, et un qui dépile.
    Par contre, en Java, il n'est pas possible de descendre aussi bas dans les couches réseaux.
    C'est pour cela que je t'ai dit de faire un Thread par connexion dans ton cas.
    Maintenant, si tu veux faire un "vrai" routeur software, tu vas devoir faire du natif et utiliser les bibliothèques système.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 69
    Points : 53
    Points
    53
    Par défaut
    Merci beaucoup

    J'y vois plus clair maintenant



    A bientot !

Discussions similaires

  1. Architecture pme (NAS, switch, routeur internet)
    Par axffo dans le forum Achat et Conseils
    Réponses: 3
    Dernier message: 08/12/2013, 21h54
  2. virtual instrument software architecture
    Par ghazy dans le forum Général Java
    Réponses: 0
    Dernier message: 15/02/2010, 11h20
  3. Connaissez vous un routeur pour ...
    Par loki dans le forum Développement
    Réponses: 3
    Dernier message: 18/09/2002, 09h05
  4. routeur + netmeeting
    Par Vince dans le forum Développement
    Réponses: 5
    Dernier message: 12/07/2002, 15h11
  5. architecture
    Par pons dans le forum CORBA
    Réponses: 3
    Dernier message: 11/06/2002, 11h10

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