Communications via sockets

Slides:



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

Mode Message Asynchrone (interface Socket)
Client/Server Socket. Client/Serveur.
Version du document: 1.00 Version de logiciel v3.7.1 Version CBox: C5 Téléassistance Configuration Téléopérateur Langage: Français.
Comprendre Internet Bases théoriques et exercices pratiques, pour débutants complets... Et curieux !
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.
Le système de fichier pair-à-pair distribué. Plan ● Présentation de Peerfuse – Le but recherché – Les fonctionnalités ● Utilisation de la bibliothèque.
1 Réseaux Communication socket sous Windows. 2 Communication socket sous Windows Communication entre 2 applications sur 2 machines distantes Adresse IP.
Février 2006X. Belanger / Guilde Introduction à. Février 2006X. Belanger / Guilde Qu'est ce que Samba ? ● Implémentation libre du protocole CIFS/SMB (client.
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.
Java et sockets TCP.
Les Réseaux informatique.
MENUS PRINCIPAL RESEAU.
INTERNET #1 Qu’est-ce qu’internet ? Qu’est-ce qu’un site internet ?
Notions sur les réseaux
Windows 2003 Server Service DHCP
Le modèle TCP/IP Présentation Couche Interface-Réseau Couche Réseau
Rappels et présentation du réseau local
Les tableaux différencier les variables simples des variables indicées (ordonnées et numérotées) un identificateur unique désigne un ensemble, une collection.
show ip dhcp server statistics
Remote Desktop Protocol l'Appliance de Sécurité
Allocation dynamique de mémoire
Pointeurs et langage C.
Commande ip nat service
Communications via sockets
SNET: Administration et sécurisation des réseaux EPFC Alain Smets
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.
7 – COMMUNICATION INTER PROCESSUS SEGMENTS DE MÉMOIRE PARTAGEE
Les protocoles du Web Professeur: Tanja Dinić Étudiant:
introduction à TCP seuls certains aspects du protocole seront traités
Installation et Configuration Internet Information Server (IIS 5)
show ip nat translations
Matrices, déclaration en CSharp
Synthèse Socket en C.
Pile IGMPv3 de Host.
Comment fonctionne RADIUS?
DHCP et IP helper Host B Client DHCP Hub E0/0 Paris S0/0
Wireshark Capture et analyse de trames IP
Questions 1- Qu'est ce qu'un réseau informatique ?
Programmation système Systèmes d'exploitation
Network [ CCSecu] ~ 24/08/16.
SYSTÈME D’EXPLOITATION I
Exemples de paramétrages Interfaces IP
Couche Transport Protocoles TCP et UDP
HTTP DNS NTP FTP R231 RJ45 definition HTTP DNS NTP FTP R231 RJ45.
Protocoles réseau.
SYSTÈME D’EXPLOITATION I
Certificat en Informatique et Internet D5. Travailler en réseau, communiquer et collaborer Equipe C2I - FSEGS Semestre 2 – Avril 2015 Université de Sfax.
Introduction à la conception de site web
Prélude CS Mode client-serveur
DNS ET DHCP SOUS LINUX INSTALLATION ET CONFIGURATIONS EXPOSE GROUPE 2 THEME:THEME: REDIGE PAR IBRAHIMA FAYE.
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.
Cours 10 : Les Web Services et WSDL Février Version 1.0 -
Prélude CS Mode client-serveur
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 :
1 CHAPITRE 4 La couche réseau PLAN L’adressage IPv4 Routage statique 1.
Introduction aux réseaux informatique IFT 6800 – E 2007 Jian-Yun Nie.
Les liaisons des données Sommaire Principe Les couches de liaison –LLC (Contrôle de Liaison Logique) –MAC (Contrôle d’Acces au Support) Mode de Communication.
STREAMS (et fichiers).
Architecture TCP/IP1 Livres disponibles à la bibliothèque (RDC) Réseaux, 3 ème édition, A.TANENBAUM, TCP/IP : Architecture, protocoles et applications,
Dridi Lobna 1 Couche Réseau II Réseau : Gestion de l’accès.
TP N°4 Développement d’ une application
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

Les Sockets en C Les principes de la communication En pratique

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

Principes 2 Façons de communiquer

Mode non connecté (datagram)

Mode connecté (STREAM)

En pratique

Socket en mode non-connecté

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()

Fonctions et Paramètres L'ensemble des ports réservés se trouve (sous linux )dans le fichier : /etc/services chaque ligne contient : Le nom du service Le port utilisé Le protocole utilisé

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ée →(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.

Socket en mode connecté

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

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.