Deuxième partie. Communication par flots Interface socket
|
|
|
- Simon Lebel
- il y a 10 ans
- Total affichages :
Transcription
1 Deuxième partie Communication par flots Interface socket Intergiciels et applications communicantes 1 / 48
2 Plan Présentation générale Objectifs Éléments de base 1 Présentation générale Objectifs Éléments de base II Interface socket 2 / 48
3 L API socket dans la pile IP Objectifs Éléments de base HTTP NFS Application TCP API Socket UCP Transport Noyau IP Réseau Matériel Liaison/physique II Interface socket 3 / 48
4 Objectifs de l API socket Objectifs Éléments de base Fournir une interface homogène aux applications service TCP service UDP Conforme au système de gestion de fichiers flot d octets lecture/écriture Modèle client/serveur II Interface socket 4 / 48
5 Objectifs Éléments de base La notion de flot centralisé réparti Idée Pipe «réparti» Désignation? Protocole? Interface? Fiabilité? Hétérogénéité? P 1 P 2 Site unique (communication par mémoire commune) P 1 P 2 Site S 1 Réseau Site S 2 II Interface socket 5 / 48
6 Objectifs Éléments de base Désignation globale via la notion de port Comment désigner un processus à distance? Un processus a un nom local : numéro d ordre par exemple ; Un site a un nom global : adresse IP par exemple ; Un port est un «point d accès» à un site ; Nom global d un processus : (adresse site, numéro de port) P 1 P Réseau Site S 1 Site S 2 Ports II Interface socket 6 /
7 Éléments de base Présentation générale Objectifs Éléments de base Socket descripteur de fichier Protocole / domaine d adresses famille d adresses Adresse (adresse IP, numéro de port) Liaison attribution d une adresse à un socket Association domaine + couple d adresses (client/serveur ou émetteur/récepteur) II Interface socket 7 / 48
8 Schéma général Présentation générale Objectifs Éléments de base Processus 1 sock 1 sock 2 adr 1 (@IP, port) adr 3 Processus 3 sock 1 sock 3 sock 2 adr 4 Processus 2 adr 2 Processus 4 sock 1 adr 5 sock 1 sock 2 adr 6 II Interface socket 8 / 48
9 Objectifs Éléments de base Numéro de ports standards (notorious) /etc/services ftp 21/tcp telnet 23/tcp smtp 25/tcp mail http 80/tcp www # # UNIX specific services # exec 512/tcp login 513/tcp printer 515/tcp spooler who 513/udp whod talk 517/udp II Interface socket 9 / 48
10 Services offerts Présentation générale Objectifs Éléments de base Orienté connexion (TCP) établissement/acceptation de connexion flot d octets fiable et ordonné terminaison de connexion Orienté datagramme (UDP) pas de connexion un message applicatif = une opération à la fois flot et messages II Interface socket 10 / 48
11 Plan Présentation générale 1 Présentation générale Objectifs Éléments de base II Interface socket 11 / 48
12 Structure générale Présentation générale Client initie la communication doit connaître le serveur Serveur informe le système de sa disponibilité répond aux différents clients clients pas connus a priori II Interface socket 12 / 48
13 Serveur/client non connecté Serveur créer un socket attribuer une adresse répéter attendre une requête traiter la requête émettre la réponse jusqu à fin du service Client créer un socket répéter émettre une requête vers une adresse attendre la réponse jusqu à réponse positive ou abandon II Interface socket 13 / 48
14 Serveur/client connecté Serveur créer un socket attribuer une adresse informer le système répéter attendre une demande de connexion dialoguer avec le client par le socket ainsi créé jusqu à fin du service Client créer un socket se connecter au serveur dialoguer avec le serveur par le socket connecté terminer la connexion un socket d écoute pour accepter les connexions, un socket connecté pour chaque connexion II Interface socket 14 / 48
15 Plan Présentation générale 1 Présentation générale Objectifs Éléments de base II Interface socket 15 / 48
16 Primitives principales socket bind connect listen accept close shutdown création nommage : liaison d un socket à une adresse connexion : établissement d une association prêt à attendre des connexions attente de connexion : acceptation d association fermeture fermeture (déprécié) read/write recv/send recvfrom/sendto II Interface socket 16 / 48
17 Exemple de programmation Client Site S 1 Site S 2 Serveur ccl = socket() ; connect(ccl,<s 2,ps>) write(ccl,...); cl pc pc pc ps ps ps ps csv=socket(); bind(csv,ps); listen(csv,5); cx=accept(csv); read(cx,...); write(cx,...); read(ccl,...); close(ccl); close(cx); II Interface socket 17 / 48
18 Création d un socket Présentation générale socket crée un socket en spécifiant le famille de protocole utilisée. int socket(int domain, int type, int protocol) où domain = AF_INET, AF_INET6, AF_UNIX, AF_X25... type = SOCK_STREAM, SOCK_DGRAM protocol = 0 Retour : un «descripteur» de fichier ou 1 II Interface socket 18 / 48
19 Adresse Présentation générale struct sockaddr_in { short sin_family; u_short sin_port; struct in_addr sin_addr; char sin_zero[8]; }; sin_family doit être AF_INET sin_port numéro de port sur 16 bits, dans une représentation standard : network byte ordered (big endian) sin_addr.s_addr = adresse IP sur 32 bits, correctement ordonnée (big endian) II Interface socket 19 / 48
20 Liaison socket/adresse bind nomme localement le socket (machine, port). Obligatoire pour accepter des connexions ou recevoir des messages. int bind(int sd, struct sockaddr *addr, int addrlen); où sd : descripteur du socket addr : adresse attribuée à ce socket addrlen : taille de l adresse (sizeof(struct sockaddr_in)) Retour : 0 si ok, 1 si échec avec errno : EACCESS = permission refusée (adresse réservée) EADDRINUSE = adresse déjà utilisée pour un nommage... II Interface socket 20 / 48
21 Connexion (côté client) connect identifie l extrémité distante d une association. int connect(int sd, struct sockaddr *addr, int addrlen); où sd : descripteur du socket (du client) addr : adresse du socket du serveur addrlen : taille de l adresse Retour : 0 si ok, 1 si échec. EISCONN = socket déjà connecté ECONNREFUSED = connexion refusée (pas d écouteur) ENETUNREACH = réseau inaccessible ETIMEDOUT = délai de garde expiré avant l établissement de la connexion... II Interface socket 21 / 48
22 Déclaration du serveur listen établit une file d attente pour les demandes de connexions. int listen(int sd, int backlog); où sd : descripteur du socket (du client) backlog : nombre max de clients en attente Retour : 0 si ok, 1 si échec. EADDRINUSE = un autre socket déjà à l écoute sur le même port. II Interface socket 22 / 48
23 Acceptation d une connexion accept prend la première demande de connexion et crée un nouveau socket ayant les mêmes caractéristiques que sd mais connecté à l appelant établissement d une association. int accept(int sd, struct sockaddr *peer, int *addrlen); où sd : socket existant de type STREAM peer : adresse du socket du client (valeur en retour) addrlen = taille de l adresse fournie et taille de l adresse retournée (utiliser sizeof(struct sockaddr_in)) Retour : un nouveau descripteur de socket si ok, ou 1 en cas d erreur EOPNOTSUPP = sd n est pas de type STREAM II Interface socket 23 / 48
24 Communication de données Appels système classiques : read/write. int write(int sd, const void *buf, int len); int read(int sd, void *buf, int len); Flot d octets : les frontières entre les messages ne sont pas préservées protocole applicatif nécessaire II Interface socket 24 / 48
25 Communication, mode non connecté int sendto(int sd, char *buf, int len, int flags, struct sockaddr *dest, int addrlen); int recvfrom(int sd, char *buf, int len, int flags, struct sockaddr *src, int *addrlen); où sd : socket buf, len : message à envoyer dest : adresse du socket destinataire (sendto, entrée) src : adresse du socket émetteur (recvfrom, sortie) addrlen : longueur de l adresse (entrée et sortie pour recvfrom) Retour : 0 si nombre d octets émis/reçus, 1 si erreur II Interface socket 25 / 48
26 Liaisons implicites/explicites bind implicite Lors d un connect ou d un sendto, le socket doit avoir une adresse locale attribution d un numéro de port non utilisé si nécessaire. Il est possible de nommer le socket (bind) avant connect ou sendto, mais guère d utilité. connect explicite Il est possible de «connecter» un socket en mode datagramme (utilisation de connect sur un socket SOCK_DGRAM) : plus nécessaire de spécifier le destinataire de chaque message sans connect, le même socket peut être utilisé vers différents destinataires II Interface socket 26 / 48
27 Fermeture Présentation générale close termine l association et libère le socket après avoir délivré les données en attente de transmission. int close(int sock); Note : comportement inattendu s il reste des octets à lire (écritures en attente perdues). shutdown permet une fermeture unilatérale : int shutdown(int sock, int how); où how = SHUT_RD (fin de réception), SHUT_WR (fin d émission), SHUT_RDWR (fin de réception et d émission) Rq : il faudra quand même appeler close pour libérer les ressources du système. II Interface socket 27 / 48
28 Configuration (en tant que fichier) int fcntl(int fd, int cmd,...) Par exemple : fcntl(sd, F_SETFL, O_NONBLOCK) pour mettre en non bloquant. II Interface socket 28 / 48
29 Configuration (en tant que socket) int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen); Par exemple : int ra = 1; setsockopt(sd, SOL_SOCKET, SO_REUSEADDR, &ra, sizeof(ra)); level option description SOL_SOCKET SO_REUSEADDR réutilisation immédiate d adresse locale SO_KEEPALIVE maintient en vie une connexion SO_BROADCAST autorise les diffusions IPPROTO_TCP TCP_MAXSEG taille max d un segment TCP TCP_NODELAY disable Nagle s algorithm IPPROTO_IP IP_OPTIONS options des entêtes IP II Interface socket 29 / 48
30 Adresse d un socket Présentation générale obtenir l adresse de l extrémité locale d une association int getsockname(int sd, struct sockaddr *addr, int *addrlen); obtenir l adresse de l extrémité distante d une association (mode connecté) int getpeername(int sd, struct sockaddr *peer, int *addrlen); II Interface socket 30 / 48
31 Représentation des entiers La pile IP est «big endian» Conversion de données (numéro de port, adresse IP) htonl htons ntohl ntohl host-to-network, long int host-to-network, short int network-to-host, long int network-to-host, short int Conversion ascii in_addr int inet_aton(const char *cp, struct in_addr *inp); char *inet_ntoa (struct in_addr in); II Interface socket 31 / 48
32 Service de nommage (DNS) struct hostent { char *h_name; /* nom canonique */ char **h_aliases; /* liste d alias */ int h_addrtype; /* type des adresses */ int h_length; /* longueur d une adresse */ char **h_addr_list; /* liste d adresses */ }; */ struct hostent *gethostbyname(char *name); struct hostent *gethostbyaddr(void *addr, int len, int type); gethostbyname avec un nom de machine turing.enseeiht.fr permet d obtenir ses autres noms et son (ses) adresse(s). Actuellement h_addrtype == AF_INET ou AF_INET6, et utiliser h_addr_list[0]. Pour une adresse format sin_addr de type == AF_INET, gethostbyaddr permet d obtenir le(s) nom(s) en clair. II Interface socket 32 / 48
33 Exemple mode connecté socket() bind() listen() accept() bloque jusqu à une demande de connexion read() write() connexion réponse requête socket() connect() write() read() II Interface socket 33 / 48
34 Exemple mode connecté Le client struct sockaddr_in adrserv; char reponse[6]; int scl = socket (AF_INET, SOCK_STREAM, 0); bzero (&adrserv, sizeof(adrserv)); adrserv.sin_family = AF_INET; inet_aton(" ", &adrserv.sin_addr); adrserv.sin_port = htons (4522); connect (scl, (struct sockaddr *)&adrserv, sizeof(adrserv)); write (scl, "hello", 6); read (scl, reponse, 6); close (scl); ATTENTION : il manque le contrôle d erreur, INDISPENSABLE. II Interface socket 34 / 48
35 Exemple mode connecté Le serveur struct sockaddr_in adrserv; int sserv = socket (AF_INET, SOCK_STREAM, 0); bzero (&adrserv, sizeof(adrserv)); adrserv.sin_family = AF_INET; adrserv.sin_addr.s_addr = htonl (INADDR_ANY); adrserv.sin_port = htons (4522); bind (sserv, (struct sockaddr *)&adrserv, sizeof(adrserv)); listen (sserv,5); while (1) { char requete[6]; int scl = accept (sserv, NULL, NULL); read(scl, requete, 6); if (strcmp(requete, "hello") == 0) write(scl, "world", 6); else write(scl, "bouh", 5); close(scl); } II Interface socket 35 / 48
36 Exemple mode non connecté socket() bind() recvfrom() bloque jusqu à réception de données requête socket() sendto() traitement sendto() réponse recvfrom() II Interface socket 36 / 48
37 Exemple mode non connecté Le client struct sockaddr_in adrserv; struct hostent *sp; char *requete = "hello"; char reponse[10]; int scli = socket (AF_INET, SOCK_DGRAM, 0); bzero (&adrserv, sizeof(adrserv)); adrserv.sin_family = AF_INET; sp = gethostbyname("turing.enseeiht.fr"); // assume OK memcpy (&sins.sin_addr, sp->h_addr_list[0], sp->h_length); adrserv.sin_port = htons (4522); sendto (scli, requete, strlen(requete), 0, (struct sockaddr *)&adrserv, sizeof(adrserv)); recvfrom (scli, reponse, sizeof (reponse), 0, NULL, NULL); close (scli); II Interface socket 37 / 48
38 Exemple mode non connecté Le serveur struct sockaddr_in adrserv, adrcli; char requete[10]; int sserv = socket (AF_INET, SOCK_DGRAM, 0); bzero (&adrserv, sizeof(adrserv)); adrserv.sin_family = AF_INET; adrserv.sin_addr.s_addr = htonl (INADDR_ANY); adrserv.sin_port = htons (4522); bind (sserv, (struct sockaddr*)&adrserv, sizeof(adrserv)); while (1) { bzero (&adrcli, sizeof (adrcli)); int adrclilen = sizeof (adrcli); recvfrom (sserv, requete, sizeof(requete), 0, (struct sockaddr *)&adrcli, &adrclilen); sendto (sserv, "world", 6, 0, (struct sockaddr *)&adrcli, adrclilen); } II Interface socket 38 / 48
39 Plan Présentation générale 1 Présentation générale Objectifs Éléments de base II Interface socket 39 / 48
40 Les classes Présentation générale java.net.inetaddress pour manipuler des adresses IP : java.net.socket et java.net.socketserver Mode datagramme : java.net.datagramsocket et java.net.datagrampacket Note : les interfaces présentées sont incomplètes (exceptions supprimées). II Interface socket 40 / 48
41 La classe java.net.inetaddress Deux sous-classes Inet4Address, Inet6Address Obtention : static InetAddress getlocalhost(); renvoie l adresse IP du site local d appel. static InetAddress getbyname(string host); Résolution de nom (sous forme symbolique turing.enseeiht.fr ou numérique ) static InetAddress[] getallbyname(string host); Résolution de nom toutes les adresses IP d un site Accesseurs String gethostname() le nom complet correspondant à l adresse IP String gethostaddress() l adresse IP sous forme d.d.d.d ou x:x:x:x:x:x:x:x byte[] getaddress() l adresse IP sous forme d un tableau d octets. II Interface socket 41 / 48
42 Classe java.net.serversocket Représente un socket d écoute. Constructeurs : ServerSocket(int port); ServerSocket(int port, int backlog, InetAddress bindaddr); Réalise socket bind listen. Méthodes : Socket accept(); Renvoie un socket connecté. Bloquant. (= accept en C). InetAddress getinetaddress(); Renvoie l adresse IP locale. int getlocalport(); II Interface socket 42 / 48
43 La classe java.net.socket Représente un socket connecté, côté client comme côté serveur. Constructeurs (côté client) : Socket(String host, int port); Socket(InetAddress address, int port); Socket(String host, int port, InetAddress localaddr, int localport); Socket(InetAddress addr, int port, InetAddress localaddr, int localport); = socket bind (éventuellement) connect. Constructeur bloquant! Accès aux flots de données : InputStream getinputstream(); OutputStream getoutputstream(); II Interface socket 43 / 48
44 La classe java.net.socket (suite) Accesseurs : InetAddress getlocaladdress(); Renvoie l adresse IP locale. ( getsockname en C) int getlocalport(); Renvoie le port local. InetAddress getinetaddress(); Renvoie l adresse IP distante. ( getpeername en C) int getport(); Renvoie le port distant. II Interface socket 44 / 48
45 Socket en Java : exemple client public class Client { public static void main(string[] args) throws Exception { Socket socket = new Socket("bach.enseeiht.fr", 8080); // Un BufferedReader permet de lire par ligne. BufferedReader plec = new BufferedReader( new InputStreamReader(socket.getInputStream())); // Un PrintWriter possède toutes les opérations print classiques. // En mode auto-flush, le tampon est vidé (flush) lors de println. PrintWriter pred = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())), true); String str = "bonjour"; for (int i = 0; i < 10; i++) { pred.println(str + i); // envoi d un message } } str = plec.readline(); } pred.println("end") ; plec.close(); pred.close(); socket.close(); // lecture de l écho Attention aux exceptions!
46 Socket en Java : exemple serveur public class Serveur { public static void main(string[] args) throws Exception { ServerSocket s = new ServerSocket(8080); while (true) { Socket soc = s.accept(); BufferedReader plec = new BufferedReader( new InputStreamReader(soc.getInputStream())); PrintWriter pred = new PrintWriter( new BufferedWriter( new OutputStreamWriter(soc.getOutputStream())), true); while (true) { } } } String str = plec.readline(); if (str.equals("end")) break; pred.println(str); } plec.close(); pred.close(); soc.close(); // lecture du message // renvoi d un écho Attention aux exceptions!
47 Socket en mode datagramme java.net.datagramsocket Constructeurs : DatagramSocket(); // port quelconque disponible DatagramSocket(int port); Méthodes : void send(datagrampacket p); void receive(datagrampacket p); Classe java.net.datagrampacket : DatagramPacket(byte[] buf, int length); DatagramPacket(byte[] buf, int length, InetAddress addr, int port); // destination + getters et setters II Interface socket 47 / 48
48 Conclusion Présentation générale Principes de base Extension d une notion issue du monde «centralisé» Connexion point à point entre processus Bases du modèle (protocole) client-serveur Communication en mode datagramme ou connecté Pas de transparence de la communication Pour aller plus loin Trouver une abstraction du contrôle plus simple réutiliser la notion de procédure Principe de conception : idée de transparence II Interface socket 48 / 48
LA COUCHE TRANSPORT CONTRÔLE LE FLOT DE DONNEES TRANSMISES par la couche Réseau
M1 Informatique Réseaux Cours 6 Couche Transport : TCP et UDP Notes de Cours LA COUCHE TRANSPORT CONTRÔLE LE FLOT DE DONNEES TRANSMISES par la couche Réseau dans le but d offrir des garanties de service
Le modèle client-serveur
Le modèle client-serveur Introduction Christian Bulfone [email protected] www.gipsa-lab.fr/~christian.bulfone/ic2a-dciss Master IC2A/DCISS Année 2012/2013 Encapsulation : rappel Données Données
Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle
F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Communication inter-processus (IPC) : tubes & sockets exemples en C et en Java F. Butelle F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Java : implémentation
1. Fonctionnement de l Internet 2. Protocoles applicatifs 3. Programmation réseau
1. Fonctionnement de l Internet 2. Protocoles applicatifs 3. Programmation réseau Fonctionnement de l Internet Fonctionnement de l Internet Basé sur une architecture TCP/IP du nom des deux principaux protocoles
Applications client/serveur TCP/IP - Sockets Rappels. C.Crochepeyre Applications CS 1
Applications client/serveur TCP/IP - Sockets Rappels C.Crochepeyre Applications CS 1 PLAN Modèle client/serveur Modèle ISO et protocole TCP/IP Comment ça marche? La programmation: les sockets Exemples
Communication par sockets
Rappel : le réseau vu de l!utilisateur (1) Communication par sockets Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/~krakowia (demande un service)
Travaux Pratiques Introduction aux réseaux IP
Université de Savoie Initiation aux réseaux IP Travaux Pratiques Introduction aux réseaux IP Sylvain MONTAGNY [email protected] Bâtiment chablais, bureau 13 04 79 75 86 86 TP1 : Analyse la
Programmation Réseau. Anthony Busson IUT Info Lyon 1
Programmation Réseau Anthony Busson IUT Info Lyon 1 Plan du cours Introduction Rôles du système et des applications Rappel TCP-IP Panorama des langages Couche socket : introduction Panorama de la couche
Communication sous UNIX les sockets
Communication sous UNIX les sockets Chaput Emmanuel Version 1.04 Résumé Ce but de ce petit document est de décrire la programmation des sockets sous Unix afin d aider le programmeur à développer des applications
Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.
Chapitre 7 Le mode de communication en connexion est, a priori, supporté par le protocole TCP. Ce protocole fournit une communication fiable; les données sont transmises comme chaînes d octets. Avant de
Programmation Internet en Java
Chapitre 8 Programmation Internet en Java Vous avez déjà utilisé Internet, le plus connu des inter-réseaux mondiaux d ordinateurs et quelques-uns de ses services, en particulier le web et le courrier électronique.
Cours 6 : Programmation répartie
Cours 6 - PC2R - M2 STL - UPMC - 2008/2009 p. 1/49 Cours 6 : Programmation répartie modèle à mémoire répartie Interneteries Client/serveur Exemples en O Caml Classe Java clients/serveur multi-langages
Programmation client-serveur sockets - RPC
Master Informatique M Plan de la suite Programmation client-serveur sockets - RPC Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/people/krakowia
Introduction. Adresses
Architecture TCP/IP Introduction ITC7-2: Cours IP ESIREM Infotronique Olivier Togni, LE2I (038039)3887 [email protected] 27 février 2008 L Internet est basé sur l architecture TCP/IP du nom
Programmation Réseau en C sous Unix
Chapitre 1 : Notions de base I. Structure d adresse : En programmation réseau, nous allons utiliser les sockets. C est un moyen de communication qui se définit par un port et une adresse. Elle est représentée
le minimum pour communiquer par réseau (sans toutefois y comprendre grand chose)
L API socket en résumé le minimum pour communiquer par réseau (sans toutefois y comprendre grand chose) Fabrice HARROUET École Nationale d Ingénieurs de Brest http://www.enib.fr/~harrouet/ enib 1/58 Propos
Programmation système de commandes en C
Programmation système de commandes en C Cours de Programmation système Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012 2013 Tuyêt Trâm DANG NGOC Programmation système de commandes
Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée)
Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée) Propriétés Description Intitulé long Formation concernée Matière Présentation Développement d un logiciel de messagerie
Présentation du modèle OSI(Open Systems Interconnection)
Présentation du modèle OSI(Open Systems Interconnection) Les couches hautes: Responsables du traitement de l'information relative à la gestion des échanges entre systèmes informatiques. Couches basses:
Plan global. Programmation système II. Socket du domaine UNIX. Plan. Socket UNIX, Terminaux, Async IO, Mémoire, ELF.
Programmation système II Socket UNIX, Terminaux, Async IO, Mémoire, ELF Timothée Ravier LIFO, INSA-CVL, LIPN 1 re année cycle ingénieur STI 2013 2014 Plan global 1 Socket UNIX 2 Terminaux 3 Autres modèles
Programmation Réseau. ! UFR Informatique ! 2013-2014. [email protected]
Programmation Réseau [email protected]! UFR Informatique! 2013-2014 1 Programmation Réseau Introduction Ce cours n est pas un cours de réseau on y détaillera pas de protocoles de
DHCP et NAT. Cyril Rabat [email protected]. Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 2012-2013
DHCP et NAT Cyril Rabat [email protected] Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 22-23 Cours n 9 Présentation des protocoles BOOTP et DHCP Présentation du NAT Version
L3 informatique Réseaux : Configuration d une interface réseau
L3 informatique Réseaux : Configuration d une interface réseau Sovanna Tan Septembre 2009 Révision septembre 2012 1/23 Sovanna Tan Configuration d une interface réseau Plan 1 Introduction aux réseaux 2
2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free.
2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES 2.2 Architecture fonctionnelle d un système communicant Page:1/11 http://robert.cireddu.free.fr/sin LES DÉFENSES Objectifs du COURS : Ce cours traitera essentiellement
Projet de programmation (IK3) : TP n 1 Correction
Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public
Exercice sur les Dockers
Exercice sur les Dockers Les parties composant les Dockers: 1 docker daemon: est un démon qui gère les dockers (les conteneurs LXC) qui tournent sur la machine hôte 2 docker CLI: une série de commandes
STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module
François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE FreeRTOS Programmation réseau WIFI Programmation réseau Socket Tcp FlyPort smart Wi-Fi 802.11 module Prérequis : langage C, connaissance réseau : Ip,
Cours CCNA 1. Exercices
Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.
18 TCP Les protocoles de domaines d applications
18 TCP Les protocoles de domaines d applications Objectifs 18.1 Introduction Connaître les différentes catégories d applications et de protocoles de domaines d applications. Connaître les principaux protocoles
II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)
II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection) II.2/ Description des couches 1&2 La couche physique s'occupe de la transmission des bits de façon brute sur un canal de
Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. [email protected]
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 [email protected] LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Couche application. La couche application est la plus élevée du modèle de référence.
Couche application La couche application est la plus élevée du modèle de référence. Elle est la source et la destination finale de toutes les données à transporter. Couche application La couche application
Flux de données Lecture/Ecriture Fichiers
Flux de données Lecture/Ecriture Fichiers 1 Un flux de données est un objet qui représente une suite d octets d un programme pour une certaine destination ou issus d une source pour un programme flux d
Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER
Internets Informatique de l Internet: le(s) Internet(s) Joël Quinqueton Dépt MIAp, UFR IV UPV Université Montpellier III RENATER, R3LR Services Internet Protocoles Web Sécurité Composantes de l internet
Le protocole TCP. Services de TCP
Le protocole TCP TCP (Transmission Control Procedure) est un protocole de transport bout-en-bout (Host-To- Host) Ajoute les fonctions que le réseau ne peut offrir et qui sont demandées par les applications
UDP/TCP - Protocoles transport
UDP/TCP - Protocoles transport ISEN/ITII- UDP/TCP 1 Plan UDP : LE PROTOCOLE TRANSPORT DATAGRAM Concept de ports Format du datagramme TCP : LE PROTOCOLE DE TRANSPORT FIABLE Connexion Segmentation Fenêtrage
Playing with ptrace() for fun and profit
sous GNU/Linux [email protected] EADS Corporate Research Center - DCR/STI/C SSI Lab SSTIC 2006 Il était une fois... Sous UNIX, ptrace() est le seul moyen de debuggage. User-space, Interface rigide
Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Réseaux IUP2 / 2005 DNS Système de Noms de Domaine
Réseaux IUP2 / 2005 DNS Système de Noms de Domaine 1 Noms symboliques Nommer les machines par un nom plutôt que par son adresse IP Chaîne de caractères Plus "naturel" Espace de noms hiérarchique plutôt
Dis papa, c est quoi un bus logiciel réparti?
Dis papa, c est quoi un bus logiciel réparti? [email protected] LIFL IRCICA Equipe GOAL Octobre 2006 10. Des sockets aux bus logiciels répartis 1 0. Une application répartie 2 Objectif Découvrir la
Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace
Processus 1) Contexte 2) Modèles de Notion de Points de vue Modèle fourni par le SX Opérations sur les 3) Gestion des Représentation des Opérations 4) Ordonnancement des Niveaux d ordonnancement Ordonnancement
Cours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Cours de sécurité. Pare-feux ( Firewalls ) Gérard Florin -CNAM - - Laboratoire CEDRIC -
Cours de sécurité Pare-feux ( Firewalls ) Gérard Florin -CNAM - - Laboratoire CEDRIC - 1 Plan pare-feux Introduction Filtrage des paquets et des segments Conclusion Bibliographie 2 Pare-Feux Introduction
PROGRAMMATION PAR OBJETS
PROGRAMMATION PAR OBJETS Java Environnement et constructions spécifiques Walter Rudametkin Maître de Conférences Bureau F011 [email protected] B. Carré Polytech Lille 2 Java (Sun 1995)
Conception des systèmes répartis
Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan
M1 MIAGE - Réseau TP1
M1 MIAGE - Réseau TP1 Consignes Les TPs ont lieu par groupe de 2 ou 3. Le groupe sera le même pour le projet. Le niveau des personnes dans le groupe doit être sensiblement le même! Pour chaque TP, vous
Programmer en JAVA. par Tama ([email protected]( [email protected])
Programmer en JAVA par Tama ([email protected]( [email protected]) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Remote Method Invocation (RMI)
Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe
Plan. Programmation Internet Cours 3. Organismes de standardisation
Plan Programmation Internet Cours 3 Kim Nguy ên http://www.lri.fr/~kn 1. Système d exploitation 2. Réseau et Internet 2.1 Principes des réseaux 2.2 TCP/IP 2.3 Adresses, routage, DNS 30 septembre 2013 1
INTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Chapitre : Les Protocoles
Chapitre : Les Protocoles Outils de l Internet Joyce El Haddad DU1 MI2E Université Paris Dauphine 2009-2010 1 Plan 1. Le modèle TCP/IP 2. Les adresses IP 3. Le Protocole IP 4. Le Protocole TCP 5. Les Protocoles
Protocoles Applicatifs
Programmation Réseau Protocoles Applicatifs [email protected] UFR Informatique 2011-2012 Protocoles Protocoles applicatifs on appelle protocole applicatif ou protocole d application
Structure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
V - Les applications. V.1 - Le Domain Name System. V.1.1 - Organisation de l espace. Annuaire distribué. Définition. Utilisation par le resolver
V - Les applications V.1 - Le Domain Name System Annuaire distribué nom symbolique adresse IP chaque domaine gère sa partie Définition d un protocole de communication [RFC 1034] [RFC 1035] d une politique
Services Réseaux - Couche Application. TODARO Cédric
Services Réseaux - Couche Application TODARO Cédric 1 TABLE DES MATIÈRES Table des matières 1 Protocoles de gestion de réseaux 3 1.1 DHCP (port 67/68)....................................... 3 1.2 DNS (port
Cours de Système : Gestion de Fichiers
Cours de Système : Gestion de Fichiers Bertrand Le cun et Emmanuel Hyon bertrand.le cun{at}u-paris10.fr et Emmanuel.Hyon{at}u-paris10.fr Université Paris Ouest Nanterre 25 octobre 2011 B.L.C. & E.H. (UPO)
Java Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net
Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net : Champ Encodé SKWRITTEN() : Champ Variable défini Précédemment & définissant l état des champs à suivre ECT
Serveurs de noms Protocoles HTTP et FTP
Nils Schaefer Théorie des réseaux (EC3a) Serveurs de noms Protocoles HTTP et FTP Théorie des réseaux (EC3a) Séance 7 Pourquoi DNS? Internet est une structure hiérarchique et arborescente de réseaux et
L3 informatique TP n o 2 : Les applications réseau
L3 informatique TP n o 2 : Les applications réseau Sovanna Tan Septembre 2009 1/20 Sovanna Tan L3 informatique TP n o 2 : Les applications réseau Plan 1 Transfert de fichiers 2 Le Courrier électronique
Cours 6 : Tubes anonymes et nommés
Cours 6 : Tubes anonymes et nommés Mécanisme de communications du système de fichiers I-node associé. Type de fichier: S_IFIFO. Accès au travers des primitives read et write. Les tubes sont unidirectionnels
Cisco Certified Network Associate
Cisco Certified Network Associate Version 4 Notions de base sur les réseaux Chapitre 3 01 Quel protocole de la couche application sert couramment à prendre en charge les transferts de fichiers entre un
Cahier des Charges du Projet Domotique. Choquet Mathieu Masson Jérôme Groupe 6. Domotique. p.1
Choquet Mathieu Masson Jérôme Groupe 6 Domotique p.1 SOMMAIRE : Introduction...... I/ Envoi de SMS...... II/ Architecture...... III/ Serveur...... IV/ Détection de mouvement...... V/ Problème rencontré......
Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7
Cahier des charges driver WIFI pour chipset Ralink RT2571W sur hardware ARM7 RevA 13/03/2006 Création du document Sylvain Huet RevB 16/03/2006 Fusion des fonctions ARP et IP. SH Modification des milestones
Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT
Administration Réseau Niveau routage Intérêt du NAT (Network Address Translation) Possibilité d utilisation d adresses privées dans l 4 2 1 Transport Réseau Liaison Physique Protocole de Transport Frontière
Traitement de données
Traitement de données Présentation du module TINI Présentation du module : Le module Tini se décline en plusieurs versions, il est constitué d une carte d application et d un module processeur : Les modules
Rappel: Le routage dans Internet. Contraintes. Environnement et contraintes. La décision dans IP du routage: - Table de routage:
Administration d un Intranet Rappel: Le routage dans Internet La décision dans IP du routage: - Table de routage: Adresse destination (partie réseau), netmask, adresse routeur voisin Déterminer un plan
1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.
1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this
EPREUVE PRATIQUE DES TECHNIQUES INFORMATIQUES ACTIVITE N 1. Thème de l activité : Configuration d un firewall
B.T.S Informatique de Gestion Option Administrateur de Réseaux Locaux d Entreprise Session 2004/2005 EPREUVE PRATIQUE DES TECHNIQUES INFORMATIQUES Nom et prénom du candidat : TAGLIAFERRI Eric ACTIVITE
Résolution de noms. Résolution de noms
cb (C:\Documents and Settings\bcousin\Mes documents\enseignement\res (UE18)\12.DNS.fm- 25 janvier 2009 13:15) PLAN Introduction Noms des domaines de noms Principe de la résolution de noms La résolution
Introduction aux Technologies de l Internet
Introduction aux Technologies de l Internet Antoine Vernois Université Blaise Pascal Cours 2006/2007 Introduction aux Technologies de l Internet 1 Au programme... Généralités & Histoire Derrière Internet
Auto-évaluation Programmation en Java
Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN
Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6
Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer
Configuration automatique
Configuration automatique (/home/terre/d01/adp/bcousin/polys/internet:gestion_reseau/6.dhcp.fm- 29 Septembre 1999 12:07) PLAN Introduction Les principes de DHCP Le protocole DHCP Conclusion Bibliographie
Internet Protocol. «La couche IP du réseau Internet»
Internet Protocol «La couche IP du réseau Internet» Rôle de la couche IP Emission d un paquet sur le réseau Réception d un paquet depuis le réseau Configuration IP par l administrateur Noyau IP Performance
Devoir Surveillé de Sécurité des Réseaux
Année scolaire 2009-2010 IG2I L5GRM Devoir Surveillé de Sécurité des Réseaux Enseignant : Armand Toguyéni Durée : 2h Documents : Polycopiés de cours autorisés Note : Ce sujet comporte deux parties. La
Programmation en Java IUT GEII (MC-II1) 1
Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)
Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A. TP réseau firewall
Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A TP réseau firewall L objectif de ce TP est de comprendre comment mettre en place un routeur pare-feu (firewall) entre
Programmation système I Les entrées/sorties
Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les
GENERALITES. COURS TCP/IP Niveau 1
GENERALITES TCP/IP est un protocole inventé par les créateurs d Unix. (Transfer Control Protocol / Internet Protocole). TCP/IP est basé sur le repérage de chaque ordinateur par une adresse appelée adresse
Liste des ports. 1 sur 6
Liste des ports 1 sur 6 En cas d oublie ou si on n est pas sur il y a un fichier qui nous indique tout les ports. Ce fichier s ouvre avec un éditeur de texte comme notepad, il se trouve ici : C:\WINDOWS\system32\drivers\etc\
Corrigé des exercices sur les références
Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile
Année Universitaire 2010-2011 session 1 d automne Parcours : CSB5 Licence 3 STS Informatique
Année Universitaire 2010-2011 session 1 d automne Parcours : CSB5 Licence 3 STS Informatique UE : INF157 Épreuve : Examen Utilisation des réseaux Date : 13 décembre 2010 Heure : 8h30 Durée : 1h30 Modalités
SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM
SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM Copyright TECH 2012 Technext - 8, avenue Saint Jean - 06400 CANNES Société - TECHNEXT France - Tel : (+ 33) 6 09 87 62 92 - Fax :
RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.
RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples
ALOHA LOAD BALANCER METHODE DE CONTROLE DE VITALITE
ALOHA LOAD BALANCER METHODE DE CONTROLE DE VITALITE «APP NOTES» #0013 LISTE DES CHECKS DANS L ALOHA Ce document a pour vocation de lister les principaux checks disponibles dans la solution ALOHA pour s
Introduction à la Programmation Parallèle: MPI
Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4
OS Réseaux et Programmation Système - C5
OS Réseaux et Programmation Système - C5 Rabie Ben Atitallah [email protected] RPC - XDR Rappel RPC: Remote Procedure Call Besoin d un environnement de haut niveau pour le développement
as Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
M1101a Cours 4. Réseaux IP, Travail à distance. Département Informatique IUT2, UPMF 2014/2015
M1101a Cours 4 Réseaux IP, Travail à distance Département Informatique IUT2, UPMF 2014/2015 Département Informatique (IUT2, UPMF) M1101a Cours 4 2014/2015 1 / 45 Plan du cours 1 Introduction 2 Environnement
Gestion distribuée (par sockets) de banque en Java
Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante
DNS Server RPC Interface buffer overflow. Céline COLLUMEAU Nicolas BODIN
Mémoire DNS Server RPC Interface buffer overflow Céline COLLUMEAU Nicolas BODIN 3 janvier 2009 Table des matières 1 Introduction 2 2 Présentation de la faille 3 3 Exemple d exploitation 5 4 Solutions 10
LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. [email protected] www.cril.univ-artois.fr/~jabbour
LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour [email protected] www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections
Gestion centralisée d un réseau de sites discrets. Nicolas JEAN - @salemioche
Gestion centralisée d un réseau de sites discrets Nicolas JEAN - @salemioche SEO / Technique,utilisation SEO Technique / Utilisation Intérêt du réseau Centralisé Discrétion Simplicité d utilisation Caractéristique
TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.
Université Paris 7 M2 II Protocole Internet TP3 Mail Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose. 1 Protocole SMTP 1. Le protocole SMTP est définit dans
Internet Le service de noms - DNS
Internet Le service de noms - DNS P. Bakowski [email protected] Domaines Internet DNS - Domain Name System hostname : nom symbolique adresse IP : un nombre/valeur logique hostname : www.polytech2go.fr IP address
Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
