Ngoài ra, một số điểm khác biệt nữa của mạng di động ad-hoc so với các mạng khác như: các nút mạng có thể di động, dẫn đến tô-pô mạng bị thay đổi; băng thông của mạng cũng thay đổi liên
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TRƯƠNG QUANG ĐẠT
KHẢO SÁT TRUYỀN DỮ LIỆU BẰNG FLOODING CÓ KIỂM SOÁT TRONG MẠNG DI ĐỘNG AD-HOC
LUẬN VĂN THẠC SĨ
Hà Nội – 2011
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TRƯƠNG QUANG ĐẠT
KHẢO SÁT TRUYỀN DỮ LIỆU BẰNG FLOODING CÓ KIỂM SOÁT TRONG MẠNG DI ĐỘNG AD-HOC
Chuyên ngành : Truyền dữ liệu và Mạng máy tính
Mã số : 60 48 15
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS TRẦN THỊ MINH CHÂU
Hà Nội – 2011
Trang 3v
NỘI DUNG
Lời cam đoan i
Lời cảm ơn ii
TÓM TẮT iii
NỘI DUNG v
DANH MỤC HÌNH viii
DANH MỤC BẢNG ix
DANH MỤC TỪ VIẾT TẮT x
CHƯƠNG 1 1
GIỚI THIỆU 1
1.1 Kiến thức chung 1
1.2 Mô tả vấn đề 2
1.3 Công việc liên quan 3
1.4 Bố trí luận văn 3
CHƯƠNG 2 4
MẠNG DI ĐỘNG AD-HOC VÀ ĐỊNH TUYẾN 4
2.1 Mạng di động ad-hoc (Mobile Ad-hoc Network) 4
2.2 Đặc tính của mạng ad-hoc 5
2.3 Ứng dụng của mạng ad-hoc 5
2.4 Chuẩn mạng không dây 802.11 6
2.4.1 Chuẩn 802.11 6
2.4.2 Chuẩn 802.11b 8
2.4.3 Chuẩn 802.11a 8
2.4.4 Chuẩn 802.11g 9
2.4.5 Chuẩn 802.11n 9
2.5 Định tuyến trong mạng ad-hoc 10
2.5.1 Tổng quan về định tuyến trong mạng ad-hoc 10
Trang 4vi
2.5.2 Destination-Sequenced Distance-Vector Routing (DSDV) 13
2.5.3 Dynamic Source Routing (DSR) 15
2.5.4 Ad Hoc On-Demand Distance Vector Routing (AODV) 17
2.5.5 Temporally Ordered Routing Algorithm (TORA) 19
2.5.6 So sánh 21
2.6 Tổng kết chương 23
CHƯƠNG 3 24
CÁC THUẬT TOÁN FLOODING TRONG MANETs 24
3.1 Thuật toán flooding chuẩn 24
3.2 Tại sao các thuật toán flooding đáng quan tâm 27
3.3 Một vài thuật toán flooding cải tiến 27
3.3.1 Self-pruning 27
3.3.2 Flooding based on 1-hop information (1HI) 28
3.3.3 Flooding based on 2-hop backward information (2HBI) 29
3.3.4 Flooding with dominant pruning (FWDP) 33
3.4 Tổng kết chương 35
CHƯƠNG 4 36
MÔ PHỎNG VÀ ĐÁNH GIÁ 36
4.1 Môi trường mô phỏng NS2 36
4.1.1 Nút mạng di động 37
4.1.2 Tổng quan về mô phỏng 38
4.2 Thiết lập mô phỏng cho thuật toán FWDP 39
4.3 Kết quả thử nghiệm 40
4.4 Tổng kết chương 40
CHƯƠNG 5 42
KẾT LUẬN 42
PHỤ LỤC 43
PHỤ LỤC A 43
PHỤ LỤC B 56
Trang 5vii
PHỤ LỤC C Script mô phỏng mạng 58 PHỤ LỤC D Dữ liệu mô phỏng trung bình 67 TÀI LIỆU THAM KHẢO 68
Trang 6viii
DANH MỤC HÌNH
Hình 2.1: Mô hình của một mạng ad-hoc 4
Hình 2.2: Kiến trúc mạng IEEE 802.11 8
Hình 2.3: Phân loại các giao thức định tuyến ad-hoc 12
Hình 2.4: Chuyển động trong mạng ad-hoc 14
Hình 2.5: Hình thành tiêu đề gói tin suốt quá trình khám phá tuyến đường 16
Hình 2.6: Lan truyền gói tin route reply với tiêu đề gói tin 16
Hình 2.7: Quá trình quảng bá gói tin RREQ 17
Hình 2.8: Đường đi của gói tin RREP về nút nguồn 18
Hình 2.9: Tạo tuyến đường trong TORA 20
Hình 2.10: Duy trì tuyến đường trong TORA 21
Hình 3.1: Quá trình flooding trong một mạng ad-hoc 25
Hình 3.2: Cây flooding tối ưu trong một mạng ad-hoc 26
Hình 3.3: Tập chuyển tiếp tối ưu của nút 3 theo 1HI gồm nút 5 và 6 29
Hình 3.4: Thông tin lùi 2-chặng của nút 4 30
Hình 3.5: Quá trình flooding theo thuật toán 2HBI 32
Hình 3.6: Phương pháp Dominant pruning 34
Hình 4.1: Network Simulator 2 36
Hình 4.2: Một nút mạng di động theo chuẩn không dây mở rộng CMU cho ns 37 Hình 4.3: Tổng quan về mô phỏng 38
Hình 4.4: Hiệu năng của FWDP và AODV 40
Trang 7ix
DANH MỤC BẢNG
Bảng 2.1: Cấu trúc bảng định tuyến của nút mạng MH4 14Bảng 2.2: So sánh các giao thức định tuyến ad-hoc 22Bảng 4.1: Tổng hợp các tham số mô phỏng 39
Trang 8x
DANH MỤC TỪ VIẾT TẮT
1HI Flooding based on 1-Hop Information
2HBI Flooding based on 2-Hop Backward Information
AODV Ad-hoc On-demand Distance Vector routing
CSMA/CA Carrier Sense Multiple Access/Collision Avoidance
DSDV Destination-Sequenced Distance-Vector routing
DSR Dynamic Source Routing
DSSS Direct-Sequence Spread Spectrum
FHSS Frequency Hopping Spread Spectrum
FWDP Flooding With Dominant Pruning
IEEE Institute of Electrical and Electronics Engineers
MAC Media Access Control
MANET Mobile Ad-hoc NETwork
RREP Route REPly
RREQ Route REQuest
TORA Temporally Ordered Routing Algorithm
Trang 91
CHƯƠNG 1 GIỚI THIỆU
1.1 Kiến thức chung
Truyền thông không dây giữa những người dùng di động đang trở nên phổ biến Bởi vì gần đây những cải tiến công nghệ trong máy tính xách tay và các thiết bị truyền dữ liệu không dây, chẳng hạn như modem và LAN không dây Điều này làm cho giá thành rẻ hơn và tốc độ truyền dữ liệu cao hơn Đó là hai lý
do chính tại sao điện toán di động tiếp tục phát triển nhanh chóng
Có hai cách tiếp cận riêng biệt cho phép truyền thông không dây giữa hai host Cách thứ nhất là đặt cơ sở hạ tầng mạng tế bào đã có để truyền dữ liệu như
giọng nói Những vấn đề chính bao gồm chuyển vùng (hand-off), cố gắng điều
khiển tình huống khi một kết nối phải được truyền thông suốt từ trạm này đến trạm khác mà không quan tâm đến độ trễ hay mất gói tin Một vấn đề nữa là mạng dựa vào cơ sở hạ tầng tế bào bị giới hạn ở những nơi tồn tại cơ sở hạ tầng mạng tế bào như thế
Cách tiếp cận thứ hai là một hình thức mạng ad-hoc giữa tất cả những người dùng muốn truyền thông với nhau Có nghĩa là, tất cả những người dùng muốn tham gia vào mạng ad-hoc phải mong muốn chuyển tiếp các gói dữ liệu nhằm đảm bảo các gói tin như thế phải được chuyển phát từ nguồn đến đích Hình thức của mạng này bị giới hạn ở phạm vi truyền thông của các nút mạng so với phạm vi truyền thông của hệ thống mạng tế bào Điều này không có nghĩa cách tiếp cận tế bào là tốt hơn so với cách tiếp cận ad-hoc Mạng ad-hoc có một
số thuận lợi so với các hệ thống mạng tế bào cổ điển gồm:
Thiết lập theo yêu cầu
Chịu đựng được lỗi
Kết nối không ràng buộc
Mạng ad-hoc không dựa vào bất kỳ cơ sở hạ tầng đã được thiết lập trước
và vì vậy có thể được triển khai ở những nơi không có cơ sở hạ tầng mạng Điều
Trang 102
này giúp ích cho những tình huống thảm họa và những nơi với cơ sở hạ tầng truyền thông không có hoặc bị sự cố mà ở đó việc triển khai một mạng truyền thông nhanh chóng là cần thiết Mạng ad-hoc cũng giúp ích trong các hội nghị, ở
đó những người tham gia hội nghị có thể hình thành một mạng tạm thời
Bởi vì các nút mạng đang chuyển tiếp gói tin cho các nút khác nên một vài loại giao thức định tuyến là cần thiết để giải quyết vấn đề định tuyến Hiện tại, không có bất kỳ chuẩn nào cho giao thức định tuyến mạng ad-hoc, bởi vì công việc này vẫn đang được nghiên cứu và phát triển Nhiều vấn đề còn lại phải được giải quyết trước khi chuẩn bất kỳ có thể được xác định Luận văn này khảo sát một số vấn đề đó, tìm hiểu một vài thuật toán flooding Sau đó, cài đặt thuật toán flooding with dominant pruning (gọi tắt là FWDP) cho mạng di động ad-hoc Đánh giá hiệu năng của thuật toán đã cài đặt và so sánh với giao thức định tuyến AODV
1.2 Mô tả vấn đề
Mục tiêu của luận văn này là tìm hiểu và cài đặt một thuật toán flooding cho mạng di động ad-hoc (MANET), đánh giá hiệu năng của thuật toán này Việc đánh giá phải được thực hiện về mặt lý thuyết và thông qua mô phỏng mạng Cũng như mong muốn so sánh kết quả với giao thức định tuyến AODV Lúc bắt đầu luận văn này, tác giả chưa thực thi bất kỳ giao thức nào, vì vậy nhiệm vụ chính trước hết là thực thi giao thức AODV
Luận văn này cũng gồm mục đích tạo ra một môi trường mô phỏng mạng
có thể được dùng làm cơ sở để tìm hiểu thêm trong một số lĩnh vực của mạng ad-hoc Môi trường mô phỏng mạng dựa vào bộ mô phỏng mạng ns2
Mục tiêu của luận văn này là:
Có một hiểu biết chung về mạng ad-hoc
Tìm hiểu một vài giao thức định tuyến chính của mạng ad-hoc Sau đó
so sánh các giao thức định tuyến này
Tìm hiểu về thuật toán flooding trong mạng ad-hoc và một số thuật toán flooding có cải tiến Trong đó sẽ mô tả chi tiết về thuật toán FWDP và được chọn để cài đặt trên môi trường giả lập
Cài đặt thuật toán FWDP cho ns2 Sau đó sẽ đánh giá và so sánh hiệu năng của thuật toán này với thuật toán định tuyến AODV
Trang 113
Kết luận chung về luận văn
1.3 Công việc liên quan
Nhiều giao thức định tuyến đã được đề xuất [1][2][4][5], nhưng một vài
so sánh giữa các giao thức khác nhau cũng được thực hiện Do công việc đã được thực hiện trong lĩnh vực này, chỉ có công việc được thực hiện bởi dự án Monarch tại trường Đại học Carnegie Mellon (CMU) đã so sánh một số giao thức định tuyến khác nhau và đánh giá chúng dựa trên cùng các tham số đo định
lượng Các kết quả được trình bày trong bài báo “A performance comparison of
multi-hop ad hoc wireless network routing protocols” [6] được xuất bản tháng
10/1998 Cũng đã có một số kết quả mô phỏng khác [17] được thực hiện trên các giao thức riêng biệt Tuy nhiên, những mô phỏng này không dùng cùng tham số đo và do đó không thể so sánh với các giao thức khác
1.4 Bố trí luận văn
Luận văn này gồm có 5 chương Chương 1 và 2 tìm hiểu các khái niệm về mạng ad-hoc và một vài giao thức định tuyến chính của nó Chương 3 tìm hiểu
về thuật toán flooding trong mạng di động ad-hoc và một số thuật toán flooding
có cải tiến Trong đó sẽ mô tả chi tiết về thuật toán FWDP, sau đó sẽ chọn thuật toán này để cài đặt và thử nghiệm Chương 4, mô phỏng và đánh giá thuật toán FWDP bằng bộ mô phỏng mạng ns2, so sánh hiệu năng với giao thức định tuyến AODV Và cuối cùng là chương 5, tổng kết luận văn và các tài liệu tham khảo
Trang 124
CHƯƠNG 2 MẠNG DI ĐỘNG AD-HOC VÀ ĐỊNH TUYẾN
2.1 Mạng di động ad-hoc (Mobile Ad-hoc Network)
Mạng di động ad-hoc hay còn gọi là mạng ad-hoc (Mobile Ad-hoc Network, MANET), là một mạng tự định hình từ các thiết bị di động có thể được kết nối với nhau bởi các liên kết không dây Trong mạng di động ad-hoc, các nút mạng di chuyển tự do vì thế tô-pô mạng có thể thay đổi một cách nhanh chóng và không thể dự đoán được Hơn nữa, các nút mạng bị giới hạn phạm vi truyền thông làm cho một số nút mạng khác không thể giao tiếp trực tiếp được với nhau Vì các tuyến đường trong mạng ad-hoc nhiều khả năng sẽ phải đi qua nhiều chặng nên mỗi nút mạng đóng vai trò như một router
Hình 2.1: Mô hình của một mạng ad-hoc
Sự phát triển nhanh chóng của hệ thống mạng không dây 802.11/Wifi và laptop đã làm cho MANET là một chủ đề nghiên cứu phổ biến trong những năm gần đây Nhiều bài báo đã nghiên cứu và phát triển các giao thức định tuyến cũng như khả năng ứng dụng với những mức độ khác nhau cho tính di động trong một khuôn khổ nhất định
Trang 135
Mạng ad-hoc là tập hợp các thiết bị di động được trang bị các bộ phận truyền và nhận, được kết nối với nhau mà không cần bất kỳ cơ sở hạ tầng cố định nào MANET được định nghĩa với các đặc tính như mục đích riêng biệt, di động và tự điều khiển So với mạng không dây có cơ sở hạ tầng, không tồn tại mối quan hệ khách – chủ trong mạng ad-hoc Các nút mạng dựa vào nút khác để thiết lập đường truyền thông, do đó mỗi nút mạng hoạt động như một router Vì vậy, trong MANET, gói tin có thể truyền từ nút nguồn đến nút đích một cách trực tiếp hoặc thông qua một tập nút chuyển tiếp gói tin trung gian
Điều khiển và quản lý mạng ad-hoc được phân tán dọc theo các nút mạng tham gia Mỗi nút chịu trách nhiệm chuyển tiếp gói tin đến các nút mạng khác Các nút mạng cũng cộng tác với nhau để thực hiện chức năng mạng thông thường, chẳng hạn như bảo mật mạng Các nút trong mạng ad-hoc di động cao làm cho tô-pô mạng thay đổi nhanh chóng và không thể đoán trước được
Hơn nữa, việc kết nối dọc theo các host sẽ thay đổi theo thời gian Trong nhiều trường hợp, mạng ad-hoc hoạt động dựa trên các thiết bị có nguồn năng lượng thấp Thông thường, những thiết bị này với khả năng xử lý CPU thấp và kích thước bộ nhớ nhỏ Vì vậy, khả năng ảnh hưởng của MANET đến các thiết
bị khác là hoàn toàn có thể
Rõ ràng định tuyến trong mạng ad-hoc khác với định tuyến trong mạng cố định Định tuyến trong MANET phụ thuộc vào nhiều yếu tố, bao gồm tô-pô mạng, chọn các tuyến đường, khởi tạo yêu cầu và băng thông sẵn có
Cuối cùng, một vài vấn đề kỹ thuật phải được giải quyết trước khi mạng ad-hoc trở nên thiết thực hơn Vấn đề định tuyến phải được giải quyết một cách
tự động khi các nút mạng chuyển động và do đó tô-pô mạng thường xuyên thay đổi Nút mạng chuyển động, giới hạn nguồn pin, băng thông thấp của các liên kết không dây và đặc tính mất đường đi của chúng tạo nên các giải pháp cho các vấn đề độc đáo và thú vị
Đáp ứng nhu cầu truyền thông mang tính chất tạm thời: tại một địa
điểm trong một thời gian nhất định, như trong một cuộc hội thảo hay trong một lớp học, …Việc xây dựng một mạng mang tính chất tạm thời để truyền thông với nhau diễn ra trong một thời gian ngắn Nếu ta thiết lập một mạng có cơ sở hạ tầng, dù là mạng không dây vẫn rất tốn kém về tài chính, nhân lực và cả về thời
Trang 146
gian Do đó, trong những trường hợp này thì việc xây dựng một mạng di động ad-hoc là thích hợp nhất
Hỗ trợ khi xảy ra thiên tai, hỏa hoạn: khi xảy ra thiên tai, hỏa hoạn ở
một nơi nào đó, cơ sở hạ tầng ở đó như máy chủ, các máy trạm và đường dây,
… có thể bị phá hủy dẫn đến hệ thống mạng bị tê liệt là hoàn toàn khó tránh khỏi Vì thế, việc thiết lập nhanh chóng một mạng có tính tin cậy mà không cần
cơ sở hạ tầng để đáp ứng nhu cầu truyền thông, giúp khắc phục, giảm tổn thất sau thiên tai, hỏa hoạn là cần thiết Mạng di động ad-hoc lại là một lựa chọn thích hợp cho những tình huống như vậy
Đáp ứng vấn đề truyền thông tại những nơi xa trung tâm, các vùng sâu, vùng xa: tại những nơi xa trung tâm, dân cư thưa thớt hay những vùng sâu,
vùng xa, việc thiết lập một mạng có cơ sở hạ tầng là rất tốn kém và khó khăn Cho nên, ở những nơi này, giải pháp được đưa ra là sử dụng mạng di động ad-hoc hay các mạng vệ tinh
Tính hiệu quả: trong một số ứng dụng nào đó, nếu sử dụng dịch vụ mạng
có cơ sở hạ tầng có thể hiệu quả không cao bằng việc dùng mạng di động hoc Ví dụ như với một mạng có cơ sở hạ tầng, do được điều khiển bởi một base station nên các nút mạng muốn truyền thông với nhau đều phải thông qua nó Ngay cả khi hai nút mạng ở gần nhau, chúng cũng không thể trực tiếp truyền thông với nhau mà phải chuyển tiếp qua một base station ở xa Điều đó gây ra sự lãng phí thời gian và băng thông mạng Trong khi đó, nếu sử dụng mạng di động ad-hoc thì việc truyền thông giữa hai nút mạng đó lại trở nên vô cùng dễ dàng và nhanh chóng Hai nút mạng gần nhau có thể truyền thông trực tiếp với nhau mà không cần phải thông qua thiết bị trung gian nào khác
ad-2.4 Chuẩn mạng không dây 802.11
2.4.1 Chuẩn 802.11
Năm 1997, tổ chức IEEE (Institute of Electrical and Electronics Engineers) phát hành chuẩn mạng cục bộ không dây (WLAN) 802.11 [21] Như tên khuyến nghị, nó thuộc về nhóm chuẩn IEEE 802.x phổ biến, chẳng hạn như IEEE 802.3 Ethernet và IEEE 802.5 Token Ring IEEE 802.11 định nghĩa điều khiển truy cập môi trường (MAC) và đặc tả tầng vật lý (PHY) cho mạng không dây LAN Ba đặc tả tầng vật lý khác nhau được định nghĩa với tên gọi là trải phổ nhảy tầng (FHSS), trải phổ trực tiếp (DSSS) và tia hồng ngoại (IR), tốc độ
Trang 157
truyền dữ liệu tối đa lên đến 2 Mbps Các tầng vật lý DSSS và FHSS hoạt động
ở dải băng đăng ký miễn phí 2.4 GHz
Thời gian qua, MAC ban đầu vẫn còn nguyên vẹn, công nghệ được phát triển với đặc tả tầng vật lý mới Năm 1999, IEEE giới thiệu hai đặc tả tầng vật lý cải tiến là 802.11b và 802.11a với tốc độ truyền dữ liệu lên đến 11 Mbps và 54 Mbps tương ứng 802.11b cũng dựa vào DSSS và hoạt động ở dải băng 2.4 GHz, còn 802.11a dựa vào ghép kênh theo tần số trực giao (OFDM) và hoạt động ở dải băng 5 GHz Năm 2003, IEEE phát hành phiên bản 802.11g là mở rộng của tầng vật lý 802.11b hỗ trợ tốc độ truyền dữ liệu lên đến 54 Mbps ở dải băng 2.4 GHz
IEEE 802.11 đã thu được lợi nhuận lớn bởi vì hiệu quả chi phí và dễ phát triển nó Ngày nay, sức nóng của IEEE 802.11 có sẵn tại các phòng làm việc, khu đại học, sân bay, khách sạn, các trạm vận chuyển công cộng, tại các nhà riêng, … làm cho nó là một trong những công nghệ mạng không dây được triển khai rộng lớn trên thế giới
IEEE 802.11 định nghĩa hai kiến trúc khác nhau là tập dịch vụ cơ bản (BSS) và tập dịch vụ cơ bản phụ thuộc (IBSS) Trong BSS, số trạm không dây được gọi là STA, được liên kết với điểm truy cập (AP) Tất cả truyền thông với nhau thông qua AP Trong IBSS, các trạm STA có thể truyền thông trực tiếp với nhau khi chúng cùng ở trong phạm vi truyền thông Dạng kiến trúc này dễ dàng hình thành một mạng ad-hoc không dây khi thiếu vắng bất kỳ cơ sở hạ tầng mạng
Một vài BSS có thể được kết nối với nhau qua một hệ thống phân phối (DS) để hình thành một mạng mở rộng, được gọi là tập dịch vụ mở rộng (ESS) Hình 2.2 minh họa kiến trúc mạng IEEE 802.11
IEEE 802.11 MAC định nghĩa hai cơ chế truy cập khác nhau, chức năng điều phối phân tán bắt buộc (DCF) cung cấp việc truy cập kênh phân phối dựa vào CSMA/CA và chức năng phối hợp điểm tùy ý (PCF) cung cấp việc truy cập kênh kiểm soát trung tâm thông qua việc kiểm tra vòng
Trong DCF, tất cả các trạm tranh chấp để truy cập môi trường theo kiểu phân bố dựa vào giao thức CSMA/CA Lý do của các cơ chế truy cập này cũng được quy vào như việc truy cập kênh dựa vào tranh chấp Trong PCF, một bộ điều phối điểm (PC) hầu như thường xuyên được bố trí trong AP, điều khiển truy cập môi trường dựa vào sơ đồ kiểm tra vòng Như vậy, PC thăm dò các
Trang 162.4.3 Chuẩn 802.11a
Trong khi 802.11b vẫn đang được phát triển, IEEE đã tạo một mở rộng thứ cấp cho chuẩn 802.11 thành chuẩn 802.11a Vì 802.11b được sử dụng rộng rãi quá nhanh so với 802.11a, người ta cho rằng 802.11a được tạo ra sau 802.11b Tuy nhiên, trên thực tế, chúng được tạo ra một cách đồng thời Do giá thành cao hơn nên 802.11a chỉ được dùng trong các mạng doanh nghiệp, còn 802.11b thích hợp hơn với thị trường mạng gia đình 802.11a hỗ trợ băng thông
Trang 179
lên đến 54 Mbps và sử dụng tần số vô tuyến 5 GHz Tần số của 802.11a cao hơn
so với 802.11b, chính vì vậy làm cho phạm vi của hệ thống này hẹp hơn so với các mạng 802.11b Với tần số này, các tín hiệu của 802.11a cũng khó xuyên qua các vách tường và các vật cản trở khác Do 802.11a và 802.11b sử dụng các tần
số khác nhau, nên hai công nghệ này không thể tương thích với nhau Chính vì thế, một số hãng đã cung cấp các thiết bị mạng lai cho 802.11a/b nhưng các sản phẩm này chỉ đơn thuần là bổ sung thêm hai chuẩn như vậy Ưu điểm của 802.11a là tốc độ cao, tần số 5GHz nên tránh xa được xuyên nhiễu từ đến các thiết bị khác Nhưng có nhược điểm là giá thành đắt, phạm vi hẹp và dễ bị che khuất
2.4.4 Chuẩn 802.11g
Vào năm 2002 và 2003, các sản phẩm WLAN hỗ trợ một chuẩn mới hơn
đó là 802.11g, nó được đánh giá cao trên thị trường Chuẩn 802.11g thực hiện sự kết hợp tốt nhất giữa 802.11a và 802.11b Nó hỗ trợ băng thông lên đến 54 Mbps và sử dụng tần số 2.4 GHz để có phạm vi rộng hơn Chuẩn 802.11g có khả năng tương thích với chuẩn 802.11b, điều đó có nghĩa là các điểm truy cập 802.11g sẽ làm việc với các adapter mạng không dây 802.11b và ngược lại Ưu điểm của chuẩn 802.11g là tốc độ cao, phạm vi tín hiệu tốt và ít bị che khuất Nhưng có nhược điểm là giá thành đắt hơn 802.11b, các thiết bị có thể bị xuyên nhiễu từ qua nhiều thiết bị khác sử dụng cùng băng tần
2.4.5 Chuẩn 802.11n
Đây là chuẩn được thiết kế để cải thiện cho 802.11g trong tổng số băng thông được hỗ trợ bằng cách tận dụng nhiều tín hiệu không dây và các anten (công nghệ MIMO) Khi chuẩn này được đưa ra, các kết nối 802.11n sẽ hỗ trợ tốc độ dữ liệu lên đến 100 Mbps Chuẩn 802.11n cung cấp phạm vi phủ sóng tốt hơn so với các chuẩn Wi-Fi trước nó nhờ cường độ tín hiệu mạnh của mình Thiết bị 802.11n sẽ tương thích với các thiết bị 802.11g Ưu điểm của chuẩn 802.11n là tốc độ nhanh và phạm vi tín hiệu tốt, khả năng chịu đựng tốt hơn việc xuyên nhiễu từ với các nguồn bên ngoài Nhược điểm là giá thành đắt hơn 802.11g, dùng nhiều tín hiệu này có thể gây nhiễu từ với các mạng dùng 802.11b/g ở gần
Trang 1810
2.5.1 Tổng quan về định tuyến trong mạng ad-hoc
Với một hệ thống mạng, một trong những yếu tố quan trọng nhất ảnh hưởng đến hiệu năng hoạt động của mạng là thời gian truyền tin từ nút mạng đầu đến nút mạng cuối sao cho nhanh và chính xác nhất Để làm được điều này thì cần phải có sự phối hợp tốt của các thiết bị hoạt động giữa các tầng khác nhau, trong đó phải kể đến là router hoạt động ở tầng mạng Router có nhiệm vụ tìm đường đi cho các gói tin, xác định các nút mạng trung gian để chuyển tiếp gói tin từ nút mạng đầu đến nút mạng cuối Các thuật toán cho phép xác định đường đi như vậy gọi là thuật toán định tuyến Do đó, chức năng của thuật toán định tuyến chính là xác định đường đi tối ưu nhất để chuyển tiếp gói tin từ nút gửi đến nút nhận sao cho nhanh và chính xác nhất
Đối với mạng không dây có cơ sở hạ tầng, truyền thông giữa các nút mạng phụ thuộc rất nhiều vào trạm cơ sở (base station) Do đó, các nút mạng muốn liên lạc được với nhau thì chúng phải nằm trong vùng phủ sóng của trạm
cơ sở (nếu một nút mạng nào đó nằm ngoài vùng phủ sóng của trạm cơ sở thì nó không thể liên lạc được với các nút mạng khác) Với mạng ad-hoc thì lại khác, trong mạng ad-hoc không có trạm cơ sở, nút mạng đóng vai trò như một router
và chuyển tiếp các gói tin Các nút mạng dù có nằm ngoài vùng phủ sóng của nhau vẫn có thể liên lạc được với nhau thông qua các nút mạng trung gian Do
đó, việc tìm thấy các nút mạng trung gian để chuyển tiếp gói tin từ nút gửi đến nút nhận là rất quan trọng và nó vẫn đang là vấn đề được quan tâm nhiều nhất hiện nay đối với mạng di động ad-hoc
Ngoài ra, một số điểm khác biệt nữa của mạng di động ad-hoc so với các mạng khác như: các nút mạng có thể di động, dẫn đến tô-pô mạng bị thay đổi; băng thông của mạng cũng thay đổi liên tục, tốc độ truyền tín hiệu của mạng phụ thuộc rất nhiều vào tính chất vật lý của các nút mạng, giao diện mạng và khoảng cách giữa các nút trong mạng cũng bị thay đổi … Chính những điều này làm cho vấn đề thiết kế các giao thức định tuyến cho mạng di động ad-hoc trở nên phức tạp Do đó, khi thiết kế giao thức định tuyến cho mạng di động ad-hoc cần phải quan tâm đến những tính năng sau:
Hoạt động phân tán: giao thức định tuyến phải được phân tán Nó phải
không phụ thuộc vào nút mạng điều hành trung tâm nào Khác với trường hợp
Trang 1911
của mạng tĩnh, các nút trong mạng di động ad-hoc có thể vào/ra mạng rất dễ dàng, bởi vì tính chuyển động nên mạng có thể bị chia tách
Tránh vòng lặp: để cải thiện toàn bộ hiệu năng mạng, chúng ta mong
muốn giao thức định tuyến đảm bảo các tuyến đường đáp ứng được việc loại bỏ vấn đề lặp định tuyến Điều này tránh được lãng phí băng thông hoặc dùng CPU
Hoạt động theo yêu cầu: để tối thiểu chi phí điều khiển trong mạng và
do đó không lãng phí nhiều tài nguyên mạng cần thiết, giao thức phải được yêu cầu Điều này có nghĩa là giao thức chỉ có thể phản ứng khi cần thiết và giao thức đó không nên quảng bá thông tin điều khiển một cách định kỳ
Hỗ trợ liên kết đơn hướng: môi trường vô tuyến có thể gây nên sự hình
thành các liên kết đơn hướng Sử dụng các liên kết này cũng như liên kết song hướng để cải thiện hiệu năng của giao thức định tuyến
Vấn đề bảo mật: môi trường vô tuyến đặc biệt dễ bị tấn công, do đó để
đảm bảo hành vi như mong muốn từ giao thức định tuyến, chúng ta cần một số hình thức nhằm ngăn chặng để bảo mật thông tin Việc xác thực và mã hóa có thể là cách thích hợp cho vấn đề trên nằm trong các khóa phân phối dọc theo những nút trong mạng di động ad-hoc Cũng có những thảo luận về việc dùng IP-sec, đó là sử dụng giao vận đường hầm để truyền tất cả các gói tin
Duy trì nguồn năng lượng: các nút trong mạng di động ad-hoc có thể là
các laptop và client nhỏ, chẳng hạn như các PDA rất bị giới hạn nguồn pin và do
đó dùng một vài hình thức như chế độ stand-by để tiết kiệm nguồn pin Vì vậy, các giao thức định tuyến cũng cần hỗ trợ chế độ này
Định tuyến đa đường: để giảm ảnh hưởng đến sự thay đổi tô-pô mạng và
có thể dùng được nhiều tuyến đường tắc nghẽn Nếu một tuyến đường trở nên mất hiệu lực, có thể lưu trữ một tuyến đường khác vẫn còn hợp lệ và do đó tiết kiệm cho giao thức định tuyến từ việc khởi tạo lại quá trình khám phá tuyến đường khác
Hỗ trợ chất lượng dịch vụ: một vài kiểu hỗ trợ chất lượng dịch vụ có thể
cần thiết nhằm kết hợp chặt chẽ với giao thức định tuyến Điều này phải được thực hiện như thế nào khi mạng di động ad-hoc được đưa vào sử dụng Chẳng hạn như hỗ trợ lưu lượng thời gian thực
Hiện nay, chưa có giao thức nào đề xuất cho MANET có tất cả những tính chất này, tuy nhiên tất cả các giao thức vẫn đang được phát triển và có thể mở
Trang 20Hình 2.3: Phân loại các giao thức định tuyến ad-hoc
Giao thức định tuyến điều khiển bằng bảng ghi: các giao thức định
tuyến loại này cố gắng duy trì nhất quán thông tin định tuyến mới nhất từ mỗi nút đến tất cả các nút khác trong mạng Những giao thức này đòi hỏi mỗi nút duy trì một hoặc nhiều bảng để lưu trữ thông tin định tuyến, và chúng đáp ứng cho sự thay đổi tô-pô mạng bằng cách lan truyền cập nhật khắp mạng nhằm duy trì một cách nhất quán tổng thể mạng Những vùng nào khác nhau về số bảng định tuyến liên quan cần thiết và cách thức do những thay đổi từ cấu trúc mạng
sẽ được quảng bá rộng rãi cho các nút mạng khác biết được
Giao thức định tuyến theo yêu cầu khởi phát từ nguồn: một cách tiếp
cận khác từ định tuyến điều khiển bằng bảng ghi là định tuyến theo yêu cầu khởi phát từ nguồn Giao thức loại này chỉ tạo ra những tuyến đường khi nút mạng nguồn có nhu cầu Khi một nút mạng muốn có tuyến đường để đi đến đích, nó khởi tạo quá trình khám phá tuyến đường trong mạng Một khi quá trình này được hoàn tất, một tuyến đường sẽ được tìm thấy hay tất cả các tuyến đường khả thi đều được xem xét Một khi đã thiết lập tuyến đường, nó được duy trì bằng một thủ tục duy trì tuyến đường cho đến khi đích đó trở nên không thể truy cập dọc theo mỗi tuyến đường từ nút nguồn hay đến khi tuyến đường đó không cần thiết nữa
Trang 2113
Phần còn lại của chương sẽ mô tả một số giao thức định tuyến cho mạng
di động ad-hoc và so sánh giữa các giao thức đó
2.5.2 Destination-Sequenced Distance-Vector Routing (DSDV)
Giao thức định tuyến DSDV được mô tả trong [1] dùng cơ chế tìm đường bằng bảng dựa vào thuật toán cổ điển Bellman-Ford, nó đã được cải tiến nhằm loại bỏ khả năng sinh ra chu trình trong các bảng định tuyến để phù hợp với mạng ad-hoc
Trong thuật toán này, mỗi nút mạng duy trì một bảng định tuyến chứa tất
cả các nút mạng đích có thể đến trong mạng và số chặng đến mỗi nút đích được ghi nhận Mỗi mục trong bảng (table entry) được đánh dấu bằng một số tuần tự
đã gắn bởi nút mạng đích Số tuần tự cho phép các nút mạng phân biệt tuyến đường cũ với tuyến đường mới, bằng cách đó sẽ loại bỏ được sự hình thành chu trình trong định tuyến Cập nhật bảng định tuyến được truyền một cách định kỳ khắp mạng nhằm duy trì tính nhất quán giữa các bảng định tuyến Đối với những mạng lớn, để giảm đi một lượng lớn lưu lượng của những cập nhật như thế, việc cập nhật tuyến đường có thể dùng hai loại gói tin Loại thứ nhất là cập nhật đầy
đủ (full dump), chứa đựng tất cả thông tin định tuyến đang có, loại này có thể đòi hỏi nhiều đơn vị dữ liệu giao thức mạng (NPDU) Khi các nút mạng ít
chuyển động, những gói tin này được truyền tương đối ít Loại gói tin thứ hai
nhỏ hơn là gói tin cập nhật thông tin bổ sung (incremental), chỉ được dùng để
chuyển tiếp thông tin đã có sự thay đổi kể từ lần cập nhật đầy đủ sau cùng Mỗi quảng bá này chỉ vừa vặn với một NPDU có kích thước chuẩn, do đó sẽ làm giảm lưu lượng mạng được sinh ra Các nút mạng duy trì thêm một bảng để chúng lưu trữ dữ liệu đã gửi trong các gói tin cập nhật thông tin định tuyến bổ sung
Nội dung quảng bá tuyến đường mới chứa địa chỉ của nút mạng đích, số chặng đi đến đích, số tuần tự về thông tin đã nhận đối với nút đích, cũng như một số tuần tự mới duy nhất đối với quảng bá Tuyến đường được gắn nhãn với
số tuần tự gần đây nhất luôn được sử dụng Trong trường hợp hai cập nhật có cùng số tuần tự thì tuyến đường có số chặng ít hơn được sử dụng để tối ưu đường đi Các nút mạng cũng theo dõi thời gian thiết lập tuyến đường hay thời gian trung bình mà các tuyến đường có trọng số đến nút đích sẽ thay đổi trước khi tuyến đường tốt nhất nhận được Do độ trễ quảng bá của một cập nhật định tuyến bằng độ dài của thời gian thiết lập, các nút mạng có thể làm giảm lưu
Trang 2214
lượng mạng và tối ưu tuyến đường bằng cách loại bỏ những quảng bá đó xảy ra nếu có một tuyến đường tốt hơn được phát hiện trong thời gian gần nhất
Hình 2.4: Chuyển động trong mạng ad-hoc
Xét nút mạng MH4 ở hình trên Bảng sau đây cho thấy cấu trúc bảng định tuyến được duy trì tại nút mạng MH4 Giả sử địa chỉ của mỗi nút mạng được biểu diễn là MHi, các số tuần tự được ký hiệu là SNNN_MHi, trong đó MHi cho biết nút mạng tạo ra số tuần tự đó và SNNN là giá trị số tuần tự Cũng như có nhiều bản ghi cho tất cả các nút mạng khác, với các số tuần tự SNNN_MHi, trước khi nút mạng MH1 di chuyển ra xa từ nút mạng MH2 Trường Install time giúp xác định khi nào cần xóa các tuyến đường cũ Với giao thức DSDV, việc xóa các tuyến đường cũ ít khi xảy ra, do phát hiện về các điểm đứt liên kết cần được lập tức lan truyền qua mạng ad-hoc Tuy nhiên, ta vẫn muốn tiếp tục giám sát sự tồn tại của các tuyến đường cũ và sẽ thực hiện các hoạt động thích hợp
Bảng 2.1: Cấu trúc bảng định tuyến của nút mạng MH4
Trang 2315
Trên đây là mô tả bảng định tuyến của nút mạng MH4 bằng thuật toán định tuyến DSDV Trong đó, Destination là trường nút mạng đích, NextHop là chặng tiếp theo, Metric là số chặng để đi đến đích, Sequence number là số tuần
tự đích ứng với mỗi bản ghi, Install là thời điểm tuyến đường được thiết lập lần đầu tiên, Flags là cờ gắn với mỗi tuyến đường và Stable_data là thời gian tồn tại của tuyến đường
2.5.3 Dynamic Source Routing (DSR)
DSR là giao thức định tuyến theo yêu cầu dựa trên khái niệm định tuyến nguồn (source routing) [4] Các nút di động được yêu cầu duy trì tuyến đường trong bộ nhớ route cache chứa tuyến nguồn mà nút di động cần nhận biết Những bản ghi trong route cache liên tục được cập nhật khi có tuyến đường mới được nhận thấy
Giao thức gồm hai giai đoạn chính: khám phá tuyến đường (route discovery) và duy trì tuyến đường (route maintenance) Khi nút di động có gói tin muốn gửi đến một vài nút mạng đích, trước hết nó thăm dò trong bộ nhớ route cache của mình xem có một tuyến đường để đi đến đích hay không Nếu
có tuyến đường vẫn còn hiệu lực để đi đến đích thì nó sẽ dùng tuyến đường này
để gửi gói tin Mặt khác, nếu không có tuyến đường như vậy, nút mạng sẽ khởi
tạo quá trình khám phá tuyến đường bằng cách quảng bá gói tin route request
(gói tin yêu cầu tuyến) Gói tin route request này chứa địa chỉ nút mạng đích, cùng với địa chỉ nút mạng nguồn và số định danh duy nhất Mỗi nút mạng nhận được gói tin này sẽ kiểm tra xem có tuyến đường để đi đến đích hay không Nếu không có, nó thêm địa chỉ của mình đến tiêu đề gói tin (route record) và sau đó chuyển tiếp gói tin dọc theo các liên kết của mình để ra ngoài
Để hạn chế số gói tin route request lan truyền trên các liên kết của mình ra ngoài của một nút, nút di động chỉ chuyển tiếp gói tin route request nếu yêu cầu không nhận ra bởi nút di động và nếu địa chỉ nút di động không xuất hiện ở tiêu
đề gói tin
Một gói tin route reply (gói tin trả lời) được sinh ra khi gói tin route
request đi đến đích hay một nút mạng trung gian chứa ở bộ nhớ route cache của
nó một tuyến đường vẫn còn hiệu lực để đi đến đích Vì lúc gói tin đi đến đích hay một nút mạng trung gian như thế, nó chứa liên tiếp các chặng ở tiêu đề gói tin Hình 2.5 minh họa sự hình thành ở tiêu đề gói tin khi route request lan truyền qua mạng
Trang 2416
Hình 2.5: Hình thành tiêu đề gói tin suốt quá trình khám phá tuyến đường Nếu nút mạng sinh ra gói tin route reply là nút đích, nó sẽ thay gói tin route request chứa trong tiêu đề gói tin thành route reply Nếu nút trả lời là một nút trung gian, nó sẽ thêm tuyến đường mà nó lưu giữ đến tiêu đề gói tin và sau
đó sinh ra gói tin route reply Để gói tin route reply truyền ngược lại, nút trả lời phải có một tuyến đường quay về nút khởi tạo Nếu có một tuyến đường quay về nút khởi tạo trong bộ nhớ route cache của mình thì có thể dùng tuyến đường này Ngược lại, nếu các liên kết đối xứng được hỗ trợ, nút mạng có thể đảo ngược tuyến đường ở tiêu đề gói tin Nếu không hỗ trợ các liên kết đối xứng, nút mạng có thể khởi tạo quá trình khám phá tuyến đường của mình và gắn ngược gói tin route reply vào gói tin route request mới Hình 2.6 minh họa việc truyền gói tin route reply kết hợp với tiêu đề gói tin của mình để quay về nút mạng nguồn
Hình 2.6: Lan truyền gói tin route reply với tiêu đề gói tin
Duy trì tuyến đường được thực hiện thông qua việc dùng các gói tin route error và báo nhận Gói tin route error được sinh ra tại nút mạng khi xuất hiện lỗi
Trang 25có thể lắng nghe chặng tiếp theo chuyển tiếp gói tin dọc theo tuyến đường
2.5.4 Ad Hoc On-Demand Distance Vector Routing (AODV)
Giao thức định tuyến AODV trong [2] được xây dựng dựa trên giao thức DSDV AODV là cải tiến từ giao thức DSDV [19], nó tối thiểu hóa số gói tin quảng bá cần gửi bằng cách tạo ra các tuyến đường khi có yêu cầu, ngược với việc duy trì một danh sách đầy đủ các tuyến đường như trong thuật toán DSDV Tác giả của AODV xem nó như một hệ thống tìm kiếm đường đi theo yêu cầu thuần túy, khi các nút mạng không nằm trên đường đi được chọn thì không cần duy trì thông tin định tuyến hay góp phần vào việc trao đổi bảng định tuyến
Khi nút mạng nguồn muốn gửi thông báo đến một vài nút mạng đích và không có sẵn tuyến đường hợp lệ để đi đến đích, nó khởi tạo quá trình khám phá tuyến đường để định vị nút mạng khác bằng cách quảng bá gói tin yêu cầu tuyến
đường – RREQ (route request) đến các nút mạng hàng xóm Sau đó, các hàng
xóm này tiếp tục chuyển tiếp yêu cầu đến các nút mạng hàng xóm của chúng Quá trình này được lặp lại cho đến khi định vị được nút mạng đích hoặc có một nút mạng trung gian với tuyến đường “đủ tươi” để đi đến đích Hình 2.7 minh họa quá trình quảng bá gói tin RREQ qua mạng
Hình 2.7: Quá trình quảng bá gói tin RREQ
AODV dùng các số tuần tự đích để đảm bảo tất cả các tuyến đường không lặp định tuyến và chứa hầu hết thông tin tuyến đường gần đây nhất Mỗi nút
Trang 2618
mạng duy trì số tuần tự của mình cùng với ID quảng bá ID quảng bá được tăng lên mỗi khi nút mạng khởi tạo gói tin RREQ, cùng với địa chỉ IP của nút mạng, định danh duy nhất cho mỗi gói tin RREQ Với số tuần tự và ID quảng bá của mình, nút nguồn chứa trong gói tin RREQ số tuần tự gần đây nhất mà nó có được để đi đến đích Các nút mạng trung gian có thể trả lời gói tin RREQ chỉ khi nào chúng có tuyến đường để đi đến đích tương ứng với số tuần tự đích lớn hơn hoặc bằng với số tuần tự mà nó chứa trong gói tin RREQ
Suốt quá trình chuyển tiếp gói tin RREQ, các nút mạng trung gian ghi vào bảng định tuyến của chúng địa chỉ nút mạng hàng xóm mà từ đó nó nhận được bản sao đầu tiên của gói tin quảng bá, bằng cách đó mới có thể thiết lập tuyến đường ngược trở lại Nếu sau đó nhận thêm cùng bản sao các gói tin RREQ thì chúng sẽ được loại bỏ Một khi gói tin RREQ đi đến đích hay nút mạng trung gian với tuyến đường “đủ tươi”, lúc này nút mạng đích hay nút mạng trung gian
đó sẽ trả lời lại bằng cách phát gói tin trả lời tuyến – RREP (route reply) ngược
trở lại nút mạng hàng xóm mà từ đó nó nhận được gói tin RREQ đầu tiên Hình 2.8 minh họa đường đi của gói tin RREP quay về nút mạng nguồn
Hình 2.8: Đường đi của gói tin RREP về nút nguồn
Khi gói tin RREP đi dọc theo tuyến đường ngược lại, các nút mạng nằm trên đường đi này thiết lập bản ghi tuyến đường chuyển tiếp trong bảng định tuyến của chúng nhằm chỉ ra nút mạng mà từ đó gói tin RREP đi đến Bản ghi tuyến đường chuyển tiếp này cho biết tuyến đường chuyển tiếp tích cực Kết hợp
với mỗi bản ghi tuyến đường là bộ định thời tuyến đường (timeout) cho phép
xóa bỏ bản ghi nếu nó không được sử dụng trong một khoảng thời gian nhất định Bởi vì gói tin RREP được chuyển tiếp dọc theo tuyến đường mà gói tin RREQ đã thiết lập nên AODV chỉ hỗ trợ để dùng cho các liên kết đối xứng
Trang 2719
Tuyến đường được duy trì như sau: nếu nút nguồn chuyển động, nó có thể khởi động lại quá trình tìm đường để tìm ra một tuyến mới đi đến nút đích Nếu một nút mạng nằm trên tuyến đường chuyển động, thì hàng xóm ngược tuyến của nó thông báo chuyển động và lan truyền thông điệp thông báo lỗi liên kết (lúc này gói tin RREP có giá trị vô hạn) đến tất cả các hàng xóm ngược tuyến tích cực của nó nhằm báo cho chúng xóa bỏ một phần tuyến đường đó Những nút mạng này lần lượt lan truyền thông báo lỗi liên kết đến các hàng xóm ngược tuyến của chúng, cứ thế tiếp tục cho đến khi nút nguồn nhận được thông báo này Sau đó nút nguồn có thể chọn để khởi động lại quá trình tìm đường để đi đến nút đích ấy nếu nó vẫn còn cần đường đến đó
Một khía cạnh nữa của giao thức là sử dụng các thông báo HELLO – quảng bá cục bộ định kỳ do một nút mạng gửi các nút hàng xóm Thông báo HELLO có thể được dùng để kiểm tra tình trạng kết nối cục bộ cho nút mạng Tuy nhiên, dùng thông báo HELLO là không cần thiết Các nút mạng lắng nghe việc truyền lại gói dữ liệu nhằm đảm bảo cho chặng tiếp theo vẫn trong phạm vi đến được Nếu việc truyền lại như thế vẫn chưa nghe được, nút mạng có thể dùng một số kỹ thuật nào đó, kể cả việc tiếp nhận thông báo HELLO, xác định
có hay không chặng tiếp theo vẫn trong phạm vi truyền thông Thông báo HELLO của một nút mạng có thể liệt kê các nút khác mà từ đó nút di động đã nghe tin báo Bằng cách đó sẽ thu được thêm thông tin về tình trạng của các liên kết trong mạng
2.5.5 Temporally Ordered Routing Algorithm (TORA)
TORA là thuật toán định tuyến phân bố không vòng lặp có độ thích nghi cao dựa trên khái niệm đảo ngược đường thông [5] TORA được đề xuất hoạt động ở môi trường mạng có tính linh động cao Nó là thuật toán định tuyến khởi phát từ nguồn và cung cấp đa tuyến đường cho bất kỳ cặp nút nguồn/đích nào muốn đòi hỏi Nguyên lý chủ đạo của TORA là định vị các thông báo điều khiển đối với mọi tập hợp các nút mạng gần với nơi xảy ra sự thay đổi tô-pô mạng Để thực hiện được điều này, các nút mạng cần duy trì thông tin định tuyến về các nút hàng xóm (chỉ một chặng) Giao thức này có ba chức năng cơ bản: tạo tuyến, duy trì tuyến và xóa tuyến
Trong suốt giai đoạn tạo và duy trì tuyến đường, các nút mạng dùng một tham số “độ cao” để thiết lập một đồ thị có hướng không vòng lặp – DAG (Directed Acyclic Graph) có gốc ở nút đích Sau đó, các đường truyền được chỉ
Trang 2820
định một hướng (luồng lên hay luồng xuống) dựa trên tham số độ cao tương đối của các nút mạng hàng xóm như hình 2.9
Hình 2.9: Tạo tuyến đường trong TORA
Quá trình thiết lập đồ thị DAG này tương tự như quá trình truy vấn/trả lời trong LMR (Light-Weight Mobile Routing – Định tuyến di động trọng số thấp) Trong lúc nút mạng chuyển động thì tuyến đường trong đồ thị DAG bị phá vỡ nên việc duy trì tuyến đường là cần thiết để thiết lập lại một đồ thị DAG có gốc cũng tại nút mạng đích đó Như chỉ ra ở hình 2.10, khi đường thông luồng xuống cuối cùng bị sự cố nên nút mạng sinh ra một mức tham chiếu mới dựa vào mức tham chiếu của các nút hàng xóm, phối hợp hoạt động có hiệu quả để phản ứng lại sự cố đó một cách có cấu trúc Các đường thông được đảo ngược để phản ánh những thay đổi trong việc thích nghi với mức tham chiếu mới Việc này có hiệu quả giống như sự đảo hướng của một hay nhiều đường thông khi một nút mạng không có các đường thông luồng xuống
Định thời là một yếu tố quan trọng của TORA, bởi vì tham số “độ cao” độc lập với thời gian sự cố đường thông TORA cho rằng tất cả các nút mạng đều có đồng hồ đồng bộ (thực hiện thông qua một nguồn định thời bên ngoài như hệ thống định vị toàn cầu - GPS) Chuẩn đo của TORA là bộ năm thành phần, có tên: thời gian sự cố đường thông, định danh – ID duy nhất của nút mạng chỉ rõ mức tham chiếu mới, bit chỉ thị phản ánh, tham số chỉ thứ tự lan truyền và định danh – ID duy nhất của nút mạng
Ba thành phần chung đầu tiên biểu thị mức tham chiếu một cách có chọn lọc Một mức tham chiếu mới được xác định mỗi khi nút mạng không còn đường thông luồng xuống cuối cùng do sự cố đường thông Giai đoạn xóa tuyến
Trang 2921
của TORA liên quan chủ yếu đến vấn đề quảng bá gói tin “xóa tuyến” (CLR - clear packet) trong toàn mạng để xóa các tuyến đường không còn hiệu lực nữa
Hình 2.10: Duy trì tuyến đường trong TORA
Trong TORA còn có một sự biến động tiềm tàng xảy ra, đặc biệt khi nhiều tập hợp các nút mạng đang liên kết là phần hiện đang bị xóa, các tuyến đang xóa và các tuyến đang xây dựng mới Do TORA dùng sự điều phối giữa các nút mạng nên vấn đề không ổn định của nó tương tự với vấn đề “đếm vô hạn” trong các giao thức định tuyến theo vector khoảng cách, ngoại trừ các biến động là tạm thời và sự hội tụ tuyến đường cuối cùng vẫn đạt được
2.5.6 So sánh
Bảng 2.2 tóm tắt và so sánh kết quả từ việc phân tích theo lý thuyết/định tính của các giao thức ở trên và chỉ ra những tính chất gì mà các giao thức có và không có Theo đó, có thể thấy, không có giao thức nào hỗ trợ duy trì nguồn năng lượng hay chất lượng dịch vụ (QoS) Tuy nhiên, những vấn đề này đang tiếp tục phát triển và có thể được thêm vào các giao thức Tất cả các giao thức hoạt động theo hình thức phân tán, do đó không có giao thức nào phụ thuộc vào một nút mạng điều hành trung tâm và như vậy có thể dễ dàng cấu hình lại khi mạng thay đổi tô-pô
Trang 3022
Trong so sánh này, DSDV là giao thức định tuyến theo bảng duy nhất Nó cũng là giao thức phổ biến nhất so với giao thức định tuyến truyền thống trong mạng có dây Các số tuần tự được thêm vào nhằm loại bỏ vấn đề chu trình trong định tuyến DSDV có thể đủ tin cậy trong các mạng mà ở đó cho phép giao thức hội tụ theo thời gian hợp lý Tuy nhiên, điều này có nghĩa là tính di động không được quá cao Tác giả của DSDV đã đi đến những kết luận tương tự và thiết kế giao thức AODV, đây là phiên bản theo yêu cầu của DSDV Họ đã thêm vào khả năng multicast, sẽ nâng cao hiệu năng đáng kể khi một nút truyền thông với một số nút khác Hướng tiếp cận theo yêu cầu trong AODV có nhiều điểm giống nhau với hướng theo yêu cầu trong DSR Cả hai có một mô hình khám phá tuyến đường được dùng yêu cầu các thông báo tìm ra tuyến đường mới Khác nhau, đó là DSR dựa vào định tuyến nguồn và sẽ tìm ra nhiều tuyến đường hơn AODV DSR cũng có thuận lợi là nó hỗ trợ các liên kết đơn hướng Tuy nhiên, DSR có một điều trở ngại chính đó là tuyến nguồn phải được đưa vào mỗi gói tin Điều này hoàn toàn tốn chi phí, đặc biệt khi QoS được sử dụng
Bảng 2.2: So sánh các giao thức định tuyến ad-hoc
Định tuyến theo yêu cầu Không Có Có Có
Hỗ trợ liên kết đơn hướng Không Không Có Không
Hỗ trợ chất lượng dịch vụ Không Không Không Không
Tiết kiệm năng lượng Không Không Không Không
Quảng bá định kỳ Có Có Không Không
Đòi hỏi tin cậy hoặc thứ
tự dữ liệu Không Không Không Có
Trang 3123
2.6 Tổng kết chương
Trong chương này, chúng tôi đã trình bày về những khái niệm cơ bản của mạng di động ad-hoc, một trong những mô hình mạng không dây được nghiên cứu nhiều trong những năm gần đây Tiếp theo, chúng tôi trình bày về các chuẩn mạng không dây IEEE 802.11 Sau đó, chúng tôi trình bày về bốn giao thức định tuyến phổ biến của mạng di động ad-hoc là DSDV, DSR, AODV và TORA Cuối chương, chúng tôi so sánh kết quả từ việc phân tích theo lý thuyết của các giao thức trên và chỉ ra tính chất nào mà các giao thức có và không có
Trang 3224
CHƯƠNG 3 CÁC THUẬT TOÁN FLOODING TRONG MANETs
Trong chương 2, chúng tôi đã trình bày một số thuật toán định tuyến phổ biến trong mạng di động ad-hoc Trong chương này, chúng tôi sẽ tiếp tục trình bày về định tuyến bằng flooding trong mạng di động ad-hoc Sau đó, chúng tôi
sẽ trình bày một vài thuật toán flooding có cải tiến
3.1 Thuật toán flooding chuẩn
Trong mạng di động ad-hoc, flooding là một cách truyền dữ liệu trong mạng mà ở đó một thông báo từ nút nguồn được quảng bá đến tất cả các nút mạng hàng xóm, tiếp theo là các nút mạng hàng xóm lại chuyển tiếp thông báo nhận được đến các hàng xóm của chúng Quá trình này được lặp lại cho đến khi tất cả các nút mạng khác có thể nhận được thông báo này Flooding và nguồn gốc của nó được dùng rộng rãi trong nhiều ứng dụng, các giao thức định tuyến
và khám phá dịch vụ Như đã biết, các giao thức định tuyến, chẳng hạn: AODV, DSR, …dựa vào flooding để tìm và duy trì tuyến đường cũng như các gói tin cập nhật tô-pô mạng
Ưu điểm chính của flooding là làm tăng độ tin cậy cho giao thức định tuyến, thông báo flooding có thể đi đến tất cả các nút mạng nếu như mạng được kết nối và không xảy ra vấn đề đụng độ Thông báo có thể đi đến một nút mạng nào đó theo đường đi ngắn nhất và thuật toán dễ thực thi Tuy nhiên, flooding có nhược điểm là tốn băng thông vì tất cả các nút trong mạng đều phải chuyển tiếp thông báo flooding nhận được
Hiện nay, nhiều thuật toán flooding đã được đề xuất nhằm hạn chế các vấn đề như: dư thừa, tranh chấp và đụng độ Có thể phân loại các thuật toán đó theo những tiêu chí sau: dựa vào số chặng thông tin hàng xóm, chẳng hạn thông tin hàng xóm không cần thiết (0-chặng), 1-chặng, 2-chặng thông tin hàng xóm; flooding dựa vào bên gửi, khi đó mỗi nút gửi chỉ định một tập con các nút mạng hàng xóm sẽ là các nút chuyển tiếp lại thông báo ở chặng tiếp theo; hoặc
Trang 3325
flooding dựa vào bên nhận, mỗi nút nhận thông báo sẽ tạo ra miền quyết định của mình bất chấp nó phải chuyển tiếp thông báo hay không
Hình 3.1: Quá trình flooding trong một mạng ad-hoc
Tương tự như mạng có dây, một mạng ad-hoc có thể được mô hình hóa như một đồ thị Mỗi nút mạng được biểu diễn bởi một đỉnh của đồ thị và hai nút mạng được liên kết với nhau khi chúng cùng ở trong phạm vi truyền thông của nhau Do mạng ad-hoc có đặc thù là các nút mạng có thể chuyển động, nên đồ thị biểu diễn cho một mạng ad-hoc có thể thay đổi theo thời gian
Trong một môi trường truyền thông vô tuyến, một vài liên kết mạng có thể là một chiều bởi vì phạm vi truyền thông (communication range) của hai nút mạng có thể khác nhau (nút A có thể truyền dữ liệu cho nút B, nhưng nút B lại không thể truyền dữ liệu được cho nút A) Tuy nhiên, các liên kết một chiều này
có thể là ẩn với giao thức tầng mạng và có thể dùng các gói tin ACK tầng liên kết (gói tin trả lời) hoặc cơ chế phát hiện các liên kết một chiều Khi đó, có thể xem tất cả các liên kết là hai chiều (nút A có thể truyền dữ liệu cho nút B thì nút
B cũng có thể truyền dữ liệu cho nút A) Giả sử N(v) là tập các nút kề của nút v, thì N(N(v)) là tập các nút mạng cách nút v với khoảng cách tối đa 2-chặng nút
Trong mạng không dây, người ta thường quan tâm đến vấn đề tối ưu cho việc định tuyến mạng và khi đó sẽ xuất hiện cây flooding tối ưu Với một mạng
có dây, chúng ta thường tối thiểu hóa nhu cầu dùng liên kết để flood gói tin Khi
đó, xuất hiện bài toán về cây flooding tối ưu trong mạng Và người ta đã chứng minh rằng, bài toán này tương đương với bài toán cây bao trùm nhỏ nhất – MST (Minimum Spanning Tree) [15] Giả sử đã biết trước thông tin đầy đủ về tô-pô
Trang 3426
mạng, thì một nút mạng có thể dễ dàng tìm ra cây MST Tuy nhiên, tìm ra một cây MST và chuyển tiếp gói tin thông qua cây MST là một bài toán không đơn giản trong một hệ thống phân tán Do đó, thay vì dùng cây MST trong một mạng
có dây, người ta thường dùng các phương pháp flooding đơn giản, chẳng hạn như flooding mù
Tiêu chuẩn tối ưu của vấn đề flooding trong mạng không dây khác với mạng có dây Với mạng không dây, thông thường nút mạng muốn gửi đi một gói tin bằng cách quảng bá nó đến các nút mạng hàng xóm Do mỗi quảng bá như thế sẽ tiêu thụ cùng một lượng tài nguyên không dây bất kể số lượng nút mạng hàng xóm nhiều hay ít Như vậy, có thể xem cây flooding tối ưu trong mạng không dây là cây flooding với số quảng bá nhỏ nhất Bởi vì hầu hết các liên kết hoàn toàn có thể được xác định Do đó, hoàn toàn cũng có thể xây dựng được cây flooding tối ưu trong mạng không dây Hình 3.2 cho thấy một cây flooding tối ưu như thế
Hình 3.2: Cây flooding tối ưu trong một mạng ad-hoc
Ở hình trên thì A là nút nguồn, còn B, E và G là các nút chịu trách nhiệm chuyển tiếp gói tin nhận được và các đường đậm cho biết hướng chuyển tiếp gói tin Chúng ta có thể thấy rằng, tất cả các nút mạng (ngoại trừ các nút lá) trên cây flooding đều phải quảng bá gói tin Số gói tin truyền thông đòi hỏi để hoàn thành việc flooding sẽ tương đương với số nút không phải là nút lá trên cây flooding Vì vậy, bài toán về số gói tin truyền thông tối thiểu là tương đương với bài toán tìm cây bao trùm nhỏ nhất mà có số nút không phải là nút lá Trong bài báo [8] đã chứng minh bài toán tìm cây flooding tối ưu trong mạng di động ad-hoc là bài toán NP-đầy đủ
Trang 3527
3.2 Tại sao các thuật toán flooding đáng quan tâm
Thực nghiệm ở môi trường thực với một mạng vừa và nhỏ [18] cho thấy AODV hoạt động kém hiệu quả và thường xảy ra hiện tượng đứt gãy liên kết với môi trường có nhiều chướng ngại vật và nhiều sóng nhiễu Trong khi truyền thông giữa cùng cặp nút nguồn-đích đó bằng cách dùng flooding lại hoạt động tốt Do đó, chúng tôi quan tâm đến các thuật toán flooding
Cũng xuất phát từ nhu cầu nghiên cứu và đề xuất các giao thức định tuyến cho mạng ad-hoc cũng như mạng cảm biến không dây (WSN) hiện nay là rất lớn Như đã giới thiệu ở trên, rất nhiều giao thức định tuyến của mạng ad-hoc dùng flooding để khám phá, duy trì tuyến đường cũng như có được thông tin định tuyến Do đó, việc nghiên cứu và đề xuất các thuật toán flooding hiệu quả cho những loại mạng như thế hiện nay vẫn đang được quan tâm rất nhiều Định tuyến cho mạng ad-hoc vẫn còn rất nhiều vấn đề cần được nhắc đến: bảo mật, chất lượng dịch vụ, duy trì nguồn năng lượng hiệu quả, băng thông mạng, …
3.3 Một vài thuật toán flooding cải tiến
Gần đây, các thuật toán flooding, đặc biệt cho mạng không dây đã được nghiên cứu và cải tiến một cách đáng kể [8][10][16] Các thuật toán này được phân loại như ở phần 3.1 Phần tiếp theo của chương này, chúng tôi sẽ trình bày một vài thuật toán flooding cải tiến Trong đó, chúng tôi sẽ trình bày một cách chi tiết hơn về thuật toán flooding dựa vào thông tin 2-chặng có tên là flooding with dominant pruning (FWDP), đây là thuật toán mà chúng tôi chọn để cài đặt nhằm khảo sát việc truyền dữ liệu trong mạng ad-hoc
3.3.1 Self-pruning
Thuật toán này hoạt động như sau: mỗi nút mạng trao đổi danh sách các nút kề của mình với các nút mạng hàng xóm Để dùng kỹ thuật này, giả sử tất cả các nút mạng đều biết được các nút kề của mình Mỗi nút mạng phát đi gói tin
“Who I am” một cách định kỳ để báo cho các nút mạng hàng xóm biết rằng nó
vẫn còn tồn tại Nếu ký hiệu N(vi) là tập các nút kề của nút vi thì N(N(vi)) là tập các nút mạng cách nút vi với khoảng cách tối đa là 2-chặng
Nút mạng vi muốn chuyển tiếp gói tin, nó sẽ gắn danh sách các nút kề vào trong gói tin được flood Nút vj nhận được gói tin từ nút vi, lúc này nó sẽ kiểm tra xem tập N(vj) – N(vi) – {vi} có phải là tập rỗng hay không Nếu là tập rỗng thì nút vj ngừng chuyển tiếp gói tin bởi vì nó biết rằng tất cả các nút kề của mình
Trang 363.3.2 Flooding based on 1-hop information (1HI)
Đây là thuật toán flooding dựa vào bên gửi và chỉ dùng thông tin hàng xóm 1-chặng [16] Theo thuật toán này thì mỗi nút mạng cần phải duy trì thông tin hàng xóm 1-chặng nhằm tối ưu số nút truyền lại (retransmitting node) ở chặng tiếp theo một cách cục bộ Thuật toán này hoạt động như sau:
Khi nút nguồn cần truyền đi một thông báo Trước tiên, nút nguồn tính biên giới vùng phủ sóng của mình đến các nút mạng hàng xóm dựa vào thông tin 1-chặng Khi đó, chỉ những nút mạng hàng xóm nằm trong biên giới trên được xem như tập các nút truyền lại thông báo ở chặng tiếp theo, tập này được gọi là
tập chuyển tiếp (forwarding set) Tiếp theo, nút nguồn cố định tập chuyển tiếp
với thông báo flooding và quảng bá thông báo đó Nút nhận dựa vào thông báo flooding có được sẽ thực hiện như sau: loại bỏ thông báo nếu như thông báo này
bị lặp lại Ngược lại, nút nhận kiểm tra xem mình có ở trong tập chuyển tiếp hay không Nếu như nút nhận đó ở trong tập chuyển tiếp, lúc này nút nhận sẽ tính chính xác tập chuyển tiếp của mình tương tự với cách tính của nút nguồn Sau
đó, dựa vào thông tin về vị trí của các nút mạng, nút nhận chỉ tối ưu tập chuyển tiếp của mình bằng cách loại bỏ các nút mạng bị phủ sóng bởi nút gửi và các nút truyền lại là hàng xóm có định danh ID nhỏ hơn mình Cuối cùng, tất cả các nút truyền lại đó sẽ quảng bá thông báo flooding đến chặng tiếp theo Bằng cách lặp lại quá trình này, thông báo flooding thực sự sẽ đi đến tất cả các nút mạng
Như minh họa trong hình 3.3, nút nguồn 1 muốn truyền đi một thông báo Khi đó, nút 1 sẽ tính tập chuyển tiếp và tập chuyển tiếp của nó gồm có nút 2 và nút 3 Bây giờ xét nút 3, ta cần biết tập chuyển tiếp tối ưu của nút 3 gồm những nút nào Theo như hình vẽ thì tập các nút mạng nằm trong vùng phủ sóng của nút 3 gồm có các nút: 1, 2, 4, 5, 6, 7 và 8 Trong đó, các nút 7 và 8 là các nút nhận nên không cần quan tâm và nút 1 là nút gửi của nút 3 nên nó cũng bị loại ra khỏi tập chuyển tiếp của nút 3 Do nút truyền lại 2 là hàng xóm và có định danh
ID nhỏ hơn nút 3 Nút 2 lại phủ sóng nút 4, do nó nút 4 cũng bị loại ra khỏi tập
Trang 3729
chuyển tiếp của nút 3 Do vậy, tập chuyển tiếp tối ưu còn lại của nút 3 gồm có các nút 5 và 6
Hình 3.3: Tập chuyển tiếp tối ưu của nút 3 theo 1HI gồm nút 5 và 6
3.3.3 Flooding based on 2-hop backward information (2HBI)
Có thể thấy rằng, thuật toán flooding theo 1HI là thuật toán dựa vào bên gửi chỉ dùng thông tin hàng xóm 1-chặng, theo đó kết quả của giao thức là chi phí nhỏ và dễ thực thi Tuy nhiên, do những đặc tính của nó, thuật toán này có nhược điểm như sau: Thứ nhất, tập chuyển tiếp chỉ được tối ưu một cách cục bộ dựa vào thông tin hàng xóm 1-chặng Do đó, số nút truyền lại vẫn tương đối cao Thứ 2, các nút truyền lại được phân tán dày đặc theo biên mạng gây nên lãng phí, bởi vì hàng xóm của những nút mạng này đã nhận được thông báo flooding
từ các nút truyền lại ở những chặng trước đó
Do đó, dùng thuật toán 2HBI sẽ giảm đáng kể số nút truyền lại trong mạng Ưu điểm của thuật toán này như sau:
1) 2HBI hoàn toàn thuận lợi cho thông tin vị trí địa lý để giảm số nút truyền lại một cách hiệu quả trong suốt quá trình flooding và giải quyết được vấn đề broadcast storm trong mạng ad-hoc
2) 2HBI dùng khái niệm “thông tin lùi 2-chặng” để tối thiểu tập nút truyền lại ở mỗi chặng bằng cách dùng 3 qui tắc tối ưu
3) 2HBI không đòi hỏi bất kỳ chi phí truyền thông phụ nào so với việc trao đổi các thông báo hello 1-chặng
4) 2HBI có độ phức tạp thời gian nhỏ, O(nlogn), với n là số nút mạng
hàng xóm
Trang 3830
5) Với thuật toán 2HBI, nút gửi quyết định nút nào sẽ là nút truyền lại thông báo flooding (dựa vào bên gửi) Hơn nữa, nút nhận có thể từ chối việc chuyển tiếp thông báo
Về thông tin lùi 2-chặng: Trong một mạng ad-hoc, nút gửi của một nút
được gọi là nút lùi 1-chặng và nút gửi của nút lùi 1-chặng được gọi là nút lùi chặng Như hình vẽ 3.4, thông báo flooding được lan truyền từ nút nguồn 0 đến nút 3, sau đó nó được lan truyền từ nút 3 đến nút 4 và cứ thế tiếp tục Do đó, trường hợp của nút 4, các nút lùi một và hai chặng tương ứng là nút 3 và nút 0 Khi đó, có thể xem thông tin lùi 2-chặng như là sự kết hợp thông tin tập chuyển tiếp của các nút lùi một và hai chặng với thông tin hàng xóm 1-chặng Thông tin tập chuyển tiếp gồm định danh của các nút mạng và thông tin vị trí của tất cả các nút trong tập hợp đó
2-Hình 3.4: Thông tin lùi 2-chặng của nút 4
Thông tin lùi 2-chặng nhận được nhờ sự trợ giúp của cơ chế lan truyền thông tin tập chuyển tiếp, trong đó mỗi nút truyền lại cố định thông tin tập chuyển tiếp và nút gửi của nó cùng với thông báo flooding trước khi quảng bá thông báo Dựa trên thông báo nhận được, nút truyền lại ở chặng tiếp theo sẽ kết hợp thông tin này với thông tin hàng xóm 1-chặng và do đó tạo nên toàn bộ thông tin lùi 2-chặng Như trong hình 3.4, nút 4 nhận được thông tin tập chuyển tiếp của các nút 0 và 3 từ việc lan truyền thông báo flooding Sau đó, thông tin này được kết hợp với thông tin hàng xóm 1-chặng Vì vậy, nút 4 chứa toàn bộ thông tin lùi 2-chặng Theo đó, mỗi nút mạng cần phải duy trì thông tin hàng xóm 1-chặng