CẤU TRÚC DI ĐỘNG PHI TẬP TRUNG DỰA TRÊN GIAO THỨC MSCTP Ngày nay, địa chỉ IP là 1 đặc điểm quan trọng trong kiến trúc mạng Internet. Tuy nhiên, thiết kế cơ bản của ngăn xếp giao thức Internet dựa trên kiến trúc cũ, khi Internetchỉ là mạng cố định. Cách đặt địa chỉ cố định này không có bất cứ nhược điểm nào cho đến khi các thiết bị di động xuất hiện. 1 nút di động (MN) đang trong 1 phiên kết nối nếu thay đổi điểm kết nối (POA) sẽ thay đổi địa chỉ IP, dẫn đến chấm dứt kết nối lập tức.
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN-ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ- VIỄN THÔNG
CẤU TRÚC DI ĐỘNG PHI TẬP TRUNG DỰA TRÊN
GIAO THỨC MSCTP
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Nghành: Điện Tử- Viễn Thông
Cán bộ hướng dẫn: Ts Nguyễn Minh Hoàng
Sinh viên thực hiện : Trần Công Khanh
Trang 2MỤC LỤC
1 GIỚI THIỆU 9
1.1 GIỚI THIỆU 9
1.2 ĐẶT VẤN ĐỀ VÀ CÔNG VIỆC THỰC HIỆN 10
2 LÝ THUYẾT CƠ BẢN 12
2.1 STREAM CONTROL TRANSMISSION PROTOCOL (SCTP) 12
2.2 QUÁ TRÌNH PHÁT TRIỂN 13
2.3 CẤU TRÚC SCTP 13
2.4 ĐẶC ĐIỂM SCTP 14
2.4.1 MULTISTREAMING 16
2.4.2 THIẾT LẬP KẾT NỐI 16
2.5 MOBILE SCTP 17
2.5.1 CẤU HÌNH LẠI ĐỊA CHỈ ĐỘNG (DAR) 18
2.5.2 THỦ TỤC HANDOVER SỬ DỤNG mSCTP 20
2.5.3 HẠN CHẾ CỦA mSCTP 21
2.5.4 HANDOVER ĐỘC LẬP ĐA PHƯƠNG (MIH) 22
2.6 NHỮNG HỆ THỐNG PEER TO PEER 23
2.6.1 HỆ THỐNG P2P THẾ HỆ THỨ 1 23
2.6.2 HỆ THỐNG P2P THẾ HỆ THỨ 2 ( DHT) 24
2.7 GIẢI THUẬT CHORD 24
2.7.1 THÀNH PHẦN 25
2.7.2 ÁNH XẠ KHÓA VÀO NÚT 26
2.7.3 CHÈN CẶP (KHÓA – GIÁ TRỊ) 27
2.7.4 ĐẶT NÚT 27
2.8 ỨNG DỤNG QUẢN LÝ VỊ TRÍ CƠ BẢN 29
Trang 33 PHÂN TÍCH HOẠT ĐỘNG CỦA MSCTP VÀ GIẢI THUẬT CHORD 30
3.1 TRỂ HANDOVER CỦA MSCTP 30
3.1.1 MÔ PHỎNG BẰNG NS2 32
3.1.2 HIỆU SUẤT HOẠT ĐỘNG 34
3.2 PHÂN TÍCH CHORD 35
3.2.1 OVERLAY WEAVER 35
3.2.2 MÔ PHỎNG 37
3.2.3 PHÂN TÍCH KẾT QUẢ 38
3.2.4 KẾT LUẬN 42
4 CẤU TRÚC DI ĐỘNG PHÂN TÁN 42
4.1 ỨNG DỤNG GIẢI THUẬT DHT CHORD NHƯ BỘ QUẢN LÝ ĐỊNH VỊ 43
4.1.1 XÁC ĐỊNH ĐỊA CHỈ 43
4.1.2 CÁC THAM SỐ GIÁ TRỊ 44
4.1.3 THÀNH PHẦN MẠNG 44
4.1.4 ĐỊNH VỊ NÚT 45
4.1.5 NÚT RỜI KHỎI MẠNG 47
4.1.6 TÌM KIẾM VỊ TRÍ 48
4.1.7 CẬP NHẬT VỊ TRÍ 49
4.2 QUÁ TRÌNH HANDOVER 50
4.2.1 THIẾT LẬP KẾT NỐI 50
4.2.2 TRUYỀN DỮ LIỆU VÀ HANDOVER 51
4.2.3 XỬ LÝ ƯU TIÊN 51
4.3 NHỮNG THỬ THÁCH VÀ VẤN ĐỀ MỞ 52
5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 53
5.1 KẾT LUẬN 54
Trang 45.2 CÔNG VIỆC TIẾP THEO 55
6 TÀI LIỆU THAM KHẢO 56
Trang 5GHI CHÚ
Hình 2.1 Tiêu đề SCTP thông thường và Khối dữ liệu 14
bảng 2.1 So sánh tính chất giao thức SCTP, TCP, UDP 15
Hình 2.3 đặc tính Multistreaming của SCTP 16
Hình 2.4 Thiết lập kết nối SCTP 17
Hình 2.5 thông số ASCONF: Thêm-IP 18
Hình 2.6 Khối dữ liệu ASCONF 19
Hình 2.7 Khối dữ liệu ASCONF-ACK 19
Hình 2.8 mô hình handover sử dụng mSCTP 20
Hình 2.9 Bảng định tuyến CHORD của nút N0 25
Hình 2.10 quá trình thu hồi giá trị của nút X truy vấn N7 về K27 26
Hình 2.11 N16 đăng nhập và cập nhật bảng định tuyến của N30, N0, N7, N8, N12 28
Hình 2.12 Ứng dụng phân lớp quản lý định vị cơ bản 30
Hình 3.1 Mô Hình mô phỏng SCTP 32
Hình 3.2 Số gói truyền trong 60s ( tại giây 30 thực hiện handover) 34
bảng 3.1 Các lệnh của DHT Shell trong mạng Overlay 36
Hình 3.3 Mạng overlay 400 nút 37
Hình 3.6: Trể tìm kiếm CHORD khi tìm 2 giá trị 39
Hình 3.7 Tỉ lệ truy vấn thành công khi tăng đều số nút từ 50 lên 400 nút 39
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 40
Hình 3.7 Truy vấn giá trị trong mạng Planet lab sử dụng CHORD 41
Hình 4.1 Trường UID và trường giá trị mang nhiều thông số khác nhau 44
Trang 6Hình 4.2 Các nút CHORD trong mạng Overlay 45
Hình 4.3 Các nút CHORD cùng mạng được xắp gần nhau trong mạng Overlay 46
Hình 4.4 N7 rời khỏi mạng, N8 gởi các con trỏ tới các Suc của nó thông báo UID0 48
Hình 4.5 Quá trình truy vấn dùng con trỏ 48
Hình 4.6 Quá trình cập nhật định vị cho MN 49
Hình 4.7 Xử lý ưu tiên khi MN ở trong vùng chồng lấp 52
Trang 7TỪ VIẾT TẮT
CN Correspondent Node
DAR Dynamic Address Reconfiguration
DOS Denial Of System
HOL Head Of Line Blocking
PSTN Public Switched Telephone Network
SCTP Stream Control Transmission Protocol
Trang 8MỞ ĐẦU
Ngày nay, địa chỉ IP là 1 đặc điểm quan trọng trong kiến trúc mạng Internet Tuy nhiên, thiết kế cơ bản của ngăn xếp giao thức Internet dựa trên kiến trúc cũ, khi Internet chỉ là mạng cố định Cách đặt địa chỉ cố định này không có bất cứ nhược điểm nào cho
đến khi các thiết bị di động xuất hiện 1 nút di động (MN) đang trong 1 phiên kết nối nếu thay đổi điểm kết nối (POA) sẽ thay đổi địa chỉ IP, dẫn đến chấm dứt kết nối lập tức
Nhiều kĩ thuật khác nhau được ứng dụng để hổ trợ tính di động sử dụng ngăn xếp giao thức Internet như: MIP hỗ trợ tính di động tại lớp ứng mạng, mSCTP hỗ trợ tại lớp truyền vận và SIP hỗ trợ tại lớp ứng dụng Kĩ thuật nào phù hợp cho tính di động vẫn là 1 câu hỏi mở
Giao thức truyền điều khuyển dòng (SCTP) ứng dụng đặc điểm Multihoming kết
hợp với phần cấu hình lại địa chỉ động (DAR) tạo thành mSCTP có thể cung cấp 1 giải pháp handover liên tục với tính bảo mật cao và không mất gói Tuy nhiên, mSCTP yêu cầu quản lý định vị để cung cấp 1 giải pháp handover hoàn thiện và khả thi Quản lí định
vị trong handover dựa trên IP để cung cấp 1 địa chỉ IP của 1 MN bất kì và yêu cầu này có thể được đáp ứng bằng giải thuật CHORD kết hợp với DHT để cung cấp tên yêu cầu để
ánh xạ địa chỉ IP CHORD là 1 giải thuật tìm kiếm, có thể lấy được cặp (khóa, giá trị)
một cách hiệu quả bằng cách ánh xạ khóa đó vào 1 nút mang giá trị được yêu cầu
Trong luận văn này, 1 cấu trúc di động phi tập trung dùng cho handover dựa trên
IP được đề xuất, ứng dụng không cần bất cứ sự thay công nghệ mang tính cách mạng nào Thuật toán CHORD và quá trình handover của SCTP được phân tích cơ bản để đánh giá hoạt động của cấu trúc di động này Nó sẽ kết hợp đặc điểm Multihoming của SCTP
để cung cấp quản lý handoff và ánh xạ cặp (khóa, giá trị) của DHT CHORD hiệu quả để
cung cấp quản lý định vị cần thiết Thuật toán tìm kiếm hiệu quả, khả năng mở rộng cao, đặt tên linh hoạt, hỗ trợ xác thực và không có lỗi tập trung làm cho DHT CHORD được xem như 1 ứng viên lí tưởng cho quản lí định vị Được hỗ trợ bởi mSCTP với đặc điểm Multihoming và phần mở rộng DAR, CHORD có thể cung cấp thông tin định vị 1 cách hiệu quả và hỗ trợ các quá trình handover liên tục Bên cạnh những ưu điểm về công nghệ, các thiết bị đầu cuối sẽ có nhiều chức năng hơn và linh hoạt hơn nhờ cấu trúc di động này
Em xin chân thành cảm ơn tiến sĩ Nguyễn Minh Hoàng đã tận tình hướng dẫn em thực hiện xong luận văn này Chân thành cảm ơn Waqas Ahmed Imtiaz và Md Jashim Uddin cùng luận văn “An SCTP Based Decentralized Mobility Framework” Master Thesis, Telecommunication Engineering, Thesis No: 4464, May 2010 đã giúp em hoàn tất luận văn này
Trang 91 GIỚI THIỆU
1.1 GIỚI THIỆU
Bộ giao thức Internet với cấu trúc phân lớp đã trở thành 1 công nghệ cần thiết trong cả mạng viễn thông và mạng máy tính Tuy nhiên, thiết kế cơ bản của ngăn xếp giao thức Internet đều dựa trên giả định rằng “tất cả các nút đều có địa chỉ IP không đổi” [20] Khái niệm này không có khó khăn nào cho đến khi có các thiết bị di động Từ đó,
di động IP là 1 trong các vấn đề chính cần được giải quyết cho các dịch vụ IP vô tuyến,
để các thiết bị đầu cuối có thể sử dụng các dịch vụ liên tục tại bất cứ đâu, bất cứ thời gian nào
Để khai thác đầy đủ tiềm năng của công nghệ di động thông dụng, 1 thiết bị di động phải có khả năng chuyển vùng liên tục giữa các mạng khác nhau mà không bị gián đoạn các dịch vụ đang cung cấp hoặc đang nhận 2 yếu tố chính kết hợp đảm bảo di động thông suốt qua các mạng độc lập gồm quản lý định vị và quản lý handover Quản
lý định vị là 1 quá trình cập nhật vị trí của MN, cho phép 1 nút liên quan (CN) theo dõi
vị trí hiện tại của 1 MN, khởi sướng và tạo 1 quá trình liên lạc Quản lý handover là khả năng duy trì các phiên hoạt động khi MN di chuyển giữa các mạng độc lập
Hoạt động di động hiện tại phụ thuộc chủ yếu vào hiệu quả của cơ chế handover
nó dựa vào Mặc dù IP di động (MIP) và những phiên bản phát triển của nó gồm MIPv4
và MIPv6, đã được lên kế hoạch và tiêu chuẩn hóa như các giải pháp di động lớp mạng Tuy nhiên, các cơ chế handover của chúng tạo ra 1 chi phí truyền đường hầm bắt buộc, nghẽn thông lượng truyền và lớp truyền vận Bên cạnh đó, để cung cấp MIP, phải thay đổi cấu trúc các mạng không đồng nhất hiện tại [8] mSCTP là 1 giải pháp khác, sử dụng đặc điểm Multihoming để cung cấp handover liền mạch ở lớp truyền vận Không giống như MIP, nó không phụ thuộc vào các thành phần mạng bổ sung, nên giảm trễ handover, cung cấp quá trình handoff hiệu quả và an toàn Tuy nhiên mSCTP không cung cấp bất
kỳ quản lý định vị nào, do đó nó phải làm việc cùng với 1 số chương trình quản lý định
vị, để cung cấp các thông tin vị trí cần thiết để khai thác đầy đủ tiềm năng handoff của
nó
Địa chỉ IP có thể cung cấp thông tin vị trí liên quan đến bất kỳ thiết bị kết nối Internet Nó có thể trả lời câu hỏi như ai, ở đâu và bất kỳ thiết bị nào trong kiến trúc mạng như thết nào [21] Nhiều hệ thống quản lý định vị dựa trên tên để ánh xạ địa chỉ IP được đề xuất để tăng thêm hiệu quả các quá trình tìm kiếm [10] [22] [23] [24] Tuy nhiên, tất cả đều dựa các server định vị thiết lập sẵn và không linh hoạt Thêm vào đó, 1 nhược điểm khác của những hệ thống này là 1 cơ sở dữ liệu tập trung có thể dẫn đến
Trang 10những vấn đề như sự thất bại của 1 điểm đơn lẻ, sự phụ thuộc vào các thành phần mạng
bổ xung và sự thiếu tin cậy Vì thế, 1 kiến trúc được phi tập trung và phân tán để quản lý định vị dựa trên thuật toán P2P: CHORD được phân tích
Các hệ thống P2P cung cấp 1 danh sách dài các đặc điểm bao gồm định vị dữ liệu hiệu quả, lưu trữ dư thừa, chứng thực, hoạt động tìm kiếm cao, đặt chổ và tìm nội dung phân tán thông qua các bảng băm phân tán và các thuật toán của nó [13] Các thuật toán DHT như CHORD, CAN và TAPESTRY được sử dụng rộng rãi để cung cấp tìm kiếm nội dung ở cấp độ cung cấp và phi tập trung Thuật toán CHORD được chọn vì nó đơn giản và được chấp nhận bởi cộng đồng nghiên cứu CHORD là 1 dịch vụ tra cứu phân tán
hiệu quả dựa trên băm phù hợp, hỗ trợ cho duy nhất 1 hoạt động : được đưa 1 khóa, và nó ánh xạ khóa đó vào 1 nút hiệu quả [12] Tính năng này có thể được sử dụng cung cấp quản lý định vị cần thiết, bằng cách tạo ra 1 cặp (ID-locator) được cài đặt cho mỗi nút tham gia, trong đó khóa biểu diễn ID và locator biểu giá trị trong cặp (khoá- giá trị)
Trong luận văn này, 1 cấu trúc di động được đề xuất cho cấu trúc nối mạng IP và chuyển vùng, không cần bất kỳ sự thay đổi công nghệ và có thể được triển khai dễ dàng
Nó sử dụng mSCTP và CHORD, trong đó mSCTP là 1 giải pháp lớp truyền vận cung cấp quản lý handover cần thiết, và CHORD DHT được sử dụng bởi lớp ứng dụng cung cấp quản lý định vị kết hợp với mSCTP Đặc điểm Multihoming của mSCTP được sử dụng
cùng với ánh xạ cặp (khóa-giá trị) của CHORD để cho phép 1 MN chuyển vùng giữa các
mạng độc lập mà không cần bất kỳ gián đoạn trong các dịch vụ đang sử dụng Phân tích hoạt động của CHORD sử dụng chương trình Overlay Weaver cho thấy, CHORD không
chỉ có thể định vị 1 cặp (khóa-giá trị) hiệu quả, mà cũng có thể thực hiện tra cứu tức thì
với ảnh hưởng rất nhỏ không đáng kể do sự tăng kích thước và không ổn định của mạng CHORD cùng với DHT có thể cung cấp vị trí hiện tại bằng tên truyền thống cho ánh xạ
IP, trong đó khóa biểu diễn cho ID riêng (UID) và giá trị cung cấp địa chỉ IP biểu diễn như giá trị Temporary Locator (TL) Với cơ chế tra cứu hiệu quả và tức thời, CHORD có thể định vị nút cơ bản (BN) đang giữ thông tin địa chỉ IP của MN, và cung cấp nó cho nút
CN đang truy vấn Khi MN được xác định vị trí, CN tạo phiên với quản lý handover được cung cấp bởi mSCTP, sử dụng tính năng Multihoming kết hợp DAR
1.2 ĐẶT VẤN ĐỀ VÀ CÔNG VIỆC THỰC HIỆN
Các giải pháp handover dọc có thể được phân chia theo nhiều cách khác nhau 1 hướng là phân loại các giải pháp handover theo cách chúng xử lí vấn đề, nghĩa là, nhìn từ hướng người dùng hay hướng mạng Các giải pháp định hướng người dùng hoặc điểu khuyển di động có thuận lợi khi điều khuyển toàn bộ cơ chế handover, trong khi đó
Trang 11handover do mạng điều khuyển thường nhanh hơn khi báo hiệu Tuy nhiên, những nghiên cứu gần đây cho thấy rằng kĩ thuật LTE và 4G sẽ không có khả năng hỗ trợ handover do mạng điểu khuyển trong tương lai gần Vì thế, tập trung vào hướng người dùng là rất quan trọng để tìm 1 giải pháp handover liên tục
mSCTP có thể được sử dụng để cung cấp 1 giải pháp handover dọc hiệu quả và nhanh chóng, mà không phụ thuộc vào các thành phần mạng thêm vào Đặc điểm Multihoming của SCTP cùng với DAR có thể được sử dụng để hỗ trợ handover dọc Tuy nhiên, mSCTP không cung cấp bất cứ quản lý định vị nào Vì thế để khai thác đầy đủ tìm năng hỗ trợ handover của nó, nó phải làm việc cùng với vài phương pháp quản lý định vị Thiết lập kết nối bên trong mạng Internet thường bắt đầu bằng 1 truy vấn định vị, nghĩa là gọi tên tới IP cần thiết [23] DNS có thể cung cấp thông tin định vị theo yêu cầu nhưng cùng với thất bại đơn điểm và chi phí định tuyến 1 giải pháp thay thế cho DNS là DHT CHORD, nó có thể cung cấp gọi tên truyền thống cho ánh xạ địa chỉ IP Trong đó
tên biểu diễn cho khóa và địa chỉ IP biểu diễn cho giá trị [12] trong cặp (khóa, giá trị) của
CHORD Đặc điểm này của CHORD được ứng dụng để cung cấp quản lý định vị cần thiết trong cấu trúc di động được đề nghị Luận văn này cung cấp những yêu cầu cơ bản
và những thay đổi cho DHT CHORD để hỗ trợ quản lý định vị, và hoạt động của nó cùng với mSCTP
Các kiểm tra cơ bản được thực hiện để phân tích hoạt động của CHORD, theo những thông số hoạt động như trể tìm kiếm, tỉ lệ thành công tìm kiếm khi các nút tham gia hoặc rời khỏi mạng Chương trình Overlay Network được sử dụng để kiểm tra CHORD Nó là 1 bộ công cụ xây dựng mạng overlay với khả năng làm việc trên mạng thực tế Hoạt động chi tiết của cấu trúc được giải thích dựa trên những điểm sau đây:
Hướng định địa chỉ được đề xuất trong đó cặp (khóa, giá trị) truyền thống trong CHORD được thay thế bằng cặp (UID, locator)
Những nút CHORD, nút Bootstrap và những nút BN được giải thích, đây là những thành phần cơ bản của cấu trúc được đề nghị
Nhiều trường hợp đa dạng như nút tham gia vào mạng, hoạt động tìm kiếm cho giá trị TL yêu cầu và chuyển các giá trị được giải thích rõ
Hoạt động chi tiết của CHORD cùng với mSCTP
Trang 12TỔNG QUAN LUẬN VĂN
Luận văn bao gồm 5 chương, được trình bày như sau: Chương 2: Nền tảng lý thuyết cung cấp 1 cái nhìn sâu sắc về kiến trúc và hoạt động của các thành phần chính của cấu trúc di động được đề xuất Phần 2.1 mô tả các cấu trúc và 1 số đặc điểm đặc biệt của SCTP, tiếp theo là cơ chế handover và hoạt động của mSCTP trong phần 2.5 Phần 2.7 giải thích chi tiết, cung cấp các tính năng khác nhau và hoạt động của CHORD
Chương 3: Phân tích hoạt động của mSCTP và CHORD, mục 3.1 trể handover của mSCTP được phân tích lý thuyết, tiếp theo là nghiên cứu mô phỏng tính năng SCTP dualhoming và hiệu quả của nó khi thực hiện handover Phần 3.2 xem thuật toán CHORD như 1 bộ quản lý định vị, phân tích trể tìm kiếm và lấy kết quả khi các nút vào và ra trong mạng Mục 3.3 kết luận các kết quả thu được trong khi phân tích
Chương 4: cấu trúc di động phân cấp: chi tiết hoạt động của CHORD DHT như bộ quản lý định vị Phần 4.1 bao gồm các yêu cầu chính như định địa chỉ mục tiêu và các thành phần chính của cấu trúc Phần 4.2, hoạt động của cấu trúc này gồm đặt nút, tìm nội dung và nút rời khỏi Phần tiếp theo bao gồm hoàn tất thủ tục handover với sự kết hợp của mSCTP và CHORD DHT mạng Phần cuối cùng bao gồm các vấn đề mở và thách thức gặp phải Chương 5: Kết luận và 1 số gợi ý về các cải tiến trong phần công việc tương lai
2 LÝ THUYẾT CƠ BẢN
Chương này trình bày các thành phần chính của cấu trúc di động được đề xuất Phần đầu tiên 2.1 trình bày cấu trúc chính của SCTP và 1 số tính năng nổi bật mSCTP và hoạt động cơ bản của nó được giải thích trong phần 2.5, tiếp theo là CHORD DHT trong phần 2.7
2.1 STREAM CONTROL TRANSMISSION PROTOCOL (SCTP)
SCTP là 1 giao thức đầu cuối tới đầu cuối theo định hướng bảng tin để cung cấp dịch vụ truyền qua Internet [1], được thiết kế để thay thế TCP và có lẽ cả UDP [6]
SCTP cung cấp điều khuyên lưu lượng, độ tin cậy, truyền dữ liệu song công, phân phát
dữ liệu theo yêu cầu và không theo yêu cầu Tuy nhiên, SCTP cung cấp nhiều tính năng khác không có sẵn trong mạng Internet hiện nay Các tính năng bao gồm Multistreaming, Multihoming và bắt tay bốn đường để thiết lập kết nối sẽ được thảo luận trong phần 2.4 SCTP được phát hành bởi IETF, chuẩn hóa năm 2000
Trang 132.2 QUÁ TRÌNH PHÁT TRIỂN
Trong những năm gần đây, có rất nhiều ý tưởng lớn trong các mạng dựa trên IP và
những mạng di động chuyển mạch công cộng (PSTN) Sử dụng mạng IP trong truyền
thoại để giảm chi phí đã trở thành thông dụng Tuy nhiên, hầu hếu những dịch vụ cung
cấp bởi mạng PSTN yêu cầu hỗ trợ của mạng báo hiệu số 7 (SS7) [1] SS7 được thiết lập
cho các giao thức báo hiệu di động và nhiệm vụ chính của nó là cài đặt và kết thúc cuộc gọi bằng di động
SS7 là tất cả về sự trao đổi của thông tin điều khuyển được liên kết với thiết lập cuộc gọi trên mạch điện tử viễn thông Vì thế truyền tin của các thông điệp SS7 yêu cầu
phân phối đúng giờ và tin cậy cao 1 nhóm nghiên cứu của IETF (SIGTRAN) được thành
lập năm 1998, để thiết kế 1 giải thuật để truyền báo hiệu điều khuyển cuộc gọi 1 cách tin cậy thông qua mạng IP Mục đích của SIGTRAN để tạo ra 1 bổ xung dùng IP cho mạng SS7 Sử dụng của TCP khi khai thác SIGTRAN gặp phải 1 số vấn đề sau[1][6]:
HOL: hiện tượng các gói tới sau vào bộ đệm của máy thu khi các gói dữ liệu trước
sử dụng tốt Do đó, SCTP ra đời từ sự mở rộng này
2.3 CẤU TRÚC SCTP
SCTP truyền dữ liệu theo dạng bản tin, mỗi bản tin chứa 1 hoặc nhiều gói SCTP 1 gói SCTP thường bao gồm 12 byte tiêu đề, cùng các khối có thể là khối DỮ LIỆU hoặc khối ĐIỀU KHUYỂN Gói SCTP đơn có thể mang nhiều khối phụ thuộc kích thước PATH-MTU [3] Hình 2.1 cho thấy tiêu đề phổ biến cho 1 gói SCTP
Số cổng nguồn: định nghĩa cổng gởi đi
Trang 14 Số cổng đích: mang địa chỉ thiết bị nhận SCTP mà gói được truyền đến
Tag xác minh: mỗi điểm đầu cuối chèn vào 32 bite kiểm tra, định nghĩa 1 kết nối
và chống lại việc chèn thêm các bảng tin lỗi hoặc hết hạn vào kết nối SCTP
Checksum: SCTP sử dụng 32 bite checksum, có thể là Alder 32 checksum hoặc
32 bite CRC checksum để xác định lỗi
Hình 2.1 Tiêu đề SCTP thông thường và Khối dữ liệu
Khối: 1 khối có thể là khối DỮ LIỆU hoặc khối ĐIỂU KHUYỂN 1 khối DỮ LIỆU
chứa tải tin dữ liệu thực tế cùng với các cờ khác nhau để điều khuyển phân mảnh, xác
nhập, các thông số thứ tự truyền (TSN), số trình tự dòng (SSN), và 1 ID giao thức tải tin
Trong khi đó, khối điều khuyển chứa cờ và các thông số phụ thuộc vào loại khối Những khối điều khiển khác nhau bao gồm khối khởi tạo (INIT), khối xác nhận khởi tạo (INIT-ACK), khối xác nhận chọn (SACK), khối Echo Cookie (COOKIE ECHO) [3]
2.4 ĐẶC ĐIỂM SCTP
SCTP và TCP trông rất giống nhau, tuy nhiên, SCTP hỗ trợ nhiều tính năng hơn so với TCP và UDP Bảng 2.1 cho thấy 1 so sánh các tính năng và dịch vụ của SCTP, TCP
và UDP
Trang 15Dịch vụ/ Đặc điểm SCTP TCP UDP
Phân phát dữ liệu yêu cầu Có Có Không
Phân phát dữ liệu không theo yêu cầu Có Không Có
bảo toàn giới hạn bảng tin Có Không Có
Bảo vệ chống lại sự tấn công DOS Có Không không
Half closed connection Có Có không
Kiểm tra khả năng tìm kiếm Có Có Không
bảng 2.1 So sánh tính chất giao thức SCTP, TCP, UDP
MULTIHOMING
Multihoming là khả năng hỗ trợ nhiều địa chỉ IP/ giao diện trong 1 kết nối cho 1 thiết bị đầu cuối đơn [5] Trong kiểu kết nối đơn, như TCP, cả hai điểm đầu cuối kết nối với 1 điểm duy nhất, dẫn đến điểm đầu cuối có thể bị cô lập khỏi mạng khi có 1 lỗi đơn SCTP mặc khác có thể liên kết đa điểm, làm cho SCTP có khả năng chịu đựng lỗi tốt [1]
1 client với cấu hình Multihoming có thể liên lạc với các nút khác, sử dụng 1 giao diện đơn với 1 địa chỉ IP Địa chỉ này gọi là địa chỉ chính, được dùng để truyền các khối
dữ liệu giữa các mạng như hình 2.2 Địa chỉ thay thế hay các địa chỉ khác sẵn sàng để truyền lại dữ liệu được gọi là địa chỉ thứ 2 Nếu địa chỉ chính thất bại khi đáp ứng sau nhiều lần thử, địa chỉ thứ 2 sẽ được dùng làm địa chỉ chính, truyền các khối dữ liệu cho đến khi địa chỉ chính phục hồi Các khối heartbeat được gởi liên tục để kiểm tra sự hoạt động của cả các đường chính và đường thứ 2
Hình 2.2 Kết nối Multihoming của SCTP thông qua Ethernet va 802.11
Trang 162.4.1 MULTISTREAMING
Multistreaming là đặc điểm quan trọng nhất của SCTP Nó cho phép dữ liệu được phân ra thành nhiều phần, truyền trên các đường độc lập khác nhau tới địa chỉ đích như hình 2.3 Đặc tính này cho phép dữ liệu được truyền liên tục, khi 1 bản tin bị mất trên 1 đường truyền sẽ không ảnh hưởng tới dữ liệu truyền trên các đường song song khác Do
đó, SCTP có thể ngăn chặn HOL, xảy ra khi xắp xếp các gói tới sau vào bộ đệm của máy thu khi các gói dữ liệu trước đó bị mất
Hình 2.3 đặc tính Multistreaming của SCTP
Multistreaming giúp việc phân tán dữ liệu và truyền dữ liệu hoàn toàn độc lập Mỗi bảng tin sẽ được gán cho 1 ID dòng để xác định thứ tự phát của các bản tin nhận được Việc này sẽ giúp bộ thu xác định được thứ tự của các gói nhận được, kiểm tra mất gói Trong trường hợp mất bảng tin, bộ thu lưu vào bộ đệm các bảng tin từ dòng bị ảnh
hưởng, trong khi đó vẫn tiếp tục nhận bảng tin từ các dòng không bị ảnh hưởng
2.4.2 THIẾT LẬP KẾT NỐI
SCTP cung cấp 1 cách an toàn để thiết lập kết nối, có thể ngăn chặn hiện tượng
DOS (Denial Of Server) do quá nhiều bảng tin tới địa chỉ đích khi các yêu cầu thiết lập
kết nối liên tục, làm cho không thể kết nối với các địa chỉ cần thiết SCTP thực hiện bắt tay 4 bước để thiết lập kết nối trong đó server không giao trực tiếp các tài nguyên cho hệ thống đang kết nối Giải thuật bắt tay 4 bước được trình bày trong Hình 2.4
1 Client khởi tạo 1 kết nối bằng cách gởi 1 khối INIT tới server Server đang ở trạng thái đóng ở thời điểm này, phân tích dữ liệu trong INIT khối Server tạo 1 bộ băm
Trang 17an toàn của các giá trị này và 1 khóa bí mật (với giải thuật SHA-1 hoặc MD5) Tag
xác nhận và COOKIE, được gởi trong khối INIT-ACK, kèm theo mã xác thực bảng tin (MAC) được gởi tới Client
2 Khi Client nhận được khối INIT-ACK từ server, nó tổng hợp tạo thành 1 khối COOKIEECHO, bao gồm COOKIE từ khối INIT-ACK, gởi lại server Nếu Client mang địa chỉ IP giả mạo, nó sẽ không bao giờ gởi khối COOKIE-CHO cho server, kết nối sẽ chấm dứt
3 Server nhận được khối COOKIE-CHO từ Client, sử dụng địa chỉ MAC trong khối này để kiểm tra và xác thực Client Nếu kiểm tra đúng, server sẽ xác nhận nó như
1 COOKIE đúng, và sử dụng các thông tin trong khối COOKIE này để thiết lập kết nối SCTP
4 Ở thời điểm này, server phân tài nguyên cho Client và trả lời bằng khối ACK Khi đó server đã sẵn sàng nhận hoặc gửi dữ liệu Sau khi nhận được COOKIE-ACK, Client chuyển sang trạng thái đã thiết lập kết nối
Trang 18 Trong SCTP chuẩn, không thể thêm 1 POA khi đang thực hiện 1 kết nối SCTP
Khi đang thực hiện 1 kết nối, quyết định thay đổi địa chỉ IP chính chỉ phụ thuộc vào giải thuật bỏ qua lỗi
2.5.1 CẤU HÌNH LẠI ĐỊA CHỈ ĐỘNG (DAR)
SCTP có thể được mở rộng để hỗ trợ di động khi dùng kèm cơ chế cấu hình lại địa chỉ động (DAR) Tuy nhiên DAR chỉ có thể sử dụng để kích hoạt khả năng di động, tổng thể không phải là 1 giải pháp di động [7] DAR cho phép SCTP nhận thêm địa chỉ hoặc xóa địa chỉ IP, yêu cầu thay đổi địa chỉ IP chính trong khi đang thực hiện 1 kết nối SCTP, sử dụng 3 thông số: Thêm-IP, Xóa-IP, Lập-IP-chính DAR có thêm 2 khối mới để mang thông tin điều khuyển liên quan tới thay đổi địa chỉ IP gồm khối cấu hình địa chỉ (ASCONF) và khối xác nhận cấu hình địa chỉ (ASCONF-ACK) Vì thế, SCTP kết hợp với DAR tạo thành giao thức mSCTP, có thể sử dụng để thực hiện handover dọc
THÊM, XÓA VÀ THAY ĐỔI ĐỊA CHỈ CHÍNH
Các thông số này được định nghĩa trong phần mở rộng DAR cho phép SCTP thực hiện handover liền mạch tại lớp truyền vận Thêm-IP là 1 thông số cấu hình địa chỉ thông báo cho điểm đầu cuối khác thêm địa chỉ IP mới trong kết nối hiện của nó
loại = 0x001 Chiều dài (đa dạng)
ASCONF- yêu cầu tương quan ID
Thông số địa chỉ
Hình 2.5 thông số ASCONF: Thêm-IP
Hình 2.5 cho thấy cấu trúc bảng tin của 1 khối Thêm-IP ASCONF Trường loại có
giá trị 0xC001, trường độ dài trong thông điệp này đa dạng vì 1 thông số địa chỉ có thể
mang nhiều địa chỉ IP Bảng tin Xóa-IP thông báo cho nút ở đầu cuối khác xóa địa chỉ IP
hiện tại khỏi kết nối hiện hữu Trường loại là 0xC002, trường độ dài đa dạng như
Thêm-IP Bảng tin Lập-IP-chính thông báo nút trên đầu cuối khác thay đổi địa chỉ IP đích tới
địa chỉ IP được gởi kèm Trường loại của nó là 0xC004
KHỐI THAY ĐỔI CẤU HÌNH ĐỊA CHỈ (ASCONF)
ASCONF liên lạc giữa các điểm đầu cuối khi có yêu cầu thay đổi cấu hình Nó mang các thông số Thêm-IP, Xóa-IP, Lập-IP-Chính Thông tin địa chỉ được mang trong
khối ASCONF dùng cấu trúc gồm Loại– Chiều dài– Giá trị (TLV)
Trang 19Hình 2.6 Khối dữ liệu ASCONF
Hình 2.7 Khối dữ liệu ASCONF-ACK
Khối ASCONF có giá trị trường loại là 0xC1, các cờ không sử dụng và được thiết
lập là 0, trường dài cho biết chiều dài của khối Số nối tiếp dùng để phân biệt khối này với các khối khác Thông số địa chỉ được đặt cho địa chỉ người gởi
KHỐI XÁC NHẬN CẤU HÌNH ĐỊA CHỈ (ASCONF-ACK)
Khi đích nhận được khối ASCONF, nó sẽ dùng ASCONF-ACK để báo việc chấp nhận và xác thực tới máy phát Hình 2.7 cho thấy cấu trúc của khối ASCONF-ACK trong
đó trường loại được định là 0x80, số nối tiếp gồm cả số nối tiếp nhận được từ khối ASCONF
Loại = 0xC1 Các cờ của khối Chiều dài khối
Số nối tiếp Thông số địa chỉ Thông số ASCONF # 1 Thông số ASCONF # 2
………
Thông số ASCONF # N
Loại = 0x80 Các cờ của khối Chiều dài khối
Số nối tiếp Thông số trả lời ASCONF # 1 Thông số trả lời ASCONF # 2
………
Thông số trả lời ASCONF # N
Trang 202.5.2 THỦ TỤC HANDOVER SỬ DỤNG mSCTP
Hình 2.8 mô hình handover sử dụng mSCTP
Quá trình handover dựa trên giả định MN thực hiện việc kích hoạt quá trình handover và MN biết sự di chuyển của nó, cường độ tín hiệu của AR cũ và mới, vì vậy không cần quản lý định vị [10] Hình 2.8 cho thấy quá trình handover trong đó 1 MN khởi tạo 1 kết nối với CN, chuyển từ vùng này sang vùng khác với các địa chỉ IP khác nhau
KHỞI TẠO PHIÊN
MN khởi tạo 1 kết nối SCTP với CN, giả định rằng MN nhận được địa chỉ IP
162.168.2.2 với sự giúp đở của server DHCP và khởi tạo 1 phiên với CN có địa chỉ 162.168.4.2 CN trong trường hợp này là 1 thiết bị single-home và giao diện có địa chỉ là 162.168.4.2 MN được cấu hình multihome nhưng trong trạng thái single-home, có địa chỉ IP 162.168.2.2 làm địa chỉ chính
NHẬN ĐỊA CHỈ IP CỦA MẠNG MỚI
Giả định MN di chuyển từ mạng A tới mạng B, và giả định rằng MN có thể nhận được địa chỉ của mạng B khi liên lạc với server DHCP Giả định rằng địa chỉ IP nhận
được từ mạng B là 162.168.3.2 MN thông báo địa chỉ IP mới nhận được cho ngăn xếp
mSCTP của nó, IP này được thêm vào trong phiên hoạt động của MN Bây giờ, MN cần thông báo cho CN địa chỉ IP mới này để CN thêm địa chỉ này vào kết nối hiện tại và gởi gói tới địa chỉ IP mới
CN
Trang 21THÊM ĐỊA CHỈ IP MỚI VÀO KẾT NỐI
MN gởi 1 khối Thêm-IP tới CN, thông báo cho CN về địa chỉ IP mới, trong trường
hợp này là 162.168.3.2 và thêm nó vào kết nối SCTP hiện tại CN trả lời bằng khối
ASCONF ACK và xác nhận thêm địa chỉ mới vào kết nối Tuy nhiên, CN sẽ vẫn gởi gói theo địa chỉ IP cũ vì chưa có yêu cầu thay đổi địa chỉ IP chính Tuy nhiên, lúc này MN đang ở chế độ dual-home, dữ liệu gởi từ MN tới CN có thể chọn 1 trong hai giao diện đó
THAY ĐỔI ĐỊA CHỈ IP MỚI
Khi MN tiếp tục di chuyển hướng tới mạng B, tín hiệu của mạng A sẽ suy yếu dần, MN sẽ phải thay đổi địa chỉ IP chính của kết nối hiện tại Tuy nhiên, MN cần có 1 số qui tắc phù hợp để chuyển từ 1 giao diện mạng này tới giao diện mạng khác khi chuyển vùng giữa các mạng khác nhau Các qui luật đó [7] [10] gồm:
Khi 1 địa chỉ IP mới được xác định
Bằng việc dùng các chỉ định của lớp nằm bên dưới
Sự chỉ định của lớp nằm bên trên
Sử dụng handover độc lập đa phương IEEE 802.21 (MIH) để lấy thông tin mạng
Sử dụng 1 trong các qui luật trên, MN sẽ thay đổi địa chỉ chính của nó và thông báo cho CN bằng cách gởi 1 khối ASCONF yêu cầu thay đổi địa chỉ chính Khi CN nhận
được khối này sẽ thay địa chỉ 162.148.3.2 làm địa chỉ chính, và sử dụng địa chỉ 162.168.2.2 làm địa chỉ thứ 2
XÓA ĐỊA CHỈ CŨ
MN cần xóa địa chỉ IP cũ, địa chỉ 162.168.2.2, khỏi kết nối SCTP khi nó di
chuyển xong vào mạng B Các khối ASCONF chứa Xóa-IP có thể xóa địa chỉ IP cũ khỏi kết nối hiện tại Khi nhận được các khối này, CN sẽ xóa địa chỉ IP cũ và ngừng hoạt động
địa chỉ IP này, 162.168.2.2, khỏi kết nối
2.5.3 HẠN CHẾ CỦA mSCTP
SCTP là 1 giải pháp handover lớp truyền vận hiệu quả, an toàn, lien tục, nhưng vẫn đang hoàn thiện, tồn tại nhiều vấn đề như:
Hệ thống chuyển địa chỉ IP (Network Address Translate: NAT) không thể duy trì
mSCTP handover, vì nó chỉ định 1 cổng khác cho 1 kết nối hiện tại bất cứ khi nào
Trang 22thay đổi địa chỉ chính mSCTP không chấp nhận thay đổi của cực cổng và chấm dứt kết nối [11]
Không có qui luật dò đường được giới thiệu hỗ trợ kích hoạt chuyển giao mSCTP [10] Nhiều giải pháp đã được đưa ra nhưng cần tiếp tục hoàn thiện cho hoạt động cao hơn
mSCTP được thiết kế cơ bản cho hệ thống Client- server, do đó nó không thể cung cấp bất cứ bộ quản lý định vị nào mSCTP phải sử dụng kèm với 1 bộ quản lý định
vị để thực hiện đầy đủ chức năng handover
2.5.4 HANDOVER ĐỘC LẬP ĐA PHƯƠNG (MIH)
MIH, được biết đến như chuẩn 802.21 được sử dụng để tối ưu hóa quá trình handover cho mSCTP [44] MIH cung cấp thông tin kích khởi lớp 2 có thể hỗ trợ handover liên tục giữa các mạng đồng nhất và không đồng nhất Thông tin này giúp mSCTP thay đổi giao diện trong suốt quá trình handover với thời gian trể và phức tạp ít nhất [45] Tuy nhiên, MIH chỉ cung cấp thông tin cho phép handover giữa các mạng, nó không thực hiện handover
MIH cung cấp 3 dịch vụ để tối ưu hóa quá trình handover [44], Các dịch vụ sự kiện cung cấp thông tin về các sự kiện diễn ra thông qua lớp liên kết Các sự kiện này gồm các thông số như liên kết lên, liên kết xuống, liên kết đang xuống… Các dịch vụ lệnh tạo ra lệnh, cho phép các lớp cao hơn điều khuyển các lớp thấp hơn như lớp vật lý, lớp liên kết Các dịch vụ thông tin được sử dụng để tìm và nhận thông tin mạng của MN,
có thể phục vụ cho qua trình handover
Ưu điểm chính của phương pháp MIH là xác định được sự thay đổi trong trạng
thái của mạng Các thay đổi gồm liên kết lên, liên kết xuống, liên kết đang xuống…
Thông tin này có thể nhận được khi theo dõi cường độ tín hiệu của mạng MN đang sử dụng Sau đó, các thành phần quyết định handover sử dụng các thông số này để tối ưu quá trình chuyển mạch và quyết định khi nào đường kết nối nên được thay đổi trong quá trình handover của mSCTP
Chuyển đổi giao diện có thể được tối ưu bởi MIH, tuy nhiên, mSCTP vẫn cần các thành phần thêm vào để thực hiện quản lý định vị Vì vậy, thuật toán DHP CHORD là 1 giải pháp khả thi để nghiên cứu chi tiết, hổ trợ quản lý định vị của handover
Trang 232.6.1 HỆ THỐNG P2P THẾ HỆ THỨ 1
Hệ thống này sử dụng 1 server trung tâm hoặc những cơ chế flooding để định vị
dữ liệu mong muốn [16] Hệ thống này có thể được chia thành hai phần
CÁC HỆ THỐNG TẬP TRUNG:
Các hệ thống này phụ thuộc vào 1 server tập trung để tìm nội dung Khi 1 nút muốn định vị 1 nút khác, nó chuyển tiếp truy vấn đến server Vì thế các hệ thống này nhanh và đáng tin cậy Tuy nhiên, chúng có các nhược điểm như lỗi đơn điểm, lưu lượng thông tin khổng lồ trên các hệ thống lưu trữ [16]
NAPSTER là 1 hệ thống như vậy, dùng 1 server tập trung để định hướng lưu lượng giữa các client Khi 1 client yêu cầu 1 bài hát, server tạo 1 danh sách các client đang kết nối với hệ thống NAPSTER có bài hát đó, chuyển nó tới máy yêu cầu
CÁC HỆ THỐNG PHI TẬP TRUNG
Các hệ thống này không sử dụng server trung tâm Tuy nhiên, hầu hết hệ thống không có thông tin định vị dữ liệu [16] Kỹ thuật chính để xác định dữ liệu là broadcasting, tức là khi 1 nút nhận được yêu cầu cho 1 khóa, đầu tiên nó sẽ tìm dữ liệu liên kết với khóa đó trong dữ liệu của nó, nếu không tìm thấy nó sẽ chuyển tiếp yêu cầu này cho các nút “hàng xóm”, quá trình này lập đi lập lại cho đến khi tìm thấy và báo cáo
dữ liệu mong muốn GNUTELLA và GREENET là 2 đại diện của hệ thống này Nhược điểm chính của loại hệ thống này: không đảm bảo thông tin định vị nội dung tin cậy, cơ chế flooding cho tìm kiếm nguồn và khả năng mở rộng
Trang 242.6.2 HỆ THỐNG P2P THẾ HỆ THỨ 2 ( DHT)
Bảng hàm băm phân tán có thể xem như hệ thống P2P thế hệ thứ 2, với khả năng
mở rộng, chịu lỗi và cân bằng tải với cơ chế tìm nội dung phân cấp [17] Khi kích thước của mạng P2P tăng, dẫn đến số lượng tài nguyên chia sẽ trong mạng sẽ tăng, khi đó việc tìm kiếm 1 tài nguyên trong hàng chục hoặc hàng ngàn nút trong 1 mạng có khả năng mở rộng là thử thách thiết kế thực tế Các hệ thống P2P đầu tiên như NAPSTER và GNUTELLA cung cấp các chức năng này nhưng với chi phí lưu lượng mạng cao hơn, bảo hành tối thiểu và điểm đơn lỗi [13]
DHT (Data Hashed Table) là 1 cấu trúc dữ liệu phân tán có chức năng chính là để giữ cặp (khóa–giá trị) được phân tán hoàn toàn và bất kỳ client trong mạng Overlay có
thể lấy giá trị liên kết với khóa đã cho [13] DHT sử dụng hàm băm phù hợp để ánh xạ
nút liên quan cho 1 cặp (khóa-giá trị) Ngoài ánh xạ hiệu quả cặp (khoá-giá trị) cho các
nút, DHT cũng có khả năng cách li mạng để nó chỉ thay đổi 1 bộ phận nhỏ để giới hạn chi phí và băng thông sử dụng khi mạng và các tài nguyên cập nhật [13]
DHT là 1 ý tưởng trừu tượng, giúp chúng ta đạt được sự độc lập hoàn toàn khỏi server tìm kiếm trung tâm và sự chịu đựng những thay đổi trong mạng [16] Các thuật toán khác nhau đã được thiết kế để thực hiện và hoàn thiện các ý tưởng DHT Trong đó CAN, PASTRY, TAPSTERY và CHORD là các ứng dụng phổ biến nhất của DHT Thuật toán CHORD được tìm hiểu sâu do tính đơn giản, hiệu quả và được chấp nhận rộng rãi trong cộng đồng nghiên cứu thế giới
2.7 GIẢI THUẬT CHORD
CHORD là 1 dịch vụ tìm kiếm phân tán hiêu quả dựa trên hàm băm thích hợp, hỗ trợ cho 1 hoạt động duy nhất: được cho 1 khóa và ánh xạ nó vào nút 1 cách hiệu quả
[12] CHORD cung cấp 1 tính toán nhanh và hiệu quả của hàm băm bằng cách ánh xạ các khóa vào các nút CHORD tạo 1 vòng tròn ID kích thước được đánh số từ 0 tới 2m -1, trong đó m là số bit ID trong thuật toán SHA-1 (160 bit) Mỗi nút và khóa đều được gán
m bit ID, các bit này được tạo ra bằng cách băm địa chỉ IP của nút và cổng sử dụng nó Trong khi 160 bit ID của khóa được tạo ra bằng cách băm khóa [12] Các ID này được tạo sao cho không có trường hợp 2 nút có cùng ID
Giải thuật CHORD đơn giản thiết kế của các hệ thống P2P nhờ những đặc điểm sau [12]:
Trang 25Cân bằng tải: Quá trình hình thành và phân bổ khóa của CHORD dựa trên thuật toán
băm thích hợp Chính các đặc điểm của thuật toán này đã tạo cho CHORD 1 khả năng cân bằng tải 1 cách tự nhiên ngay khi mạng được khởi tạo
Phân tập: Tất cả các nút trong hệ thống CHORD đều có vai trò như nhau, làm cho hệ
thống mạnh hơn, khả năng chịu lỗi cao hơn
Khả năng mở rộng: Số bảng tin yêu cầu trong 1 phiên tìm kiếm CHORD tăng theo hàm
logarit của số nút vì tìm kiếm CHORD dựa trên các bảng tin mức 0(log N) Vì thế khả
năng mở rộng có thể đạt được mà không cần điều chỉnh bất kì tham số phức tạp nào
Khả năng sẵn sàng: CHORD tự động điều chỉnh các bảng định tuyến của nó khi có 1
nút thêm vào hoặc ra khỏi mạng Điều này làm cho nó có khả năng cung cấp cặp giá trị) mỗi khi có yêu cầu cho dù xảy ra thất bại ở các lớp bên dưới
(khóa-Đặt tên linh hoạt: CHORD không hạn chế cấu trúc của khóa nó tìm kiếm, nghĩa là
không gian khóa của thuật toán CHORD là phẳng
2.7.1 THÀNH PHẦN
Bảng định tuyến: 1 nút trong mạng Overlay sử dụng danh sách này để gửi bảng
tin tới các nút khác [18] 1 bảng định tuyến chứa cả ID CHORD đã băm và địa chỉ IP của các nút liên quan Thông số đầu tiên trong bảng định tuyến tham chiếu tới nút Succ của nút n trên vòng tròn ID
Hình 2.9 là bảng định tuyến cho nút N0 từ hình tổng quát 2.9 Cột Bắt đầu giới thiệu các ID băm trên vòng tròn CHORD, trong khi cột Succ giới thiệu Nút ID băm của các nút liên quan trong mạng Overlay
Bắt đầu Khoản Succ
Trang 26Nút Succ: 1 nút trên vòng tròn ID sẽ gởi truy vấn tới các nút Succ của nó Như trên hình
2.9, Succ của ID 1, 2 và 4 là nút N7 Nó là nút theo ngay sau 1 nút n hoặc 1 khóa K, mà
giá trị ID của nó bằng hoặc theo K trong không gian ID
Nút Predec: nút phía trước trực tiếp của 1 nút thành phần trong vòng tròn ID
2.7.2 ÁNH XẠ KHÓA VÀO NÚT
Khi 1 nút trong mạng Overlay CHORD muốn điều gì, nó đơn giản băm ID của nó,
nghĩa là tạo 1 khóa và tìm kiếm nút với khóa đó Tổng cộng có 0log(N) bảng tin cần thiết
để xác định 1 đối tượng, khi N là số nút trong mạng [12] Hình 2.10 cho thấy phương pháp ánh xạ khóa vào nút trong đó nút N7 nhận được 1 yêu cầu tìm khóa K27 từ 1 nút X
ở xa Nút N7 khi nhận được yêu cầu sẽ kiểm tra nó có khóa đó hay không Với trả lời 0,
nó sẽ sử dụng chức năng ánh xạ khóa để kiểm tra nút “hàng xóm” nào gần với vị trí chứa
cặp (khóa-giá trị) [13] Nó sẽ sử dụng bản định tuyến để tìm khoản chứa khóa K27
Hình 2.10 quá trình thu hồi giá trị của nút X truy vấn N7 về K27
Bảng định tuyến của nút N7 cho thấy khóa K27 nằm trong khoản không gian (23,7), liên quan tới nút Succ N26 Vì thế, nó sẽ chuyển tiếp yêu cầu tới nút N26 Nút N26 sẽ sử dụng chức năng ánh xạ vị trí để kiểm tra khoản cách của nó với không gian khóa, và tìm trong bảng định tuyến của nó khoản chứa khóa K27 Nút 26 sẽ tìm thấy khóa K27 thuộc không gian (27, 28), có Succ là 30 Bây giờ, nút 26 sẽ chuyển tiếp yêu
Trang 27cầu tới nút 30 kèm với 1 địa chỉ IP của nút 7 Cuối cùng, nút 30 tìm thấy cặp (khóa-giá trị) theo yêu cầu đối với K27, và khởi tạo kết nối với nút X
2.7.3 CHÈN CẶP (KHÓA – GIÁ TRỊ)
CHORD sử dụng DHT để lưu giữa cặp (khóa-giá trị) ở các nút mà khóa ánh xạ vị trí [15] Chèn thêm 1 cặp (khóa-giá trị) trong DHT tương tự như tìm kiếm 1 cặp ( khóa- giá trị) trong không gian ID Khi 1 nút nhận được 1 yêu cầu với ID khóa theo hàm băm,
nó sẽ sử dụng chức năng ánh xạ vị trí để kiểm tra khoản cách của nó với không gian khóa trên vòng tròn ID như hình dưới khi N0 muốn lấy giá trị của khóa K27 Nó sẽ theo các bước như phần trước để đi đến N30
Khi truy vấn tới N30, nó sẽ kiểm tra xem khoản cách của nó với không gian khóa
đã được băm trong không gian ID, và sẽ hiểu rằng nó là vị trí tốt nhất để dữ khóa [2] N30 sẽ gởi địa chỉ IP của nó tới N0, và N0 sử dụng địa chỉ IP này để chèn giá trị vào N30 Tuy nhiên, các phần RPC thêm vào sẽ được yêu cầu định tuyến giá trị từ nút N0 tới nút N30 DHT [14]
2.7.4 ĐẶT NÚT
Trong các mạng động, nút có thể rời khỏi hoặc tham gia vào mạng bất cứ lúc nào Vì thế CHORD phải có khả năng định vị khóa 1 cách hiệu quả trong các điều kiên bất ôn cao Để đạt được điều đó, nó phải bảo toàn 2 hằng số sau [12]:
1 Bảng danh sách Succ trong mỗi nút phải được bảo quản chính xác
2 Nút Succ của mỗi khóa K chịu trách nhiệm về khóa đó
Nút tham gia mạng Overlay đơn giản băm địa chỉ IP và cực cổng của nó để tạo ra 1 nút-ID, Nút-ID này sử dụng hàm SHA-1 giống như
3752ac235a888e2b938f9c2f77ef7236d261f39 = h( 162 168 2 2 : 2997) Sau đó nó gởi
1 bảng tin REGISTER tới bất cứ nút bootstrap trong mạng Overlay Nút bootstrap sẽ truy vấn cho 1, gần nhất tới Nút-ID được băm của nút muốn tham gia này Nút đăng nhập mạng sẽ lập đi lập lại quá trình này cho tới khi nó tìm thấy nút chịu trách nhiệm hiện tại hoặc gần không gian nó sẽ chiếm Sau khi tham gia mạng Overlay, nó trao đổi các bảng tin REGISTER bổ xung với với các nút nhận/ nút Succ Điều này cho phép nút tham gia lấy thông tin từ các nút “hàng xóm” trong mạng và nhận được thông tin từ các nút “hàng xóm” về các tài nguyên mà nút tham gia sẽ chịu trách nhiệm [18]
Trang 28Hình 2.11 N16 đăng nhập và cập nhật bảng định tuyến của N30, N0, N7, N8, N12
Các nút đang tồn tại trong mạng cũng phải cập nhật bảng định tuyến của chúng để ánh xạ việc chèn 1 nút mới Mỗi nút trong vòng CHORD giữ 1 con trỏ Predec để đơn giản quá trình tham gia/ rời khỏi mạng [12] Con trỏ Predec đơn giản chứa 1 ID CHORD
và địa chỉ IP của nút mà chính là Predec của nó ngay thời điểm đó Khi 1 nút n tham gia vào mạng, nó phải biết về 1 nút đang tồn tại gọi là n’ Hình 2.11 cho thấy 1 ví dụ chèn nút trong vòng CHORD, khi N16 muốn tham gia vào mạng
Khi N16 muốn tham gia vào mạng, nó sẽ phải định vị 1 nút ở bên trong vòng CHORD Sau khi định vị được N0, Sử dụng bất kì phương pháp bootstrap nào, nút N16
sẽ gởi 1 yêu cầu tham gia tới N0, mặc khác, nó sẽ hỏi nút N0 để định vị bảng định tuyến
và các Predec của nó Nút N0 sẽ sử dụng giải thuật Tìm-Succ để lấy các Succ [12] Nút N16 sau khi tham gia mạng sẽ gởi 1 cuộc gọi cập nhật để thông báo tới tất cả nút mà trong bản định tuyến có N16 Kết quả là, các nút liên quan sẽ cập nhật bảng định tuyến của chúng Trong trường hợp này, nút N1, N7, N8, N30 và N12 sẽ cập nhật bảng định tuyến của chúng
Bước cuối cùng được thực hiện khi 1 nút đăng nhập hoặc rời khỏi mạng Overlay là
di chuyển trách nhiệm của các khóa tới các nút mới Điều này có thể đạt được bằng cách
Trang 29thông báo cho phần mềm ở cấp độ cao hơn, vì thế các khóa và giá trị được chuyển tới 1 nút n mà bây giờ chịu trách nhiệm về chúng
Với sự giúp đở của các lớp thêm vào như của DHT, chúng có thể dịch các tên cấp cao thành các ID CHORD, CHORD có thể được sử dụng như là 1 dịch vụ tìm kiếm tên
mạnh mẽ tới ánh xạ địa chỉ IP [12], vì CHORD sử dụng DHT để lưu trử cặp (khóa-giá trị) tại các nút mà khóa được ánh xạ vị trí vào [15] Bằng cách phân lớp các đặt tính thêm
vào trên đỉnh của CHORD, nó có khả năng mở rộng và chuyển đổi DHT là 1 phần mở rộng hữu dụng trong hệ thống CHORD có thể cung cấp các giá trị được yêu cầu cho bất
kì khóa nào, vì thế tăng tính hiệu quả và hoạt động của CHORD như 1 bộ quản lý định vị Hình 2.12 cho thấy 1 ứng dụng quản lý định vị đơn giản có thể cung cấp các giá trị, nghĩa
là các địa chỉ IP, cho bất cứ máy nào được liên kết với 1 khóa CHORD bị truy vấn bởi
CN sử dụng các lệnh theo sau
Put( key, value) : lưu trử 1 cặp (khóa- giá trị) vào DHT, sử dụng CHORD để tìm nút
Succ của khóa được băm trên vòng tròn ID
Get (key): lấy giá trị được liên kết với khóa được cho từ DHT CHORD được sử dụng để
định vị nút trên vòng tròn ID để tìm cặp (khóa-giá trị) được yêu cầu
Remove (Key): xóa khóa và giá trị của nút từ các nút liên quan
Ứng dụng quản lý định vị tương tác với CHORD trong 2 cách chính Đầu tiên, nó
cung cấp 1 giải thuật lookup (key) thông qua lệnh Get và Put, cung cấp địa chỉ IP của các
nút liên quan cho khóa và giá trị được liên kết với khóa đó Thứ 2, nó thông báo bất cứ thay đổi ứng dụng nào trong cài đặt của khóa mà nút chịu trách nhiệm [13] Điều này cho phép ứng dụng liên quan di chuyển các giá trị tới các vị trí mới của chúng, nghĩa là cập
nhật DHT chịu trách nhiệm của cặp (khóa-giá trị) mỗi khi có nút đăng nhập hoặc rời khỏi
Trang 30mạng Giao diện RPC bổ xung được yêu cầu để di chuyển các giá trị và dữ liệu tới và đi
từ các nút liên quan
Hình 2.12 Ứng dụng phân lớp quản lý định vị cơ bản
3 PHÂN TÍCH HOẠT ĐỘNG CỦA MSCTP VÀ GIẢI THUẬT CHORD
Giao thức SCTP và giải pháp handoff lớp truyền vận của nó, mobile SCTP (mSCTP) cùng với cấu trúc và hoạt động của giải thuật tìm kiếm CHORD đã được trình bày trong chương 2 Trong chương này, giao thức mSCTP và CHORD sẽ được phân tích riêng lẽ
để kiểm tra sự phù hợp với các mục đích di động Phân tích lý thuyết trể trong quá trình handover của mSCTP trong phần 3.1 bằng cách phân tích mô phỏng tính năng Multihoming và hoạt động của nó khi thực hiện handover Phần 3.2 sẽ kiểm tra tính phù hợp của CHORD khi quản lý định vị liên quan tới độ trể tìm kiếm và lấy các kết quả khi nút đăng nhập hoặc rời mạng Trong phần 3.3 sẽ trình bày kết quả thu được trong quá trình phân tích
3.1 TRỂ HANDOVER CỦA MSCTP
“ Trể Handover là thời gian từ lúc 1 địa chỉ IP đang tồn tại trở thành không sẵn sàng
để truyền dữ liệu từ đầu cuối tới đầu cuối khi 1 nút di chuyển vào trong mạng mới, tới thời gian nút đầu cuối nhận 1 thứ tự truyền dữ liệu đầu cuối tới đầu cuối sử dụng địa chỉ
IP mới nhận được” [8] Trễ handover của mSCTP tại thời điểm này xuất hiện do xác
định sự di chuyển của 1 MN, cấu hình địa chỉ IP mới nhận được và DAR giữa 1 MN và 1
CN [19] Các thông số dưới đây được sử dụng để kiểm tra trể handover cho mSCTP: