Trong điều kiện bình thƣờng độ phức tạp tìm kiếm của Tapestry là O(log2b
(N)).
2.1.4.4 Quá trình ổn định mạng
Khi node N join vào mạng đầu tiên nó sẽ tìm kiếm node S (có cùng tiền tố dài nhất p) tồn tại trên mạng. Node S sau đó gửi thơng điệp tới các node có
cùng tiền tố p, các node này sau khi nhận đƣợc thông điệp sẽ chèn N vào trong bảng định tuyến của chúng.
Quá trình khởi tạo bảng định tuyến của N diễn ra nhƣ sau. N tìm kiếm các node với mức định tuyến p, điền các node này vào bảng định tuyến ở mức p cùng với các con trỏ tham chiếu của chúng. Sau đó N giảm p và tiếp tục q trình nhƣ vậy cho đến khi các mức trong bảng định tuyến đƣợc điền đầy.
Khi node N muốn rời khỏi mạng, đầu tiên nó chọn các node để thay thế, mỗi node tƣơng ứng với một mức trong bảng định tuyến. Sau đó node N gửi thông điệp đến tất cả các node tham chiếu đến nó yêu cầu cập nhật các node thay thế vào bảng định tuyến. Sau khi nhận đƣợc reply từ các node này, N rời khỏi mạng và q trình hồn tất. [12]
KẾT LUẬN C N 2
hƣơng 2 giới thiệu tổng quan các giao thức HT phổ biến hiện nay đó là hord, Kademlia, Kelips và Tapestry. Ta nghiên cứu các giao thức HT trên một số khía cạnh: cấu trúc Overlay của mỗi HT, quá trình ánh xạ dữ liệu tới các node, quá trình tìm kiếm và chèn dữ liệu trên mạng, quá trình các node gia nhập, rời mạng và quá trình ổn định mạng.
Phân tích các giao thức HT cho ta thấy các đặc tính hoạt động của nó nhƣ: độ phức tạp xử lí tính tốn, u cầu về băng thông sử dụng mỗi node, các tham số của hệ thống… Từ đó chúng ta có cái nhìn tổng quan về cơ chế hoạt động của mỗi HT, làm cơ sở lí luận cho việc nghiên cứu, đánh giá hiệu năng của các HT trong các chƣơng tiếp theo.
C N 3 MÔ P ỎN , ÁN Á AO T ỨC PHÂN TÁN 3.1 P N P ÁP N ÊN CỨU M NG NGANG HÀNG
ác phƣơng pháp sau thƣờng dùng để thử nghiệm đánh giá những kết quả nghiên cứu trên mạng P2P, tùy vào từng điều kiện mà sử dụng đúng phƣơng pháp sẽ cho ra kết quả tốt nhất. [6]
3.1.1 P ơn p p p ân t
Theo một quy luật, các node trong mạng đƣợc phân bố một cách có tổ chức. ăn cứ vào các phép biến đổi tốn học, các định lý, tính chất để phân tích mạng. Phƣơng pháp này thu đƣợc độ chính xác rất cao khi thực hiện đánh giá các tham số của mạng. Nhƣng phƣơng pháp này chỉ thích hợp với mơ hình có topo mạng đơn giản, tn theo quy luật nhất định.
Trong thực tế, mơ hình mạng rất đa dạng, phức tạp, các node trong mạng sắp xếp không theo một quy luật nào (ngẫu nhiên) và số node mạng thƣờng rất lớn. Phƣơng pháp phân tích khơng thể đƣa ra kết quả chính xác vì có rất nhiều tham số phức tạp của mạng bị bỏ qua. Phƣơng pháp phân tích áp dụng phân tích thành cơng cao nhất trong giao thức BitTorrent khi các node kết nối bị lỗi.
3.1.2 P ơn p p t ử nghiệm
Là một giải pháp thực hiện việc chạy thử nghiệm ngay trên hệ thống mạng thực tế. Nhƣng hệ thống mạng P2P thực tế có rất nhiều node, một thử nghiệm sai lệch trên một vài node nhỏ trong mạng có thể gây ảnh hƣởng cực kì nghiêm trọng đến các thành phần khác của mạng.
Khi đƣa những thay đổi vào mạng nhƣ thay đổi giao thức hay topo của mạng thì rất khó khăn và thời gian thử nghiệm sẽ rất lớn. Vì vậy phƣơng pháp này cũng chỉ đƣợc thực hiện tại các cơ quan, tổ chức chuyên về thiết kế mạng khi cần những kết quả đánh giá một mạng mới. [3]
3.1.3 P ơn p p mô p ỏng
ùng các công cụ đƣợc tạo sẵn, đây là phƣơng pháp có thể giải quyết đƣợc khó khăn của phƣơng pháp thử nghiệm, vì nó khơng cần dùng một mạng thật. Tuy vậy phƣơng pháp mô phỏng tồn tại những hạn chế nhất định, do đó nên kết hợp với các phƣơng pháp phân tích và mô phỏng, thử nghiệm trên mạng đƣợc mô phỏng để mang lại kết quả tốt nhất. [3]
3.2 CÔNG CỤ MÔ PHỎNG M NG NGANG HÀNG
ộ mô phỏng mạng là cách thay thế tốt nhất hiện tại, có thể thử nghiệm trên một mạng ảo giống nhƣ thực tế để áp dụng các nghiên cứu mới trƣớc khi áp dụng vào thực tế mà không cần một mạng thật để phải chịu rủi ro lớn.
ó hai loại mơ phỏng: packet-based và flow-based. Packet-based quan tâm tới mô phỏng dữ liệu dạng gói ví dụ nhƣ NS-2. ác bộ mơ phỏng khác thƣờng là flow-based, hoạt động tại lớp ứng dụng. Một số bộ mô phỏng flow- based nhƣ GPS có thể mơ phỏng độ trễ các gói đem lại kết quả chính xác, thực tế hơn. Thông thƣờng Packet-based mô phỏng với thời gian lâu hơn flow-based bởi vì nó phải tính tốn mơ phỏng với từng gói sinh ra trên mạng. ác input của bộ mô phỏng thƣờng là topo mạng, băng thông, lƣu lƣợng, độ trễ… đối với mỗi node và link trên mạng. [1]
ó nhiều vấn đề về chƣơng trình khi thiết kế, phát triển các phần mềm mơ phỏng hệ thống P2P nhƣ: debug khó khăn do sự phức tạp của các HT, chƣơng trình làm việc với các topo mạng khác nhau, khó xử lí khi mơ phỏng trên nhiều máy phân tán, môi trƣờng mạng không ổn định, thời gian mơ phỏng có thể rất lớn…
Sau đây là các giới thiệu sơ lƣợc các bộ mô phỏng hệ thống mạng P2P thông dụng hiện nay bao gồm NS-2, NAM, OMNet++, OverSim và P2PSim.
3.2.1 NS-2
NS-2 hỗ trợ giao thức T P, các giao thức định tuyến và multicast trên mạng có dây và khơng dây. NS-2 sử dụng ++ và OT L (phiên bản hƣớng đối tƣợng của T L). NS-2 là bộ mô phỏng Packet-based mô tả các sự kiện mức gói, q trình mơ phỏng đƣợc viết từ một T L script, script này định nghĩa các node, các đặc tính của đƣờng truyền, giao thức sử dụng…
NS-2 khơng có các cơng cụ mơ phỏng trực quan, vì vậy NAM đƣợc tạo ra để hỗ trợ NS-2. NAM đƣợc phát triển trên nền T L/TK là một bộ mơ phỏng mức gói, NAM cho phép ngƣời dùng thiết kế và debug các giao thức thông qua graph.
NS-2 là một bộ công cụ phức tạp, nó có thể mơ phỏng hầu hết các mơ hình lớp mạng giống nhƣ thực tế. ác giao thức P2P cài đặt trong NS-2 có thể tùy biến ví dụ nhƣ Gnutella, itTorrent. NS-2 sử dụng GT-ITM để khởi tạo topo liên mạng. ể tƣơng thích trong mơi trƣờng Java, NS-2 cần chạy cùng các phần mềm khác. Khả năng mở rộng của NS-2 khơng thể xác định chính xác.
Hình 3-1 dƣới đây minh họa chƣơng trình mơ phỏng NS-2 với giao diện NAM GUI. [1]