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

Entrée/Sortie Java Discussion :

[Sockets UDP] Quelle est la taille max d'un message UDP en unicast?


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Par défaut [Sockets UDP] Quelle est la taille max d'un message UDP en unicast?
    salut,

    j'envisage de gerer un protocole de communication entre deux applications en sa basant sur UDP en unicast et je voulais savoir si la taille d'un message a envoyer est limitée par une taille donnée?

    merci

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Oui, c'est limité par la couche du dessous, a savoir IP, puis par la taille max des datagrammes.

    Au maximum un datagramme peut faire 65535 octets.
    Au maximum un packet IP peut contenir 65535 - 20 (header ip) = 65515 octets
    Au maximum un packet UDP peut contenir 65515 - 8 (header udp) = 65507 octets

    Il faut faire attention que ce sont les tailles maximum theorique.
    En pratique, windows limite la taille des datagrammes a 8192.
    Donc sous windows un packet UDP peut contenir 8192 - 20 - 8 = 8164 octets
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Par défaut
    Ok je vois , mais pourquoi on distingue un packet d'un datagramme?
    quelle est la difference? c'est trés important de moi de savoir sachant que tout ce u eje veux c'est envoyer de données selon un format qui m'a été exigé à une application distante sur le même LAN et en unicast( j'aimerai aussi savoir la difference entre unicast et multicast)
    merci infiniment

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Bof. Datagramme/Paquet, c'est un peu equivalent. Generalement on dit datagramme lorsqu'on parle de la "trame" complete = tous les octets bout a bout.

    Le packet c'est une suite d'octets, generalement composé d'un header et de données. Donc dans un datagramme, tu as un packet (header+données). Dans les données de ce packet, tu as un autre packet , et ainsi de suite. C'est ce qu'on appelle l'encapsulation.

    Pour faire simple, l'unicast c'est l'envoie d'un datagramme par un emeteur a un destinataire. Le multicast c'est l'envoie d'un datagramme par un emeteur a plusieurs destinataires (et meme a tous les destinataires possibles)
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Par défaut
    Ok super je vois clair maintenant et un exemple m'a permis de mieux cerner les principes aussi :
    http://sardes.inrialpes.fr/~jean/ens...reseau/PDF.pdf

    cependant je suis face a une petite contrainte technique, étant donné que UDP est en mode non connecté et qu'il s'agit d'une connexion inicast ( exigée) comment mettre en ouvre un mecanisme d'acquittement de reception des datagrammes? on m'a demandé de le mettre en ouvre en respectant plusieurs timeout selon des cas bien défini(type de datagramme) ...donc comment est ce possible d'implementer cela?

    merci

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Si tu as suivi ce que j'ai dit avant, tu peux encapsuler a l'infini (ou presque) des paquets... a toi de creer ton propre "protocole" encapsulé dans UDP pour gerer tes acquitements et timeout:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    |----------------------------------------------| = Trame (8192 octets)
    |--20--|----------------8172-------------------| = IP (20+8172 octets)
           |-8-|--------------8164-----------------| = UDP (8+8164 octets)
               |--X--|------------Y----------------| = TonProtocole (X+Y=8164 octets)
    Tu peux t'inspirer de protocoles existants comme RTP (Real-time Transport Protocol).
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

Discussions similaires

  1. Quelle est la taille de la mémoire allouée à la JVM ?
    Par emie31 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 12/11/2006, 21h42
  2. quelle est la taille maximale en nbre de caract d'un chp text
    Par harlock59 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 08/07/2006, 18h43
  3. [SGBD] [PHP/MySQL Query]Quelle est la taille du tableau retourné?
    Par Jean_Benoit dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 07/10/2005, 19h10
  4. Réponses: 1
    Dernier message: 07/05/2005, 17h06
  5. [MASM] Quelle est la longueur max d'une variable?
    Par Crisanar dans le forum Assembleur
    Réponses: 2
    Dernier message: 17/11/2004, 21h47

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