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

Các giao thức truyền số liệu p2p

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 (2.06 MB, 88 trang )

HỌC VIỆN KỸ THUẬT QUÂN SỰ

HỆ ĐÀO TẠO DÀI HẠN

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
CHUYÊN NGÀNH THÔNG TIN

CÁC GIAO THỨC TRUYỀN SỐ LIỆU P2P

NĂM 2016


HỌC VIỆN KỸ THUẬT QUÂN SỰ

HỆ ĐÀO TẠO DÀI HẠN

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
NGÀNH: ĐIỆN- ĐIỆN TỬ

CÁC PHƯƠNG THỨC TRUYỀN SỐ LIỆU P2P
Giáo viên hướng dẫn:
ĐẠI TÁ TS. NGUYỄN VĂN GIÁO

NĂM 2016

THUẬT NGỮ VIẾT TẮT


Từ viết

Tiếng Anh



Tiếng Việt

ACK

Acknowledgment Frame

Khung xác nhận tích cực

ABM

Asynchronous Balanced Mode

ARQ

Automatic Repeat Request

Yêu cầu lặp lại tự động

Challenge-Handshake Authentication

Giao thức chứng thực bắt

Protocol

tay

DISC

Disconect


Mất kết nối

DHT

Distributed Hash Table

Bảng băm phân tán

ENQ

Enquiry Frame

Khung thăm dò

FRMR

Frame Reject

Khung từ chối

HDLC

High-level Data Link Control

I-frame

Information Frame

LCP


Link Control Protocol

NAK

Negative Acknowledgment Frame

NCP

Network Control Protocol

NRM

Normal Response Mode

PAP

Password Authentication Protocol

P2P

Peer-to-Peer

Mạng ngang hàng

PPP

Point-to-Point Protocol

Giao thức điểm-nối-điểm


QoS

Quality of Service

Chất lượng dịch vụ

RNR

Receive Not Ready

Chưa sẵn sàng nhận

RR

Receive Ready

Sẵn sàng nhận

tắt

CHAP

Chế độ cân bằng không
đồng bộ

Điều khiển liên kết dữ
liệu mức cao
Khung thông tin
Giao thức điều khiển liên

kết
Khung xác nhận tiêu cực
Giao thức điều khiển
mạng
Chế độ trả lời bình
thường
Giao thức chứng thực mật
khẩu


REJ

Reject

Từ chối

SABM

Set Asynchronous Balanced Mode

SREJ

Selective Reject

SNRM

Set Normal Response Mode

TCP


Transmission Control Protocol

UA

Unnumbered Acknowledgment

Xác nhận không số

UDP

User Datagram Protocol

Giao thức lớp giao vận

VoIP

Voice over Internet Protocol

Thiết lập chế độ cân bằng
không đồng bộ
Từ chối có chọn lọc
Thiết lập chế độ trả lời
bình thường
Giao thức điều khiển
truyền dẫn

Truyền giọng nói trên
giao thức IP



DANH MỤC BẢNG BIỂU
Bảng 1.1 So sánh mô hình P2P với mô hình Client/Server .................................. 4
Bảng 2.1 Hiệu quả của Stop-and-Wait ARQ trong trường hợp không lỗi ......... 45
Bảng 2.2 Tóm tắt kết quả thực hiện .................................................................... 47
Bảng 2.3 Kích thước cửa sổ cần thiết khi kết hợp trễ và tốc độ bít .................... 48


DANH MỤC HÌNH VẼ
Hình 1.1 Mạng ngang hàng có cấu trúc (Structured) ........................................... 6
Hình 1. 2 Mạng ngang hàng tập trung thế hệ thứ nhất (Napster) ........................ 6
Hình 1.3 Mạng ngang hàng thuần túy (Gnutella 4.0, FreeNet) ........................... 8
Hình 1.4 Các mạng ngang hàng lai Hybrid .......................................................... 9
Hình 1.5 Cơ chế của bảng băm phân tán (DHT) ................................................ 11
Hình 2.1 Thực thể lớp n thực hiện một giao thức cung cấp dịch vụ cho lớp n+1
............................................................................................................................. 18
Hình 2.2 Giao thức peer-to-peer hoạt động qua hop mạng ............................... 20
Hình 2.3 Giao thức peer-to-peer hoạt động qua mạng đầu cuối ....................... 21
Hình 2.4 Giao thức peer-to-peer hoạt động qua mạng đầu cuối ....................... 21
Hình 2.5 Chức năng thích ứng ............................................................................ 24
Hình 2.6 Bản tin, luồng và thứ tự các khối ......................................................... 24
Hình 2.7 Hướng tiếp cận của End-to-end với Hop-by-hop ................................ 27
Hình 2.8 Thành phần cơ bản của ARQ ............................................................... 28
Hình 2.9 Sự truyền khung không theo thứ tự ...................................................... 29
Hình 2.10 Sự cố khi nhầm lẫn các tín hiệu ACK ................................................ 30
Hình 2.11 Thông tin trạng thái hệ thống Stop-and-Wait ARQ ........................... 31
Hình 2.12 Khung thăm dò trong Stop-and-Wait ARQ ........................................ 32
Hình 2.13 Cơ chế hoạt động giao thức Go-Back-N ARQ ................................... 34
Hình 2.14 Sự tương quan giữa Stop-and-Wait ARQ và Go-Back-N ARQ.......... 35
Hình 2.15 Go-Back-N ARQ ................................................................................. 36
Hình 2.16 Kích thước cửa sổ nên bé hơn 2m ....................................................... 38

Hình 2.17 Khôi phục lỗi cho NAK ...................................................................... 38
Hình 2.18 Các thông số trong hệ thống Go-Back-N ARQ 2 chiều ..................... 40
Hình 2.19 Tính toán các giá trị thời gian chờ .................................................... 40
Hình 2.20 ARQ phát lặp chọn lọc ....................................................................... 41
Hình 2.21 Khôi phục lỗi trong ARQ phát lặp chọn lọc ...................................... 42
Hình 2.22 Kích thước cửa sổ tối đa trong ARQ phát lặp chọn lọc..................... 42
Hình 2.23 Các thành phần trễ trong Stop-and-Wait ARQ .................................. 44
Hình 2.24 Hiệu quả truyền dẫn của giao thức ARQ ........................................... 49
Hình 2.25 Kích thước khung tối ưu ..................................................................... 50
Hình 2.26 Điều khiển luồng ON-OFF ................................................................ 53
Hình 2.27 Điều khiển luồng cửa sổ trượt ........................................................... 53
Hình 2.28 Khôi phục thời gian ............................................................................ 53
Hình 2.29 Tốc độ đồng hồ và ảnh hưởng của nó trên đường truyền.................. 55
Hình 2.30 Khôi phục đồng hồ thích ứng ............................................................. 55
Hình 2.31 Khôi phục đồng hồ trong mạng đồng bộ ........................................... 56
Hình 2.32 Minh họa TCP .................................................................................... 57
Hình 3.1 Lớp liên kết dữ liệu .............................................................................. 60


Hình 3.2 Cấu hình HDLC ................................................................................... 61
Hình 3.3 Định dạng khung HDLC ...................................................................... 63
Hình 3.4 Định dạng trường điều khiển ............................................................... 64
Hình 3.5 Mô tả quá trình hoạt động trong khung HDLC ................................... 65
Hình 3.6 Định dạng khung Poin-to-Point ........................................................... 67
Hình 3.7 Giản đồ pha Point-to-Point.................................................................. 68
Hình 3.8 Napster và Gnutella ............................................................................. 70
Hình 3.9 Leechers và Seeders ............................................................................. 72
Hình 3.10 Torrent Trackers và Trackerless Torrents ......................................... 72



MỤC LỤC
DANH MỤC BẢNG BIỂU
DANH MỤC HÌNH VẼ
LỜI NÓI ĐẦU ...................................................................................................... 1
Chương 1
TỔNG QUAN VỀ MẠNG NGANG HÀNG P2P
1.1 Giới thiệu ..................................................................................................... 3
1.2 Định nghĩa P2P ............................................................................................ 3
1.3 Phân loại mạng ngang hàng ......................................................................... 5
1.3.1 Hệ thống mạng ngang hàng tập trung (Centralized).............................. 6
1.3.2Mạng ngang hàng thuần túy (Pure) ........................................................ 8
1.3.3 Các mạng ngang hàng lai Hybrid. ......................................................... 9
1.3.4 Mạng ngang hàng có cấu trúc Structured ............................................ 10
1.3.5 Ưu thế của mạng ngang hàng .............................................................. 12
1.3.6 Kết luận chương 1 ................................................................................ 13
Chương 2
CÁC GIAO THỨC TRUYỀN SỐ LIỆU P2P
2.1 Tổng quan về giao thức.............................................................................. 16
2.1.1 Khái niệm về giao thức ........................................................................ 16
2.1.2 Vai trò của giao thức trong truyền thông ............................................. 16
2.2 Giao thức P2P ............................................................................................ 18
2.2.1 Đặt vấn đề ............................................................................................ 18
2.2.2 Giao thức P2P và mô hình dịch vụ ...................................................... 19
2.2.2.1 Mô hình dịch vụ ............................................................................. 22
2.2.2.2 Các yêu cầu đầu cuối và chức năng thích nghi ............................. 23
2.2.2.4 So sánh End-to-End với Hop-by-Hop ........................................... 26
2.2.3 Giao thức ARQ .................................................................................... 27
2.2.3.1 Stop-and-Wait ARQ ...................................................................... 29
2.2.3.2 Go-Back-N ARQ ........................................................................... 33
2.2.3.3 ARQ phát lặp có chọn lọc.............................................................. 40

2.2.3.4 Hiệu quả truyền dẫn của giao thức ARQ....................................... 44


2.2.4 Các chức năng thích ứng khác ............................................................. 52
2.2.4.1 Điều khiển luồng cho cửa sổ trượt ................................................ 52
2.2.4.2 Thời gian khôi phục cho dịch vụ đồng bộ ..................................... 53
2.2.4.3 Dịch vụ truyền đáng tin cậy........................................................... 57
2.3 Kết luận chương 2 ...................................................................................... 58
Chương 3
ĐIỀU KHIỂN LIÊN KẾT DỮ LIỆU VÀ MỘT SỐ ỨNG DỤNG PHÁT TRIỂN
TRÊN NỀN TẢNG GIAO THỨC P2P
3.1 Điều khiển liên kết dữ liệu ......................................................................... 59
3.1.1 Điều khiển liên kết dữ liệu mức cao HDLC ........................................ 59
3.1.2 Giao thức điểm-nối-điểm (Point-to-Point) .......................................... 66
3.2 Một số ứng dụng phát triển trên nền tảng giao thức mạng P2P ................ 69
3.2.1 Ứng dụng chia sẻ ngang hàng file-sharing .......................................... 69
3.2.1.1 Hoạt động của Napster .................................................................. 69
3.2.1.2 Hoạt động của Gnutella ................................................................. 70
3.2.1.3 BitTorrent ...................................................................................... 71
3.2.2 Điện thoại VoIP ................................................................................... 73
3.2.3 P2PTV .................................................................................................. 74
3.3 Kết luận chương 3 ..................................................................................... 76
KẾT LUẬN ......................................................................................................... 78
TÀI LIỆU THAM KHẢO................................................................................... 79


1

LỜI NÓI ĐẦU
Ngày nay với mức độ phổ biến của máy tính cá nhân và mạng Internet,

mạng ngang hàng với nhiều đặc tính phù hợp cho các hệ thống phân tán, ngày
càng thu hút được nhiều chú ý của người sử dụng và giới nghiên cứu phát triển
ứng dụng. Cùng với xu thế đó mô hình mạng ngang hàng có cấu trúc cũng dành
được nhiều sự quan tâm và phát triển do đặc điểm là mạng ngang hàng thuần
túy, không yêu cầu có sự tham gia của các máy chủ trung tâm. Đặc điểm này
giúp mạng ngang hàng cấu trúc có khả năng mở rộng tốt hơn tuy nhiên cũng tạo
ra nhiều các vấn đề kỹ thuật cần phải giải quyết.
Rất nhiều ứng dụng phức tạp đã được phát triển trên nền tảng mạng ngang
hàng có cấu trúc như các hệ thống truy vấn dữ liệu, hay hệ thống quản trị cơ sở
dữ liệu… Các ứng dụng chia sẻ file, hay thoại VoIP, video truyền hình…ngày
càng được sử dụng rộng rãi trên toàn thế giới. Cũng như các công nghệ ra đời
trong thời gian gần đây, thì vấn đề giao thức là đặc biệt quan trọng. Việc nắm
chắc giao thức là chìa khóa thành công của việc triển khai mỗi một công nghệ
mới vào thực tế. Chính vì vậy, trong nội dung của đồ án tốt nghiệp này, em xin
được giới thiệu về “Các giao thức truyền số liệu P2P” với nội dung chính như
sau:
Chương 1: Tổng quan về mạng ngang hàng P2P
Chương 2 : Các giao thức truyền số liệu P2P
Chương 3 : Điều khiển liên kết dữ liệu và một số ứng dụng phát triển trên
nền tảng giao thức P2P
Trong quá trình thực hiện đồ án em xin gửi lời cảm ơn đến giảng viên
TS.Nguyễn Văn Giáo đã hướng dẫn chỉ bảo tận tình để em có thể hoàn thành tốt
Đồ án tốt nghiệp này. Em xin chân thành cảm ơn các Thầy, Cô trong bộ môn đã
giảng dạy, cung cấp cho em nhiều kiến thức trong khóa học vừa qua tại trường
Học viện Kỹ thuật quân sự.


2

Do thời gian tìm hiểu còn ngắn, kiến thức của em còn hạn hẹp nên đồ án

còn nhiều thiếu xót. Em mong các thầy, cô chỉ bảo thêm để em có thể hoàn thiện
tốt hơn đề tài này. Em xin chân thành cảm ơn.

Học viên thực hiện
Kiều Văn Quyết Chiến


3

Chương 1
TỔNG QUAN VỀ MẠNG NGANG HÀNG P2P
1.1 Giới thiệu
Mạng ngang hàng (Peer-to-Peer) xuất hiện từ năm 1999 và đã thu hút sự
quan tâm của giới CNTT trong những năm gần đây. Đặc biệt việc áp dụng các
mô hình P2P trong việc xây dựng những ứng dụng chia sẻ file (file sharing),
điện thoại trên nền Internet (Internet-based telephony) đã đạt được nhiều thành
công.
Hiện nay các ứng dụng P2P chiếm khoảng 50%(thậm chí 75%) băng
thông trên Internet.
1.2 Định nghĩa P2P
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 đồng
đẳ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 học. Mạng đồng đẳ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 đồng đẳng đúng nghĩa là một kiểu mạng được thiết kế cho các thiết
bị trong đó có chức năng và khả năng của các thiết bị đó là như nhau.Mạng P2P

không có khái niệm máy trạm (client) hay máy chủ (server), nói cách khác, tất
cả các máy tham gia đều bình đẳng và được gọi là peer, là một nút mạng đóng
vai trò như cả client và server.
Overlay network: 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 nodes trong mạng overlay được xem là nối với nhau bằng liên
kết ảo (logical links), 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.


4

Rất nhiều mạng P2P được gọi là overlay networks vì nó được xây dựng
và hoạt động trên nền internet. VD: Gnutella, Freenet, DHTs….Dial-up Internet
cũng là một overlay network trên nền telephone network.
Bảng 1.1 So sánh mô hình P2P với mô hình Client/Server
P2P

Client/Server

_Một mạng ngang hàng cho phép các

_ Dữ liệu được lưu trữ ở một Server

node (PCs) đóng góp, chia sẻ nguồn

trung tâm, tốc độ cao (Tốc độ truy

tài nguyên với nhau. Tài nguyên riêng

cập thường lớn hơn mạng P2P).


rẽ của các node (ổ cứng, CD-ROM,
máy in….), các nguồn tài nguyên này
có thể được truy cập từ bất cứ node

_Khi một máy client yêu cầu lấy

nào trong mạng.

thông tin về thời gian nó sẽ phải gửi

_Các node đóng vai trò như cả Client

một yêu cầu theo một tiêu chuẩn do

(truy vấn thông tin) và Server (cung

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

cấp thông tin)

chấp nhận thì máy server sẽ trả về
thông tin mà client yêu cầu.

Ưu nhược điểm của mạng P2P và Client/Server
P2P

Client/Server

Ưu điểm:


Ưu điểm:

Không cần server riêng, các client

Tốc độ truy cập nhanh.

chia sẻ tài nguyên. Khi mạng càng

Khả năng mở rộng cao.

được mở rộng thì khả năng hoạt

Hoạt động với bất kì loại ứng dụng

động của hệ thống càng tốt

nào.

Rẻ

Sử dụng được với các ứng dụng chia

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

sẻ CSDL.

Thuận lợi cho việc chia sẻ file, máy

Đáng tin cậy hơn (có server riêng)


in, CD-ROM ….

Mức độ an toàn cao nhất.


5

Nhược điểm

Nhược điểm

Chậm.

Cần server riêng (nghẽn cổ chai).

Không tốt cho các ứng dụng chia sẻ

Đắt.

CSDL.

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

Kém tin cậy.

hoạt động của mạng.

1.3 Phân loại mạng ngang hàng
Mạng ngang hàng có thể được phân loại theo mục đích sử dụng, ví dụ:

 Chia sẻ file (file sharing)
 Điện thoại VoIP (telephony)
 Đa phương tiện media streaming (audio, video)
 Diễn đàn thảo luận (Discussion forums)
Mạng ngang hàng còn có thể được phân loại theo mức độ tập trung của mạng
(đối với P2P overlay networks) như sau:
Mạng đồng đẳng thuần túy:
 Các máy trạm có vai trò vừa là máy chủ vừa là máy khách
 Không có máy chủ trung tâm quản lý mạng
 Không có máy định tuyến (bộ định tuyến) trung tâm, các máy trạm có khả
năng tự định tuyến
Mạng đồng đẳng lai:
 Có một máy chủ trung tâm dùng để lưu trữ thông tin của các máy trạm và
trả lời các truy vấn thông tin này.
 Các máy trạm có vai trò lưu trữ thông tin, tài nguyên được chia sẻ, cung
cấp các thông tin về chia sẻ tài nguyên của nó cho máy chủ.
 Sử dụng các trạm định tuyến để xác định địa chỉ IP của các máy trạm.
Mạng ngang hàng không cấu trúc (unstructured): là cấu trúc mạng có nơi lưu
trữ nội dung (files) hoàn toàn không liên quan gì đến cấu trúc hình học của
mạng (overlay topology).
Bao gồm:


6

 Hệ thống mạng ngang hàng tập trung (Centralized):
 Hệ thống mạng ngang hàng thuần túy (Pure)
 Các mạng ngang hàng lai (Hybrid)
P2P
P2P có cấu trúc


P2P không cấu trúc

Thế hệ thứ nhất

Tập trung

Thuần túy

Thế hệ thứ hai

Lai

DHT cơ bản

Hình 1.1 Mạng ngang hàng có cấu trúc (Structured)
1.3.1 Hệ thống mạng ngang hàng tập trung (Centralized)
Đây là mạng ngang hàng thế hệ thứ nhất, đặc điểm là vẫn còn dựa trên
một máy chủ tìm kiếm trung tâm, chính vì vậy nó còn được gọi là mang ngang
hàng tập trung (centralized Peer-to-Peer networks). Cấu trúc Overlay của mạng
ngang hàng tập trung có thể được mô tả như một mạng hình sao .

Hình 1. 2 Mạng ngang hàng tập trung thế hệ thứ nhất (Napster) [6].
Nguyên tắc hoạt động:


7

 Mỗi client lưu trữ files định chia sẻ với các node khác trong mạng.
 Một bảng lưu trữ thông tin kết nối của người dùng đăng kí (IP address,

connection bandwidth ….).
 Một bảng liệt kê danh sách các files mà mỗi người dùng định chia sẻ (tên
file, dung lượng, thời gian tạo file …….)
Mọi máy tính tham gia mạng được kết nối với máy chủ tìm kiếm trung
tâm, các yêu cầu tìm kiếm được gửi tới máy chủ trung tâm phân tích, nếu yêu
cầu được giải quyết máy chủ sẽ gửi trả lại địa chỉ IP của máy chứa tài nguyên
trong mạng và quá trình truyền file được thực hiện theo đúng cơ chế của mạng
ngang hàng, giữa các host với nhau mà không cần quan máy chủ trung tâm.
Ưu điểm:
Dễ xây dựng.
Tìm kiếm file nhanh và hiệu quả.
Nhược điểm:
Vấn đề luật pháp, bản quyền.
Dễ bị tấn công.
Cần quản trị mạng (Central Server).
Napster là mạng ngang hàng đặc trưng cho hệ thống mạng ngang hàng
của thế hệ thứ nhất, chúng được dùng cho việc chia sẻ các file giữa các người
dùng Internet, được sử dụng rộng rãi, tuy nhiên nhanh chóng bị mất thị trường
bởi yếu tố về luật pháp. Khái niệm và kiến trúc của Napster vẫn còn được sử
dụng trong các ứng dụng khác như: Audiogalaxy, WinMX.
Với Napster, việc tìm kiếm file bị thất bại khi bảng tìm kiếm trên máy chủ
vì lý do nào đó không thực hiện được. Chỉ có các file truy vấn và việc lưu trữ
được phân tán, vì vậy máy chủ đóng vai trò là một nút cổ chai. Khả năng tính
toán và lưu trữ của máy chủ tìm kiếm phải tương xứng với số nút mạng trong hệ
thống, do đó khả năng mở rộng mạng bị hạn chế rất nhiều.


8

1.3.2 Mạng ngang hàng thuần túy (Pure)

Mạng ngang hàng thuần túy là một dạng khác của thế hệ thứ nhất trong hệ
thống các mạng ngang hàng. Không còn máy chủ tìm kiếm tập trung như trong
mạng Napster, nó khắc phục được vấn đề nút cổ chai trong mô hình tập trung.
Tuy nhiên vấn đề tìm kiếm trong mạng ngang hàng thuần túy lại sử dụng cơ chế
Flooding, yêu cầu tìm kiếm được gửi cho tất cả các node mạng là láng giềng với
nó, điều này làm tăng đáng kể lưu lượng trong mạng. Đây là một yếu điểm của
các mạng ngang hàng thuần túy. Các phần mềm tiêu biểu cho mạng ngang hàng
dạng này là Gnutella 4.0, FreeNet.

Hình 1.3 Mạng ngang hàng thuần túy (Gnutella 4.0, FreeNet) [6].
Ưu điểm:
Dễ xây dựng.
Đảm bảo tính phân tán hoàn toàn cho các node tham gia mạng, các node
tham gia và rời khỏi mạng một cách tùy ý mà không ảnh hưởng đến cấu trúc của
mạng.
Nhược điểm:
Tốn băng thông.
Phức tạp trong tìm kiếm.Các node có khả năng khác nhau (CPU power,
bandwidth, storage) đều có thểphải chịu tải (load) như nhau.


9

1.3.3 Các mạng ngang hàng lai Hybrid.
Để khắc phục nhược điểm của mạng ngang hàng thuần túy, một mô hình
mang ngang hàng mới được phát triển với tên gọi là mạng ngang hàng lai.Đây
được gọi là mạng ngang hàng thế hệ 2. Phần mềm tiêu biểu cho mạng ngang
hàng kiểu này là Gnutella 0.6 và JXTA (Juxtapose). JXTA được bắt đầu phát
triển bởi SUN từ 2001 (Đây là giao thức P2P mã nguồn mở). JXTA được sử
dụng cho PCs, mainframes, cell phones, PDAs – để giao tiếp theo cách không

tập trung. Skype cũng được xây dựng dựa trên cấu trúc này.

Hình 1.4 Các mạng ngang hàng lai Hybrid [6].
Trong mô hình mạng ngang hàng lai tồn tại một trật tự phân cấp bằng việc
định nghĩa các Super Peers.Các SupperPeer tạo thành một mạng không cấu trúc,
có sự khác nhau giữa SupperPeers và ClientPeers trong mạng, mỗi SupperPeer
có nhiều kết nối đến các ClientPeers.Mỗi SupperPeer chứa một danh sách các
file được cung cấp bởi các ClientPeer và địa chỉ IP của chúng vì vậy nó có thể
trả lời ngay lập tức các yêu cầu truy vấn từ các ClientPeer gửi tới.
Ưu điểm:
Hạn chế việc Flooding các query, làm giảm lưu lượng trong mạng, nhưng
vẫn tránh được hiện tượng nút cổ chai (do có nhiều SuperPeers).


10

Khắc phục được nhược điểm về sự khác nhau về CPU power, bandwidth
… ở mạng ngang hàng thuần túy, các SuperPeer sẽ chịu tải chính, các node khác
chịu tải nhẹ.
Một mạng đồng đẳng không cấu trúc khi các liên kết giữa các nút mạng
trong mạng phủ được thiết lập ngẫu nhiên (tức là không theo quy luật nào).
Những mạng như thế này dễ dàng được xây dựng vì một máy mới khi muốn
tham gia mạng có thể lấy các liên kết có sẵn của một máy khác đang ở trong
mạng và sau đó dần dần tự bản thân nó sẽ thêm vào các liên kết mới của riêng
mình. Khi một máy muốn tìm một dữ liệu trong mạng đồng đẳng không cấu
trúc, yêu cầu tìm kiếm sẽ được truyền trên cả mạng để tìm ra càng nhiều máy
chia sẻ càng tốt. Hệ thống này thể hiện rõ nhược điểm: không có gì đảm bảo tìm
kiếm sẽ thành công. Đối với tìm kiếm các dữ liệu phổ biến được chia sẻ trên
nhiều máy, tỉ lệ thành công là khá cao, ngược lại, nếu dữ liệu chỉ được chia sẻ
trên một vài máy thì xác suất tìm thấy là khá nhỏ. Tính chất này là hiển nhiên vì

trong mạng đồng đẳng không cấu trúc, không có bất kì mối tương quan nào giữa
một máy và dữ liệu nó quản lý trong mạng, do đó yêu cầu tìm kiếm được chuyển
một cách ngẫu nhiên đến một số máy trong mạng. Số lượng máy trong mạng
càng lớn thì khả năng tìm thấy thông tin càng nhỏ.
Một nhược điểm khác của hệ thống này là do không có định hướng, một
yêu cầu tìm kiếm thường được chuyển cho một số lượng lớn máy trong mạng
làm tiêu tốn một lượng lớn băng thông của mạng, dẫn đến hiệu quả tìm kiếm
chung của mạng thấp.
Hầu hết các mạng đồng đẳng phổ biến là không cấu trúc như Napster,
Gnutella, Fasttrack và eDonkey2000.
1.3.4 Mạng ngang hàng có cấu trúc Structured
Mạng đồng đẳng có cấu trúc khắc phục nhược điểm của mạng không cấu
trúc bằng cách sử dụng hệ thống DHT (Bảng Băm Phân Tán, tiếng anh:
Distributed Hash Table). Hệ thống này định nghĩa liên kết giữa các nút mạng
trong mạng phủ theo một thuật toán cụ thể, đồng thời xác định chặt chẽ mỗi nút


11

mạng sẽ chịu trách nhiệm đối với một phần dữ liệu chia sẻ trong mạng. Với cấu
trúc này, khi một máy cần tìm một dữ liệu, nó chỉ cần áp dụng một giao thức
chung để xác định nút mạng nào chịu trách nhiệm cho dữ liệu đó và sau đó liên
lạc trực tiếp đến nút mạng đó để lấy kết quả.
Một số mạng đồng đẳng có cấu trúc nổi tiếng bao gồm Chord, CAN,
Kademlia, Pastry và Tapestry.
Đặc điểm:
 Topo mạng được kiểm soát chặt chẽ.
 File hoặc con trỏ tới File được đặt ở một vị trí xác đinh.
 Đ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 (mapping) giữa nội dung (ví dụ: id của file) và vị trí node (ví dụ: địa

chỉ node). 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).
Khóa

Dữ liệu
Fox

Hàm băm

File

Hàm băm

52ED879E

Video

Hàm băm

46042841

DFCD3454
4

Mạng phân phối

Peers

Hình 1.5 Cơ chế của bảng băm phân tán (DHT) [6].
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.
Ưu điểm:


12

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 trong
trường hợp tỷ lệ vào/ra mạng của các nodes cao.
Vấn đề cân bằng tải trong mạng.
Sự khác biệt về topology trên mạng overlay và mạng liên kết vật lý dẫn đến thời
gian trễ truy vấn trung bình cao.
1.3.5 Ưu thế của mạng ngang hàng
Một mục đích quan trọng của mạng đồng đẳng là trong mạng tất cả các
máy tham gia đều đóng góp tài nguyên, bao gồm băng thông, lưu trữ, và khả
năng tính toán. Do đó khi càng có nhiều máy tham gia mạng thì khả năng tổng
thể của hệ thống mạng càng lớn. Ngược lại, trong cấu trúc máy chủ-máy khách,
nếu số lượng máy chủ là cố định, thì khi số lượng máy khách tăng lên khả năng
chuyển dữ liệu cho mỗi máy khách sẽ giảm xuống.
Tính chất phân tán của mạng đồng đẳng cũng giúp cho mạng hoạt động
tốt khi một số máy gặp sự cố. Đối với cấu trúc tập trung, chỉ cần máy chủ gặp sự
cố thì cả hệ thống sẽ ngưng trệ.
Đối với mạng Napster, thuật ngữ đồng đẳng nói lên tính chất quan trọng
của giao thức giao tiếp đồng đẳng, còn thực ra thành công của Napster phải nhờ

vào sự liên kết chặt chẽ giữa các máy tham gia với máy chủ trung tâm lưu trữ
danh sách nội dung tệp trên các máy tham gia. Nhờ vậy việc tìm kiếm trở nên
nhanh và hiệu quả hơn, tuy nhiên, đây cũng chính là điểm yếu dẫn đến các rắc
rối pháp lý mà kết cục là sự sụp đổ của Napster.
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 của bạn chỉ lưu trữ mỗi một nội dung nhất định, nhưng thực tế thì


13

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ư
Toonima – bạn muốn đọc bài A thì Server phải xử lí và cho ra nội dung bài A,
một bạn 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.
Và cuối cùng, đó chính là 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. Bạn 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 Server – Client.
1.3.6 Kết luận chương 1
Mạng ngang hàng (P2P) là mạng mà trong đó hai hay nhiều máy tính chia
sẻ tập tin và truy cập các thiết bị như máy in mà không cần đến máy chủ hay

phần mềm máy chủ. Ởdạng đơn giản nhất, mạng P2P được tạo ra bởi hai hay
nhiều máy tính được kết nối với nhau và chia sẻ tài nguyên mà không phải thông
qua một máy chủ dành riêng. Mạng P2P có thể là kết nối tại chỗ – hai máy tính
nối với nhau qua cổng USB để truyền tập tin. P2P cũng có thể là cơ sở hạ tầng
thường trực kết nối 5-6 máy tính với nhau trong một văn phòng nhỏ bằng cáp
đồng. Hay nó cũng có thể là một mạng có quy mô lớn hơn nhiều, dùng các giao
thức và ứng dụng đặc biệt để thiết lập những mối quan hệ trực tiếp giữa người
dùng trên internet. Ứng dụng ban đầu của mạng P2P là sự tiếp nối của việc triển
khai các máy tính cá nhân độc lập vào đầu những năm 1980. Khác với máy tính


14

lớn (cỡ mini) ngày ấy có vai trò máy tính xử lý và lưu trữ trung tâm phục vụ các
tác vụ xử lý văn bản và những ứng dụng khác cho các thiết bị đầu cuối
(terminal), PC đời mới lúc đó có riêng đĩa cứng và CPU. Nó còn có sẵn các ứng
dụng, nghĩa là nó có thể triển khai trên bàn làm việc và thực sự hữu dụng mà
không cần phải nối đến máy tính lớn.Người dùng cảm thấy được giải phóng khi
có máy tính dùng riêng trên bàn làm việc của mình. Nhưng sau đó, họ thấy cần
phải có phương thức để chia sẻ tập tin và máy in. Phương pháp dễ dàng nhất là
lưu tập tin trên đĩa mềm và mang nó đến cho người nhận hay gửi đi bằng đường
thư nội bộ.
Thực tế đó đã dẫn đến thuật ngữ mạng thủ công (sneaker net). Điểm cuối
thường gặp nhất của mạng thủ công tiêu biểu là nhân viên có máy in nối vào
máy tính của họ.Tuy sneaker net là sự pha trộn kỳ lạ của công nghệ mới và dạng
vận chuyển cổ lỗ sĩ nhất nhưng mô hình này lại là nền tảng thực sự cho những
nhóm làm việc nhỏ P2P ngày nay.Trong khi mô hình tính toán tập trung hoá ban
đầu và hệ thống client/server hiện nay nhìn chung được coi như môi trường bị
điều khiển, trong đó mỗi cá nhân dùng máy tính theo cách thức do cấp cao hơn
quyết định, mạng làm việc nhóm p2p cổ điển lại hoàn toàn mở về chia sẻ tập tin

và thiết bị.Nói chung mạng p2p văn phòng và gia đình dùng chuẩn Ethernet
(10Mb/s) hay Fast Ethernet (100M b/s) và kết nối theo mô hình hub-and spoke.
Cáp đồng category 5 (xoắn đôi) nối giữa các PC và Ethernet hub hay switch, cho
phép người dùng PC nối mạng này truy cập chia sẻ đĩa cứng, máy in hay ngay
cả kết nối internet.
Mỗi PC được kết nối đồng thời vừa làm máy chủ vừa làm máy khách.
Không có hệ điều hành mạng chuyên dụng chạy trên máy tính mạnh để hỗ trợ
các ứng dụng đặc biệt của phía máy chủ như dịch vụ thư mục (cơ sở dữ liệu
chuyên dụng kiểm soát người nào truy cập vào cái gì).Trong môi trường P2P,
quyền truy cập được điều khiển bằng cách thiết lập các thông số về quyền chia
sẻ trên từng máy tính.Ví dụ, nếu PC của người dùng A kết nối với một máy in
mà người dùng B muốn truy cập đến, người dùng A phải cài đặt máy của mình


15

để cho phép (chia sẻ) truy cập đến máy in. Tương tự nếu người dùng B muốn
truy cập đến thư mục, tập tin hay thậm chí toàn bộ đĩa cứng trên PC của người
dùng A, A phải cho phép việc chia sẻ tập tin trên PC của mình.


16

Chương 2
CÁC GIAO THỨC TRUYỀN SỐ LIỆU P2P
2.1 Tổng quan về giao thức
2.1.1 Khái niệm về giao thức
Giao thức (protocol) là một tập hợp các quy tắc chuẩn dành cho việc biểu
diễn dữ liệu, phát tín hiệu, chứng thực và phát hiện lỗi dữ liệu nhờ đó mà các
máy tính (và các thiết bị) có thể kết nối và trao đổi thông tin với nhau. Nói một

cách dễ hiểu giao thức là tiêu chuẩn giao tiếp giữa hai hệ thống giúp chúng hiểu
và trao đổi dữ liệu được với nhau [6].
2.1.2 Vai trò của giao thức trong truyền thông
 Đóng gói: Trong quá trình trao đổi thông tin, các gói dữ liệu được thêm
vào 1 số thông tin điều khiển, bao gồm địa chỉ đích, mã phát hiện lỗi, điều
khiển giao thức ...việc thêm thông tin điều khiển vào gói dữ liệu được gọi
là quá trình đóng gói (Encapsulation). Bên thu sẽ được thực hiện ngược
lại, thông tin điều khiển sẽ được gỡ bỏ khi gói tin chuyển từ tầng dưới lên
tầng trên [7].
 Phân đoạn và tái hợp: Mạng truyền thông chỉ chấp nhận kích thước các
gói dữ liệu cố định. Các giao thức ở các tầng thấp cần phải cắt dữ liệu
thành những gói có kích thước quy định. Quá trình này gọi là quá trình
phân đoạn. Ngược với quá trình phân đoạn bên phát là quá trình hợp lại
bên thu. Dữ liệu phân đoạn cần phải được hợp lại thành thông điệp thích
hợp ở tầng ứng dụng (application). Vì vậy vấn đề bảo đảm thứ tự các gói
đến đích là rất quan trọng. Gói dữ liệu trao đổi giữa hai thực thể qua giao
thức gọi là đơn vị giao thức dữ liệu PDU (Protocol Data Unit) [7].
 Điều khiển liên kết: Trao đổi thông tin giữa các thực thể có thể thực hiện
theo 2 phương thức: hướng liên kết (Connection--Oriented) và không liên
kết (Connectionless). Truyền thông liên kết không yêu cầu có độ tin cậy
cao, không yêu cầu chất lượng dịch vụ và không yêu cầu xác nhận (do
giao thức UDP đảm nhận). Ngược lại truyền theo phương thức hướng liên


×