ip multicast: architettura e protocolli - taschin antonio -

118
IP Multicast: architettura e protocolli - Taschin Antonio -

Upload: pierina-corsi

Post on 01-May-2015

224 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: IP Multicast: architettura e protocolli - Taschin Antonio -

IP Multicast: architettura e protocolli

- Taschin Antonio -

Page 2: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 2

Sommario

• Introduzione al multicast• Routing interno• Altri protocolli multicast• Routing esterno

Page 3: IP Multicast: architettura e protocolli - Taschin Antonio -

Introduzione al Multicast

•Cos’è il multicast

•Storia

•MBone

•Il Multicast nell’ISO/OSI

•Comandi

Page 4: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 4

Cos’è il multicast

La tecnologia multicast, è un processo che trasmette le informazioni da una sorgente a più destinazioni con un

unico flusso di dati, invece di usarne molteplici.

•Tante connessioni separate quante sono le richieste

•Utilizzare il broadcast

Page 5: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 5

PRO CONTRO

Larghezza di banda

Carico del server

Carico della rete

Inaffidabilità della consegna

Duplicazione di pacchetti

Congestioni di rete

Page 6: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 6

• Videoconferenze, video on demand• Quotazioni in borsa, distribuzione di listini e cataloghi

in tempo reale• Training, teledidattica• Distribuzione di software• Possibilità di sfruttare Internet per trasmissioni di tipo

televisivo

Scenari di applicazione

Page 7: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 7

Storia

• Stanford University primi anni 80

• Steve Deering e Vsystem

• Agosto 1989 RFC1112

• Dicembre 1991 “Multicast routing in a Datagram Network”

Page 8: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 8

MBone

•Tunnel

rete virtuale sperimentale di router multicast, costruita sopra la struttura standard di Internet

• mrouted protocollo di routing DVMRP

Page 9: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 9

Storia di MBone

• Primi anni 90

• Darpa Testbed Network (DARTNet)

• MIT,SRI, ISI, BBN, varie università

• 1992 IETF meeting a San Diego

Page 10: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 10

Gli indirizzi multicast

224.0.0.0 – 239.255.255.255

Insieme di zero o più host identificato da un singolo indirizzo IP di classe D

Page 11: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 11

…riassumendo

•Indirizzi IP Multicast–Classe D — caratterizata dai 4 bit più alti (1110)=(224.0.0.0)–Range da 224.0.0.0 a 239.255.255.255

•Well known addresses stabiliti dallo IANA –Per usi riservati da 224.0.0.0 a 224.0.0.255

•224.0.0.1—all systems on subnet•224.0.0.2—all routers on subnet•224.0.0.13 – all PIM routers•“http://www.iana.org/assignments/multicast-addresses ”

•Altri indirizzi utilizzati dinamicamente:–Global scope: 224.0.1.0-238.255.255.255–Limited Scope: 239.0.0.0-239.255.255.255– Site-local scope: 239.255.0.0/16– Organization-local scope: 239.192.0.0/16

Page 12: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 12

Le applicazioni in MBone

• Session Announcement Protocol• Session Description Protocol• Session Initiation Protocol

SessioneTrasmissione di dati in MBone

Page 13: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 13

Session Announcement Protocol (SAP)

• Per annunciare una sessione multicast e la sua descrizione

• Sessioni Gloobal Scope 224.2.127.254

• 224.2.128.0 – 224.2.255.255

• Sessioni Administrative Scope indirizzo più alto

• Porta 9875

Page 14: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 14

Cancellazione di una sessione

• Explicit Timeout

• Implicit Timeout

• Explicit Deletion

Page 15: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 15

Tool di MBone

• SDR (Session Directory)• VIC (Video Conferencing Tool)• RAT e VAT (Robust e Visual Audio Tool)• WB

Page 16: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 16

Livello 2: Multicast Ethernet

• Esempio:

• L’indirizzo AB-CD-EF-04-26-45

– la cifra AB (171 in notazione decimale) è dispari.

Indirizzo Ethernet 48bit 6 campi da 2 cifre esadecimali

L’indirizzo multicast viene riconosciuto dalla prima cifra esadecimale dell’indirizzo.

•Pari unicast•Dispari multicast

Page 17: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 17

…esempio• L’indirizzo AB-CD-EF-04-26-45

– la cifra AB (10101011) è dispari.

• Livello 1:

• Ogni singolo byte viene trasferito autonomamente• dal più significativo• Ogni bit del byte viene trasferito dal meno significativo

il primo bit che esce dalla scheda di rete è un 1

mappare gli indirizzi della classe D con indirizzi Ethernet che generino fisicamente un livello alto di tensione all'inizio.

Page 18: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 18

01-00-5e-7f-00-0101-00-5e-7f-00-01

239.255.0.1239.255.0.1

32 Bits

23 Bits

24 Bits 24 Bits

48 Bits

Multicast su Ethernet (livello 2)

RFC1112 01-00-5E-00-00-00

Page 19: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 19

Indirizzo Multicast Ethernet

• HEX 01 00 5E - 23 bit -• BIN 0000 0001 0000 0000 0101 1110 0xxx xxxx xxxx xxxx xxxx

xxxx• | | • Multicast Bit 0 = Internet Multicast

Page 20: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 20

Sovrapposizione di indirizzi

32 Bits

28 Bits

25 Bits 23 Bits

48 Bits

01-00-5e-7f-00-01

239.255.0.1239.255.0.11110

5 BitsLost

Page 21: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 21

224.1.1.1224.129.1.1225.1.1.1225.129.1.1 . . .238.1.1.1238.129.1.1239.1.1.1239.129.1.1

0x0100.5E01.0101

1 - Multicast MAC Address

32 – Indirizzi IP Multicast

Sovrapposizione di indirizzi

Page 22: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 22

224.0.0.x224.129.0.x225.0.0.x225.129.0.x . . .238.0.0.x238.129.0.x239.0.0.x239.129.0.x

0x0100.5E00.00xx

32 – Indirizzi IP Multicast

1 - Multicast MAC Address

Sovrapposizione di indirizzi

Page 23: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 23

Perché

• Primi anni 90 Steve Deering

• IEEE 16 consecutivi OUI (Organizational Unique Identifier)

Page 24: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 24

Il concetto di Gruppo

1. Insieme di zero o più host identificato da un indirizzo di classe D

2. Associarsi o Abbandonare3. Non è statico ma dinamico4. Non è necessario essere membri di un

gruppo per inviare dati a quel gruppo5. Per ricevere i dati però bisogna essere

membri del gruppo

Page 25: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 25

Internet Group Management Protocol

IGMP

• IGMPv1 RFC1112 obsoleto• IGMPv2 RFC2236 in uso• IGMPv3 bozza

Page 26: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 26

Pachetto IGMPv1

•Version•in questo campo viene specificata la versione dell’IGMP

•Typeesistono due tipi di messaggi IGMP:•1 = Host Membership Query.•2 = Host Membership Report.

•Unused• 0 quando viene spedito

•Checksum•Group Address

Page 27: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 27

IGMPv1

224.0.0.1 ALL-SYSTEMS.MCAST.NET

224.0.0.2 ALL-ROUTERS.MCAST.NET

• Membership Query

• Membership Report

• Leave Group

Page 28: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 28

224.1.1.1

Report

IGMPv1—Associarsi a un gruppo

• Per associarsi a un gruppo un PC manda un pacchetto IGMP report all’indirizzo 224.1.1.1 con TTL 1

IGMPv1

H3H1 H2

Page 29: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 29

Membership Query all’indirizzo 224.0.0.1

MulticastRouter

IGMPv1 — Membership Queries

• Periodicamente il router invia un pacchetto IGMP di Membership Query all’indirizzo 224.0.0.1 per aggiornare la tabella dei gruppi multicast attivi

IGMPv1

H3H1 H2

Page 30: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 30

IGMPv1

IGMPv1

#1#1 Router manda periodicamente la Membership Query

Query a224.0.0.1 #1#1

#2#2 Solo un membro per gruppo invia il report

224.1.1.1

Report

#2#2

#3#3 Gli altri membri non inviano nulla

224.1.1.1

SoppressoX

#3#3

224.1.1.1

SoppressoX

#3#3

H1 H2 H3

Page 31: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 31

H3

• Il router invia periodicamente i pacchetti IGMP

Query a224.0.0.1

• Il PC lascia il gruppo senza segnalarlo

H3

• Il router continua ad inviare le query periodiche

Query a224.0.0.1

IGMPv1 — Abbandonare un gruppo

IGMPv1

H1 H2

• Il router non riceve nessun report per quel determinato gruppo• Il gruppo va in time out

Page 32: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 32

IGMPv2

• RFC 2236

– group-specific query•Il router si assicura che non ci sia più nessun interessato al gruppo prima di cessare il forwarding di quel traffico multicast

– Leave group message•Gli host possono inviare questo messaggio per abbandonare il gruppo

Page 33: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 33

IGMPv2

• Querier election mechanism–Viene selezionato il router con l’indirizzo IP minore.

• Query-interval response time–Viene impostato il massimo tempo nel quale un host può rispondere

• Compatibilità con IGMPv1

Page 34: IP Multicast: architettura e protocolli - Taschin Antonio -

Pacchetto IGMPv2

Type0x11 Membership Query: ci sono due sottotipi di messaggi:

•General Query: utilizzato per conoscere quali gruppo hanno dei partecipanti in una particolare rete.•Group-Specific Query: utilizzato per conoscere se un particolare gruppo ha dei partecipanti in una particolare rete.

0x12 Membership Report usato per la compatibilità con la versione 1.0x16 Membership Report per la versione 2.0x17 Leave Group: Abbandono del gruppo

Page 35: IP Multicast: architettura e protocolli - Taschin Antonio -

Pacchetto IGMPv2

Max Response Time questo campo è significativo solo nei messaggi di tipo Membership Query e specifica il tempo massimo consentito prima di inviare un report di risposta. Il tempo è misurato in unità da 1/10 di secondo. Negli altri messaggi, questo campo, è settato a zero da coloro che trasmettono e ignorato da chi riceve.

Page 36: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 36

224.1.1.1

Report

H1 H3

1.1.1.10 1.1.1.11 1.1.1.12

IGMPv2—Unirsi a un gruppo

• Il PC che sta per unirsi a un gruppo invia un messaggio IGMP al gruppo di cui vuol far parte

H3H1 H2

1.1.1.1

router

Page 37: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 37

1.1.1.1

Stato IGMP nel router

router>show ip igmp groupIGMP Connected Group Membershipgruppo Address Interface Uptime Expires Last Reporter224.1.1.1 Ethernet0 6d17h 00:02:31 1.1.1.11

IGMPv2—Unirsi a un gruppo

H1 H3

1.1.1.10 1.1.1.11 1.1.1.12

router

H3H1 H2

Page 38: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 38

IGMPv2—Querier Election

IGMPv2

1.1.1.11.1.1.2

H1 H2 H3

• Inizialmente tutti i router inviano una Query

Query Query

• Il router con il più basso indirizzo IP viene eletto querier

IGMPQuerier

• Gli altri router diventano “Non-Queries”

IGMPNon-Querier

routerrouter_b

1.1.1.10 1.1.1.11 1.1.1.12

Page 39: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 39

router>show ip igmp interface e0Ethernet0 is up, line protocol is up Internet address is 1.1.1.1, subnet mask is 255.255.255.0 IGMP is enabled on interface Current IGMP version is 2 CGMP is disabled on interface IGMP query interval is 60 seconds IGMP querier timeout is 120 seconds IGMP max query response time is 10 seconds Inbound IGMP access group is not set Multicast routing is enabled on interface Multicast TTL threshold is 0 Multicast designated router (DR) is 1.1.1.1 (this system) IGMP querying router is 1.1.1.1 (this system) Multicast groups joined: 224.0.1.40 224.2.127.254

Quale router?

IGMPv2—Querier Election

Page 40: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 40

IGMPv2—Mantenere un gruppo

• Il router invia le query periodiche

Query1.1.1.1

IGMPv2

1.1.1.10 1.1.1.11 1.1.1.12

• Solo un unico membro per gruppo risponde con un report

224.1.1.1

Report

• Gli altri membri sopprimono l’invio del report

224.1.1.1

SuppressedX

224.1.1.1

SuppressedX

H1 H2 H3

Page 41: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 41

IGMPv2—Abbandonare un gruppo

router>sh ip igmp groupIGMP Connected Group MembershipGroup Address Interface Uptime Expires Last Reporter224.1.1.1 Ethernet0 6d17h 00:02:31 1.1.1.11

1.1.1.1

H1 H2 H3

1.1.1.10 1.1.1.11 1.1.1.12

router

Stato IGMP nel router

Page 42: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 42

IGMPv2—Abbandonare un gruppo

• H2 lascia il gruppo ed invia un Leave message

1.1.1.1

H1 H2 H3

1.1.1.10 1.1.1.11 1.1.1.12

H2

Leave Msg224.0.0.2

224.1.1.1

#1#1

• Il router invia il solito Group specific query

Group SpecificQuery to 224.1.1.1

#2#2

• Uno dei membri rimasti risponde

Report a224.1.1.1

224.1.1.1

#3#3

• Il gruppo resta attivo

router

Page 43: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 43

IGMPv2—Abbandonare un gruppo

router>sh ip igmp groupIGMP Connected Group MembershipGroup Address Interface Uptime Expires Last Reporter224.1.1.1 Ethernet0 6d17h 00:01:47 1.1.1.12

1.1.1.1

H1 H2 H3

1.1.1.10 1.1.1.11 1.1.1.12

router

Stato IGMP nel router

Page 44: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 44

IGMPv2—Abbandonare un gruppo

• L’ultimo membro rimasto invia un Leave message

1.1.1.1

H1 H3

1.1.1.10 1.1.1.11 1.1.1.12

H3

Leave M224.0.0.2

224.1.1.1

#1#1

• Il router invia il solito Group specific query

Group SpecificQuery to 224.1.1.1

#2#2

• Il router non riceve nessun report• Il gruppo va in time out

router

H2

Page 45: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 45

IGMPv2—Abbandonare un gruppo

router>sh ip igmp groupIGMP Connected Group MembershipGroup Address Interface Uptime Expires Last Reporter

1.1.1.1

H1 H2 H3

1.1.1.10 1.1.1.11 1.1.1.12

router

Stato IGMP nel router

Page 46: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 46

Comandiip multicast-routing

clear ip igmp group

clear ip sdr

ip igmp access-group

ip igmp helper-address

ip igmp join-group

ip igmp query-interval

ip igmp query-max-response-time

ip igmp query-timeout

ip igmp static-group

ip igmp version

ip multicast cache-headers

ip multicast rate-limit

ip multicast ttl-threshold

ip sdr cache-timeout

ip sdr listen

mrinfo

mstat

mtrace

show ip igmp groups

show ip igmp interface

show ip sdr

Page 47: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 47

In dettaglio• ip multicast-routing

– Default: Disabled

– Command Mode: Global

– Cisco IOS Release 10.0.

• ip multicast ttl-threshold <ttl>– Default: 0

– Command Mode: Interface

– Cisco IOS Release 11.0.

Page 48: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 48

In dettaglio• ip multicast rate-limit {in | out} [video | whiteboard] [group-list

access-list] [source-list access-list] kbps– Default: NC

– Command Mode: Interface

– Cisco IOS Release 11.0.

• ip igmp access-group <access-list-number> <version>– Default: tutti i gruppi sono permessi

– Command Mode: Interface

– Cisco IOS Release 10.0.

Page 49: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 49

In dettaglio• ip igmp join-group <group-address>

• ip igmp query-interval <seconds>

• ip igmp query-max-response-time <seconds>

• ip igmp query-timeout <seconds>

• ip igmp static-group <group-address>

Page 50: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 50

In dettaglio

• ip sdr cache-timeout <minuti>

• ip sdr listen

• mrinfo

• mstat

• mtrace

Page 51: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 51

In dettaglio• clear ip igmp group [group-name | group-address | type number]

• clear ip sdr [group-address | "session-name"]

• show ip igmp groups [group-name | group-address | type number]

• show ip igmp interface [type number]

• show ip sdr [group | "session-name" | detail]

Page 52: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 52

Routing Interno

• Principi di routing interno

• Protocolli di routing

• Comandi

Page 53: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 53

Inoltro e instradamento

• Inoltro (forwarding)– consiste nel prendere il pacchetto, esaminarne

l’indirizzo di destinazione, consultare la tabella di inoltro e inviare il pacchetto nella direzione stabilita e memorizzata nella tabella

• Instradamento (routing)– è il processo di costruzione della tabella di inoltro

Page 54: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 54

Principi di routing interno

• Alberi di distribuzione–Basati sulla sorgente (S,G)–Condivisi (*,G)

• Il multicast routing utilizza–“Reverse path forwarding” per costruire l’albero di distribuzione e arricurarsi che I pacchetti vengano inoltrati nella interfaccia corretta.

• Viene utilizzato un algoritmo unicast–È utilizzato per determinare il miglior percorso unicast dal ricevente alla sorgente.

Page 55: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 55

Algoritmi di routing

• Flooding• Spanning Tree• Reverse Path Broadcasting• Truncated Reverse Path Broadcasting• Reverse Path Multicasting

Page 56: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 56

Reverse Path Forwarding (RPF)Multicast Forwarding

• Come viene utilizzato RPF per costruire un albero di distribuozione?

–Gli alberi di distribuzione per il multicast vengono costruiti hop-by-hop, determinando il miglior hop successivo seguendo il percorso verso la sorgente con un algoritmo unicast.

– Dopo aver determinato l’hop successivo un Join o un Graft viene emesso nell’interfaccia RPF. Così viene costruito l’albero: dal ricevitore alla sorgente.

• Come funziona?

–Se il pacchetto arriva dall’interfaccia specificata da routing unicast per la sorgente allora il check RPF ha successo.

–Altrimenti fallisce.

Page 57: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 57

Unicast Route TableUnicast Route Table

NetworkNetwork Interface Interface

151.10.0.0/16151.10.0.0/16 S1S1

198.14.32.0/24198.14.32.0/24 S0S0

204.1.16.0/24204.1.16.0/24 E0E0

E0

S1

S0

S2

Pacchetto multicast dall’indirizzo151.10.3.21

Il pacchetto è arrivato dall’interfaccia corretta. Ora viene forwardato in tutte le altre interfaccie.

Multicast Forwarding

Page 58: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 58Receiver 1

B

E

A D F

Indirizzo Sorgente 1.1.1.1Gruppo 224.2.2.2

Notazione: (S, G) o (1.1.1.1 , 224.2.2.2) e (1.1.2.1 , 224.2.2.2)

S = SorgenteG = Gruppo

C

Receiver 2

Albero di distribuzione basato sulla sorgente

IndirizzoSorgente 1.1.2.1

Page 59: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 59Receiver 1

B

E

A D (Shared Root)

F

C

Receiver 2

Indirizzo Sorgente 1.1.2.1

Albero di distribuzione condiviso

Indirizzo Sorgente 1.1.1.1Indirizzo Gruppo 224.2.2.2 Notazione: (*, G) or (* , 224.2.2.2)

* = Tute le sorgenti G = gruppo

Page 60: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 60

Protocolli di routing

• Dense-mode–Metodo Flood and prune–Crea uno stato in ogni router per ogni sorgente–Supportano solo SPT o SDT

• Sparse-mode–Metodo del join espicito–Supportano sia I SDT che I Shared-DT

Page 61: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 61

Protocolli di routingAlbero basato sulla

sorgenteAlbero Condiviso

• Distance Vector Multicast Routing Protocol

• Multicast Open Shortest Path First

• Protocol Independent Multicast – Dense Mode

• Core Based Tree

• Protocol Independent Multicast - Sparse Mode

Page 62: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 62

DVMRP

• DVMRP– Utilizza il RIP e TRPB– Utilizza il metodo Flood and Prune– Molto utilizzato nelle reti accademiche– Costruisce un albero per ogni sorgente– Largamente utilizzato in MBone

Page 63: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 63

I problemi del DVMRP

• DVMRP non può scalare alle dimesioni di Internet

• Distance vector-based routing protocol– Update tabella di routing

• Un update ogni 60 secondi

– Dimensioni• Molte informazioni memorizzate nella tabella di routing

– Stabilità • Converge lentamente, count-to-infinity, etc.

• Non supporta gli albero condivisi

Page 64: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 64

Come funziona il DVMRP

Page 65: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 65

Come funziona il DVMRP

Page 66: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 66

MOSPF - RFC 1584Multicast Extension to OSPF

MOSPF - RFC 1584Multicast Extension to OSPF

• Estensione all’OSPF unicast

–OSPF: I router utilizzano del pacchetti aprticolari per capire le condiziojni della rete

–MOSPF: Include le informazioni multicast negli annunci OSPF. Ogni router ha un’immagine dell’intera topologia della rete

• Utilizza l’algoritmo di Dijkstra algorithm per calcolare SPT.

Page 67: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 67

MOSPFMOSPF• Non fa flood di traffico multicast

• Protocollo dipendente — lavora solo nelle reti in cui c’è l’OSPF.

• Problemi:– L’algoritmo di Dijkstra viene eseguito per ogni coppia

(S,G).

– Non supporta gli alberi condivisi

• Non è appropriato per:– Grandi reti con un grande numero di sernder e receiver.

Page 68: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 68

Il metodo Flood and Prune

Receiver 1

B

E

A D F

Sorgente

C

Receiver 2

No Receivers

RPF Fails (Normal)

1. Inizialmente viene fatto un fllod2. Prune dove non c’e’ il gruppo3. Prune i non SPT4. Reflooding periodico

Utilizzo del SPT

Protocolli Dense Mode

Page 69: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 69

PIM Dense Mode

• Protocollo Independente–Supporta la maggior parte dei protocolli unicast: static, RIP, IGRP, EIGRP, IS-IS, BGP, e OSPF

• Utilizza reverse path forwarding

• Adatto per...–Piccole reti densamente popolate dal multicast

Page 70: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 70

PIM Dense ModePIM Dense Mode• Vantaggi:

– Facile da configurare—due comandi

– Meccanismo di flood and prune molto semplice

– Facile da capire e facile debug

• Problemi...

– Non adatto per WAN

– Non supporta gli alberi condivisi

Page 71: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 71

Sorgente

Receiver 2

DD FF

II

BB

CC

AA

EE

GG

HH

LinkData

Control

Esempio PIM Dense Mode

Receiver 1

Page 72: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 72

Inizialmente viene effetuato un flooddei dati

Sorgente

Esempio PIM Dense Mode

IIEE

Receiver 1

DD FF

BBAA

GG

HH

Receiver 2

Page 73: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 73

Prune dei non Non-RPF

Sorgente

Prune

Receiver 1

Esempio PIM Dense Mode

DD FF

II

BB

CC

AA

EE

GG

HH

Receiver 2

Page 74: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 74

C e D devono decidire chi forwarderà il flusso

Sorgente

Asserts

Receiver 1

DD FF

II

BB

CC

AA

EE

GG

HH

Esempio PIM Dense Mode

Receiver 2

Page 75: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 75

Prune di IPrune di E ignorato

Sorgente

Prune

Receiver 1

Join Override

Prune

DD FF

II

BB

CC

AA

EE

GG

HH

Esempio PIM Dense Mode

Receiver 2

Page 76: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 76

Source

Graft

Receiver 3

Un nuovo Receiver, I invia un Graft

DD FF

II

BB

CC

AA

EE

GG

HH

Esempio PIM Dense Mode

Receiver 1 Receiver 2

Page 77: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 77

Source

Receiver 3Receiver 1

DD FF

II

BB

CC

AA

EE

GG

HH

Esempio PIM Dense Mode

Receiver 2

Page 78: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 78

PIM Sparse Mode (RFC 2362)

PIM Sparse Mode (RFC 2362)

• Supporta sia gli alberi condivisi che basati sulla sorgente• Utilizza un Rendezvous Point (RP)

– Le sorgenti si registrano nell’RP e inviano il loro traffico attravero l’RP

– Richiesta esplicita di ottenere il flusso multicast

– Indipendente dai protocolli unicast

– Ha posto le basi per il routing esterno (inter-domain)

• Adatto per…– Per tutti I tipi di rete

– Ottimale per gruppi che hanno receiver su WAN differenti

Page 79: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 79

Meccanismo di Join Esplicito

Receiver 1

B

E

A

Rendezvous Point(Shared Root)

F

Sorgente 1

C

Non Viewer

NonViewersD

1. Nessuno riceve il traffico di un gruppo senza un esplicito join2. Utilizzo del Rendezvous 3. Nessun flood periodico

Utilizza gli alberi condivisi per default. Ma può switchare se necessario ai SPT.

Protocolli Sparse Mode

Page 80: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 80

B

E

A D

C

RP

LinkData

Control

Esempio PIM Sparse Mode

Page 81: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 81

Receiver 1

BA D

Receiver 1 manda un Joins per il gruppo GC crea lo stato (*, G), E manda il join al RP

RP

Join

EC

Esempio PIM Sparse Mode

Page 82: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 82

Receiver 1

BA RP D

RP crea lo stato (*, G)

EC

Esempio PIM Sparse Mode

Page 83: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 83

Receiver 1

BA RP D

Sorgente 1 Sorgente 1 invia il flusso eA lo registra via unicast su RP

Register

EC

Esempio PIM Sparse Mode

Page 84: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 84

Receiver 1

BA RP D

Rp manda un join a B per ottenere il flusso nativo

Join Join

Sorgente 1

EC

Esempio PIM Sparse Mode

Page 85: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 85

Receiver 1

BA RP D

Register-Stop

Source 1

EC

Esempio PIM Sparse Mode

Page 86: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 86

Receiver 1

BA RP D

C invia un Join per il gruppo (S, G) per unirsi al Shortest Path Tree (SPT)

(S, G) Join

Source 1

EC

Esempio PIM Sparse Mode

Page 87: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 87

Receiver 1

BA RP D

C invia un msg di Prune fino al RP RP invia un msg di prune fino alla sorgente

(S, G) RP Prune

(S, G) Prune

Source 1

EC

Esempio PIM Sparse Mode

Page 88: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 88

Receiver 1

BA RP D

Nuovo receiver

Receiver 2

(*, G) Join

Source 1

EC

Esempio PIM Sparse Mode

Page 89: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 89

Receiver 1

BA RP D

C inserisce E nella OIF

Receiver 2

Source 1

EC

Esempio PIM Sparse Mode

Page 90: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 90

Receiver 1

BA RP D

Source 2 inizia a spedireD invia il messagio di Register RP inoltra I dati del msg

Receiver 2

Source 2

Register

Source 1

EC

Esempio PIM Sparse Mode

Page 91: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 91

Esempio PIM Sparse Mode

Receiver 1

BA RP D

RP invia un Join a D

Receiver 2

Register

Join Source 2

Source 1

EC

Page 92: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 92

Esempio PIM Sparse Mode

Receiver 1

BA RP D

RP invia Register-Stop

Receiver 2

Register-Stop

Source 2

Source 1

EC

Page 93: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 93

Esempio PIM Sparse Mode

Receiver 1

BA RP D

Sia l’albero condiviso che l’albero basato sulla sorgente sono in uso

Receiver 2

Source 2

Source 1

EC

Page 94: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 94

Comandiclear ip dvmrp route

clear ip mroute

clear ip pim auto-rp

ip dvmrp accept-filter

ip dvmrp auto-summary

ip dvmrp default-information

ip dvmrp metric

ip dvmrp metric-offset

ip dvmrp output-report-delay

ip dvmrp reject-non-pruners

ip dvmrp routehog-notification

ip dvmrp route-limit

ip dvmrp summary-address

ip dvmrp unicast-routing

ip mroute

ip mroute-cache

ip pim

ip pim accept-rp

ip pim message-interval

ip pim minimum-vc-rate

ip pim multipoint-signalling

ip pim nbma-mode

ip pim neighbor-filter

ip pim query-interval

ip pim rp-address

ip pim rp-announce-filter

ip pim send-rp-announce

ip pim send-rp-discovery

ip pim spt-threshold

ip pim vc-count

Page 95: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 95

Comandi

• show ip dvmrp route• show ip mcache• show ip mpacket• show ip mroute• show ip pim interface• show ip pim neighbor• show ip pim rp• show ip pim vc• show ip rpf• show ip sdr

Page 96: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 96

In dettaglio

• ip pim {dense-mode | sparse-mode | sparse-dense-mode}

• ip pim accept-rp {address | auto-rp} [group-access-list-number]

• ip pim message-interval seconds

Page 97: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 97

In dettaglio

• ip pim query-interval seconds • default 30

• ip pim rp-address ip-address [group-access-list-number] [override]

• ip dvmrp unicast-routing

Page 98: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 98

In dettaglio

• ip mroute source mask [protocol as-number] {rpf-address | type number} [distance]

• Es: ip mroute 0.0.0.0 255.255.255.255 tunnel0

• ip mroute 171.69.0.0 255.255.0.0 171.68.10.13

Page 99: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 99

Admin-Scoping

– Esempio di una semplice scoped zone: • 239.255.0.0/16 = Site-Local Scope Zone

• 239.192.0.0/10 = Org.-Local Scope Zone

• 224.0.1.0 - 238.255.255.255 = Global scope (Internet) zone

Page 100: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 100

Admin-Scoping

Economia Ingegneria

Centro Stella

T1

S1

S0

RP Locale RP Locale

Internet

T1

S0

S0

RP Locale

Border B Border C

Border A

AS Border

S0

Page 101: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 101Economia Ingegneria

Centro Stella

RP Locale RP Locale

InternetRP Locale

Border B Border C

Border A

S0

Admin-Scoping

Router di frontiera periferici

Router di frontiera periferici

Router di frontiera

T1

S1

S0

T1

S0

S0

Page 102: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 102

T1

S1

S0

T1

S0

S0

Admin-Scoping

Economia Ingegneria

Centro Stella

RP Locale RP Locale

InternetRP Locale

Border B Border C

Border A

AS Border

S0Interface Serial0. . . ip multicast ttl-threshold 16 ip multicast boundary 10

access-list 10 deny 239.255.0.0 0.0.255.255access-list 10 permit any

Interface Serial0. . . ip multicast ttl-threshold 16 ip multicast boundary 10

access-list 10 deny 239.255.0.0 0.0.255.255access-list 10 permit any

Page 103: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 103Economia Ingegneria

Centro Stella

RP Locale RP Locale

To InternetRP Locale

Border B Border C

Border A

AS Border

S0

Admin-Scoping

T1

S1

S0

T1

S0

S0Interface Serial0. . . ip multicast ttl-threshold 16 ip multicast boundary 10

Interface Serial1. . . ip multicast ttl-threshold 16 ip multicast boundary 10

access-list 10 deny 239.255.0.0 0.0.255.255access-list 10 permit any

Page 104: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 104

T1

S1

S0

T1

S0

S0

Admin-Scoping

Economia Ingegneria

Centro Stella

RP Locale RP Locale

To InternetRP Locale

Border B Border C

Border A

AS Border

S0interface Loopback0 ip address 192.168.10.2 255.255.255.255

ip pim send-rp-discovery scope 15ip pim send-rp-announce Loopback0 scope 15 gruppo 20

access-list 20 permit 239.255.0.0 0.0.255.255

Page 105: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 105

T1

S1

S0

T1

S0

S0

Economia Ingegneria

Centro Stella

RP Locale RP Locale

To InternetRP Locale

Border B Border C

Border A

AS Border

S0

Admin-Scoping

interface Loopback0 ip address 192.168.10.1 255.255.255.255

ip pim send-rp-discovery scope 15ip pim send-rp-announce Loopback0 scope 15 gruppo 20

access-list 20 permit 239.255.0.0 0.0.255.255

Page 106: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 106

T1

S1

S0

T1

S0

S0

Economia Ingegneria

Centro Stella

RP Locale RP Locale

InternetRP Locale

Border B Border C

Border A

AS Border

S0

Admin-Scoping

interface Loopback0 ip address 192.168.10.3 255.255.255.255

ip pim send-rp-discovery scope 15ip pim send-rp-announce Loopback0 scope 15 gruppo 20

access-list 20 permit 239.255.0.0 0.0.255.255

Page 107: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 107

T1

S1

S0

T1

S0

S0

Economia Ingegneria

Centro Stella

RP Locale RP Locale

InternetRP Locale

Border B Border C

Border A

AS Border

S0

Admin-Scoping

Interface Serial0. . . ip multicast ttl-threshold 128 ip multicast boundary 10

access-list 10 deny 239.0.0.0 0.0.0.255access-list 10 permit any

Page 108: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 108

MSDP Concepts

• Works with PIM-SM only– RP’s knows about all sources in a domain

• Sources cause a “PIM Register” to the RP• Can tell RP’s in other domains of its sources

–Via MSDP SA (Source Active) messages

– RP’s know about receivers in a domain• Receivers cause a “(*, G) Join” to the RP• RP can join the source tree in the peer domain

–Via normal PIM (S, G) joins–Only necessary if there are receivers for the gruppo

Page 109: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 109

MSDP Design Points

• MSDP peers talk via TCP connections– UDP encapsulation option

• Source Active (SA) messages– Peer-RPF forwarded to prevent loops

• RPF check on AS-PATH back to the peer RP• If successful, flood SA message to other peers• Stub sites accept all SA messages

– Since they have only one exit (e.g., default peer)

– MSDP speaker may cache SA messages• Reduces join latency

Page 110: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 110

SA Message192.1.1.1, 224.2.2.2

Domain C

Domain B

Domain D

Domain E

s

192.1.1.1, 224.2.2.2

SA

SA

SA SA

SA

SA

Source ActiveMessages

SA

Domain A

SA Message192.1.1.1, 224.2.2.2

r

Join (*, 224.2.2.2)

MSDP Peers

RP

RP

RP

RP

RP

MSDP Example

Page 111: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 111

Domain C

Domain B

Domain D

Domain E

sDomain A

RP

RP

RP

RP

r

MSDP Peers

Join (S, 224.2.2.2)

MSDP Example

RP

Page 112: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 112

Domain C

Domain B

Domain D

Domain E

sDomain A

RP

RP

RP

RP

r

MSDP Peers

Multicast Traffic

MSDP Example

RP

Page 113: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 113

Implementazione Cisco MSDP

– draft-ietf-msdp-spec-02.txt

• Multiple peer support– Peer with BGP, MBGP, or static peers

• SA caching (off by default)

• Sending and receiving SA-requests

• Sending and receiving SA-responses

Page 114: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 114

Cisco MSDP Implementation

• SA input and output filtering• SA-request input filtering• Default peer support

– So a tail site can MSDP with a backbone provider without requiring the two to BGP peer

• Triggered join support when creating an (S,G) learned by MSDP

• Mesh gruppos– Reduces RPF-flooding of SA messages between fully meshed

MSDP peers

Page 115: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 115

MSDP Configuration

• Configure peersip msdp peer <ip-address> [connect-source <i/f>]

• Configure default peerip msdp default-peer <ip-address> [prefix-list acl]

• SA cachingip msdp cache-sa-state [list <acl>]

• Mesh grupposip msdp mesh-gruppo <name> <ip-address>

Page 116: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 116

MSDP Configuration (Cont.)

• Filtering– Can filter SA in/out, gruppos, with

acls or route-maps

• TTL Scopingip msdp ttl-threshold <ip-address> <ttl>

• For more configuration commands see:– ftp://ftpeng.cisco.com/ipmulticast/

msdp-commands

Page 117: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 117

Architettura per l’allocazione degli indirizzi

Page 118: IP Multicast: architettura e protocolli - Taschin Antonio -

Taschin Antonio 118

FINE

[email protected]@dsi.unive.it