chuong7-multicast
TRANSCRIPT
-
Gio trnh kha hc BSCI Chng 7 - Multicast
132
CHNG 7: MULTICAST
7.1. Tng quan v multicast
C ba kiu truyn IP traffic trn router v switch:
- Unicast: Cc gi tin c gi t mt a ch ngun n mt a ch ch. Mt router
hoc mt thit b lp 3 s chuyn cc gi tin bng cch tm a ch ch trong bng
nh tuyn. Nu mt thit b l L2, n ch cn da vo a ch MAC.
- Broadcast: Cc gi tin c gi t mt my ngun n mt a ch ch broadcast.
a ch ch c th l a ch tt c cc hosts (255.255.255.255) hoc l mt phn ca
a ch subnet. Mt router hoc mt L3 switch s khng cho php chuyn cc d liu
broadcast ny. Mt thit b L2 s cho php pht tn broadcast traffic ra tt c cc cng
ca n.
- Multicast: Cc gi c gi t mt a ch ngun n mt nhm cc my tnh. a
ch ch tng trng bng cc hosts mun nhn traffic ny. Mc nh, mt router hoc
mt L3 switch s khng chuyn cc gi tin ny tr khi phI cu hnh multicast routing.
Mt thit b L2 switch khng th nhn bit c v tr ca a ch multicast ch. Tt
c cc gi s c pht tn ra tt c cc port ch mc nh.
C hai thi cc c m t y. C ch dng unicast th d liu s i t host n host;
broadcast th traffic s i n tt c cc host trn phn on mng . C ch multicast s nm
gia hai thi cc ny, trong my ngun ch gi nhng gi tin t mt host n cc ngi
dng mun nhn loi traffic . Nhm ny gi l nhm multicast. Cc my nhn multicast
traffic c th nm bt c ni no ch khng ch trn phn on mng cc b.
Cc traffic dng multicast thng l mt chiu (unidirectional). Do c nhiu host nhn
cng mt d liu, nn thng thng cc gi tin khng c php gi ngc v my ngun
trn c ch multicast. Mt host ch s tr traffic ngc v ngun theo c ch unicast. C ch
multicast cng s c truyn theo kiu phi-kt-ni (connectionless). Multicast dng UDP
ch khng dng TCP.
Cc host mun nhn d liu t mt ngun multicast c th tham gia hoc ri khi mt
nhm multicast bt k thi im no. Hn na, mt host s quyn nh c tr thnh thnh
vin ca mt hay nhiu nhm multicast hay khng . Nguyn tc cn quan tm l s hoch
-
Gio trnh kha hc BSCI Chng 7 - Multicast
133
nh lm th no phn phi cc multicast traffic n cc thnh vin ca nhm m khng
nh hng n cc thnh vin ngoi nhm.
7.1.1. a ch multicast
Cc router v switch phI c phng thc phn bit traffic dng multicast vI dng
unicast hay broadcast. iu ny thc hin thng qua vic gn a ch IP, bng cch dng a
ch lp D t 224.0.0.0 n 239.255.255.255 ch cho multicast. Cc thit b mng c th nhanh
chng lc ra cc a ch multicast bng cch c 4 bit bn tri ca mt a ch. Bn bit ny
ca mt a ch multicast lun lun bng 1110.
Lm th no m mt router v switch kt hp mt a ch multicast ca IP vi mt a ch
MAC. Do khng c c ch tng ng vi c ch ARP, mt dng gi tr c bit dnh ring
cho a ch MAC ca multicast s c dng. Cc a ch ny bt u bng 0100.5e. Phn 28
bit sau ca a ch multicast Ip s c nh x vo 23 bit thp ca a ch MAC bng mt gii
thut n gin.
Hnh trn cho thy c ch nh x a ch. Ch c 23 bit cui ca a ch l c chp t a
ch IP sang a ch MAC.
Tuy nhin ch rng c 5 bit ca a ch IP khng c chuyn sang a ch MAC. Kh
nng ny lm cho ny sinh mt vn l c th c 32 a ch MAC khc nhau c th nh x
vo cng mt a ch MAC. Do s nhp nhng ny, mt host multicast c mt vn nh khi
n nhn mt Ethernet frame ca mt a ch multicast. Mt MAC c th tng ng vi 32 a
ch multicast khc nhau. V vy, khi mt host phi nhn v kim tra tt c cc frame c MAC
m n quan tm. Sau host ny phi kim tra phn a ch IP bn trong mi frame nhn
ra phn a ch ca tng nhm multicast.
Mt vi khng gian a ch c dnh ring
- Ton b khng gian a ch multicast:224.0.0.0-239.255.255.255
-
Gio trnh kha hc BSCI Chng 7 - Multicast
134
- a ch link-local: 224.0.0.0 - 224.0.0.255 c dng bi cc giao thc nh tuyn.
Router s khng chuyn cc gi tin c a ch ny. Cc a ch bao gm a ch tt c
cc host all-hosts 224.0.0.1, tt c cc router 224.0.0.2, tt c cc OSPF routers
224.0.0.5y l a ch cc nhm c nh v cc a ch ny c nh ngha trc.
- Tm a ch dnh cho qun tr (239.0.0.0-239.255.255.255) c dng trong cc vng
multicast ring, ging nh dy a ch dnh ring trong RFC1918. a ch ny khng
c route gia cc domain nn n c th c dng li nhiu ln.
- a ch ton cc (224.0.1.0-238.255.255.255) c dng bi bt c i tng no.
Cc a ch ny c th c route trn Internet, v vy a ch ny phi duy nht.
7.1.2. nh tuyn cho traffic multicast
Cc traffic IP phi c nh tuyn ging nh bt c mt gi tin L3 no. S khc nhau l
im cn phi bit chuyn gi tin v u. Cc gi tin L3 dng unicast ch c mt cng ra
duy nht trn router (ngay c khi c qu trnh load-balancing xy ra), trong khi multicast
traffic c th c chuyn mch ra nhiu cng, tu thuc vo cc my nhn nm u.
Mt vi giao thc nh tuyn multicast hin c. Bi vit ny tp trung vo PIM.
u tin, ta phi cho php nh tuyn multicast bng lnh:
Switch(config)# ip multicast-routing
Cy Multicast
Cc router hoc cc multilayer switch trong mt mng phi xc nh mt tuyn ng
phn phi cc gi tin multicast t my ngun n tng my nhn. Khi , ton b mng ging
nh mt cu trc cy, trong gc ca cy l ngun ca lung traffic . Mi router dc theo
ng i s l mt nhnh r ca cy. Nu mt router bit tt c cc a ch multicast, router
cng phi bit cn phi nhn bn lung multicast ra nhng nhnh no ca cy. Mt vi
router khng c cc my nhn trong cc phn on mng ca n th cc router s khng
chuyn traffic. Cc router khc s c th c cc my nhn multicast traffic.
Cu trc cy ny tng t nh cu trc cy Spanning Tree v n c mt root v cc l.
Cu trc cy ny cng m bo l khng b vng lp sao cho traffic multicast khng b
chuyn ngc v cy.
Reverse Path Forwarding
Cc router thng phi thc hin mt php kim tra trn tt c cc gi multicast m n
nhn. Reverse Path Forwarding (RPF) l mt cng c m bo rng cc gi tin khng b
a ngc tr v cy multicast mt v tr bt k no . Khi mt gi tin c nhn trn mt
-
Gio trnh kha hc BSCI Chng 7 - Multicast
135
cng ca router, v d cng E0 ca router, a ch ngun ca gi s c kim tra. Sau
router s so snh a ch ngun ny vi mt entry trong bng nh tuyn unicast. Nu ct out-
going interface ca bng nh tuyn cng ng bng cng nhn gi multicast (tc E0 trong v
d ny), gi multicast s c x l v chuyn ra cc nhnh ca cy. Nu cng l khng so
trng, iu ny c ngha l c mt ai a gi vo mt v tr khng mong i, chuyn gi
tin ngc v root. Gi tin lc ny s b loi b. thc hin php kim tra RPF ny, router
chy giao thc PIM phi tm kim a ch ngun trong bng nh tuyn unicast.
7.2. IGMP
Lm th no mt router bit c cc my cn nghe multicast traffic? nhn multicast
traffic t mt ngun, c ngun v cc my nhn u tin phi gia nhp (join) vo mt nhm
multicast. Nhm ny c xc nh thng qua a ch multicast. Mt host c th tham gia vo
mt nhm multicast bng cch gi cc yu cu n router gn nht. Tc v ny c thc
hin thng qua giao thc IGMP. IGMPv1 c nh ngha trong RFC1112 v bn ci tin ca
n, IGMPv2 c nh ngha trong RFC2236. Khi c vi host mun tham gia vo nhm, giao
thc PIM s thng bo cho nhau gia cc router v hnh thnh nn cy multicast gia cc
routers.
7.2.1. IGMPv1
tham gia vo mt nhm multicast, mt host s gi mt thng ip ng k tham gia
vo nhm n router cc b ca n. Thng ip ny c tn l Membership Report IGMP.
Thng ip ny s thng bo cho router v a ch multicast m host mun tham gia vo. a
ch multicast 224.0.0.1 all-hosts c dng nh a ch ch. Trong thng ip ny c cha
a ch nhm multicast. C mi 60 giy, mt router trn mi phn on mng s gi truy vn
n tt c cc host kim tra xem cc host ny c cn quan tm nhn multicast traffic na
khng? Router ny gi l IGMPv1 Querier v chc nng ca n l mi cc host tham gia vo
nhm. Nu mt host mun tham gia vo mt nhm, hoc n mun tip tc nhn traffic t mt
nhm m n tham gia, n phi tr li li bng thng ip membership-report.
Cc host c th tham gia vo cc nhm multicast bt k thi im no. Tuy nhin
IGMPv1 khng c c ch cho php mt host ri khi mt nhm nu host khng cn
quan tm n ni dung ca nhm multicast . Thay vo , router s kt lun l mt cng
giao tip ca b khng cn thuc v mt nhm multicast no nu router khng nhn c
membership-report trong ba chu k truy vn lin tip. iu ny c ngha l, ch mc
-
Gio trnh kha hc BSCI Chng 7 - Multicast
136
nh, cc multicast traffic vn gi vo mt phn on mng trong ba chu k truy vn lin tip
sau khi tt c cc thnh vin ca nhm khng cn lng nghe multicast traffic na.
Ngoi ra, router khng c gi mt danh sch y cc host thnh vin cho tng nhm
multicast. Thay vo , n cn phi lu nhng nhm multicast no l ang tn ti trn nhng
cng no ca n.
7.2.2. IGMPv2
Phin bn IGMPv2 gii thiu vi s khc bit so vi phin bn u tin. Cc gi tin truy
vn by gi c gi l General Queries. Cc gi ny c th gi ti a ch all-hosts hoc ti
tng nhm c th. Mt ci tin khc na l cc host c php ri khi nhm. Khi mt host
quyt nh ri khi mt nhm n tham gia, n s gi thng ip LeaveGroup n a ch
all-router 224.0.0.2. Tt c cc router trn mt phn on mng ni b s lu thng ip ny
v router truy vn s tip tc qu trnh. Router s tr li thng ip trn bng thng ip truy
cp gi theo nhm. Thng ip ny s hi rng c cn host no mun nhn traffic cho nhm
na khng? Bt c host no cng phi tr li li bng thng ip membership report. Nu
khc i, router s kt lun mt cch an ton l khng cn thit chuyn traffic cho nhm
trn phn on mng .
7.3. Giao thc PIM
Protocol Independent Multicast (PIM) l mt giao thc nh tuyn c th c dng
chuyn cc multicast traffic. PIM hot ng c lp vI cc giao thc nh tuyn IP v vy
PIM s dng bng nh tuyn IIP v khng gi cc bng multicast routing. Cn ch l bng
unicast routing cng khng ph thuc vo cc giao thc nh tuyn v nhiu giao thc nh
tuyn c th ng gp vo cng mt bng nh tuyn. PIM c th hot ng hai ch :
- PIM Dense Mode
- PIM Sparse Mode
- PIM Sparse Dense Mode (do Cisco a ra)
- PIM Dense Mode
Cc PIM router c th c cu hnh theo kiu Dense Mode (cn gi l PIM-DM) nu cc
host tham gia vo multicast group nm khp ni trn tt c cc subnet. a ch multicast
ngun tr thnh gc ca cy v cy multicast c xy dng t ngun n ch. C ch ny
cn c gi bng k hiu (S,G) trong ng i t ngun n cc thnh vin trong nhm
l duy nht v c xc nh.
-
Gio trnh kha hc BSCI Chng 7 - Multicast
137
Cy multicast c xy dng bng cch cho php pht tn cc traffic t ngun n tt c
cc router trong mng. Cy s pht trin t trn xung di. Trong mt thI gian ngn, cc
traffic khng cn thit s c lu chuyn ging nh trong broadcast traffic. Tuy nhin khi
cc router nhn c traffic cho mt nhm, router s quyt nh n c cc my nhn mun
nhn d liu hay khng? Nu l mun, router s duy tr tnh trng im lng v dng traffic
tip tc. Nu khng c host no ng k cho nhm multicast (thng qua IGMP), router s
gi thng ip Prune n cc router lng ging ca n (theo hng v gc ca cy. Nhnh ca
cy sau s b loi b (prune) sao cho cc traffic khng cn thit s khng c pht tn v
hng .
Cy multicast s c xy dng theo mt ln sng ca cc yu cu tham gia vo nhm.
Sau cc switch khng c cc host tham gia s b xa ra khi cy. Cy kt qu sau cng
c hin th hnh k tip.
-
Gio trnh kha hc BSCI Chng 7 - Multicast
138
PIM-DM s nhn bit cc thit b lng ging bng cch trao i cc gi hello. Thng tin
lng ging ny c dng trc xy dng cy n tt c cc lng ging. Sau , cc nhnh
ca cy s ln lt c loi b. Nu mt dng multicast bt u, cy s c xy dng, cy
s ch tn ti khi cc thnh vin tch cc cn tn ti. Nu mt host mi ng k tham gia
nhm, nhnh ca phn on mng s c nh thm vo cy.
cu hnh PIM Dense Mode trn mt cng, dng lnh:
Switch(config-if)# ip pim dense-mode
7.3.1. PIM Sparse Mode
PIM Sparse Mode (PIM-SM) dng mt gii php khc. Cy multicast khng m rng n
router cho n khi no mt host tham gia vo mt nhm. Cy multicast c xy dng
bng cc thnh vin cc node l v m rng ngc v root. Cy c xy dng t di ln.
SM cng hot ng da trn tng cu trc shared-tree, trong gc ca cy khng nht
thit l ngun ca multicast. Thay vo , root l router PIM-SM thng c t trung tm
ca mng. Router lm gc ny gi l Rendezvous Point (RP). Cy t im RP n cc thnh
vin tht ra l mt cy con ca cy t ngun n cc thnh vin. Nu mt router bt k u
trong mng c th ng k vi RP, cu trc cy ny s hon tt. Ch spare-mode cn c
gi l Shared tree. Cc dng multicast c m t nh (*,G) bi v cy lun cho php bt c
ngun no gi n mt nhm.
-
Gio trnh kha hc BSCI Chng 7 - Multicast
139
Khi mt host tham gia vo mt nhm multicast dng IGMP, router cc b s chuyn cc
thng ip Membership report v gc ca cy multicast. Mi router dc theo ng i s
thm nhnh vo cy dng chung shared-tree. Qu trnh loi b nhanh ch thc hin khi mt
thnh vin ca nhm b xa ra khi mt nhm. Qu trnh ny c hin th hnh di y:
Ch l qu trnh ny ch bao gm 1 bc. Cc router khng tham gia vo nhm s khng
b loi b v n khng bao gi l mt thnh phn ca cy.
cu hnh PIM Sparse Mode trn mt cng, dng lnh sau:
Switch(config-if)# ip pim sparse-mode
7.3.2. PIM Sparse-Dense Mode
PIM c kh nng h tr c hai ch Dense v Sparse Mode bi v c hai tn ti trn
nhng nhm multicast khc nhau trn mt mng. Cisco cho php ch lai sparse-dense
mode cho php mt PIM router dng ch dense hay ch sparse ty thuc vo tng
nhm. Nu mt nhm c RP c nh ngha, Sparse-mode s c dng, nu khng c,
dense-mode s c dng. cu hnh mt router chy sparse-dense mode trn mt cng
giao tip, dng lnh:
Switch(config-if)# ip pim sparse-dense-mode
-
Gio trnh kha hc BSCI Chng 7 - Multicast
140
7.3.3. PIM Version 1
i vi cc router chy PIMv1, cc router RP c th c cu hnh bng tay hoc theo c
ch t ng. ch nh mt router l RP, dng lnh sau:
Switch(config)# ip pim rp-address ip-address [ access-list-number]
[override]
Ta c th gii hn phm vi cc nhm multicast c h tr bi RP bng cch dng mt
access-list. T kha override cho php RP c u tin hn bt c mt RP no c bu chn
bi qu trnh t ng. RP phi c nh ngha trn tt c cc vng mng chy PIM, k c
trn router RP. Cisco cng cung cp mt phng thc t ng thng bo v PIM-SM cho
mt nhm. Phng thc ny gi l Auto-RP. Qu trnh ny c thc hin bng cch ch ra
mt router nm trung tm v cc router kt ni vo n gi l mapping agent. Cc mapping
agent s hc thng tin ca tt c cc ng c vin cho RP. Cc router mun lm ng c vin
phI gI ra mt thng ip Cisco-RP-Announce v a ch multicast 224.0.1.39. nh
ngha router nh mt mapping agent, dng lnh:
Switch(config)# ip pim send-rp-discovery scope ttl
Router mapping agent s gi cc thng tin nh x t RP-nhm n tt c cc PIM router
khc dng thng ip Cisco-RP-Discovery v a ch 224.0.1.40. Gi tr Time-to-live c
thit lp trong nhng thng ip ny hn ch tm vc ca thng p ny. Thng s ny s ch
ra l thng tin s cn hp l trong bao nhiu hop na. Ngi qun tr phi nh ngha tng
minh cc ng c vin cho RP. Khi mt router c xem nh l RP, n s bt u gi cc
thng ip n router mapping agent. Hy cu hnh router nh RP bng lnh:
Switch(config)# ip pim send-rp-announce type mod/num scope ttl group-list
access-listnumber
Cc cng giao tip s qung b a ch router RP. Phm vi ca thng p qung b ny s
b gii hn bi thng s TTL. Router cng s qung b chnh n nh l mt candidate RP cho
nhm c nh ngha trong access-list.
7.4. Switching Multicast Traffic
Cc router hoc cc MLS switch c th xy dng cc cy multicast v chuyn cc gi tin
i mt cch hiu qu. Tuy nhin lp 2, mt switch ch kim tra phn header ca frame
Ethernet tm a ch ngun v a ch ch. Cc switch ny khng th hot ng theo yu
cu ging nh router. Thng tin tt nht m mt switch bit c l a ch multicast ch v
khi frame cn phi c pht tn ra tt c cc cng ca vlan. C hai phng thc c
-
Gio trnh kha hc BSCI Chng 7 - Multicast
141
pht trin cho php cc switch chuyn cc gi tin multicast mt cch thng minh: dng
IGMP snooping v dng CGMP. Mt phng thc i hi phn cng mnh, phng thc kia
th hc hi thng tin t cc router lng ging.
7.4.1. IGMP Snooping
Trong ch hot ng bnh thng, mt host mun tham gia vo mt nhm multicast
phi lin lc vi mt router gateway router a host vo nhm multicast. IGMP
snooping cho php mt switch lng nghe cc thng ip IGMP membership report ny sao
cho n c th tm ra host no ang yu cu nhm no. tham gia vo mt nhm, mt host
phi gi cc thng ip multicast membership report v chnh a ch multicast ca nhm .
Mt switch L2 phi lng nghe n tt c cc multicast frame tm ra thng tin IGMP. y r
rng l mt gnh nng cho CPU ca switch. Mt thit b L3 switch th c li th r rng hn,
n c th tch ra thng tin L3 trong mt frame. Kiu switch ny phi lng nghe mi gi
IGMP. Khi mt thng p membership report c lng nghe, switch s thm a ch MAC
ca nhm multicast vo bng CAM ca n cng vi port ngun ni m mt gi IGMP c
nhn. Tc v ny s lin kt a ch nhm vi cc host yu cu tham gia nhm. Khi cc
host khc cng yu cu tham gia nhm, cc switchport tng ng s c thm vo bng
CAM. Khi c mt frame cn n mt a ch multicast, n c th c nhn bn ra chnh xc
cc cng ca cc host nhn.
Vi IGMP snooping, c hai trng hp c bit ca thnh vin nhm trong bng CAM:
- Tt c cc a ch IGMP l nhn bit bi switch (hc ng) cng s c lu trong
bng CAM. Cc frame multicast phi c nhn bn v pha cc router cc traffic
ny c th c route nu cn thit.
- CPU ca switch cng l mt thnh vin ca nhm multicast v n c th xem cc gi
IGMP n v i. Ch c traffic ca IGMP l c x l. CPU s khng kim tra cc
frame multicast khc. IGMP snooping c cho php trn tt c cc cng ca switch
v cc interface vlan. Cc switch 2950,3550,4500 v 6500 l c h tr IGMP
snooping. cho php hoc tt IGMP, dng lnh:
Switch(config)# [no] ip igmp snooping
7.4.2. CGMP
Khi mt L2 switch khng th thc hin tc v IGMP snooping, mt router multicast lng
ging s tr gip. Cisco pht trin ra mt giao thc l Cisco Group Membership Protocol
(CGMP) nhm mc ch ny.
-
Gio trnh kha hc BSCI Chng 7 - Multicast
142
Mt router hoc mt multilater switch c cu hnh cho nh tuyn multicast c th c
cu hnh cho CGMP. Khi cc host gi cc thng ip membership report tham gia v ri
khi mt nhm, Router CGMP s trung chuyn cc thng ip ny n cc switch quan tm.
Cc thng ip CGMP dng cc a ch multicast ni ting l 0100.0cdd.dddd. Theo nh
ngha, a ch nhm multicast ny s c pht tn nh l mt trng hp c bit sao cho
cc thng ip CGMP c th c truyn trn cc non-CGMP switch. Cc thng ip CGMP
bao gm a ch MAC ca host cng vi a ch MAC ca nhm multicast n mun tham gia
hay ri b. Khi mt layer 2 switch nhn thng ip CGMP ny, tc v n gin ca n l
thm vo a ch nhm multicast v cc host ca nhm vo bng CAM. Router s tr thnh
thit b tr thnh cho mt switch trong vic lng nghe cc thng ip CGMP.
ch mc nh, CGMP l tt trn tt c cc cng ca multicast router. cho php,
dng lnh:
Switch(config-if)# ip cgmp
Ch c router multicast phI c cu hnh cho CGMP. tt c cc IOS-based L2 switch
u c CGMP cho php ch mc nh, v vy switch s t ng x l CGMP t routers.
MULTICASTTng quan v multicasta ch multicastnh tuyn cho traffic multicast
IGMPIGMPv1IGMPv2
Giao thc PIMPIM Sparse ModePIM Sparse-Dense ModePIM Version 1
Switching Multicast TrafficIGMP SnoopingCGMP