3 PHÂN TÍCH HOẠT ĐỘNG CỦA MSCTP VÀ GIẢI THUẬT CHORD
3.2 PHÂN TÍCH CHORD
Sự thành công và phù hợp của DHT CHORD khi hoạt động như 1 bộ quản lý định vị phụ thuộc vào khả năng định vị địa chỉ IP của MN hiệu quả tới đâu, và khả năng trả lời nhanh các truy vấn của CN. Bên cạnh các đặc tính này, nó cũng cần tự tổ chức lại trong các điều kiên mạng xấu nhất để hoạt động của nó không bị ảnh hưởng vởi các điều kiên tự nhiên bất định, như mất gói, tốc độ di chuyển cao, BER …vvv của các mạng vô tuyến. Các kiểm tra đa dạng được thực hiện để phân tích DHT CHORD và sự phù hợp của nó như 1 bộ quản lý định vị trong phiên này.
3.2.1 OVERLAY WEAVER
Overlay Weaver được sử dụng để phân tích hoạt động của CHORD, là 1 bộ công cụ xây dựng Overlay có các đặc điểm sau:
Hỗ trợ lớp ứng dụng Multicast và DHT sử dụng Muticast Shell và DHT Shell.
Hỗ trợ các cơ chế đa tìm kiếm giống như CHORD, Can, Pastry, và Kademlia…
36
DHT Có thể truy cập thông qua giao thức dựa trên XML- RPC.
Cung cấp giao diện đồ họa.
DHT shell là 1 bộ biên dịch ngôn ngữ lệnh được phân lớp, được sử dụng để điều khuyển DHT và các giải thuật của nó. Nó có thể gọi 1 hoặc nhiều nút trong mạng Overlay được cấu trúc, sử dụng nhiều trường hợp của DHT Shell. Mỗi trường hợp của DHT Shell hoạt động như 1 nút trong mạng Overlay (Overlay Weaver). Các lệnh sau được sử dụng trong suốt quá trình phân tích.
owdhtshell -s bắt đầu 1 DHT shell với bất cứ địa chỉ IP mong muốn
Init <IP> <Port> Kết nối tới bất kì nút địa chỉ IP nào trong mạng Overlay
Halt/ Stop Ngừng 1 nút trong mạng Overlay khi được yêu cầu
Put<key> <value> Đặt 1 cặp ( khóa-giá trị) vào 1 nút
Get<key> lấy giá trị từ khóa tương ứng
Status
Nó có thể kiểm tra bảng định tuyến, các nút Succ và Predec, đường định tuyến đi cùng bao gồm thời gian 1 quá trình truy vấn và số bảng tin trao đổi trong suốt quá trình truy vấn đó.
bảng 3.1 Các lệnh của DHT Shell trong mạng Overlay
MÔ HÌNH MÔ PHỎNG
Để mô phỏng 1 mạng Overlay kích thước lớn trong 1 môi trường nhỏ gần giống, các trường hợp khác nhau của DHT shell được xem xét khi mô phỏng 1 mạng có kích thước tăng dần từ 50 nút lên 400 nút trên 1 server. chương trình mô phỏng Overlay Weaver và công cụ xây dựng Apache Ant được dùng.
Số nút 50-400
Thuật toán tìm kiếm CHORD
Loại tìm kiếm Iterative
Giao thức lớp truyền UDP
cặp ( khóa-giá trị)
IP1: 1 giá trị IP2: 1 giá trị IP3: 1 giá trị IP4: 1 giá trị
37 Mỗi nút trong mạng overlay được chia 1 số cổng khác nhau, để phân biệt nó với những nút khác đang chạy trên cùng 1 máy. Ban đầu, hệ thống có 50 nút DHT Shell, sau đó tăng đều mỗi lần 50 nút cho đến khi đạt được 400 nút. Hình 3.4 cho thấy mạng overlay có tới 400 nút. Những đường màu đen cho thấy sự trao đổi bảng tin giữa các nút trong vòng tròn overlay. UDP được sử dụng như 1 giao thức truyền vận, và kiểu tìm kiếm lập đi lập lại sử dụng để thực hiện truy vấn giữa những nút CHORD. SHA-1 được sử dụng như 1 thuật toán băm để tạo ra các địa chỉ ID nút và ID nguồn 160 bit. Thuật toán CHORD được cung cấp trong DHT Shell có khả năng hỗ trợ nhiều giá trị cho 1 khóa đơn.
3.2.2 MÔ PHỎNG
3 mô phỏng được thực hiện để phân tích Hoạt động của CHORD như là 1 bộ quản lý định vị thông qua trể tìm kiếm, thành công của tìm kiếm giá trị khi các nút vào hoặc rời khỏi mạng. Trể tìm kiếm và lấy kết quả khi nút tham gia mạng được xác định chung.
Ban đầu, 1 mạng overlay gồm 50 nút DHT được tạo ra và 1 cặp (khóa-giá trị) được thêm
vào mạng bằng các lệnh Put < Khóa> < giá trị>. 1 nút khác được chọn ngẫu nhiên để lấy giá trị sử dụng lệnh Get <khóa>. Sau đó lần lượt tăng số giá trị liên kết với 1 khóa, từ 1 lên 4, rồi theo dõi kết quả. 5 quan sát được thực hiện trong mỗi trường hợp để lấy già trị trung bình của trể tìm kiếm. Sau đó, số nút được tăng lên, trể tìm kiếm được xác định trong mỗi trường hợp cho đến khi có 400 nút.
38 Trong khi đó, tỉ lệ thành công cũng được xác định bằng cách thực hiện 25 truy vấn cho 1 cặp ( khóa- giá trị) trong những nút ngẫu nhiên. 4 lần kiểm tra được thực hiện bằng cách thay đổi số giá trị liên kết với 1 khóa. Các nút được chọn ngẫu nhiên để chèn thêm cặp giá trị sử dụng lệnh Put < khóa> < giá trị > và nhận các giá trị yêu cầu sử dụng lệnh
Get < khóa>. Số truy vấn được trả lời thành công xác định thành công của quá trình tìm giá trị. Đối với các nút rời khỏi mạng, tỉ lệ giá trị tìm thấy được xác định bằng cách giảm số nút trong mạng từ 400 về 100 trong những thời điểm bất kì. Truy vấn được thực hiện trong những trường hợp ngẫu nhiên tại những nút ngẫu nhiên trong mỗi bước. Kết quả nhận được được biểu diễn bên dưới:
3.2.3 PHÂN TÍCH KẾT QUẢ
Trể tìm kiếm và tỉ lệ thành công của các truy vấn thành công, khi các nút tham gia hoặc rời khỏi mạng, được sử dụng để phân tích hoạt động của CHORD và kiểm tra sự phù hợp của nó như là 1 bộ quản lý định vị. Kết quả nhận được được giải thích bên dưới:
TRỂ TÌM KIẾM
Khởi tạo phiên giữa CN và MN phụ thuộc rất nhiều vào thời gian CN định vị địa chỉ IP của MN. Khả năng mở rộng của CHORD được phân tích bằng cách phân tích trể tìm kiếm của nó trong khi tăng số nút trong mạng có sẵn. Kết quả trong hình 3.5 cho thấy rằng, khi tăng số lượng nút trong mạng, thời gian thực hiện truy vấn cũng tăng. Bên cạnh tăng số nút, số bảng tin truy vấn trong suốt quá trình truy vấn có thể cũng gây ra trể tìm kiếm nhỏ[12].
39
Hình 3.6: Trể tìm kiếm CHORD khi tìm 2 giá trị
Tuy nhiên, số bảng tin được cần thiết để thực hiện 1 truy vấn khác nhau đối với mỗi nút, không phụ thuộc vào số giá trị liên kết với 1 khóa. Sự thay đổi này trong chiều dài đường dẫn cũng ảnh hưởng tới tổng thời gian tiêu tốn trong quá trình truy vấn tại mỗi trường hợp. Tuy nhiên, tổng thể sự tăng số nút không gây ảnh hưởng lớn tới trể tìm kiếm
CHORD, CHORD vẫn có thể định vị 1 cặp (khóa- giá trị) 1 cách hiệu quả với những nút
tham gia vào mạng liên tục.
NÚT THAM GIA VÀO MẠNG
40 Sự phù hợp và thành công của CHORD phụ thuộc vào khả năng thành công của nó khi lấy địa chỉ IP của MN. Lấy kết được định nghĩa là tỉ lệ truy vấn thành công trên tổng truy vấn. Trong quá trình phân tích, số nút được tăng đều trong mạng overlay, và thực hiện truy vấn ngẫu nhiên trong mỗi trường hợp .
Hình 3.7 cho thấy rằng khi tăng số nút trong mạng, số truy vấn hiệu quả bị giảm xuống, tuy nhiên, tỉ lệ truy vấn thành công trong hầu hết các trường hợp đều nhiều hơn 96%, trung bình là 99.3%. Thất bại định tuyến và số giá trị liên kết với 1 khóa cũng có thể làm tỉ lệ truy vấn thành công giảm nhẹ không đáng kể. Hình dưới cho thấy sự gia tăng tổng số nút không ảnh hưởng lớn tới sự hoạt động của CHORD, với tỉ lệ thành công hơn 96% trong tất cả các trường hợp. Điều này cho thấy CHORD có thể nhận được cặp (
khóa- giá trị) tốt trong khi mạng tiếp tục mở rộng.
NÚT RỜI KHỎI MẠNG
Các nút tham gia trong mạng vô tuyến có thể rời khỏi mạng hoặc mất kết nối tạm thời. Vì thế, phân tích hoạt động của CHORD khi các nút trong mạng overlay bị lỗi hoặc rời mạng đột ngột rất cần thiết. Đầu tiên 1 mạng overlay gồm 400 nút được tạo sẵn, 1 cặp (khóa- giá trị) được lưu vào mạng, rồi giảm dần mỗi lần 50 nút, tiến hành truy vấn cặp (khóa- giá trị) để tìm tỉ lệ truy vấn thành công.
Hình 3.8 . Tỉ lệ truy vấn thành công khi giảm từ 400 nút xuống 100 nút
Hình 3.8 cho thấy hoạt động của CHORD ít bị ảnh hưởng khi nút rời khỏi mạng, tỉ lệ của truy vấn thành công trung bình là 96.4%, trên 90% trong gần như tất cả trường hợp. Mặc dù giảm số nút từ 400 về 100, CHORD vẫn có thể truy vấn thành công cặp (
41
khóa- giá trị) mong muốn, tuy nhiên, thời gian trong mỗi lần truy vấn tăng mạnh khi càng giảm số nút trong mạng overlay, có thể do thất bại định tuyến.
Số giá trị liên kết với mỗi khóa, cũng cho thấy 1 số ảnh hưởng khi truy vấn cặp (
khóa- giá trị). Tổng thể, giảm số nút không ảnh hưởng lớn tới hoạt động của CHORD, vì tỉ lệ truy vấn thành công vẫn ở mức hơn 90% trong hầu hết các trường hợp dù mạng giảm xuống dưới 50% kích thước.
NÚT TRONG PLANET LAB
Những mô phỏng trên được thực hiện trong môi trường được kiểm soát với số nút giới hạn và không có bất cứ lưu lượng mạng nào truyền theo những truy vấn. Trong phần này, 1 số kiểm tra được thực hiện để kiểm tra trể tìm kiếm và tốc độ thành công trên những nút trong mạng planet lab. Planet lab là 1 công cụ, có thể được sử dụng để nghiên cứu những vấn đề trong mạng Internet. Nó bao gồm nhiều nút trên khắp thế giới và chạy trên đường định tuyến thông thường, làm cho nó đặc biệt và thực tế hơn so với mô phỏng.
42 Overlay Weaver với khả năng kết nối mạng được dùng trong hệ thống planet lab, tạo 1 mạng overlay có tất cả các nút tham gia trong hệ thống planet lab. 1 nút bất kì được chọn và được gán 1 cặp (khóa-giá trị). Sau đó, các truy vấn được thực hiện tại những nút bất kì từ bản định tuyến của những nút được chọn và theo dõi thời gian thực hiện truy vấn, và tỉ lệ thành công của những truy vấn này. Kết quả thực tế như sau:
Số truy vấn Số (khóa- GT) Trể min (ms) Trể max (ms) Trể trung bình (ms) % thành công 56 1 66 62642 7890 85.70% 64 1 90 64598 4560 92.20% 70 2 156 48180 2705 97.10% 3.2.4 KẾT LUẬN
Trong chương này, SCTP và thuật toán CHORD được phân tích khả năng hỗ trợ di động. Phần 3.1 trình bày trể handover của 1 quá trình handover dùng SCTP. SCTP sử dụng tính Multihoming để cấu Hình địa chỉ IP nhận được và gởi kèm các khối cấu Hình DAR với các khối dữ liệu để giảm trể handover. Những tính chất này của SCTP cũng giúp nó giảm tỉ lệ rớt trong suốt quá trình handover, và không ảnh hưởng nghiêm trọng tới thông lượng trong suốt phiên diễn ra, vì thế SCTP là 1 ứng viên lí tưởng cho các handover dọc.
Phân tích thuật toán CHORD trong phần 3.2 cho thấy trể tìm kiếm tăng khi tăng số nút. Số nút trong mạng tăng, làm cho độ dài đường đi tăng, khoản 0( log N), làm tăng nhẹ thời gian trể. Tính chất này cung cấp khả năng mở rộng cao và không yêu cầu thay đổi nhiều khi tăng kích thước mạng. Cung cấp 1 giải pháp phù hợp để giảm số bảng tin trong suốt quá trình truy vấn, qua đó giảm trể tìm kiếm. Phân tích những giá trị yêu cầu cho thấy, CHORD có thể tìm kiếm giá trị rất hiệu quả trong mạng không ổn định. Tuy nhiên, những kĩ thuật như dự trữ dữ liệu có thể làm tăng quá trình lấy giá trị. Khả năng tra cứu hiệu quả, tức thì và không cần những phần thêm vào cho thấy CHORD lá 1 ứng viên hiệu quả cho quản lý định vị cùng với mSCTP.
4 CẤU TRÚC DI ĐỘNG PHÂN TÁN
Trong chương 2, SCTP và giải pháp handoff lớp truyền vận của nó, mSCTP cùng với cấu trúc và hoạt động của CHORD đã được phân tích kỹ. Quá trình phân tích cho
43 thấy cả 2 có thể dùng cùng nhau để tạo ra 1 cấu trúc di động phân tán, dựa trên đặc điểm Multihoming của mSCTP và ánh xạ định vị cặp (khóa-giá trị) hiệu quả của CHORD. Trong chương này, 1 cấu trúc mới được đề xuất để làm bộ quản lý định vị của mSCTP. Phần 4.1 sẽ trình bày những yêu cầu cơ bản và hoạt động của DHT CHORD như 1 bộ quản lý định vị. Hoạt động của CHORD cùng với mSCTP được trình bày trong phần 4.2. Phần cuối 4.3 trình bày về những thử thách, những vấn đề mở liên quan tới cấu trúc được đề xuất này.