Gest
COURS URECCNRSFR
q
"ERNARD 4UY *EAN
0AUL 'AUTIER
0LAN
Mode client - serveur q Généralités dur les différents modes de communications q » » »
Socket Stream RPC source : Réseaux locaux et Internet (Laurent Toutain)[HERMES]
q
Les Sockets
3OCKET q Mécanisme d'interface de programmation
» »
permet aux programmes d'échanger des données n'implique pas forcément une communication par le réseau
q
Avec les protocoles UDP et TCP, une connexion est entièrement définie sur chaque machine par :
» » »
le type de protocole (UDP ou TCP) l’adresse IP le numéro de port associé au processus
– –
serveur : port local sur lequel les connexions sont attendues client : allocation dynamique par le système
3OCKET
SERVEUR
socket
MODE CONNECT¨ APPELS SYT§MES
CLIENT
bind
Etat d'attente de requêtes
listen
Attente effective (bloquant)
accept
Etablissement de la connexion
socket connect
read write close
Envoi d'une requête
write read close
Réponse
Fermeture
3OCKET
SERVEUR
MODE DATAGRAMME APPELS SYT§MES
CLIENT
socket (bind)
socket
bind
recvfrom
Envoi d'une requête
sendto
Réponse
sendto
recvfrom
close
Fermeture
close
3OCKET q PRIMITIVES 5NIX
$©FINITION D UNE SOCKET
»
Création q S SOCKET DOMAINE TYPE PROTOCOLE
q
q
domaine » PF_UNIX : locale au système, nom de fichier dans l'arborescence » PF_INET : accès au réseau en utilisant le protocole IP » PF_ROUTE : passage de paramètres au noyau (tables de routages, table ARTP) type » SOCK_STREAM : protocoles de type mode connecté (TCP) » SOCK_DGRAM : protocoles de type mode datagramme (UDP) » SOCK_RAW : utilisation directe des protocoles de bas niveau 3 (IP, ICMP) protocole : identification du protocole utilisé. Si 0, le système déduit ce champ des 2 paramètres précédents.
3OCKET
»
PRIMITIVES 5NIX
LONGUEUR TOTALE