1. Fonctionnement de l Internet 2. Protocoles applicatifs 3. Programmation réseau



Documents pareils
Introduction. Adresses

L3 informatique Réseaux : Configuration d une interface réseau

Applications client/serveur TCP/IP - Sockets Rappels. C.Crochepeyre Applications CS 1

Présentation du modèle OSI(Open Systems Interconnection)

Travaux Pratiques Introduction aux réseaux IP

Services Réseaux - Couche Application. TODARO Cédric

II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)

Rappel: Le routage dans Internet. Contraintes. Environnement et contraintes. La décision dans IP du routage: - Table de routage:

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

Internet Protocol. «La couche IP du réseau Internet»

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

Introduction aux Technologies de l Internet

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT

Réseaux et protocoles Damien Nouvel

2. DIFFÉRENTS TYPES DE RÉSEAUX

Plan. Programmation Internet Cours 3. Organismes de standardisation

Réseau - VirtualBox. Sommaire

M1101a Cours 4. Réseaux IP, Travail à distance. Département Informatique IUT2, UPMF 2014/2015

Ch2 La modélisation théorique du réseau : OSI Dernière maj : jeudi 12 juillet 2007

Programmation Réseau. ! UFR Informatique ! Jean-Baptiste.Yunes@univ-paris-diderot.fr

Couche application. La couche application est la plus élevée du modèle de référence.

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

Culture informatique. Cours n 9 : Les réseaux informatiques (suite)

Tunnels. Plan. Pourquoi? Comment? Qu est-ce? Quelles solutions? Tunnels applicatifs ESIL INFO 2005/2006. Sophie Nicoud

Cisco Certified Network Associate

DIFF AVANCÉE. Samy.

Figure 1a. Réseau intranet avec pare feu et NAT.

VPN TLS avec OpenVPN. Matthieu Herrb. 14 Mars 2005

Cours de sécurité. Pare-feux ( Firewalls ) Gérard Florin -CNAM - - Laboratoire CEDRIC -

Rappels réseaux TCP/IP

Outils de l Internet

Chapitre I. La couche réseau. 1. Couche réseau 1. Historique de l Internet

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

1.Introduction - Modèle en couches - OSI TCP/IP

Année Universitaire session 1 d automne Parcours : CSB5 Licence 3 STS Informatique

Administration UNIX. Le réseau

Ex Nihilo Denis Ensminger

UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP

GENERALITES. COURS TCP/IP Niveau 1

TP : Introduction à TCP/IP sous UNIX

Les applications Internet

Protocole SSH-2.0. Tuan-Tu, TRAN. Janvier 2009

Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley, July ENPC.

Présentation et portée du cours : CCNA Exploration v4.0

Plan. École Supérieure d Économie Électronique. Plan. Chap 9: Composants et systèmes de sécurité. Rhouma Rhouma. 21 Juillet 2014

Plan Général Prévisionnel (1/2) Internet et Outils L1/IO François Armand. Plan Général Prévisionnel (2/2) Unix, Réseau: Plan

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

Présentation Internet

Cours CCNA 1. Exercices

Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle

Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A. TP réseau firewall

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark

Master d'informatique 1ère année. Réseaux et protocoles. Architecture : les bases

Chapitre : Les Protocoles

COMMANDES RÉSEAUX TCP/IP WINDOWS.

Connexion à un réseau local: Configuration et dépannage

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation

18 TCP Les protocoles de domaines d applications

Configuration réseau Basique

Table des matières GNU/Linux Services Serveurs Éléments de cours sur TCP/IP Fichiers de configuration et commandes de base ...

L3 informatique TP n o 2 : Les applications réseau

TP SECU NAT ARS IRT ( CORRECTION )

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

20/09/11. Réseaux et Protocoles. L3 Informatique UdS. L3 Réseaux et Protocoles. Objectifs du cours. Bibliographie

Informatique Générale Les réseaux

Présentation et portée du cours : CCNA Exploration v4.0

NOTIONS DE RESEAUX INFORMATIQUES

Le réseau Internet.

Linux. Sécuriser un réseau. 3 e édition. l Admin. Cahiers. Bernard Boutherin Benoit Delaunay. Collection dirigée par Nat Makarévitch

R eseaux TP RES /2015

Communication par sockets

TCP/IP, NAT/PAT et Firewall

Le protocole ARP (Address Resolution Protocol) Résolution d adresses et autoconfiguration. Les protocoles ARP, RARP, TFTP, BOOTP, DHCP

Oléane VPN : Les nouvelles fonctions de gestion de réseaux. Orange Business Services

Mr. B. Benaissa. Centre universitaire Nâama LOGO

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

Serveur de messagerie sous Debian 5.0

FILTRAGE de PAQUETS NetFilter

NetCrunch 6. Superviser

Sécurité et Firewall

Programmation Internet Cours 4

Plan global. Programmation système II. Socket du domaine UNIX. Plan. Socket UNIX, Terminaux, Async IO, Mémoire, ELF.

Protocoles IP (2/2) M. Berthet. Les illustrations sont tirées de l ouvrage de Guy Pujolle, Cours réseaux et Télécom Contributions : S Lohier

LES RESEAUX INFORMATIQUES

Algorithmique et langages du Web

Administration Système

U.E. ARES - TD+TME n 1

Communication sous UNIX les sockets

Partie II PRATIQUE DES CPL

CAS IT-Interceptor. Formation «Certificate of Advanced Studies»

LINUX REDHAT, SERVICES RÉSEAUX/INTERNET

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

Devoir Surveillé de Sécurité des Réseaux

Internet - Outils. Nicolas Delestre. À partir des cours Outils réseaux de Paul Tavernier et Nicolas Prunier

TP réseaux Translation d adresse, firewalls, zonage

Cours des réseaux Informatiques ( )

SSH, le shell sécurisé

TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname

Notions de Réseaux TCP/IP et environnements Microsoft Windows. Michel Cabaré Novembre 2002 ver 2.0

Transcription:

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 utlisés Provient du réseau Arpanet de la Défense Américaine des années 70 Internet = des millions de réseaux utilisant des architectures différentes, interconnectés par des noeuds d interconnexion (routeurs).

Fonctionnement de l Internet Architecture 7 Application Application: 6 Présentation 5 Session SSH, HTTP, Telnet, DNS,... 4 Transport Transport: TCP, UDP 3 Réseau 2 Liaison 1 Physique Modèle OSI Inter réseau: IP Accès au réseau: Ethernet, TokenRing, FDDI, PPP,... Architecture TCP/IP

Fonctionnement de l Internet Adresses Chaque interface (d accès au réseau) possède une adresse physique inscrite sur la carte (adr MAC 48bits pour carte Ethernet, unique au monde). Au niveau IP(v4) : adresses de 32 bits = 4 1 octet représenté en décimal pointé. Ex : 192.52.237.36 future version IPv6 : adresses sur 128bits cmd ifconfig pour voir les adresses des interfaces

Fonctionnement de l Internet Exemple sous Linux eth0 Link encap:ethernet HWaddr 00:0D:56:01:13:C9 inet addr:193.52.237.96 Bcast:193.52.237.255 Mask:255.255.255.0 inet6 addr: 2001:1111::20d:56ff:fe01:13c9/64 Scope:Global inet6 addr: fe80::20d:56ff:fe01:13c9/64 Scope:Link lo sit0 Link encap:local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host Link encap:ipv6-in-ipv4 NOARP MTU:1480 Metric:1

Fonctionnement de l Internet Classes d adresses Chaque adresse = prefixe réseau + id machine Classe A Classe B Classe C 8 24 0 préf id_machine 10 préf 16 16 id_machine 24 8 110 préfixe_réseau id_mach Classe E 1110 adresse de groupe

Fonctionnement de l Internet Classes d adresses Ex : 192.52.237.36 est une adr de classe C, pref res=192.52.237, id machine=36 192.52.237.0 = adr du réseau 192.52.237.1... 254 = adr possibles pour les machines 192.52.237.255 adr de diffusion (broadcast) sur le réseau La partie id machine peut encore être découpée par l administrateur du site en id sous-réseau+ id machine C est le masque de (sous)réseau qui indique jusqu où va la partie préfixe réseau/sous-réseau

Fonctionnement de l Internet IP et le routage Le protocole IP (Internet Protocol) s occupe du routage des paquets (chemin qui va être emprunté de la source à la déstination). Pas de contrôle d erreur ni perte de paquet => service minimum. Format des paquets IPv4 :

Fonctionnement de l Internet IP et le routage Chaque paquet est routé indépendament des autres (commutation de paquets). Chaque routeur possède une table de routage et en fonction de l adr dst, il choisit l entrée qui correspond le mieux et réémet le paquet sur l interface en sortie correspondante. La table est mise à jour par des protocoles distribués. Commandes : route ou ip pour voir la table de routage ping adrip ou nom pour tester l accesibilité d une station traceroute adrip ou nom pour voir le chemin jusqu a la destination

Fonctionnement de l Internet Protocoles de transport : TCP et UDP Au niveau transport, l en-tête des paquets contient des champs numéro de port source et destination qui servent à indiquer à quelle application est destinée le paquet. Les numéros < 1024 sont affectés à des applicationss standard. Ex : HTTP=80, SSH=22,... (voir le ficher /etc/services) UDP (User Datagramm Protocol) : service de transport non fiable en mode non connecté = service mini IP + numéro de port

Fonctionnement de l Internet TCP TCP (Transmission Control Protocol) : service de transport fiable en mode connecté (sur IP non fiable, sans connexion) => établissement, maintien et fermeture d une connexion virtuelle acquitements, séquencement et réassemblage des données contrôle de flux par fenêtre glissante

Protocoles applicatifs Protocoles applicatifs La plupart fonctionne sur le mode client/serveur : client et serveurs sont deux processus situés le plus souvent sur des machines différentes. Le serveur tourne en parmanence (en arrière plan : on parle de démon en Unix). Le client envoie une ou plusieurs requêtes au serveur qui répond par une ou plusieurs reponses. Client2 Client1 requete réponse Serveur

Protocoles applicatifs Protocoles de gestion NIS (Net Info Service, Yellow Pages) : admin centralisée des principales BD d admin du système : /etc/passwd, group, hosts, network... NFS (Net File system) : permet le montage de disques éloignés. Le client utilise la cmd mount -t nfs DNS (Domain Name Service) : permet de faire la correspondance entre nom de domaine et adrip. BD distribuée au niveau mondial contient outes les correspondances. SMTP : service d envoi des mails POP, IMAP : consultation de boites aux lettres distantes SNMP : administration du réseau à distance

Protocoles applicatifs Protocoles d accès à distance Les commandes à distance : ajout d un r devant la commande usuelle rsh exécution d une commande sur machine distante rlogin connexion à machine distante rcp copie sur.. TELNET (Terminal Emulation Network) : lancement d un terminal (fenêtre shell) sur machine distante (remplace rlogin) cmd telnet nommachine ou adrip

Protocoles applicatifs Protocoles d accès à distance SSH (Secure SHell) : version sécurisée de telnet utilisant le mécanisme RSA ssh user@host command : ouverture de la session sur host et exec de la cmd apres identification FTP (File Transfert Protocol) : transfert de fichiers vers et depuis une machine distante ftp host get file put file2 sftp= version sécurisée utilisant ssh scp= version sécurisée de rcp HTTP (HyperText Transfert Protocol) : protocole de tranfert de documents hypertextes

Programmation réseau Les sockets Socket = API permettant l accès aux fonction de la couche transport. Apparues en 82 sur BSD4.1c, l équivalent system V se nomme les TLI (Transport Layer Interface). Ecrites en C toutes les deux. Nous allons voir les sockets de BSD4.3 utilisées par les appli majeures (named, dhcpd, sendmail, httpd,...).

Programmation réseau Les sockets Socket = prise = extrémité d un canal de communication. Ce point est représenté par une variable entière (descripteur) similaire à un descripteur de fichier. Généralisation du mécanisme d E/S d Unix : même type de mécanisme, mais spécificités dues aux caractéristiques un peu spéciales des E/S réseau : - non symetrie de relation cli/serv - connexion de type connecté ou non, définie par quintuplet : (proto, adr locale, process local, adr éloignée, process éloigné) - l interface doit permettre d accéder à différents protos (TCP, UDP, XNS,...pas spécifique à TCP/IP)

Programmation réseau Création et fermeture d une socket Création d une socket : int sd=socket(int domain, int type, int proto) domaine= AF UNIX (domaine local), AF INET (IPv4, AF INET6 (IPv6),... type= SOCKSTREAM, SOCKDGRAM, SOCKRAW,... proto= IPPROTO UDP, IPPROTO TCP,... mais souvent mis à 0 car couple domaine/type fixe le proto : AF INET + SOCKSTREAM = TCP AF INET + SOCKDGRAM = UDP AF INET + SOCKRAW = IP Fermeture : close(sd)

Programmation réseau Association d un port et d une adresse IP à la socket int bind(int sd, struct sockaddr *monaddr,socklen\_t tailleaddr) struct sockaddr_un { short sun_family; // AF_UNIX char sun_path[128]; // chemin d accès du fichier } struct sockaddr_in { short sin_family; // AF_INET unsigned short sin_port; // num port struct in_addr sin-addr; // IP 32 bits char sin_zero[8]; // inutilisé } struct in-addr { unsigned long s_addr; // 32 bits }

Programmation réseau Connexion et envoi des données int connect(int sd, struct sockaddr *serveuraddr,socklen t tailleaddr) fait par client pour mode connecté Envoi de données : primitives write, send, sendto, sendmsg sendto et sendmsg réclament l adr dst à chaque envoi Réception : read, readv, recv, recvfrom, recvmsg File d attente : int listen(int sf, int taillefile) Met en file d attente les demandes de connexion provenant des clients

Programmation réseau Accepter un connexion Quand le serveur invoque accept, il se met en attente bloquante d une connexion. int accept (int sd, struct sockaddr *serveuraddr,socklen t tailleaddr) retourne le descr d une nouvelle sock utilisée pour dialoguer avec client et remplit la struct avec addr du client.

Programmation réseau Mode connecté sd=socket() sd=socket() bind(sd) listen(sd) sd2=accept(sd) read(sd2) write(sd2) close(sd2) connect(sd) write(sd) read(sd) close(sd) SERVEUR CLIENT

Programmation réseau Mode non connecté sd=socket() bind(sd) recvfrom(sd) sendto(sd) close(sd) sd=socket() bind(sd) sendto(sd) recvfrom(sd) close(sd) SERVEUR CLIENT

Programmation réseau Serveur récursif Pour pouvoir traiter plusieurs clients en même temps : duplication de processus (fork()) ou processus légers (threads) Primitives de lectures/écriture sont bloquantes par défaut (on peut les rendre non bloquantes à l aide de la primitive fcntl()). Donc si le prg attend des données sur un descripteur, il ne peut rien faire d autre pendant ce temps. Primitives de scrutation de descripteurs de fichier : select (BSD) et poll(systemv)

Programmation réseau Scrutation de descripteurs Select permet de surveiller un ensemble de descripteurs Si aucun actif, process endormi, pas de ressources CPU utilisées, dès qu un descr devient actif, le noyau reveille le process et select se termine avec infos sur le descr qui a provoqué le reveil. On doit : 1) remplir une struct fd set avec les descr a surveiller, 2) appel au select 3) tester chacun des descripteurs poll() propose les memes fonctionnalités, mais avec une approche légèrement différente : on rempli un tab de struct pollfd, puis appel a poll sur le tab, puis on regarde si données dispo sur chaque descr