Khóa luận Truyền tin multicast đa luồng thời gian thực trên mạng ngang hàng có cấu trúc

ĐẠI HC QUC GIA HÀ NI  
TRƢỜNG ĐẠI HC CÔNG NGHỆ  
Nguyễn Văn Minh  
TRUYỀN TIN MULTICAST ĐA LUNG THI  
GIAN THC TRÊN MNG NGANG  
HÀNG CÓ CU TRÚC  
KHOÁ LUN TT NGHIỆP ĐẠI HC HCHÍNH QUY  
Ngành: Công nghthông tin  
HÀ NI - 2010  
ĐẠI HC QUC GIA HÀ NI  
TRƢỜNG ĐẠI HC CÔNG NGHỆ  
Nguyễn Văn Minh  
TRUYỀN TIN MULTICAST ĐA LUNG THI  
GIAN THC TRÊN MNG NGANG  
HÀNG CÓ CU TRÚC  
KHOÁ LUN TT NGHIỆP ĐẠI HC HCHÍNH QUY  
Ngành: Công nghthông tin  
Cán bộ hƣớng dn: TS. Nguyễn Hoài Sơn  
HÀ NI - 2010  
LI CẢM ƠN  
Em xin chân thành cảm ơn các thầy cô trường Đại hc Công Ngh- Đại hc  
Quc Gia Hà Nội đã tận tình ging dạy và giúp đỡ em trong suốt 4 năm vừa qua để em  
có đủ kiến thức để hoàn thành khóa lun này.  
Đặc bit em xin gi li cảm ơn sâu sắc đến thy Nguyễn Hoài Sơn. Thầy đã  
hướng dẫn và định hình cho em cách tiếp cn nghiên cu khoa hc. Đồng thi trong  
sut quá trình làm luận văn luôn phải đối mt vi các vấn đề khó khăn cần gii quyết  
thầy đã luôn theo sát để em tránh khi sai lm giúp em từng bước hoàn thành khóa  
lun này.  
Em cũng xin gửi li cảm ơn đến các anh chvà các bn trong nhóm nghiên cu  
ca thy Nguyễn Hoài Sơn đặc bit là cô Bùi Thị Lan Hương đã nhiệt tình htrvề  
mặt ý tưởng và kinh nghiệm đem có thhoàn thành khóa lun này tht tt.  
Con xin gi ti bmvà những người thân trong gia đình lòng biết ơn sâu sắc đã  
luôn động viên , giúp đỡ cho con vượt qua giai đoạn khó khăn này.  
Hà Nội, tháng 5 năm 2010  
Sinh viên  
Nguyễn Văn Minh  
Tóm tt  
̉
Trong thơi gian gần đây sựphat triên maṇ h me cua ha ̣̀ng Internet đa cho ra đơi  
̀
́
̃
̉
̃
̀
̉
nhưng ưng duṇ g mơi thay đôi hoan toan cach tương tac của con người vơi nhau trên  
̃
́
́
̀
̀
́
́
́
toàn thế giới. ́t nối vơi baṇ be thông qua maṇ g Internet trơ nên đơn gian hơn bao giơ  
̉
̉
́
̀
̀
́t nhơ nhưng ưng duṇ g nh ư Chat , Voice Call , Video Conference..Hay như cach  
̀
̃
́
́
thưc xem truyền hinh IP TV, xem video theo yêu cầu thông qua maṇ g Internet vơi chất  
́
́
̀
lươṇ g cao cung cho thấy sự thú vị hơn việc xem tivi truyền thống . Mộ p̀n trong  
̃
nhưng ưng duṇ g nay được xây dꢀng dꢀa trên nền tả ng truyền tin multicast thơi gian  
̃
́
̀
̀
thưc̣ đươc̣ đề p̣ đến trong khoa luâṇ .  
́
Truyền tin multicast thơi gian thưc̣ trên maṇ g ngang hang la môṭ nhanh trong  
̀
̀
̀
́
truyền tin multicast thơi gian thưc̣ trên maṇ g Internet . Khác với các mô hình Client -  
̀
Server truyền thống , mô hinh maṇ g ngang hang co nhưng đăc̣ trưng riêng biêṭ . Vơi  
̀
́
̃
́
̀
̉
mô hinh maṇ g ngang hang ngươi thiết kế co thê tâṇ duṇ g băng thông va kha năng lưu  
̉
̀
̀
́
̀
̀
trư cua cac may tham gia maṇ g thay vi p̣ trung tải vào mt số máy chꢁnh như các  
̃ ̉  
́
́
̀
̉
server trong mô hinh Client-Server. Điêm maṇ h này của mô hình mạng ngang hàng đã  
̀
làm cho các nghiên cứu về truyền tin multicast cũng như video str eaming trên maṇ g  
ngang hang ngày càng nhiều khi ma cac nghiên cưu trên mô hinh client -server đa gần  
̀ ́  
̀
́
̃
̀
̉
như không thê tối ưu hơn nưa.  
̃
Khóa lun tôi trình bày nhằm đưa ra một gii pháp xây dꢀng cây multicast đa  
lung thi gian thc trên mng ngang hàng có cấu trúc vơi mong muốn đap ư ng đươc̣  
́
́ ́  
các yêu cầu đăc trưư g như đam bao độtrễtaị cac node tham gia maṇ g không qua lơn  
̉
̉
́
́ ́  
và độ trễ giữa các luồng nhận được tại mỗi node chênh lệch nhau nh.  
Thiết kế được đưa ra trong khóa lun da trên giao thc DHT và mô hình mng  
Chord , kết qumô phỏng và đánh giá bước đầu đã cho kết qutt. Tuy nhiên cn  
nhiu nghiên cu ci tiến hơn nữa nhằm đt hiu qucao nht.  
Mc lc  
Danh mc hình nh  
1
Mở đầu  
̉
Trong thơi gian gần đây ha ̣̀ng Internet phat triên vơi tốc độchong măṭ . Tốc độ  
̀
́
́
́
truyền tai trên maṇ g cao đa lam xuất hiêṇ nhiều ưng duṇ g mơi sư duṇ g truyền tin  
̉
̃
̉
̀
́
́
̉
multicast thơi gian thưc̣ như IP TV , video conference.. Chúng đang lam thay đôi cach  
̀
̀
́
giao tiếp cua con ngươi , thu hep̣ moị khoang cach vâṭ li , mang đến cho chung ta  
̉
̉
̀
́
́
́
nhưng trai nghiêṃ mơi me về cuôc̣ sống.  
̃
̉
́
̉
Truyền tin multicast co 2 loại chꢁnh là IP multicast và multicast trên tầng ứng  
́
̉
dụng. IP Multicast co thê xem la phương phap multicast chinh thống , hiêụ qua nhất .  
̉
́
̀
́
́
̉
Tuy nhiên khi triên khai trên maṇ g Internet thi IP Multicast găp̣ nhưng trơ ngaị rất  
̃
̉
̀
lơn : đo la chi phi cho viêc̣ thay thế router trên toan maṇ g Inter net (do cac router trươc  
́
́ ̀  
̀
́
́
́
đây không co kha năng multicast ) và chi phꢁ cho việc duy trì các cây multicast đó trên  
̉
́
̉
̣thống Internet rôṇ g lơn. Xu hương truyền tin multicast vi thế chuyên sang truyền tin  
́
́
̀
multicast trên tầng ưng duṇ g.  
́
̉
Tuy nhiên khi triên khai trên truyền tin multicast trên tầng ưng duṇ g cung găp̣  
́
̃
không it vấn đề . Thay vi nhân ban cac goi tin taị cac router như IP Multicast , cơ chế  
̉
́
́
́
́
̀
Multicast trên tầng ưng duṇ g laị nhân ban cac goi tin trên cac ma y đầu cuối . Do đo  
̉
́
́
́
́
́
́
viêc̣ tối ưu cây multicast nhằm taọ sựcân bằng tai tương đối trên toan maṇ g cung la  
̉
̃
̀
̀
ṭ vấn đề . ṭ vấn đề nưa phai tinh đến la độtrễ . Các gói tin liên tục phải luân  
̃
̉
̀
́
̉
̃
chuyên qua nhiều vi ṭ ri đầu cuối nên độtrê se tăng cao . Viêc̣ xây ṇ g đươc̣ ṭ cây  
̃
́
̉
̉
̃
multicast phu hơp̣ đê giam thiêu độtrê cung la môṭ vấn đề quan troṇ g.  
̉
̃
̀
̀
Hiêṇ nay đa co nhưng nghiên cưu xây dưṇ g cây multicast đa luồng trên maṇ g  
̃ ́  
̃
́
ngang hang co cấu truc như Sp litstream. Splitstream đươc̣ xây dưṇ g dưạ trên nền tang  
̉
̀
́
́
̉
Pastry, Scribe thêm vao đo môṭ số giai phap đê haṇ chế tinh traṇ g qua tai taị môṭ số  
̉
̉
̀
́
́
́
̀
node tham gia maṇ g. Nghiên cưu nay đã có kết quả tương đi tt.  
́
̀
Gii pháp ca khóa luận đưa ra dꢀa trên ý tưởng và các ưu điểm ca mô hình  
mng có cấu trúc Chord được sửa đổi để phù hp vi vic xây dng cây truyền tin  
multicast đa lung. Tóm tt ni dng trình bày trong các chương:  
Chương 1: Truyn tin multicast thi gian thc  
Chương 2: Truyn tin multicast đa luồng thi gian thc  
Chương 3: Xây dꢀng cây multicast đa luồng thi gian thc trên mng ngang hàng  
có cu trúc  
Chương 4: Mô phỏng và đánh giá  
Chương 5: Kết luận và hướng phát trin  
2
 
Chƣơng 1.Truyn tin multicast thi gian thc  
1.1.Tng quan vtruyn tin multicast thi gian thc  
Trong điều kin internet phát trin rt nhanh như hiện nay vic truyn tin trên  
mng đã trở nên ngày càng quan trng và phbiến. Mục đꢁch cuối cùng ca vic  
truyn tin là gi thông tin từ máy này đến máy khác nên để đơn giản và trc quan  
người ta đã mô hình hóa việc truyn tin gia các máy thành truyn tin gia các node.  
Sau đây là 1 số mô hình truyn tin thường gp :  
Hình 1. Mt smô hình truyn tin  
Chương này của khóa lun slàm rõ chi tiết vic truyn tin multicast.  
Truyền tin multicast được định nghĩa là việc 1 máy truyền tin đến 1 nhóm máy  
có la chọn. Quá trình được mô hình hóa thành các node như trên hình 1: gói tin được  
nhân bn thành nhiu gói tin khác và gửi đi theo các cnh ca cây multicast .  
Ta có ththy truyn tin multcast tra rt hiu qutrên mng Internet. So sánh  
với phương pháp truyền tin broadcast (gi không có la chn) ta thấy : ṭ node se  
̃
gưi goi tin đến tất ca cac node khac ma no biết , trong khi nhưng node thưc̣ sựcần dư  
̉
̉
̃
̃
́
́
́
̀ ́  
liêụ không phai la tất ca cac node ấy . Điều nay thưc̣ sựlam lang phi băng thông cua  
̉
̉
̃
̉
̀
́
̀
̀
́
mạng.  
Chính nhờ các đặc tính riêng hiu quả như vậy mà truyền tin multicast đang trở  
thành hướng phát trin truyn tin chính so vi các phương pháp truyền tin khác.  
Truyn tin multicast hiện nay được phân loi thành 2 nhánh chính là : IP Multicast  
3
     
(Multicast tng mng ) và Multicast trên tng ng dng sẽ được gii thiu mc tiếp  
theo.  
1.1.1.IP Multicast  
Định nghĩa cơ bản nht ca IP Multicast : IP multicast là cơ chế gi mt  
thông điệp tmt ngun duy nhất đến mt nhóm chn lựa các địa chỉ đích thông  
qua mt htng mng lp 3 trong mt dòng dliu..  
Hình 2. Mô hình IP Multicast  
Hình 2 trình bày chi tiết vmô hình IP Multicast và cách thc hoạt động ca nó.  
Node gi là máy Sender vi mc tiêu là gửi được gói tin đến cho 2 máy Receiver.  
Sender sgi gói tin IP với địa chmulticast (cái này sẽ được gii thích chi tiết ở  
đoạn sau) đến Switch/Router. Switch/Router nhn được gói tin và phân tꢁch địa chỉ  
multicast trên gói tin IP đó. Sau đó Switch/Router nhân bn gói tin thành n gói tin gi  
đi cho n máy có địa chIP Multicast trên (trong hình minh họa là 2 máy có cùng địa  
chỉ IP Multicast đó).  
Deering được xem như là người đầu tiên đề xut giải pháp IP multicast. Năm  
1990 IP Multicast ra đời , nó là sphát trin tmô hình dch vụ IP unicast để nhm  
nâng cao giao tiếp đa điểm. Mô hình dch vmulticast cung cp hai li ích chính: (1)  
hiu qusdụng băng thông và (2) việc địa chnhóm gián tiếp cho phép redezvous  
tng mạng. Đề xut này của Deering đã mở ra một lĩnh vꢀc mi cho các ng dng ca  
IP Multicast.  
4
   
Để truyn multicast thì cn da trên khái nim mt nhóm. Nhóm cha tt ccác  
máy cùng mong mun nhận được mt dliu. Nhóm này không có gii hn vvt lý  
và địa lý, nó có thnm bt cứ đâu trên mạng Internet. Thꢀc ra ban đầu IP Multicast  
được phát triển trong các trường đại hc và các phòng nghiên cu nhm phc vchủ  
yếu cho video streaming vi tốc độ cao nht. Vic qun lý và phân nhóm trong khu  
vc mạng LAN như vậy skhông quá phc tp. Tuy nhiên khi áp dng vào mng  
Internet thì nó cần 1 định nghĩa nhóm tốt hơn. Và IGMP( IGMP - Internet Group  
Management Protocal) đã ra đời. Các máy trên mng Internet mun nhn dliu thì  
cn phi gia nhp giao thc qun lý nhóm mng IGMP.  
Người dùng có thquyết định tham gia hoc ri bnhóm bt clúc nào, và có  
thlà 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 multicast cũng có thể khác nhau: cùng mt máy có thlà ngun gi  
trong cây multicast này, nhưng lại là máy nhn trong cây multicast khác.  
Mi mt máy cần có địa chỉ multicast là địa chmà mi máy tham gia vào nhóm  
và mong mun nhận được dliu. IANA ( IANA - Internet Assigned Numbers  
Authority) skim soát việc gán địa chỉ IP Multicast. IANA gán không gian địa chỉ  
lớp D được dùng cho IP Multicast. Như vậy tt cả địa chMulticast nm trong di:  
224.0.0.0 239.255.255.255.  
Ngoài ra, để có ththc hin multicast, bộ định tuyến (tiếng Anh: Router) trong  
mô hình này phi có chức năng multicast(đây là một trong những vướng mc ln nht  
khiến IP Multicast khó có thphát trin mnh). Khi ngun multicast truyền thông điệp  
multicast, bộ định tuyến cc bsgi thông điệp đó đến các bộ định tuyến khác được  
kết ni vi mng có các thành viên ca nhóm multicast.  
Như vậy, trong cây multicast ca mô hình truyn tin multicast tng mng, các bộ  
định tuyến đóng vai trò là các node trong thân cây, có nhiệm vchuyn tiếp 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 tuyến  
được minh họa như trong Error! Reference source not found..  
5
Hình 3. Bộ định tuyến trong truyn tin multicast tng mng  
Truyn tin multicast tng mng phát huy mnh mẽ các ưu điểm ca truyn thông  
multicast nói chung. Do các bộ định tuyến đóng vai trò các node trên thân cây  
multicast, các cnh của cây cũng chꢁnh là các đường truyn vt lý, các gói tin multicast  
được nhân bn ti các bộ định tuyến làm cho số gói tin lưu thông trên đường truyn  
gim ti mc ti thiểu. Do đó, hiệu sut truyn tin ca mạng đt mc tối đa.  
Vi kiến trúc IP Multicast đang sdng hin nay để triển khai trên hệ thống  
mạng Internet đang thꢀc sꢀ găp̣ cac vấn đề kho khăn :  
́
́
̉
Khi triên khai trên hê ̣thống lơn như Internet cac router phai lưu giư rất nhiều  
̉
̃
́
́
trạng thái của các nhóm . Đây thưc̣ sựla môṭ vấn đề lơn khi số nhom tăng lên  
̀
́
́
cao.  
Tạo và duy trì một cây multicast mt ́t nhiều tai nguyên va thơi gian.  
̀
̀
̀
Khi có quá nhiu kết ni hoc mt node mng không hoạt động sgây ra rt  
mng và phi sa cha li nhiu phn ca cây.  
Vic cân bng tải và đnh tuyến lại cây chưa được xư li thâṭ tốt.  
̉
́
̉
́n đề lơn nhất cua viêc̣ triên khai IP Multicast la chi phꢁ để thay thế li htng  
̉
́
̀
mng đã được xây dng là cc kln. Chính vì vậy mà xu hướng chuyn giao sang  
truyn thông multicast tng ng dng.  
1.1.2.Multicast tng ng dng  
Do nhu cu sdng truyền thông multicast đang ngày càng ln, trong khi giao  
thc IP multicast tng mạng chưa đủ để đáp ứng cng vi rt nhiều khó khăn ở trên,  
xu hướng multicast ngày càng mrng sang multicast tng ng dng.  
6
   
Multicast tng ng dụng không thay đổi và phá vhthng mng. Thay vào đó,  
nó chthc hin chức năng truyền multicast trên các máy cui tng ng dng. Từ  
tng ng dng struyn xung các tng mng và tng giao vn. các tng thấp hơn,  
cơ chế hoàn toàn không thay đổi.  
Hình 4. Truyn thông multicast tng mng và tng ng dng  
(Hình vuông là các router, hình tròn là các máy đầu cui)  
Khi truyn multicast tng ng dụng, các gói tin không được nhân bn ti các bộ  
định tuyến giống như mô hình multicast nguyên thuỷ (IP multicast) mà vic nhân bn  
gói tin sẽ được thc hin tại các máy đầu cui. Vmặt logic, các máy đầu cui to nên  
mt mng phvà giao thc truyn thông multicast phi xây dng và duy trì vic  
truyn multicast trên mng phnày.  
Có hai thông số đo đạc tính cht ca vic truyn multicast trên tng ph: stress  
stretch. Stress được xác định theo tng kết nối và đếm số gói tin được gửi đi bởi  
mt giao thc tng mạng dưới. Stretch được đo bi mi máy và là tlca chiu dài  
tnguồn đến thành viên mt mng phủ theo đường dn unicast.  
Nhìn chung, các giao thc tng mng có thể được đánh giá theo ba hướng:  
Chất lượng của đường truyn dliu: là chất lượng của cây được đo bởi mt  
sthông sstress, stretch và cấp đnode.  
Độ mạnh yếu ca tng ph: Mỗi máy thường không ổn định như router, các  
node có thri mng tm thi hoặc vĩnh viễn làm ảnh hưởng đến các node nhn  
phꢁa dưới. Độ mạnh yếu ca các giao thc tng ng dụng được đo bởi việc đo  
đạc smt mát dliu truyn khi các thành viên bli và thi gian mà nó cn  
để giao thc có thkhôi phc lại đtruyn cho các thành viên khác.  
Quá tꢀi : để sdng hiu qutài nguyên mng, quá tải điều khin mi thành  
viên nên nhỏ. Đó là một thông sgiá thành quan trọng để đo đạc tính mrng  
ca thành viên.  
7
 
Do truyn thông multicast tng ng dng phi gi các gói tin ging nhau trên  
cùng mt kết ni, hiu sut ca mô hình này không thtối ưu được bng truyn thông  
multicast trên tng mng. Tuy nhiên, truyn tin multicast tng ng dng vn có khả  
năng gim ti nhiều cho đường truyn và ngun tin multicast.  
1.1.3.Các mô hình truyn tin multicast tng ng dng  
Đề có thtruyền tin multicast được thì trước 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 kết vi nhau. Mi máy tính gi là mt node mng liên kết o vi các node khác.  
Vic xem máy tính là 1 node ảo được sdng rt nhiu trong cu trúc ca các mng  
ngang hàng như Chord , Pastry do tꢁnh chất phân tán và không xác định được về  
phương diện địa lý ca các máy tht.  
Dꢀa vào topology đó, các node tương ứng vi các node trên cây multicast (node  
lá hoc node con), liên kết o sto nên cơ chế truyn tin tnode 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-first). Sau đây ta sẽ nghiên cu  
phân tích và la chn một hưng truyn thông phù hp cho video streaming.  
Multicast theo hướng mesh-first  
Trong cách tiếp cn mesh-first, các node trước khi tham gia vào cây phi là thành  
viên ca mt mng phủ nào đó, và giữa chúng đã tồn ti các liên kết vi nhau dng  
lưới. Sau đó, cây multicast sẽ được xây dng da trên các liên kết ca mng phnày.  
Giao thc Narada là mt trong nhng giao thc multicast tng ng dụng đầu tiên  
và theo hướng mesh-first. Nó chỉ định một máy đặc bit là Rendezvous Point (RP)  
được sdụng để theo dõi sgia nhp ca mt thành viên mi.  
Tt ccác giao thc multicast tng mạng cũng sử dng mt hoc mt scác thc  
thể tương tꢀ như RP trong Narada để tạo cơ chế gia nhp.  
Xây dng mesh: khi mt node mi mun gia nhp nhóm multicast, nó scó danh  
sách thành viên đã gia nhập vào mesh do RP cung cấp. Sau đó thành viên mới sla  
chn ngu nhiên mt scác thành viên và gia nhập vào mesh và coi như là láng ging  
ca những thành viên đó. Quy trình gia nhập thành công khi mà ít nht mt thành viên  
trong danh sách đồng ý đthành viên mi là láng ging mesh.  
Khi gia nhp vào mesh, thành viên mi bắt đầu định kỳ trao đổi thông điệp vi  
các lang ging mesh ca nó. Bt ckhi nào mt node gia nhp hoc mt thành viên ri  
8
 
nhóm, nhóm này sẽ thay đổi thông tin ca tt cả thành viên. Do đó, mỗi thành viên  
trong nhóm gitrng thái ca tt cả các thành viên trong nhóm. Thông tin này thường  
xuyên được cp nht. Vic lưu trữ các thông tin trng thái ca tt cthà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))  
với N là kꢁch thước của nhóm. Do đó, giao thức Narada hiu quchỉ khi kꢁch thước  
nhóm Multicast là nh.  
Hình 5. Giao thc Narada  
Khi cthành viên D và E cùng li, mesh phân chia thành 2 phần. Do đó, các  
thành viên A, B và C sngng nhận được thông tin trng thái từ F, G và H; và ngược  
li. Mi thành viên có thkho sát các thành viên tkhi nó ngng nhận được thông  
điệp trng thái để to ra mt kết ni mi và sa các phn. Chý ý rng, vic sa không  
yêu cu shtrcủa RP và do đó vẫn có ththc hiện được ngay ckhi RP bli.  
Đường truyn dliu: các thành viên ca mt nhóm thc hin mt giao thc  
định tuyến để tꢁnh ra các đường đi unicast trong mesh.  
Schn lc ca mesh: các đường truyn dliu trong Narada là các cây nhp  
của mesh. Do đó, chất lượng của đường truyn dliu phthuc vào chất lượng ca  
các kết 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. Do đó, sꢀ chn lc  
định kcn phải được thc hin vi các cạnh để ci tiến chất lượng của các đường  
truyn dliu. Vic thêm cnh (J,G) là có ích bi vì mt số lượng ln các node unicast  
9
 
có thể được thay bng mt cnh mi. Cạnh (A, C) được xoá đi. Quyết định để thêm  
hoc bỏ đi một cnh của mess đưc thc hin gia cnh của 2 điểm cui.  
Ưu điểm ca mô hình này là khả năng chịu li cao do mi node tn ti nhiu liên  
kết vi các node khác trong mạng. Tuy nhiên nhược điểm ca mô hình này là rt khó  
để thc hin cân bng ti và cân bằng độ trgia các node do phthuc vào kiến trúc  
mng ph. Với nhược điểm này thì không phù hp vi truyn video streaming do các  
gói tin có độ trkhác nhau, gói tin gửi trước có thể đến sau, gói tin gửi sau đến trước.  
Vic không cân bằng đtrslàm ảnh hưởng đến vic trình din dliu.  
Multicast theo hướng tree-first  
Trong cách tiếp cn tree-first, các node khi tham gia vào cây multicast sttìm  
cho mình mt node cha từ các node thành viên trước đó của cây. Vic chn node cha  
thường được thc hin da trên mt số tiêu chꢁ như cân bằng băng thông giữa các  
node hoặc đảm bảo độ sâu ca cây cân bng gia các nhánh.  
Ưu điểm ca mô hình này là các node có thchọn node cha, do đó có thể tránh  
được tình trng một node nào đó phải chu ti quá cao.  
Hình 6. Mng phủ 7 node (a) và cây multicast xây tương ứng (b)  
Scribe là hthng multicast tng ng dng mrộng được xây dng trên Pastry.  
Để to nhóm multicast, Scribe to ra mt khoá Pastry tꢀ động được biết như Id của  
một nhóm. Cây multicast tương ứng vi một nhóm được thc hin bng mt tp hp  
các bộ định tuyến Pastry tmt node thành viên đến nhóm gc ca Id. Bng vic  
truyn lùi lại trên đường dn, các gói tin multicast tgc ti mi thành viên.  
SplitStream là hướng phát trin sau ca Scribe mà tp trung vào vic phân btruyn  
thông.  
Ngoài Scribe là hthng multicast tng ng dng xây dꢀng trên Pastry, ta cũng  
có thxây dng multicast trên các mng ngang hàng có cấu trúc DHT khác như CAN,  
CHORD…  
10  
 
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 phục nhược điểm  
ca mng không cu trúc bng cách sdng hthng DHT (Bảng Băm Phân Tán,  
tiếng anh: Distributed Hash Table). Hthống này định nghĩa liên kết gia các nút  
mng trong mng phtheo mt thut toán cthể, đồng thời xác định cht chmi nút  
mng schu trách nhiệm đối vi mt phn dliu chia strong mng. Vi cu trúc  
này, khi mt máy cn tìm mt dliu, nó chcn áp dng mt giao thức chung để xác  
định nút mng nào chu trách nhim cho dliệu đó và sau đó liên lạc trc tiếp đến nút  
mạng đó đly kết qu.  
Phát trin trên mng ngang hàng có cu trúc stn dụng ưu điểm là khả năng dễ  
mrng do cu trúc liên kết rõ ràng; vic tìm kiếm thông tin nhanh hơn. Giao thức tìm  
kiếm chung trong mng sẽ đảm bảo thông tin được tìm kiếm chính xác. Đây là một li  
thế rt quan trng khi áp dng mng ngang hàng có cấu trúc để trin khai truyn tin  
multicast, do truyn tin multicast yêu cu khả năng định tuyến ca mng phủ để xây  
dng nên cây multicast.  
Ngoài ra, tài nguyên được phân bmt cách hợp lý để không có mt máy tính  
nào lưu giữ quá nhiu dliu dẫn đến quá tải thông tin định tuyến. Do mng là có cu  
trúc nên các thông điệp chuyển đi giữa các máy tꢁnh để duy trì mạng ngang hàng được  
gim xung mc ti thiểu. Băng thông của mạng được dành nhiều hơn cho vic chia sẻ  
tài nguyên.  
Tuy nhiên nhược điểm ca mô hình này là khi một node nào đó bị li, vic khôi  
phc lại cây multicast để đảm bo lung dliệu cho các node con là tương đối khó  
khăn do mỗi node biết rt ít thông tin vcác node khác trong mng.  
1.2.Truyn tin multicast thi gian thc  
Mt nhánh trong truyn tin multicast là truyn tin multicast thi gian thc.  
Phương pháp truyền tin này thường được áp dng trong các ng dng video streaming  
trc tiếp có thxem là thế mnh thc sca mng ngang hàng so vi mô hình mng  
client server truyn thng. Ví dcthnht là khi chúng ta mun xem mt trận đá  
bóng rất được mong đợi gia Real Maldrid Barcelona. Mt thng kê cho biết có đến  
gn 1 tỷ người theo dõi trn cu này trên toàn thế gii và chc chn là ti thời điểm đó  
không có 1 server nào có thể đủ mạnh để phát sóng trc tiếp trận đấu lên mng  
Internet. Thế nhưng với 1 ng dng ca video streaming thi gian thc trên mng  
ngang hàng (như Sopcast , TVU Player) bạn li có ththeo dõi trận đấu này vi cht  
11  
 
lượng có thchp nhận được. Đó chꢁnh là ưu điểm vượt tri ca mô hình mng ngang  
hàng và hin nay vẫn đang được phát triển để ngày càng tối ưu hóa. Khóa lun này  
cũng là một đề xut vtruyn tin multicast đa luồ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 thꢀc có 2 đặc tính riêng quan trng nht cn  
phải đáp ứng để đạt được chất lượng có thchp nhận được :  
Inbound bandwith ti mỗi máy là đủ lớn để decode được thành video vi cht  
lượng chp nhận được . Vi các kthut decode bây githì các máy vi mc  
download lớn hơn 240Kbits/s là có thể xem được video.  
Độ trti các máy là không quá lớn để đảm bo tính thi gian thc . Tính cht  
này thường rt quan trng trong các ng dng video streaming 2 chiều như  
video call … tuy nhiên trong các ứng dng 1 chiều như các ứng dng xem TV  
trên Internet đặc tính này li có thkhông quá quan trng  
12  
Chƣơng 2.Truyền tin multicast đa lung thi gian thc  
Trong chương mt, chúng ta đã hiểu được khái nim và cách thc truyn tin  
multicast cũng như truyền tin multicast thi gian thc. Mt trong những đặc tính quan  
trng ca hthng multicast là 1 máy khi tham gia vào hthng multicast có thva  
là node gi dliu li va là node nhn dliu. Ttính chất này người ta đã phát triển  
truyn tin multicast từ đơn luồng thành đa luồng vi những ưu điểm , hiu quả ứng  
dng rất đáng ghi nhận trên mng ngang hàng.  
2.1. Tng quan vtruyền tin multicast đa luồng  
Hình 7. Truyền tin mulicast đa luồng  
Về cơ bản truyền tin multicast đa luồng được xây dng trên cây multicast vi mở  
rng : các node thay vì chgi và nhn 1 gói dliu thì bây gili nhn và gi nhiu  
dliệu hơn.  
Xét ví dụ ở Hình 7. Bây gigista chỉ quan tâm đến stripe 1(luồng 1) : đây  
chính là truyền tin multicast đơn luồng. Quá trình truyền tin như sau : node source  
(ngun) gi dliệu đến node con 2. Node 2 gi dliu cho node 3 , 4. Các node 3 , 4  
gi dliu cho các node lá 5 , 6 ,7 ,8. Như vậy ta có ththy các node trong 2 , 3 , 4  
đều phi gi dliệu đi cho 2 node khác trong lúc đó chỉ nhn v1 lung dliu.  
Trong khi đó các node lá 5 , 6 , 7 , 8 chnhn dliu mà không phi gi. Vic truyn  
tin multicast như thế này trên mng ngang hàng đã vi phạm tiêu chí quan trng nht  
trong mng ngang hàng : tính công bng. Trên mng ngang hàng các node gửi đi nhiu  
dliệu thì cũng phải được nhận lượng dliu xứng đáng với mức đóng góp của node  
13  
     
đó trong hệ thng mạng. Điều kiện này là cơ sở để mng ngang hàng phát triến mnh  
trên hthống Internet. Trên đây chỉ là trường hợp cây multicast đơn luồng nhphân ,  
còn trên thc tế mô hình cây multicast chc chn sphc tạp hơn nhiều.  
Theo như nghiên cứu về cây multicast đơn luồng vi fanout = 16 (mi node gi  
dliệu cho 16 node con khác) thì có đến 90% là node lá và chcó 10% là node trong.  
10% đó phi gánh toàn bộ băng thông mạng.  
Mục đꢁch lớn nht cutruyền tin multicast đa luồng là gii quyết được vấn đề  
vừa đặt ra : làm sao đạt được tính công bng cho các node tham gia hthng multicast.  
Xét ví dụ ở Hình 7. Bây giờ ta quan tâm đến c2 lung stripe 1 , 2. Sau khi xét  
quá trình truyn tin ca c2 lung ta có ththy tt cả các node trong cây đều nhn 2  
2 lung dliu và gửi đi 2 luồng dliu. Nếu stripe 1 và stripe 2 là tương đương nhau  
thì quthc hthống này đã đạt được scông bng mong mun.  
Ví dụ ở Hình 7 có thxem là hình mẫu đơn giản nhất cho cây multicast đa luồng.  
Vic phát trin và ng dng trong hthng mng ngang hàng với độ phc tp lớn hơn  
nhiều đã gp 1 svấn đ:  
Slung mong mun là lớn để đảm bo mi lung dliu khi truyền đi trên  
mạng đủ nhỏ để tránh tc nghn. Việc tăng số luồng đồng nghĩa với cách xây  
dng vic gi và nhân các lung ti mi node trong cây multicast cũng sẽ phc  
tạp hơn để đm bo vn giữ được tính công bng  
Tính không ổn định ca mạng. Đây chꢁnh là đặc trưng thꢀc tế ca hthng  
mng ngang hàng. Các node trong cây multicast svào ra liên tục và để cây  
multicast vẫn đảm bo truyền tin được đến tt ccác node thì cn phải có cơ  
chế thay đổi li cây multicast cho phù hp.  
Gần đây đã có một snghiên cứu liên quan đến xây dꢀng cây multicast đa luồng  
trên mng ngang hàng có cu trúc sdng giao thc DHT(Bảng băm phân tán -  
Distributed Hash Table). Mc 2.2 strình bày vnhng gii pháp này  
2.2.Splitstream  
Splitstream là gii pháp xây dꢀng cây multicast đa luồng da trên nn tng  
Pastry , Scribe.  
Để hiểu được Splitstream ta stìm hiu rõ vcu trúc Pastry và Scribe ngay sau  
đây.  
14  
 
Pastry  
Là mt giao thc phân phi dliệu và định tuyến tng ng dng trong các ng  
dng mng ngang hàng có cấu trúc. Đúng như định nghĩa của nó Pastry có hai nhim  
vchính là phân phi dliu trong mt mng ngang hàng và tìm kiếm dliu trong  
mng da vào khóa tìm kiếm. Hthng Pastry là mt hthng phân tán có khả năng  
tcu hình và có tính ổn định cao, khả năng chống chu li tốt, đồng thời nó cũng có  
khả năng mở rng và ng dng cho nhng dch vln.  
Pastry cũng sử dng giao thức DHT để lấy định danh các node tham gia vào hệ  
thng mng. Vi dải địa chln thì giao thc DHT quthc rt phù hp vi hthng  
mng ngang hàng , không ngoi trừ đối với Pastry. Tuy nhiên điều thú vca Pastry  
nm bảng đnh tuyến sẽ được mô tả dưới đây.  
Hình 8. Bảng định tuyến ca node 10233102 trong Pastry  
Node và dliu trong mạng Pastry được định danh bi mt giá tr128 bit  
(nodeId, ObjId). Mi dliệu lưu trữ trong mạng được băm bởi một hàm băm từ đó thu  
được mt giá trgi là khóa và dliệu này được lưu trữ ti node qun lý dãy các khóa  
có cha giá trkhóa này (giá trị khóa thu được khi băm dữ liu).  
Mi node trong mng sẽ lưu trữ mt bảng định tuyến (routing table) mt tp các  
hàng xóm (neighborhood set) và mt tp namespace. Pastry dùng các dliệu này để  
qun lý và duy trì sꢀ ổn định ca mạng đng thi phc vcho vic tìm kiếm dliu.  
15  
 
Hình 8 là bảng định tuyến ca nodeId 10233102. Da vào bảng định tuyến này  
node 10233102 có thgi dliệu đến cho node khác. Ví dnode 10233102 mun gi  
thông điệp m đến cho node 33321220. Đầu tiên nó stìm trong các node hàng xóm  
trong bảng định tuyến , nếu có sgửi đến luôn. Nếu không tìm thy nó stìm trong  
Routing table và so sánh các ký tꢀ ban đầu ca node cn gửi đến (33321220) vi các  
ct trong Routing table. Cthlà node 33321220 có ký tꢀ đầu là 3 : nó stìm trong  
Routing table ti hàng 1 cột 3 tìm được node 31203203. Do ngay tký tꢀ đầu ca  
node cn gửi đã khác node gửi nên quá trình tìm kiếm dng li. Node 10233102 sgi  
đến node 31203203 vi yêu cu sgửi thông điệp m đến node 33321220. Quá trình  
này tiếp tc xảy ra cho đến khi đến được node cn gi.  
Hình 9. Node 10233102 gửi thông điệp m đến node 33321220  
Các node định kgi các gói tin keep-alive cho các node hàng xóm ca nó và  
nếu như một node nào đó không nhận được gói keep-alive ca mt node hàng xóm  
trong tp hàng xóm ca nó trong mt thi gian nhất định thì nó sẽ xem như node hàng  
xóm đã rời khi mng và tꢀ động update thông tin.  
Scribe  
Scribe là cơ sở htng cho vic truyn multicast tng ng dng da trên giao  
thức Pastry. Cũng chꢁnh vì thế nó thừa hưởng được những đặc tính ca mt giao thc  
mng ngang hàng có cu trúc và đồng thi mang những đặc điểm này vào trong vic  
16  
 
truyền thông điệp multicast tng ng dng. Giống như Pastry, Scribe là mô hình  
phân quyn hoàn toàn nó có khả năng xây dꢀng, duy trình mng, phát tán thông báo  
mt cách có tchc và tin cậy đồng thời có tꢁnh tương thꢁch cao với số lượng nhóm,  
sthành viên trong nhóm lớn cũng như khi có nhiu tài nguyên trên mng.  
Scribe sxây dng mt cây multicast bng cách gi thtc join giao thc Pastry  
mi khi mt nút có yêu cầu đăng nhập vào nhóm truyn multicast. Và nhkhả năng tꢀ  
cu hình ca Pastry mà vấn đề qun lý nút, nút lỗi cũng như ra vào ca nút trnên dễ  
dàng. Đồng thi Scribe sdng giao thức Pastry để phát tán thông báo multicast.  
Scribe tchc theo nhóm, tc là hp nhng node có cùng nhu cu nhn dliu  
multicast vào mt nhóm, và vmt logic thì các node trong nhóm scó quan hvi  
nhau theo hình cây(sgii thích kỹ ở phn sau). Bt kmt node nào trong mạng cũng  
có ththc hiện được 3 thao tác: mt là to ra 1 group, hai là join vào một group đã có  
từ trước (trthà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  
cgng tối đa trong việc truyn multicast nó có thquản lý và duy trì được nhiu  
group cùng mt lúc, các group có số lượng thành viên lớn cũng như có nhiều tài  
nguyên trong mng.  
Chi tiết gii thut:  
Mô hình:  
hình để thc thi Scribe là mt mạng Pastry trong đó các máy có cài đặt  
chương trình ứng dng của Scrible. Chương trình ứng dng này scung cp cho các  
máy này hai phương thức là forward (được gi khi một thông điệp định tuyến qua mt  
node) và deliver (được gọi khi thông điệp đến mt node mà có nodeId gn vi key  
nht hoc nội dung thông điệp chꢁnh là địa chcủa node đó). Các thông điệ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 (truyền thông đip multicast).  
Qun lý nhóm:  
Mi nhóm truyn multicast có một định danh groupId duy nht  
Scirbe node (tc là node trong mạng có cài chương trình ứng dng Scrible) có  
id gn vi id ca group (groupId) nhất được gọi là “điểm gặp” và nó cũng chꢁnh  
là gc của cây multicast tương ứng vi groupId này luôn.  
To Nhóm: Một node Scribe nào đó muốn khi to một group thì các bước thc  
hin slà :  
17  
B1: node Scribe dùng Pastry định tuyến thông đip route(CREATE,groupId).  
B2: giao thc Pastry sgửi thông điệp này tới điểm cui là mt node có nodeId  
gn vi groupId nht. Và node này sẽ được xem như là gốc ca group mi to  
ra.  
B3: Hthng skiểm tra độ an toàn, các thông tin vchng thc nếu không có  
vấn đề gì thì sthêm group mới vào danh sách các group đã biết trong mng.  
Trong vic tạo nhóm bước quan trng nhất chꢁnh là bước kiểm tra độ an toàn và  
chng thꢀc thông tin, vì điu này có ảnh hưởng rt ln ti san toàn ca toàn mng  
nói chung chkhông chriêng san toàn ca group multicast.  
Qun lý thành viên :  
Mt group về phương diện logic là mt cây multicast có gốc là “điểm gp", mi  
khi có mt node mới được join vào group thì nó strthành mt thành viên ca group  
cũng như trở thành mt thành phn ca cây multicast, vì thế phải có cơ chế hợp lý để  
tchc, qun lý các thành viên ca group. Nếu mt node Scribe là mt phn ca group  
thì về phương diệ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 sgồm có 2 trường: địa chỉ  
ip ca một node “con” nào đó của nó (ip addr), và nodeId tương ứng của node con đó.  
Join group:  
Khi mt node mun join vào một group nào đó nó sẽ thc hiện các bước sau:  
Gửi thông điệp JOIN vi groupId ca group cn join làm key: route  
(JOIN,groupId).  
Giao thc Pastry sẽ đnh tuyến nó tới “đim gặp”  
- Nếu node trung gian trong quá trình truyền thông điệp là mt forwarder (mt  
thành phn của group đang định join vào) thì đơn giản chlà thêm node cn join vào  
làm mt con ca node forwarder này.  
- Nếu node trung gian không phi là mt forwarder ca group cn join vào thì  
thc hiện các bưc:  
To mt children table cho node trung gian và thêm thông tin ca node cn join  
vào bng này.  
Gửi thông điệp JOIN ca node trung gian tới điểm gp (lúc này thay cho vic  
thc hiện join node ban đầu ta đi join node trung gian vào group). Và cứ thc  
hiện đệ quy như thế này ta sẽ có được mt danh sách các node mi join vào  
group thay vì chmột node ban đu.  
18  
Để dhiu ta xét ví dsau : một group có điểm gp là node A có nodeId = 1100  
(như hình vẽ ở dướ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ó sgi gói tin  
route(JOIN,x) vi x là groupId ca group này, giao thc Pastry sẽ định tuyến gói tin  
tới node D có nodeId là 1001. Nhưng node D không phải là mt thành phn ca group  
này cho nên D sto ra mt children table của nó và thêm vào đó entry  
(122.145.1.23;0111). Tiếp đó D sẽ gi gói tin yêu cu join vào group có gc là A:  
route(JOIN,x). Tiếp tc giao thc Pastry lại định tuyến nó tới node E và E cũng không  
phi là thành viên ca group này vì thế E cũng sẽ tto ra mt childeren table ca nó  
và thêm vào entry (172.16.2.13;1001) Và sau đó E gửi gói tin route(JOIN,x). Gói tin  
này tiếp tục được định tuyến và tới được A vì A là mt thành ca group cho nên ở đây  
A sthêm entry (10.10.1.123;1101) vào children table ca nó. Kết qulà ta scó thêm  
3 thành phn mi ca group là B ,D, E.  
Tiếp theo node C có nodeId là 0100 muốn join vào group này. Để bắt đầu nó  
cũng sẽ gi gói tin yêu cầu route(JOIN,x) gói tin này được định tuyến ti node D và vì  
bây giờ D đã là một thành phn của group này nên đơn giản D sthêm vào children  
table ca nó mt entry mi (123.134.12.12;0100).  
Leave group:  
Khi một node nào đó muốn ri khi group nó sghi mt cách cc brằng nó đã  
ri khi group (tc là chmt mình nó biết nó đã rời khi mng). Sau đó nếu bng  
children table ca node này là rng tc là nó không có con trong cây multicast thì nó  
sgửi thông điệp LEAVE ti cha của nó trong cây multicast. Thông điệp này sẽ được  
đệ quy trong cây multicast cho ti khi nó ti một node mà node có con đã ri khi  
group. Còn nếu bng children table ca node mun ri mng không rng thì nó làm  
19  
 
như trong trưng hp nó không có con nào cả. Sau đó các con ca nó sẽ xem như nó bị  
li và thꢀc thi theo cơ chế sa li (strình bày ở dưới).  
Vi cách join và leave group như thế này và với đặc tính phân phi ngu nhiên  
ca Pastry cây multicast sẽ được xây dng một cách đồng đều theo nghĩa là không một  
node nào trong cây multicast ngay cnode gc chu quá nhiu kiết ni ti các node  
khác. Vic này giúp cho Scribe có khả năng mở rng về kꢁch thước cũng như về khả  
năng, tức là cả khi tăng số lượng node trong group hay là tăng các gói mulicast gửi đến  
mng thì Scribe vn có thể đảm đương được.  
Truyn multicast ti mng :  
Khi một node nào đó muốn truyn multicast ti các điểm trong một group nào đó  
nó sgửi thông điệp multicast tới điểm gp (route(MULTICAST,rootId)). Sau khi  
điểm gp nhận được thông điệp này nó sgi trli node kia Ip ca nó (rootIP), sau  
đó node này sẽ truyn thông tin mun gi tới điểm gặp. Điểm gp sscopy gói tin  
multicast này gi cho các con ca nó trong cây multicast (nếu có), các điểm con này  
khi nhận được dliệu cũng lại tiếp tc copy dliệu đó và gửi ti các con ca nó trong  
cây (nếu có). Clặp đi lặp lại như vậy và chdng li vic này khi dliu ti các node  
là node lá ca cây.  
Hình 11. Truyn tin multicast trong group Scribe  
Gisử như hình vẽ ở trên Sender là node cn gi dliu cho cây multicast có  
gc là 1100. Nó sgi gói tin route(MULTICAST,1100), node 1100 nhận được gói tin  
và trlại cho sender địa chip ca nó tlúc này sender giao tiếp vi node gc này  
thông qua ip (bây gilà quan htrong giao thc tcp/ip chứ không liên quan gì đến  
pastry hay p2p gì c). Sender gi dliu cho node gc 1100 node này sto mt bn  
sao dliu và gi cho con ca nó là 1101. Node 1101 nhận được dliu troot, nó  
cũng sẽ to mt bn sao và gi cho 1001 là con ca nó. Node 1001 li tiếp tc copy dữ  
liu và gi cho 0111 và 0100 là thành viên trong bng children table ca nó. Khi các  
20  
 
node 0100 và 0111 nhận được giliu thì vì nó là lá ca cây multicast nên nó không  
làm gì na.  
Trong vấn đề truyn dliu multicast này có một điểm thú vlà khi sender mun  
gi dliu multicast ti group nó li phi xin và nhn IP ca node gc rồi để sau đó  
giao tiếp vi node này da vào IP mà không sdng luôn giao thức Pastry để gi dữ  
liệu. Đơn giản là việc định tuyến cũng như gửi tin thông qua Pastry là mt vic rt tn  
thi gian và tài nguyên mạng, mà bình thường mt sender không chgi mt gói tin  
multicast ti mng, mà nó sgi mt shoc nhiều gói, do đó việc sender lưu IP của  
node root và gi gói tin trc tiếp stiết kiệm được thời gian cũng như tài nguyên của  
mng. Tuy nhiên nếu node gc bli hoc bri khi mng thì sender phi tìm li IP  
ca node root mi và tiếp tc vic truyn thông tin  
Sa cây multicast  
Vì Scribe làm việc trong môi trường mạng mang, do đó muốn duy trì được sử ổn  
định ca group, phi có những cơ chế hợp lý để gii quyết các vấn đề thường gp phi  
trong mng ngang hàng. Phn này sẽ đi sâu vào việc làm sao để sa cha mt cây  
multicast khi mt node bri khi mng.  
Trong Scribe node cha sẽ định kgi các gói tin hearbeat ti node con ca nó  
nhm thông báo stn ti ca mình trong cây. Nếu node con không nhận được gói tin  
heartbeat do cha nó gi ti trong mt thời gian nào đó, nó sẽ xem như node cha của nó  
bli. Và nó stꢀ động tìm mt node cha khác thay thế, bng cách gửi thông điệp  
JOIN vi key là groupId ca group hin ti (quá trình này ging vi quá trình join vào  
group).  
Hình 12. Quá trình tsa cây multicast  
21  
 
Gidụ như hình vẽ trên ban đầu ta có cây multicast vi gc là node 1100 trong  
cây node 1001 có cha là node 1101. Khi node 1001 không nhận được heartbeat ca  
1101 trong mt khong thời gian nào đó nó sẽ xem như 1101 bị li và nó stꢀ động  
gi gói tin route(JOIN,groupId). Tiếp theo giống như trong quá trình jon group. Cây  
multicast sẽ được xây dng li và bây githì node 1001 nhn mt node mi là 1111 là  
cha mi của nó (như hình vẽ).  
Trong trường hp node gc bli. Thì các con của nó cũng sẽ chy gii thuật như  
trên khi đó giải thut Pastry stchn ra mt node gc mi có nodeId gn nht (tính  
theo hin thi) vi groupId và group slại được duy trì như bình thường.  
Vì khả năng chống lỗi cao như thế này, Scribe luôn có tính sn sàng cao và  
chng chu li tt, cho dù có nhiu node li cùng mt lúc thì sau mt thi gian ngn  
cây multicast lại được xây dng li và ổn định như trước.  
Splitstream  
Splistream có thể xem như là việc chn la các cây Scrbie để to nên cây  
multicast đa luồng. Vic chn la các cây Scribe sddàng tạo nên cây multcast đa  
lung vi tính cht : 1 node là node trong ca 1 lung slà node lá trong các lung còn  
li  
Hình 13. Splitstream F lung  
Vic xây dng các luồng là khá đơn giản. Như ở trên hình 3 vi không gian  
Pastry được đánh địa chcác node gm F ký t. Splitstream schn ra các lung có  
tên là 0x , 1x , … Fx để các node sau khi gia nhp vào cây multicast đa luồng có thể  
đảm bo. Node có id bắt đầu là 0x slà node trong ca cây multicast stripeId 0x và là  
node lá ca tt ccác lung còn lại. Tương tꢀ Node có id bắt đầu là 1x se là node trong  
ca cây multicast stripeId 1x và là lá ca tt ccác lung còn li…  
22  
 
Tuy nhiên Splitstream sgp vấn đề ti các máy( peer ) tham gia mà nếu chỉ đơn  
thun la chọn các cây Scribe để truyn các luồng vào thì là chưa đủ đáp ứng tính cht  
multicast :  
Không gii hn dc băng thông đi ra của 1 peer do nhu cu join ca các peer  
khác: khi 1 peer đã bị vượt quá băng thông giới hạn đi ra thì các peer khác vn  
mun gia nhp vào lung ca peer này. Nếu vẫn duy trì cơ chế như cây Scribe  
thì scó 1 speer tht skhông nhận được dliu t1 vài lung do node cha  
ca nó không gi dliu thc sꢀ đến cho nó  
Splistream sdụng cơ chế mới để gii quyết vấn đề tại các node mà băng thông  
đi ra đã bị vượt quá gii hạn. Cơ chế này bao gồm các bước :  
B1. Xác định node cha:  
Hình 14. Xác định node cha khi băng thông đi ra vượt quá gii hn  
Trong ví dtrên node với id 080* đã bị limit outdegree ( băng thông đi  
qua vượt quá gii hn ) thì nhận được yêu cu join vào ca node vi id 001* ở  
lung 0800. Node 080* sxem xét li tt ccác node con của nó để loại đi 1  
node con. Hình 14.(1)-(2) là trường hp có node con 9* nhn node 080* làm  
cha trong lung 1800 khác vi lung 0800. Node 080* snhn node 001* làm  
con và loi bnode 9*. Sau đó node 085* lại yêu cu join vào node 080* .Hình  
14.(3)-(4) là trường hp các node con đều nhn 080* là cha trong lung 0800 ,  
xét đến id ca các node con. Node 001* la node có id vi ský ttính ttrái  
23  
 
sang phi khác vi lung 0800 nht. Node 001* strthành node orphan và  
node 085* được nhn làm node con.  
B2. Nếu sau Bước 1 vn có node orphan (tức là node chưa tìm được node cha)  
stiến hành bước này. Node orphan sgửi unicast đến SCG (Spare Capacity  
Group) để tìm được node cha. SCG là tp hp tt cả các node mà băng thông đi  
ra chưa vượt quá gii hn . Với cơ chế truyn unicast , node orphan sgi  
thông điệp tìm node có luồng mà băng thông đi ra chưa vượt quá gii hạn để  
nhn nó làm node cha.  
̉
Ƣu điêm : xây dưṇ g cây multicast đa luồng kha đơn gian dưạ vao kết cấu có sẵn  
̉
́
̀
̉
của Pastry và Scribe. Khi maṇ g ôn điṇ h và việc phân chia định danh là khá đều thì các  
node trong hê ̣thống chiụ tai tương đương nhau . Thêm vao đo la cac cơ chế tim node  
̉
̀
́ ̀ ́  
̀
cha nhằm đam bao cac node trong maṇ g không bi ̣qua tai.  
̉
̉
̉
́
́
̉
Nhƣơc̣ điêm : không đam bao đươc̣ độchênh lêc̣ h độtrễcac luồng nhâṇ đươc̣ taị  
̉
̉
́
các node là nhỏ do việc tạo cây Scribe mang tꢁnh ngẫu nhiên dꢀa chủ yếu vào kết cấu  
bên dươi cua Pastry.  
̉
́
24  
Chƣơng 3.Xây dựng cây multicast đa luồng thi gian thc  
trên mng ngang hàng có cu trúc  
Sau khi đã nghiên cứu các gii pháp hin nay vtruyền tin multicast đa luồng vi  
các ưu nhược điểm riêng khi ng dng sang truyền tin multicast đa luồng thi gian  
thc thì ở chương ba này sẽ là giải pháp mà tôi đưa ra trong khóa luận. Gii pháp này  
đã hướng đến mc tiêu là truyền tin multicast đa luồng thi gian thc ngay từ đầu nên  
nó scó những ưu điểm riêng. Tuy nhiên bên cạnh đó cũng có những nhược điểm nht  
định. Phần đánh giá về chương trình mô phỏng sẽ được trình bày ở chương bốn. Gii  
pháp này được xây dng da trên giao thc DHT tham kho bảng định tuyến ca  
Chord..  
3.1.Vấn đề cn gii quyết  
Mc tiêu ln nht khi xây dꢀng cây multicast đa luồng thi gian thc trong mng  
ngang hàng có cu trúc là:  
Xây dng cây multicast đa luồng  
Duy trì cây mulitcast khi mng thay đổi  
Cân bằng băng thông đi ra tại các node trong mng : hn chế các node không  
gi dliu cho node nào , các node phi gi nhiều hơn số lung gii hn là  
không quá ln  
Độ trca mt node khi nhận được tt ccác lung là nhỏ  
Chênh lệch độ trti mt node gia lung nhận được sm nht và nhận được  
mun nht là nhỏ (đây chꢁnh là mục tiêu quan trng nht ca thiết kế)  
Trong khuôn khkhóa lun gii hn nên gii pháp của tôi đưa ra mới chỉ là bước  
đầu , chưa được tối ưu hóa để có thể đáp ứng tt ccác vấn đề cn gii quyết. Quá  
trình chạy chương trình mô phỏng tuy chưa được tốt như mong muốn nhưng đã cho  
thy kết qukhquan và cho thy khả năng phát triển ca gii pháp này.  
3.2.Ý tƣởng  
Ý tưởng đưa ra được da trên thiết kế chính ca Chord với các ưu điểm:  
25  
     

Tải về để xem bản đầy đủ

pdf 48 trang yennguyen 04/05/2025 300
Bạn đang xem 30 trang mẫu của tài liệu "Khóa luận Truyền tin multicast đa luồng thời gian thực trên mạng ngang hàng có cấu trúc", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfkhoa_luan_truyen_tin_multicast_da_luong_thoi_gian_thuc_tren.pdf