Communications via sockets

Slides:



Advertisements
Présentations similaires
Programmation réseau Les sockets de Berkeley
Advertisements

Mode Message Asynchrone (interface Socket)
IUT Bordeaux 1 - Dépt. Informatique
Client/Server Socket. Client/Serveur.
CHAftITREI ARCHITECTURE de BASE. Modèle de Von Neumann Langage d’assemblage1 John Von Neumann est à l'origine d'un modèle de machine universelle de traitement.
Comprendre Internet Bases théoriques et exercices pratiques, pour débutants complets... Et curieux !
INTERNET (Wan) Réseau local (LAN) Livebox (passerelle) Adresse réseau (IP) Internet La passerelle dispose de 2 adresses réseau: - adresse.
Les réseaux Ethernet. Réseaux locaux LAN Implantés dans un immeuble ou un Campus Généralement bus à « diffusion » Normalisé par le comité IEEE 802 Ethernet.
INFO 3020 Introduction aux réseaux d’ordinateurs Philippe Fournier-Viger Département d’informatique, U.de M. Bureau D216,
1 Réseaux Communication socket sous Windows. 2 Communication socket sous Windows Communication entre 2 applications sur 2 machines distantes Adresse IP.
Adressage IP Page 1 L’adressage IP.
Bénin DNS Forum. DNS et Déni de Service Présentateur O Hervé HOUNZANDJI O Ingénieur Système O Administrateur de base de données ORACLE O Centre Hospitalier.
Les Réseaux informatique.
Ethernet TCP/IP.
MENUS PRINCIPAL RESEAU.
INTERNET #1 Qu’est-ce qu’internet ? Qu’est-ce qu’un site internet ?
Notions sur les réseaux
Brève histoire d’Internet
TIC (Techniques de l’Information et de la Communication)
Windows 2003 Server Service DHCP
Le modèle TCP/IP Présentation Couche Interface-Réseau Couche Réseau
ARS3 : MODBUS Département GEII – Année universitaire
ATS8500 Standalone Downloader.
TCP Transmission Control Protocol
show dialer interface bri
Remote Desktop Protocol l'Appliance de Sécurité
Allocation dynamique de mémoire
SNET: Administration et sécurisation des réseaux EPFC Alain Smets
CCNP Routage Chapitre 4 - Questionnaire N°1
Notions de base sur les réseaux
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Xenomai RTDM.
Réseau informatique Sorenza Laplume 1.
Les protocoles du Web Professeur: Tanja Dinić Étudiant:
introduction à TCP seuls certains aspects du protocole seront traités
show ip nat translations
Commande show ip dhcp binding
Cairo – EGYPTE 10 au 22 Mai 2009 Routage Statique
Synthèse Socket en C.
Internet Un réseau virtuel qui assure l'interconnexion des différents réseaux physiques par l'intermédiaire de passerelles. Une pile de protocoles unique.
Routage S 2 - Questionnaire N°1 - Réponses
Questions 1- Qu'est ce qu'un réseau informatique ?
Communications via sockets
VLSM Exercice N°1 ccnp_cch.
Installation des OS par réseaux (PXE)
Liste de contrôle d’accès
Programmation système Systèmes d'exploitation
SYSTÈME D’EXPLOITATION I
Couche Transport Protocoles TCP et UDP
HTTP DNS NTP FTP R231 RJ45 definition HTTP DNS NTP FTP R231 RJ45.
Les Réseaux Informatiques
SYSTÈME D’EXPLOITATION I
Les protocoles de la couche application Chapitre 7.
Introduction aux réseaux informatique. Plan Organisation physique des réseaux Protocoles de communication Terminologie.
TP N°4 Développement d’ une application client / Serveur en utilisant les Sockets TCP.
LES RESEAUX.
La Station de pompage.
Chapitre 4 Couche Liaison : Protocoles
Le réseau Les Protocoles.
SÉCURITÉ DES RÉSEAUX MOBILES MINI-PROJET Présenté par : ASSIMI Chaimaa Encadré par : M. EL ouazzani Année universitaire :
Présentation du Multicast
Introduction aux réseaux informatique IFT 6800 – E 2007 Jian-Yun Nie.
L’adresse IP sur internet
Béatrice Galkowski lundi 17 janvier 2005
Les réseaux informatiques
Architecture TCP/IP1 Livres disponibles à la bibliothèque (RDC) Réseaux, 3 ème édition, A.TANENBAUM, TCP/IP : Architecture, protocoles et applications,
Délégation académique pour le numérique éducatif
TP N°4 Développement d’ une application
TP RC.
LES RESEAUX. Besoin de communication LES RESEAUX Pour communiquer via un réseau informatique Support de transmission Carte réseau Éléments de réseau.
Transcription de la présentation:

Communications via sockets IRIS 2

Les Sockets en C Les principes de la communication En pratique IRIS 2

Principes Reseau  ensemble d'immeubles adresse  adresse IP Numéro d'appartement  numéro de port IRIS 2

Principes Façons de communiquer IRIS 2

Mode non connecté (datagram) IRIS 2

Mode connecté (STREAM) IRIS 2

En pratique IRIS 2

Socket en mode non-connecté IRIS 2

Comment va-t-on communiquer Client UDP Serveur UDP socket() Comment va-t-on communiquer socket() bind() Associer @IP et nro PORT Socket client Attention : Recvfrom bloquant sendto/ recvfrom Socket serveur recvfrom/ sendto close() close()

Socket en mode connecté IRIS 2

Socket de communication avec le serveur Client TCP Serveur TCP la file d'attente bind() Taille maxi de la file d'attente Socket de communication avec le serveur listen Attention : accept bloquant connect() accept() Attention : read bloquant write/ read Socket de communication avec le client courant read/ write close() close()

Vue avec les échanges réseau syn syn, ack ack données ack données ack ack, fin ack

Fonctions et Paramètres

La commande socket() #include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol); PF_INET (Protocol Family) IPPROTO_TCP IPPROTO_UDP SOCK_DGRAM SOCK_STREAM

Taille de la structure d'adresse La commande bind() #include <sys/types.h> #include <sys/socket.h> int bind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen); La structure contenant les informations relatives à l'adresse et au numéro de port du serveur Taille de la structure d'adresse Le descripteur retourné par la commande socket

La structure sockaddr struct sockaddr{ u_char sa_len; // longueur de l'adresse u_char sa_family; // famille de protocole char sa_data[14]; // adresse };

La structure sockaddr_in struct sockaddr_in { sa_family_t sin_family; /* famille d'adresses : AF_INET sur 16 bits */ u_int16_t sin_port; /* port dans l'ordre d'octets réseau */ struct in_addr sin_addr; /* adresse Internet */ char sin_zero[8]; /* initialise à zéro */ }; struct in_addr { u_int32_t s_addr; /* Adresse dans l'ordre d'octets réseau */ /* INADDR_ANY afin d'ecouter sur toutes */ /* les interface presentes */

Se mettre d'accord entre lilliputiens htonl : host to network long -> de l'hote vers le réseau sur 4 octets htons : host to network short -> de l'hote vers le réseau sur 2 octets ntohl : network to host long -> du réseau vers l'hote sur 4 octets ntohs : network to host short -> du réseau vers l'hote sur 2 octets

Commande sendto() #include <sys/types.h> #include <sys/socket.h> int sendto( int s, const void *msg, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); s : la socket msg : l'adresse de ce qui doit être envoyé len : le nombre d'octets à envoyer flags : options diverses (vaut généralement 0) to : adresse d'une structure sockaddr_in initialisée avec les informations relatives au destinataire. Cette structure est ensuite casté →(struct sockaddr *) devant. tolen : Taille de la structure d'adressage du destinataire.

Commande recvfrom() #include <sys/types.h> #include <sys/socket.h> int recvfrom(int s, void *msg, int len, int flags, const struct sockaddr *from, socklen_t *fromlen); s : la socket msg : l'adresse où sera stocké ce qui doit être reçu len : le nombre d'octets maximum que peut supporter msg flags : options diverses (vaut généralement 0) from : adresse d'une structure sockaddr_in. Elle sera initialisée avec les informations de celui qui envoie les données. Cela permettra de lui répondre par la suite. tolen : adresse d'une variable qui contiendra la taille de la structure d'adressage de celui qui envoie un message.

Commande connect() #include <sys/types.h> #include <sys/socket.h> int connect(int s, struct sockaddr *serv_addr, socklen_t len); s : la socket serv_addr : adresse d'une structure sockaddr_in initialisée avec les données du serveur (IP, port,etc). len : Taille de la structure d'adressage du serveur.

Commande accept() #include <sys/types.h> #include <sys/socket.h> int accept(int s, struct sockaddr *adresse, socklen_t *len); s : la socket adresse : adresse d'une structure sockaddr_in. Elle sera initialisée avec les informations de celui qui demande une connexion. Cela permettra de créer la socket de communication. len : adresse d'une variable qui contiendra la taille de la structure d'adressage de celui qui envoie un message. La valeur retournée par accept est la socket à utiliser pour communiquer avec le client.