Support de Cours n°1 Introduction Sécurité Multicast

Transcription

Support de Cours n°1 Introduction Sécurité Multicast
Internet Nouvelle Génération
Module de M1 de la Spécialité Réseaux
(Mention Informatique)
2e semestre 2009 - 2010
Université Pierre et Marie Curie
Support de Cours n°1
Introduction
Sécurité
Multicast
Bénédicte LE GRAND
Prométhée SPATHIS
Organisation du module

Internet Nouvelle Génération

20 h de cours
40 h de TDs et TMEs



7 séances de TDs
3 séances de TMEs
Intervenants

Bénédicte Le Grand

Bénédicte Le Grand
Université Pierre et Marie Curie
Laboratoire CNRS-LIP6

Université Pierre et Marie Curie, laboratoire LIP6
Prométhée Spathis

Université Pierre et Marie Curie, laboratoire LIP6
[email protected]
1
2
Contrôle des connaissances

Lecture d’articles
Examen réparti


40 % et 60 %

Analyse critique d’articles

Conférence renommée

http://conferences.sigcomm.org/sigcomm/2008/program.php
Présentation orale avec transparents





Contexte et problématique
Solution
Commentaire
Travail individuel ou en binôme (recommandé)
10 minutes par personne
3
4
Procédure pour le choix d’article

http://conferences.sigcomm.org/sigcomm/2009/program.php

Choisir 3

Envoyer un mail à [email protected] avec






5
papiers (Attention : papier ≠ session)
Nom (s)
Groupe de TD (lundi après-midi, mercredi matin ou mercredi
après-midi)
1er choix de papier (papier préféré)
2e choix de papier
3e choix de papier
ATTENDRE LE MAIL DE CONFIRMATION SINON
RELANCER
6
1
Prérequis

Objectifs du module
Module ARES



Menaces de sécurité

Nouveaux besoins applicatifs

Évolutions et mécanismes d’adaptation


Intra-domaine
TCP


Adressage, masques, subdivision de réseau…
Routage
g

Croissance de l’Internet

IPv4




Contrôle de congestion


Applications



Introduction
Sécurité
I t d ti
Introduction
Fonctionnalités avancées de TCP
Ingénierie de trafic
Multicast
IPv6
Routage
Outils de simulation
7
8
Plan du module
Programme ING février 2010
Programme des TD/TME
Programme du cours








Introduction - contexte
Sécurité (TD)
Multicast (TD)
Architectures de Qualité de service ((TD et
TME)
Contrôle de trafic (TME)
Extensions de TCP (TME)
Routage BGP (TD)
IPv6 (TD+TME)
1
08/02
Introduction
2
15/02
Sécurité
3
22/02
Fin sécurité - Multicast
1
15/02
TD révisions
2
22/02
TD sécurité
3
01/03
TD Multicast
4
01/03
Fin Multicast
5
08/03
BGP
4
08/03
TDBGP
6
15/03
Préparation TME1
5
15/03
TME 1 - NS
7
29/03
Préparation TME2 + QoS
6
29/03
TD QoS
05/04
FERIE
7
05/04
TME2 – NS (sauf le lundi)
8
12/04
Fin QoS + IPv6
8
12/04
TD IPv6
9
03/05
Fin IPv6
9
03/05
TME IPv6
10
10/05
Révisions
10
10/05
Séance présentations orales
17/05
Récupération TME 2
10
9
Groupes de TD

Références
Mercredi de 13h30 à 18h


Bénédicte Le Grand (+ Pascal Anelli et Guillaume Valadon)
Bâtiment 41 salle 320

Livres


Jeudi de 8h30 à 12h45



Prométhée Spathis (+ Pascal Anelli et Guillaume Valadon)
Bâtiment 41 salle 320

Vendredi de 13h30 à 18h


Hicham Khalife (+ Pascal Anelli et Guillaume Valadon)
Bâtiment 41 salle 313

11
Kurose, J. F. et Ross, K. W. (2002). Ed. : Addison Wesley,
Second Edition. Computer Networking – A Top-Down
A
Approach
hF
Featuring
t i the
th Internet
I t
t
Tanenbaum, A. (1997). Ed. : InterEditions, 3e édition.
Réseaux: Architectures, Protocoles, Applications
Pujolle, G : Les Réseaux, Ed. Eyrolles
12
2
Plan du cours
Internet : contexte actuel

Historique

Croissance
Architecture et gouvernance
Principes fondateurs
Services et applications



13
Les débuts de l’Internet…

Cahier des charges initial
« Etat des lieux » (~1965)



14

Environnement hétérogène
Machines capables de communiquer
Pas de connectivité globale




Pourquoi interconnecter ?


Gestion de terminaux
Messagerie
Transfert de fichiers
Structures de réseaux trop disparates


Applications
Contraintes

Communication
Ressources distantes

Sauvegarder l'existant
Extensibilité


interconnecter les réseaux à venir
Diffusion gratuite et large
15
« Esprit » TCP/IP

16
Principes, « Philosophie » de l’Internet
Inter – net : Interconnexion de réseaux

Protocoles hétérogènes


Architecture opérationnelle



Standard de fait

Adressage hétérogène


17
Virtualisation du réseau
Protocole fédérateur
Conversion au niveau réseau
Adressage universel
Procédures de conversion
18
3
Différents types de commutation
Histoire de l'Internet
1961-1972 : premiers principes de la commutation de paquets




1961 : Kleinrock – (théorie
des files d'attente : efficacité
prouvée de la commutation
de paquets)
1964 : Baran – commutation
de paquets dans les réseaux
militaires
1967 : ARPAnet conçu par
l'Advanced Research Projects
Agency(DoD)
1969 : premier noeud
ARPAnet opérationnel

1972 :
 Démonstration publique
d'ARPAnet
 NCP (Network Control
Protocol) premier protocole
hôte-hôte
 Premier programme e-mail
 ARPAnet contient 15
noeuds
19
20
Histoire de l'Internet
Histoire de l'Internet
1961-1972 : premiers principes de la commutation de paquets




1961 : Kleinrock – (théorie
des files d'attente : efficacité
prouvée de la commutation
de paquets)
1964 : Baran – commutation
de paquets dans les réseaux
militaires
1967 : ARPAnet conçu par
l'Advanced Research Projects
Agency(DoD)
1969 : premier noeud
ARPAnet opérationnel

1972-1980 : Interconnexion, réseaux nouveaux et propriétaires
1972 :
 Démonstration publique
d'ARPAnet
 NCP (Network Control
Protocol)
otoco ) p
premier
e e p
protocole
otoco e
hôte-hôte
 Premier programme e-mail
 ARPAnet contient 15
noeuds







1970: réseau de satellites
ALOHAnet à Hawaii
1972 : Début des spécifications
de TCP/IP
1973 : la thèse de Metcalfe’s
propose Ethernet
1974 : Cerf and Kahn architecture pour
l'interconnexion de réseaux
Fin des 70’s : architectures
propriétaires : DECnet, SNA,
XNA
Fin des 70’s : paquets
commutés de longueur fixe
(précurseur d'ATM)
1979 : ARPAnet contient 200
noeuds
Principes d'interconnexion de
Cerf and Kahn’s :
 minimalisme, autonomie –
pas de changements
internes requis pour
interconnecter des réseaux
 Modèle de service "au
mieux" (best effort)
 Routeurs sans état
 Contrôle décentralisé
Définition de l'architecture
actuelle de l'Internet
21
22
Histoire de l'Internet
Histoire de l'Internet
1980-1990 : nouveaux protocoles, prolifération de réseaux





1980 : Unix BSD 4.1 inclut TCP/IP
1982 : définition du protocole d'e-mail
SMTP
1983 : déploiement de TCP/IP
1983 : ARPANET bascule sous TCP/IP
1983 : ARPANET se sépare en 2 réseaux









1990, 2000’s : commercialisation, Web, nouvelles applications
Nouveaux réseaux nationaux :
Csnet, BITnet, NSFnet, Minitel
100 000 hôtes connectés à
une confédération de réseaux


ARPANET pour la recherche
MILNET pour les communications militaires
1983 : DNS défini pour la traduction
nom/adresse-IP
1985 : la NSF (National Science
Foundation) déploie un réseau fédérateur
grande distance, NFSNET, relié à
ARPANET
1985 : définition du protocole FTP
1988 : contrôle de congestion de TCP
1989 : Naissance du World-Wide Web au
CERN

Début des 90’s : ARPAnet
décommissionné
1991 : NSF lève les restrictions sur
l'utilisation commerciale de NSFnet
(décommissioné, 1995)
Début des 90s : Web
 Hypertexte
 HTML, HTTP : Berners-Lee
 1994 : Mosaic, plus tard Netscape




23
Activité commerciale
1993 : Gestion de la pénurie d'adresses
1994 : Décision IPv6
1996 : Premier déploiement du 6-BONE
Fin des 90’s – 2000’s:

Plus de "killer" applications :
messagerie instantanée,
partage de fichiers par P2P (ex
Napster)

Sécurité des réseaux au
premier plan

Estimation de 50 millions
d'hôtes, plus de 100 millions
d'utilisateurs

Les liens backbone
fonctionnent à plusieurs Gbps
24
4
Plan du cours
Internet aujourd'hui

Historique

Croissance

Architecture et gouvernance
Principes fondateurs
Services et applications


25
WORLD INTERNET USAGE
AND POPULATION STATISTICS
World Regions
Population
( 2006 Est.)
Population
% of World
915,210,928
Africa
Asia
Europe
14.1 %
Internet
Usage,
Latest Data
%
Population
( Penetration )
2.5 %
22,737,500
TOP 20 COUNTRIES WITH HIGHEST NUMBER OF INTERNET USERS
#
Usage
% of
World
2.2 %
56 4 %
56.4
364 270 713
364,270,713
99%
9.9
35 7 %
35.7
218 7 %
218.7
807,289,020
12.4 %
290,121,957
35.9 %
28.5 %
176.1 %
190,084,161
2.9 %
18,203,500
9.6 %
1.8 %
454.2 %
North America
331,473,276
5.1 %
225,801,428
68.1 %
22.2 %
108.9 %
Oceania / Australia
WORLD TOTAL
553,908,632
8.5 %
33,956,977
0.5 %
6,499,697,060
100.0 %
14.3 %
79,033,597
52.9 %
17,690,762
15.7 %
1,018,057,389
7.8 %
1.8 %
100.0 %
337.4 %
132.2 %
27
182.0 %
Country or Region
Penetration
(% Population)
Internet Users
Latest Data
Population
( 2006 Est. )
Malta
78.1 %
301,000
385,308
ITU - Sept/05
New Zealand
76.3 %
3,200,000
4,195,729
ITU - Sept/05
3
Iceland
75.9 %
225,600
297,072
ITU - Sept/05
4
Sweden
74.9 %
6,800,000
9,076,757
ITU - Oct/05
5
Denmark
69.4 %
3,762,500
5,425,373
6
Hong Kong
69.2 %
4,878,713
7,054,867
Source and Date
of Latest Data
68.1 %
% Users
of World
2
China
111,000,000
1,306,724,067
3
Japan
86,300,000
128,389,000
4
India
50,600,000
1,112,225,812
4.5 %
C.I.Almanac Mar/05
5
Germany
48,722,055
82,515,988
59.0 %
C.I.Almanac Mar./05
4.8 %
6
United Kingdom
37,800,000
60,139,274
62.9 %
ITU Oct/05
3.7 %
7
Korea (South)
33,900,000
50,633,265
67.0 %
eTForecast Dec/05
3.3 %
8
Italy
28,870,000
59,115,261
48.8 %
ITU Sept./05
9
France
26,214,174
61,004,840
43.0 %
Nielsen//NR Dec/05
2.6 %
10
Brazil
25,900,000
184,284,898
14.1 %
eTForcasts Dec/05
2.5 %
11
Russia
23,700,000
143,682,757
16.5 %
eTForcasts Dec/05
2.3 %
12
Canada
21,900,000
32,251,238
67.9 %
eTForcasts Dec/05
13
Indonesia
18,000,000
221,900,701
8.1 %
eTForcasts Dec/05
1.8 %
14
Spain
17,142,198
44,351,186
38.7 %
Nielsen//NR Dec/05
1.7 %
15
Mexico
16,995,400
105,149,952
AMIPCI Nov/05
1.7 %
16
Australia
14,189,544
20,750,052
68.4 %
Nielsen//NR Dec/05
1.4 %
17
Taiwan
13,800,000
22,896,488
60.3 %
C.I.Almanac Mar/05
18
Netherlands
10,806,328
16,386,216
65.9 %
Nielsen//NR June/04
1.1 %
19
Poland
10,600,000
38,115,814
27.8 %
C-I-A Mar./05
1.0 %
Nielsen//NR Dec/05
20.0 %
8.5 %
CNNIC Dec/05
10.9 %
67.2 %
eTForecasts Dec/05
8.5 %
20
Turkey
16.2 %
5.0 %
2.8 %
2.2 %
1.4 %
10,220,000
74,709,412
13.7 %
ITU Sept./05
1.0 %
TOP 20 Countries
810,484,127
4,064,319,458
19.9 %
IWS - Dec.31/05
79.6 %
Rest of the World
207,573,262
2,435,377,602
8.5 %
IWS - Dec.31/05
20.4 %
1,018,057,389
6,499,697,060
15.7 %
IWS - Dec.31/05
Total World – Users
28
100.0 %
TOP 20 COUNTRIES WITH THE HIGHEST NUMBER OF
INTERNET DSL BROADBAND SUBSCRIBERS - 2004 Q4
#
1
Internet
Penetration
299,093,237
Source and Date
of Latest Data
2
Population
( 2006 Est. )
203,824,428
TOP 20 COUNTRIES WITH THE HIGHEST INTERNET PENETRATION RATE
#
Internet Users,
Latest Data
United States
403.7 %
3 667 774 066
3,667,774,066
Country or Region
1
Usage
Growth
20002005
Middle East
Latin America/Caribbean
26
Country or Region
DSL Broadband
Subscribers
Internet Users
Latest Data
Population
( 2005 Est. )
Source and Date
of Usage Data
1
United States
33,900,000
199,861,345
293,271,500
2
China
25,800,000
94,000,000
1,288,307,100
CNNIC - June/04
3
Japan
12,739,564
66,586,234
127,853,600
Nielsen//NR Nov./04
Nielsen//NR Feb./05
4
Korea, (South)
11,900,000
30,670,000
49,131,700
KRNIC - June/04
ITU - Sept/05
5
Germany
5,950,000
46,455,814
82,633,200
Nielsen//NR Oct./04
Nielsen//NR Feb./05
6
France
5,253,000
24,803,250
60,011,200
Nielsen//NR Oct./04
C.I.Almanac - Dec/03
Australia
68.4 %
14,189,544
20,750,052
Nielsen//NR Dec/05
7
Italy
3,680,000
28,610,000
57,987,100
8
United States
68.1 %
203,824,428
299,093,237
Nielsen//NR Dec/05
8
United Kingdom
3,335,000
34,874,469
59,595,900
9
Canada
67.9 %
21,900,000
32,251,238
eTForecasts Dec/05
9
Taiwan
2,900,000
11,602,523
22,689,300
Nielsen//NR June/01
10
Canada
2,568,351
20,450,000
31,846,900
C.I.Almanac - Dec/03
11
Spain
2,227,805
14,095,951
41,895,600
Nielsen//NR Oct./04
12
Brazil
1,633,700
18,660,650
179,383,500
Nielsen//NR Oct./04
13
Netherlands
1,552,000
10,806,328
16,254,900
Nielsen//NR Oct./04
7
10
Norway
67.8 %
3,140,000
4,632,911
C.I.Almanac Mar/05
11
Singapore
67.2 %
2,421,800
3,601,745
ITU - Oct/05
12
Japan
67.2 %
86,300,000
128,389,000
eTForecasts Dec/05
13
Korea, (South)
67.0 %
33,900,000
50,633,265
eTForecasts Dec/05
14
Greenland
66.5 %
38,000
57,185
ITU - Oct/05
15
Switzerland
66.0 %
4,944,438
7,488,533
Nielsen//NR Dec/05
16
Netherlands
65.9 %
10,806,328
16,386,216
Nielsen//NR Jun/04
17
United Kingdom
62.9 %
37,800,000
60,139,274
18
Finland
62.5 %
3,286,000
5,260,970
ITU - Oct/05
29
ITU - Sept/05
Nielsen//NR Oct./04
14
Belgium
983,000
3,769,123
10,402,200
Nielsen//NR Apr./02
15
Australia
910,000
13,410,833
20,275,700
Nielsen//NR Oct./04
16
Hong Kong
774,000
4,878,713
6,727,900
Nielsen//NR Oct./04
17
Sweden
751,000
6,722,564
9,010,700
Nielsen//NR Oct./04
18
Switzerland
717,000
4,585,364
7,433,000
Nielsen//NR Oct./04
19
Israel
600,000
2,000,000
6,867,200
ITU - Apr./02
20
Denmark
DSL - TOP 20 Countries
Rest of the World
Total World - DSL Users
594,000
3,375,850
5,397,600
Nielsen//NR June/02
80,179,987
640,219,011
2,676,975,800
IWS - Jan.20/05
5,120,013
179,712,581
3,713,171,687
IWS - Jan.20/05
85,300,000
819,931,592
6,390,147,487
IWS - Jan.20/05
30
5
Connectivité
Revenus générés par l'Internet
31
Répartition
32
Europe
33
34
T
o
p
o
l
o
g
i
e
http://www.caida.org/tools/measurement/skitter/visualizations.xml
35
36
6
Index de trafic
Commerce électronique
http://www.internettrafficreport.com/main.htm
37
38
DATE
% WORLD
POPULATION
NUMBER OF USERS
INFORMATION
SOURCE
History and Growth of the Internet
Nombre d'hôtes
December, 1995
16 millions
0.4 %
IDC
December, 1996
36 millions
0.9 %
IDC
December, 1997
70 millions
1.7 %
December, 1998
147 millions
3.6 %
C.I. Almanac
December, 1999
248 millions
4.1 %
Nua Ltd.
March, 2000
304 millions
5.0 %
Nua Ltd.
July, 2000
359 millions
5.9 %
Nua Ltd.
December, 2000
451 millions
7.4 %
Nua Ltd.
March, 2001
458 millions
7.6 %
Nua Ltd.
June, 2001
479 millions
7.9 %
Nua Ltd.
August, 2001
513 millions
8.6 %
Nua Ltd.
April, 2002
558 millions
8.6 %
Internet World Stats
July, 2002
569 millions
9.1 %
Internet World Stats
September, 2002
587 millions
9.4 %
Internet World Stats
March, 2003
608 millions
9.7 %
Internet World Stats
September, 2003
677 millions
10.6 %
Internet World Stats
October, 2003
682 millions
10.7 %
Internet World Stats
December, 2003
719 millions
11.1 %
Internet World Stats
February, 2004
745 millions
11.5 %
Internet World Stats
May, 2004
757 millions
11.7 %
Internet World Stats
October, 2004
812 millions
12.7 %
Internet World Stats
December, 2004
817 millions
12.7 %
Internet World Stats
March, 2005
888 millions
13.9 %
Internet World Stats
June, 2005
39
IDC
14.6 %
Internet World Stats
September, 2005
957 millions
14.9 %
Internet World Stats
November, 2005
972 millions
15.2 %
Internet World Stats
December, 2005
1,018 millions
15.7 %
Internet World Stats
Top Ten Parent Companies in
Internet
938 millions
40
The Top Ten Brands in Internet
according to Nielsen NetRatings
according to Nielsen NetRatings
( PARENT COMPANIES OWNING MULTIPLE DOMAINS OR URLs)
#
#
Company or Parent
1
Microsoft
2
Yahoo!
Unique Audience
May 2005
Time per Person
( hh:mm:ss )
107 450 000
107,450,000
2:01:06
97,499,000
3:00:30
3
Time Warner
96,911,000
5:24:41
4
Google
77,327,000
0:41:18
5
United States Government
53,881,000
0:26:34
Company or Parent
Unique Audience
May 2005
Time per Person
( hh:mm:ss )
1
Yahoo!
96,930,000
3:00:53
2
Microsoft
90,822,000
0:42:13
3
MSN
88,631,000
1:43:21
4
Google
75,796,000
0:40:32
5
AOL
71,174,000
6:45:06
6
eBay
50,963,000
2:05:45
6
eBay
53,416,000
2:07:10
7
InterActiveCorp
40,949,000
0:22:31
7
MapQuest
36,580,000
0:12:19
8
Amazon
38,694,000
0:22:12
8
Amazon
34,294,000
0:19:49
9
RealNetworks
32,906,000
0:42:54
9
Real
32,300,000
0:41:13
10
Walt Disney Internet Group
32,332,000
41
0:33:14
10
Weather Channel
28,610,000
42
0:25:59
7
Évolution des terminaux
Problèmes de la croissance



Facteur d'échelle
Évolution permanente de la technologie
Actuellement



Pénurie
Pén
rie d'adresses (->
( > IPv6)
IP 6)
Explosion du nombre de routes (-> BGP)
Explosion du nombre de flots (-> Ingénierie de
trafic)
43
Nombreuses dimensions d’échelle
Plan du cours
Nombre d'hôtes globalement routables
Nombreuses couches liaison
Distance géographique
Nombreuses versions logicielles et technologies
matérielles
Éventail des bandes passantes
Différents besoins applicatifs (QoS, etc) (-> QoS)
Niveaux de confiance / frontières administratives
(-> Sécurité)
Prix du matériel








44

Historique
Croissance

Architecture et gouvernance

Principes fondateurs
Services et applications


45
Éléments de l'Internet

PC, serveur, etc.


Équipement terminal
Exécute des applications réseau
Système de communication


Organisation de l'Internet
Hôte


46
Ligne téléphonique, satellite, fibre
optique, Ethernet, etc.
router
server
workstation
mobile

Interconnexion de réseaux

local ISP
Paq et IP
Paquet

Unité de transfert de données dans
l'Internet

Routeur : propage les paquets vers la
destination

Protocole



regional ISP
équipement intermédiaire
Contrôle l'émission et la réception des
données
TCP, HTTP, FTP, PPP, IP…


company
network
47
Réseau : système connexe sous la tutelle d'une
autorité administrative
Internet : constellation de différents propriétaires
interconnectés
Pas d'administration centrale ou d'opérateur
unique
48
8
Structure de l'Internet


Ex d’ISP de Tier-1 : Sprint
Réseau backbone de Sprint US
Hiérarchique
Au centre: “tier-1” ISPs
couverture nationale / internationale
Les
fournisseurs
de tier-1
s'intercon-nectent
entre eux
(privé)
Tier 1 ISP
NAP
Less fournisseurs
L
f
iss
s
de tier-1 sont
aussi connectés à
des points d’accès
au réseau public
(NAPs)
Tier 1 ISP
Tier 1 ISP
49
50
Structure de l'Internet : réseau de réseaux
Tier-1
ISP

“Tier-2” ISPs : ISPs plus petits (souvent régionaux)

Connectés à un ou plusieurs tier-1 ISPs, éventuellement à d'autres
tier-2 ISPs
un Tier-2 ISP
paye un tier-1
ISP pour la
connectivité au
reste de
l'Internet
 le tier-2 ISP
est client du
provider
tier-1
Tier-2 ISP
Tier 1 ISP
NAP
Tier 1 ISP
Tier 1 ISP
Tier-2 ISP
Les Tier-2
ISP peuventt
ISPs
aussi être
connectés
entre eux et
interconnecter
un NAP
Tier-2 ISP
Tier-2 ISP
Tier-2 ISP
51
52
Structure de l'Internet : réseau de réseaux

Structure de l'Internet : réseau de réseaux
“Tier-3” ISPs et ISPs locaux


Un paquet traverse de nombreux réseaux !
Réseau du "dernier saut" (réseau d'"accès"), près des terminaux
local
ISP
Tier 3
ISP
local
ISP
local
ISP
local
ISP
local
ISP
Ti 2 ISP
Tier-2
Les ISPs
Tier 2 ISP
Tier-2
locaux et tier3 ISPs sont
Tier 1 ISP
clients des
NAP
ISPs de
niveaux
supérieurs, qui
Tier 1 ISP
Tier 1 ISP
les connectent
au reste de
Tier-2 ISP
Tier-2 ISP
l'Internet
local
local
local
ISP
ISP
ISP
Tier 3
local
local
ISP
Tier-2
Tier
2 ISP
ISP
ISP
ISP
Tier-2 ISP
Tier 1 ISP
Tier 1 ISP
Tier-2 ISP
local
Tier-2 ISP
local
local
ISP
ISP
ISP
53
local
NAP
Tier 1 ISP
Tier-2 ISP
local
Tier-2 ISP
local
ISP
ISP
54
9
Protocoles de l’Internet

Plan du cours
IETF


Historique
Croissance
Architecture et gouvernance

Principes fondateurs

Services et applications

Internet Engineering Task Force

55
Principes fondateurs
Superposition à l'existant

Général


56
Réseau numérique à commutation de paquets

Particuliers





Interface commune

IP
Bout en bout
"Libéral" quand on reçoit, "conservateur" quand on
transmet
Implémentation avant standardisation



Cacher la multitude des technologies
réseaux
IP ((Internet Protocol))
applica
tion
transp
ort
netwo
rk
data
link
physic
al
netwo
rk
data
link
physic
al
Un seul service utilisé : savoir
convoyer un paquet d'un point à l'un
de ses voisins
netwo
rk
data
link
physic
al
Plan d'adressage unique et
homogène
Introduction de passerelles (routeurs)
57
Pile de protocoles Internet

Application : supporte les applications réseau


Transport : transfert de données entre 2 hôtes


IP, protocoles de routage
Liaison : transfert de données entre des éléments
de réseaux voisins


TCP, UDP
Réseau : routage des datagrammes d
d'une
une source
vers une destination


FTP, SMTP, HTTP
PPP, Ethernet
Physique : bits "sur le câble"
netwo
rk
netwo
data
rk
link
data
physic
link
netwo
al
physic
rk
al
netwo
data
rk
link
data
physic
link
al
netwophysic
rk
al
data
link
netwophysic
al applica
rk
tion
data
transp
link
ort
physic
netwo
al
rk
data
link
physic
58
al
Modèle en couches

application

Encapsulation
Résolution d'adresse (@IP-@physique)
transport
réseau
source
M application
Ht M transport
Hn Ht M
réseau
Hl Hn Ht M
liaison
liaison
physique
physique
59
destination
application
Ht
transport
Hn Ht
réseau
Hl Hn Ht
liaison
physique
M
message
M
M
M
segment
datagramme
trame
60
10
Principe du bout en bout

Principe du bout en bout
Pas d'intelligence dans le réseau




traitement simple dans le réseau -> haut débit
Réseau généraliste -> évolution de l'utilisation du réseau
Pas de redondance de contrôle
Service réseau





Modes d'acheminement
Datagramme
Circuit virtuel
Mode non connecté et sans garantie
Séparation des fonctions


Contrôle -> hôte
Acheminement -> routeur

Robustesse

Indépendance de fonctionnement

Le fonctionnement du système d'extrémité n'est pas lié
à celui du réseau
61
Bout en bout : avantages

62
Libéral / conservateur
Simplicité


Pas de gestion d'états
Interconnexion hétérogène plus facile

Débit écoulé plus important

Évite les contrôles redondants

Infrastructure indépendante du service

Réaction face à la panne

Fonctionnement du système d'extrémité indépendant du réseau

Utilise la puissance de calcul disponible (hôtes)

L'enrichissement du service dépend de l'application


Garantit une connectivité maximale


Évolution du réseau

On accepte tout, au risque de conduire à un
fonctionnement en mode dégradé
On se restreint aux standards p
pour transmettre
Opposé à l'approche OSI (Open System
Interconnection)

Besoin d'une standardisation poussée
63
Implémentation avant standardisation

64
Plan du cours
Un standard est promulgué après validation
par la preuve de son fonctionnement

Historique
Croissance
Architecture et gouvernance
Pi i
Principes
ffondateurs
d t

Services et applications




Approche expérimentale
65
66
11
Services du réseau

Applications
Besoins des applications

Impact des applications dans le réseau


Service élastique





Flux discrets
Information asynchrone
Variation du service


Service fluide (stream)



Service réseau fourni à l'application

Flux continus
Notion de "temps"
Besoin statistique en terme de délai et de débit


Débit des données
Type de trafic (débit constant ou rafales)
Cible du trafic (multipoint ou destination unique,
mobile
bil ou fifixe))
Sensibilité au délai
Sensibilité à la perte de paquets
Les applications font la loi !
67
Besoins des applications
68
Les données (texte, images, schémas)

Transfert de fichiers

Application
Transfert de fichier
e-mail
Web
Audio/vidéo Temps réel
Audio/vidéo enregistré
Jeux interactifs
Applis financières
Pertes
Bande passante Sensibilité temp.
pertes
Sans p
Sans pertes
tolérant
tolérant
élastique
q
élastique
élastique
audio: 5Kb-1Mb
video:10Kb-5Mb
tolérant
similaire
tolérant
Quelques kbps
Sans pertes élastique


Non
Non
Non
oui, 100’s msec
oui, quelques secs
oui, 100’s msec
Oui et non
Très sensible à la perte d ’information

Des retransmissions peuvent être nécessaires
La taille maximale de chaque bloc transmis doit être
bornée : notion de paquets
Transactionnel

Délai de réponse admissible dépendant de la
sensibilité des usagers : 3 secondes est
couramment admis comme la valeur limite
69
Tranfert de fichiers fiable




70
Connexion distante (remote login)
Sensible à la perte de paquets
Insensible au délai relatif au temps d'aller
retour
Point à point ou multipoint
Point-à-point
Par rafales


Sensible à la perte de paquets
Sensible au délai




71
Sujet à des contraintes d'interaction
Peut tolérer jusqu
jusqu'à
à plusieurs centaines de
millisecondes
Par rafales
Point-à-point
72
12
Audio




Relativement faible bande passante


La voix

Échantillons numérisés, paquétisés

Sensible à la variation du délai
Tolérante aux p
pertes
Possibilité de multipoint, sessions de longue
durée

Numérisation de la voix : codage MIC (PCM)
Voix = signal analogique
Numérisation = échantillonnage + quantification + codage


S
Spectre
t transmis
t
i : 4Khz
4Kh

Quantifiés sur 256 niveaux de quantification

Limite naturelle du nombre d'émetteurs
simultanés
Intérêt de la numérisation : faible taux d’erreur, facilité de
multiplexage



Donc 8000 échantillons/seconde
Codés sur 8 bit
La voix codée MIC génère un flux périodique d ’octets :
1octet/125s
Et donc un débit de 64 Kbit/s
MIC : Modulation par Impulsion Codée
73
74
Codage MIC
La voix
Echantillons

Autres codages
time
Echantillonnage

Suppression des silences

Quantification
Q
tifi ti =>
>
 bruit de quantification

Elimination de la redondance

Echantillons
01001100 01001100 01001100
time
Codage

...


1octet/125s =
64Kbit/s
flux = suite de « talkspurts » et de silences
On arrive à coder la voix à 800bit/s, le résultat est une
voix de mauvaise qualité mais intelligible
La voix GSM est souvent codée à 13Kbit/s
La voix sur Internet est parfois codée à 5.3 Kbit/s
Flux = suite de blocs d’information pouvant être de
longueur variable.
76
75
Qualité de service

La voix est très sensible au délai et à la variation de délai






Vidéo
Délai maximal sans annulation d ’écho : 24ms
Délai maximal avec annulation d ’écho: 300ms
Il y a écho car le signal entrant et sortant sont transmis sur la
même paire torsadée
En codage MIC elle est peu sensible à la perte
d ’information
Elle devient d ’autant plus sensible à la perte qu ’elle est
compressée (que la redondance est éliminée)
Le destinataire doit récupérer l’horloge de la source pour
récupérer le signal original
77






Bande passante élevée
Vidéo compressée, par rafales
La tolérance aux pertes dépend de la
compression
La tolérance au délai dépend de l'interactivité
Possibilité de multipoint
Grand nombre de sources simultanées
78
13
Vidéo : Qualité de service

La vidéo
Moins sensible que la voix à la variation de
délai


Par exemple, des images peuvent éventuellement
être répétées




Plus sensible que la voix aux pertes de
paquets

Vidéo : signal analogique, suite périodique d’images
avec impression de continuité
Numérisation = échantillonnage + quantification +
compression + codage
Echantillonnage :
vidéo VHS : 25 images/s,

Taille d’une vidéo VHS : x*y*n*25 bit/s

Par exemple, la perte d ’une information de
contrôle pour le décodeur peut avoir des
conséquences importantes




Image de taille (x,y)
n bits / pixel
25 images par seconde
vidéo faiblement animée : jusqu ’à quelques images par
seconde
Quantification, compression (spatiale +temporelle)
79
Applications "perturbatrices"
(Killer Apps)
Web

Trafic transactionnel





Requêtes courtes, réponses potentiellement
longues


Peu sensible à la perte de de paquets (!)
Sensible au délai

80


Interactivité humaine

Point-à-point (le multipoint est asynchrone)


81
Applications qui perturbent le commerce classique
Difficiles à prédire
Le Web peut être vu comme l'une des premières, et
peu l'ont vu venir
Napster est un autre exemple
Gnutella, Kazaa, edonkey, BitTorrent
Messagerie instantanée (icq, messenger)
VoIP (skype)
Quelles seront les prochaines ?
82
Statistiques de téléchargement de Skype
Skype
Skype est le leader sur le marché de la voix sur
IP (VoIP)
* Plus de 24 millions d’utilisateurs
d utilisateurs enregistrés
* SkypeOut : plus de 735 000 utilisateurs dans le
monde
83
84
14
Stats des utilisateurs Skype par mois
Nouvelles fonctions : les 3 M

Mobilité (-> UE MOB)
Nomadisme : changement de connectivité de l'hôte
Micro-mobilité : déplacement de l'hôte dans un réseau
cellulaire



Multimédia
Support des flots continus


Multi-destination (communication de groupe)
Information émise une seule fois et reçue par chaque
membre du groupe (-> Multicast)

85
Multimédia
86
Exemples de services


Définition de flux multimédia

Ensemble de flux liés par des contraintes de
synchronisation






Synchronisation des lèvres
Insertion d’images et graphiques


Au respect des contraintes temporelles individuelles,
s ’ajoutent les contraintes temporelles multimédia



Le transfert de fichiers peut hériter les contraintes
temporelles des flux synchrones



Remarque : les applications multimédia sont
souvent multiparties



Vidéo-téléphonie
Vidéoconférence
Télé-enseignement
Télé-médecine
Travail en groupe
Calcul distribué
Jeux distribués dans un environnement de réalité virtuelle
(télé-cyberspace)
Vidéosurveillance
Liés à la géolocalisation
Navigation
Peer-to-peer (P2P)
Commerce électronique
Besoin de mécanismes de multicast
87
Classification des services


téléphonie
De messagerie


Points abordés :
Conversationnels


E-mail, messagerie unifiée

Transactionnels


Contexte actuel de l’Internet : résumé
Interactifs


Achat en ligne


De distribution

Sans contrôle de la part des destinataires

Avec contrôle de la part des destinataires



88
Principes de l'Internet
Historique et croissance
Applications
Structure de l'Internet et des ISPs
Couches et modèle de service
Radio, Télévision
Vidéo à la demande
Filtrage de news
89
90
15
Croissance et évolution des services
Programme ING février 2010
Programme des TD/TME
Programme du cours

Adaptation du réseau







Sécurité
Outils de simulation de réseau
Ingénierie de trafic
Architectures de QoS
Multicast
IPv6
Routage inter-domaine
1
08/02
Introduction
2
15/02
Sécurité
3
22/02
Fin sécurité - Multicast
4
01/03
Fin Multicast
5
08/03
6
7
1
15/02
TD révisions
2
22/02
TD sécurité
3
01/03
TD Multicast
BGP
4
08/03
TDBGP
15/03
Préparation TME1
5
15/03
TME 1 - NS
29/03
Préparation TME2 + QoS
6
29/03
TD QoS
05/04
FERIE
7
05/04
TME2 – NS (sauf le lundi)
8
12/04
Fin QoS + IPv6
8
12/04
TD IPv6
9
03/05
Fin IPv6
9
03/05
TME IPv6
10
10/05
Révisions
10
10/05
Séance présentations orales
17/05
Récupération TME 2
92
91
16
Sécurité des réseaux
Sécurité
Objectifs
 Comprendre les
principes de la sécurité
des réseaux




Plan
Amis et ennemis : Alice, Bob, Trudy


Firewalls
Attaques et parades
sécurité
é ité d
dans lles
couches




Application
Transport
Réseau
Liaison
manière sûre"
Trudy (intrus) peut intercepter, effacer et ajouter
g
des messages
Alice
canal
Émetteur
sécurisé
Messages de
données et de
contrôle
Récepteur
sécurisé
Confidentialité : seuls l'émetteur et le récepteur visé
doivent pouvoir comprendre le contenu du message
 L'émetteur chiffre le message
 Le récepteur déchiffre message
Authentification : ll'émetteur
émetteur et le récepteur veulent
confirmer l'identité de leur correspondant
Intégrité du message : l'émetteur et le récepteur
veulent s'assurer que le message n'a pas été altéré
(durant le transit, ou après) sans que cela n'ait été
détecté
Accès et disponibilité : les services doivent être
accessibles et disponibles pour les utilisateurs
Qui pourraient être Bob et Alice?
 Bien connus dans le monde de la sécurité !
 Bob, Alice (amants !) veulent communiquer "de
données

Qu'est-ce que la sécurité des réseaux ?
1 Qu'est-ce que la sécurité ?
2 Principes de cryptographie - confidentialité
3 Authentification
4 Intégrité
5 Distribution de clés et certification
6 Contrôle d'accès : firewalls
7 Attaques and parades
8 Sécurité dans plusieurs couches

Cryptographie et ses
nombreux usages en
dehors de la
confidentialité
Authentification
Intégrité des messages
Distribution des clés
 sécurité en pratique
Bob
data
 … des êtres humains !
 Des serveurs ou browsers Web pour des




transactions électroniques (ex : achats en
ligne)
Client/serveur de banque en ligne
Serveurs DNS
Routeurs échangeant des mises à jour de
tables de routage
...
Trudy
1
Il y a des méchants !
Plan
Q : Que peut faire un "méchant" ?
R : Beaucoup de choses!
Écoute : interception de messages
 Insertion active de messages dans la connection
 Imitation : falsification (spoof) de l'adresse source
d
dans
lle paquett ((ou ttoutt autre
t champ
h
du
d paquet)
t)
 Détournement : “prise de contrôle” de la connexion
en cours en écartant l'émetteur ou le récepteur et
en prenant sa place
 Déni de service : empêcher le service d'être utilisé
par les autres (ex : en surchargeant les
ressources)

Vocabulaire de cryptographie
Clé de
K chiffrement
A
d'Alice
Texte en clair
Algorithme
de chiffrement
Texte chiffré
1 Qu'est-ce que la sécurité ?
2 Principes de cryptographie - confidentialité
3 Authentification
4 Intégrité
5 Distribution de clés et certification
6 contrôle d'accès : firewalls
7 Attaques and parades
8 Sécurité dans plusieurs couches
Cryptographie à clé symétrique
K
Chiffrement par substitution
Clé de
déchiffrement

B de Bob
Substitution monoalphabétique : substituer une lettre par une
autre
Texte brut:
Algorithme
Texte en clair
De déchiffrement
abcdefghijklmnopqrstuvwxyz
T t chiffré:mnbvcxzasdfghjklpoiuytrewq
Texte
hiff é
b
df hjkl i t
Ex : Texte en clair : bob. i love you. alice
Texte chiffré : nkn. s gktc wky. mgsbc
Cryptographie à clé symétrique : clés identiques pour
l'émetteur et le récepteur
Cryptographie à clé publique : clé de chiffrement
publique, clé de déchiffrement secrète (privée)
Cryptographie à clé symétrique : DES
Cryptographie à clé symétrique
KA-B
KA-B
Message en Algorithme msg chiffré Algorithme de
déchiffrement
clair m de chiffrement
K (m)
A-B
B
Avec quelle difficulté peut-on casser un tel chiffrement ?
 Manière brutale ?
 autre ?
Message en
clair
m=K
A-B
( ))
( KA-B(m)
Cryptographie à clé symétrique : Bob et Alice partagent
une même clé (connue) : K A-B
 Ex : la clé consiste à connaître le mode de substitution dans
un chiffrement par subtitution monoalphabétique
 Comment Bob et Alice se mettent-ils d'accord sur la valeur de
DES: Data Encryption Standard
 Standard de chiffrement américain [NIST 1993]
 Clé symétrique sur 56 bits, input plaintext 64 bits
 À quel point le DES est-il sûr ?
Challenge du DES : phrase (“Strong cryptography makes
the world a safer place”) chiffrée avec une clé de 56 bits
déchiffrée en 4 mois (de manière brutale)
 Pas d'approche de déchiffrage "backdoor" connue
 Rendre le DES plus sûr :
 Utilier 3 clés successivement (3-DES) sur chaque donnée
 Utiliser le chaînage par bloc

la clé ?
2
AES : Advanced Encryption Standard
Crypto à clé
symétrique : DES
 Standard NIST à clé symétrique récent (Nov.
Algo du DES
2001), remplaçant le DES
Traite les données par blocs de 128 bits
Clés de 128
128, 192
192, ou 256 bits
Le déchiffrement brutal (essai de toutes les
clés) prenant 1 sec avec le DES prend 149
trillions d'annés pour AES
Permutation initiale
16 boucles identiques
d lla ffonction
de
ti
application, utilisant
chacune 48 bits
différents de la clé
Permutation finale



Cryptographie à clé publique
Cryptographie à clé publique
Crypto à clé symétrique
 Nécessite le partage
d'une clé entre
l'émetteur et le
récepteur
 Q: comment se mettre
d'accord sur la clé au
départ (surtout s'ils ne
se sont jamais
rencontrés) ?
Crypto à clé publique
 Approche radicalement
différente [DiffieHellman76, RSA78]
 LL'émetteur
émetteur et le
récepteur ne partagent
pas de clé secrète
 clé de chiffrement
publique connue de tous
 la clé de déchiffrement
privée n'est connue que
du récepteur
Algorithmes de chiffrement par clé
publique
Besoins :
1
Besoin de K +( ) et de K -( ) telles que
.
-
B
+
B
B
.
B
K ((K ((m))
)) = m
+
2 À partir de la clé publique KB , il
devrait être impossible de
calculer la clé privée K B
RSA : algorithme de Rivest, Shamir, Adelson
+ Clé publique
B de Bob
K
K
Message en
Algorithme
Msg chiffré
+
clair m
de chiffrement
K (m)
B
- Clé privée de
B Bob
Algorithme de Message en
déchiffrement
clair
-
+
m = K B(K (m))
B
RSA : choix des clés
1. Choisir deux grands nombres premiers p, q.
(ex 1024 bits chacun)
2. calculer n = pq, z = (p-1)(q-1)
3. choisir e (avec e<n) n
3
n'ayant
ayant aucun facteur commun
avec z. (e et z sont premiers entre eux).
4. choisir d tel que ed-1 soit divisible par z.
(ed mod z = 1 ).
5. La clé publique est (n,e). La clé privée est (n,d).
+
KB
-
KB
3
RSA : chiffrement, déchiffrement
0. soient (n,e) et (n,d) calculés comme précédemment
1. Pour chiffrer le caractère m, calculer
e
c = m e mod n (cad le reste de la division de m par n
2. Pour déchiffrer le caractère c, calculer
m = c d mod n (cad le reste de la division de c d par n)
Exemple RSA :
Bob choisit p=5, q=7. alors n=35, z=24.
e=5 (e et z premiers entre eux).
d=29 (ed-1 divisible par z).
letter
m
me
l
12
1524832
Chiffrement
c
Déchiffrement 17
m = (m e mod n) d mod n
c = me mod
d n
d
c
481968572106750915091411825223071697
c
RSA : pourquoi ?
m = (m e mod n) d mod n
résultat intéressant de la théorie des nombres : If
p,q premiers et y
y mod (p-1)(q-1)
mod n
n = pq, then: x mod n = x
e
((m mod n)) d mod n = m edmod n
= m
ed mod (p-1)(q-1)
mod n
(using number theory result above)
1
= m mod n
(since we chose ed to be divisible by
(p-1)(q-1) with remainder 1 )
17
m = cd mod n letter
12
l
RSA : autre propriété importante
La propriété suivante sera très utile plus tard:
-
+
B
B
+
B
B
K (K (m)) = m = K (K (m))
Utiliser la clé
publique, PUIS
la clé privée
Utiliser la clé
privée, PUIS la
clé publique
Le résultat est le même !
= m
Plan
1 Qu'est-ce que la sécurité ?
2 Principes de cryptographie - confidentialité
3 Authentification
4 Intégrité
5 Distribution de clés et certification
6 contrôle d'accès : firewalls
7 Attaques and parades
8 Sécurité dans plusieurs couches
Authentification
But : Bob veut qu'Alice lui “prouve” son identité
Protocole ap1.0: Alice dit “Je suis Alice”
“Je suis Alice”
Scénario d'échec ?
4
Authentification
Authentification : autre tentative
But : Bob veut qu'Alice lui “prouve” son identité
Protocole ap2.0 : Alice dit “Je suis Alice” dans un paquet IP
contenant son adresse IP source
Protocole ap1.0: Alice dit “Je suis Alice”
Dans un réseau,
Bob ne peut pas "voir”
Alice, alors Trudy dit
“Je suis Alice” simplement qu'elle est
Alice
Authentification : autre tentative
Protocole ap2.0 : Alice dit “Je suis Alice” dans un paquet IP
contenant son adresse IP source
Alice’s
“Je suis Alice”
IP address
Scénario d'échec ?
Authentification : autre tentative
Protocole ap3.0 : Alice dit “Je suis Alice” et envoie son mot
de passe secret pour le prouver.
Ali ’
Alice’s
l ’
Alice’s
“Je suis Alice”
IP addr password
Alice’s
“Je suis Alice”
IP address
Trudy peut créer
un paquet en
usurpant
(“spoofing”)
l'adresse d'Alice
Authentification: autre tentative
Protocole ap3.0 : Alice dit “Je suis Alice” et envoie son mot
de passe secret pour le prouver.
Ali ’
Alice’s
l ’
Alice’s
“Je suis Alice”
IP addr password
Alice’s
IP addr
OK
Attaque par rejeu :
Trudy enregistre le
paquet d'Alice et le
renvoie plus tard à Bob
Alice’s
IP addr
OK
Scénario d'échec ?
Authentification : encore un autre essai
Protocole ap3.1 : Alice dit “Je suis Alice” et envoie son mot
de passe secret chiffré pour le prouver.
d
l ’ encrypted
Alice’s
"Je suis Alice”
IP addr password
Alice’s
IP addr
OK
Scénario d'échec ?
Alice’s
Alice’s
“Je suis Alice”
IP addr password
5
Authentification : encore un autre essai
Protocole ap3.1 : Alice dit “Je suis Alice” et envoie son mot
de passe secret chiffré pour le prouver.
d
l ’ encryppted
Alice’s
“Je suis Alice”
IP addr password
Alice’s
IP addr
L'enregistrement et le
rejeu fonctionnent
encore !
OK
But : éviter l'attaque du rejeu
Nonce: nombre (R) utilisé seulement-une-fois
ap4.0: pour prouver qu'Alice est “en live”, Bob envoie à
Alice nonce, R. Alice
doit renvoyer R,
R chiffré avec la clé secrète
“Je suis Alice”
R
KA-B(R)
Alice’s encrypted
“Je suis Alice”
IP addr password
Échecs, inconvénients ?
ap4.0 nécessite le partage d'une clé symétrique
 Peut-on authentifier en utilisant des techniques de
clé publique ?
ap5.0: utiliser nonce, crypto à clé publique
“Je
Je su
suiss Al
Alice”
ce
+
-
K A (R)
“envoie-moi ta clé publique”
+
KA
Alice est en live,
et seule Alice
connaît la clé pour
chiffer nonce,
donc ça doit être
Alice!
ap5.0 : trou de sécurité
Authentification : ap5.0
R
Authentification : encore un autre essai
Attaque d'une personne au milieu : Trudy se fait
passer pour Alice (vis-à-vis de Bob) et pour Bob
(vis-à-vis d'Alice)
I am Alice
R
Bob calcule
-
KA(KA (R)) = R
ap5.0 : trou de sécurité
Attaque d'une personne au milieu : Trudy se fait
passer pour Alice (vis-à-vis de Bob) et pour Bob
(vis-à-vis d'Alice)
Difficile à détecter :
 Bob reçoit tout ce qu'Alice envoie et vice versa.
le problème est que Trudy reçoit également tous les
messages !
K (R)
A
Send me your public key
K
Send me your public key
Et sait que seule Alice
peut avoir la clé qui a
chiffré R telle que
+ K (K (R)) = R
A A
I am Alice
R
K (R)
T
K
- +
m = K (K (m))
A A
+
K (m)
A
+
A
Trudy gets
- +
m = K (K (m))
T Alice
sends T
m to
+
T
+
K (m)
T
encrypted with
Alice’s public key
Plan
1 Qu'est-ce que la sécurité ?
2 Principes de cryptographie - confidentialité
3 Authentification
4 Intégrité
5 Distribution de clés et certification
6 contrôle d'accès : firewalls
7 Attaques and parades
8 Sécurité dans plusieurs couches
6
Signatures numériques
Signatures numériques
Technique cryptographique analogue aux
signatures manuscrites.
 L'émetteur (Bob) signe le document de manière

numérique et établit qu
qu'ilil est le
créateur/propriétaire du document.
Vérifiable, non falsifiable: le récepteur (Alice)
peut prouver à quelqu'un que Bob et personne
d'autre (y compris Alice) a signé ce document
Signature numérique simple pour le
message m :
 Bob signe m en chiffrant avec sa clé privée KB- ,
-
créant le message "signé" KB(m)
K B Bob’s private
Bob’s message, m
Public key
encryption
algorithm
Oh, how I have missed
you. I think of you all the
time! …(blah blah blah)
Bob
 Supposons qu'Alice reçoit le msg m et la signature
-
numérique KB(m)
 Alice vérifie que m a été signé par Bob en appliquant la clé
-
+
-
publique de Bob KB à KB(m) et vérifie que KB(KB(m) ) = m.
-
 Si KB+(KB(m) ) = m, la personne qui a signé m a forcément
utilisé la clé privée de Bob.
Alice vérifie ainsi que :
 Bob a signé m.
 Personne d'autre n'a signé m.
 Bob a signé m et pas m’.
Non-répudiation:
 Alice peut emporter m et la signature K- B(m) à un
procès et prouver que Bob a signé m.
Internet checksum : fonction cryptographique de
hachage "pauvre"
Le Internet checksum possède des propriétés de fonction de
hachage :
 Produit un message condensé de longueur fixe du message
(somme sur 16-bits)
 many-to-one
Mais avec un message avec une valeur de hachage donnée
donnée, il est
facile de trouver un autre message avec la même valeur de
hachage :
message
I O U 1
0 0 . 9
9 B O B
Bob’s message,
m, signed
(encrypted) with
his private key
Messages condensés (message digests)
Signatures numériques (suite)
+
-
K B(m)
key
Dear Alice
ASCII format
49 4F 55 39
30 30 2E 31
39 42 D2 42
ASCII format
49 4F 55 31
30 30 2E 39
39 42 D2 42
message
I O U 9
0 0 . 1
9 B O B
B2 C1 D2 AC
B2 C1 D2 AC
différents messages
Mais checksums identiques!
Le chiffrement par clé publique de
longs messages est très onéreux
"computationnellement"
large
message
m
H: Hash
Function
H(m)
Propriétés de la fonction de
But : "empreinte
empreinte digitale
digitale" de
hachage:
longueur fixe et facile à calculer
 many-to-1
 Appliquer une fonction de
 Produit des messages condensés
hachage H à m, recevoir un
de taille fixe ("empreinte digitale")
message condensé de longueur
 Étant donné un message
fixe, H(m).
condensé x, il est
computationnellement impossible
de trouver m tel que x = H(m)
Signature numérique = message digest signé
Bob envoie un message
signé numériquement :
large
message
m
H: Hash
function
Bob s
Bob’s
private
key
+
-
KB
Alice vérifie la signature et
l'intégrité du message signé
sumériquement :
encrypted
msg digest
H(m)
digital
signature
(encrypt)
encrypted
msg digest
KB(H(m))
KB(H(m))
large
message
Bob’s
m
H: Hash
function
public
key
+
KB
digital
signature
(decrypt)
H(m)
H(m)
equal
?
7
Algorithmes de fonctions de hachage
 Fonction de hachage MD5 largement utilisée (RFC

1321)
 Calcule un message digest de 128 bits en 4
étapes.
 Il est difficile,
difficile à partir d'une
d une chaîne aléatoire de
128 bits, de construire un msg m dont l hash
MD5 est égal à x.
SHA-1 est également utilisé.
 Standard américain [NIST, FIPS PUB 180-1]
 Message condensé de 160 bits
Intermédiaires de confiance
publique de Bob (à partir
d'un site Web, d'un e-mail,
d'une disquette),
q
), comment
sait-elle que c'est la clé
publique de Bob, et pas
celle de Trudy ?
Solution :
 Centre de distribution de clé de
confiance (KDC) agissant
comme un intermédiaire entre
les entités
1 Qu'est-ce que la sécurité ?
2 Principes de cryptographie - confidentialité
3 Authentification
4 Intégrité
5 Distribution de clés et certification
6 contrôle d'accès : firewalls
7 Attaques and parades
8 Sécurité dans plusieurs couches
Key Distribution Center (KDC)
Problème des clés
Problème des clés
symétriques
publiques :
 Comment 2 entités établissent-  Quand Alice obtient la clé
elles une clé secrète partagée
à travers un réseau ?
Plan
 Alice et Bob doivent partager une clé symétrique.
 KDC : le serveur partage une clé secrète différente

avec chaque utilisateur enregistré (nombreux
utilisateurs)
Alice et Bob possèdent leur propre clé symétrique
KA-KDC KB-KDC , pour communiquer avec le KDC.
KDC
Solution :
 Autorité de certification de
KA-KDC KP-KDC
KX-KDC
KB-KDC
KP-KDC
KY-KDC
confiance (CA)
KB-KDC
KA-KDC
Key Distribution Center (KDC)
Autorités de certification
Q : Comment le KDC permet-il à Bob et Alice de
déterminer une clé secrète symétrique partagée pour
communiquer l'un avec l'autre ?
KDC
generates
R1
KA-KDC(A,B)
Alice
knows
R1
KA-KDC(R1, KB-KDC(A,R1) )
KB-KDC(A,R1)
KZ-KDC
Bob knows to
use R1 to
communicate
with Alice
Alice et Bob communiquent : utilisation de R1
comme clé de session pour le chiffrement
symétrique partagé
 Certification authority (CA) : relie une clé publique
à une entité particulière E.
 E (personne, routeur) enregistre sa clé publique
auprès du CA.



E fournit une “preuve d'identité” au CA
Le CA crée un lien certifié entre e et sa clé publique
Le certificat contenant la clé publique de E est signé
numériquement par le CA – le CA dit “ceci est la clé
publique de E”
Bob’s
public
key
Bob’s
identifying
information
+
KB
digital
signature
(encrypt)
CA
private
key
K CA
+
KB
certificate for
Bob’s public key,
signed by CA
8
Un certificat contient :
Autorités de certification
 Quand Alice veut la clé publique de Bob :


Elle obtient le certificat de Bob (par Bob ou
autre).
Elle applique la clé publique du CA au
certificat de Bob et obtient la clé publique de
Bob.
+
KB
digital
signature
(decrypt)
CA
public
key
 Un numéro de série (unique pour chaque émetteur)
 info sur le propriétaire du certificat, y compris
l'algorithme et la valeur de la clé elle-même
 info sur

Bob’s
public
+
key
KB

+
K CA
Plan
1 Qu'est-ce que la sécurité ?
2 Principes de cryptographie - confidentialité
3 Authentification
4 Intégrité
5 Distribution de clés et certification
6 contrôle d'accès : firewalls
7 Attaques and parades
8 Sécurité dans plusieurs couches
Firewalls : pourquoi ?
Évite les attaques par déni de service :
 SYN flooding : l'attaquant établit de nombreuses
connexions TCP "bidon", plus de ressources pour les
vraies connexions.
Évite la modification / l'accès illégal aux données internes.
 Ex : ll'attaquant
attaquant remplace la page du CIA par autre chose
Autorise uniquement les accès autorisés à l'intérieur du
réseau (ensembles d'utilisateurs / hôtes authentifiés)
2 types de firewalls :
 Niveau applicatif
 Filtrage de paquets
l'émetteur
du certificat
Dates de
validité
Signature
numérique
de
l'émetteur
Firewalls
firewall
Isole le réseau interne d'une organisation de
l'Internet, en permettant à certains paquets de
passer et en en bloquant d'autres.
Internet
public
réseau
administré
firewall
Filtrage de paquets
ce paquet entrant
doit-il être admis ?
Ce paquet sortant
peut-il sortir ?
 Réseau interne connecté à l'Internet via un routeur
firewall
 Le routeur filtre paquet par paquet, décision de faire
transiter ou de supprimer le paquet selon :




L'adresse IP source, l'adresse IP destination
Les numéros de ports TCP/UDP source et destination
Le type de message ICMP
Les bits TCP SYN et ACK
9
Filtrage de paquets
Gateway aplicative
 Exemple 1 : blocage des datagrammes IP

entrants et sortants avec le champ protocole =
17 et avec le port source ou destination = 23.
 Tous les flux UDP entrants et sortants, ainsi
que les connexions telnet, sont bloqués.
Exemple 2 : Blocage des segments TCP
inbound avec ACK=0.
 Empêche les clients extérieurs de faire des
connexions TCP avec des clients internes,
mais permet aux clients internes de se
connecter à l'extérieur.
Limites des firewalls et des gateways
 Filtre les paquets en fonction
des données applicatives
aussi bien qu'en fonction des
champs IP/TCP/UDP.
 Exemple : permettre à des
utilisateurs internes
autorisés d'effectuer un
telnet à l'extérieur.
host-to-gateway
telnet session
application
gateway
gateway-to-remote
host telnet session
router and filter
1. Nécessite que tous les utilisateurs de telnet passent par
la gateway.
2. Pour des utilisateurs autorisés, la gateway établit une
connexion telnet à l'hôte de destination. La gateway fait
transiter les données entre les 2 connexions.
3. Le filtre du routeur bloque toutes les connexions telnet ne
provenant pas de la gateway.
Plan
 IP spoofing : le routeur ne
peut pas savoir si les
données proviennent
vraiment d'une source
autorisée
 Si plusieurs applications
ont besoin d'un traitement
spécial, chacune a sa
propre gateway
applicative.
 Le logiciel client doit savoir
comment contacter la
gateway.

 Les filtres utilisent souvent
une politique tout ou rien
pour UDP.
 Compromis : degré de
communication avec le
monde extérieur, niveau
d sécurité
de
é ité
 De nombreux sites
hautement protégés
souffrent toujours
d'attaques.
Ex : il doit configurer
l'adresse IP du proxy dans
le browser Web
Menaces de sécurité sur Internet
Mapping :




Avant d'attaquer : trouver quels services sont
implémentés sur le réseau
Utiliser ping pour déterminer quels hôtes ont
des adresses sur le réseau
Scan des ports : essayer d'établir des
connexions TCP avec chaque port (regarder
ce qui se passe)
nmap (http://www.insecure.org/nmap/) mapper
1 Qu'est-ce que la sécurité ?
2 Principes de cryptographie - confidentialité
3 Authentification
4 Intégrité
5 Distribution de clés et certification
6 contrôle d'accès : firewalls
7 Attaques and parades
8 Sécurité dans plusieurs couches
Menaces de sécurité sur Internet
Mapping : parades


Enregistrer le trafic pénétrant dans le réseau
Chercher une activité suspecte (adresses IP,
ports scannés les uns après les autres)
 “network exploration and security auditing”
Parades ?
10
Menaces de sécurité sur Internet
Menaces de sécurité sur Internet
Reniflement de paquets (packet sniffing) :




Packet sniffing : parades
Médium à diffusion
Une machine proche lit tous les paquets qui
passent
peut lire toutes les données en clair (p
p
(par ex les
mots de passe)
Ex : C sniffe les paquets de B


Tous les hôtes d'une organisation utilisent des
logiciels vérifiant périodiquement si l'interface
de l'hôte est en mode promiscuous.
Un hôte p
par segment
g
du médium à diffusion
(switched Ethernet at hub)
C
A
C
A
src:B dest:A
src:B dest:A
payload
Menaces de sécurité sur Internet
Menaces de sécurité sur Internet
IP Spoofing (usurpation d'adresse IP) :


Peut générer des paquets IP directement à partir d'une
application, en mettant n'importe quelle valeur dans le
champ d'adresse IP source
Le récepteur ne peut pas dire si la source est spoofée
Ex : C se fait passer pour B
IP Spoofing : ingress filtering


C
A
B
Menaces de sécurité sur Internet

C
A
SYN
B


Filtrer le flot de paquets (ex : SYN) avant qu'ils
n'atteignent l'hôte : on jette les bons comme
les mauvais
Remonter à la source des flots (probablement
(p
une machine innocente, compromise)
C
A
SYN
SYN
SYN
SYN
SYN
SYN
SYN
B
Parade ?
payload
Deni de service (DOS) : parades
Flot de paquets malicieux générés pour inonder un
récepteur
DOS distribué (DDOS): plusieurs sources
coordonnées pour inonder un récepteur
Ex : C et un hôte distant font une SYN-attack vers A
SYN
src:B dest:A
Menaces de sécurité sur Internet
Déni de Service (DOS) :

C
payload
Parades ?

Les routeurs ne doivent pas transmettre des
paquets sortants avec des adresses source
invalides (ex : adresse source du datagramme pas
dans le réseau du routeur)
Bien, mais ce filtrage ingress ne peut pas être
effectué dans tous les réseaux
A
src:B dest:A
B
B
Parades ?

payload
SYN
B
SYN
SYN
SYN
SYN
11
E-mail sécurisé
Plan
KS
KS
.
KS(m )
• Alice veut fournir une authentification de
l'émetteur et l'intégrité du message.
.
KS( )
-
Internet
+
+
KB(KS )
KB(KS )
+
K
génère une clé privée symétrique aléatoire KS.
chiffre le message avec KS (pour l'efficacité)
chiffre aussi KS avec la clé publique de Bob.
envoie à la fois KS(m) et KB(KS) à Bob.




KS(m )
KB( )
KS
-
KA
.
m
H(( )
-
.
KA( )
.
 utilise sa clé privée pour déchiffrer et retrouver KS
 utilise KS pour déchiffrer KS(m) pour retrouver m
-
-
KA(H(m))
KA(H(m))
+
KB( )
K
B
B
+
-
m
Bob :
Internet
m
• Alice veut fournir le secret, l'authentification de
l'émetteur et l'intégrité du message.
 Procédé de chiffrement d'email
m
.
H( )
-
.
KA( )
-
KA(H(m))
+
symétrique, la crypto à clé
publique, une fonction de
hachage et la signature
numérique.
éi
.
KS( )
+
m
KS
+
.
KB( )
+
Internet, standard de-facto.
 Utilise la crypto à clé
KS
Internet
+
KB(KS )
KB
Alice utilise 3 clés : sa clé privée, la clé publique de
bob et la nouvelle clé symétrique créée
+
.
KA( )
H(m )
compare
.
H( )
H(m )
• Alice signe numériquement le message.
• envoie à la fois le message (en clair) et la signature
numérique.
Pretty good privacy (PGP)
K
KA
m
E-mail sécurisé (suite)
A
-
KB
E-mail sécurisé (suite)
+
+
.
KB( )
Alice :
KS
.
KB(KS )
m
KS
-
+
+
.
KS( )
-
Internet
KB(KS )
+
Alice veut envoyer un email sécurisé m à Bob.
KS( )
KS
KB(.)
+
KB
E-mail sécurisé
m
KS( )
KS(m )
KS(m )
.
m
+
8 Sécurité dans plusieurs couches
8.1. Email sécurisé
8.2. Sockets sécurisées
8.3. IPsec
8.4. 802.11 WEP

Alice veut envoyer un email sécurisé m à Bob.

1 Qu'est-ce que la sécurité des réseaux ?
2 Principes de cryptographie - confidentialité
3 Authentification
4 Intégrité
5 Distribution de clés et certification
6 Contrôle d'accès : firewalls
7 attaques et parades
 Garantit le secret,
l'authentification de l'émetteur,
l'intégrité.
Message signé par PGP :
---BEGIN PGP SIGNED MESSAGE--Hash: SHA1
Bob:My husband is out of town
tonight.Passionately yours,
Alice
---BEGIN PGP SIGNATURE--Version: PGP 5.0
Charset: noconv
yhHJRHhGJGhgg/12EpJ+lo8gE4vB3m
qJhFEvZP9t6n7G6m5Gw2
---END PGP SIGNATURE---
 L'inventeur, Phil Zimmerman, a
été la cible de 3 ans d'enquête
fédérale
12
SSL (suite)
Secure sockets layer (SSL)
 Sécurité de niveau
transport pour toute
application basée sur TCP
utilisant des services SSL.
 Utilisé entre des browsers
Web des serveurs pour le
Web,
commerce électronique
(shttp).
 Services de sécurité :



 Authentification du serveur :
Authentification du
serveur
Chiffrement des données
authentication du client
(optionnel)




Le browser SSL-capable
contient les clés publiques
pour les CAs de confiance.
Le browser demande le
certificat du serveur, fourni
par un CA de confiance.
Le browser utilise la clé
publique du CA pour
extraire la clé publique du
serveur du certificat.
Vérifier le menu de sécurité
de votre browser pour voir
ses CAs de confiance.
IPsec : Sécurité de niveau réseau
 Secret de niveau réseau Networklayer secrecy:
 L'hôte émetteur chiffre les
données dans le datagramme
IP
 Segments TCP et UDP;
messages ICMP et SNMP.
 Authentification de niveau réseau
 L'hôte de destination peut
authentifier l'adresse IP source
 2 protocoles de principe :
 Protocole d'authentication d'entête (authentication header AH)
 Protocole encapsulation
security payload (ESP)
 Pour AH et ESP, handshake
de la source et de la
destination :
 Crée un canal logique de
niveau réseau, appelé
association de sécurité (SA)
 Chaque SA est unidirectionnel.
 Déterminé de manière unique
par :
 Un protocole de sécurité
(AH or ESP)
 Adresse IP source
 Identifiant de connexion sur
32 bits
Protocole ESP

Toutes les données envoyées
dans la socket TCP (par le
client ou par le serveur) sont
chiffrées avec la clé de
session.


Transport Layer
Security (TLS) de
l'IETF.
SSL peut être utilisé
pour des applications
non-Web, ex : IMAP.
L'authentification du
client peut être
effectuée avec des
certificats de client.
Protocole Authentication Header (AH)
 Fournit l'authentification de L'en-tête AH inclut
la source, l'intégrité des
 L'identifiant de connexion
données mais pas de
 Données d'authentification :
confidentialité
message digest signé par la
source et calculé à partir du
l'en-tête IP et le champ de
datagramme IP original.
d
données.
é
 Champ next header : spécifie le
 Champ protocole : 51
type des données (ex : TCP,
UDP, ICMP)
 Les routeurs intermédiaires
traitent les datagrammes
comme d'habitude
 En-tête AH inséré entre
IP header
AH header
data (e.g., TCP, UDP segment)
 Nombreux réseaux IEEE 802.11 disponibles
 Le champ
l'authentification de l'hôte,
l'intégrité des données.
Les données et l'ESP
trailer sont chiffrés.
Le champ next header est
dans l'ESP trailer.

d'authentification
d'ESP est similaire au
champ
d'authentification d'AH
Protocol = 50
authenticated
encrypted
IP header

 SSL : base du
Sécurité dans IEEE 802.11
 Fournit le secret,

Session chiffrée avec SSL :
 Le browser génère une clé de
session symétrique, la chiffre
avec la clé publique du serveur
et envoie la clé chiffrée au
serveur.
 En utilisant la clé privée, le
serveur décriffre la clé de
session.
 Le browser et le serveur
connaissent la clé de session
ESP
ESP
TCP/UDP segment
header
trailer
ESP
authent.
La plupart n'utilisent pas de chiffrement ni
d'authentification
 Facile de faire du packet-sniffing et autres
attaques !
Wired Equivalent Privacy (WEP): authentification
comme dans le protocole ap4.0
 L'hôte demande l'authentification au point d'accès
 Le point d'accès envoir un nonce de 128 bits
 L'hôte chiffre le nonce en utilisant une clé
symétrique partagée
 Le point d'accès déchiffre le nonce et authentifie
l'hôte


13
Sécurité dans IEEE 802.11
 Wired Equivalent Privacy (WEP) : chiffrement des
données
 L'hôte et le point d'accès partagent une clé
symétrique de 40 bits (semi-permanente)
 L
L'hôte
hôte ouvre un vecteur d'initialisation
d initialisation (IV) de 24
bits pour créer une clé de 64 bits
 Le clé de 64 bits est utilisée pour générer un flux
de clés, kiIV
IV
 ki est utilisée pour chiffrer le i-ème octet, di :
ci = di XOR kiIV
 IV et les octets chiffrés, ci sont envoyés dans la
trame
Casser le chiffrement WEP dans 802.11
Trou de sécurité :
 IV sur 24 bits, un IV par trame, -> l'IV peut être réutilisé
 IV transmis en clair -> la réutilisation d'IV peut être détectée
 Attaque :





Trudy
T
d contraint
t i t Alice
Ali à chiffrer
hiff d
du ttexte
t connu d1 d2 d3 d4 …
Trudy voit : ci = di XOR kiIV
Trudy connait ci di, donc peut calculer kiIV
Trudy connait la séquence de chiffrement de clés k1IV k2IV k3IV
…
La prochaine fois que IV sera utilisé, Trudy pourra déchiffrer !
802.11 : chiffrement WEP
IV
(per frame)
KS: 40-bit
secret
symmetric
plaintext
frame data
plus CRC
key sequence generator
( for given KS, IV)
k1IV k2IV k3IV … kNIV kN+1IV… kN+1IV
d1
d2
d3 …
dN
CRC1 … CRC4
c1
c2
c3 …
cN
cN+1 … cN+4
802.11
IV
header
WEP-encrypted data
plus CRC
Figure 7.8-new1:
802.11encryption
WEP protocol
Sender-side
WEP
Sécurité des réseaux (résumé)
Techniques de base…...




cryptographie (symétrique et publique)
authentification
Intégrité des messages
Distribution des clés
…. utilisées dans de nombreux scénarios de
sécurité différents




Email sécurisé
transport sécurisé (SSL)
IP sec
802.11 WEP
Ressources
 Livre
 Computer Networking : A Top Down Approach
Featuring the Internet,
2nd edition.
Jim Kurose, Keith Ross
Addison-Wesley, July 2002.
14
Plan
Multicast
 Introduction
 Le multicast au niveau réseau
 Le multicast au niveau transport
 Perspectives
P
ti
 IP multicast et le monde réel…
Plan
Qu’est-ce que le multicast ?
 Introduction
 moyen efficace de communication 1-vers-N
 multicast vs. unicast et broadcast
Définition
Notion de groupe
 Problématique
Le multicast au niveau réseau
Le multicast au niveau transport
Perspectives
IP Multicast et le monde réel…






Qu'est-ce que le multicast ?
 Communication 1 vers N
 Technologie conservant la bande passante

qui réduit le trafic en délivrant simultanément
un unique flot d'information à plusieurs
récepteurs
Exemples de Multicast

La couche matérielle du réseau supporte
efficacement le transport multicast
 Exemple : Ethernet permet à un paquet d'être reçu par
de nombreux hôtes

Plusieurs protocoles et modèles de service
différents



unicast : une seule source vers une seule destination
multicast : une seule source vers un sous-ensemble de
destinataires
broadcast : une seule source vers toutes les destinations
unicast
(1-vers-1)
multicast
(1-vers-N)
broadcast
(1-vers-tous)
Unicast
 Problème

L'envoi des mêmes
données vers plusieurs
récepteurs en unicast
n'est
n
est pas efficace
émetteur
R
 Exemple

Les sites Web en
vogue deviennent de
sérieux goulots
d'étranglement
 Exemples : IETF multicast IP, ATM Multipoint
1
Des applications pour le multicast
Multicast
 Distribution 1 vers
émetteur
temps réel
interactif
fiabilité
plusieurs efficace
100%
distribution
multimédia
distribution
de documents
R
200 ms
 conférence
 délai de l’ordre
de 100 ms
 tolérance d’un
certain taux de
pertes

2s
flux continus,
temps réel, non
interactifs,
unidirectionnels



20 s temps de réponse
distribution de
logiciels
fiabilité de 100%
peu de
contraintes
temporelles
Pourquoi le multicast ? (1/3)
Pourquoi le multicast ? (2/3)
 distribution utilisant TCP/IP

distribution utilisant un multicast
S
S
R1
D2

R1
R2
D1
R4
R3
D5
D4


D2
D3
résultats

R2
D1

plusieurs copies du même paquet
plusieurs buffers
plusieurs connexions
R4
R3
D5
D4
D3
résultats



une seule copie de chaque paquet
un seul buffer
une seule connexion multicast
Pourquoi le multicast ? (3/3)
Notion de groupe de multicast
 utilise la BP de façon efficace
 prévient la congestion du réseau
 minimise la charge des serveurs
 fournit l’information à davantage
g d’utilisateurs
 Comment identifier les récepteurs d’un paquet Mcast ?


simultanément
touche un nombre quelconque de personnes en
une seule fois
etc.


en unicast : une adresse IP de destination
ici, toutes les adresses de destination ???
 Une abstraction : le groupe de multicast


associe un ensemble d’émetteurs et de récepteurs
p
existe indépendamment des émetteurs et récepteurs
chaque récepteur
reçoit les paquets de
chaque émetteur
émetteurs
groupe de
multicast
récepteurs
2
Introduction au multicast IP
IP Multicast
 Distribution 1 vers plusieurs efficace
 Service


Distribution des données avec un arbre
Les paquets ne traversent les liens du réseau qu'une seule fois
 Adressage indépendant de la localisation

Une adresse IP par groupe multicast
 Modèle de service orienté récepteur




Les applications peuvent s'abonner et quitter les groupes
multicast
les émetteurs ne savent pas qui écoute
Similaire au modèle de la télévision
Diffère du réseau téléphonique, de l'ATM
Tous les émetteurs émettent en même temps
vers le même groupe
 Les récepteurs s'abonnent à n'importe quel
g p
groupe
 Les routeurs trouvent les récepteurs

 Livraison non fiable
 Adresses IP réservées
224.0.0.0 à 239.255.255.255 réservées pour le
multicast
 Adresses statiques pour les services courants (ex
protocole d'annonce de session)

Adresses de multicast IP (1/2)
Adresses de multicast IP (2/2)
 un groupe de multicast : une adresse de classe D
 adressage du groupe
A 0 réseau
B 10
réseau
C 110
D 1110
station

D
...
224.0.0.0 : non utilisée
224.0.0.1 : représente l’ens. des stations du sous-réseau
considéré
il n’y a pas d’adresse pour l’ens. des machines de l’Internet
 des questions...




quand et comment un groupe naît-il et prend-il fin ?
quand et comment l’@groupe est-elle choisie ?
comment de nouvelles stations se joignent-elles à un groupe ?
y-a-t-il des conditions pour l’appartenance à un groupe ?
comment les routeurs interopèrent-ils pour délivrer les paquets ?
 des choix...


données à Mcaster
D
11100000 00000000 00000000 00000000
Multicast : les problèmes

D
adresse
d
multicast
l i
..
.

224.1.2.3
adresse de
destination
à 239.255.255.255 11101111 11111111 11111111 11111111

@ IP source
station
réseau
de 224.0.0.0
en-tête IP
S
S
station
un récepteur doit pouvoir joindre ou quitter un groupe en cours de
transmission
un récepteur doit pouvoir joindre ou quitter un groupe sans le
signaler explicitement aux émetteurs



D
D
les récepteurs s’abonnent
à l’adresse de groupe 224.1.2.3
indirection d’adresse
chaque hôte a sa propre @IP, indépendante de l’@groupe
dissociation des problèmes




découvrir l’ensemble des groupes Mcast courants
exprimer le souhait de recevoir les paquets d’un groupe
découvrir l’ens. des récepteurs d’un groupe
délivrer les données à chaque membre du groupe
Plan
 Introduction
 Le multicast au niveau réseau
 Le multicast au niveau transport
 Perspectives
 IP Multicast et le monde réel…
 des constats....

les hôtes récepteurs sont souvent connectés à des réseaux locaux...
3
Plan
 Introduction
 Le multicast au niveau réseau
 Le




Composants de l'architecture
IP Multicast
Le p
protocole IGMP
Le multicast sur un LAN
Algorithmes et protocoles de routage multicast
Le MBone
 Le multicast au niveau transport
 Perspectives
 IP Multicast et le monde réel…
Le modèle de service du multicast (1/5)
Protocole hôte-routeur
(IGMP)
routeurs
Protocoles de routage multicast
(plusieurs)
Le modèle de service du multicast (2/5)
 issu des travaux de S. Deering
 caractéristiques de la transmission


hôtes
Modèle de service
modèle de service



multicast IP : transmission d’un paquet IP à un groupe d’hôtes
identifié par une seule adresse de destination
transmission best effort

l’émetteur ne contrôle pas qui joint le groupe
il n’y a pas de contrôle sur qui envoie au groupe
les paquets issus de  sources peuvent être reçus
entrelacés
2 groupes différents peuvent choisir la même @
 caractéristiques du groupe






appartenance dynamique
pas de restriction quant à la localisation et au # de membres
un hôte peut être simultanément membre de plusieurs groupes
un hôte n’a pas besoin de faire partie d’un groupe pour être source
groupe permanent/transitoire
l’opération de Join est receiver-driven
 rôle des routeurs Mcast locaux



Le modèle de service du multicast (3/5)
 la RFC 1112 spécifie les extensions à apporter à un
hôte IP pour supporter le Mcast

3 niveaux de conformité
 0 : l’hôte ne supporte pas le Mcast
 1 : l’hôte peut émettre à destination d’un groupe
 2 : l’hôte supporte le Mcast en émission et réception

modèle d’implémentation IP d’un hôte
modules de protocoles de
niveau sup.
interface de service IP
module IP
ICMP IGMP
interface de service
LAN
co-résidents ou séparés des routeurs classiques
un routeur local qui reçoit un paquet Mcast d’un de ses
hôtes, avec un TTL>1, le fait suivre vers tous les sousréseaux connectant des membres récepteurs
sur les sous-réseaux destinataires, le routeur local termine
la transmission en Mcastant le paquet en local
Le modèle de service du multicast (4/5)

les extensions pour l’envoi Mcast
 interface de service IP

utilisation de SendIP

@dest = @ de groupe
le niveau supérieur doit pouvoir spécifier un TTL

 module
d l IP
 si IP-dest est sur le même
ou si IP-dest est une @ de
alors envoyer le paquet en
sinon envoyer le paquet en
 interface de service LAN
 module LAN

module LAN
traduction d’@
(Ethernet)
(ARP)
réseau local
groupe
local à IP-dest
local à GatewayTo (IP-dest)
mécanisme de traduction des @IP Mcast en @MAC Mcast
4
Le modèle de service du multicast (5/5)

les extensions pour la réception Mcast
 interface de service IP



utilisation de ReceiveIP
ajout de JoinHostGroup (group-address, interface)
ajout de LeaveHostGroup (group-address, interface)
 module IP


maintien
i ti d
de lla liliste
t d
des groupes d
dontt l’hôt
l’hôte estt membre
b pour chacune
h
des interfaces (mise à jour avec les Join et Leave)
intégration de IGMP et adhésion à 224.0.0.1
 interface de service LAN


ajout de JoinLocalGroup (group-address)
ajout de LeaveLocalGroup (group-address)
 module LAN

mécanismes de filtrage par la carte souhaités
Modèle de service d'IP Multicast
(RFC-1112)
 Chaque groupe est identifié par une adresse
IP unique
 Les groupes peuvent être de n'importe
quelle taille
 Les membres d'un groupes peuvent être
localisés n'importe où dans l'Internet
 Les membres d'un groupe peuvent le
rejoindre ou le quitter à leur gré
 Les émetteurs n'ont pas besoin d'être
membres
Modèle de service
Plan
 Appartenance à un groupe non connue
 Introduction
 Le multicast au niveau réseau
explicitement

 Le
 Analogie :

Le modèle de service
Chaque adresse multicast est comme une
fréquence radio, sur laquelle tout le monde peut
émettre et que chacun peut écouter.



protocole IGMP
p
Le multicast sur un LAN
Algorithmes et protocoles de routage multicast
Le MBone
 Le multicast au niveau transport
 Perspectives
 IP Multicast et le monde réel…
Composants de l'architecture
IP Multicast
Modèle de service
hôtes
Couches protocolaires concernées
dans un hôte
Upper-Layer Protocol Modules
Protocole hôte-routeur
(IGMP)
IP Service Interface
routeurs
ICMP
IGMP
IP Module
Protocoles de routage multicast
(plusieurs)
Link-Layer Service Interface
Link-Layer Modules
(e.g., Ethernet)
IP to link-layer address
mapping (e.g., ARP)
5
IGMP : Qu’est-ce que c’est ?
 comment un routeur détermine-t-il si son LAN possède
des récepteurs pour un groupe donné ?
 Internet Group Management Protocol

en-tête IP
permet à un hôte d’indiquer à son routeur local qu’il souhaite
joindre un groupe
estt utilisé
tili é sur les
l LAN à diffusion
diff i
...
H
...
R
H
IGMP
H
données
H
R
report (225.5.5.5)
query
(quelqu’un intéressé par un groupe?)
H
H
H
report (224.9.9.9)
IGMP
IGMP Version 2 (1/2)
 risque de congestion
étalement des réponses basé sur des temporisateurs
 envoi de la requête
 RFC 2236 (Nov.97)
 un récepteur informe explicitement son routeur
lorsqu’il quitte un groupe
query

report
H
224.9.9.9
@ destination
H
IGMP Version 1 (2/2)
H
@ IP source
H
IGMP H
R
S2
routage multicast
grande distance
H
routage multicast
grande distance
R
S1
H
R
IGMP
H

 RFC 1112 (Aug.89)
 échange de messages query/report
...

IGMP Version 1 (1/1)
3 types de messages
envoyé par
type de message
membership_query
routeur
général
spécifique routeur
membership_report hôte
hôte
leave_group
H
 armement du tempo
 armement du tempo
 réception de la réponse,  envoi de la réponse
désarmement du tempo

réduction du trafic sur le LAN si aucun membre

délai éventuel (qq s.) avant de recevoir les données
Exemple IGMP (1)

But
s’enquérir des groupes auxquels sont abonnés les hôtes
demander si un groupe donné a des membres sur le LAN
indiquer que l’hôte souhaite joindre ou a joint un groupe
indiquer que l’hôte quitte un groupe donné
étalement des réponses avec 0  tempo MaxRespTime
Exemple IGMP (2)
Membership
Leave Report
Group
1
1
3
3
Network 1
Network 1
2
Network 2
Router
Network 2
Router
2
4
4
 L'hôte 3 rejoint la conférence
 L'hôte 1 commence à émettre des paquets


Pas de message IGMP envoyé
Les paquets restent sur le réseau 1
 Le routeur envoie périodiquement un IGMP
Membership Query

Il envoie un message IGMP Membership Report
 Le routeur commence à faire transiter les paquets
sur le réseau 2
 L'hôte 3 quitte la conférence

Il envoie un message IGMP Leave Group
6
IGMP Version 2 (2/2)
IGMP Version 3
en-tête IP
S1
S2
@ IP source
@ destination
H
R
H
leave_group (225.5.5.5)

données
H
routage multicast
grande distance
H
224.9.9.9
H
 un récepteur peut sélectionner les sources qu’il
souhaite (ne pas) entendre
S1
(quelqu’un intéressé par un groupe?)
H
H
report (224.9.9.9)
MaxRespTime
@ IP source
H
R
H
report
(225.5.5.5,
réduction de la latence du Leave
224.9.9.9
H
query
(quelqu’un intéressé par un groupe?)
H
H
report
(224.9.9.9,
source=S2)
sourceS3)
Internet Group Management Protocol (IGMP)
Plan
 Protocole pour gérer l'appartenance à un
 Introduction
 Le multicast au niveau réseau
groupe
Les hôtes IP rapportent leur appartenance à un
groupe multicast aux routeurs voisins
 Messages
g dans IGMPv2 ((RFC 2236))

 Membership Query (provenant des routeurs)
 Membership Report (provenant des hôtes)
 Leave Group (provenant des hôtes)
 Protocole annonce-écoute avec suppression


Le modèle de service
Le protocole IGMP
 Le


multicast sur un LAN
Algorithmes et protocoles de routage multicast
Le MBone
 Protocole Soft State
 Le multicast au niveau transport
 Perspectives
 IP Multicast et le monde réel…
Multicast sur un LAN (1/3)
Multicast sur un LAN (2/3)

Les hôtes ne répondent que si aucun hôte n'a
répondu




Ethernet repose sur un support à diffusion
chaque station a une carte réseau avec une @
matérielle spécifique
il existe
i
une adresse
d
d
de diff
diffusion
i
(FF.FF.FF.FF.FF.FF)
 que faire si l’on souhaite joindre uniquement
un sous-ensemble de stations ?


ex : H1 souhaite envoyer un paquet Mcast à H2 et
H4 qui sont sur le même réseau que lui
deux possibilités...
le multicast de réseau utilise le broadcast de liaison
@src
 l’existant (cas d’Ethernet)
@dst
@ de H1 FF.FF.FF.FF.FF.FF
H1
IP
Ethernet

données
H
routage multicast
grande distance
Checksum
Multicast Group Address

en-tête IP
S3
@ destination
H
format du message
type
S2
query
H2
IP
Ethernet
paquet IP multicast
H3
IP
Ethernet
H4
IP
...
Ethernet
le multicast de réseau utilise le multicast de liaison
@ de H1 @ MAC multicast
H1
IP
Ethernet
H2
IP
Ethernet
paquet IP multicast
H3
IP
Ethernet
H4
IP
...
Ethernet
7
Multicast sur un LAN (3/3)
Plan
 traduction des adresses IP multicast en @ Ethernet

format des adresses multicast Ethernet
..
.
de 01:00:5e:00:00:00
0000 0001 0000 0000
0101 1110
0000 0000 0000 0000
0000 0000
0101 1110
0111 1111 1111 1111
1111 1111

mécanisme de traduction
1110 xxxx x
23 derniers bits
0000 0001 0000 0000

Le modèle de service
Le protocole IGMP
Le multicast sur un LAN

Algorithmes et protocoles de routage multicast

Le MBone

à 01:00:5e:7f:ff:ff
0000 0001 0000 0000
 Introduction
 Le multicast au niveau réseau
0101 1110 0
 on sait Mcaster un paquet IP sur un LAN à diffusion !
Composants de l'architecture
IP Multicast

 Le multicast au niveau transport
 Perspectives
 IP Multicast et le monde réel…
Qu’appelle-t-on IP multicast ?
 mécanisme utilisé dans l’Internet pour
Modèle de service
hôtes
Protocole hôte-routeur
(IGMP)
routeurs
construire un arbre de routage multicast
efficace et sans boucles
 IGMP + protocole de routage Mcast
Protocoles de routage multicast
(plusieurs)
Routage multicast
Premières techniques de routage
 Objectif : calculer un arbre de liens connectant tous
 Inondation et élagage
les routeurs ayant des hôtes appartenant au groupe
 Le modèle de service multicast rend la localisation
des récepteurs difficile


anonymat
Rejoindre/quitter dynamiquement




 Protocoles de multicast à état des liens

Diffusion des annonces d'appartenance à un groupe de chaque
récepteur à tout le réseau

Calcul des arbres à la demande
État "unwanted" là où il n'y a pas d'émetteur
Exemple : MOSPF
 Options jusqu'alors (pas très efficaces)


Inonder tout le réseau avec les paquets de données, ou
Indiquer aux routeurs tous les groupes et récepteurs
possibles pour qu'ils puissent créer des routes (arbres)
Diffusion des paquets initiaux de chaque source vers tout le
réseau
Les non-membres élaguent
État "unwanted" là où il n'y a pas de récepteur
Exemples : RPM, DVMRP, PIM-DM
 Les routeurs annoncent les groupes pour lesquels ils ont des
récepteurs dans le réseau tout entier


8
Shared (group) vs Source-based Trees
Arbres basés à la source
 Source-based trees
Arbre de plus court chemin séparé pour chaque émetteur




Chaque source est la racine
Approche à vecteurs de distances (RPM, DVMRP, PIM-DM)
Approche à état des liens (MOSPF)
 Shared
Sh d ((group)) ttrees
Arbre unique partagé par tous les membres
Les données transitent sur le même arbre quel que soit l'émetteur





Arbre de coût minimum (MCT)
Arbre contraint
Approche centrée (CBT, PIM-SM)

S1
S2
la racine est le coeur de l’arbre, ou point de RDV
 Spécifier un "lieu de rencontre" où les sources envoient les paquets initiaux
et les récepteurs s'abonnent ; exige un mapping entre l'adresse du groupe
multicast et le point de rendez-vous
Un arbre partagé
Shared v.s. Source-Based trees
 Arbres basés à la source



Arbres de plus court chemin – délai faible, meilleure
distribution de la charge
Plus d'états dans les routeurs (état par source)
Efficace pour du multicast dans un espace à haute densité
RP
 Arbre partagé
S1

S2


Délai plus élevé, concentration du trafic
État par groupe dans les routeurs
Efficace pour du multicast dans un espace peu peuplé
Arbres basés à la source
Les algorithmes SPT (1/2)
 Approche inondation / élagage
 but : calculer un arbre

Au départ

 RPF (Reverse Path Forwarding)
RPB (Reverse Path Broadcasting)

TB (Truncated
(T
t dB
Broadcasting)
d
ti )
 RPM (Reverse Path Multicasting)
DVMRP
PIM-DM

ayant la source S pour racine
couvrant tous les récepteurs Di du groupe
tel que la distance entre S et Di soit minimum

 Approche à état des liens

MOSPF
 algorithmes de base


Bellmann-Ford : à vecteurs de distance
Dijkstra : à états des liens
un arbre par émetteur
9
Les algorithmes SPT (2/2)
D1
R2
RPF (1/2)
S
S
R1
R1
R3
D2
R5
D3
R4
R6
D4
R7
R9
R10
D6
R11
D7
D1
R2
 Reverse Path Forwarding (Source-based Routing)
 l’une des premières techniques utilisées
 but : construire un arbre ayant S comme racine et
R3
D2
R5
D3
R4
R6
D4
R7
R9
R10
D6
R11
D7
minimisant dist(S, Di)
 principe : utiliser l’inondation (flooding) avec

R8
D5
R8
un exemple de topologie
D5
mécanisme simple


l’arbre obtenu avec un algorithme
à vecteurs de distance
Exemple de Reverse Path Forwarding
si un paquet est reçu par l’if utilisée par le routeur pour joindre S
alors le paquet est retransmis sur les autres if
sinon le paquet est rejeté

les informations utilisées sont celles du routage unicast
Ri n’a pas à connaître les arbres recouvrants
pas de mécanisme particulier pour arrêter l’inondation
RPF (2/2)
H1
1. Le router R1 vérifie : le paquet
est-il arrivé sur l'interface avec le
plus court chemin vers l'émetteur
? Oui, donc il accepte le paquet,
le duplique et le renvoie sur
toutes les autres interfaces sauf
l'interface qui est le plus court
chemin vers l'émetteur (c'est-àdire l'interface sur laquelle le
paquet est arrivé).
i é)
Sender
2. Le router R2 accepte les
paquets envoyés depuis le
Routeur R1 parce qu'il est le
plus court chemin vers
l'émetteur. Le paquet est
envoyé sur toutes les
interfaces.
R1
H4
F
H5
H10
H16
R3
Drop
R5
R6
H17
R12
F
H1
H4
H5
H6
H7
H8
F
F H12
R9
F H14
H13
F
H15
F
F
R11
F
R10
F
F
F
R2
H24 H25 H26
H17
F
R13
F
H18 H19 H20
F
R6
F
F
R8
F
H3
F
F
F
R12
H2
F
R7
F
H16
F
R3
F
F
H10
H11
R1
F
H9
fournies par IGMP pour déterminer s’il
s il faut ou
non Mcaster un paquet sur un LAN feuille

F
R5
H21 H22 H23
 idée : utiliser les informations d’appartenance
forme d’élagage (pruning) des feuilles
pas de réduction de trafic au cœur du réseau
F
F
R4
Truncated Broadcasting (2/2)
 but : réduire le trafic sur les LAN feuilles

F
H2
H3
F
F
R6
R8
H18 H19 H20
Truncated Broadcasting (1/2)
F
F
F
F
F
R13
F
R7
F
F
R7
F
F
F
R3
F
F
H11
R2
R1
R2
H9
Drop
3. Le routeur R2 jette les
paquets qui proviennent
du Routeur R3 parce
qu'il n'est pas le plus
court chemin vers
l'émetteur. Évite les
R4
cycles.
F
F
H6
R4
H7
H8
R5
F
R9
H14
H15
F
F
F
R11
F
R10
H21 H22 H23
H12
H13
H24 H25 H26
10
DVMRP (1/6)
DVMRP (2/6)
 RFC 1075 (Nov.88), draft Version 3 en cours
 Distance Vector Multicast Routing Protocol
 but : réduire le trafic au cœur du réseau
H1
H4



DVMRP (3/6)
H1
H4
D
D
H3
R6
H11
H16
H17
R8
R12
D
R5
H4
H5
H11
R7
H16
H17
D
R13
D
H18 H19 H20
F
P
H14
H15
H12
R9
H13
F
F
P
P
R10
H24 H25 H26
H4
F
R1
F
F
R3
R2
H13
H11
H16
R8
R12
H18 H19 H20
H6
H7
G
R5
H8
G
H14
R9
H12
H13
H15
F
R13
F
H24 H25 H26
H3
R4
F
R7
F
R10
R6
Greffe
H2
R11
F
H21 H22 H23
R10
H24 H25 H26
DVMRP (6/6)
R6
L’arbre après
la greffe
H2
R3
H3
H6
R4
D
processus périodique d’inondation
d inondation et
D
H14
R9
D
H15
H21 H22 H23
H12
d’élagage pour chaque source
H13
mémorisation des enregistrements prune
D
R11
D
problèmes communs aux protocoles à
vecteurs de distance
H7
H8
R5
D
R8
R12
R5
H21 H22 H23
H1
H17
D
H10
H7
H8
R11
F
H18 H19 H20
H12
H15
R2
H9
R13
F
H9
R9
R1
D
D
P
P
P
F
DVMRP (5/6)
D
H6
P R4
F
F
H10
H14
H21 H22 H23
H1
P
H8
R11
D
H18 H19 H20
F
R8
P
R12
F
F
P
F
H7
D
R13
D
H16
H17
P
F
H5
D
R7
F
H3
F
R6
Inondation et
élagage
H2
R3
P
F
R7
H11
H6
R4
D
H10
F
H10
L’arbre après
élagage
H2
R3
R2
H9
R2
F
P
F
DVMRP (4/6)
R1
D
H5
R1
H9
pruning)
s’il n’a pas de membre sur son LAN, un routeur feuille envoie un
message prune à ses voisins
un routeur feuille peut envoyer un prune sur toutes ses if, sauf
celle correspondant à son SP avec la source (i.e. l’if RPF)
quand un routeur intermédiaire reçoit un prune sur chacune de
ses if, sauf l’if RPF, il remonte le prune en amont
quand un routeur envoie un prune, il mémorise la paire
(Source, Groupe) pour laquelle le prune a été envoyé
F
H5
 principe : inondation et élagage (flooding and

F
F
R10
(Source, Groupe)
H24 H25 H26
11
Arbres basés à la source
MOSPF
 Approche inondation / élagage
 RFC 1584 (March 94)
 Multicast Open Shortest Path First

Au départ



RPF (Reverse Path Forwarding)
RPB (Reverse Path Broadcasting)
TB (Truncated Broadcasting)
RPM (Reverse Path Multicasting)
DVMRP
PIM-DM
 Approche à état des liens
 MOSPF
 principe


problème : scalability avec la taille du réseau


Multicast OSPF (MOSPF)
 Ajout à OSPF (Open Shortest-Path First,
protocole de routage intra-domaine à état des
liens)
 Multicast
Multicast-capable
capable routers flag link state
routing advertisements
 Chaque routeur indique les groupes pour
lesquels il y a des membres connectés
directement
État du lien : chaque routeur inonde avec l'annonce de l'état du lien
Multicast : ajout de l'information de membre à l'"état du lien"
Chaque routeur calcule l'arbre multicast pour chaque source active
et construit l'entrée avec la liste des interfaces de sortie
S1
opère dans un AS qui utilise OSPF pour l’unicast
étend OSPF en ajoutant les informations
d’
d’appartenance
aux iinformations
f
i
d’é
d’états d
des liliens quii
sont diffusées par OSPF
mémorisation d’un enregistrement par groupe et par
lien du réseau
un arbre par source
MOSPF (suite)
 Les annonces d'état des liens sont
augmentées par les adresses des groupes
multicast auxquels le membres locaux se
sont abonnés
 L'algorithme de routage à état des liens est
augmenté pour calculer l'arbre de
distribution de plus court chemin entre
n'importe quelle source et n'importe quel
ensemble de destinations
Z a la carte du réseau, incluant les membres au niveau de X et de Y
Z calcule l'arbre de plus court chemin de S1 vers X et Y
Z construit une entrée multicast avec une interface de sortie
W, Q et R construisent chacun une entrée multicast
S1
Z
Z
W
Q
X
X
R
R1
R1
Y
Y
R2
R2
12
L'annonce de l'état des liens avec une nouvelle topologie peut
nécessiter un nouveau calcul de l'arbre et des entrées de la table
L'annonce d'état des liens (T) avec une nouvelle annonce de membre
(R3) peut nécessiter le calcul incrémental et l'addition d'une interface
à la liste des interfaces de sortie (Z)
S1
S1
Z
Z
W
R3
W
Q
T
Q
X
X
R
R1
R
R1
Y
Y
R2
R2
Impact sur le calcul de la route
Arbre partagé
 On ne peut pas pré-calculer tous les arbres
Arbre de coût minimum
multicast par source
 Calcul à la demande qquand le ppremier ppaquet
q
d'une source S vers un groupe G arrive
 Transmission d'un paquet sur les interfaces
sortantes qui correspondent à la portion
locale de l'arbre
Les algorithmes MCT (1/2)
 Arbre contraint
 Approche centrée
Les algorithmes MCT (2/2)
S
 but : minimiser le coût total de l’arbre
 2 familles


R1
les algorithmes Minimum Spanning Tree
 contrainte : l’arbre ne doit aucun nœud qui ne soit pas
membre du groupe
 ex : algorithme de Prim
D1
R2
les algorithmes Minimum Steiner Tree





la contrainte est levée
problème NP-complet
ils supposent de connaître toutes les liaisons du réseau
ils sont monolithiques
ils n’exploitent pas les informations déjà disponibles de
routage unicast
S
R8
D5
R1
R3
D2
R5
D3
R4
R6
D4
R7
R9
R10
D6
R11
D7
l’arbre obtenu avec un algorithme
à vecteurs de distance
rq : dist(S, D6) = 5
D1
R2
D5
R3
D2
R5
D3
R6
D4
R9
R10
R11
D7
D6
l’arbre de Steiner
rq : dist(S, D6) = 7
13
Arbre partagé
Les algorithmes CT
 Arbre de coût minimum
 but : minimiser simultanément la dist(S, Di) et
le coût total de l’arbre
Arbre contraint
 principe
associer à chaque lien 2 métriques (distance/délai
et coût)
rechercher l’arbre à coût minimum tel que dist(S,
Di) 

 Approche centrée

Arbre partagé
CBT (1/3)
 Arbre de coût minimum
 RFC 2189 et 2201 (Sept.97)
 Core Based Tree (Group-shared Tree)
 but : éviter les inconvénients de DVMRP et
 Arbre contraint
MOSPF

Approche centrée

résistance au
a facteur
facte r d’échelle : un
n seul
se l arbre pour
po r le
groupe
efficacité (éviter les inondations) : messages de Join
et de Leave explicites
 principe : construire un arbre partagé,
bidirectionnel, avec un cœur unique
CBT (2/3)

construction de l’arbre
 un routeur local qui a un nouveau membre pour un groupe
envoie un message join-request vers le cœur en unicast
 le cœur ou le premier routeur sur le chemin faisant déjà
partie de l’arbre répond par un join-ack
q routeur ayant
y
vu p
passer le j
join-request
q
marque
q
 chaque
l’if sur laquelle il l’a reçu

maintien de l’arbre
 chaque routeur envoie périodiquement des echo-request
à son routeur amont
 le routeur amont répond par des echo-reply
 si un routeur aval n’obtient pas de réponse au bout de N
essais, il détache son sous-arbre en envoyant un flushtree
CBT (3/3)
 R4

R1
R2
R3
cœur




avantages




S
 R1 envoie un join (G) au cœur
 R2 marque l’if R2-R1 pour faire
suivre ultérieurement les paquets
 R3 marque l’if R3-R2
 le cœur marque l’if cœur-R3
 lorsque R4 rejoint G, son join
s’arrête à R2
 R2 marque l’if R2-R4
 pour envoyer un paquet à G, S l’envoie
en unicast au cœur qui fait suivre
pas d’inondation (vs. DVMRP)
un hôte peut joindre/quitter un groupe sans délai (vs. DVMRP)
un enregistrement par groupe avec les if sortantes (vs. DVMRP)
pas de calcul explicite d’arbre (vs. MOSPF)
inconvénients


problèmes de fiabilité, robustesse et de congestion pour le cœur
l’arbre n’est pas optimal pour toutes les sources
14
PIM (1/3)
PIM (2/3)
 RFC 2362 (June 98)
 Protocol Independent Multicast
 idée : distinction explicite de 2 scénarios de
 le mode épars
distribution
le mode dense



S
D
R4
R1


pas d’acquittement en réponse au join
le join est envoyé périodiquement pour «rafraîchir» l’arbre
 le point de RDV informe une source active qu'elle doit arrêter
d’émettre lorqu’il n’y a plus de routeurs dans l’arbre
 changement de mode possible : de l’arbre partagé vers l’arbre par
source
 les points de RDV émettent périodiquement en aval pour indiquer
leur activité
Plan
R3
R2
les membres sont géographiquement éparpillés
but : un routeur ne doit pas avoir à travailler, à moins de
rejoindre un arbre
principe : approche center-based, similaire à CBT

cœur
• R1 sait que son SP avec S passe par son if R1-R4
• or, R1 reçoit les paquets Mcast sur son if R1-R2
• R1 envoie un join à R4
• R1 envoie ensuite un prune au cœur
• le cœur arrête le transfert Mcast sur cœur-R2
et R2-R1
chemin avec CBT


les membres sont géographiquement concentrés
dans une zone
idée : RPF avec flood-and-prune, similaire à DVMRP
est alors raisonnable
chemin
avec PIM


 sauf :
PIM (3/3)


le changement de mode permet de décharger le cœur
en cas de panne du cœur, les hôtes ayant commuté de
mode continuent de recevoir
PIM ne dit pas comment un routeur détermine le point de
RDV d’un groupe
PIM ne dit pas comment déterminer si un groupe est dense
ou épars
 Introduction
 Le multicast au niveau réseau




Le modèle de service
Le protocole IGMP
Le m
multicast
lticast ssurr un
n LAN
Algorithmes et protocoles de routage multicast
 Le
MBone
 Le multicast au niveau transport
 Perspectives
 IP Multicast et le monde réel…
Le Mbone (1/3)
Le Mbone (2/3)
 problème
 principe : le tunneling


pour mettre en œuvre le Mcast sur l’Internet, il faut que tous les
routeurs aient des fonctions de Mcast et que les routeurs locaux
supportent IGMP
la plupart des routeurs de l’Internet ne supportent pas le Mcast !!!
 idée


bâtir des sous-réseaux
sous réseaux capables de Mcast à la périphérie de
l’Internet
les interconnecter par des tunnels, les extrémités des tunnels sont
des stations avec mrouted et un support de l’OS pour le Mcast
 Multicast Backbone of the Internet




réseau virtuel de recouvrement, solution transitoire
premier tunnel en 88 entre BBN et Stanford
des milliers de sous-réseaux aujourd’hui
utilisé pour diffuser des sessions IETF ou des conf. IEEE/ACM

encapsulation des paquets Mcast transmis sur le Mbone dans des
paquets IP classiques
 l’extrémité du tunnel réceptrice détecte qu’elle a un paquet IP
encapsulé dans un paquet IP (protocol =4)
 après désencapsulation, elle fait suivre le paquet Mcast


soit en local sur son sous-réseau
sous-réseau, s’il
s il a des hôtes membres
soit au prochain routeur Mcast, après ré-encapsulation
en-tête IP unicast
le paquet Mcast d’origine
@ M1
@ M2
@ M1 224.5.5.5
unicast unicast unicast
encapsulation
M1
désencapsulation
M2
tunnel
R1
données
R2
chemin réel
15
Le Mbone (3/3)
Plan
 trafic


 Introduction
 Le multicast au niveau réseau
les conférences génèrent typiquement 100-300 kbits/s
(limité à 500 kbit/s)
pas de mécanisme de «police» mais une déontologie de
l’utilisateur
 Le multicast au niveau transport
 fiabilité
fi bilité
 applications






 SRM
annuaires de session (sd, sdr)
conférences audio (vat , nevot , rat)
conférences vidéo (nv , ivs , vic , nevit)
tableau blanc (wb)
éditeur de textes (nte)
jeux distribués interactifs (MiMaze)
 RMTP
 Perspectives
 IP Multicast et le monde réel…
Fiabilité
 peut-on étendre l’approche utilisée en unicast (ACK) ?




chaque destination doit envoyer un ACK pour chaque (groupe de)
message(s)
un msg est retransmis jusqu’à réception d’un acquittement de
chaque destinataire
congestion du réseau
implosion de la source
SRM (1/2)
 Scalable Reliable Multicast


 un composant indépendant de l’application : offre les mécanismes pour
demander et récupérer les segments de données manquants
 un composant dépendant de l’application
l application : est responsable du nommage
des segments de façon à ce qu’ils soient identifiés de manière unique
par tout le groupe et de l’ordonnancement
 idée : utiliser des NAK



le contrôle est déplacé de l’émetteur vers les récepteurs
la source émet sans se préoccuper des ACK
les récepteurs détectent les pertes sur «trous» de N° de séquence
 idée : un segment manquant n’est pas forcément
retransmis par la source
 de nombreux protocoles ont été proposés




atomicité : soit 0 soit tous les récepteurs ont reçu le msg
terminaison : le résultat d’une transm. est connu en un temps fini
SRM, RMTP, RAMP, RMP, etc.

SRM (2/2)
RMTP
hyp : D5, D6 et D7 ont
un msg manquant
 un seul membre demande la retransm.
 un seul membre retransmet le msg
manquant
 dimensionnement des Timers
 estimation du RTT pour chaque
paire (Di, Dj)

S3/D3
 envoi des requêtes : slotting +
 difficulté

S2/D2
D4
D5


D7

nouveaux msgs
req. de retransm.
retransmissions

S
notion de hiérarchie
réduire l’implosion à la source
 éd i lles temps d
réduire
de réponse
é
notion de reprise en local
principe

D6
offre une transmission point à multipoint, fiable, avec maintien de
séquence
 idées
S1/D1
 principe
 Request Timer
 envoi des retransmissions
 Repair Timer
sur détection d’une perte, la demande de retransm. est Mcastée
le récepteur le plus proche du demandeur Mcaste la retransmission
 Reliable Multicast Transport Protocol
 but : minimiser le trafic
damping
offre une transmission fiable, sans séquencement, «scalable» (car
receiver-based + reprise en local)
2 composants
les récepteurs sont groupés
dans des régions locales
il y a un DR (Designated
Receiver) par région, chargé
d’agréger les msg de status
DR1
D
DR2
DR4
D
D
D
DR3
D
D
D
D
msg de status
difficulté : construire l’arbre logique
16
Plan
 Introduction
 Le multicast au niveau réseau
 Le multicast au niveau transport
Perspectives au niveau réseau
 adressage et routage à l’intérieur d’un groupe
D1
 Perspectives de recherche
réseau
 niveau transport
 niveau application
D
S
S
R1
R1
R2
D
R3
D
R4
D
 niveau
R5
D
D
D
D
R3
D
D
R4
D
multicast sur un sous-arbre

D2
R2
D2
R5
D
D
D
D1
reachcast
routage multicast dans un réseau mobile
routage multicast avec QoS
 IP Multicast et le monde réel…

Perspectives au niveau transport
Perspectives au niveau application
 contrôle de flux/congestion
 allocation des adresses multicast
 fiabilité assistée par les routeurs
 nommage d’objets partagés
 auto-configuration des membres du groupe
Plan
 Introduction
 Le multicast au niveau réseau
 Le multicast au niveau transport
fiabilité
 SRM
 RMTP
Perspectives


 IP Multicast et le monde réel…
Motivation commerciale
 Problème



Le trafic dans l'Internet croît d'environ 100% par an
La technologie des routeurs s'améliore de 70% par an
Les routeurs suffisamment rapides sont très coûteux
 Les ISPs doivent trouver un moyen
y de réduire le
trafic
 Le multicast pourrait être utilisé pour…



Le Web : distribuer les données depuis des sites en vogue
vers des caches à travers l'Internet
Envoyer des flux multicast audio/vidéo
La distribution de logiciel
17
Problèmes d'ISP
 Le multicast entraîne une haute utilisation du réseau



Une source peut produire une charge totale du réseau élevée
Les applications multicast expérimentales demandent
relativement beaucoup de bade passante : audio et vidéo
Pas de contrôle de flux dans la plupart des applications multicast
 Le multicast casse le modèle de facturation telco/ISP



Actuellement, à la fois l'émetteur et le récepteur payent la BP
Le Multicast permet à l'émetteur d'acheter moins de BP tout en
atteignant autant de récepteurs
La charge sur le réseau de l'ISP n'est pas proportionnelle au
débit de la source
Economie du Multicast
 Un paquet envoyé à plusieurs récepteurs
 émetteur
+ bénéficie de la réduction de la charge du réseau
comparée à l'unicast
+ coût
ût d
de connectivité
ti ité au réseau
é
plus
l faible
f ibl
 Fournisseur de service réseau
- Un paquet envoyé peut causer une charge plus
élevée qu'une charge de paquet unicast
+ réduit le trafic global qui circule sur le réseau
 Récepteur
= même nombre de paquets reçus qu'en unicast
Problèmes du multicast
Solution actuelle de multicast pour les ISPs
 Le multicast n'est pas mûr



protocoles et applications non mûrs
Les outils sont pauvres, difficiles à utiliser, le débuggage est
difficile
Les protocoles de routage laissent beaucoup de questions non
résolues
 Interopérabilité de l'inondation et élagage / abonnement explicite
 Instabilité de routage
 Restriction des émetteurs de données multicast
 Facturation des émetteurs pour distribuer du trafic
multicast

 Le développement multicast s'est focalisé sur les problèmes
académiques, pas sur les problèmes commerciaux


Le multicast casse le modèle de facturation telco/ISP
Le routage ne s'est pas intéressé aux politiques
 PIM, DVMRP, CBT ne s'occupent pas des problèmes de politiques
d'ISP
 BGMP s'en préoccupe un peu, mais il est encore en cours de
développement
Agréments statiques
 Ne pas transmettre du trafic multicast


certains ISP offrent un trafic multicast à leurs utilisateurs
(ex UUNET UUCast)
Les ISP commencent à négocier des accords entre pairs
Bibliographie

[RFC 1112] S. Deering, «Host Extensionsfor IP Multicasting», August 1989.

[RFC 1075] D. Waitzman, S. Deering, C. Partridge, «Distance Vector Multicast Routing Protocol»,
November 1988.
[RFC 1584] J. Moy, «Multicast Extensions to OSPF», March 1994.
[RFC 2189] A. Ballardie, «Core Base Trees (CBT Version 2) Multicast Routing: Protocol
Specification», September 1997.
[RFC 2201] A. Ballardie, «Core Base Trees (CBT Version 2) Multicast Architecture», September
1997.
[RFC 2236] R. Fenner, «Internet Group Management Protocol, Version 2», November 1997.
[RFC 2362] D.
D Estrin,
Estrin D.
D Farinacci,
Farinacci A.
A Helmy,
Helmy D.
D Thaler,
Thaler S.
S Deering,
Deering M.
M Handley,
Handley V
V. Jacobson
Jacobson, C
C.
Liu, P. Sharma, L. Wei, «Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol
Specification, June 1998.
C. Diot, W. Dabbous, J. Crowcroft, «Multipoint Communication: A Survey of Protocols, Functions
and Mechanisms», IEEE JSAC, Vol.15, N°3, April 1997.
S. Floyd, V. Jacobson, S. McCanne, C.G. Liu, L. Zhang, «A Reliable Multicast Framework for Lightweight Sessions and Applications Level Framing», Proc. of ACM SIGCOMM’95, October 1995.
S. Paul, K.K. Sabnani, J.C. Lin, S. Bhattacharyya, «Reliable Multicast Transport Protocol (RMTP)»,
IEEE JSAC, Vol.15, N°3, April 1997.
S. Paul, «Multicasting on the Internet and its Applications», Kluwer Academic Publishers, 1998.
http://www.mbone.com










18
Motivation
• Plusieurs applications requièrent des communications de unà-plusieurs (i.e. multicast)
–
–
–
–
–
Video/audio conférences
Vidéo à la demande
Tableau blanc partagé
Enseignement à distance
Dissémination d’informations (quotations boursières, mises à
jour de logicels)
– …
IP Multicast
Prométhée Spathis
Bénédicte Le Grand
Université Pierre et Marie Curie
Laboratoire CNRS-LIP6
[email protected]
Multicast Advantages
Enhanced efficiency: Controls network traffic and reduces
server and CPU loads
Optimized performance: Eliminates traffic redundancy
Distributed applications: Makes multipoint applications
possible
• For the equivalent amount of multicast traffic
traffic, the
sender needs much less processing power and
bandwidth.
• Multicast packets do not impose as high a rate of
bandwidth utilization as unicast packets, so there is
a greater possibility that they will arrive almost
simultaneously at the receivers.
Passage à l’échelle ((scalability
scalability))
source
• Utilisation de communications point-à-point (i.e. unicast) avec
réplication des données au niveau de la source
˃ Impossible en raison du facteur d’échelle (scalability)
Multicast Disadvantages
Multicast is UDP-based.
• Best-effort delivery
Heavy drops in Voice traffic
Moderate to Heavy drops in Video
•
•
•
•
No congestion avoidance
Duplicate packets may be generated
Out-of-sequence delivery may occur
Efficiency issues in filtering and in security
Routage Multicast (et autres fonctions)
fonctions)
source
• Unicast par réplication des données à la source :
–
–
–
–
Surchage de la source
Copies multiples d’une même donnée en transit sur un même lien
Connaissance à jour de la liste de tous les récepteurs intéressés
…
Routage (calcul des routes) [en sens inverse]
Acheminement des paquets avec réplication éventuelle
Abonnement dynamique : élagage/greffage de branches (pruning/grafting)
Modèle de service et sémantique
Modèle de service
• Notion de groupe ouvert
• Aucune synchronisation entre source et récepteurs
– Un groupe est l’ensemble des récepteurs qui partagent le même
intérêt pour un contenu donné
– Un récepteur qui souhaite appartenir à un groupe doit s’y abonner
explicitement
– Un
U groupe estt identifié
id tifié par une adresse
d
d
de classe
l
D
D, indépendante
i dé
d t
de la localisation des récépteurs abonnés
– Il suffit de connaître l’adresse d’un groupe pour atteindre tous ses
membres, …
– … sans nécessairement être abonné au groupe ou être connu des
autres membres.
– Une source peut commencer à émettre alors que le groupe est
encore vide
– Un récepteur nouveau venu prend le train en marche
• Avantages : passage à l’échelle
– aucune restriction sur le nombre et la localisation des membres
• Inconvénients :
– Aucun moyen de savoir qui écoute ou de bloquer certaines sources
• La composition d’un groupe est dynamique :
– Un récepteur peut se désabonner à sa convenance
Le multicast existait avant l’Internet
• Le multicast est supporté au
niveau 2 (liaison de données)
• Implémenté par Ethernet avant
de l’être au niveau IP
• Etendre ce modèle de comm. à
un réseau à échelle de l’Internet
• Concevoir un service multicast
au niveau IP …
• … en tirant partie des
fonctionnalités multicast déjà
existantes au niveau 2
Le multicast Ethernet : à quoi bon ?
hôtes
• Eviter de perturber les stations non concernées par une trame
˃ en ménageant les ressources de ces stations telles que leurs
capacités de réception (buffers) ou de traitements (CPU)
• Les stations concernées appartiennent à un groupe identifié par
une adresse multicast MAC Ethernet
• Ces stations ont en commun d’être toutes configurées avec
l’adresse multicast MAC Ethernet du groupe
routeurs
˃ une carte réseau est configurée avec autant d’adresses multicast
MAC Ethernet que de groupes auxquels appartient la station …
˃ … en plus de l’adresse MAC Ethernet unicast codé en dur par le
constructeur de cette carte
• Le filtrage au niveau 2 est plus efficace car réalisé par le matériel
alors qu’au niveau 3 logiciellement (consommation de CPU, …)
Le multicast Ethernet : à quoi bon ?
MAC DA
broadcast
unicast
FF:FF:…:FF
AA:BB:…:CC
Format des adresses multicast
Aucune station ne filtre les trames
au niveau 2 : toutes les stations
passent le paquet encapsulé à la
couche 3
• Adresses MAC Ethernet multicast (48 bits)
La station 3 laisse passer le paquet
Les autres stations filtrent la trame
adresse de groupe broadcast et multicast si positionné
multicast
01:00:5A:01:01:01
Seules les stations abonnées
passent le paquet à leur couche 3
• Adresses IP multicast – Classe D (32 bits)
S
01:00:5A:01:01:01
Toujours un seul exemplaire
de la trame envoyé par S
adresse universelle si positionnée ou locale sinon
AA:BB:…:CC
Toutes les stations voient
passer la trame
1 11 0
Identifiant du groupe (sur 28 bits)
en notation décimale pointée : 224.0.0.0 — 239.255.255.255
Utilisation des fctés multicast de niveau 2
Unicast Ethernet
• Implantation et déploiement de IP multicast controversé
• Un paquet IP unicast est encapsulé dans une trame dont
l’adresse MAC de destination est déterminé par ARP
˃ conversion des adresses de couche 3 en adresses MAC …
… au prix d’un broadcast sur le segement
– le principe du "bout en bout" : les partenaires d'une communication
dialoguent depuis chaque extrémité du réseau pour établir et gérer leur
communication.
– peu ou pas de contrôle : potentiellement dangereux
• Déploiement sans effets sur les autres stations du réseau
• Pas de perturbation du trafic existant
couche 2
couche 3
00:08:...:37 10.0.0.1
• Utilisation des fonctionnalités multicast offertes par la couche 2
˃ Mise en correspondance entre adresses Ethernet et adresses IP
multicast
MAC DA
Network
Protocol DA
“envoyer moi
à tous”
“envoyer moi
à tous les
hôtes de ce
sous-réseau”
Broadcast Ethernet
Multicast IP et Broadcast Ethernet
• L’adresse IP de broadcast (255.255.255.255) correspond à
l’adresse Ethernet de broadcast (FF:FF:FF:FF:FF:FF)
• Diffusion d’un paquet IP sur un réseau Ethernet par encapsulation
dans une trame dont l’adresse de destination est l’adresse MAC
FF:FF:FF:FF:FF:FF
˃ mécanisme de résolution d’adresses inutile
• Encapsulation des paquets IP multicastés
˃ Utilisation de l’adresse Ethernet broadcast (FF:FF:FF:FF:FF:FF)
pour le trafic IP Multicast ?
couche 2
couche 2
couche 3
FF:FF:…:FF
254.1.1.1
MAC DA
Protocol DA
couche 3
fffff…f
255.255.255.255
MAC DA
Protocol DA
“envoyer moi
à tous”
Network
“envoyer moi
à tous les
hôtes de ce
sous-réseau”
“Envoyer moi
à tous
Network
“Envoyer moi aux
machines hôtes
de ce groupe”
˃ Solution inefficace car elle affecte toutes les machines du réseau,
y compris celles non abonnées au groupe ! (filtrage logiciel)
Ethernet Multicast ?
Report des abonnements
• Pour multicaster efficacement un paquet IP sur un réseau
Ethernet, il suffirait de l’encapsuler dans une trame dont l’adresse
de destination est une adresse MAC Ethernet multicast
• Mais comment faire correspondre adresses multicast de niveau 3
et de niveau 2 ?
˃ ARP étendu aux adresses IP multicast : non scalable
• Une machine hôte qui s’abonne à un groupe multicast au niveau
IP se met à écouter les trames envoyées sur une adresse MAC
Ethernet multicast construite à partir de l’adresse IP multicast du
groupe
• Le mécanisme de construction des adresses MAC Ethernet
multicast
lti
t estt connu des
d machines
hi
hôtes
hôt émettrices.
é tt i
˃ Les paquets IP multicastés par la source sont encapsulés dans
une trame dont l’adresse MAC Ethernet est construite de la même
manière
reporter les abonnements IP au niveau Ethernet
• Protocole de résolution d’adresses IP Multicast rendu inutile
• Les adresses MAC Ethernet multicast sont déduites localement
aux machines hôtes
Ethernet Multicast ?
Adresses Ethernet MAC multicast
• Pour multicaster efficacement un paquet IP sur un réseau
Ethernet, il suffirait de l’encapsuler dans une trame dont l’adresse
de destination est une adresse MAC Ethernet multicast
• Mais comment faire correspondre adresses multicast de niveau 3
et de niveau 2 ? reporter les abonnements IP au niveau Ethernet
• Utilisation des fonctionnalités multicast de niveau 2 par IP
˃ conversion des adresses IP multicast en adresses MAC Ethernet
couche 2
couche 3
0100.5A01.0101 254.1.1.1
MAC DA
“Envoyer moi aux
stations de ce
groupe”
• Eviter que le résultat de cette conversion ne soit des adresses
j utilisées
MAC Ethernet déjà
˃ réservation d’un bloc d’adresses MAC Ethernet à cet effet
Network
01-00-5e-00-00-00
Protocol DA
Préfixe partagé
long de 25 bits
“Envoyer moi aux
machines hôtes
de ce groupe”
Adresses Ethernet MAC multicast
00000001:00000000:01011110:00000000:00000000:00000000
00000001 00000000 01011110 01111111 11111111 11111111
00000001:00000000:01011110:01111111:11111111:11111111
• Dans ce bloc d’addresses MAC Ethernet, les adresses partagent
les 25 bits de poids fort en commun
• Les 23 bits restants (48 – 25) sont utilisées dans la conversion
des adresses IP en adresses MAC Ethernet multicast
˃ Recopie des 23 bits de poids faible de l’adresse IP multicast
01-00-5e-7F-FF-FF
Conversion des adresses multicast
• Le préfixe des adresses MAC Ethernet multicast est long de 3
octets et vaut : 01-00-5E
• La moitié de ce bloc a été réservée pour la conversion des
adresses IP multicast en adresses MAC Ethernet
˃ Le 25e bit est positionné à ‘0’, soit en binaire :
00000001 00000000 01011110 0XXXXXXX XXXXXXXX XXXXXXXX
00000001.00000000.01011110.0XXXXXXX.XXXXXXXX.XXXXXXXX
• Les 23 bits restants sont copiés depuis l’adresse IP multicast
˃ Une machine hôte qui s’abonne au niveau IP au groupe identifié
par l’adresse 224.10.8.5 …
˃ … se met au niveau 2 à l’écoute des trames envoyées à l’adresse
MAC Ethernet 01-00-5E-0A-08-05 :
˃ les paquets que ces trames encapsulent sont systématiquement
passés à la couche 3
Exemple de conversion IP – MAC Ethernet (1)
Exemple de conversion IP – MAC Ethernet (2)
Adresse IP multicast:
Adresse IP multicast:
11100000.0
1110
0000.00000001.00000001.00000010
0000001.00000001.00000010
11100000.0
1110
0000.00000001.00000001.00000010
0000001.00000001.00000010
11100000.1
1110
0000.10000001.00000001.00000010
0000001.00000001.00000010
5 bits non recopiés
11100001.0
1110
0001.00000001.00000001.00000010
0000001.00000001.00000010
...
11101111.1
1110
1111.10000001.00000001.00000010
0000001.00000001.00000010
Adresse MAC Ethernet :
Adresse MAC Ethernet :
00000001.00000000.01011110.00000001.00000001.00000010
00000001.00000000.01011110.0
0000001.00000001.00000010
00000001.00000000.01011110.00000001.00000001.00000010
00000001.00000000.01011110.0
0000001.00000001.00000010
Le filtrage n’est plus possible au niveau 2 !
Qu’à celà ne tienne : le filtrage sera fait au niveau IP
Chevauchement des adresses IP multicast
converties
224.1.1.1
S
01:00:5E:01:01:01
couche 2
couche 3
0100.5E01.0101 224.1.1.1
MAC DA
Protocol DA
238.129.1.1
01:00:5E:01:01:01
couche 2
couche 3
0100.5E01.0101 238.129.1.1
MAC DA
Protocol DA
• Les 2 machines hôte reçoivent les trafics destinés aux deux
groupes multicast (224.1.1.1 et 238.129.1.1) …
• … en dépit de leur abonnement respectif
˃ filtrage au niveau 3 en dernier ressort
˃ Mais probabilité faible : 1/223
Composants de l’archicture IP Multicast
Conversion non bijective (mais subjective)
bloc de 32 adresses IP Multicast
224.1.1.1
224.129.1.1
225.1.1.1
225.129.1.1
.
.
.
238.1.1.1
238.129.1.1
239.1.1.1
239.129.1.1
Une seule adresse MAC Ethernet
0x0100.5E01.0101
• Le filtrage n’est plus possible au niveau Ethernet
• Qu’à cela ne tienne : le filtrage est réalisé au niveau IP sur la
base des adresses IP de destination des paquets reçus
Internet Group Management Protocol
(IGMP)
• Protocole qui permet aux machines hôtes de rapporter leurs
abonnements en cours au routeur multicast voisin
Modèle de service
IGMP
entre
t hôtes
hôt ett routeurs
t
hosts
routers
Routage intra-domaine
– IGMPv1 [RFC-1112], première version standardisée et déployée à
grande échelle
– IGMPv2 [RFC-2236], réduction du temps nécessaire au routeur pour
prendre connaissance des groupes dans lesquels il n’y
n y a plus aucun
membre
– IGMPv3 [RFC 3376], ajout du filtrage de source
• Permet aux routeurs de maintenir la liste de groupes non vides
• Occupe la même position que ICMP dans la pile TCP/IP
Routage inter-domaine
Fonctionnement de IGMP (1)
• Sur chaque brin, un routeur est élu comme “querier”
• Le querier envoie périodiquement un Membership Query à
tous les systèmes multicast (224.0.0.1), avec un TTL à 1
• Sur réception du Query, les hôtes enclenchent un temporisteur
aléatoire (entre 0 et 10 secondes) pour chaque groupe de
diffusion auxquelles ils sont abonnés
• A l’expiration du temporisateur enclenché pour un groupe G,
une machine hôte renvoie un Membership Report par groupe
G, avec un TTL à 1
• Les autres membres de G qui entendent ce Report, désarme
leur temporisteur
• Les routeurs écoutent tous les Reports, les informations
concernant les groupes qui ne répondent pas expirent
Les messages IGMPv1
IGMP Query
router
IGMP report
router
A
Multicast interested hosts
Other hosts
B
A
A
Fonctionnement de IGMP (2)
Fonctionnement de IGMP (3)
router
routing update
routing update
30 sec
router
t
•
˃
•
˃
Envoi des Queries périodiquement
prise en cpte de la dynamicité des groupes
Envoi différé aléatoirement des Reports :
réduction du nbre de Reports reçus en réponse à un Query
– en théorie, un seul report par groupe G en réponse à un Query
– le routeur ne cherche pas à connaître la liste des membres de G
router
t
LAN 2
IGMP
report
IGMP
IGMPreport
query
LAN 1
Group
member
LAN 3
Group
member
IGMP query
• Les intervalles entre Queries successifs choisissent entre 60 et 90
secondes
• Une machine hôte qui s’abonne à un groupe
– envoie immédiatement un ou deux Reports non sollicités
– sans attendre que le routeur envoie un Query
Group
member
• Une machine hôte qui souhaite quitter un groupe ?
– désabonnement implicite
IGMP Version 2 améliorations apportées
IGMPv2 Leave et Group
Group--Specific Query
• Procedure d’éléction du routeur querier sur chaque brin
– dans la version 1, à la charge des protocoles de routage
– comparaison de l’adresse des routeurs candidats
router
• Group-Specific Query Message
IGMP Group-specific
Query
IGMP leave
– interrogation sélective des membres d’un groupe en particulier
– et non toutes les systèmes multicast du sous-réseau (224.0.0.1)
A
B
A
A
• Leave-Group Message
– indiquation explicite d’un désabonnement
– réduction du temps nécessaire au routeur pour déterminer les groupes
qui ne contiennent plus aucun membre
– envoyés à tous les routeurs multicast du sous-réseau (224.0.0.2)
– sur réception d’un Leave-Group pour un groupe G, un routeur utilise les
Group-Specific Query pour vérifier s’il reste des membres abonnés à G
IGMPv2 –GroupGroup-Specific
Multicast interested hosts
Other hosts
IGMPv2
•
Group-specific query
•
Leave group
•
Query-interval response time
•
Eléction du routeur Querier
router
router
router
prune (S,G)
router
router
Group
Member
Specific
G query
IGMP Group
Leave G
Group
Member
router
Group
Member
– Les routeurs envoient un Membership Query pour un groupe en
particulier
˃ réduction du traffic
– Une machine hôte quitte explicitement un groupe
˃ réduction du temps nécessaire pour que son abonnement soit effectif
au niveau du routeur
– Le routeur Querier fixe l’intervalle de temps séparant entre Query et
Report
˃ contrôle des rafales de trafic et réduction délai nécessaire à la prise
en compte des désabonnements
– IGMPv2 ne repose plus sur le protocole de routage multicast
IGMP Version 3
Limitations of IP Multicast
• Différence avec la version 2:
– extension de l’interface de service et modification du protocole pour
permettre aux récepteurs de spécifier une liste de machines hôtes
comme sources émettrices autorisées ou interdites
 pour écouter le trafic provenant seulement des sources
appartenant à cette liste
 pour écouter le trafic provenant de toutes les autres les sources à
part celles appartenant à cette liste
• Difficult to support high level functionalities on upper layer
– E.g. congestion control, reliability
– Network and receiver heterogeneities
• Routers need maintain per-group state
• Limited multicast addresses (class D only)
• Compatibilité avec les versions précédentes (1 & 2)
Multicast Today
Multicast Today
• Mbone applications starting in early 1990s
• Mbone applications starting in early 1990s
– Primarily video conferencing, but no longer operational
– Primarily video conferencing, but no longer operational
• Still many challenges to deploying IP multicast
• Still many challenges to deploying IP multicast
– Security vulnerabilities, business models, …
– Security vulnerabilities, business models, …
• Application-layer multicast is more prevalent
• Application-layer multicast is more prevalent
– Tree of servers delivering the content
– Collection of end hosts cooperating to delivery video
– Tree of servers delivering the content
– Collection of end hosts cooperating to delivery video
• Some multicast within individual ASes
• Some multicast within individual ASes
– Financial sector: stock tickers
– Within campuses or broadband networks: TV shows
– Backbone networks: IPTV
– Financial sector: stock tickers
– Within campuses or broadband networks: TV shows
– Backbone networks: IPTV
39
IP Multicast Deployment Issues
End--System Multicast
End
• IP multicast still is not widely deployed
• IP Multicast-capable routers at all levels of the network
– Technical and business challenges
– Should multicast be a network-layer service?
– From backbone to edge routers
• Management and security issues
–
–
–
–
–
40
• ALM: Multicast tree of end hosts
The ease of flooding attacks via multicasting
Unauthorized reception of data from a multicast session
Allocation of same multicast address for 2 sessions
Setting up firewalls while allowing multicasting
…
– Allow end hosts to form their own multicast tree
– Hosts receiving the data help forward to others
• Billing and service charge
– No model to charge for the delivery of packets duplicated
• …
41
42
Advantages of Application
Application--Layer Multicast
• Easy to support high level functionalities
– Make use of end-host resource (e.g. memory, process power) to make a
more sophisticated decision
– Make use of the existing solutions for unicast congestion control and
reliability
• Able to modify the content of data
• Does not need router support
• Unlimited multicast addresses