1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Văn Minh
TRUYỀN TIN MULTICAST ĐA LUỒNG THỜI
GIAN THỰC TRÊN MẠNG NGANG
HÀNG CÓ CẤU TRÚC
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Văn Minh
TRUYỀN TIN MULTICAST ĐA LUỒNG THỜI
GIAN THỰC TRÊN MẠNG NGANG
HÀNG CÓ CẤU TRÚC
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hƣớng dẫn: TS. Nguyễn Hoài Sơn
HÀ NỘI - 2010
LỜI CẢM ƠN
Em xin chân thành c i hc Công Ngh - i hc
Quc Gia Hà Nn tình ging d em trong su em
kin th hoàn thành khóa lun này.
c bit em xin gi li c c n thy Nguy
ng dnh hình cho em cách tip cn nghiên cu khoa hc. ng thi trong
sut quá trình làm lui mt vi các v n gii quyt
th em tránh khi sai lm giúp em tc hoàn thành khóa
lun này.
i li cn các anh ch và các bn trong nhóm nghiên cu
ca thy Nguyc bit là cô Bùi Th t tình h tr v
mng và kinh nghi em có th hoàn thành khóa lun này tht tt.
Con xin gi ti b m và nhng bi
t qua này.
Hà N10
Sinh viên
Nguyễn Văn Minh
Tóm tắt
ci
trên
.
IP TV,
.
n
.
. -
,
.
Client-
eaming
-
.
Khóa lun tôi trình bày nht gii pháp xây d
lung thi gian thc trên mng ngang hàng có c
.
Thit k lun da trên giao thc DHT và mô hình mng
Chord , kt qu mô pht qu tt. Tuy nhiên cn
nhiu nghiên cu ci tia nht hiu qu cao nht.
Mục lục
M u 2
n tin multicast thi gian thc 3
1.1. Tng quan v truyn tin multicast thi gian thc 3
1.1.1. IP Multicast 4
1.1.2. Multicast tng ng dng 6
1.1.3. Các mô hình truyn tin multicast tng ng dng 8
1.2. Truyn tin multicast thi gian thc 11
ng thi gian thc 13
2.1. Tng quan v truyng 13
2.2. Splitstream 14
ng thi gian thc trên mng ngang hàng có
cu trúc 25
3.1. V cn gii quyt 25
ng 25
3.3. Thit k gii pháp 27
3.3.1. Xây dng cây multicast 29
3.3.2. Duy trì cây multicast khi có node ri khi mng 32
33
ng 33
4.1.1. Kin trúc mng mô phng 33
4.1.2. Các tham s trong mng mô phng 34
4.2. Kt qu 36
4.2.1. Hiu qu chênh lch s hop nhc các lung ti các node 36
4.2.2. Hiu qu cân bng ti trên toàn h thng 38
t lun 40
5.1. Kt lun 40
ng phát trin tip theo c tài 40
1
Danh mc hình nh
Hình 1. Một số mô hình truyền tin 3
Hình 2. Mô hình IP Multicast 4
Hình 3. Bộ định tuyến trong truyền tin multicast tầng mạng 6
Hình 4. Truyền thông multicast tầng mạng và tầng ứng dụng 7
Hình 5. Giao thức Narada 9
Hình 6. Mạng phủ 7 node (a) và cây multicast xây tương ứng (b) 10
Hình 7. Truyền tin mulicast đa luồng 13
Hình 8. Bảng định tuyến của node 10233102 trong Pastry 15
Hình 9. Node 10233102 gửi thông điệp m đến node 33321220 16
Hình 10. Quá trình 1 node join vào group 19
Hình 11. Truyền tin multicast trong group Scribe 20
Hình 12. Quá trình tự sửa cây multicast 21
Hình 13. Splitstream F luồng 22
Hình 14. Xác định node cha khi băng thông đi ra vượt quá giới hạn 23
Hình 15. Phân chia vùng gần vùng xa cho các node con 26
Hình 16. Bảng Finger Table trong Chord 28
Hình 17.Lưu giữ key trong mạng Chord 29
Hình 18.Tìm các node con gần và node con xa 30
Hình 19. Node nhận được các luồng 31
Hình 20. Sửa cây multicast khi có node rời khỏi mạng 32
Hình 21. Mô hình mạng thực tế 33
Hình 22. Chênh lệch hop lớn nhất giữa các luồng với 1014 node 37
Hình 23. Chênh lệch hop lớn nhất giữa các luồng với 2072 node 38
Hình 24. Hiệu quả cân bằng tải với 1014 node 38
Hình 25. Hiệu quả cân bằng tải với 2072 node 39
2
Mở đầu
.
, video conference
,
,
.
2
ng.
,
.
:
net (
)
.
.
T
k
.
,
.
.
.
.
.
litstream.
Pastry, Scribe
.
t qu i tt.
Gii pháp ca khóa lu ra dm ca mô hình
mng có cc s phù hp vi vic xây dng cây
ng. Tóm tt ni dng :
n tin multicast thi gian thc
: Truyn ng thi gian thc
: Xây dng thi gian thc trên mng ngang hàng
có cu trúc
: Mô ph
Ch: Kt lung phát trin
3
Chƣơng 1.Truyền tin multicast thời gian thực
1.1.Tổng quan về truyền tin multicast thời gian thực
u kin internet phát trin rt n nay vic truyn tin trên
mng nên ngày càng quan trng và ph bin. M i cùng ca vic
truyn tin là gi thông tin t n máy khác n và trc quan
c truyn tin gia các máy thành truyn tin gia các node.
mô hình truyn tin ng gp :
Hình 1. Một số mô hình truyền tin
a khóa lun s lm rõ chi tit vic truyn tin multicast.
Truyc 1 máy truyn 1 nhóm máy
có la chc mô hình hóc
nhân bn thành nhiu gói tin khác và gcnh ca cây multicast .
Ta có th thy truyn tin multcast t ra rt hiu qu trên mng Internet. So sánh
vn tin broadcast (gi không có la chn) :
,
.
.
Chính nh c tính riêng hiu qu y mà truy
ng phát trin truyn tin chính so vi các n tin khác.
Truyn tin multicast hic phân loi thành 2 nhánh chính là : IP Multicast
4
(Multicast tng mng ) và Multicast trên tng ng dng s c gii thiu mc tip
theo.
1.1.1.IP Multicast
Định nghĩa cơ bản nhất của IP Multicast : IP multicast là cơ chế gửi một
thông điệp từ một nguồn duy nhất đến một nhóm chọn lựa các địa chỉ đích thông
qua một hạ tầng mạng lớp 3 trong một dòng dữ liệu
Hình 2. Mô hình IP Multicast
Hình 2 trình bày chi tit v mô hình IP Multicast và cách thc hong ca nó.
Node gi là máy Sender vi mc tiêu là gn cho 2 máy Receiver.
Sender s gi gói tin IP va ch multicast (cái này s c gii thích chi tit
n Switch/Router. Switch/Router nhn a ch
nhân bn gói tin thành n gói tin gi
a ch IP Multicast trên (trong hình minh ha
ch
xut gi
i , nó là s phát trin t mô hình dch v nhm
nâng cao giao tim. Mô hình dch v multicast cung cp hai li ích chính: (1)
hiu qu s dvia ch nhóm gián tip cho phép redezvous
tng m xut này c ra mc mi cho các ng dng ca
IP Multicast.
5
truyn multicast thì cn da trên khái nim mt nhóm. Nhóm cha tt c các
máy cùng mong mun nhc mt d liu. Nhóm này không có gii hn v vt lý
a lý, nó có th nm bt c ng Internet. Thu IP Multicast
c phát trii hc và các phòng nghiên cu nhm phc v ch
yu cho video streaming vi t cao nht. Vic qun lý và phân nhóm trong khu
vc m y s không quá phc tp. Tuy nhiên khi áp dng vào mng
Internet thì nó c ( IGMP - Internet Group
Management Protocal) i. Các máy trên mng Internet mun nhn d liu thì
cn phi gia nhp giao thc qun lý nhóm mng IGMP.
i dùng có th quynh tham gia hoc ri b nhóm bt c lúc nào, và có
th là thành viên ca nhiu nhóm multicast cùng lúc. Vai trò ca máy tham gia trong
quá trình truyn multicas khác nhau: cùng mt máy có th là ngun gi
i là máy nhn trong cây multicast khác.
Mi mt máy ca ch a ch mà mi máy tham gia vào nhóm
và mong mun nh c d liu. IANA ( IANA - Internet Assigned Numbers
Authority) s kim soát via ch a ch
ly tt c a ch Multicast nm trong di:
224.0.0.0 239.255.255.255.
có th thc hin multicast, b nh tuyn (ting Anh: Router) trong
mô hình này phi có cht trong nhng mc ln nht
khin IP Multicast khó có th phát trin mnh). Khi ngun multicast truyp
multicast, b nh tuyn cc b s gi thông n các b nh tuyc
kt ni vi mng có các thành viên ca nhóm multicast.
y, trong cây multicast ca mô hình truyn tin multicast tng mng, các b
nh tuym v chuyn tip các gói tin
multicast ti các máy nhn, là các node lá ca cây multicast. Vai trò ca b nh tuyn
c minh hError! Reference source not found
6
Hình 3. Bộ định tuyến trong truyền tin multicast tầng mạng
Truyn tin multicast tng mng phát huy mnh m m ca truyn thông
multicast nói chung. Do các b nh tuy
multicast, các cnh cng truyn vt lý, các gói tin multicast
c nhân bn ti các b nh tuyn làm cho s ng truyn
gim ti mc ti thiu sut truyn tin ca mt mc t
Vi kin trúc IP Multicast s dng hin nay
:
.
cao.
t
.
Khi có quá nhiu kt ni hoc mt node mng không hong s gây ra rt
mng và phi sa cha li nhiu phn ca cây.
Vic cân bng tnh tuyn l
.
thay th li h tng
mng c xây dng là cc k ln. Chính vì vng chuyn giao sang
truyn thông multicast tng ng dng.
1.1.2.Multicast tầng ứng dụng
Do nhu cu s dng truy ngày càng ln, trong khi giao
thc IP multicast tng m ng cng vi rt nhi trên,
ng multicast ngày càng m rng sang multicast tng ng dng.
7
Multicast tng ng di và phá v h thng mng. Thay vào
nó ch thc hin chn multicast trên các máy cui tng ng dng. T
tng ng dng s truyn xung các tng mng và tng giao vn. các tng th
i.
Hình 4. Truyền thông multicast tầng mạng và tầng ứng dụng
(Hình vuông là các router, hình tròn là các máy đầu cuối)
Khi truyn multicast tng ng dc nhân bn ti các b
nh tuyn gi (IP multicast) mà vic nhân bn
gói tin s c thc hin tu cui. V mu cui to nên
mt mng ph và giao thc truyn thông multicast phi xây dng và duy trì vic
truyn multicast trên mng ph này.
Có hai thông s c tính cht ca vic truyn multicast trên tng ph: stress
và stretch. Stress nh theo tng kt nm s c gi
mt giao thc tng mi. Stretch i mi máy và là t l ca chiu dài
t ngun thành viên mt mng ph ng dn unicast.
Nhìn chung, các giao thc tng mng có th ng:
Chất lượng của đường truyền dữ liệu: là chng ci mt
s thông s stress, stretch và c node.
Độ mạnh yê
́
u của tầng phủ: Mng không ter, các
node có th ri mng tm thi hon làm n các node nhn
m ca các giao thc tng ng di vi
c s mt mát d liu truyn khi các thành viên b li và thi gian mà nó cn
giao thc có th khôi phc l truyn cho các thành viên khác.
Quá ti s dng hiu qu tài nguyên mng, quá tu khin mi thành
viên nên nht thông s giá thành quan tr c tính m rng
ca thành viên.
8
Do truyn thông multicast tng ng dng phi gi các gói tin ging nhau trên
cùng mt kt ni, hiu sut ca mô hình này không th tc bng truyn thông
multicast trên tng mng. Tuy nhiên, truyn tin multicast tng ng dng vn có kh
m ti nhing truyn và ngun tin multicast.
1.1.3.Các mô hình truyền tin multicast tầng ứng dụng
có th truyc tiên cn có mt cu trúc topology
ca mng ph. Trong topology ca tng mng ph - tng mng ng dng, các máy tính
liên kt vi nhau. Mi máy tính gi là mt node mng liên kt o vi các node khác.
Vic xem máy tính là 1 node c s dng rt nhiu trong cu trúc ca các mng
c v
a lý ca các máy tht.
Dng vi các node trên cây multicast (node
lá hoc node con), liên kt o s to n truyn tin t node lá sang các node con.
Có hai cách thc truyn thông multicast: multicast trên mng có cu trúc (tree-
first) và multicast trên mng không có cu trúc (mesh- nghiên cu
phân tích và la chn mng truyn thông phù hp cho video streaming.
Multicast theo hướng mesh-first
Trong cách tip cn mesh-firstc khi tham gia vào cây phi là thành
viên ca mt mng ph n ti các liên kt vi nhau dng
c xây dng da trên các liên kt ca mng ph này.
Giao thc Narada là mt trong nhng giao thc multicast tng ng du tiên
v ng mesh-first. Nó ch nh m c bit là Rendezvous Point (RP)
c s d theo dõi s gia nhp ca mt thành viên mi.
Tt c các giao thc multicast tng m dng mt hoc mt s các thc
th t gia nhp.
Xây dựng mesh: khi mt node mi mun gia nhp nhóm multicast, nó s có danh
p vào mesh do RP cung ci s la
chn ngu nhiên mt s các thành viên và gia nhg ging
ca nhp thành công khi mà ít nht mt thành viên
thành viên mi là láng ging mesh.
Khi gia nhp vào mesh, thành viên mi bnh k p vi
các lang ging mesh ca nó. Bt c khi nào mt node gia nhp hoc mt thành viên ri
9
nhóm, nhóm này s i thông tin ca tt c i thành viên
trong nhóm gi trng thái ca tt c ng
c cp nht. Vic các thông tin trng thái ca tt c thành viên trong
nhóm mi thành viên dn ti quá ti kim soát ln, quá ti kim soát lên ti (O(N2))
vc cc Narada hiu qu ch c
nhóm Multicast là nh.
Hình 5. Giao thức Narada
Khi c thành viên D và E cùng li, mesh phân chia thành 2 ph
thành viên A, B và C s ngng nhc thông tin trng thái t c
li. Mi thành viên có th kho sát các thành viên t khi nó ngng nhc thông
p trng th to ra mt kt ni mi và sa các phn. Chý ý rng, vic sa không
yêu cu s h tr cn có th thc hic ngay c khi RP b li.
Đường truyền dữ liệu: các thành viên ca mt nhóm thc hin mt giao thc
nh tuy
Sự chọn lọc của meshng truyn d liu trong Narada là các cây nhp
cng cng truyn d liu ph thuc vào chng ca
các kt ni là mt phn ca mesh. Khi mt thành viên mi tham gia, hoc khôi phc t
các phn, mt tp ngu nhiên các cnh s c thêm vào mesh chn lc
nh k cn phc thc hin vi các c ci tin chng cng
truyn d liu. Vic thêm cnh (J,G) là có ích bi vì mt s ng ln các node unicast
10
có th c thay bng mt cnh mi. C thêm
hoc b t cnh cc thc hin gia cnh cm cui.
m ca mô hình này là kh u li cao do mi node tn ti nhiu liên
kt vi các node khác trong mm ca mô hình này là rt khó
thc hin cân bng ti và cân b tr gia các node do ph thuc vào kin trúc
mng ph. Vm này thì không phù hp vi truyn video streaming do các
tr khác nhau, gói tin gc có th n sau, gói tin gc.
Vic không cân b tr s làm n vic trình din d liu.
Multicast theo hướng tree-first
Trong cách tip cn tree-first, các node khi tham gia vào cây multicast s t tìm
cho mình mt node cha t a cây. Vic chn node cha
c thc hin da trên mt s a các
node hom b sâu ca cây cân bng gia các nhánh.
m ca mô hình này là các node có th ch tránh
c tình trng mi chu ti quá cao.
Hình 6. Mạng phủ 7 node (a) và cây multicast xây tương ứng (b)
Scribe là h thng multicast tng ng dng m rc xây dng trên Pastry.
to nhóm multicast, Scribe to ra mt khoá Pastry t c bia
mng vi mc thc hin bng mt tp hp
các b nh tuyn Pastry t mt node n nhóm gc ca Id. Bng vic
truyn lùi l ng dn, các gói tin multicast t gc ti mi thành viên.
ng phát trin sau ca Scribe mà tp trung vào vic phân b truyn
thông.
Ngoài Scribe là h thng multicast tng ng dng xây d
có th xây dng multicast trên các mng ngang hàng có c
11
Mng ngang hàng có cu trúc thuc nhánh các mng ngang hàng phân tán trong
các mô hình mng ngang hàng. Mng ngang hàng có cu trúc khc phm
ca mng không cu trúc bng cách s dng h thng DHT (B
ting anh: Distributed Hash Table). H th t gia các nút
mng trong mng ph theo mt thut toán c thng thnh cht ch mi nút
mng s chu trách nhii vi mt phn d liu chia s trong mng. Vi cu trúc
này, khi mt máy cn tìm mt d liu, nó ch cn áp dng mt giao th xác
nh nút mng nào chu trách nhim cho d lic trc tin nút
m ly kt qu.
Phát trin trên mng ngang hàng có cu trúc s tn dm là kh
m rng do cu trúc liên kt rõ ràng; vic tìm kic tìm
kim chung trong mng s m bc tìm kim chính t li
th rt quan trng khi áp dng mng ngang hàng có c trin khai truyn tin
multicast, do truyn tin multicast yêu cu kh nh tuyn ca mng ph xây
dng nên cây multicast.
c phân b mt cách h không có mt máy tính
quá nhiu d liu dn quá tnh tuyn. Do mng là có cu
p chuy duy trì mc
gim xung mc ti thia mc dành nhic chia s
tài nguyên.
m ca mô hình này là khi m li, vic khôi
phc l m bo lung d lii khó
i node bit rt ít thông tin v các node khác trong mng.
1.2.Truyền tin multicast thời gian thực
Mt nhánh trong truyn tin multicast là truyn tin multicast thi gian thc.
c áp dng trong các ng dng video streaming
trc tip có th xem là th mnh thc s ca mng ngang hàng so vi mô hình mng
client server truyn thng. Ví d c th nht là khi chúng ta mun xem mt tr
bóng ri gia Real Maldrid Barcelona. Mt thng kê cho bin
gn 1 t i theo dõi trn cu này trên toàn th gii và chc chn là ti th
không có 1 server nào có th m phát sóng trc tip tr u lên mng
Internet. Th i 1 ng dng ca video streaming thi gian thc trên mng
n li có th theo dõi tru này vi cht
12
ng có th chp nhc. t tri ca mô hình mng ngang
hàng và hin nay vc phát tri ngày càng t. Khóa lun này
xut v truyn tin multicast ng thi gian thc da trên giao thc
Chord nhm ng dng cho video streaming thi gian thc.
Trong truyn tin multicast thi gian thc tính riêng quan trng nht cn
ph c chng có th chp nhc :
Inbound bandwith ti m l dec thành video vi cht
ng chp nhc . Vi các k thut decode bây gi thì các máy vi mc
download l240Kbits/s là có th c video.
tr ti các máy là không quá l m bo tính thi gian thc . Tính cht
ng rt quan trng trong các ng dng video streaming 2 chi
ng dng 1 ching dng xem TV
c tính này li có th không quá quan trng
13
Chƣơng 2.Truyền tin multicast đa luồng thời gian thực
Trong mt hi c khái nim và cách thc truyn tin
n tin multicast thi gian thc. Mt trong nhc tính quan
trng ca h thng multicast là 1 máy khi tham gia vào h thng multicast có th va
là node gi d liu li va là node nhn d liu. T tính chn
truyn tin multicast t ng vi nhm , hiu qu ng
dng rn trên mng ngang hàng.
2.1. Tổng quan về truyền tin multicast đa luồng
Hình 7. Truyền tin mulicast đa luồng
V n truyc xây dng trên cây multicast vi m
rng : các node thay vì ch gi và nhn 1 gói d liu thì bây gi li nhn và gi nhiu
d li
Xét ví d Hình 7. Bây gi gi s ta ch n stripe 1(lu
chính là truy ng. Quá trình truy
(ngun) gi d lin node con 2. Node 2 gi d liu cho node 3 , 4. Các node 3 , 4
gi d liu cho các node lá 5 , 6 ,7 ,y ta có th thy các node trong 2 , 3 , 4
u phi gi d li nhn v 1 lung d liu.
6 , 7 , 8 ch nhn d liu mà không phi gi. Vic truyn
này trên mng m tiêu chí quan trng nht
trong mng ngang hàng : tính công bằng. Trên mng ngang hàng các node gu
d lic nhng d liu xi ma node
14
thng mu kis mng ngang hàng phát trin mnh
trên h th ng hng nh phân ,
còn trên thc t mô hình cây multicast chc chn s phc tu.
u v ng vi fanout = 16 (mi node gi
d lin 90% là node lá và ch có 10% là node trong.
i gánh toàn b ng.
Mn nht cu truyng là gii quyc v
vc tính công bng cho các node tham gia h thng multicast.
Xét ví d Hình 7. Bây gi n c 2 lung stripe 1 , 2. Sau khi xét
quá trình truyn tin ca c 2 lung ta có th thy tt c u nhn 2
2 lung d liu và gng d liu. N
thì qu thc h thc s công bng mong mun.
Ví d Hình 7 có th xem là hình mn nhng.
Vic phát trin và ng dng trong h thng mng ngang hàng v phc tp l
nhip 1 s v :
S lung mong mun là l m bo mi lung d liu khi truy
m nh tránh tc nghn. Vi lui cách xây
dng vic gi và nhân các lung ti mi node trong cây phc
t m bo vn gi c tính công bng
Tính không nh ca m c t ca h thng
mng ngang hàng. Các node trong cây multicast s vào ra liên t cây
multicast vm bo truyc n tt c các node thì cn ph
ch i li cây multicast cho phù hp.
Gt s nghiên cn xây dng
trên mng ngang hàng có cu trúc s dng giao thc DHT(B -
Distributed Hash Table). Mc 2.2 s trình bày v nhng gii pháp này
2.2.Splitstream
Splitstream là gii pháp xây d ng da trên nn tng
Pastry , Scribe.
hic Splitstream ta s tìm hiu rõ v cu trúc Pastry và Scribe ngay sau
.
15
Pastry
Là mt giao thc phân phi d linh tuyn tng ng dng trong các ng
dng mng ngang hàng có ca nó Pastry có hai nhim
v chính là phân phi d liu trong mt mng ngang hàng và tìm kim d liu trong
mng da vào khóa tìm kim. H thng Pastry là mt h thng phân tán có kh
t cu hình và có tính nh cao, kh ng chu li tng th
kh rng và ng dng cho nhng dch v ln.
dng giao th lnh danh các node tham gia vào h
thng mng. Vi da ch ln thì giao thc DHT qu thc rt phù hp vi h thng
mng ngang hàng , không ngoi tr i vu thú v ca Pastry
nm bnh tuyn s c mô t
Hình 8. Bảng định tuyến của node 10233102 trong Pastry
Node và d liu trong m nh danh bi mt giá tr 128 bit
(nodeId, ObjId). Mi d li trong mi m
c mt giá tr gi là khóa và d li ti node qun lý dãy các khóa
có cha giá tr khóa này (giá tr liu).
Mi node trong mng s mt bnh tuyn (routing table) mt tp các
hàng xóm (neighborhood set) và mt tp namespace. Pastry dùng các d li
qun lý và duy trì s nh ca mng thi phc v cho vic tìm kim d liu.
16
Hình 8 là bnh tuyn ca nodeId 10233102. Da vào bnh tuyn này
node 10233102 có th gi d lin cho node khác. Ví d node 10233102 mun gi
tu tiên nó s tìm trong các node hàng xóm
trong bnh tuyn , nu có s gn luôn. Nu không tìm thy nó s tìm trong
Routing table và so sánh các ký t u ca node cn gn (33321220) vi các
ct trong Routing table. C th là node 33321220 có ký t u là 3 : nó s tìm trong
Routing table ti hàng 1 cc node 31203203. Do ngay t ký t u ca
node cn gi nên quá trình tìm kim dng li. Node 10233102 s gi
n node 31203203 vi yêu cu s gn node 33321220. Quá trình
này tip tc xc node cn gi.
Hình 9. Node 10233102 gửi thông điệp m đến node 33321220
nh k gi các gói tin keep-alive cho các node hàng xóm ca nó và
nc gói keep-alive ca mt node hàng xóm
trong tp hàng xóm ca nó trong mt thi gian nhnh thì nó s node hàng
i khi mng và t ng update thông tin.
Scribe
h tng cho vic truyn multicast tng ng dng da trên giao
th nó thc nhc tính ca mt giao thc
mng ngang hàng có cu trúc ng thi mang nhm này vào trong vic
17
truy p multicast tng ng dng. Gi astry, Scribe là mô hình
phân quyn hoàn toàn nó có kh ng, duy trình mng, phát tán thông báo
mt cách có t chc và tin cng thi s ng nhóm,
s thành viên trong nhóm ló nhiu tài nguyên trên mng.
Scribe s xây dng mt cây multicast bng cách gi th tc join giao thc Pastry
mi khi mt nút có yêu cp vào nhóm truyn multicast. Và nh kh
cu hình ca Pastry mà v qun lý nút, nút l vào ca nút tr nên d
ng thi Scribe s dng giao th phát tán thông báo multicast.
Scribe t chc theo nhóm, tc là hp nhng node có cùng nhu cu nhn d liu
multicast vào mt nhóm, và v mt logic thì các node trong nhóm s có quan h vi
nhau theo hình cây(s gii thích k phn sau). Bt k mt node nào trong m
có th thc hic 3 thao tác: mt là to ra 1 group, hai là join vào m
t c (tr thành mt node trong cây multicast) và ba là truyn multicast ti tt c
các node có trong group (ngun multicast). Scribe là mt mô hình cung cp mt cách
c gng t c truyn multicast nó có th qu c nhiu
group cùng mt lúc, các group có s ng thành viên l u tài
nguyên trong mng.
Chi tiết giải thuật:
Mô hình:
Mô thc thi Scribe là mt m t
ng dng cng dng này s cung cp cho các
c gi khi mnh tuyn qua mt
c gn mt node mà có nodeId gn vi key
nht hoc n a ch c p trong
Scribe có 4 kiu là : JOIN (xin tham gia vào mt group), CREATE (to mt group
mi), LEAVE (ri khi group), MULTICAST (truyp multicast).
Quản lý nhóm:
Mi nhóm truyn multicast có mnh danh groupId duy nht
Scirbe node (tc là node trong mng dng Scrible) có
id gn vi id ca group (groupId) nhc gm g
là gc cng vi groupId này luôn.
To Nhóm: Mn khi to mc thc
hin s là :
18
B1nh tuyp route(CREATE,groupId).
B2: giao thc Pastry s gp này tm cui là mt node có nodeId
gn vi groupId nht. Và node này s c ca group mi to
ra.
B3: H thng s ki an toàn, các thông tin v chng thc nu không có
v gì thì s thêm group mt trong mng.
Trong vic tc quan trng nhc ki an toàn và
chng thiu này có ng rt ln ti s an toàn ca toàn mng
nói chung ch không ch riêng s an toàn ca group multicast.
Quản lý thành viên :
Mt group v n logic là mt cây multicast có gm gp", mi
khi có mt node mc join vào group thì nó s tr thành mt thành viên ca group
thành mt thành phn ca cây multicast, vì th ph h
t chc, qun lý các thành viên ca group. Nu mt node Scribe là mt phn ca group
thì v n cây multicast thì nó là mt forwarder. Mi mt forwarder duy trì
mt bng gi là children table mà mi entry ca bng này s ga ch
ip ca mng c.
Join group:
Khi mt node mun join vào m thc hic sau:
G p JOIN vi groupId ca group cn join làm key: route
(JOIN,groupId).
Giao thc Pastry s nh tuyn nó tm g
- Nu node trung gian trong quá trình truyp là mt forwarder (mt
thành phn cn ch là thêm node cn join vào
làm mt con ca node forwarder này.
- Nu node trung gian không phi là mt forwarder ca group cn join vào thì
thc hic:
To mt children table cho node trung gian và thêm thông tin ca node cn join
vào bng này.
Gp JOIN ca node trung gian tm gp (lúc này thay cho vic
thc hi thc
hi này ta s c mt danh sách các node mi join vào
group thay vì ch mu.
19
d hiu ta xét ví d sau : mm gp là node A có nodeId = 1100
i)
Hình 10. Quá trình 1 node join vào group
Node B có nodeId là 0111 mun join vào group có A là gc. nó s gi gói tin
route(JOIN,x) vi x là groupId ca group này, giao thc Pastry s nh tuyn gói tin
ti là mt thành phn ca group
này cho nên D s to ra mt children table c
(122.145.1.23;0111). Ti gi gói tin yêu cu join vào group có gc là A:
route(JOIN,x). Tip tc giao thc Pastry lnh tuyn nó t
phi là thành viên ca group này vì th t to ra mt childeren table ca nó
i gói tin route(JOIN,x). Gói tin
này tip tnh tuyn và tc A vì A là mt thành ca group cho nên
A s thêm entry (10.10.1.123;1101) vào children table ca nó. Kt qu là ta s có thêm
3 thành phn mi ca group là B ,D, E.
Tip theo node C có nodeId là 0100 mu bu nó
gi gói tin yêu cnh tuyn ti node D và vì
bây gi t thành phn cn D s thêm vào children
table ca nó mt entry mi (123.134.12.12;0100).
Leave group:
Khi mn ri khi group nó s ghi mt cách cc b r
ri khi group (tc là ch mt mình nó bii khi mng). u bng
children table ca node này là rng tc là nó không có con trong cây multicast thì nó
s gp LEAVE ti cha cp này s c
quy trong cây multicast cho ti khi nó ti mã ri khi
group. Còn nu bng children table ca node mun ri mng không rng thì nó làm
20
ng hp nó không có con nào ca nó s
li và th sa li (s trình bày i).
Vi cách join và leave này và vc tính phân phi ngu nhiên
ca Pastry cây multicast s c xây dng mt
node nào trong cây multicast ngay c node gc chu quá nhiu kit ni ti các node
khác. Vic này giúp cho Scribe có kh rng v kh
c là c n
mng thì Scribe vn có th c.
Truyền multicast tới mạng :
Khi mn truyn multicast ti các m trong m
nó s g p multicast t m gp (route(MULTICAST,rootId)). Sau khi
m gp nhp này nó s gi tr li node kia Ip ca nó (rootIP), sau
truyn thông tin mun gi tm gm gp s s copy gói tin
multicast này gi cho các con ca nó trong cây multicast (nm con này
khi nhc d lii tip tc copy d lii ti các con ca nó trong
cây (nu có). C lp ly và ch dng li vic này khi d liu ti các node
là node lá ca cây.
Hình 11. Truyền tin multicast trong group Scribe
Gi s trên Sender là node cn gi d liu cho cây multicast có
gc là 1100. Nó s gi gói tin route(MULTICAST,1100), node 1100 nhc gói tin
và tr la ch ip ca nó t lúc này sender giao tip vi node gc này
thông qua ip (bây gi là quan h trong giao thc tcp/ip ch n
pastry hay p2p gì c). Sender gi d liu cho node gc 1100 node này s to mt bn
sao d liu và gi cho con ca nó là 1101. Node 1101 nhc d liu t root, nó
to mt bn sao và gi cho 1001 là con ca nó. Node 1001 li tip tc copy d
liu và gi cho 0111 và 0100 là thành viên trong bng children table ca nó. Khi các