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 :

Quelle est la différence entre une socket, une extrémité internet et ?


Sujet :

Réseau C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 48
    Par défaut Quelle est la différence entre une socket, une extrémité internet et ?
    voila j'aurais aimé savoir la différence entre, tout d'abord, une socket et une extrémité internet, et ensuite, entre une socket et un numéro de descripteur d'entrée-sortie ?
    merci d'avance pour vos réponses

  2. #2
    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 : 62
    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
    Par défaut
    Aller, je me lance

    Une socket (cela vient de l'anglais qui veut dire "point de connexion", par analogie avec une prise de courant), c'est un objet géré par le noyau qui sert à dialoguer le réseau.

    En général, une socket est identifiée par un identifiant unique, un numéro. Le noyau Linux attribue à cette socket un numéro qui est aussi un descripteur d'entrées/sortie ce qui permet d'utiliser les même fonctionnalités (ou du moins, un grand ensemble) que les entrées/sorties.

    Quant à l'extémité internet, c'est un peu plus flou. J'aurais tendence à dire qu'une communication entre 2 process est établie au travers d'un tuyau réseau. Ce tuyau possède 2 extrémités et chaque tuyau est identifié de manière unique par 5 paramètres
    • l'adresse source, c'est l'adresse IP de celui qui a initié la communication
    • l'adresse destination, c'est c'est l'adresse IP de l'autre extrémité
    • le protocole (TCP, UDP, ICMP et il y en a d'autres qui n'utilisent pas nécessairement le protocole IP)
    • le port destination, il correspond à un numéro de service que l'adresse source tente de joindre sur l'adresse de destination. Ces numéro de ports sont des valeurs définie dans le RFC 1700 par exemple (telnet=23, ftp=20 et 21, http=80, smtp=25 et plein d'autres comme cela). Suivant le protocole utilisé (ICMP par exemple) le numéro de port n'a pas de sens et n'est pas utilisé.
    • le port source, c'est le numéro de service en local mais cela n'a pas du tout le même sens que pour le numéro de port destination, c'est juste utilisé comme un identifiant (pour faire simple).
    • le port source,


    J'espère que cela répond à une partie de tes questions
    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
    .

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Le terme "extrémité internet", ça me fait penser au terme anglais EndPoint.

    En TCP, un EndPoint est déterminé par l'adresse IP de la machine et le port TCP utilisé. Donc, un socket TCP serait lié à un endpoint sur chaque machine.

    Précisions pour socket et descripteur:
    • Sur tout système unixoïde, en effet, un socket est un descripteur d'entrées/sorties, ce qui permet d'utiliser les fonctions read() et write() dessus sur un tel système.
    • Sous Windows, on utilise des handles à la place. Les "descripteurs" tels qu'on les vois sous *n*x (avec les fonctions open(), read(), write(), etc) sont en fait une surcouche gérée par la bibliothèque runtime C, où chaque descripteur encapsule un handle, tout comme chaque FILE* encapsule un descripteur. L'OS lui-même n'en a pas connaissance, car pour lui, tout est handle.
      C'est pourquoi sous Windows, seules les fonctions liées aux sockets (recv(), send()) marchent dessus, read() et write() n'étant pas conçues pour le même type de ressource. Pour la même raison, sous Windows select() marche uniquement pour les sockets, et pas pour l'entrée standard.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre éprouvé
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Par défaut
    Citation Envoyé par ram-0000 Voir le message
    Quant à l'extémité internet, c'est un peu plus flou. J'aurais tendence à dire qu'une communication entre 2 process est établie au travers d'un tuyau réseau. Ce tuyau possède 2 extrémités et chaque tuyau est identifié de manière unique par 5 paramètres
    • l'adresse source, c'est l'adresse IP de celui qui a initié la communication
    • l'adresse destination, c'est c'est l'adresse IP de l'autre extrémité
    • le protocole (TCP, UDP, ICMP et il y en a d'autres qui n'utilisent pas nécessairement le protocole IP)
    • le port destination, il correspond à un numéro de service que l'adresse source tente de joindre sur l'adresse de destination. Ces numéro de ports sont des valeurs définie dans le RFC 1700 par exemple (telnet=23, ftp=20 et 21, http=80, smtp=25 et plein d'autres comme cela). Suivant le protocole utilisé (ICMP par exemple) le numéro de port n'a pas de sens et n'est pas utilisé.
    • le port source, c'est le numéro de service en local mais cela n'a pas du tout le même sens que pour le numéro de port destination, c'est juste utilisé comme un identifiant (pour faire simple).
    c'est a peu des choses prés, la définition exacte d'une socket.
    a l'exception qu'on ne parle pas de socket si on est pas sur la couche Transport (voir modèle en couche Internet) d'où le fait qu'icmp ne cadre pas avec la définition.

    le file descriptor, c'est un numéro (sur windows et unixoide du moins, je ne m'avance pas a parler des autres systemes) attribue par ton Os a un socket, un fichier ouvert, un pipe ...
    c'est juste un numéro que ton OS feras correspondre avec ta socket.

    un end point est en fait l'entité sur la couche transport (Internet Model) qui est au bout de la communication ex: une machine a un bout d'une socket (source ou destination) est un end point.

    avec un peu de travail, ca pourrait completer la FAQ reseau!

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par granquet Voir le message
    un end point est en fait l'entité sur la couche transport (Internet Model) qui est au bout de la communication ex: une machine a un bout d'une socket (source ou destination) est un end point.

    avec un peu de travail, ca pourrait completer la FAQ reseau!
    Ce qui signifierais :

    • un EndPoint possède N sockets
    • un socket appartient à 1 EndPoint

  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 : 62
    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
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    • un socket appartient à 1 EndPoint
    Non, 2 puisqu'il relie 2 machines
    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
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par ram-0000 Voir le message
    Non, 2 puisqu'il relie 2 machines


    Citation Envoyé par granquet Voir le message
    un end point est en fait l'entité sur la couche transport (Internet Model) qui est au bout de la communication ex: une machine a un bout d'une socket (source ou destination) est un end point.
    d'après ce que je comprend, c'est 1 ...

    Une socket est sur une et une seule machine..

    Quand tu demandes un service, tu le demandes par nom, avec un nom de machine.

    Me trompe-je ?

  8. #8
    Membre éprouvé
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Par défaut
    Citation Envoyé par ram-0000 Voir le message
    Non, 2 puisqu'il relie 2 machines
    non, une socket defini 2 EndPoint/machines (depart et arrive) mais le socket n'appartiens qu'a une machine - l'autre machine as un socket similaire avec la source et la destination (port et addresse) "inversees"

    dans le concret:

    Socket sur le EndPoint Alice :
    Source: Alice
    Destination: Bob
    Port Source: 60000
    Port Destination: 80
    Protocole: TCP

    Socket sur le EndPoint Bob :
    Source: Bob
    Destination: Alice
    Port Source: 80
    Port Destination: 60000
    Protocole: TCP

    fin, c'est un peu du chipotage toussa quand même

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/01/2015, 14h27
  2. Réponses: 0
    Dernier message: 11/01/2010, 15h54
  3. Réponses: 2
    Dernier message: 25/05/2005, 21h34
  4. Réponses: 11
    Dernier message: 31/01/2005, 17h48
  5. Quelle est la différence entre le float et le real ?
    Par Manson dans le forum Débuter
    Réponses: 3
    Dernier message: 10/08/2004, 17h26

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