Le multicast. Adresses multicast

Documents pareils
Chapitre 11 : Le Multicast sur IP

Le service IPv4 multicast pour les sites RAP

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

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

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Programmation système de commandes en C

Le Multicast. A Guyancourt le

Travaux Pratiques Introduction aux réseaux IP

Outils et applications multicast

Multicast. protocoles de routage. Bernard Rapacchi Bernard Tuy CNRS/UREC

Les Virtual LAN. F. Nolot. Master 1 STIC-Informatique 1

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

Le protocole VTP. F. Nolot 2007

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

Communication par sockets

3IS - Système d'exploitation linux - Programmation système

Arguments d un programme

Multicast & IGMP Snooping

Lier Erlang avec d autres langages de programmation

Cisco Certified Network Associate Version 4

INFO-F-404 : Techniques avancées de systèmes d exploitation

DIFF AVANCÉE. Samy.

Plan. Programmation Internet Cours 3. Organismes de standardisation

Réseaux grande distance

Le prototype de la fonction main()

Configuration réseau Basique

OS Réseaux et Programmation Système - C5

Installation et configuration d un serveur DHCP (Windows server 2008 R2)

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

Introduction aux Technologies de l Internet

Le système de gestion des fichiers, les entrées/sorties.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Introduction au langage C

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

Archivage Messagerie Evolution pour usage HTML en utilisant Hypermail

Communication sous UNIX les sockets

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

VLAN Virtual LAN. Introduction. II) Le VLAN. 2.1) Les VLAN de niveau 1 (Port-based VLAN)

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

Internet Group Management Protocol (IGMP) Multicast Listener Discovery ( MLD ) RFC 2710 (MLD version 1) RFC 3810 (MLD version 2)

Cours de C. Petits secrets du C & programmation avancée. Sébastien Paumier

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

1 DHCP sur Windows 2008 Server Introduction Installation du composant DHCP Autorisation d'un serveur DHCP...

ASR4 Réseaux Département Informatique, IUT Bordeaux 1. DHCP Prénom : Nom : Groupe :

Votre Réseau est-il prêt?

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

Mise en place d'un Réseau Privé Virtuel

LEs processus coopèrent souvent pour traiter un même problème. Ces

Cours 6 : Tubes anonymes et nommés

Les Virtual LAN. F. Nolot 2008

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

La couche réseau Le protocole X.25

Chapitre 1 Le routage statique

Exercice sur les Dockers

Réseaux TP4 Voix sur IP et Qualité de service. Partie 1. Mise en place du réseau et vérification de la connectivité

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Programmation système I Les entrées/sorties

Cours Programmation Système

Date : 08/02/12 SISR1 tp.topologie.reseau.wan Durée : 2 h

Configuration des routes statiques, routes flottantes et leur distribution.

Serveur DHCP et Relais DHCP (sous Linux)

Bilan UREC et résultat de quelques tests

Installer une caméra de surveillance

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

Commutateur sûr, efficace et intelligent pour petites entreprises

Introduction. Adresses

Cisco Certified Network Associate

TP réseau Les réseaux virtuels (VLAN) Le but de se TP est de segmenter le réseau d'une petite entreprise dont le câblage est figé à l'aide de VLAN.

Gestion de la mémoire

Les structures. Chapitre 3

Cours des réseaux Informatiques ( )

Guide de configuration de la Voix sur IP

Réseaux IUP2 / 2005 IPv6

Les processus. Système L3, /39

Couche Transport TCP et UDP

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

LES RESEAUX VIRTUELS VLAN

Présentation du ResEl

DNS Server RPC Interface buffer overflow. Céline COLLUMEAU Nicolas BODIN

1. Présentation du TP

Cisco Discovery - DRSEnt Module 7

STI 26 Édition 1 / Mai 2002

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Mise en place d un cluster NLB (v1.12)

Pare-feu VPN sans fil N Cisco RV120W

Programmation système en C/C++

Cours de C. Allocation dynamique. Sébastien Paumier

ADSL. Étude d une LiveBox. 1. Environnement de la LiveBox TMRIM 2 EME TRIMESTRE LP CHATEAU BLANC CHALETTE/LOING NIVEAU :

Introduction de la Voix sur IP

Cours n 12. Technologies WAN 2nd partie

Présentation du projet national

NOTIONS DE RESEAUX INFORMATIQUES

Chapitre 1: Introduction générale

Stéphanie Lacerte. Document technique. Connextek. 31 mai Cloudtel

Algorithmique et langages du Web

DSCG : UE5 - Management des Systèmes d'information CARTE HEURISTIQUE...1 ARCHITECTURE PHYSIQUE...2

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Transcription:

Le multicast Le multicast permet d atteindre un groupe d usagers en même temps: Participants à une conférences audio et vidéo Classe virtuelle Utilise les adresses mutipoint Une source émet un seul paquet à tous Économie de bande passante. Multicast 1 Adresses multicast Une adresse (de groupe) représente plusieurs utilisateurs. Permet de pallier aux gains de capacité requise pour le multimédia. (9 paquets) E R1 Unicast R2 R3 R4 E R1 Multicast R2 R3 R4 (4 paquets) Multicast 2

Le réseau Mbone Réseau virtuel de LAN et des tunnels reliant des routeurs muticast. Les tunnels reliant ces réseaux sont des liaisons unipoint. Les routeurs multicast exécutent un démon spécialisé (mrouted). Les paquets multicast sur les tunnels sont encapsulés dans des paquets unipoint. Multicast 3 Le réseau Mbone Réseau multipoint routeur multicast Tunnel Multicast 4

Adresses multicast Un groupe multicast possède une adresse de Classe D dans l'ensemble: 224.0.0.0-239.255.255.255 Les adresses 224.0.0.0-224.0.0.255 sont réservées aux informations des protocoles de routage multicast (ex. IGMP). Il n'est pas nécessaire d'être membre d'un groupe pour envoyer des datagrammes au groupe. Multicast 5 Adresses spéciales Adresses de classe A,B, C spéciales: 0.0.0.0 Cette machine (this host) 0.1.1.25 La machine 1.1.25 sur ce LAN-ci 255.255.255.255 Adresse broadcast sur le LAN 193.1.1.255 Adresse broadcast sur le réseau 193.1.1 127.x.x.x: Boucle locale Différences entre braodact et multicast: Broadcast: tout le monde sur le réseau. Multicast: tous les membres d'un groupe. Adresse broadcast: FF:FF:FF:FF:FF:FF Multicast 6

Trames en unicast Sendto Dest : 128.7.6.5 Dest. Port: 7433 Port: 7433 128.7.6.99 128.7.6.255 128.7.6.5 128.7.6.255 08:00:20:03:f6:42 02:60:8c:2f:4e:00 128.7.6 02:60:8c:2f:4e:00 128.7.6.5 7433 Dest. Dest Port Dest Multicast 7 Transfert en broadcast L'interface effectue l'association broadcast - broadcast. Sendto Dest. : 128.7.6.255 Dest. Port: 520 Port: 520 128.7.6.99 128.7.6.255 128.7.6.5 128.7.6.255 08:00:20:03:f6:42 02:60:8c:2f:4e:00 128.7.6 ff:ff:ff:ff:ff:ff 128.7.6.255 520 Dest Dest. Port Dest Multicast 8

Associations d'adresses multicast Il existe une association entre adresses multicast et adresses multicast. 23 bits Adresse de groupe classe D: e Adresse multicast Ethernet de : 01 00 5e 0 Multicast 9 Transfert multicast de trames Sendto Dest : 224.0.1.1 Dest. Port: 123 Port: 123 Join: 224.0.1.1 02:60:8c:2f:4e:00 01:00:5e:00:01:01 224.0.1.1 123 Receive: 01:00:5e:00:01:01 08:00:20:03:f6:42 128.7.6 Dest Dest Dest Port Multicast 10

ications muticast Il existe plusieurs types d'applications multicast: Vidéoconférence Distribution en masse Enseignement à distance Tableau blanc Audio: Visual Audio Tool (VAT), Network Voice Terminal (NVT) Vidéo: Network Video, INRIA Videoconferencing System (IVS) Contrôle de sessions: Session Directory (SD) Multicast 11 Programmtion du multicast Spécifier le TTL désiré (déf. 1) unsigned char ttl; setsockopt(sock,proto_,_multicast_ttl, &ttl,sizeof(ttl)); Joindre le groupe avant de recevoir: struct ip_mreq { struct in_addr imr_multiaddr; /* groupe à joindre */ struct in_addr imr_interface; /* interface à utiliser */ } struct ip_mreq mreq; setsockopt(sock, PROTO_, _ADD_MEMBERSH, &mreq,sizeof(mreq)); Multicast 12

Valeurs de TTL Le TTL est utilisé pour déterminer la distance à parcourir par les paquets pour le multicast (par défaut 1): 0: Même machine 1: Même sous-réseau 32: Même site 64: Même région 128: Même continent 255: Aucune restriction Multicast 13 Transfert de données On utilise généralement pour le transfert de données (multimédia et temps réekl) e multicast L'envoi de message avec sendto() vers l'adresse de groupe multicast. Pour a réception, le récepteur doit d'abord joindre le groupe multicast et recevoir avec la fonction rcvfrom(). Un port est utilisé pour lier une adresse à plusieurs récepteurs. Multicast 14

Exemple : un émeteur #include #include <sys/types.h> <sys/types.h> #include #include <sys/socket.h> <sys/socket.h> #include #include <netinet/in.h> <netinet/in.h> #include #include <arpa/inet.h> <arpa/inet.h> On construit une socket et on émet #include #include <time.h> <time.h> un message toutes les secondes dans une #include #include <string.h> <string.h> socket d'adresse multicast. #include #include <stdio.h> <stdio.h> #define #definehello_port 12345 12345 #define #definehello_group "225.0.0.37" "225.0.0.37" main(int main(int argc, argc, char char *argv[]) *argv[]) {{ struct struct sockaddr_in sockaddr_in addr; addr; int int fd, fd, cnt; cnt; struct struct ip_mreq ip_mreq mreq; mreq; char char *message="hello, *message="hello, World!"; World!"; if if ((fd=socket(af_inet,sock_dgram,0)) < 0) 0) exit(1); exit(1); memset(&addr,0,sizeof(addr)); addr.sin_family=af_inet; Multicast 15 Exemple : un émeteur addr.sin_addr.s_addr=inet_addr(hello_group); addr.sin_port=htons(hello_port); while while (1) (1){ { if if (sendto(fd,message,sizeof(message),0, (struct (struct sockaddr sockaddr *) *)&addr, sizeof(addr)) sizeof(addr)) < 0) 0) exit(1); exit(1); sleep(1); sleep(1); }} }} Multicast 16

Exemple : un récepteur #include #include <sys/types.h> <sys/types.h> #include #include <sys/socket.h> <sys/socket.h> #include #include <netinet/in.h> <netinet/in.h> #include #include <arpa/inet.h> <arpa/inet.h> #include #include <time.h> <time.h> #include #include <string.h> <string.h> #include #include <stdio.h> <stdio.h> #define #definehello_port 12345 12345 #define #definehello_group "225.0.0.37" "225.0.0.37" #define #definemsgbufsize 256 256 main(int main(int argc, argc, char char *argv[]) *argv[]) {{ struct struct sockaddr_in sockaddr_in addr; addr; int int fd, fd, nbytes,addrlen; nbytes,addrlen; struct struct ip_mreq ip_mreq mreq; mreq; char char msgbuf[msgbufsize]; if if ((fd=socket(af_inet, ((fd=socket(af_inet, SOCK_DGRAM,0)) SOCK_DGRAM,0)) < 0) 0) exit(1); exit(1); Multicast 17 Exemple : un récepteur memset(&addr,0,sizeof(addr)); addr.sin_family=af_inet; addr.sin_addr.s_addr=htonl(inaddr_any); addr.sin_port=htons(hello_port); if if (bind(fd,(struct (bind(fd,(struct sockaddr sockaddr *) *)&addr, sizeof(addr)) sizeof(addr)) < 0) 0) exit(1); exit(1); mreq.imr_multiaddr.s_addr=inet_addr(hello_group); mreq.imr_interface.s_addr=htonl(inaddr_any); if if (setsockopt(fd,proto_, _ADD_MEMBERSH, &mreq, &mreq, sizeof(mreq)) sizeof(mreq)) < 0) 0) exit(1); exit(1); while while (1) (1){ { addrlen=sizeof(addr); addrlen=sizeof(addr); if if ((nbytes=recvfrom(fd,msgbuf,msgbufsize,0, (struct (struct sockaddr sockaddr *) *)&addr,&addrlen)) < 0) 0) exit(1); exit(1); puts(message); puts(message); }} }} Multicast 18