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

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2008
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 48
    Points : 28
    Points
    28
    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 : 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
    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

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    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.

  4. #4
    Membre expérimenté
    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
    Points : 1 421
    Points
    1 421
    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 éminent sénior

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    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 : 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
    Citation Envoyé par souviron34 Voir le message
    • un socket appartient à 1 EndPoint
    Non, 2 puisqu'il relie 2 machines

  7. #7
    Expert éminent sénior

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    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 expérimenté
    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
    Points : 1 421
    Points
    1 421
    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

  9. #9
    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
    Je rectifie, un socket est effectivement sur 1 seule machine, l'autre extrémité, c'est un autre socket sur l'autre machine. J'avais un peu mélangé Endpoint et canal

    Citation Envoyé par granquet Voir le message
    fin, c'est un peu du chipotage toussa quand même
    Tout à fait car tout le monde se comprend mais c'est toute la difficulté d'écrire une phrase non equivoque (pour mettre dans la FAQ par exemple).

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