Trong quá trình chương trình mô phỏng chạy, bộ mô phỏng NS ghi nhận các hoạt động mạng tại các lớp sau đó xuất dữ liệu thu được ra một tệp vết (trace file). Do đó, trước khi mô phỏng ta cần lựa chọn các tham số cấu hình cho việc ghi tệp vết. Tệp vết sau đó có thể được duyệt và phân tích để xác định các tham số cần tính toán. Các kết quả tính toán, phân tích có thể dùng là dữ liệu cho các chương trình vẽ đồ thị như gnuplot, xgraph, tracegraph. Tệp vết cũng có thể được dùng để trực quan hóa việc chạy mô phỏng bằng ad-hockey hoặc NAM.
4.5 Các tham số hoạt động của các giao thức định tuyến trong NS-2
Trong bộ mô phỏng NS phiên bản 2.34 được sử dụng trong luận văn có bốn giao thức định tuyến AD HOC được cài đặt sẵn là AODV, DSR, DSDV và TORA. Ngoài ra, mã mô phỏng của giao thức OLSR cho NS2 được cung cấp bởi Francisco J. Ros, Ph.D. Student và Pedro M. Ruiz, Ph.D tại địa chỉ web là
http://masimum.inf.um.es/?Software:UM-OLSR. Trong luận văn này, tôi đánh giá ảnh
hưởng của sự di động của nút mạng trên bốn giao thức định tuyến là AODV, DSR, DSDV và OLSR.
Dưới đây là các giá trị tham số hoạt động và các lưu ý cài đặt của các giao thức trong mô phỏng theo tài liệu của NS2 và các file cài đặt các giao thức.
4.5.1 Giao thức định tuyến DSDV
Trong giao thức định tuyến DSDV, thông điệp được trao đổi giữa các nút hàng xóm. Các cập nhật có thể định kỳ hoặc tức thời. Các cập nhật tức thời xảy ra khi thông tin định tuyến từ một trong các hàng xóm gây ra thay đổi trong bảng định tuyến của nút. Các gói tin chưa có đường tới đích được giữ trong bộ đệm khi truy vấn về đường được gửi. Các gói tin được lưu cho tới khi trả lời đường nhận được từ đích. Kích thước bộ đệm lớn nhất để lưu giữ các gói tin đang chờ thông tin về đường được qui định. Quá khả năng này các gói tin sẽ bị loại bỏ.
Tất cả các gói tin có đích là nút di động được bộ phân tách địa chỉ (address mux) chuyển tới bộ phân tách cổng (port mux). Bộ phân tách cổng chuyển các gói tin tới ứng dụng đích tương ứng. Một cổng trong số 255 cổng được dùng cho thành phần định tuyến trong nút di động. Đích mặc định trong bộ phân tách địa chỉ là thành phần định tuyến. Khi đích của gói tin không được tìm thấy bởi bộ phân tách địa chỉ, nút di động không phải đích của gói tin, gói tin sẽ được chuyển cho đích mặc định là thành phần định tuyến. Thành phần định tuyến gắn chặng tiếp theo của gói tin và gửi nó xuống lớp liên kết.
Các tham số hoạt động của DSDV trong bộ mô phỏng ns-2.34 như sau:
Tham số Giá trị
Quãng cập nhật đường định kỳ 15s Số cập nhật định kỳ bị mất trước khi liên kết được xem là bị hỏng
3
Thời gian cập nhật tức thời đầu tiên được giữ trong hiệu ứng hãm
6s
Thời gian kết hợp các quảng cáo đường 1s Số lượng các gói tin lớn nhất trong bộ đệm mỗi nút 5
4.5.2 Giao thức định tuyến OLSR
Các tham số hoạt động của OLSR trong bộ mô phỏng ns-2.34 như sau:
Tham số Giá trị
Thời gian phát các thông điệp HELLO 2s Thời gian phát các thông điệp TC 5s Quãng thời gian làm mới thông tin tại mỗi nút 2s Thời gian thông điệp HELLO là hợp lệ 6s Thời gian thông điệp TC là hợp lệ 15s
Bảng 10. Các tham số hoạt động của OLSR trong NS2
4.5.3 Giao thức định tuyến AODV
Trong đặc tả của giao thức AODV, việc phát hiện hàng xóm được thực hiện bằng việc gửi thông điệp HELLO định kỳ. Trong phiên bản mô phỏng của AODV trong NS2, việc phát hiện liên kết hỏng được thay thế bằng thông báo từ lớp MAC. Cách tiếp cận này đã cho thấy ưu điểm là loại bỏ được tổng phí của việc gửi định kỳ các thông điệp HELLO.
Các tham số hoạt động của AODV trong bộ mô phỏng ns-2.34 như sau:
Tham số Giá trị
Thời gian đường được xem là hợp lệ 300s
Thời gian tồn tại của RREP được gửi bởi đích 600s
Số RREQ được phát lại 3
Thời gian trước khi một RREQ được phát lại 6s
Thời gian broadcastID của một gói tin RREQ được giữ 3s
Thời gian đường đi ngược lại cho RREP được giữ 3s
Thời gian trước khi liên kết bị hỏng được xóa khỏi bảng định tuyến
3s
Phát hiện liên kết hỏng bằng lớp MAC có
4.5.4 Giao thức định tuyến DSR
Nút di động của DSR không sử dụng bộ phân tách hay phân loại địa chỉ, tất cả các gói tin nhận bởi nút đều được chuyển tới thành phần định tuyến theo mặc định. Thành phần định tuyến DSR hoặc nhận gói tin cho chính nó bằng việc chuyển gói tin tới bộ phân tách cổng hoặc chuyển tiếp gói tin theo thông tin về đường trong gói tin hoặc gửi các yêu cầu đường và trả lời đường.
Mặc dù giao thức DSR hỗ trợ đường đi đơn hướng, IEEE 802.11 yêu cầu việc trao đổi RTS/CTS/Data/Ack đối với tất cả các gói tin unicast. Do vậy, phiên bản DSR được mô phỏng chỉ phát hiện các đường hai chiều.
Các tham số hoạt động của DSR trong bộ mô phỏng ns-2.34 như sau:
Tham số Giá trị
Thời gian giữa các ROUTE REQUEST được phát lại 500ms
Kích thước tiêu đề gói tin mang địa chỉ đường với n chặng 4n+ 4byte
Thời gian hết hạn tìm kiếm đường trong các hàng xóm 30ms
Thời gian giữ các gói tin chờ đường 30s
Tốc độ cao nhất việc gửi các gói tin REPLY cho một đường 1 pkt/s
Chương 5: ĐÁNH GIÁ HIỆU NĂNG CÁC GIAO THỨC ĐỊNH TUYẾN THEO MỨC ĐỘ LINH ĐỘNG CỦA CÁC NÚT MẠNG
Chương này trình bày các kết quả mô phỏng từ đó rút ra những nhận xét về hiệu quả của các giao thức định tuyến khi hoạt động trong các trường hợp thay đổi vận tốc nút mạng khác nhau trong hai mô hình là Random Waypoint và Random Walk. Cuối cùng ta thực hiện việc so sánh và đánh giá các giao thức định tuyến với nhau.
5.1. Thực nghiệm mô phỏng 5.1.1 Các thông số mô phỏng 5.1.1 Các thông số mô phỏng
Mạng MANET có những đặc điểm là: cấu hình mạng động, các liên kết với dung lượng thay đổi - băng tần hạn chế, các nút có năng lượng thấp và bảo mật vật lý hạn chế. Do đó, khi phân tích hiệu suất các giao thức định tuyến AD HOC ta cần xem xét một số tham số của ngữ cảnh mạng như sau [24]:
Kích thước mạng: được thể hiện bằng số các nút trong mạng.
Kết nối mạng: được thể hiện bằng số trung bình các hàng xóm của một nút.
Tốc độ thay đổi mạng: là tốc độ thay đổi tô-pô của mạng theo thời gian.
Khả năng của liên kết: là băng thông của liên kết không dây, được tính bằng bps.
Dạng truyền thông: được thể hiện bằng các mức độ tải trong mạng, có thể là đồng dạng, không đồng dạng hoặc bùng phát.
Dạng di chuyển: được thể hiện các mô hình chuyển động cụ thể.
Mục đích các thí nghiệm của tôi là đánh giá khả năng của các giao thức định tuyến trong việc phản hồi lại các thay đổi cấu hình mạng gây ra bởi sự di động của các nút mạng. Phương pháp của chúng tôi là áp dụng nhiều dạng di chuyển với vận tốc chuyển động của các nút khác nhau. Các mạng AD HOC mô phỏng được xây dựng dựa trên các mô hình di chuyển và mô hình truyền thông. Đối với mô hình di chuyển, chúng tôi sử dụng hai mô hình tiêu biểu Random Waypoint và Random Walk thể hiện các dạng di chuyển khác nhau được mô tả trong phần 4.3.1.2. Đối với mỗi mô hình, chúng tôi thay đổi các giá trị tham số để thay đổi các trạng thái của mạng như vận tốc chuyển động của các nút mạng, lần lượt là 0, 5, 10, 15, 20, 25, 30 m/s.
Khi so sánh các giao thức định tuyến, để đảm bảo tính công bằng, điều quan trọng là phải áp dụng các điều kiện tải và môi trường giống nhau với từng giao thức. Chính vì vậy, với mỗi mô hình di chuyển tôi xây dựng các file ngữ cảnh mô tả chính xác chuyển động của mỗi nút cùng với thời gian diễn ra sự thay đổi của nút. Còn đối với các mô hình truyền thông, các file ngữ cảnh truyền thông được tạo ra thể hiện chính xác các kết nối giữa các nút và thời gian các truyền thông này diễn ra. Do đó, tập các file ngữ cảnh chuyển động và truyền thông giống nhau được áp dụng cho từng giao thức.
Trong tất cả các thí nghiệm, tôi lựa chọn mô hình truyền thông là CBR. Tôi không sử dụng các mô hình truyền thông là các ứng dụng mô phỏng sử dụng TCP để gửi các gói tin. Vì TCP điều phối tải theo tình trạng mạng, có nghĩa là thời gian gửi
gói tin thay đổi dựa trên khả năng truyền tải hiện tại của mạng. Do vậy, thời gian mỗi gói tin được tạo ra tại bên gửi và vị trí của nút khi gửi các gói tin sẽ khác nhau giữa các giao thức do vậy khó có thể thực hiện các so sánh giữa các giao thức với nhau.
Lần lượt áp dụng các giao thức AODV, DSR, DSDV, OLSR vào các ngữ cảnh mạng khác nhau. Bộ mô phỏng ghi nhận lại các hoạt động mạng diễn ra tại các lớp. Từ các ghi nhận này, ta đánh giá khả năng làm việc của các giao thức, chủ yếu là trên lớp ứng dụng và lớp mạng. Các thí nghiệm và các đánh giá được thể hiện trong các phần sau bao gồm thí nghiệm với mô hình Random Waypoint, thí nghiệm với mô hình Random Walk. Các nhận xét về hiệu suất các giao thức được trình bày trong phần 5.3.3.
5.1.2 Chương trình mô phỏng
Chương trình mô phỏng của tôi được đặt tên là: dsdv-cbr10-rwp0-speed10.tcl, được trình bày tại phụ lục.
Tôi đã cho thi hành chương trình mô phỏng như sau:
ns dsdv-cbr10-rwp0-speed10.tcl
Kết xuất thông tin ra tệp dsdv-cbr10-rwp0-speed10-out.tr để phân tích bằng các script perl như sau:
perl average_end-end_delay.pl dsdv-cbr10-rwp0-speed10-out.tr 10 >> avg_rwp1_dsdv.out
perl normalized_routing_overhead.pl dsdv-cbr10-rwp0-speed10-out.tr 10 >> nro_rwp1_dsdv.out
perl packet_delivery_fraction.pl dsdv-cbr10-rwp0-speed10-out.tr 10 >> pdf_rwp1_dsdv.out
perl routing_overhead.pl dsdv-cbr10-rwp0-speed10-out.tr 10 >>
ro_rwp1_dsdv.out
perl throughput.pl dsdv-cbr10-rwp0-speed10-out.tr 10 >>thr_rwp1_dsdv.out
Kết quả nhận được lưu trong các file sau:
avg_rwp1_dsdv.out nro_rwp1_dsdv.out pdf_rwp1_dsdv.out ro_rwp1_dsdv.out thr_rwp1_dsdv.out
Để kết quả đạt độ chính xác cao hơn, ứng với mỗi vận tốc 0, 5, 10, 15, 20, 25 và 30 m/s tôi tạo 5 tệp mẫu di chuyển khác nhau. Như vậy, tổng số tệp vết được tạo ra là: 2 (mô hình di chuyển) x 4 (giao thức định tuyến) x 7 (vận tốc) x 5 (kiểu tệp mẫu di chuyển) = 280 tệp vết (*.tr). Từ những tệp vết thu được ta dùng các script perl phân tích để tính toán các độ đo hiệu năng mạng. Kết quả cuối cùng (của các độ đo hiệu năng mạng) được chọn là trung bình của 5 kết quả đã được tính toán và được trả về trong các file: avg_rwp_dsdv.out, nro_rwp_dsdv.out, pdf_rwp_dsdv.out, ro_rwp_dsdv.out, thr_rwp_dsdv.out
5.2. Các độ đo hiệu năng được dùng trong luận văn
Theo nghĩa chung, hiệu năng là một độ đo công việc mà một hệ thống thực hiện được. Hiệu năng chủ yếu được xác định bởi tính sẵn sàng để dùng, thông lượng và thời gian đáp ứng. Trong mạng Ad Hoc, các giới hạn về tài nguyên mạng yêu cầu các giao thức bên cạnh các yếu tố hiệu suất nêu trên cần đảm bảo việc dùng hiệu quả các tài nguyên hạn chế này. Với các giao thức định tuyến, đó chính là chi phí để thực hiện các yêu cầu định tuyến được thể hiện bởi mức tải định tuyến.
Do vậy, chúng tôi sử dụng các độ đo sau để đánh giá hiệu quả các giao thức định tuyến trong các mạng mô phỏng:
Phần trăm gói tin được phân phát thành công (Packet delivery fraction): Là tỷ lệ giữa số các gói tin được phân phát thành công tới đích so với số các gói tin tạo ra bởi nguồn phát.
Trễ đầu cuối trung bình của các gói dữ liệu (Average end to end data packet delay): Là độ trễ toàn phần được tính từ khi gói tin phát đi từ ứng dụng phát cho tới khi được nhận bởi ứng dụng nhận bao gồm các trễ có thể như trễ do quá trình phát hiện đường, xếp hàng tại các hàng đợi, trễ phát lại tại tầng MAC, và thời gian trễ truyền.
Thông lượng dữ liệu đầu cuối (End-to-end data throughput): Tổng số dữ liệu của các gói tin tạo bởi mọi nguồn đo được trong một khoảng thời gian mô phỏng, tính bằng k bit/s.
Tải định tuyến chuẩn hóa (Normalized Routing Load): Là tỷ lệ giữa số các gói tin định tuyến trên số gói tin dữ liệu được phân phát thành công. Nếu gói tin định tuyến đi qua nhiều chặng thì mỗi chặng được tính như một lần truyền thông.
Hai độ đo đầu đánh giá kết quả làm việc của các giao thức. Các độ đo này có ý nghĩa đối với hoạt động của các giao thức lớp trên như các giao thức giao vận và các giao thức ứng dụng. Độ đo tải định tuyến chuẩn hóa thể hiện việc sử dụng các tài nguyên mạng.
5.3. Kết quả mô phỏng
5.3.1 Mô phỏng sử dụng mô hình Random Waypoint 5.3.1.1 Thiết lập thông số mô phỏng 5.3.1.1 Thiết lập thông số mô phỏng
Đối với mô hình RW, chúng tôi xây dựng mạng mô phỏng gồm 50 nút di động, hình thành nên một mạng ad hoc. Các nút này di chuyển trong một khu vực địa lý rộng 1500m x 900m (không gian phẳng). Toạ độ của các nút tại mỗi thời điểm là (x, y, z), trong đó tọa độ z = 0. Chúng tôi lựa chọn không gian hình chữ nhật để đường đi giữa các nút có độ dài lớn hơn so với trong các không gian hình vuông với mật độ nút tương đương. Cụ thể là độ dài đường lớn nhất trong mạng mô phỏng của chúng tôi là 8 chặng (trong khi không gian hình vuông là 4 chặng). Thời gian mô phỏng là 900 giây.
Tôi tạo ra 7 tệp mẫu di chuyển của nút với 7 giá trị vận tốc nút khác nhau là 0, 5, 10, 15, 20, 25 và 30 m/s. Thời gian tạm dừng 0 giây tương ứng với việc các nút di chuyển liên tục trong suốt thời gian mô phỏng.
Mô hình truyền thông được lựa chọn là CBR (constant bit rate). Đây là mô hình truyền thông được mô phỏng bởi NS2 với tốc độ phát gói tin không đổi. Tôi chọn tham số cho nguồn phát CBR có tốc độ gửi là 4 gói tin/giây với kích thước các gói tin là 512 bytes. Số lượng kết nối cho mỗi mô hình di chuyển nút là 10 nguồn phát.
Tổng kết về các cấu hình mạng mô phỏng và các tham số của các mô hình di chuyển, mô hình truyền thông được cho trong bảng 13.
Tham số mô phỏng Giá trị
Số nút tham gia mô phỏng 50
Kích thước vùng mô phỏng (m x m) 1500 x 900
Phạm vi truyền sóng vô tuyến (m) 250
Băng thông (Mbps) 2
Kích thước gói tin (bytes) 512
Tốc độ gửi gói tin (packets/ s) 4
Dạng truyền thông Cbr
Số lượng nguồn phát 10
Thời gian tạm dừng (s) 0
Tốc độ nút di chuyển (m/s) 0-5-10-15-20-25-30
Thời gian mô phỏng (s) 900
Giao thức định tuyến mô phỏng AODV-DSDV-DSR-OLSR
5.3.2.2 Kết quả và nhận xét
Phần trăm gói tin được phân phát thành công