Kiến thức chung
Truyền thông không dây giữa người dùng di động ngày càng phổ biến nhờ vào những cải tiến công nghệ gần đây trong máy tính xách tay và thiết bị truyền dữ liệu không dây như modem và LAN không dây Sự phát triển này không chỉ giúp giảm chi phí mà còn tăng tốc độ truyền dữ liệu, tạo ra hai lý do chính thúc đẩy sự phát triển nhanh chóng của điện toán di động.
Có hai cách tiếp cận cho truyền thông không dây giữa hai host: sử dụng cơ sở hạ tầng mạng tế bào hiện có để truyền dữ liệu như giọng nói Các vấn đề chính bao gồm chuyển vùng (hand-off) và việc duy trì kết nối liên tục giữa các trạm mà không gây ra độ trễ hay mất gói tin Tuy nhiên, mạng dựa vào cơ sở hạ tầng tế bào bị giới hạn ở những khu vực có sẵn cơ sở hạ tầng này.
Mạng ad-hoc là một hình thức kết nối tạm thời giữa những người dùng có nhu cầu giao tiếp, trong đó mọi người tham gia đều phải sẵn sàng chuyển tiếp dữ liệu để đảm bảo thông tin được truyền từ nguồn đến đích Mặc dù phạm vi truyền thông của mạng ad-hoc bị giới hạn so với hệ thống mạng tế bào, nhưng không có nghĩa là mạng tế bào vượt trội hơn Thực tế, mạng ad-hoc mang lại một số lợi ích so với các hệ thống mạng tế bào truyền thống, như tính linh hoạt và khả năng mở rộng trong việc kết nối người dùng.
Thiết lập theo yêu cầu
Kết nối không ràng buộc
Mạng ad-hoc không phụ thuộc vào cơ sở hạ tầng đã có, cho phép triển khai ở những khu vực thiếu mạng lưới Điều này rất hữu ích trong các tình huống thảm họa hoặc nơi có cơ sở hạ tầng truyền thông bị hỏng, nơi cần thiết phải thiết lập một mạng truyền thông nhanh chóng Ngoài ra, mạng ad-hoc cũng hỗ trợ trong các hội nghị, cho phép người tham gia tạo ra một mạng tạm thời để kết nối và giao tiếp hiệu quả.
Các nút mạng cần giao thức định tuyến để chuyển tiếp gói tin giữa các nút khác trong mạng ad-hoc Hiện tại, chưa có chuẩn nào cho giao thức này do công việc nghiên cứu và phát triển vẫn đang diễn ra Nhiều vấn đề cần giải quyết trước khi có thể xác định một chuẩn cụ thể Luận văn này khảo sát một số vấn đề liên quan và tìm hiểu các thuật toán flooding Sau đó, nó cài đặt thuật toán flooding with dominant pruning (FWDP) cho mạng di động ad-hoc và đánh giá hiệu năng của thuật toán này, so sánh với giao thức định tuyến AODV.
Mô tả vấn đề
Mục tiêu của luận văn này là nghiên cứu và triển khai thuật toán flooding cho mạng di động ad-hoc (MANET) và đánh giá hiệu năng của thuật toán này Đánh giá sẽ được thực hiện cả về lý thuyết và thông qua mô phỏng mạng, đồng thời so sánh kết quả với giao thức định tuyến AODV Khi bắt đầu luận văn, tác giả chưa thực hiện bất kỳ giao thức nào, do đó nhiệm vụ chính là triển khai giao thức AODV trước tiên.
Luận văn này nhằm mục đích phát triển một môi trường mô phỏng mạng ad-hoc, phục vụ cho việc nghiên cứu và tìm hiểu sâu hơn trong các lĩnh vực liên quan Môi trường này được xây dựng dựa trên bộ mô phỏng mạng ns2, giúp nâng cao khả năng phân tích và đánh giá hiệu suất của mạng ad-hoc.
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
Thuật toán flooding trong mạng ad-hoc là một phương pháp quan trọng để truyền tải dữ liệu, và bài viết này sẽ khám phá các thuật toán flooding cải tiến Đặc biệt, chúng tôi sẽ mô tả chi tiết về thuật toán FWDP, một trong những thuật toán nổi bật, và sẽ tiến hành cài đặt nó trên môi trường giả lập để đánh giá hiệu quả hoạt động.
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
Kết luận chung về luận văn.
Công việc liên quan
Nhiều giao thức định tuyến đã được đề xuất, nhưng chỉ một số ít so sánh giữa các giao thức khác nhau đã được thực hiện Dự án Monarch tại Đại học Carnegie Mellon (CMU) là một trong những công trình đáng chú ý, đã tiến hành so sánh nhiều giao thức định tuyến và đánh giá chúng dựa trên các tham số đo định lượng Kết quả của nghiên cứu này được trình bày trong bài báo "A performance comparison of multi-hop ad hoc wireless network routing protocols" được xuất bản vào tháng 10/1998 Mặc dù cũng có một số kết quả mô phỏng khác trên các giao thức riêng lẻ, nhưng những mô phỏng này không sử dụng cùng tham số đo, do đó không thể so sánh với các giao thức khác.
Bố trí luận văn
Luận văn này bao gồm 5 chương, trong đó Chương 1 và 2 khám phá khái niệm về mạng ad-hoc và các giao thức định tuyến chính Chương 3 tập trung vào thuật toán flooding trong mạng di động ad-hoc, đặc biệt là thuật toán FWDP, và tiến hành cài đặt và thử nghiệm thuật toán này Chương 4 mô phỏng và đánh giá hiệu năng của thuật toán FWDP bằng bộ mô phỏng mạng ns2, đồng thời so sánh với giao thức định tuyến AODV Cuối cùng, Chương 5 tổng kết luận văn và liệt kê các tài liệu tham khảo.
Mạng di động ad-hoc (Mobile Ad-hoc Network)
Mạng di động ad-hoc (MANET) là một loại mạng tự tổ chức, bao gồm các thiết bị di động kết nối với nhau qua các liên kết không dây Trong loại mạng này, các nút mạng có khả năng di chuyển tự do, dẫn đến việc cấu trúc mạng có thể thay đổi nhanh chóng và khó dự đoán Hơn nữa, phạm vi truyền thông hạn chế của các nút khiến cho một số nút không thể giao tiếp trực tiếp với nhau Do đó, để truyền dữ liệu, các tuyến đường trong mạng ad-hoc thường phải đi qua nhiều chặng, và mỗi nút mạng sẽ đóng vai trò như một router.
Hình 2.1: Mô hình của một mạng ad-hoc
Sự bùng nổ của mạng không dây 802.11/Wifi và laptop đã thúc đẩy MANET trở thành một lĩnh vực nghiên cứu nổi bật trong những năm gần đây Nhiều nghiên cứu đã tập trung vào việc phát triển các giao thức định tuyến và khả năng ứng dụng, từ đó nâng cao tính di động trong các khung cảnh khác nhau.
Đặc tính của mạng ad-hoc
Mạng ad-hoc, hay MANET, là một tập hợp các thiết bị di động kết nối với nhau mà không cần cơ sở hạ tầng cố định, với các đặc tính như di động và tự điều khiển Trong mạng này, các nút hoạt động như router, cho phép gói tin truyền từ nguồn đến đích một cách trực tiếp hoặc qua các nút trung gian Quá trình quản lý và điều khiển mạng được phân tán, với mỗi nút chịu trách nhiệm chuyển tiếp gói tin và cộng tác để đảm bảo các chức năng mạng như bảo mật Sự di động cao của các nút trong mạng ad-hoc dẫn đến sự thay đổi nhanh chóng và không thể đoán trước về tô-pô mạng.
Việc kết nối giữa các host trong mạng ad-hoc sẽ thay đổi theo thời gian, đặc biệt khi sử dụng các thiết bị có nguồn năng lượng thấp Những thiết bị này thường có CPU và bộ nhớ hạn chế, điều này có thể làm gia tăng khả năng ảnh hưởng của mạng MANET đến các thiết bị khác.
Định tuyến trong mạng ad-hoc (MANET) có những đặc điểm khác biệt so với mạng cố định, vì nó chịu ảnh hưởng bởi nhiều yếu tố như cấu trúc mạng, lựa chọn tuyến đường, khởi tạo yêu cầu và băng thông hiện có.
Trước khi mạng ad-hoc trở nên thực tiễn hơn, cần giải quyết một số vấn đề kỹ thuật quan trọng Định tuyến tự động là cần thiết khi các nút mạng di chuyển, dẫn đến sự thay đổi thường xuyên của tô-pô mạng Các yếu tố như nút mạng di động, giới hạn nguồn pin, băng thông thấp của liên kết không dây và tính chất mất đường đi tạo ra những thách thức độc đáo và thú vị trong việc phát triển giải pháp.
Ứng dụng của mạng ad-hoc
Để đáp ứng nhu cầu truyền thông tạm thời tại các sự kiện như hội thảo hay lớp học, việc xây dựng một mạng tạm thời là cần thiết Mạng di động ad-hoc là giải pháp tối ưu trong những trường hợp này, vì nó tiết kiệm chi phí, nhân lực và thời gian so với việc thiết lập một mạng có cơ sở hạ tầng, kể cả mạng không dây.
Hỗ trợ khẩn cấp trong trường hợp thiên tai và hỏa hoạn là rất quan trọng, vì những sự kiện này có thể gây thiệt hại nghiêm trọng cho cơ sở hạ tầng, bao gồm máy chủ, máy trạm và đường dây Việc đảm bảo an toàn cho các thiết bị này là cần thiết để duy trì hoạt động liên tục và phục hồi nhanh chóng sau thảm họa.
Việc hệ thống mạng bị tê liệt do thiên tai là khó tránh khỏi, vì vậy cần thiết phải thiết lập nhanh chóng một mạng tin cậy mà không cần cơ sở hạ tầng để đáp ứng nhu cầu truyền thông và giảm thiểu tổn thất Mạng di động ad-hoc là giải pháp phù hợp cho các tình huống này, đặc biệt tại những khu vực xa trung tâm, nơi dân cư thưa thớt hoặc vùng sâu, vùng xa, nơi việc xây dựng mạng có cơ sở hạ tầng tốn kém và khó khăn Do đó, việc sử dụng mạng di động ad-hoc hoặc mạng vệ tinh là lựa chọn tối ưu cho những khu vực này.
Trong một số ứng dụng, dịch vụ mạng có cơ sở hạ tầng có thể không hiệu quả bằng mạng di động ad-hoc Khi sử dụng mạng có cơ sở hạ tầng, các nút mạng phải truyền thông qua một base station, ngay cả khi chúng ở gần nhau, dẫn đến lãng phí thời gian và băng thông Ngược lại, mạng di động ad-hoc cho phép hai nút mạng gần nhau truyền thông trực tiếp mà không cần thiết bị trung gian, mang lại sự nhanh chóng và hiệu quả hơn trong việc giao tiếp.
Chuẩn mạng không dây 802.11
Năm 1997, IEEE (Institute of Electrical and Electronics Engineers) đã phát hành chuẩn mạng cục bộ không dây 802.11, thuộc nhóm chuẩn IEEE 802.x nổi tiếng, bao gồm cả Ethernet và Token Ring Chuẩn 802.11 xác định điều khiển truy cập môi trường (MAC) và đặc tả tầng vật lý (PHY) cho mạng LAN không dây, với ba đặc tả tầng vật lý là trải phổ nhảy tầng (FHSS), trải phổ trực tiếp (DSSS) và tia hồng ngoại (IR), cho phép tốc độ truyền dữ liệu tối đa lên đến 2 Mbps Cả hai tầng vật lý DSSS và FHSS hoạt động trong dải băng 2.4 GHz miễn phí.
Trong những năm qua, công nghệ MAC đã phát triển với các đặc tả tầng vật lý mới Năm 1999, IEEE giới thiệu hai chuẩn 802.11b và 802.11a, với tốc độ truyền dữ liệu lần lượt là 11 Mbps và 54 Mbps Chuẩn 802.11b sử dụng DSSS và hoạt động ở dải tần 2.4 GHz, trong khi 802.11a sử dụng OFDM và hoạt động ở dải tần 5 GHz Đến năm 2003, IEEE phát hành phiên bản 802.11g, mở rộng từ 802.11b, hỗ trợ tốc độ truyền dữ liệu lên đến 54 Mbps tại dải tần 2.4 GHz.
IEEE 802.11 đã trở thành công nghệ mạng không dây phổ biến nhờ vào hiệu quả chi phí và tính dễ dàng trong việc phát triển Hiện nay, công nghệ này được áp dụng rộng rãi tại các văn phòng, khu đại học, sân bay, khách sạn, trạm vận chuyển công cộng và cả trong các hộ gia đình, khẳng định vị thế của nó trên toàn cầu.
IEEE 802.11 định nghĩa hai kiến trúc chính: tập dịch vụ cơ bản (BSS) và tập dịch vụ cơ bản phụ thuộc (IBSS) Trong BSS, các trạm không dây (STA) kết nối với điểm truy cập (AP) và tất cả truyền thông diễn ra qua AP Ngược lại, trong IBSS, các trạm STA có thể giao tiếp trực tiếp với nhau khi ở trong phạm vi truyền thông, cho phép hình thành mạng ad-hoc không dây mà không cần cơ sở hạ tầng mạng.
Một số BSS có thể kết nối qua hệ thống phân phối (DS) để tạo thành 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 thiết lập hai cơ chế truy cập kênh: Chức năng điều phối phân tán bắt buộc (DCF) sử dụng phương pháp CSMA/CA để truy cập kênh phân phối, trong khi chức năng phối hợp điểm tùy ý (PCF) cung cấp truy cập kênh kiểm soát trung tâm thông qua kiểm tra vòng.
Trong DCF, các trạm tranh chấp truy cập môi trường theo giao thức CSMA/CA, với cơ chế truy cập dựa vào tranh chấp kênh Ngược lại, trong PCF, một bộ điều phối điểm (PC) thường đượ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 Điều này cho phép PC thăm dò từng trạm riêng biệt để cung cấp quyền truy cập môi trường dựa trên nhu cầu của chúng.
Hình 2.2: Kiến trúc mạng IEEE 802.11
Vào tháng 7/1999, IEEE đã mở rộng chuẩn 802.11 thành chuẩn 802.11b, hỗ trợ băng thông lên đến 11 Mbps, tương đương với Ethernet truyền thống Chuẩn 802.11b hoạt động trên tần số 2.4 GHz, giống như chuẩn 802.11 ban đầu, giúp các hãng giảm chi phí sản xuất Tuy nhiên, thiết bị sử dụng 802.11b có thể gặp phải hiện tượng xuyên nhiễu từ điện thoại di động, lò vi sóng và các thiết bị khác cùng tần số Để giảm thiểu vấn đề này, người dùng nên lắp đặt chuẩn 802.11b cách xa các thiết bị gây nhiễu Ưu điểm của chuẩn 802.11b bao gồm giá thành thấp, phạm vi tín hiệu tốt và khả năng không dễ bị cản trở, mặc dù tốc độ tối đa của nó vẫn còn hạn chế.
Trong khi chuẩn 802.11b phát triển nhanh chóng, IEEE đã đồng thời phát triển chuẩn 802.11a, mặc dù 802.11b được sử dụng rộng rãi hơn 802.11a, với băng thông lên đến 54 Mbps và tần số 5 GHz, chủ yếu được áp dụng trong các mạng doanh nghiệp do chi phí cao Tuy nhiên, tần số cao hơn khiến phạm vi của 802.11a hẹp hơn và tín hiệu khó xuyên qua các vật cản Hai công nghệ này không tương thích với nhau vì sử dụng tần số khác nhau, dẫn đến việc một số hãng phát triển thiết bị mạng lai Mặc dù 802.11a có ưu điểm về tốc độ cao và khả năng tránh nhiễu, nhưng nhược điểm của nó là giá thành đắt, phạm vi hạn chế và dễ bị che khuất.
Vào năm 2002 và 2003, sản phẩm WLAN đã chuyển sang chuẩn 802.11g, được ưa chuộng trên thị trường nhờ khả năng kết hợp tốt giữa 802.11a và 802.11b Chuẩn 802.11g hỗ trợ băng thông lên đến 54 Mbps và hoạt động trên tần số 2.4 GHz, mang lại phạm vi rộng hơn Nó cũng tương thích với chuẩn 802.11b, cho phép các điểm truy cập 802.11g hoạt động với adapter mạng không dây 802.11b và ngược lại Mặc dù 802.11g có tốc độ cao, phạm vi tín hiệu tốt và ít bị che khuất, nhưng nhược điểm của nó là giá thành cao hơn 802.11b và có thể bị nhiễu từ các 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.
Định tuyến trong mạng ad-hoc
2.5.1 Tổng quan về định tuyến trong mạng ad-hoc
Trong một hệ thống mạng, hiệu năng hoạt động phụ thuộc vào thời gian truyền tin từ nút mạng đầu đến nút mạng cuối, đòi hỏi sự phối hợp hiệu quả giữa các thiết bị ở các tầng khác nhau, đặc biệt là router ở tầng mạng Router có nhiệm vụ xác định đường đi cho các gói tin và tìm các nút mạng trung gian để chuyển tiếp từ nút gửi đến nút nhận một cách nhanh chóng và chính xác Thuật toán định tuyến giúp xác định đường đi tối ưu cho việc này Đối với mạng không dây có cơ sở hạ tầng, việc truyền thông giữa các nút mạng phụ thuộc vào vùng phủ sóng của trạm cơ sở; nếu nằm ngoài vùng phủ sóng, các nút không thể liên lạc với nhau Ngược lại, trong mạng ad-hoc, không có trạm cơ sở, mỗi nút mạng hoạt động như một router và có thể chuyển tiếp gói tin thông qua các nút trung gian, cho phép liên lạc ngay cả khi các nút nằm ngoài vùng phủ sóng của nhau Vì vậy, việc xác định các nút mạng trung gian để chuyển tiếp gói tin là rất quan trọng và đang là vấn đề được quan tâm trong mạng di động ad-hoc hiện nay.
Mạng di động ad-hoc có những điểm khác biệt đáng chú ý so với các mạng khác, bao gồm tính di động của các nút mạng, dẫn đến sự thay đổi trong tô-pô mạng Băng thông và tốc độ truyền tín hiệu của mạng cũng biến động liên tục, phụ thuộc vào tính chất vật lý của các nút, giao diện mạng và khoảng cách giữa chúng Những yếu tố này khiến việc thiết kế giao thức định tuyến cho mạng di động ad-hoc trở nên phức tạp hơn Do đó, khi phát triển giao thức định tuyến cho mạng này, cần chú ý đến những tính năng đặc thù của nó.
Giao thức định tuyến trong mạng di động ad-hoc cần phải được phân tán và không phụ thuộc vào bất kỳ nút mạng trung tâm nào Khác với mạng tĩnh, các nút trong mạng di động có khả năng dễ dàng vào và ra khỏi mạng, dẫn đến khả năng mạng bị chia tách do tính chất chuyển động.
Để cải thiện hiệu năng mạng, giao thức định tuyến cần đảm bảo loại bỏ vòng lặp định tuyến, nhằm tránh lãng phí băng thông và tiết kiệm tài nguyên CPU.
Để giảm thiểu chi phí điều khiển trong mạng và tiết kiệm tài nguyên, giao thức cần hoạt động theo yêu cầu Điều này có nghĩa là giao thức chỉ phản ứng khi cần thiết, mà không quảng bá thông tin điều khiển một cách định kỳ.
Môi trường vô tuyến có thể tạo ra các liên kết đơn hướng, và việc sử dụng những liên kết này cùng với các liên kết song hướng sẽ giúp nâng cao hiệu suất của giao thức định tuyến.
Bảo mật trong môi trường vô tuyến là một thách thức lớn do dễ bị tấn công, vì vậy cần có các biện pháp để đảm bảo hành vi của giao thức định tuyến Xác thực và mã hóa thông tin là những giải pháp hiệu quả, đặc biệt là trong việc phân phối khóa giữa các nút trong mạng di động ad-hoc Ngoài ra, việc sử dụng IP-sec thông qua giao vận đường hầm để truyền tải tất cả các gói tin cũng là một phương án đáng cân nhắc.
Để duy trì nguồn năng lượng trong mạng di động ad-hoc, các thiết bị như laptop và PDA cần sử dụng chế độ stand-by nhằm tiết kiệm pin, vì vậy các giao thức định tuyến cũng phải hỗ trợ tính năng này Bên cạnh đó, việc áp dụng định tuyến đa đường giúp giảm thiểu tác động từ sự thay đổi tô-pô mạng, cho phép sử dụng nhiều tuyến đường khác nhau Khi một tuyến đường không còn khả dụng, hệ thống có thể lưu trữ tuyến đường thay thế còn hợp lệ, từ đó tiết kiệm thời gian cho quá trình khám phá tuyến đường mới trong giao thức định tuyến.
Hỗ trợ chất lượng dịch vụ là yếu tố quan trọng cần thiết để tích hợp hiệu quả với giao thức định tuyến trong mạng di động ad-hoc Việc này đặc biệt quan trọng khi cung cấp hỗ trợ cho lưu lượng thời gian thực.
Hiện tại, chưa có giao thức nào cho mạng MANET đáp ứng đầy đủ tất cả các tính năng cần thiết Tuy nhiên, các giao thức này vẫn đang trong quá trình phát triển và có khả năng mở rộng nhiều chức năng hơn Mục tiêu chính của chúng là xác định tuyến đường đến đích, thay vì tìm kiếm tuyến đường tối ưu hay ngắn nhất.
Trong mạng ad-hoc, có nhiều giao thức định tuyến khác nhau, nhưng chủ yếu được chia thành hai phương thức chính: định tuyến điều khiển bằng bảng ghi và định tuyến theo yêu cầu khởi phát từ nguồn.
Hì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 duy trì thông tin định tuyến nhất quán từ mỗi nút đến tất cả các nút khác trong mạng Mỗi nút cần lưu trữ một hoặc nhiều bảng định tuyến và phản ứng với sự thay đổi tô-pô bằng cách lan truyền cập nhật khắp mạng Sự khác biệt về số bảng định tuyến và cách thức thay đổi do cấu trúc mạng sẽ được quảng bá cho các nút mạng khác để đảm bảo tính nhất quán.
Giao thức định tuyến theo yêu cầu khởi phát từ nguồn là một phương pháp định tuyến khác biệt so với định tuyến điều khiển bằng bảng ghi, chỉ tạo ra tuyến đường khi nút mạng nguồn cần thiết Khi một nút mạng muốn thiết lập tuyến đường đến đích, nó sẽ khởi động quá trình khám phá tuyến đường trong mạng Sau khi quá trình này hoàn tất, một hoặc nhiều tuyến đường khả thi sẽ được xác định Tuyến đường sau khi được thiết lập sẽ được duy trì thông qua một quy trình cho đến khi đích trở nên không thể truy cập hoặc khi tuyến đường không còn cần thiết nữa.
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 sử dụng cơ chế tìm đường dựa trên bảng và áp dụng thuật toán Bellman-Ford cổ điển Để phù hợp với mạng ad-hoc, DSDV đã được cải tiến nhằm loại bỏ khả năng hình thành chu trình trong các bảng định tuyến.
Trong thuật toán này, mỗi nút mạng duy trì một bảng định tuyến chứa thông tin về tất cả các nút mạng đích và số chặng đến từng nút Mỗi mục trong bảng được đánh dấu bằng một số tuần tự, giúp phân biệt giữa tuyến đường cũ và mới, từ đó ngăn chặn sự hình thành chu trình trong định tuyến Cập nhật bảng định tuyến được truyền định kỳ để duy trì tính nhất quán trong mạng Đối với mạng lớn, để giảm lưu lượng cập nhật, có hai loại gói tin được sử dụng: gói tin cập nhật đầy đủ (full dump) chứa tất cả thông tin định tuyến, và gói tin cập nhật thông tin bổ sung (incremental) chỉ chuyển tiếp thông tin đã thay đổi từ lần cập nhật trước Gói tin bổ sung có kích thước vừa vặn với một NPDU tiêu chuẩn, giúp giảm lưu lượng mạng Các nút mạng cũng duy trì một bả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.
Tổng kết chương
Trong chương này, chúng tôi giới thiệu các khái niệm cơ bản về mạng di động ad-hoc, một mô hình mạng không dây được nghiên cứu nhiều gần đây Chúng tôi cũng đề cập đến các chuẩn mạng không dây IEEE 802.11 và bốn giao thức định tuyến phổ biến trong mạng di động ad-hoc: DSDV, DSR, AODV và TORA Cuối cùng, chúng tôi so sánh kết quả phân tích lý thuyết của các giao thức này và chỉ ra những đặc điểm mà mỗi giao thức sở hữu hoặc thiếu.
Thuật toán flooding chuẩn
Trong mạng di động ad-hoc, flooding là phương thức truyền dữ liệu hiệu quả, nơi thông báo từ nút nguồn được phát đi đến tất cả các nút lân cận, sau đó các nút này tiếp tục chuyển tiếp thông báo đến các nút hàng xóm của chúng Quá trình này lặp lại cho đến khi mọi nút trong mạng nhận được thông báo Flooding được ứng dụng rộng rãi trong các giao thức định tuyến như AODV và DSR, giúp tìm kiếm và duy trì tuyến đường cũng như cập nhật thông tin về tô-pô mạng Ưu điểm lớn nhất của flooding là tăng cường độ tin cậy cho giao thức định tuyến, đảm bảo thông báo có thể đến được mọi nút trong mạng nếu không có sự cố Tuy nhiên, flooding cũng có nhược điểm là tiêu tốn băng thông, do tất cả các nút đều phải chuyển tiếp thông báo nhận được.
Hiện nay, nhiều thuật toán flooding đã được phát triển để giải quyết các vấn đề như dư thừa, tranh chấp và đụng độ Các thuật toán này có thể được phân loại theo các tiêu chí khác nhau, chẳng hạn như số chặng thông tin hàng xóm: 0-chặng (không cần thiết), 1-chặng và 2-chặng Ngoài ra, flooding cũng có thể được phân loại dựa vào bên gửi, trong đó mỗi nút gửi chỉ định một tập hợp các nút hàng xóm làm nút chuyển tiếp cho thông báo; hoặc dựa vào bên nhận, khi mỗi nút nhận sẽ tự tạo ra miền quyết định của mình về việc có 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
Mạng ad-hoc có thể được mô hình hóa như một đồ thị, trong đó mỗi nút mạng tương ứng với một đỉnh và hai nút được kết nối khi chúng nằm trong phạm vi truyền thông của nhau Đặc điểm nổi bật của mạng ad-hoc là các nút có khả năng di chuyển, dẫn đến sự thay đổi của đồ thị theo thời gian.
Trong môi trường truyền thông vô tuyến, các liên kết mạng có thể là một chiều do phạm vi truyền thông khác nhau giữa các nút Ví dụ, nút A có thể gửi dữ liệu cho nút B, nhưng nút B lại không thể gửi dữ liệu trở lại cho nút A Tuy nhiên, các liên kết một chiều này có thể không được phát hiện bởi giao thức tầng mạng, và có thể sử dụng các gói tin ACK ở tầng liên kết hoặc các cơ chế phát hiện để nhận diện chúng Khi áp dụng các phương pháp này, tất cả các liên kết có thể được coi là hai chiều, cho phép nút A và nút B giao tiếp hiệu quả hơn.
Nút B có khả năng truyền dữ liệu đến nút A Giả sử N(v) là tập hợp các nút kề của nút v, thì N(N(v)) sẽ là tập hợp các nút trong mạng có khoảng cách tối đa 2 bước từ nút v.
Trong mạng không dây, tối ưu hóa định tuyến là một vấn đề quan trọng, dẫn đến sự xuất hiện của cây flooding tối ưu Đối với mạng có dây, mục tiêu là giảm thiểu việc sử dụng liên kết để flood gói tin, từ đó hình thành bài toán cây flooding tối ưu, tương đương với bài toán cây bao trùm nhỏ nhất (MST) Nếu đã có thông tin đầy đủ về tô-pô mạng, một nút mạng có thể xác định cây MST một cách dễ dàng Tuy nhiên, việc tìm ra cây MST và chuyển tiếp gói tin qua cây này trong hệ thống phân tán lại không phải là điều đơn giản Vì vậy, trong mạng có dây, các phương pháp flooding đơn giản như flooding mù thường được áp dụng thay vì sử dụng cây MST.
Tiêu chuẩn tối ưu cho flooding trong mạng không dây khác biệt so với mạng có dây, vì trong mạng không dây, các nút thường quảng bá gói tin đến các nút hàng xóm Mỗi lần quảng bá tiêu thụ cùng một lượng tài nguyên, bất kể số lượng nút hàng xóm Do đó, cây flooding tối ưu trong mạng không dây được xác định bằng cách giảm thiểu số lượng quảng bá Hầu hết các liên kết có thể được xác định, cho phép xây dựng cây flooding tối ưu trong mạng không dây, như minh họa trong hình 3.2.
Hình 3.2 minh họa cây flooding tối ưu trong mạng ad-hoc, với A là nút nguồn và B, E, G là các nút chuyển tiếp gói tin Tất cả các nút mạng, trừ nút lá, đều phải quảng bá gói tin, dẫn đến số gói tin truyền thông cần thiết tương đương với số nút không phải là nút lá trên cây flooding Do đó, bài toán xác định số gói tin truyền thông tối thiểu tương đương với việc tìm cây bao trùm nhỏ nhất có số nút không phải là nút lá Nghiên cứu trong tài liệu [8] đã chứng minh rằng 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 đủ.
Tại sao các thuật toán flooding đáng quan tâm
Thực nghiệm trong môi trường thực tế với mạng vừa và nhỏ cho thấy AODV hoạt động kém hiệu quả, thường gặp hiện tượng đứt gãy liên kết trong môi trường nhiều chướng ngại vật và sóng nhiễu Ngược lại, phương pháp flooding lại cho kết quả truyền thông tốt hơn giữa các cặp nút nguồn-đích Vì vậy, chúng tôi tập trung nghiên cứu các thuật toán flooding.
Nhu cầu nghiên cứu và phát triển các giao thức định tuyến cho mạng ad-hoc và mạng cảm biến không dây (WSN) ngày càng tăng cao Nhiều giao thức định tuyến hiện tại sử dụng phương pháp flooding để khám phá và duy trì tuyến đường cũng như thu thập 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 các loại mạng này đang thu hút sự quan tâm lớn Tuy nhiên, định tuyến cho mạng ad-hoc vẫn đối mặt với nhiều thách thức như bảo mật, chất lượng dịch vụ, hiệu quả duy trì nguồn năng lượng và băng thông mạng.
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ó những cải tiến đáng kể Chúng được phân loại trong phần 3.1 Trong phần tiếp theo, chúng tôi sẽ trình bày một số thuật toán flooding cải tiến, với trọng tâm là thuật toán flooding dựa vào thông tin 2-chặng, được gọi 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.
Thuật toán hoạt động bằng cách mỗi nút mạng chia sẻ danh sách các nút kề với các nút hàng xóm Giả sử rằng mọi nút mạng đều nắm rõ thông tin về các nút kề của mình, mỗi nút sẽ gửi đi một gói tin để thực hiện kỹ thuật này.
"Who I am" được sử dụng định kỳ để thông báo cho các nút mạng lân cận rằng nó vẫn còn hoạt động Ký hiệu N(v i ) đại diện cho tập hợp các nút kề của nút v i, trong khi N(N(v i )) là tập hợp các nút mạng có khoảng cách tối đa 2 bước từ nút v i.
Khi một 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 gói tin được flood Nút vj nhận gói tin từ nút vi và kiểm tra xem tập N(vj) – N(vi) – {vi} có phải là tập rỗng hay không Nếu tập này rỗng, nút vj sẽ ngừng chuyển tiếp gói tin vì biết rằng tất cả các nút kề đã nhận gói tin Ngược lại, nếu không rỗng, nút vj sẽ tiếp tục chuyển tiếp gói tin.
Thuật toán self-pruning yêu cầu chi phí truyền thông bổ sung để trao đổi thông tin với các nút lân cận Để tối ưu hóa chi phí này, mỗi nút mạng có thể lưu trữ danh sách các nút kề đã nhận được trong bộ nhớ cache.
3.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 thông báo, nó xác đị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 Chỉ những nút nằm trong biên giới này được xem là tập chuyển tiếp (forwarding set) để nhận thông báo Nút nguồn sẽ cố định tập chuyển tiếp và thực hiện quảng bá thông báo flooding Nút nhận sẽ loại bỏ thông báo nếu bị lặp lại, và nếu nằm trong tập chuyển tiếp, nó sẽ tính toán lại tập chuyển tiếp của mình tương tự như nút nguồn Dựa vào thông tin vị trí, nút nhận sẽ tối ưu hóa tập chuyển tiếp bằng cách loại bỏ các nút bị phủ sóng bởi nút gửi và các nút hàng xóm có ID nhỏ hơn Cuối cùng, các nút truyền lại sẽ quảng bá thông báo đến chặng tiếp theo, và quá trình này lặp lại cho đến khi thông báo flooding đến tất cả các nút mạng.
Nút nguồn 1 muốn truyền thông báo và xác định tập chuyển tiếp gồm nút 2 và nút 3 Để tìm tập chuyển tiếp tối ưu cho nút 3, ta xem xét các nút nằm trong vùng phủ sóng của nó, bao gồm các nút 1, 2, 4, 5, 6, 7 và 8 Trong số này, nút 1 là nút gửi của nút 3 và các nút 7, 8 là nút nhận, do đó chúng không được tính vào tập chuyển tiếp Nút 2, là hàng xóm của nút 3, sẽ được giữ lại trong tập chuyển tiếp.
Nút 3 có ID nhỏ hơn nút 2, trong khi nút 2 lại phủ sóng nút 4, dẫn đến việc nút 4 bị loại khỏi tập chuyển tiếp của nút 3 Do đó, tập chuyển tiếp tối ưu còn lại của nút 3 chỉ bao gồm 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)
Thuật toán flooding theo 1HI dựa vào thông tin hàng xóm 1-chặng, mang lại chi phí thấp và dễ thực thi Tuy nhiên, nó gặp phải một số nhược điểm: đầu tiên, tập chuyển tiếp chỉ được tối ưu cục bộ, dẫn đến số nút truyền lại vẫn cao Thứ hai, các nút truyền lại phân tán dày đặc theo biên mạng gây lãng phí, vì hàng xóm của những nút này đã nhận được thông báo flooding từ các nút truyền lại 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:
2HBI giúp tối ưu hóa thông tin vị trí địa lý, giảm thiểu số nút truyền lại hiệu quả trong quá trình flooding, đồng thời khắc phụ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
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
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, trong khi nút gửi của nút lùi 1-chặng được gọi là nút lùi 2-chặng Thông báo flooding lan truyền từ nút nguồn 0 đến nút 3, sau đó từ nút 3 đến nút 4, và tiếp tục như vậy Đối với 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 Thông tin lùi 2-chặng có thể được xem là sự kết hợp giữa thông tin tập chuyển tiếp của các nút lùi một và hai chặng cùng với thông tin hàng xóm 1-chặng, bao gồm định danh và thông tin vị trí của tất cả các nút trong tập hợp đó.
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 được thu thập thông qua 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ùng với thông báo flooding trước khi quảng bá 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, tạo nên toàn bộ thông tin lùi 2-chặng Ví dụ, nút 4 nhận thông tin từ các nút 0 và 3 qua lan truyền flooding và kết hợp với thông tin hàng xóm 1-chặng, do đó chứa toàn bộ thông tin lùi 2-chặng Mỗi nút mạng cần duy trì thông tin hàng xóm 1-chặng Thuật toán 2HBI bắt đầu với việc nút nguồn chọn tập chuyển tiếp và quảng bá thông báo flooding nếu tập chuyển tiếp không rỗng Nút nhận sẽ ngừng chuyển tiếp nếu thông báo lặp lại hoặc không được gán là nút truyền lại Nếu nút nhận nằm trong tập chuyển tiếp của nút gửi, nó sẽ trở thành nút truyền lại và tính toán tập chuyển tiếp của mình Mỗi nút truyền lại sử dụng ba quy tắc tối ưu để tối ưu hóa tập chuyển tiếp dựa trên thông tin lùi 2-chặng và nếu tập tối ưu không rỗng, nó sẽ cố định thông tin và quảng bá thông báo đến chặng tiếp theo, đảm bảo thông báo flooding đến tất cả các nút mạng.
Chọn tập chuyển tiếp cho một nút mạng bắt đầu bằng việc xem xét danh sách các nút mạng hàng xóm Mỗi nút mạng sẽ tính toán biên giới vùng phủ sóng của mình đến các nút hàng xóm Sau đó, tất cả biên giới của từng nút truyền lại và hàng xóm của nút cần tìm tập chuyển tiếp sẽ được gộp lại thành một tập hợp duy nhất Tập hợp này được gọi là biên giới vùng phủ sóng của các nút mạng hàng xóm.
Tổng kết chương
Trong chương này, chúng tôi đã trình bày về thuật toán flooding thô cho mạng di động ad-hoc và nhấn mạnh tầm quan trọng của việc nghiên cứu các thuật toán flooding Chúng tôi cũng đã giới thiệu bốn thuật toán flooding cải tiến, bắt đầu với Self-pruning, một thuật toán đơn giản dựa vào bên nhận và thông tin hàng xóm một chặng Tiếp theo, chúng tôi trình bày thuật toán 1HI, một thuật toán flooding dựa vào bên gửi và cũng sử dụng thông tin hàng xóm 1-chặng Trong thuật toán 1HI, một nút mạng muốn chuyển tiếp thông báo cần tối ưu danh sách chuyển tiếp bằng cách loại bỏ các nút bị phủ sóng bởi bên gửi và các nút hàng xóm có ID nhỏ hơn Thuật toán này nổi bật với tính dễ thực thi và chi phí thấp.
Thuật toán 2HBI là một phương pháp flooding dựa vào bên gửi và sử dụng thông tin lùi 2-chặng nút Giống như thuật toán 1HI, một nút mạng trong 2HBI không chỉ chuyển tiếp thông báo mà còn tối ưu danh sách chuyển tiếp dựa trên ba quy tắc tối ưu đã được đề cập Ưu điểm nổi bật của 2HBI so với 1HI là không yêu cầu chi phí truyền thông phụ khi trao đổi các thông báo hello 1-chặng và có độ phức tạp thời gian thấp hơn.
O(nlogn), với n là số nút mạng hàng xóm
Trong phần cuối của chương này, chúng tôi giới thiệu chi tiết về thuật toán FWDP, một thuật toán flooding dựa vào bên gửi và sử dụng thông tin 2-chặng nút Chúng tôi đã tiến hành nghiên cứu và triển khai thuật toán này trên bộ mô phỏng mạng ns2, từ đó mở ra hướng đi mới cho việc định tuyến trong mạng ad-hoc, một trong những thách thức quan trọng nhất của loại mạng này.
Môi trường mô phỏng NS2
Network Simulator 2 (ns2) là một công cụ mô phỏng sự kiện rời rạc, được phát triển và quản lý bởi nhóm nghiên cứu tại Berkeley Công cụ này chủ yếu được sử dụng trong nghiên cứu mạng máy tính, hỗ trợ mô phỏng các giao thức như TCP, định tuyến và multicast.
Bộ mô phỏng này được phát triển bằng C++ và sử dụng ngôn ngữ kịch bản OTcl, cho phép người dùng định nghĩa mạng, lưu lượng và giao thức thông qua một kịch bản Otcl Người dùng có thể chỉ định số lượng nút mạng, các liên kết, nguồn và đích lưu lượng cũng như loại lưu lượng cần mô phỏng Kịch bản này sẽ được ns sử dụng trong suốt quá trình mô phỏng, và kết quả đầu ra sẽ là một tệp vết (trace file) để phân tích.
Object Tool Command Language (OTCL) được sử dụng để phân tích dữ liệu như tỷ lệ giao hàng, độ trễ và thông lượng Ngoài ra, nó còn cho phép quan sát mô phỏng thông qua chương trình Network Animator (NAM) Phiên bản hiện tại của ns2 hỗ trợ môi trường không dây di động.
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
Mỗi nút mạng di động sử dụng một tác tử định tuyến để tính toán đường đi đến các nút khác trong mạng ad-hoc Gói tin được gửi từ ứng dụng xuống tác tử định tuyến, nơi tác tử quyết định lộ trình và đánh dấu thông tin cần thiết Sau đó, gói tin được chuyển xuống tầng liên kết dữ liệu, nơi giao thức ARP xác định địa chỉ phần cứng của các nút mạng hàng xóm và ánh xạ địa chỉ IP với giao diện tương ứng Khi nhận được thông tin, gói tin được đưa vào hàng đợi giao diện và chờ tín hiệu từ giao thức MAC Khi tầng MAC chấp nhận, tác tử sẽ gửi gói tin lên kênh, chuyển gói tin từ hàng đợi lên giao diện mạng và phát gói tin qua kênh vô tuyến.
4.1.2 Tổng quan về mô phỏng
Hình 4.3: Tổng quan về mô phỏng
Một mô phỏng tiêu biểu với ns và mở rộng về tính di động được thể hiện trong hình 4.3 Quá trình này chủ yếu bao gồm việc tạo ra các tệp đầu vào cho ns.
Một file kịch bản mô tả movement pattern (cách thức di chuyển) của các nút mạng
Một file truyền thông mô tả traffic pattern (lưu lượng mạng)
Các file có thể được tạo ngẫu nhiên dựa trên các mẫu chuyển động và truyền thông từ một kịch bản Những file này sau đó được sử dụng để mô phỏng, và kết quả mô phỏng sẽ tạo ra một tệp vết Tệp vết này là công cụ quan trọng để phân tích và đánh giá hiệu năng mạng.
Thiết lập mô phỏng cho thuật toán FWDP
Trong phần này, chúng tôi sẽ tập trung vào việc thiết lập và mô phỏng thuật toán FWDP trên bộ mô phỏng mạng ns2 Cụ thể, chúng tôi sẽ thực hiện mô phỏng một mạng ad-hoc thưa với 25 nút.
Chúng tôi đã sử dụng bộ mô phỏng mạng ns2 để thực hiện và so sánh hiệu suất của thuật toán FWDP với AODV dựa trên tiêu chí tỷ lệ gửi thành công (delivery ratio).
Delivery ratio = number of received packets / number of sent packets
Bảng 4.1: Tổng hợp các tham số mô phỏng
Transmission range 250m Number of nodes 25 Size of square area 1km 2 ~ 2km 2 Network load 4Pkt/s Time of simulation 300s
Các bước thiết lập mô phỏng bao gồm việc tạo một mạng thưa với 25 nút trong phạm vi từ 1km² đến 2km², sử dụng băng thông 2Mb/s Bán kính truyền thông được cố định ở 250m, với các nút di chuyển theo mô hình Random Waypoint Tốc độ di chuyển của các nút dao động ngẫu nhiên từ 1 đến 10m/s và thời gian dừng là 20 giây Trong suốt thời gian kết nối, nút nguồn gửi lưu lượng mạng với tốc độ không đổi CBR là 4Pkt/s, kích thước payload là 512 bytes Thời gian mô phỏng mạng là 300 giây, và kết quả là trung bình của 10 kịch bản mô phỏng với các mẫu di chuyển khác nhau nhưng cùng một mẫu lưu lượng.
Kết quả thử nghiệm
Với việc thiết lập mô phỏng cho thuật toán FWDP như trên, ta có kết quả thử nghiệm như sau:
Hình 4.4: Hiệu năng của FWDP và AODV
Khi mở rộng kích thước vùng mô phỏng mạng, tỷ lệ gửi thành công của thuật toán FWDP cao hơn so với thuật toán AODV.
Tổng kết chương
Trong chương này, chúng tôi đã khám phá bộ mô phỏng mạng ns2, một công cụ phổ biến trong nghiên cứu mạng máy tính toàn cầu Tiếp theo, chúng tôi thiết lập mô phỏng cho thuật toán FWDP và trình bày kết quả thử nghiệm của thuật toán này Kết quả thực nghiệm được minh họa một cách trực quan để người đọc dễ dàng hiểu và theo dõi.