LỜI MỞ ĐẦU Mạng ngang hàng (tiếng Anh: peertopeer 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 hoc.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ộ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 Ngày nay nhu cầu về thông tin ngày càng tăng cả về số lượng, chất lượng và các loại hình dịch vụ,…vv điều này đã thúc đẩy thế giới phải tìm ra giải pháp mới. Các kỹ thuật định tuyến đã phần nào giải quyết được một số vấn đề lưu lượng trong mạng. Nội dung được trình bày trong chuyên đề sẽ làm rõ về các vấn đề trên. Do thời gian nghiên cứu chuyên đề cũng như sự hiểu biết có hạn nên không tránh khỏi những thiếu sót. Nhóm thực hiện rất mong nhận được sự góp ý từ phía các thầy cô và bạn đọc để nhóm chúng em hoàn thiện hơn nội dung chuyên đề. MỤC LỤC LỜI MỞ ĐẦU 2 MỤC LỤC 2 Chương 1: Tổng quan về mạng ngang hàng P2P 2 1.1. Giới thiệu 2 1.2. Định nghĩa P2P 2 1.3. So sánh mô hình P2P với mô hình ClientServer: 2 1.4. Ưu,nhược điểmcủamạng P2P,ClientServer: 2 1.5. Phân loại mạng ngang hàng 2 1.5.1. Hệ thống ngang hàng lai (Hybrid Peer to Peer System) 2 1.5.2. Mạng ngang hàng thuần túy (Pure Peertopeer System) 2 1.5.3 Kiến trúc siêu ngang hàng (Superpeer Architecture) 2 1.5.4 Mạng ngang hàng có cấu trúc (Structured) 2 1.6. Tìm thong tin quảng bá qua mạng P2P 2 Chương 2 : Định tuyến trong các hệ thống P2P thế hệ mới 2 2.1 Tổng quan định tuyến 2 2.1.1. Khái niệm 2 2.1.2. Nguyên tắc 2 2.1.3. Định tuyến tĩnh và định tuyến động 2 2.2 Định tuyến trong mạng ngang hang P2P 2 2.2.1 Tổng quan 2 2.2.2. Định tuyến dựa vào tiền tố (Prefix routing) 2 2.2.3. Thuật toán Plaxon et al 2 2.2.4. Thuật toán Tapetry 2 2.2.5. Thuật toán Pastry 2 2.2.6. Thuật toán Chord 2 2.2.6.1. Giao thức Chord 2 2.2.6.2. Ánh xạ khóa vào một nút trong Chord 2 2.2.6.3. Đặc Điểm Hệ Thống Chord 2 2.3. Một số nhận xét về định tuyến trong mạng ngang hàng có cấu trúc 2 Tài liệu tham khảo 2 Chương 1: Tổng quan về mạng ngang hàng P2P 1.1. Giới thiệu Mạngnganghàng(PeertoPeer–P2P)bắtđầuxuấthiệntừ1999vàđãthuhútsựquantâmcủagiớiCNTTtrongnhữngnăm gầnđây.Đặcbiệtviệcápdụngcácmôhình P2Ptrongviệc xâydựngnhữngứngdụngchiasẻfile(filesharing),điệnthoạitrênnềnInternet(Internetbasedtelephony)đãđạtđược nhiềuthànhcông. Hiệnnaycácứngdụng P2Pchiếmkhoảng 50% (thậmchí75%)băng thôngtrênInternet. Các ứng dụng của kiểu mạng này như là: Napster, Skype, BitTorrent, FlashGet, Sopcast, ICQ...vv.. 1.2. Định nghĩa P2P “Mạngngang hànglàmộtkiểumạngđượcthiếtkế chocácthiếtbịtrongđócóchứcnăng vàkhảnăngcủa cácthiếtbịđólànhưnhau” MạngP2Pkhôngcókháiniệmmáytrạm(client)haymáychủ(server),màchỉcó khái niệmcácnốt(peers)đóngvaitrònhưcảclientvàserver.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG - -
TIỂU LUẬN MÔN HỌC MẠNG THẾ HỆ MỚI(NGN)
TÊN ĐỀ TÀI MẠNG NGANG HÀNG VÀ ĐỊNH TUYẾN TRONG MẠNG NGANG HÀNG (P2P)
Học viên 1 LÊ PHƯỚC CHUNG
2 NGUYỄN HUY ANH
GVHD : PGS.TS NGUYỄN HỮU THANH Chuyên ngành : Kỹ thuật điện tử
Khoá : K26
Đà Nẵng, năm 201
Trang 2LỜI MỞ ĐẦU
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 hoc 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ộ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ốngNgày nay nhu cầu về thông tin ngày càng tăng cả về số lượng, chất lượng và các loại hình dịch vụ,…vv điều này đã thúc đẩy thế giới phải tìm ra giải pháp mới Các kỹ thuật định tuyến đã phần nào giải quyết được một số vấn đề lưu lượng trong mạng Nội dung được trình bày trong chuyên đề sẽ làm rõ về các vấn đề trên
Do thời gian nghiên cứu chuyên đề cũng như sự hiểu biết có hạn nên không tránh khỏi những thiếu sót Nhóm thực hiện rất mong nhận được sự góp ý từ phía các thầy cô
và bạn đọc để nhóm chúng em hoàn thiện hơn nội dung chuyên đề
Trang 3MỤC LỤC
Trang 4]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 – P2P) bắt đầu xuất hiện từ 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
Các ứng dụng của kiểu mạng này như là: Napster, Skype, BitTorrent, FlashGet, Sopcast, ICQ vv
Trang 5Hình 1 Kiến trúc mạng ngang hang Peer-to-Peer
Mạng ngang hàng là một hệ thống phân tán đặc biệt trong tầng ứng dụng, ở đó mỗi cặp điểm nút có thể giao tiếp với nhau thông qua giao thức định tuyến trọng các tầng mạng ngang hàng Mỗi điểm nút giữ 1 đối tượng dữ liệu nào đó có thể là nhạc, ảnh, tài liệu, vv Mỗi điểm nút có thể truy vấn tới đối tượng nó cần từ các điểm nút khác thông qua kết nối logic trong tầng mạng ngang hàng
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
Rất nhiều các mạng P2P được gọi là overlay networks vì nó được xây dựng và hoạt động trên nền của Internet VD: Gnutella, Freenet, DHTs …
Dial-up Internet
cũng là một overlay network trên nền telephone network.
1.3. So sánh mô hình P2P với mô hình Client/Server:
Trang 6P2P Client/Server
- Một mạng ngang hàng cho phép các
node (PCs) đóng góp, chia sẻ nguồn tài
nguyên với nhau Tài nguyên riêng 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 nào
trong mạng
- Dữ liệu được lưu trữ ở một Server trung tâm, tốc độ cao (Tốc độ truy cập thường lớn hơn so với mạng P2P)
- Khi một máy client yêu cầu lấy thông tin về thời gian nó sẽ phải gửi một yêu cầu theo một tiêu chuẩn do server định
1.4
Ưu, nhược điểm của mạng P2P, Client/Server:
P2P Client/Server
+ Ưu điểm:
- Không cần server riêng, các client
chia sẻ tài nguyên Khi mạng càng
được mở rộng thì khả năng hoạt
Trang 7- Cần server riêng (nghẽn cổ chai).
- Đắt
Trang 8Hình 1.2 Tổng quan đặc tính mạng P2P và mạng Client-Server
1.5 Phân loại mạng ngang hàng
Hai tiêu chí cơ bản để phân loại mạng ngang hàng:
Theo mục đích sử dụng:
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)
Tiêu chí này thường được các nhà phát triển ứng dụng quan tâm Theo đó các ứng dụng với đặc điểm riêng sẽ được phân loại và áp dụng theo những mô hình sẵn
có, chuyên biệt
− Theo topo của mạng ở tầng vật lý và mạng phủ
Đây là tiêu chí được phát triển qua từng thời kỳ và được xem xét nghiên cứu
để tìm ra những giải pháp tốt nhất, xây dựng nền tảng vững chắc cho các ứng dụng sau này
1.5.1 Hệ thống ngang hàng lai (Hybrid Peer to Peer System)
Đâ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 - đặc điểm của mô hình khách chủ, chính vì vậy nó còn được gọi là mạng ngang hàng lai hay mạng tập trung (centralized Peer-to-Peer networks) Cấu trúc Overlay của mạng ngang hàng lai có thể được mô tả như một mạng hình sao
Nguyên tắc hoạt động:
Mỗi client lưu trữ files định chia sẻ với các nút 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…)
Trang 9 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
Hình 1.3 Mô hình mạng lai ngang hang(Hibrid P2P)
Trang 10\Hình 1.3 Mô hình mạng Hibrid P2P cụ thể
Cần quản trị (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
Trang 11niệ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
1.5.2. Mạng ngang hàng thuần túy (Pure Peer-to-peer System)
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 nút 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 0.4, FreeNet
Hình1 4 Mạng ngang hàng thuần túy (Gnutella 0.4, FreeNet)
Trang 12Ưu điểm:
Dễ xây dựng
Đảm bảo tính phân tán hoàn toàn cho các nút tham gia mạng, các nút 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
1.5.3 Kiến trúc siêu ngang hàng (Super-peer Architecture)
Để 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 siêu ngang hàng Đâ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
Trang 13Hình 1.5 Kiến trúc siêu ngang hàng(Gnutella 0.6, JXTA)
Mỗi Supper-peer chứa một danh sách các file được cung cấp bởi các Client-peer 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 Client-peer 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 Super-peers)
Trang 14 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 Super-peer sẽ chịu tải chính, các nút khác chịu tải nhẹ
Nhược điểm:
Mỗi điểm Super-peer trở thành điểm gây lỗi cho nhóm siêu ngang hàng tương ứng trong trường hợp số lượng Client trong nhóm là rất lớn (tuy nhiên, nhược điểm này đã được giải quyết bằng việc cải tiến mạng siêu ngang hàng thông thường, đưa ra khái niệm siêu ngang hàng dư cấp k).1.5.4 Mạng ngang hàng có cấu trúc (Structured)
Hệ thống mạng ngang hàng không cấu trúc thể hiện 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 ngang hà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
Mạng ngang hà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 (Distributed Hash Table - Bảng Băm Phân Tán)
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 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ả
Trang 15Nguyên tắc hoạt động:
Topo mạng được kiểm soát chặt chẽ
Files (hoặc con trỏ trỏ tới files) đượ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 (mapping) giữa nội dung (ví dụ: id của file) và vị trí 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)
Hình 1 6 Cơ chế của bảng băm phân tán (DHT)
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 (như trong hình vẽ mô tả): Chord, Pastry…, và cấu trúc không gian đa chiều: CAN, Viceroy
Trang 16 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 nút 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.6 Tìm thong tin quảng bá qua mạng P2P
1 Peer có thể có được 1 bản tin quảng bá bằng 1 trong 3 cách
Không có tin discovery
Discovery trực tiếp
Discovery gián tiếp
Hình 1.7.Peer discovery thong qua catched quảng bá
Trang 17Hình 1.8.Discover trực tiếp
Hình 1.9 Discovery gián tiếp
Trang 18Chương 2 : Định tuyến trong các hệ thống P2P thế hệ mới
- Trong hoạt động định tuyến , người ta chia làm hai loại là định tuyến trực tiếp và định
tuyến gián tiếp Định tuyến trực tiếp là định tuyến giữa hai máy tính nối với nhau vào một mạng vật lý Định tuyến gián tiếp là định tuyến giữa hai máy tính ở xa các mạng vật
lý khác nhau nên chúng phải thực hiện thông qua cac Gateway
- Để kiểm tra xem máy đích có năm trên cùng một mạng vật lý với máy nguồn hay không thì người gửi phải tách lấy địa chỉ mạng của máy đích trong phần tiêu đề của gói
dữ liệu và so sánh với phần địa chỉ mạng trong phần địa chỉ IP của nó Nêu trùng thì gói tin sẽ được truyền trực tiếp nếu không cần phải xác định Gateway để truyền các gói này thông qua nó để ra mạng ngoài thích hợp
2.1.3 Định tuyến tĩnh và định tuyến động
- Định tuyến là quá trình mà router thực hiện để chuyển gói dữ liệu tới mạng đích Tất cả các router dọc theo đường đi đều dựa vào địa chỉ IP đích của gói dữ liệu để chuyển gói theo đúng hướng đến đích cuối cùng Để thực hiện được điều này, router phải học thông tin về đường đi tới các mạng khác Nếu router chạy định tuyến động thì router tự động học những thông tin này từ các router khác Còn nếu router chạy định tuyến tĩnh thì người quản trị mạng phải cấu hình các thông tin đến các mạng khác cho router
Trang 19- Đối với định tuyến tĩnh ,các thông tin về đường đi phải do người quản trị mạng nhập cho router Khi cấu trúc mạng có bất kỳ thay đổi nào thì chính người quản trị mạng phải xoá hoặc thêm các thông tin về đường đi cho router Những loại đường đi như vậy gọi là đường đi cố địn Đối với hệ thống mạng lớn thì công việc bảo trì mạng định tuyến cho router như trên tốn rất nhiều thời gian Còn đối với hệ thống mạng nhỏ ,ít có thay đổi thì công việc này đỡ mất công hơn Chính vì định tuyến tĩnh đòi hỏi người quản trị mạng phải cấu hình mọi thông tin về đường đi cho router nên nó không có được tính linh hoạt như định tuyến động Trong những hệ thống mạng lớn , định tuyến tĩnh thường được sử dụng kết hợp với giao thức định tuyến động cho một mục đích đặc biệt.
2.2 Định tuyến trong mạng ngang hang P2P
2.2.1 Tổng quan
Các hệ thống chia sẻ dữ liệu peer-to-peer (P2P) hiện là một trong những ứng dụng Internet phổ biến nhất và đang trở thành nguồn lưu lượng Internet chính Do vậy, việc mở rộng quy mô cho các hệ thống này là cực kỳ quan trọng Tuy nhiên, các thiết kế ban đầu cho các hệ thống P2P không phù hợp với các mạng có quy mô lớn, ví dụ như Napster và Gnutella Nhằm đáp ứng các vấn đề mở rộng quy mô, thế hệ mới các hệ thống P2P hỗ trợ tính năng bảng hàm băm phân tán (DHT), trong số đó là Tapestry, Pastry, Chord và CAN (Content-Addressable Networks) Trong các hệ thống này (còn gọi là các hệ thống DHT), các file được ràng buộc với các khoá (key)
Hầu như các thuật toán hiện tại ứng dụng trong mạng ngang hàng thế hệ mới (mạng có cấu trúc) đều định tuyến dựa trên key Nó nhận một key, và để hồi đáp, chúng định tuyến một bản tin tới node có trách nhiệm với key ấy Các key là các chuỗi số có một độ dài nào đấy Cácnode là các bộ nhận dạng, lấy từ cùng không gian với các key (có nghĩa là cùng số lượngdigits) Mỗi node lưu giữ một bảng định tuyến bao gồm một tập nhỏ các node trong hệ thống.Các thuật toán định tuyến đều cố gắng định tuyến tới node
có key phù hợp và qua ít số hop nhất Dưới đây là một số thuật toán định tuyến hiện tại: