QUẢN LÝ HANDOVER LIÊN MẠNG SỬ DỤNG GIAO THỨC MSCTP LUẬN VĂN TỐT NGHIỆP bao gồm 4 chương: CHƯƠNG 1: LÝ THUYẾT GIAO THỨC MSCTP VÀ THUẬT TOÁN CHORD CHƯƠNG 2: PHÂN TÍCH HOẠT ĐỘNG CỦA mSCTP VÀ GIẢI THUẬT CHORD. CHƯƠNG 3: QUẢN LÍ HANDOVER LIÊN MẠNG SỬ DỤNG GIAO THỨC MSCTP VÀ THUẬT TOÁN CHORD. CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.
Trang 1KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN VIỄN THÔNG
LUẬN VĂN TỐT NGHIỆP
QUẢN LÝ HANDOVER LIÊN MẠNG
SỬ DỤNG GIAO THỨC MSCTP
GVHD: TS NGUYỄN MINH HOÀNG SVTH: TRẦN CÔNG KHANH
MSSV: 40701076
Trang 2NHIỆM VỤ LUẬN VĂN TỐT NGHIỆP
1 HỌ VÀ TÊN: TRẦN CÔNG KHANH MSSV: 40701076 2 NGÀNH: ĐIỆN TỬ VIỄN THÔNG LỚP: DD07DV3 3 Đề tài: “QUẢN LÝ HANDOVER LIÊN MẠNG SỬ DỤNG GIAO THỨC MSCTP”. 4 Nhiệm vụ (Yêu cầu về nội dung và số liệu ban đầu):
5 Ngày giao nhiệm vụ luận văn:
6 Ngày hoàn thành nhiệm vụ:
7 Họ và tên người hướng dẫn: Phần hướng dẫn
Nội dung và yêu cầu LVTN đã được thông qua Bộ Môn Tp.HCM, ngày… tháng… năm 2012 CHỦ NHIỆM BỘ MÔN NGƯỜI HƯỚNG DẪN CHÍNH PHẦN DÀNH CHO KHOA, BỘ MÔN: Người duyệt (chấm sơ bộ):
Đơn vị:
Ngày bảo vệ:
Điểm tổng kết:
Nơi lưu trữ luận văn:
Trang 3Tp Hồ Chí Minh, ngày … tháng … năm 2012
PHIẾU CHẤM BẢO VỆ LUẬN VĂN
(Dành cho giảng viên hướng dẫn)
2 NGÀNH: ĐIỆN TỬ VIỄN THÔNG
3 Đề tài: “QUẢN LÝ HANDOVER LIÊN MẠNG SỬ DỤNG GIAO THỨC MSCTP”.
4 Họ tên người hướng dẫn: TS NGUYỄN MINH HOÀNG.
5 Tổng quát về bản thuyết minh:
Số trang ……… Số chương ………
Bảng số liệu ……… Số hình vẽ ………
Số tài liệu tham khảo ……… Phần mềm tính toán ………
6 Những ưu điểm chính của LVTN:
7 Những thiếu sót của LVTN:
8 Đề nghị: Được bảo vệ □ Bổ sung thêm để bảo vệ □ Không được bảo vệ □ 9 Câu hỏi sinh viên trả lời trước Hội Đồng: a
b
c
d
e
10 Đánh giá chung (bằng chữ: GIỎI, KHÁ, TB)……….Điểm………
Ký tên
(ghi rõ họ tên)
Trang 4
Tp Hồ Chí Minh, ngày … tháng … năm 2012 PHIẾU CHẤM BẢO VỆ LUẬN VĂN (Dành cho giảng viên phản biện) 1 HỌ VÀ TÊN: TRẦN CÔNG KHANH MSSV: 40701076 2 NGÀNH: ĐIỆN TỬ VIỄN THÔNG 3 Đề tài: “QUẢN LÝ HANDOVER LIÊN MẠNG SỬ DỤNG GIAO THỨC MSCTP”. 4 Họ tên người phản biện:
5 Tổng quát về bản thuyết minh: Số trang ……… Số chương ………
Bảng số liệu ……… Số hình vẽ ………
Số tài liệu tham khảo ……… Phần mềm tính toán ………
6 Những ưu điểm chính của LVTN:
7 Những thiếu sót của LVTN:
8 Đề nghị: Được bảo vệ □ Bổ sung thêm để bảo vệ □ Không được bảo vệ □ 9 Câu hỏi sinh viên trả lời trước Hội Đồng: 1.1
1.2
1.3
1.4
1.5
10 Đánh giá chung (bằng chữ: GIỎI, KHÁ, TB)……….Điểm………
Ký tên
(ghi rõ họ tên)
Trang 6ời đầu tiên con xin cảm ơn bố mẹ đã nuôi nấng và cho con cơ hội học tập; sự quan tâm của bố mẹ về tất cả mọi mặt đã giúp con có thể trơ thành một người trương thành như hôm nay.
LTiếp đó, Em xin bày tỏ lòng biết ơn sâu sắc đến TS Nguyễn Minh Hoàng,
giáo viên hướng dẫn trực tiếp của em Trong suốt quá trình thực hiện luận văn, thầy luôn theo sát, chỉ bảo và sẵn sàng giải đáp mọi thắc mắc của em Sự ân cần chu đáo của thầy đã giúp em thêm tự tin để có thể hoàn thành tốt luận văn tốt nghiệp này.
Em xin chân thành cảm ơn các thầy cô trường Đại học Bách Khoa TP HCM, các thầy cô khoa Điện - Điện tử đã tận tình giảng dạy và truyền đạt kiến thức cho chúng em trong suốt thời gian qua.
Sau nữa em xin cảm ơn bạn bè luôn sẵn lòng giúp đỡ và động viên.
Mặc dù đã cố gắng rất nhiều nhưng do còn hạn chế về kiến thức, thời gian thực hiện nên không tránh khỏi những thiếu sót, chưa đạt trong luận văn của mình, chúng em rất mong nhận được những lời chỉ bảo, những góp ý của thầy cô và các bạn.
TP Hồ Chí Minh, ngày 21 tháng 12 năm 2011
TRẦN CÔNG KHANH
Trang 7MỤC LỤC
Trang 8DANH MỤC HÌNH
CHƯƠNG 1:
Trang 9DANH MỤC BẢNG
DANH MỤC TỪ VIẾT TẮT
AR Augmented Reality
DAR Dynamic Address Reconfiguration
DOS Denial Of System
HOL Head Of Line Blocking
Trang 10IETF Internet Engineering Task Force MAC Media Access Control
MIP Mobile IP
mSCTP mobile SCTP
NAT Network Address Translation
PSTN Public Switched Telephone Network SCTP Stream Control Transmission Protocol SCTP-AUTH SCTP-Authentication
SIP Session Initiation Protocol
Trang 11MỞ ĐẦU
Hiện nay, những tập đoàn lớn trong ngành viễn thông của Việt Nam nhưMobifone, Vinafone, Viettel đã xây dựng xong và tiến hành khai thác mạng 3G dựatrên công nghệ WCDMA Với ưu thế tốc độ truy cập Internet lý thuyết có thể lên tới14.7 Mbps cùng nhiều dịch di động dung lượng lớn, 3G được trong đợi sẽ mang lại lợinhuận rất lớn cho các nhà mạng Tuy nhiên thực tế 3G vẫn chỉ chiếm 2 đến 3% lợi
nhuận của nhà mạng (theo VNEXPRESS – 07/11/2011), tập trung chủ yếu vào Internet
thông qua USB 3G Nguyên nhân do tốc độ và băng thông không đủ lớn cho các dịch
vụ chất lượng cao, và cước sử dụng quá cao so với WLAN Vì thế, hướng phát triểncủa mạng di động ở Việt Nam và trên thế giới sẽ kết hợp công nghệ 3G với mạngWLAN để tận dụng băng thông lớn, tốc độ cao, giá thành rẽ của WLAN cùng với khảnăng di động của công nghệ 3G
Để tạo thành một mạng thống nhất, 3G và WLAN phải có khả năng handover
với nhau sử dụng mạng IP Thực tế mobile IP (MIP) cùng với những bản phát triển
của nó như MIPv4 và MIPv6 đã được xây dựng và chuẩn hóa như những giải pháp diđộng lớp mạng Nhưng chúng có nhược điểm dễ nghẽn khi truyền, chi phí đường hầmbắt buộc và yêu cầu nhiều thay đổi bổ sung thiết bị trong những hệ thống hiện tại
Ngoài ra, có những công nghệ khác như Session Initiation Protocol (SIP) được dùng ở
lớp Application và mSCTP tại lớp Transport Ở đây mSCTP được tập trung phân tích
vì khả năng hỗ trợ nhiều giao diện, nhiều địa chỉ IP để quản lý vertical handover
Giao thức lớp Transport Stream Control Transmission Protocol (SCTP) cùng với phần mở rộng của nó là Dynamic Address Reconfiguration (DAR) tạo thành mobile SCTP (mSCTP) mSCTP là giao thức truyền ở lớp Transport, với các đặc điểm
Multihoming và Multistreaming, có thể cung cấp vertical handover giữa 3G vàWLAN, truyền dữ liệu dung lượng cao, không mất dữ liệu, bảo mật, đáp ứng thời gianthực và không cần bất cứ thay đổi nào đối với kiến trúc mạng hiện tại
Tính di động phụ thuộc vào hai yếu tố: quản lý handover và quản lý định vị
Trang 12Do đó để áp dụng vào mạng di động, nó phải làm việc với một thuật toán khác để cungcấp quản lý định vị Các thuật toán P2P như CAN, CHORD, TAPESTRY… được sửdụng rộng rãi để cung cấp các dịch vụ tìm kiếm hiệu quả trên Internet Trong đó thuậttoán CHORD đơn giản và được chấp nhận rộng rãi trong cộng đồng nghiên cứu trên
thế giới CHORD là dịch vụ tìm kiếm sử dụng Distributed Hash Table (DHT) có thể
cung cấp các Value được liên kết với Key cho trước trong cặp Key & Value hiệu quả.Khi sử dụng kết hợp với mSCTP, CHORD sẽ cung cấp quản lý định vị cần thiết chomSCTP
Vì thế, giao thức mSCTP và thuật toán CHORD được tìm hiểu kĩ lý thuyết vàtiến hành mô phỏng hoạt động để phân tích những đặc điểm như thời gian trể, tỉ lệ mấtgói, tỉ lệ thành công truy vấn, qua đó đánh giá tính khả thi khi sử dụng kết hợp
Từ những kết quả đạt được, một giải pháp quản lý handover liên mạng xử dụnggiao thức mSCTP để quản lý handover và thuật toán CHORD để quản lý định vị đượcxây dựng Đây là mục đích của luận văn này
LUẬN VĂN TỐT NGHIỆP bao gồm 4 chương:
CHƯƠNG 1: LÝ THUYẾT GIAO THỨC MSCTP VÀ THUẬT TOÁN CHORDCHƯƠNG 2: PHÂN TÍCH HOẠT ĐỘNG CỦA mSCTP VÀ GIẢI THUẬT CHORD.CHƯƠNG 3: QUẢN LÍ HANDOVER LIÊN MẠNG SỬ DỤNG GIAO THỨC
MSCTP VÀ THUẬT TOÁN CHORD
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Trong CHƯƠNG 1, lý thuyết cơ bản của giao thức mSCTP và thuật toán tìmkiếm CHORD được phân tích kĩ Trong CHƯƠNG 2 tiến hành mô phỏng truyền dữliệu và handover sử dụng giao thức SCTP để phân tích trể handover và tỉ lệ mất góikhi truyền dữ liệu Mô phỏng thuật toán tìm kiếm CHORD để phân tích thời gian truyvấn Key, tỉ lệ truy vấn Key thành công khi mạng thay đổi kích thước CHƯƠNG 3 xâydựng một giải pháp quản lý handover liên mạng sử dụng giao thức mSCTP và thuậttoán tìm kiếm CHORD Qua kết quả mô phỏng ở chương 2 và giải pháp được xâydựng ở chương 3, CHƯƠNG 4 kết luận giao thức mSCTP có thể quản lý Handover
Trang 13liên mạng tốt, nhưng hiện tại nó không hỗ trợ định vị thiết bị nên đề nghị sử dụngthuật toán tìm kiếm CHORD để làm bộ định vị cho giao thức này Trong khuôn khổLuận văn, giải pháp đưa ra chỉ dựa trên những điều kiện lý tưởng: không xảy ra lỗitrong quá trình truyền dữ liệu bằng mSCTP, các Node của thuật toán CHORD đượctạo ra trên một máy chủ và khả năng hoạt động như nhau vì vậy cần phát triển vànghiên cứu thực nghiệm giải pháp này trong hệ thống thực tế để hoàn thiện các tínhnăng mô hình được đề xuất.
Trang 14CHƯƠNG 1: LÝ THUYẾT GIAO THỨC MSCTP VÀ
THUẬT TOÁN CHORD
Chương 1 được trình bày lý thuyết giao thức Stream Control TransmissionProtocol (SCTP) cùng những đặc điểm nổi bật của nó, phần mở rộng DAR, mSCTPcùng với quá trình handover sử dụng giao thức mSCTP Phần cuối chương, thuật toánCHORD được giới thiệu cùng với những đặc điểm riêng của nó
1.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, được thiết kế để thay thế TCP và có lẽ cả UDP [5], được
phát hành bởi IETF, chuẩn hóa năm 2000 SCTP cung cấp truyền dữ liệu tại lớpTransport với những đặc điểm như điều khuyển lưu lượng, an toàn, bảo mật, khôngmất gói Ngoài ra, với cấu hình đa diện, đa địa chỉ IP, kết hợp với đặc điểmMultihoming Multistreaming, và thiết lập kết nối bốn bước giúp cho SCTP có thể cungcấp vertical handover giữa những mạng khác nhau, truyền dữ liệu tốc độ cao, thời gianthực, tin cậy
1.1.1 Quá trình phát triển giao thức SCTP:
Trong quá trình phát triển, các hệ thống di động chuyển mạch công cộng
(PSTN) thế hệ đầu tiên đểu cần sự hỗ trợ của hệ thống báo hiệu số 7 (SS7) [5] SS7
điều khuyển toàn bộ quá trình trao đổi thông tin để thực hiện kết nối cuộc gọi thoạidựa trên chuyển mạch kênh với yêu cầu rất cao truyền tín hiệu đúng giờ và tin cậy.Trong khi đó mạng Internet phát triển nhanh chóng đã mở ra nhiều ý tưởng mới sửdụng mạng IP thực hiện cuộc gọi thoại để giảm chi phí Vì thế năm 1998, một nhóm
nghiên cứu của IETF (SIGTRAN) được thành lập để thiết kế một giải thuật để truyền
tín hiệu điều khuyển cuộc gọi qua mạng IP, bổ xung cho hệ thống SS7 Lúc bấy giờ,tất cả ý tưởng đều dựa trên giao thức TCP, nhưng giao thức này có một số yếu điểmnghiêm trọng trong vai trò điều khuyển cuộc gọi thoại [7]:
Trang 15• 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ệutrước đó bị mất
• Không hỗ trợ Multihoming: khi thiết bị mất tín hiệu kết nối với mạng hiện tại,
nó sẽ kết thúc kết nối lập tức
• Định hướng dòng thay vì định hướng theo bản tin
• Hiện tượng từ chối của hệ thống khi có quá nhiều yêu cầu kết nối tới thiết bịcùng lúc
Vì những điểm yếu này, SIGTRAN đã nghiên cứu và phát triển một giao thứcmới để truyển báo hiệu điều khuyển cuộc gọi thông qua mạng IP ở lớp Transport.Sau nhiều lần phát triển và mở rộng, SCTP chính thức ra đời và được tiêu chuẩn vàonăm 2000
1.1.2 Cấu trúc SCTP
SCTP truyền dữ liệu theo dạng bản tin thông qua lớp Transport SCTP Các bản
tin và thông tin điều khuyển được chia vào các khối riêng biệt (khối dữ liệu hoặc khối
điều khiển), mỗi khối có một header khối riêng Các khối SCTP được đặt vào các gói
SCTP, mỗi gói có một header dài 12 byte và có thể mang nhiều khối điều khuyển và
khối dữ liệu phụ thuộc kích thước PATH-MTU [7] Bảng 1.1 cho thấy cấu trúc một
gói SCTP thông thường
• Cổng nguồn: cổng gởi đi.
• Cổng đích: địa chỉ đích.
• Tag xác minh: mỗi điểm đầu cuối chèn vào 32 bite kiểm tra để xác minh một
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ốiSCTP
• 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
Trang 16Bảng 1.1: Gói SCTP thông thường.
Khối: Một khối có thể là khối dữ liệu hoặc khối điểu khuyển Khối dữ liệu chứa
dữ liệu cùng với các cờ khác nhau để điều khuyển phân mảnh, tái hợp, các thông số
thứ tự truyền (TSN), thứ tự dòng (SSN), và một ID giao thức tải tin Trong khi đó, khối
điểu khuyển chứa nhiểu cờ khác nhau và các thông số phụ thuộc vào loại khối điểu
khuyển Các khối điều khuyển như: 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) [7].
1.1.3 Đặc điểm SCTP:
SCTP được tạo ra để khắc phục những yếu điểm của các giao thức TCP vàUDP, nên nó có tất đặc điểm tốt của hai giao thức này như kiểm soát nghẽn, kiểm soátlưu lượng, truyền dữ liệu có kết nối của TCP, đáp ứng thời gian thực của UDP SCTPcòn có những đặc điểm khác để hỗ trợ cho mạng IP trong tương lai
Bảng 1.2: So sánh tính chất giao thức SCTP, TCP, UDP
Phân phát dữ liệu không theo yêu cầu Có Không Có
Trang 17Kiểm soát nghẽn Có Có Không
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
Kiểm tra khả năng tìm kiếm Có Có Không
Trang 18Hình 1.1: Kết nối Multihoming của SCTP thông qua Ethernet và 802.11.
1.1.5 Đặc điểm Multistreaming:
Multistreaming là đặc điểm quan trọng nhất của SCTP cho phép dữ liệu được
phân ra thành nhiều mảnh, truyền trên các đường độc lập song song tới đích như Hình
1.2 Đặc tính này cho phép dữ liệu được truyền liên tục, khi một bản tin bị mất trên
một đường truyền sẽ không ảnh hưởng tới dữ liệu truyền trên các đường còn lại 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ủamáy thu khi các gói dữ liệu trước đó bị mất
Hình 1.2: Đặc tính Multistreaming của SCTP
Đặc điểm này giúp cho việc phân tán dữ liệu và truyền dữ liệu hoàn toàn độclập Mỗi bảng tin sẽ được gán cho một stream ID để xác định thứ tự phát để bộ thuxá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
Trang 19bả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ẫntiếp tục nhận bảng tin từ các dòng không bị ảnh hưởng.
1.1.6 Thiết lập kết nối:
SCTP thực hiện kết nối bốn bước để cung cấp một kết nối an toàn, có thể tránhđược hiện tượng DOS xảy ra khi có quá nhiều yêu cầu thiết lập kết nối làm cho khôngthể kết nối với địa chỉ mong muốn Giải thuật bắt tay bốn bước được trình bày trongHình 1.4 giữa client và server
1 Client gởi một khối INIT tới server để khởi tạo một kết nối Server đang ở trạngthái đóng ở thời điểm này sẽ phân tích dữ liệu trong INIT khối Server tạo một
bộ băm an toàn của các Value này và một Key bí mật (với giải thuật SHA-1
hoặc MD5) Authentication Tag 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 một khốiCOOKIEECHO, bao gồm COOKIE từ khối INIT-ACK, gởi lại server Nếuclient mang địa chỉ IP giả mạo, nó sẽ không bao giờ gởi khối COOKIE-CHOcho 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 trongkhố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ư một 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ốiCOOKIE-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 20IP, nó có khả năng hỗ trợ các quá trình vertical handover giữa những mạng không
đồng nhất Tuy nhiên trong cấu trúc SCTP hiện tại, như Bảng 1.2, không hổ trợ
vertical handover vì các lí do sau:
• Trong SCTP chuẩn, không thể thêm một POA khi đang thực hiện một kết nốiSCTP
• Khi đang thực hiện kết nối SCTP, quyết định thay đổi địa chỉ chính chỉ phụthuộc vào giải thuật bỏ qua lỗi
1.2.1 Dynamic Address Reconfiguration (DAR)
SCTP có thể được mở rộng để hỗ trợ di động khi dùng kèm DAR Tuy nhiênDAR chỉ có thể sử dụng để kích hoạt khả năng di động, tổng thể không phải là mộtgiải pháp di động [2] DAR cho phép SCTP nhận thêm địa chỉ hoặc xóa địa chỉ IP, yêucầu thay đổi địa chỉ chính trong khi đang thực hiện một kết nối SCTP, sử dụng ba
server
Trang 21thông số: Add-IP, Delete-IP, Set-primary-IP DAR có thêm hai khối mới để mang
thông tin điều khuyển sự 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).
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 SCTPthực hiện handover không ngắt quảng tại lớp Transport Lệnh Thêm-IP thông báo chođiểm đầu cuối khác thêm địa chỉ IP mới vào kết nối SCTP của nó [6]
Bảng 1.3: Thông số ASCONF: Add-IP
Loại = 0x001 Chiều dài (đa dạng)
ASCONF- Request Correlation ID
Thông số địa chỉ
Bảng 1.3 cho thấy cấu trúc bản tin Thêm-IP của 1 khối ASCONF Bản tin này
có loại là 0x001, độ dài đa dạng tùy theo số địa chỉ IP được gởi kèm Tương tự bản tinXóa-IP sẽ có loại là 0x002 và độ dài giống bản tin Add-IP Bản tin Set-primary-IP cóloại là 0x004 Hình 1.6 cho thấy ví dụ 1 bản tin Add-IP khi thêm địa chỉ 192.0.2.1 vàokết nối SCTP
Bảng 1.4: Bảng tin Add-IP
C-ID = 0x01023474 Loại = 5 Độ dài = 8
Value = 0xC0000201
Khối ASCONF
Khối ASCONF được sử dụng để thông báo cho các điểm đầu cuối ở xa khi có
Trang 22thông số cấu hình địa chỉ gồm: Add-IP, Delete-IP, Set-primary-IP Thông tin trong
khối ASCONF dưới dạng Type- Length- Value (TLV)
Bảng 1.5: Khối dữ liệu ASCONF.
Khối ASCONF có Value Loại là 0xC1, các cờ không sử dụng được thiết lập 0,
Chiều dài khối cho biết chiều dài của khối Số thứ tự dùng để phân biệt khối này vớicác khối khác Thông số địa chỉ được đặt cho địa chỉ người gởi
Khối ASCONF-ACK
Bộ thu sẽ dùng khối ASCONF-ACK để trả lời cho bộ phát Bảng 1.8 cho thấy
cấu trúc của khối ASCONF-ACK trong đó Loại được định là 0x80, số thứ tự trongkhối này lấy từ số thứ tự của khối ASCONF nhận được
Bảng 1.6: Khối dữ liệu ASCONF-ACK.
Loại = 0xC1 Các cờ của khối Chiều dài khối
Số thứ tựThông số địa chỉThông số ASCONF # 1Thô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ố thứ tựThông số trả lời ASCONF # 1Thông số trả lời ASCONF # 2
………
Trang 23
1.2.2 Thủ tục handover sử dụng giao thức mSCTP
Hình 1.4: Mô hình handover sử dụng mSCTP.
Trong phần này, một vertical handover được thực hiện dựa trên giao thức
mSCTP khi Mobile Node (MN) di chuyển từ mạng A sang mạn B khi đang kết nối với Correspondent Node (CN) như hình 1.4 Giả thuyết MN đã biết sự di chuyển của nó,
sự thay đổi cường độ tín hiệu từ mạng A tới mạng B, vì vậy không cần quản lý định vị
Khởi tạo phiên kết nối SCTP
Đầu tiên, MN khởi tạo một kết nối SCTP với CN Giả sử MN có địa chỉ IP là
162.168.2.2, nó khởi tạo một kết nối SCTP với CN có địa chỉ 162.168.4.2 CN trong
trường hợp này là một thiết bị single-home trong khi MN được cấu hình multihome nhưng trong trạng thái single-home và dùng địa chỉ 162.168.2.2 làm địa chỉ chính.
Nhận địa chỉ IP của mạng mới
Khi MN di chuyển vào vùng chồng lấn giữa mạng A tới mạng B, MN liên lạc
DHCP server
CN
Trang 24MN cần thông báo cho CN về địa chỉ IP mới nhận, yêu cầu CN thêm địa chỉ mới vàokết nối SCTP hiện tại để truyền dữ liệu theo địa chỉ này.
Thêm địa chỉ IP mới vào kết nối SCTP
MN gởi một khối Thêm-IP có chứa địa chỉ IP mới, 162.168.3.2, tới CN và yêu
cầu CN thêm địa chỉ IP này vào kết nối SCTP hiện tại Sau khi nhận được, CN trả lờibằng khối ASCONF ACK và thêm địa chỉ này vào kết nối SCTP Tuy nhiên, CN sẽvẫn gởi dữ liệu theo địa chỉ IP cũ vì chưa có yêu cầu thay đổi địa chỉ IP chính Lúc này
MN đang ở chế độ dual-home và có thể chọn một trong hai địa chỉ để gởi dữ liệu tớiCN
Thay đổi địa chỉ IP chính
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ếudần, MN phải thay đổi địa chỉ IP chính của kết nối SCTP Tuy nhiên, MN cần có một
số qui luật phù hợp để chuyển giao diện giữa các mạng khác nhau Các qui luật đó baogồm [2] :
• Khi địa chỉ IP mới được xác định
• Các báo hiệu ở các lớp phía trên
• Các báo hiệu ở các lớp bên dưới
• Sử dụng IEEE 802.21 Media Independent Handover (MIH) để lấy các thông tin
mạng
Trong những qui luật trên, chuẩn 802.21 được phát hành riêng để hổ trợ verticalhandover sử dụng mSCTP Sử dụng một trong những qui luật này, MN sẽ thay đổi địachỉ IP chính của nó, đồng thời gởi khối ASCONF tới CN yêu cầu nó gửi dữ liệu theođịa chỉ mới Khi CN nhận được khối ASCONF, nó sẽ truyền dữ liệu theo địa chỉ
162.168.3.2 , và sử dụng địa chỉ 162.168.2.2 làm địa chỉ phụ.
Xóa địa chỉ IP củ khỏi kết nối SCTP
Trang 25Sau khi MN hoàn toàn vào mạng B, nó cần xóa địa chỉ IP củ của mạng A rakhỏi kết nối SCTP MN gởi 1 khối ASCONF có chứa bản tin Delete-IP, yêu cầu CNxóa địa chỉ củ CN sau khi nhận được yêu cầu này sẽ xóa địa chỉ củ.
1.2.3 Những hạn chế của giao thức mSCTP
mSCTP là giải pháp hiệu quả để thực hiện vertical handover giữa các mạngkhác nhau, nhưng nó tồn tại nhiều hạn chế như:
• Hệ thống Network Address Translation (NAT) không thể duy trì mSCTP
handover, vì khi thay đổi địa chỉ IP, nó cũng thay đổi luôn cổng kết nối.mSCTP không hỗ trợ giải vấn đề này, sẽ chấm dứt kết nối [7]
• SCTP được thiết kế cho mạng client- server, nên mSCTP không có bất cứ quiluật dò đường nào để kích hoạt quá trình handover Có nhiều giải pháp đangđược nghiên cứu
• Do được thiết kế cho mạng cố định với địa chỉ IP cố định, mSCTP không có bộquản lý định vị Để áp dụng vào thông tin di động, nó bắt buộc phải làm việcvới một bộ quản lý định vị để cung cấp thông tin định vị cho quá trìnhhandover
1.2.4 Media Independent Handover (MIH)
MIH, hay chuẩn IEEE 802.21, được sử dụng để tối ưu hóa quá trình verticalhandover cho mSCTP [7] MIH cung cấp thông tin kích khởi vertical handover giữanhững mạng không đồng nhất Nhờ đó mSCTP có thể thực hiện vertical handover mộtcách dễ dàng [7] Tuy nhiên, MIH chỉ cung cấp thông tin cho phép vertical handovergiữa các mạng khác nhau, 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 [7]:
• 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ư link down, link up, link goingdown…
Trang 26• Dịch vụ Thông Tin: được sử dụng để tìm và nhận thông tin mạng của thiết bị
đầu cuối, có thể phục vụ cho qua trình handover
MIH có thể xác định được sự thay đổi trạng thái kết nối trong mạng bằng cáchtheo dõi cường độ tín hiệu kết nối của mạng mà thiết bị đầu cuối sử dụng Những trạngthái này bao gồm: link down, link up, link going down vv dùng để tối ưu hóa quátrình chuyển mạch và quyết định khi nào sẽ thực hiện vertical handover của kết nốimSCTP Tuy nhiên, mSCTP vẫn cần một bộ quản lý định vị để cung cấp thông tinđịnh vị chính xác của các điểmd đầu cuối Vì thế giải thuật CHORD DHT được chọn
để nghiên cứu
1.3 Các hệ thống P2P:
Các hệ thống P2P và các ứng dụng đều cấu trúc phân tán, phi tập trung CácNode trong mạng P2P hiện nay đều được phân ra client- server theo những tiêu chuẩnriêng Tuy nhiên, sự phân loại này rất khó vì một server hoặc client của Node này cóthể là client hoặc server của những Node khác Bit Torrent là hệ thống ứng dụng P2P,Node sẽ hoạt động như 1 client khi nó nhận file từ các máy khác, tuy nhiên đồng thời
nó cũng gởi file cho các máy khác như 1 server Vì thế, trong hệ thống P2P chuẩn, tất
cả các Node đều có đặc điểm, vai trò như nhau
1.3.1 Hệ thống P2P thế hệ thứ nhất:
Hệ thống này sử dụng một server trung tâm hay các 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 một server trung tâm để tìm nội dung Khi mộtNode muốn định vị một Node khác, nó chuyển yêu cầu đến server và server sẽ tìmNode đó Vì thế các hệ thống này nhanh và đáng tin cậy Tuy nhiên, do phụ thuộchoàn toàn vào server trung tâm nên chúng dễ gặp lỗi đơn và lượng thông tin cần lưutrử trên hệ thống quá lớn, khó mở rộng [16]
NAPSTER là một đại diện cho loại P2P này Nó có một server trung tâm để
điều phối hoạt động của các client Khi một client yêu cầu một bài hát, server sẽ tạo
Trang 27một 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 và cũng không có thông tinđịnh vị của các Node trong mạng [16] Kỹ thuật chính để xác định dữ liệu làbroadcasting Khi một Node nhận được yêu cầu tìm một Key nào đó, đầu tiên nó sẽkiểm tra xem nó có các file liên kết với Key đó không, nếu không nó sẽ chuyển tiếpyêu cầu này cho các Node “hàng xóm”, quá trình này lập đi lập lại cho đến khi tìm
thấy Key mong muốn GNUTELLA và GREENET là hai đại diện của hệ thống này.
Những hệ thống này có những nhược điểm lớn như không đảm bảo thông tin định vịnội dung, cơ chế flooding và không thể mở rộng hệ thống
1.3.2 Hệ thống P2P thế hệ thứ hai (DHT)
DHT (Distributed Hash Table) có thể xem như hệ thống P2P thế hệ thứ hai,
với khả năng mở rộng, chịu lỗi và cân bằng tải cùng cơ chế tìm nội dung phi tập trung[4] Khi kích thước mạng tăng lên cùng với lượng dữ liệu chia sẽ trong hệ thống cũngtăng thì việc tìm kiếm dữ liệu trong hàng trăm, hàng ngàn Node thực sự là một vấn đềlớn của hệ thống
DHT là một cấu trúc dữ liệu phân tán có chức năng giữ các cặp (Key, Value)
phân tán hoàn toàn và bất kỳ client trong mạng Overlay có thể lấy Value liên kết với
Key đã cho [6] Mỗi cặp (Key, Value) sẽ được ánh xạ vào một Node trong mạng
Overlay bằng hàm băm phù hợp DHT có khả năng cách li một phần mạng khi có sựthay đổi hoặc cập nhật trong mạng, làm giảm chi phí và băng thông cho hệ thống [6].Trong các hệ thống DHT không có các server
Các thuật toán sử dụng DHT phổ biến nhất hiện nay gồm CAN, PASTRY,TAPSTERY và CHORD [7] Trong đó CHORD đơn giản, tìm kiếm hiệu quả và đượccộng đồng nghiên cứu
Trang 281.4 Giải thuật tìm kiếm CHORD
Hình 1.5: Mạng CHORD có 16 Node.
CHORD là một 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 một hoạt động duy nhất: được cho một Key và ánh xạ nó vào một Node hiệu quả [1] CHORD cung cấp phương pháp tính toán nhanh và hiệu quả của hàm
băm bằng cách ánh xạ các Key vào các Node CHORD tạo một Identifier Cirle chứa
2m Identifer được đánh số từ 0 tới 2m -1, trong đó m là số bit Identifier trong thuật toán
SHA-1 (160 bit) Mỗi Node và Key trong mạng Overlay dùng thuật toán CHORD đều
có hai thành phần riêng biệt: một Node Identifier và một Key Identifier NodeIdentifier có 160 bit được tạo thành bằng cách băm địa chỉ IP và cực cổng nó sử dụng.Key Identifier có 160 bit được tạo thành bằng cách băm từ Key của nó
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[1]:
Cân bằng tải: Quá trình tạo và phân bổ Key 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 khả năng cânbằ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 Node 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
Trang 29Khả năng mở rộng: Số bảng tin yêu cầu trong một phiên tìm kiếm CHORD tăng theo
hàm logarit của số Node 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ứctạ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ó
một Node 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 (Key, Value) 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.
Đặt tên linh hoạt: CHORD không hạn chế cấu trúc của Key nó tìm kiếm, nghĩa là
không gian Key của thuật toán CHORD là phẳng
1.4.1 Thành phần:
Successor Node: Successor(k) là Node ở vị trí bằng hoặc ngay sau Key k trên
Identifier Circle theo chiều kim đồng hồ
Predecessor Node: Predecessor(k) là Node ở vị trí bằng hoặc ngay trước Key k trên
Identifier Circle theo chiều kim đồng hồ Hình 1.11 cho Successor(1) là Node 1,Predecessor(5) là Node 3
Trang 30Finger Table: Mỗi Node n có 1 bảng định tuyến trong đó có m dòng (với m là
số bit Identifier, tức trong không gian mạng Overlay có 2 m Identifier) gọi là Finger
Table Hình 1.7 cho thấy Finger Table của các Node trong mạng Overlay gồm 8
Identifier
Hình 1.7: Finger Table của các Node 0, Node 1, Node 3.
Mỗi Node có một Finger Table, mỗi bảng chứa 3 cột và m dòng Cột For chobiết cách xác đinh các Identifier Key trong Finger Table của mỗi Node, cột Start chobiết Key Identifer, và cột Succ cho biết Succssor Node của các Key này Như trên
hình 1.7, bảng Finger Table của Node 0 chứa 3 Key là 1, 2, 4 và Succssor Node của
chúng lần lược là N1, N3, N0
1.4.2 Ánh xạ Key vào Node:
Trong mạng Overlay sử dụng thuật toán CHORD, khi Node muốn tìm Keynào đó, nó sẽ dùng thuật toán SHA-1 để băm Key đó để tạo thành Key Identifer và
tìm Node đang giữ Key Identifer này Có nhiều nhất 0log(N) (với N là số Node trong
mạng) bảng tin cần thiết để tìm Key Indentifer này.
Trang 31Hình 1.8: Quá trình N7 tìm K27.
Trong hình 1.8 ta thấy Node N8 muốn tìm 54, nó sẽ băm 54 để tạo ra K5 Đầu
tiên N8 kiểm tra thấy nó không có K54, nó tra trong bảng Finger Table của nó thấyK54 nằm trong không gian giữa Identifer 40 và Identifer 8, tất cả Key từ K42 tới K8 sẽ
có Succssor Node là N42 N8 chuyển yêu cầu tìm K54 tới N42, N42 kiểm tra không có
có K54, nó sẽ lập lại quá trình tìm kiếm như N8, và gởi yêu cầu truy vấn tới N51 kèmtheo địa chỉ của N8 N51 tiếp tục gởi yêu cầu này tới N56, N56 kiểm tra thấy nó cóK54, sẽ trả lời gởi thẳng xác nhận tới N8, thông báo vị trí K54
1.4.3 Chèn cặp (KEY, VALUE) vào Node
Thuật toán CHORD sử dụng DHT để lưu trử các cặp (Key, Value) ở các Node.
Khi Node muốn chèn một giá trị V1 vào một key, nó thực hiện lại quá trình tìm kiếmNode giữ Key đó như phần 1.7.2 Khi đó Node giữ Key sẽ gởi vị trí của nó cho Nodeyêu cầu, Node sẽ chèn giá trị V1 theo địa chỉ này Trong trường hợp muốn chèn giá trị
V1 liên kết với K54, N8 sẽ chèn V1 vào N56 để tạo thành 1 cặp (Key, Value) của K54
và V1 được lưu trử tại N56
1.4.4 Thêm Node
Trong thông tin di động, các thiết bị di động có thể ra vào mạng bất cứ lúc nào