Tải bản đầy đủ (.pdf) (44 trang)

Báo cáo thực tập tốt nghiệp nghiên cứu về cấu trúc mạng ngang hàng và cân bằng tải trên mạng có cấu trúc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.27 MB, 44 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO
THỰC TẬP TỐT NGHIỆP
Nội dung:
NGHIÊN CỨU VỀ CẤU TRÚC MẠNG NGANG HÀNG VÀ
CÂN BẰNG TẢI TRÊN MẠNG CÓ CẤU TRÚC

Nơi thực tập
: Viện CNTT&TT-CDIT
Người hướng dẫn : Ths. Đỗ Mạnh Hùng
Sinh viên thực tập: Đỗ Yến Hoa
Mã sinh viên
: B112104 257
Lớp
: D11HTTT3
Khóa
: 2011 – 2016
Hệ đào tạo
: Chính quy

Hà Nội, 08/2015

1


MỤC LỤC
LỜI CẢM ƠN ......................................................................................................... 4
PHẦN A : GIỚI THIỆU ĐƠN VỊ THỰC TẬP VIỆN CÔNG NGHỆ THÔNG
TIN VÀ TRUYỀN THÔNG - CDIT..................................................................... 5


I. Chức năng ........................................................................................................... 5
II. Tổ chức ............................................................................................................... 5
III. Các lĩnh vực hoạt động ................................................................................... 6
PHẦN B : NỘI DUNG THỰC TẬP ..................................................................... 7
I. Giới thiệu chung ................................................................................................. 7
II. Nội dung báo cáo thực tập................................................................................ 9
DANH MỤC THUẬT NGỮ .................................................................................. 9
DANH MỤC HÌNH VẼ ....................................................................................... 10
1.

TỔNG QUAN MẠNG NGANG HÀNG .................................................... 11
1.1. Đặt vấn đề: .............................................................................................. 11
1.2. Khái niệm Peer to Peer .......................................................................... 12
1.3. Lịch sử của mô hình Peer to Peer ......................................................... 13
1.4. Các lĩnh vực ứng dụng của mạng ngang hàng ..................................... 15
1.5. Cấu trúc mạng ........................................................................................ 20
1.5.1.

Mạng không có cấu trúc .............................................................. 20

1.5.2.

Mạng có cấu trúc .......................................................................... 20

1.6. Mức độ phân tán ..................................................................................... 21
1.7. Mạng ngang hàng có cấu trúc và kĩ thuật bảng băm phân tán ......... 23
1.8.

2.


Mạng chord ............................................................................................. 28

1.8.1

Mô hình mạng Chord ................................................................... 29

1.8.2.

Ánh xạ khóa vào một node trong Chord .................................... 30

1.8.3.

Tìm kiếm trong mạng Chord ...................................................... 31

1.8.4.

Tham gia và ổn định mạng .......................................................... 31

CÂN BẰNG TẢI TRONG MẠNG NGANG HÀNG CÓ CẤU TRÚC ... 33
2.1. Cân bằng tải ............................................................................................ 33
2.2. Khả năng tải của node............................................................................ 35
2.3. Nguyên nhân mất cân bằng tải trên mạng ........................................... 36
2.4. Giải pháp cân bằng tải sử dụng virtual node ....................................... 38

TÀI LIỆU THAM KHẢO ................................................................................... 43

2


III. Phần tổng kết ................................................................................................. 44

1.

Các vấn đề báo cáo đã đạt được ............................................................ 44

2.

Các vấn đề báo cáo chưa đạt được........................................................ 44

3.

Hạn chế tồn tại ........................................................................................ 44

4.

Hướng nghiên cứu tiếp theo .................................................................. 44

5.

Nguyện vọng ............................................................................................ 44

3


LỜI CẢM ƠN
Em xin chân thành cảm ơn thầy giáo – Th.s Đỗ Mạnh Hùng đã giảng dạy tận
tình và cho em nhiều lời khuyên không chỉ về kiến thức học tập mà còn cả phương
pháp nghiên cứu để em có thể hoàn thành báo cáo thực tập tốt nghiệp.
Em xin được gửi lời cảm ơn đến các thầy cô giáo trong Khoa Công Nghệ
Thông Tin của trường Học Viện Công Nghệ Bưu Chính Viễn Thông, cùng gia
đình, bạn bè đóng góp ý kiến và giúp đỡ em trong quá trình thực tập tốt nghiệp.

Trong suốt quá trình nghiên cứu và làm báo cáo thực tập, bản thân em đã cố
gắng tập trung tìm hiểu, nghiên cứu và tham khảo thêm nhiều tài liệu liên quan.
Tuy nhiên, báo cáo không thể tránh khỏi những thiếu sót, vì vậy em r t mong
nhận được sự chỉ bảo của thầy cô giáo và góp ý của bạn bè để được hoàn thiện
hơn.
Em xin chân thành cảm ơn!

Hà Nội, Ngày 06 Tháng 08 Năm 2015
Sinh viên
Đỗ Yến Hoa

4


PHẦN A : GIỚI THIỆU ĐƠN VỊ THỰC TẬP VIỆN CÔNG
NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG - CDIT
I. Chức năng
Trung tâm Công nghệ Thông tin CDIT được Tổng giám đốc Tổng Công ty Bưu
chính Viễn thông Việt Nam ký quyết định thành lập số 636/QĐ.TCCB-LĐ ngày
22 tháng 3 năm 1999. Cùng với sự phát triển của ngành Công nghệ thông tin trong
xu hướng hội nhập với Truyền thông, theo định hướng phát triển của Học viện
trong giai đoạn mới, ngày 07 tháng 12 năm 2011 Tập đoàn Bưu chính Viễn thông
Việt Nam đã có quyết định số 1973/QĐ-VNPT-TCCB, đổi tên Trung tâm Công
nghệ thông tin thành Viện công nghệ Thông tin và Truyền thông CDIT từ
01/01/2012.
Viện công nghệ Thông tin và Truyền thông CDIT là tổ chức đào tạo, nghiên
cứu trực thuộc Học viện Công nghệ Bưu chính Viễn thông, có nhiệm vụ: đào tạo,
nghiên cứu khoa học và chuyển giao công nghệ trong lĩnh vực Công nghệ thông
tin và Truyền thông.


II. Tổ chức

5


Mô hình tổ chức bao gồm:
-

Ban Lãnh đạo Viện và Khoa Đa phương tiện

-

Phòng Tổng hợp

-

Phòng Nghiên cứu phát triển & Đào tạo Ứng dụng Đa phương tiện

-

Phòng Nghiên cứu phát triển & Đào tạo An toàn thông tin

-

Phòng Nghiên cứu phát triển Ứng dụng ICT (Phòng Viễn thông)

-

Phòng Nghiên cứu phát triển Hạ tầng ICT (Phòng Mạng & Hệ thống)


-

Phòng Dịch vụ & Chuyển giao công nghệ

III. Các lĩnh vực hoạt động
Viện công nghệ thông tin và truyền thông CDIT hoạt động trên lĩnh vực công
nghệ thông tin, cụ thể là là nghiên cứu, ứng dụng các thành tựu khoa học công
nghệ vào các sản phẩm, dịch vụ và chương trình đào tạo nhằm góp phần thúc đẩy
sự phát triển của đ t nước.

6


PHẦN B : NỘI DUNG THỰC TẬP
I. Giới thiệu chung
-

Tên chủ đề thực tập: Ngiên cứu về c u trúc mạng ngang hàng và cân bằng tải
trên mạng có c u trúc.

-

Mục tiêu: Nghiên cứu về mô hình mạng ngang hàng P2P, tìm hiểu về các công
nghệ sử dụng mạng ngang hàng trên internet hiện nay, tìm hiểu về cân bằng tải,
vì sao sảy ra hiện tượng m t cân bằng tải và giải pháp cân bằng tải các node
mạng trên mạng ngang hàng có c u trúc.

-

Kết quả cần đạt: Hoàn thành nghiên cứu và nộp báo cáo đúng hạn theo những

nội dung công việc được phân công trong bản kế hoạch, nắm rõ được thế nào là
mạng ngang hàng P2P, các kiểu kiến trúc, phân loại, cơ chế hoạt động và các
v n đề xoay quanh việc cân bằng tải trên mạng ngang hàng có cáu trúc.

-

Nội dung:
Bảng nội dung công việc được phân công:

TT

Nội dung thực tập

Thời gian

Mục tiêu

Ghi
chú

1

Xây dựng đề cương Từ ngày 29/06/2015 Hoàn thành đề cương Tuần 1
thực tập

2

Nghiên

đến ngày 05/07/2015 thực tập.

cứu

về Từ ngày 06/07/2015 - Khái niệm, mục đích Tuần 2

mạng ngang hàng

đến ngày 12/07/2015 của mạng ngang hàng.
- Khái niệm mạng có c u
trúc và mạng không có
c u trúc.
- Mức độ phân tán: Mô
hình phân tán hoàn toàn,
mô hình phân tán một
phần, mô hình phân tán
lai.

7


- Mạng ngang hàng có
c u trúc và kĩ thuật bảng
băm phân tán (DHTDistributed hash tables).
3

Nghiên

cứu

về Từ ngày 13/07/2015 Nghiên cứu về thuật toán Tuần 3


mạng ngang hàng

đến ngày 19/07/2015 DHT-Chord sử dụng
trong mạng ngang hàng
có c u trúc.

4

Nghiên cứu về cân

Từ ngày 20/07/2015 -Khái niệm cân bằng tải

bằng tải trong

đến ngày 26/07/2015 và các khái niệm liên

mạng ngang hàng

quan.

có c u trúc

-Khả năng tải của node

Tuần 4

(peer).
5

Nghiên cứu về cân


Từ ngày 27/07/2015 - Nguyên nhân m t cân

bằng tải trong

đến ngày 02/08/2015 bằng tải trên mạng.

mạng ngang hàng

- Giải pháp cân bằng tải

có c u trúc

sử dụng virtual node.

Tuần 5

Mô phỏng thuật toán
loadbalancing sử dụng
virtual node.
6

Hoàn

thành

cáo thực tập

báo Từ ngày 03/08/2015
đến ngày 09/08/2015


8

Tuần 6


II. Nội dung báo cáo thực tập
DANH MỤC THUẬT NGỮ
Thuật ngữ
Peer

Ý nghĩa
Thuật ngữ dùng để chỉ một máy tính tham gia vào mạng
lưới ngang hàng.

Node

Thuật ngữ node cũng tương tự như thuật ngữ peer. Chỉ
một máy tính tham gia vào mạng lưới ngang hàng.

P2P

Peer – to – peer

Load Balancing

Cân bằng tải

DHT


Distribuited hash table – bảng băm phân tán

Chord

Giao thức sử dụng trong mạng ngang hàng

Server

Máy chủ

Client

Máy thành viên

Virtual node

Node ảo. Thuật ngữ này chỉ thuật toán tạo node ảo khi
một máy tính tham gia mạng.

Key

Khóa

Value

Dữ liệu

HTML

HyperText Markup Language. Là một ngôn ngữ đánh

d u được thiết kế ra để tạo nên các trang web với các
mẩu thông tin được trình bày trên World Wide Web

IP

Địa chỉ của máy tính

Port

Cổng tham gia dịch vụ

Log

Ghi t t cả thao tác thực hiện thành log

Upload

Chia sẻ file lên mạng

Download

Tải file từ trên hệ thống về tài nguyên máy tính

Size

Kích thước

9



DANH MỤC HÌNH VẼ
Hình 1: Mạng ngang hàng
Hình 2: Napster
Hình 3: Mạng ngang hàng có c u trúc
Hình 4: Mạng ngang hàng phân tán hoàn toàn
Hình 5: Mạng ngang hàng phân tán một phần
Hình 6: Mạng ngang hàng lai
Hình 7: Bảng băm phân tán – DHT
Hình 8: Sơ đồ node mạng có c u trúc vòng tròn
Hình 9: Sơ đồ tạo DHT vòng tròn
Hình 10: Sơ đồ quản lý shortcut peer
Hình 11: Sơ đồ khi peer rời mạng
Hình 12: Vòng tròn lưu trữ khi peer rời mạng
Hình 13: Một mạng Chord với 3 node 0, 1, 3 và các bảng Finger Table ứng với
mỗi node.
Hình 14: Lưu giữ key trong mạng Chord: node 0 lưu key 6, node 1 lưu key 1 và
node 3 lưu key 2.
Hình 15: Phân vùng không gian node thật và node ảo
Hình 16: Transfer node ảo

10


1.

TỔNG QUAN MẠNG NGANG HÀNG

1.1.

Đặt vấn đề:


Client - Server là gì?
Để có thể hiểu Peer to Peer là gì, thì cần hiểu về những gì cơ bản nh t tạo nên
Internet ngày nay, đó là mô hình Client – Server (Máy khách và máy chủ). Server
là một máy chủ web, đây là nơi lưu trữ nội dung của một trang web, và máy tính
của người dùng được gọi là Client, nó sẽ l y thông tin từ Server để hiển thị lại trên
máy tính của người dùng. Đó là cách mà Internet truyền thống sử dụng. Mỗi
Server độc lập có thể lưu trữ hàng trăm nghìn dữ liệu khác nhau và chịu tải hàng
trăm Client cùng lúc, nhưng đó cũng chính là v n đề của mô hình Client – Server,
bởi chúng phụ thuộc r t nhiều vào phần cứng của Server.
Thứ nhất, Server phụ thuộc r t nhiều vào phần cứng. Sẽ không có v n đề gì nếu
Server chỉ lưu trữ mỗi một nội dung nh t định, nhưng thực tế thì mỗi Server phải
xử lí hàng trăm yêu cầu khác nhau từ mỗi Client, chẳng hạn như một người dùng
muốn đọc bài A thì Server phải xử lí và cho ra nội dung bài A, một người khác
muốn đọc bài B thì Server phải xử lí và cho ra nội dung bài B – mỗi lần như thế sẽ
khiến Server sử dụng một phần CPU và RAM để xử lí, Server sẽ cần nâng c p nếu
khả năng xử lí không đủ đáp ứng nhu cầu của Client. Đó chính là giới hạn về phần
cứng của Server.
Thứ hai, mỗi Client sử dụng một phần nhỏ đường truyền mạng của Server
Ví dụ: Server của bạn có đường truyền mạng khoảng 100MB/s, tức nếu bạn có
100 Client cùng sử dụng thì mỗi người sẽ có 1 MB/s để dùng, nhưng nếu có
khoảng 1000 Client thì mỗi người chỉ còn 100KB/s mà thôi. Đ y chính là giới hạn
về đường truyền của Server.
Thứ ba, giá thành của dung lượng. Nếu có 1 file nặng khoảng 1MB và được
1000 người tải xuống thì tổng dung lượng của dữ liệu được tải xuống sẽ là 1GB.
Người dùng sẽ không phải trả tiền cho 1MB dữ liệu này, nhưng nhà quản trị web
phải trả số tiền đó, thử nghĩ 1 bộ phim nặng khoảng 1GB và có khoảng 10.000
người tải xuống thì số tiền họ phải trả là bao nhiêu? Giá thành quá đắt chính là giới
hạn của mô hình Client - Server


11


Để khắc phục 3 giới hạn trên của mô hình Client - Server ta sử dụng Peer to
Peer hay còn gọi là mạng ngang hàng, mạng đồng đẳng.

1.2.

Khái niệm Peer to Peer

Khi mô hình Client - Server gặp nhiều giới hạn thì một hình thức mới ra đời,
đó là Peer to Peer, mô hình mới này sẽ giúp mọi Client trở thành Server và chỉ cần
một Server điều khiển hoạt động cho từng Client khác nhau. Với Peer to Peer,
Client không chỉ l y dữ liệu mà còn có thể chia sẻ lại dữ liệu này với Client khác
và việc chia sẻ lại dữ liệu này người ta gọi nó là seeding. Việc seeding r t quan
trọng trong sự phát triển của Peer to Peer, nếu không có seeding thì Peer to Peer
chỉ giống như mô hình Client - Server mà thôi.

Hình 1: Mạng ngang hàng
Theo Wikipedia:
Mạng ngang hàng (tiếng Anh: peer-to-peer network), còn gọi là mạng đồng
đẳng, là một mạng máy tính trong đó hoạt động của mạng chủ yếu dựa vào khả
năng tính toán và băng thông của các máy tham gia chứ không tập trung vào một
số nhỏ các máy chủ trung tâm như các mạng thông thường. Mạng ngang hàng
thường được sử dụng để kết nối các máy thông qua một lượng kết nối dạng ad
hoc. Mạng ngang hàng có nhiều ứng dụng. Ứng dụng thường xuyên gặp nhất là
chia sẻ tệp tin, tất cả các dạng như âm thanh, hình ảnh, dữ liệu,... hoặc để truyền
dữ liệu thời gian thực như điện thoại VoIP.
Mạng overlay (mạng phủ) là mạng máy tính được xây dựng trên nền của một
mạng khác. Các nút trong mạng overlay được xem là nối với nhau bằng liên kết ảo

12


(logical link), mỗi liên kết ảo có thể bao gồm r t nhiều các liên kết vật lý của mạng
nền. R t nhiều các mạng P2P được gọi là mạng overlay vì nó được xây dựng và
hoạt động trên nền Internet.
Ví dụ: Gnutella, Freenet, DHTs .
Một số mạng hay kênh như Napster, IRC (thuộc thế hệ thứ nh t) sử dụng mô
hình máy chủ -máy khách cho một số tác vụ và mô hình đồng đẳng cho những tác
vụ khác. Ngược lại, các mạng như Gnutella hay Freenet (thế hệ thứ 2) sử dụng mô
hình đồng đẳng cho t t cả các tác vụ, nên các mạng này thường được xem như là
mạng ngang hàng đúng nghĩa (thực ra Gnutella vẫn sử dụng một số máy chủ để
giúp các máy trong mạng tìm kiếm địa chỉ IP của nhau).
Khái niệm ngang hàng ngày nay được tiến hóa vào nhiều mục đích sử dụng
khác nhau, không chỉ để trao đổi tệp mà còn khái quát hóa thành trao đổi thông tin
giữa người với người, đặc biệt trong những tình huống hợp tác giữa một nhóm
người trong cộng đồng.
Không giống như Client – Server, hiệu su t của mọi thứ sẽ giảm đi khi có quá
đông Client tham gia vào mạng. Hiệu su t của Peer to Peer sẽ tăng lên nếu số
Client trong mạng càng đông. Tức càng có nhiều người seeding một dữ liệu thì
người chưa có dữ liệu đó sẽ càng có cơ hội nhận được dữ liệu muốn download.
Trong Peer to Peer, tốc độ download tệp tin của người dùng càng nhanh nếu có
nhiều người seeding tệp tin đó cho người dùng, hãy tưởng tượng tệp tin cần
download nặng 1GB, có 1 người seeding với tốc độ 1MB/s thì sẽ chỉ m t 1000
giây để tải xong tệp tin, nhưng nếu có 10 người như thế thì bạn sẽ chỉ m t 100 giây
cho việc download tệp tin. Nhưng tính năng chia nhỏ tệp tin để download như thế
này không phải phần mềm Peer to Peer nào cũng có, BitTorrent chính là phần
mềm đầu tiên sử dụng tính năng này.

1.3.


Lịch sử của mô hình Peer to Peer

Lịch sử ra đời và phát triển của P2P gắn liền với phần mềm ứng dụng Napster.
Năm 1999, Shawn Fanning một sinh viên ở tuổi 18 đã rời bỏ trường Đại học để bắt
đầu xây dựng phần mềm mang tên Napster do bức xúc với việc r t khó khăn để
đưa và chia sẻ các file nhạc trực tuyến trên Internet mặc dù mọi người đều có

13


nguồn tài nguyên trong đĩa cứng của mình. Napster được xây dựng thành công và
trở thành cách chia sẻ file chính vào thời điểm lúc b y giờ. Nó đã làm thay đổi
cách tải các file nhạc và dung lượng file chia sẻ cũng lớn hơn nhiều so với các
chương trình chia sẻ file trước đó.
Khoảng 60 triệu người trên thế giới đã sử dụng phần mềm Napster vào thời
điểm đó (trong đó có khoảng 1 triệu người Nhật). Tuy nhiên, do có quá đông
người dùng và v n đề bản quyền âm nhạc nên công ty Napster đã bị c m hoạt
động. Phần mềm Napster không còn được sử dụng kể từ năm 2003. Sau Napster,
r t nhiều các chương trình khác như Gnutella, KaZaa và WinMP đã xu t hiện.
Công nghệ P2P không chỉ dừng lại ở ứng dụng chia sẻ file nhạc mà còn mở rộng
cho t t cả các loại file. Nó còn được ứng dụng để chia sẻ các tiến trình rỗi của
CPU tại các nút trong mạng.
Sau sự ra đời của Napster, công nghệ P2P phát triển một cách nhanh chóng.
Cho đến hiện nay các ứng dụng P2P đã chiếm khoảng 50% và thậm chí lên đến
75% băng thông trên mạng Internet.

Hình 2: Napster

14



BitTorrent là gì?
Ra đời vào năm 2001, BitTorrent là một giao thức mở, nơi mà người sử dụng
sẽ tạo một file (file này có đuôi là .torrent nên sau này nó được gọi tắt là file
torrent) mô tả một dữ liệu xác định.
Một tracker sẽ lưu trữ file torrent và các thông tin về người lưu trữ dữ liệu xác
định đó. Ngoài việc có một server tracker chung thì vẫn có thể tồn tại cùng lúc
nhiều tracker khác, tức là nếu một tracker không còn hoạt động thì vẫn còn nhiều
tracker khác thay thế nó, nhờ thế mà khi đã chia sẻ file thông qua torrent, dữ liệu
xác định gần như sẽ không bao giờ biến m t.
Một thành tựu của BitTorrent trong peer to peer đó là nghĩ ra DHT – hay
distributed hash table. Nó có tác dụng loại bỏ sự cần thiết của một server tracker
chung, cho phép mọi client trong mạng lưới đều có thể index file torrent và trở
thành tracker.
Nhờ BitTorrent mà việc tìm ra người lưu trữ dữ liệu hoàn chỉnh của một file
nào đó được dễ dàng hơn, phần quan trọng nh t trong Peer to Peer. Nếu như không
tìm được người lưu trữ dữ liệu hoàn chỉnh của một file nào đó thì BitTorrent vẫn
có cách khác để giải quyêt, đó là các client như Tribler.

1.4.

Các lĩnh vực ứng dụng của mạng ngang hàng

Sự ra đời của mạng ngang hàng đã tạo ra cách thức quản lý mới cho hàng loạt
các lĩnh vực ứng dụng. Trong phần này chúng ta sẽ đưa ra một cách nhìn tổng quát
cho v n đề các lĩnh vực ứng dụng của mạng ngang hàng như: giao tiếp, chia sẻ
file, băng thông, không gian lưu trữ, các chu trình xử lý của CPU.
-


Giao tiếp

Đóng vai trò quan trọng trong các ứng dụng mạng ngang hàng. Là nhân tố
quyết định trong các mạng ngang hàng vì nó cung c p thông tin về các nút và các
nguồn tài nguyên nào là sẵn sàng trên mạng. Tạo ra khả năng cho các nút kết nối
trực tiếp với các nút khác và yêu cầu các nguồn tài nguyên.
Một ví dụ điển hình về ứng dụng mạng ngang hàng trong giao tiếp là hệ thống
chuyển tin nhắn trực tiếp: thông thường, máy chủ trung tâm lưu trữ thông tin và
danh sách người dùng đăng ký. Khi có sự giao tiếp giữa các nút, việc tìm kiếm nút
15


khác được thực hiện trên máy chủ. Trong trường hợp nút đó không trưc tuyến, hệ
thống sẽ phải lưu trữ các tin nhắn cho đến khi nút này trực tuyến lại. Các dịch vụ
tin nhắn điển hình: Napster, ICQ, Jabber.
-

Chia sẻ File

Có thể nói ứng dụng được sử dụng nhiều nh t của mạng ngang hàng đó là chia
sẻ file. Theo ước tính khoảng 70% lưu lượng mạng trên Internet được cho là để
trao đổi các file đặc biệt là các file âm nhạc (hơn 1 tỷ các file âm nhạc được tải
mỗi tuần). Đặc điểm của v n đề chia sẻ file là các nút có các file được tải với vai
trò là một máy khách làm cho chúng luôn sẵn sàng với các nút khác trong vai trò
của một máy chủ. V n đề chủ yếu cho mạng ngang hàng nói chung và cho v n đề
chia sẻ file nói riêng là v n đề tìm kiếm. Trong ngữ cảnh của hệ thống chia sẻ file,
có ba mô hình khác nhau được phát triển: mô hình flooded request, mô hình thư
mục trung tâm và mô hình hướng tài liệu. Các mô hình này được minh họa qua các
ứng dụng thực của mạng ngang hàng: Gnutella, Naspter và FreeNet.
Trong hệ thống Gnutella, không có sự tập trung hóa, các file được lưu trữ trên

các nút của hệ thống, khi có yêu cầu tìm kiếm một file, máy tính sẽ gửi yêu cầu
này tới t t cả các nút láng giềng của nó cho tới khi tìm th y máy lưu giữ file cần
tìm. Tiếp theo là quá trình trao đổi file trực tiếp giữa hai máy tính trong mạng.
Trong hệ thống Naspter, có sự tập trung hóa. Khi một máy tham gia vào mạng,
danh sách các file sẽ được đăng ký và lưu trữ trên máy chủ trung tâm, khi có yêu
cầu tìm kiếm, máy tính sẽ hỏi máy chủ trung tâm về vị trí của file. Sau đó việc trao
đổi file được thực hiện giữa hai máy tính với nhau.
Trong hệ thống Freenet, các file chia sẻ không được lưu trữ trên đĩa cứng của
các máy cung c p mà chúng được lưu trữ ở các máy khác nhau trong mạng. Mục
đích của việc phát triển mạng Freenet là làm cho thông tin được lưu trữ và truy cập
mà không cần biết định danh. Với các tổ chức như vậy, chủ sở hữu của một nút
mạng cũng không biết được tài liệu gì được lưu trữ trên đĩa cứng của máy anh
mình. Vì lý do này mà các nút và các file được gắn các số định danh khác nhau.
Khi một file được tạo, nó được truyền qua các nút láng giềng tới các nút có số định
danh gần với số định danh của file nh t và được lưu trữ ở đó.

16


-

Băng thông

Do yêu cầu về khả năng truyền dẫn của các mạng ngày càng đòi hỏi cao đặc
biệt là khi một số lượng lớn dữ liệu đa phương tiện tăng nhanh, hiệu quả của việc
sử dụng băng thông ngày càng trở nên quan trọng. Hiện nay, hướng tiếp cận tập
trung trong đó các file được lưu trữ trên một máy chủ và được truyền từ nó tới máy
khách đang được sử dụng chủ yếu. Trong trường hợp này khi số lượng các yêu cầu
tăng nhanh sẽ dẫn tới tình trạng thắt nút cổ chai. Với hướng tiếp cận theo mạng
ngang hàng v n đề cân bằng tải sẽ đạt được sự tối ưu nh t vì nó tận dụng tối đa các

hướng truyền dẫn trong hệ thống.
Tăng khả năng cân bằng tải trong mạng: khác với kiến trúc client/server các
mạng ngang hàng lai có thể nhận được sự cân bằng tải tốt hơn. Với mô hình
client/server thì cả yêu cầu truy v n thông tin và việc truyền dữ liệu đều được thực
hiện giữa máy chủ và máy khách, việc đó sẽ làm m t sự cân bằng tải khi có nhiều
yêu cầu kết nối tới máy chủ. Với kiến trúc ngang hàng, chỉ có yêu cầu truy v n
được thực hiện giữa máy tính trong mạng với máy chủ, còn v n đề truyền file được
thực hiện giữa hai máy tính trong mạng với nhau, điều này sẽ giúp cân bằng tải
thông qua việc phân bố tải đều trên toàn hệ thống.
Chia sẻ băng thông: mạng ngang hàng có thể làm tăng khả năng tải và truyền
các file do cơ chế tận dụng đường truyền thông qua các nút trong mạng. Một file
dữ liệu lớn được chia thành các phân mảnh dữ liệu nhỏ độc lập nhau, các mảnh dữ
liệu này được chuyển đồng thời đến các nút khác nhau và cuối cùng đến nút yêu
cầu chúng. Tại nút yêu cầu các mảnh dữ liệu được phép lại thành file dữ liệu ban
đầu. Các phần mềm tải file điển hình cho việc chia sẻ băng thông, chẳng hạn như:
BitTorrent, FlashGet,…
-

Không gian lưu trữ

Ngày nay, khi các dữ liệu càng ngày càng lớn, kích thước file cũng càng lớn,
với các máy tính có tài nguyên đĩa cứng hạn hẹp sẽ gặp khó khăn trong việc lưu
trữ các file dữ liệu lớn trên máy tính của mình. Phát huy ưu điểm của mạng ngang
hàng để chia sẻ không gian lưu trữ giữa các máy tính trong hệ thống thì điều đó
không còn là một điều đáng lo ngại. Bằng cách này, dữ liệu sẽ được chia nhỏ thành

17


các phần và lưu trữ mỗi phần trên các máy trong mạng. Mỗi khi cần l y lại dữ liệu,

máy đó sẽ nhận lại các phần của dữ liệu trên các máy và ghép chúng lại để nhận
được dữ liệu ban đầu. Với việc chia sẻ không gian lưu trữ, hệ thống P2P càng ngày
càng được mở rộng với nhiều máy tính tham gia vào hệ thống.
-

Các chu trình xử lý

Trong các ứng dụng đòi hỏi cần phải có sức mạnh tính toán người ta thường
tìm cách xây dựng các máy tính mạnh, đắt tiền chứ chưa chú trọng vào việc tận
dụng khả năng tính toán của các máy tính được nối mạng. Ngày nay do những yêu
cầu đòi hỏi tính toán hiệu năng cao như các thao tác tính toán trong tin sinh học,
trong tài chính, trong đo lường mà nhiều nghiên cứu ứng dụng mạng ngang hàng
vào xử lý tính toán đã được đưa ra. Bằng việc sử dụng các ứng dụng mạng ngang
hàng để bó cụm các chu trình xử lý có thể nhận được khả năng tính toán ngang
bằng với một siêu máy tính đắt tiền. Trong một mạng mỗi máy tính là trong suốt
với các máy tính khác và t t cả các nút được kết nối mạng sẽ tạo thành một máy
tính logic.

18


 So sánh mô hình P2P với mô hình Client - Server truyền thống:
P2P
Tổng quan

-

Client - Server

Một mạng ngang hàng cho - Dữ liệu được lưu tại một máy

chủ trung tâm, tốc độ cao.
phép các nút đóng góp, chia
sẻ nguồn tài nguyên với nhau. - Khi một máy khách yêu cầu
l y thông tin về thời gian nó
Tài nguyên riêng rẽ của các

Ưu điểm

nút (ổ cứng, CD-ROM, máy

sẽ phải gửi một yêu cầu theo

in). Các nguồn tài nguyên này

một tiêu chuẩn do máy chủ

có thể được truy cập từ b t cứ

định ra, nếu yêu cầu được

nút nào trong mạng.

ch p nhận thì máy chủ sẽ trả

Các nút đóng vai trò như cả

về thông tin mà máy khách

máy khách và máy chủ.


yêu cầu.

-

Không cần máy chủ.

- Tốc độ truy cập nhanh.

-

Các máy khách tự chia sẻ tài - Khả năng mở rộng cao.
- Hoạt động với b t kì loại ứng

nguyên cho nhau.
-

Khi mạng càng được mở rộng dụng nào.
thì khả năng hoạt động của hệ - Sử dụng được với các ứng
thống càng tốt.

dụng chia sẻ cơ sở dữ liệu.

-

Chi phí th p.

- Đáng tin cậy hơn (có máy chủ

-


Dễ cài đặt và bảo trì.

riêng).

-

Thuận lợi cho việc chia sẻ - Mức độ an toàn cao.
file, máy in, ổ đĩa quang, ...

- Cần máy chủ riêng.

-

Chậm.

- Dễ gặp hiện tượng thắt cổ

-

Không tốt cho các ứng dụng chai.
cơ sở dữ liệu.

Nhược điểm

-

- Phức tạp trong bảo trì, duy trì

Độ tin cậy th p.


hoạt động của mạng.
- Chi phí cao.

19


1.5.

Cấu trúc mạng

C u trúc mạng xác định rõ việc hình thành mạng ngang hàng, cũng như việc
nút và các tài nguyên được đưa vào mạng có theo một quy luật nh t định nào đó
không. Nhờ đó ta phân loại mạng ngang hàng có c u trúc và không có c u trúc.
1.5.1. Mạng không có cấu trúc
Liên kết giữa các node mạng được thiết lập 1 cạch ngẫu nhiên. Phương thức
tìm kiếm r t đa dạng từ việc sử dụng các phương pháp bruteforce, đẩy truy v n ra
t t cả các nút cho tới khi có được kết quả, cho đến sử dụng các thuật toán phức tạp
và tiết kiệm tài nguyên hơn truy v n ngẫu nhiên hay dùng bảng đinh tuyến.
Phương pháp tìm kiếm có liên hệ mật thiết và tác động sâu sắc tới tính ổn định,
khả năng mở rộng và độ tin cậy của mạng.
Mạng không c u trúc thương được sử dụng trong môi trường mà các nút trong
mạng luôn thay đổi.
1.5.2. Mạng có cấu trúc
C u trúc hình học của mạng được kiểm soát chặt chẽ. File (hoặc con trỏ trỏ tới
file) được đặt ở một vị trí xác định.
Điều quan trọng đối với những hệ thống có c u trúc là cung c p sự liên kết
giữa nội dung (ví dụ: id của file) và vị trí của nút (ví dụ: địa chỉ nút). Việc này
thường dựa trên một c u trúc dữ liệu bảng băm phân tán (Distributed Hash Table).
Dựa trên c u trúc bảng băm phân tán đã có nhiều nghiên cứu và đề xu t ra các mô
hình mạng ngang hàng có c u trúc, điển hình là c u trúc dạng vòng: Chord,

Pastry,... Và c u trúc không gian đa chiều: CAN, Viceroy.

Hình 3: Mạng ngang hàng có cấu trúc
20


 Ưu điểm:
Khả năng mở rộng hệ thống mạng trong mô hình không c u trúc thường bị hạn
chế bởi các kỹ thuật trong việc xây dựng mạng chẳng hạn như: Mô hình tập trung
dẫn tới việc thắt nút cổ chai khi mở rộng, kỹ thuật Flooding dẫn tới việc tăng lưu
lượng mạng khi mở rộng mạng. Trong khi đó khả năng mở rộng với mô hình mạng
có c u trúc được nâng cao rõ rệt.
 Nhược điểm:
Việc quản lý c u trúc của topo mạng gặp khó khăn, đặc biệt trong trường hợp
tỷ lệ vào/ra mạng của các nút cao và v n đề cân bằng tải trong mạng.

1.6.

Mức độ phân tán

Mặc dù thiết kế mong muốn của mạng ngang hàng là hoàn toàn phân tán, tuy
nhiên trong thực tế có thể không đúng như vậy. Dưới đây liệt kê các mô hình dựa
trên mức độ phân tán của chúng.
Mô hình phân tán hoàn toàn: T t cả các nút trong mạng thực hiện các vai trò
như nhau. Vừa đóng vai trò là máy chủ, vừa là máy khách. Do đó không cần phải
có b t kỳ thành phần nào đóng vai trò là trung tâm điều phối.

Hình 4: Mạng ngang hàng phân tán hoàn toàn

21



Mô hình phân tán một phần: Về cơ bản mô hình này tương tự như mô hình
phân tán hoàn toàn. Tuy nhiên có một số nút đóng vai trò quan trong hơn các nút
khác, trở thành các điểm điều phối cho một số các nút khác. Các nút này được gọi
là siêu nút (supernode) và chúng có thể đảm nhận các vai trò khác nhau tùy thuộc
vào từng thiết kế.
Có một điểm quan trọng cần lưu ý là hệ thống sẽ không lệ thuộc vào một nút
nào, dù nút đó có là supernode, do các nút này được gán động và nếu có lỗi sẽ
được thay thế bằng nút khác.

Hình 5: Mạng ngang hàng phân tán một phần
Mô hình phân tán lai: Trong những hệ thống này, tồn tại một máy chủ trung
tâm đóng vai trò duy trì thông tin về các nút và tài nguyên trên các nút.

Hình 6: Mạng ngang hàng lai

22


Mặc dù việc trao đổi tài nguyên có thể thực hiện trực tiếp giữa các nút, nhưng
máy chủ trung tâm sẽ đóng vai trò tổng hợp và tìm kiếm tài nguyên trên nút. Mô
hình này sẽ khó mở rộng, và tạo các nguy hiểm tiềm tàng cho hệ thống khi máy
chủ trung tâm có sự cố hoặc bị t n công.

1.7.

Mạng ngang hàng có cấu trúc và kĩ thuật bảng băm phân tán

Các nghiên cứu về DHT được bắt nguồn cùng với sự phát triển của các hệ

thống P2P như Napster, Gnutella, và Freenet, những hệ thống này sử dụng lợi thế
của các tài nguyên phân tán trên mạng Internet để cung c p một ứng dụng đơn hữu
dụng. Cụ thể, chúng đã sử dụng lợi thế tăng băng thông và sức chứa của ổ cứng
còn nhàn rỗi của các Peer để cung c p dịch vụ chia sẻ file. Những hệ thống này
khác nhau ở cách thức thực hiện việc tìm kiếm dữ liệu mà các peer quản lý.
Napster sử dụng một server trung tâm: mỗi node khi tham gia vào mạng sẽ gửi một
danh sách các file được lưu trữ ở máy lên cho server, server sẽ xử lý các truy v n,
tìm các file trong danh sách, rồi gửi đường dẫn tới node chứa các file cần tìm.
Thành phần trung tâm này tạo ra một điểm yếu trong hệ thống vì có thể bị t n công
hoặc có thể bị kiện cáo về bản quyền. Gnutella và những mạng tương tự chuyển
sang sử dụng mô hình phát tràn các thông điệp truy v n (flooding query model),
mỗi truy v n được đưa ra tương ứng với việc một thông điệp được broadcast tới t t
cả các node có trong mạng. Vì vậy, mặc dù tránh được điểm yếu của thành phần
trung tâm như trên, thì phương pháp này lại kém hiệu quả hơn so với Napster.
Cuối cùng, Freenet thực sự là phân tán, nó sử dụng cơ chế routing dựa trên khóa,
mỗi file được gán một khóa, các khóa gần giống nhau sẽ cùng được lưu ở một tập
các node. Các truy v n sẽ được định tuyến đi trong mạng mà không phải ghé thăm
t t cả các node có trên mạng. Tuy nhiên, Freenet không đảm bảo dữ liệu sẽ được
tìm th y.
DHT sử dụng cơ chế định tuyến dựa trên khóa trên một kiến trúc mạng chặt
chẽ hơn để có thể đạt được cả tính phân tán về tài nguyên của Gnutella và Freenet,
tính hiệu quả về truy v n của Napster. Có một hạn chế là DHT chỉ hỗ trợ tìm kiếm
chính xác chứ không hỗ trợ tìm kiếm theo từ khóa, hay tìm kiếm theo khoảng, tuy
nhiên các chức năng này có thể triển khai mở rộng trên nền DHT.

23


Distributed hash tables (DHTs) là hệ thống mạng phân tán, cung cấp các dịch
vụ tìm kiếm dựa vào bảng băm. Bảng băm là một cặp ( tên, giá trị). Mỗi một node

khi tham gia vào mạng có thể dễ dàng tìm thấy giá trị mong muốn dựa vào tên của
giá trị đó.
Việc hình thành tên (khóa) và gắn các khóa đó với giá trị tương ứng được thực
hiện trực tiếp tại các node trong mạng, chính vì vậy khả năng sập mạng được giảm
tối thiểu khi các node tham gia hoặc dời bỏ mạng. Chính lý do này khiến khả năng
mở rộng của mạng DHT là cực lớn, quá trình kiểm soát việc tham gia, dời bỏ
mạng của các node cũng trở nên dễ dàng hơn. Với c u trúc vững mạnh, DHT được
sử dụng để xây dựng nhiều ứng dụng phức tạp như: Hệ thống các file phân tán, hệ
thống chia sẻ file ngang hàng, hệ thống nội dung phân tán, tin nhắn tức thời,
Multicast Các mạng DHT nổi tiếng thường được nhắc đến là: Bittorrent,
eDonkey network, Yacy
Một số mạng based - DHT đầu tiên như CAN, Chord được giới thiệu cùng thời
gian năm 2001. Từ đó lĩnh vực nghiên cứu này trở lên khá sôi động. Công nghệ
DHT đã được sử dụng như một thành phần của BitTorrent.
DHT nhấn mạnh vào các thuộc tính sau:
-

Không tập trung (Decentralization): Các node tham gia c u thành hệ thống
không có thành phần trung tâm làm điều phối mạng.

-

Khả năng mở rộng: Hệ thống vẫn có thể hoạt động hiệu quả với hàng nghìn
hoặc hàng triệu node.

-

Khả năng chịu lỗi: Hệ thống vẫn có thể làm việc ổn định ngay cả khi có các
sự kiện node tham gia, rời bỏ, lỗi diễn ra liên tục. Kỹ thuật khóa được sử
dụng để đạt được mục đích là mỗi node chỉ cần liên kết với một số ít các

node khác trong hệ thống, thường là O(logn) với n là số node tham gia. Vì
vậy sự thay đổi trong các thành viên chỉ ảnh hưởng đến một phần nhỏ của
hệ thống. Một số thiết kế DHT tìm đến tính bảo mật chống lại những người
tham gia ác tâm và cho phép người tham gia gi u danh tính, mặc dù điều
này không phổ biến trong các hệ thống P2P chia sẻ file.

24


Cuối cùng, DHT phải giải quyết những v n đề cơ bản của các hệ thống phân
tán đó là cân bằng tải, tính toàn vẹn dữ liệu, hiệu năng (cụ thể là đảm bảo các hoạt
động như định tuyến, lưu trữ, truy v n phải được thực thi nhanh chóng).
Distribute Hash Table(DHT: Cơ sở dữ liệu phân tán trên môi trường P2P)
 Cơ sở dữ liệu(CSDL) trên môi trường P2P chứa cặp (key, value):


Key: Tên nội dung.



Value: Địa chỉ IP ( nơi lưu nội dung).

 Peer truy cập CSDL bằng cách cung c p giá trị key, CSDL sẽ trả về giá trị
value tương ứng với giá trị key.
 Peer còn có thể chèn các cặp (key, value) mới vào CSDL.

Hình 7: Bảng băm phân tán – DHT
- Mỗi peer sẽ được gán một số ID để định danh khi tham gia vào P2P là số
nguyên nằm trong vùng[0,2n-1] (n là số nguyên cố định). Mỗi ID có thể được biểu
diễn qua chuỗi n bits.

- Để thu được mỗi trị key là một số nguyên thuộc vùng [0,2n-1] thì nó sử dụng
1 hàm băm H, H nhận key gốc và trả về giá trị key nằm trong vùng [0,2n-1] .
 Đây chính là lý do gọi nó là DHT(Distributed “Hash” Table).
- Bây giờ chúng ta có thể th y được mỗi peer đã có 1 ID trong vùng [0,2n-1]
thì quy tắt lưu các cặp (key, value) như sau:
+ Lưu tại peer có ID=key.
+ Nếu không có peer như vậy thì lưu tại peer có ID gần nh t(ID gần nh t là
ID liền sau trong danh sách các ID).

25


×