Chương 3 CÁC GIAO THỨC ĐỊNH TUYẾN CHÍNH TRONG MẠNG MANET
3.4. So sánh hoa ̣t đô ̣ng của các giao thức
AODV và DSR là hai giao thức đư ợc sử dụng phổ biến nhất trên hệ thống mạng MANET [11]. Nhìn chung hai giao thức đều thực hiện tốt khả năng tìm đường của mình. Trong phần này , chúng tôi sẽ phân tích các đặc điểm giống nhau và khác nhau của hai giao thức [11,15].
+ Giống nhau
- Tiến trình khám phá đường đi được thực hiện dựa trên việc gởi quảng bá và nhận phản hồi.
- Thông tin định tuyến được lưu trữ tại tất cả các nút trung gian.
- Trong quá trình khám phá tuyến đường , các node trung gian đều có k hả năng học đường về đích hoặc ngược về nguồn.
+ Khác nhau
- Đối với giao thức DSR, tại mỗi nút luôn duy trì thông tin về toàn bộ đường đi về đích hoặc về nguồn. Đối với giao thức AODV, tại mỗi nút chỉ duy trì thông tin đến các nút hàng xóm của nó. Đồng thời, quá trình tìm đường trong giao thức AODV có kiểm tra về độ mới của thông tin đường đi về đích. Do vậy, chúng ta có thể thấy giao thức DSR sẽ duy trì và sử dụng những đường đi không còn hiệu lực cho đến khi
phát hiện lỗi trong quá trình t ruyền , khi đó mới có cơ chế cập nhật lại thông tin về đường đi này.
- Trong quá trình thiết lập đường dẫn ngược về nguồn (phản hồi gói RREP), AODV có kiểm tra và lựa chọn giá trị Hop_cnt nhỏ nhất trong trường hợp có nhiều đường đến đích. Do vậy, đường đi lựa chọn trong giao thức AODV là tối ưu hơn trong DSR.
- DSR sử dụng cơ chế định tuyến nguồn, theo đó nó luôn trả lời cho tất cả các yêu cầu tìm đường. Cơ chế này giúp DSR thu thập được nhiều đường đi về đích dẫn đến khả năng phát tin tốt hơn AODV. Tuy nhiên, đều này chỉ tốt trong trường hợp mạng có ít nguồn phát và mức độ di chuyển không cao, trong trường hợp mức di chuyển cao khả năng các nút sẽ bị mất liên lạc với nhau nhiều là nguyên nhân dẫn đến số lượng đường đi mất hiệu lực trong Route cache tăng thêm vào đó là sự gia tăng các thông điệp Reply dẫn đến giảm sút hiệu suất của DSR.
Chƣơng 4. NGHIÊN CỨU VIỆC SỬ DỤNG BỘ MÔ PHỎNG NS2 ĐỂ ĐÁNH GIÁ DUNG LƢỢNG MẠNG MANET
Chương 4 trình bày các phương pháp mô phỏng mạng từ đó đưa ra lựa chọn phương pháp mô phỏng bằng cách sử dụng công cụ mô phỏng NS-2. Giới thiệu về bộ phần mềm mô phỏng NS-2, cấu trúc cũng như cách hoạt động của phần mềm này.
4.1. Lựa chọn phƣơng pháp và công cụ đánh giá hiệu năng mạng [1]
4.1.1. Lựa chọn phương pháp
Trong quá trình hình thành và phát triển của mạng máy tính, những nhà thiết kế và nghiên cứu mạng luôn dành sự quan tâm lớn đến vấn đề đánh giá và dự đoán hiệu năng mạng; mục đích chính là để nắm được và cải thiện đặc trưng giá - hiệu năng. Trong quá trình thiết kế - xây dựng - vận hành - bảo trì hệ thống mạng, ngay từ giai đoạn bắt đầu cho đến khi mạng đã được lắp đặt và đưa vào hoạt động thì yêu cầu đánh giá và yêu cầu đánh giá hiệu năng mạng luôn song hành. Trong giai đoạn đầu của quá trình thiết kế, người ta thường phải dự đoán hai vấn đề. Vấn đề thứ nhất là bản chất của các ứng dụng sẽ chạy trên mạng và các yêu cầu dịch vụ mà các ứng dụng đòi hỏi hệ thống mạng đáp ứng. Vấn đề dự đoán thứ hai liên quan tới liên quan tới việc lựa chọn một trong các thiết kế kiến trúc, dựa trên các công nghệ phần cứng và phần mềm sẽ được phát triển và đưa ra thị trường trong tương lai, khi hệ thống mạng bước vào giai đoạn triển khai thực hiện.
Để tìm được các khiếm khuyết chính trong thiết kế hoặc các lỗi trong việc lập trình hệ thống, các nhà nghiên cứu thường so sánh hiệu năng dự đoán với hiệu năng thực tế đạt được. Ngày nay, việc dự đoán và đánh giá hiệu năng thường được coi là một phần không thể thiếu được trong công việc thiết kế và triển khai thực hiện hệ thống nhằm đạt được mục tiêu là tối ưu hóa hiệu năng hệ thống.
- Định cấu hình mạng: sau khi hoàn thành triển khai và đưa mạng vào hoạt động, việc dự đoán và đánh giá hiệu năng mạng đối với các ứng dụng cụ thể cũng có ý nghĩa quan trọng. Để tối ưu hóa hiệu năng mạng, nhà sản xuất phải chỉ ra được các cách kết hợp, tổ chức phần cứng và phần mềm để đem lại một giải pháp tốt nhất cho khách hàng.
- Tinh chỉnh hệ thống: sau khi hệ thống sản phẩm đã được lắp đặt, nhà cung cấp sản phẩm cần phải làm sao cho hệ thống mà họ bán cho khách hàng đạt được hiệu năng hoạt động như đã hẹn. Đối với các hệ thống mạng, việc tìm ra điểm tối ưu và ổn định trên toàn mạng là rất khó.
4.1.2. Mô hình giải tích
Đối với mạng máy tính, ta có thể thiết lập mô hình như một mạng hàng đợi. Khác hàng của các hàng đợi là các gói số liệ đến với yêu cầu được truyền đi, còn người phục vụ chính là các phương tiện truyền, bao gồm hệ chuyển mạch và đường kết nối vật lý. Hầu hết các vấn đề liên quan đến hiệu năng đều liên quan tới thời gian mà các gói số liệu phải xếp hàng chờ phục vụ. Trong các mạng chuyển mạch gói, gói số liệu là các khối dữ liệu có chiều dài thay đổi được và được chuyển qua mạng từ nguồn tới đích theo một con đường nào đó do hệ thống mạng quyết định. Khi các gói số liệu này đi qua mạng, chúng sẽ cùng nhau chia sẻ các tài nguyên. Nói chung tất cả các tham số như: số lượng và chiều dài các gói số liệu đi vào hoặc đi qua mạng tại mọi thời điểm, thời gian kéo dài các cuộc kết nối … thay đổi một cách thống kê. Do đó, cần phải sử dụng các khái niệm về xác suất để nghiên cứu sự tương tác của chúng với mạng khi xác định các tiêu chuẩn đo lường định lượng về hiệu năng. Lý thuyết hàng đợi đóng vai trò mấu chốt trong việc phân tích mạng, bởi vì nó là công cụ toán học thích hợp nhất để phát biểu và giải các bài toán về hiệu năng. Theo phương pháp này, chúng ta viết ra các mối quan hệ hàm giữa các tiêu chuẩn hiệu năng cần quan tâm và các tham số của hệ thống mạng bằng các phương trình có thể giải được bằng giải tích.
4.1.3. Mô phỏng mạng bằng chương trình máy tính
Mô phỏng, theo nghĩa chung nhất là sự bắt chước một hay nhiều khía cạnh của sự vật có thực, bằng một cách nào đó càng giống càng tốt. Trong các lĩnh vực nghiên cứu hiện đại nói chung và lĩnh vực đánh giá hiệu năng mạng nói riêng, mô phỏng được hiểu là một kỹ thuật sử dụng máy tính điện tử số để làm các thí nghiệm về mạng có liên quan đến thời gian. Chúng ta có thể xem hoạt động của mạng máy tính là một dãy các sự kiện xảy ra liên tiếp, tại các thời điểm xác định, rời rạc; mỗi sự kiện diễn ra trong một khoảng thời gian xác định. Do đó, mô hình mô phỏng hoàn toàn mô tả được hành vi động của mạng, ngay cả khi người nghiên cứu chỉ quan tâm đến giá trị trung bình của mộ số độ đo trong trạng thái dừng. Bằng cách sử dụng máy tính điện tử số, chúng ta có thể xây dựng các modul chương trình phần mềm để mô phỏng các thành phần khác nhau của mạng thực cũng như hành vi của chúng. Các modul chương trình phần mềm nói trên thường được gộp thành bộ mô phỏng với cấu trúc và độ phức tạp phụ thuộc và phạm vi của thí nghiệm mô phỏng.
4.1.4. Đo trên mạng thực
Đây là phương pháp xác định hiệu năng dựa trên việc đo trên mạng thực các tham số mạng cấu thành độ đo hiệu năng cần quan tâm. Việc đo hiệu năng nhằm thực hiện một trong ba nhiệm vụ sau:
- Giám sát hiệu năng mạng.
- Thu nhập số liệu để lập mô hình dữ liệu vào cho các phương pháp đánh giá hiệu năng bằng giải tích hoặc mô phỏng.
- Kiểm chứng các mô hình khác dựa trên các số liệu đo được.
Đo hiệu năng không chỉ quan trọng trong các giai đoạn triển khai thực hiện mà còn cả trong các giai đoạn lắp đặt và vận hành hệ thống, mỗi một hệ thống cụ thể sẽ có một tải hệ thống và các độ đo hiệu năng được quan tâm riêng của nó, cho nên sau khi lắp đặt, người ta thường phải điều chỉnh cấu hình cho phù hợp. Các tham số cấu hình sẽ được chọn sau khi các phép đo hiệu năng cho thấy các tham số cấu hình này làm chi hệ thống đạt được hiệu năng tốt nhất.
4.1.5. Lý do sử dụng phương pháp mô phỏng để đánh giá hiệu năng mạng
Trong những trường hợp mô hình giải tích mà chúng ta nhận được, dù đã được đơn giản hóa hoặc phân rã nhưng vẫn không thể giải được bằng toán học, khi đó chúng sẽ chỉ có phương pháp mô phỏng là đem lại hiệu quả.
Phương pháp mô phỏng có thể được sử dụng ngay trong giai đoạn đầu của việc thiết kế hệ thống mạng, cho đến giai đoạn triển khai và tích hợp hệ thống. Phương pháp này nói chung, đòi hỏi một chi phí rất cao cho việc xây dựng bộ mô phỏng cũng như kiểm chứng tính đúng đắn của nó. Tuy nhiên sau khi đã xây dựng xong bộ mô phỏng, người nghiên cứu có thể tiến hành mô phỏng nhiều lần để đưa ra kết quả với độ chính xác theo yêu cầu và chinh phí cho mỗi lân chạy mô phỏng là rất thấp. Các kết quả mô phỏng nói chung vẫn cần được kiểm chứng bằng phương pháp giải tích hoặc đo.
Trong luận văn chúng tôi sử dụng bộ mô phỏng NS-2 (Network Simulation) để đánh giá dung lượng của mạng MANET dựa theo số nút và độ linh động của nút.
4.2. Giới thiệu về NS-2
NS-2 [1,13, 16, 17] là phần mềm mô phỏng mạng, hoạt động của nó được điều khiển bởi các sự kiện rời rạc. NS-2 được thiết kế và phát triển theo kiểu hướng đối tượng, được phát triển tại đại học California, Berkely. Bộ phần mềm này được viết bằng ngôn ngữ C++ và OTcl.
Hình 4.1. Cấu trúc của NS-2 [1, 13]
Cấu trúc của NS-2 bao gồm các thành phần được chỉ ra trên (hình 4.1), chức năng của chúng được mô tả như sau:
OTcl Script Kịch bản OTcl
Simulation Program Chương trình Mô phòng
OTcl Bộ biên dịch Tcl mở rộng hướng đối tượng NS Simulation Library Thư viện Mô phỏng NS
Event Scheduler Objects Các đối tượng Bộ lập lịch Sự kiện Network Component Objects Các đối tượng Thành phần Mạng Network Setup Helping Modules Các mô đun Trợ giúp Thiết lập Mạng Plumbling Modules Các mô-đun Plumbling
Simulation Results Các kết quả Mô phỏng
Analysis Phân tích
NAM Network Animator Minh họa Mạng NAM
NS là Bộ biên dịch Tcl mở rộng hướng đối tượng; bao gồm các đối tượng: Bộ lập lịch sự kiện, các đối tượng thành phần mạng và các mô đun trợ giúp thiết lập mạng.
Để sử dụng NS-2, người dùng lập trình bằng ngôn ngữ kịch bản OTcl. Người dùng có thể thêm các mã nguồn Otcl vào NS-2 bằng cách viết các lớp đối tượng mới trong OTcl. Những lớp này khi đó sẽ được biên dịch cùng với mã nguồn gốc.
Kịch bản OTcl có thể thực hiện những việc sau: - Khởi tạo Bộ lập lịch Sự kiện.
- Thiết lập Mô hình mạng dùng các đối tượng thành phần mạng.
- Báo cho nguồn traffic khi nào bắt đầu truyền và ngưng truyền packet trong Bộ lập lịch Sự kiện.
Bộ lập lịch Sự kiện trong NS-2 thực hiện những việc sau: - Tổ chức Bộ định thời mô phỏng.
- Huỷ các sự kiện trong hàng đợi sự kiện.
- Triệu gọi các Thành phần mạng trong mô phỏng.
Tùy vào mục đích của người dùng đối với kịch bản mô phỏng OTcl mà kết quả mô phỏng có thể được lưu trữ vào tệp vết (trace file) với khuôn dạng (format) được những người phát triển NS định nghĩa trước hoặc theo khuôn dạng do người sử dụng NS quyết định khi viết kịch bản mô phỏng. Nội dung tệp vết sẽ được tải vào trong các ứng dụng khác để thực hiện phân tích. NS đã định nghĩa 2 loại tệp vết:
Nam trace file (file.nam): Chứa các thông tin về tô-pô mạng như: các nút mạng, đường truyền, vết các gói tin; dùng để minh họa trực quan mạng đã thiết lập.
Trace file (file.tr): Tệp ghi lại vết của các sự kiện mô phỏng, tệp file dạng text, có cấu trúc, dùng cho các công cụ lần vết và giám sát mô phỏng như: Gnuplot, XGRAPH hay TRACEGRAPH.
Hình 4.2. Luồng các sự kiện cho file Tcl chạy trong NS-2 [1, 13]
4.2.1. Khả năng mô phỏng của NS-2
+ Các đặc điểm nổi bật chính bộ mô phỏng NS-2
- Khả năng trừu tượng hoá: có thể thay đổi độ mịn của mô phỏng cho phù hợp với cả các mô phỏng chi tiết lẫn các mô phỏng mức cao.
- Khả năng phát sinh ra kịch bản: NS có khả năng tạo ra một cách tự động các mẫu lưu lượng, các hình trạng mạng, các sự kiện thay đổi động và phức tạp, kể cả việc mô phỏng các nút mạng và đường truyền bị hỏng.
- Khả năng mô phỏng tương tác với mạng thực: NS có một giao diện đặc biệt, cho phép lưu lượng thực đi qua nút mạng tương tác với bộ mô phỏng chạy trên nút mạng đó.
- Khả năng hiển thị trực quan: Công cụ hiển thị NAM giúp chúng ta thấy được hình ảnh hoạt động của mạng bằng trực giác và trợ giúp cho việc gỡ rối giao thức cần nghiên cứu.
- Khả năng mở rộng được: Bộ mô phỏng NS có khả năng mở rộng được dễ dàng khi người nghiên cứu muốn bổ sung các chức năng mới, thử nghiệm các kịch bản khác nhau và nghiên cứu các giao thức mới.
+ Các chức năng mô phỏng chính của NS Đối với mạng có dây:
- Các đường truyền điểm-điểm đơn công, song công, mạng cục bộ LAN. - Các chính sách phục vụ hàng đợi.
- Các mô hình sinh lỗi.
- Vấn đề định tuyến Unicast/Multicast (Unicast/Multicast routing).
- Các giao thức tầng Giao vận: TCP/Tahoe/Reno/New-Reno/Sack/Vegas, UDP, điều khiển lưu lượng và điều khiển tắc nghẽn.
- Các giao thức tầng Ứng dụng, Web caching, truyền luồng dữ liệu đa phương tiện.
Đối với mạng không dây:
- Kênh truyền.
- Sự di chuyển của các nút mạng trong không gian hai chiều. - Mạng LAN không dây (WLAN) 802.11.
- Mobile IP.
- Các thuật toán định tuyến trong mạng không dây đặc biệt (Adhoc networks): DSDV, DSR, AODV, TORA...
- Liên mạng sử dụng vệ tinh (Satellite Networking).
Trong lĩnh vực mạng hỗn hợp có dây và không dây:
- Trạm cơ sở (BS) đóng vai trò gateway giữa mạng có dây và mạng không dây. - Snoop TCP.
4.2.2. Tạo MobileNode trong NS
MobileNode là đối tượng nsNode cơ sở cùng với các chức năng như sự di chuyển, khả năng truyền và nhận trên một kênh cho phép tạo môi các trường mobile và môi trường wireless . Các tính năng mobile gồm có di chuyển node, cập nhập vị trí định kỳ, duy trì đường biên của topo,… được thực thi trong C++ trong quá trình dò tìm các thành phần của mạng bên trong của MobileNode (như các phân lớp, dmux, LL, Mac, Channel,…) được thực thi trong Otcl.
4.2.2.1. Tạo sự hoạt động cho nút
NS ghi nhận tọa độ của Mobilenode trên mặt phẳng với tọa độ X, Y, Z (Z=0). Có hai phương thức mô phỏng sự di chuyển của các MobileNode, được trình bày dưới đây.
Phƣơng thức1: tận dụng quá trình họat động ngẫu nhiên của node. Mã API
thường được sử dụng là $mobilenode start để khởi động mobilenode với một vị trí
ngẫu nhiên và thường cập nhập để thay đổi hướng và tốc độ của node. Giá trị đích và