Tạo các đường truyền không dây (air interface) trong MANET

Một phần của tài liệu Đánh giá ảnh hưởng của sự di động của nút mạng đến hiệu quả của các thuật toán định tuyến trong mạng MANET (Trang 58)

4.4.2.1 Mô hình FreeSpace

Mô hình FreeSpace trình bày cơ bản dải truyền thông như một vòng quanh máy phát. Nếu một máy nhận trong phạm vi vòng vòng tròn phát, nó nhận tất cả các gói tin. Ngược lại nó làm mất tất cả các gói tin.

Giao diện OTcl với việc sử dụng một mô hình truỵền thông là lệnh cấu hình nút. Một cách để sử dụng nó ở đây là:

$ns_ node-config -propType Propagation/FreeSpace

Một cách khác là :

set prop [new Propagation/FreeSpace] $ns_ node-config -propInstance $prop

4.4.2.2 Mô hình Two Ray Ground

Một đường truyền đơn trong tầm nhìn thấy giữa hai nút di động là rất hiếm gặp trong thực tế. Mô hình Two Ray Ground phản xạ hai tia mặt xem xét đường truyền trực tiếp và đường truyền phản xạ từ mặt đất. Nó nói lên rằng mô hình này đem đến các dự đoán chính xác hơn với một khoảng cách lớn hơn so với mô hình FreeSpace.

Thông thường, trình thông dịch OTcl sử dụng mô hình phản xạ hai tia mặt đất như sau:

$ns_ node-config -propType Propagation/TwoRayGround

Hay có thể sử dụng:

set prop [new Propagation/TwoRayGround] $ns_ node-config -propInstance $prop

4.4.2.3 Mô hình Shadowing

Mô hình FreeSpace và mô hình phản xạ Two Ray Ground dự đoán nguồn năng lượng nhận như một chức năng tất định của khoảng cách. Cả hai trình bày dải truyền thông như một vòng tròn lí tưởng. Trên thực tế, nguồn năng lượng nhận ở một khoảng cách nhất định là một giá trị ngẫu nhiên tại vì nhiều hiệu ứng truyền khác nhau, nó cũng được biết đến như hiện tượng fading (tượng biến đổi cường độ tín hiệu sóng mang). Trên thực tế, cả hai mô hình trên đều dự đoán giá trị trung bình của nguồn năng lượng nhận ở khoảng cách d. Một mô hình tổng quát và thường được sử dụng hơn là mô hình Shadowing.

Mô hình Shadowing mở rộng mô hình vòng tròn lí tưởng để đạt tới mô hình thống kê: các nút có thể chỉ truyền theo xác suất khi ở gần rìa của miền truyền thông. Mục đích mô hình Shadowing: Trước khi sử dụng mô hình Shadowing, người sử dụng cần chọn các giá trị của hệ số suy hao trên đường truyền (path loss) và độ lệch hiệu ứng màn chắn chuẩn σ dB tuỳ theo môi trường mô phỏng.

Chúng ta vẫn sử dụng lệnh cấu hình nút bằng Otcl. Một cách để sử dụng nó như sau, với các giá trị tham số chỉ được đưa ra làm ví dụ:

# Đầu tiên phải thiết lập giá trị của mô hình hiệu ứng màn chắn.

Propagation/Shadowing set pathlossExp_ 2.0 ;hệ số mất đường dẫn

Propagation/Shadowing set std_db_ 4.0 ; độ lệch hiệu ứng màn chắn (dB) Propagation/Shadowing set dist0_ 1.0 ; khoảng cách tham chiếu (m) Propagation/Shadowing set seed_ 0 ; khởi đầu với RNG

$ns_ node-config -propType Propagation/Shadowing ;Cấu hình cho nút

Mô hình Shadowing tạo ra một số ngẫu nhiên khởi xướng đối tượng RNG (Random number Genrator). RNG có ba kiểu khởi tạo: Khởi tạo thô, khởi tạo xác định trước (một thiết lập tốt của khởi tạo) và khởi tạo thông minh (hueristic). Các API trên chỉ sử dụng khởi tạo xác định trước. Nếu một người sử dụng muốn khởi tạo bằng một phương thức khác, API dưới đây có thể được sử dụng.

set prop [new Propagation/Shadowing] $prop set pathlossExp_ 2.0

$prop set std_db_ 4.0 $prop set dist0_ 1.0

$prop seed <seed-type> 0

$ns_ node-config -propInstance $prop

<seed-type> có thể là thô, xác định trước hay heuristic.

4.4.3. Tạo ngữ cảnh chuyển động

Trong mô phỏng mạng AD HOC, việc mô phỏng được dựa trên hai mô hình là mô hình truyền thông thể hiện khuôn dạng truyền thông giữa các nút trong mạng và mô hình di chuyển thể hiện chuyển động của các nút trong mạng.

4.4.3.1 Tạo diện tích mô phỏng

Tôi xây dựng mạng mô phỏng với các nút di động tạo 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ý (không gian phẳng, hình chữ nhật). Toạ độ của các nút tại mỗi thời điểm là (x, y, z), trong đó tọa độ z = 0. Giá trị chiều dài và chiều rộng của vùng mô phỏng được khai báo bằng câu lệnh sau:

set val(x) a ;# X dimension of the topography (adsbygoogle = window.adsbygoogle || []).push({});

set val(y) b ;# Y dimension of the topography

4.4.3.2. Tạo các thực thể giao thức và các nguồn sinh lưu lượng

Các mô hình truyền thông được mô phỏng trong NS2 (hình 23) gồm hai loại bộ tạo lưu lượng (traffic generator) và các ứng dụng mô phỏng (simulated application) [12]. Các các bộ tạo truyền thông sử dụng giao thức UDP để gửi các gói tin và các ứng dụng mô phỏng sử dụng giao thức TCP.

Hình 23. Các mô hình truyền thông trong NS2

Có bốn loại bộ tạo lưu lượng là: bộ tạo lưu lượng có phân bố lũy thừa, pareto, CBR và theo file trace.

Bộ tạo lưu lượng có phân bố lũy thừa: tạo lưu lượng theo một phân bố bật/ tắt lũy thừa. Trong quãng thời gian “bật”, các gói tin được gửi với tốc độ cố định, và trong quãng thời gian “tắt” không có gói tin nào được gửi. Ngoài ra, quãng thời gian bật, tắt được phân bố theo một phân bố lũy thừa. Các gói tin có kích thước không đổi. Bộ tạo lưu lượng lũy thừa có thể cấu hình để hoạt động như một quá trình Poisson.

Bộ tạo lưu lượng có phân bố Parero: tạo lưu lượng theo phân bố bật/ tắt Pareto. Phân bố này tương tự phân bố bật/ tắt lũy thừa, chí khác là các quãng thời gian bật, tắt lấy theo phân bố Pareto. Các nguồn này có thể được dùng để tạo các lưu lượng kết hợp thể hiện sự phụ thuộc.

Bộ tạo lưu lượng có phân bố đều - CBR: tạo lưu lượng theo một tốc độ xác định. Kích thước gói tin là không đổi. Ngoài ra, một số các dao động ngẫu nhiên được thực hiện giữa các quãng khởi đầu của các gói tin.

Bộ tạo lưu lượng theo tệp vết: tạo lưu lượng theo một tệp vết (trace file) xác định thời gian phát và ngừng phát gói tin cùng các thông số khác dựa trên số liệu thu được từ mạng thực, đã được ghi trong tệp vết.

Trong thực nghiệm mô phỏng của luận văn, tôi sử dụng bộ tạo lưu lượng CBR để tạo tệp truyền thông. Câu lệnh tạo tệp như sau:

ns cbrgen.tcl [-type cbr|tcp] [-nn nodes] [-seed seed] [-mc connections] [-rate rate] > outdir/file_name

Trong đó: -type: kiểu lưu lượng kết nối cbr hay tcp; -nn: số lượng nút; -seed: giá trị seed; -mc: số lượng kết nối; -rate: vận tốc nút; -outdir: đường dẫn đến thư mục chứa tệp cần tạo; -file_name: tên tệp lưu lượng

4.4.3.3. Tạo các dạng chuyển động theo mẫu

Trong mô phỏng mạng AD HOC, các mô hình di chuyển đóng một vai trò rất quan trọng. Chúng cần thể hiện chính xác các ngữ cảnh có thể của mạng và góp phần quyết định đúng hiệu suất của các giao thức trước khi được triển khai trong thực tế. Đối với các mạng không dây, hai loại mô hình di chuyển được sử dụng là mô hình vết (trace model) và mô hình tổng hợp (synthetic model). Các mô hình vết là các khuôn dạng di chuyển được quan sát trong hệ thống thực. Mô hình vết cung cấp thông tin chính xác, đặc biệt khi chúng liên quan tới nhiều bên tham gia và quãng thời gian quan sát đủ dài. Tuy nhiên, với môi trường mạng mới, các mạng AD HOC không dễ dàng được mô hình vết. Trong trường hợp này cần thiết phải sử dụng các mô hình tổng hợp.

Các mô hình tổng hợp cố gắng thể hiện thực hành vi của các nút di động mà không sử dụng tới mô hình vết bằng việc mô tả các di chuyển của nút một cách thống kê. Mỗi nút được gán một giải thuật dùng để ngẫu nhiên hóa sự di chuyển. Khuôn dạng di chuyển của mạng là tập hợp các di chuyển từ việc áp dụng mô hình di chuyển vào một hoặc nhiều nút. Hai mô hình di chuyển tiêu biểu mô phỏng các mạng AD HOC là Random Waypoint và Random Walk.

Mô hình Random Waypoint

Mô hình Random Waypoint được sử dụng rộng rãi trong mô phỏng các giao thức định tuyến thiết kế cho các mạng AD HOC đặc biệt, nó được định nghĩa như sau. Đầu tiên nút có một ví trí ngẫu nhiên trong khu vực mô phỏng và ở tại đó một khoảng thời gian gọi là thời gian tạm dừng. Khi quãng thời gian này hết hạn, nút chọn ngẫu nhiên một đích trong khu vực mô phỏng và một tốc độ được phân bố đồng đều giữa [Speedmin, Speedmax]. Sau đó, nút di chuyển tới vị trí mới với tốc độ đã chọn. Khi tới vị trí mới, nút dừng một khoảng thời gian được chọn theo phân bố đồng đều giữa [Pmin, Pmax], và sau đó tiếp tục lại quá trình.

Trực quan hoá di chuyển của một nút theo mô hình Random Waypoint bởi Gnuplot trong hình 24 bên dưới.

Hình 24. Di chuyển của một nút theo mô hình Random Waypoint Các tham số mô phỏng cho Random Waypoint được cho trong bảng 7:

Tham số Ý nghĩa

Speedmin Tốc độ thấp nhất

Speedmax Tốc độ cao nhất

Pmin Thời gian tạm dừng nhỏ nhất

Pmax Thời gian tạm dừng lớn nhất

Bảng 7. Các tham số của mô hình Random Waypoint

Mô hình Random Waypoint được dùng rộng rãi trong các nghiên cứu về mạng AD HOC, do nó rất linh động trong việc tạo ra khuôn dạng di chuyển thực tế theo cách mọi người chuyển động trong các hội thảo, hội nghị. Trong NS2, mô hình Random Waypoint được tạo bởi công cụ setdest. Cấu trúc câu lệnh của setdest tạo tệp ngữ cảnh (scenario file) như sau:

Tạo tệp di chuyển kiểu cũ:

./setdest -v <1> -n < nodes> -p <pause_time> -M <max_speed> -t <simulation_time> -x <max X> -y <max Y>

Tạo tệp di chuyển kiểu mới:

./setdest -v <2> -n < nodes> -s <speed_type> -m <min_speed> -M <max_speed> -t <simulation_time> -P <pause_type> -p <pause_time> -x <max X> -y <max Y> (adsbygoogle = window.adsbygoogle || []).push({});

Trong đó: -v: version; -n: số tham gia mô phỏng nút; -P: kiểu thời gian tạm dừng; -p: thời gian tạm dừng; -m: vận tốc di chuyển nút nhỏ nhất; -M: vận tốc di chuyển nút tối đa; -t: thời gian mô phỏng; -x: chiều X vùng mô phỏng; -y: chiều Y vùng mô phỏng.

Mô hình Random Walk

Mô hình Random Walk mô phỏng chuyển động ngẫu nhiên của các thực thể trong tự nhiên. Nút di động di chuyển từ vị trí hiện tại tới vị trí mới bằng việc chọn ngẫu nhiên hướng [0, 1800], tốc độ [Speedmin, Speedmax]. Mỗi chuyển động diễn ra trong khoảng thời gian Travel_time hoặc khoảng cách hằng số, không có khoảng thời gian tạm dừng trước khi nút thay đổi hướng và tốc độ. Trực quan hoá di chuyển của một nút theo mô hình Random Walk bởi Gnuplot trong hình 25.

Hình 25. Di chuyển của một nút theo mô hình Random Walk Các tham số mô phỏng cho Random Walk được cho trong bảng 8:

Tham số Ý nghĩa

Speedmin Tốc độ thấp nhất

Speedmax Tốc độ cao nhất

Travel_time Thời gian di chuyển của nút trước khi thay đổi hướng và tốc độ

Bảng 8. Các tham số của mô hình Random Walk

Trong mô hình Random Walk, tham số thay đổi hướng của nút di động quyết định mức độ thay đổi của mạng. Nếu tham số này có giá trị nhỏ, sự di chuyển ngẫu nhiên giới hạn trong một phạm vi nhỏ của khu vực mô phỏng, mạng nửa tĩnh và còn được gọi là di chuyển Brownian. Nếu tham số có giá trị lớn, mạng thay đổi trên phạm vi rộng.

Trong luận văn này, tôi sử dụng chương trình Palm Calculus để tạo tệp ngữ cảnh theo mô hình Random Walk. Cấu trúc câu lệnh của Palm Calculus tạo khuôn dạng di chuyển như sau:

./rwall 3 <number of nodes> <max -x> <max -y> <end time> <speed mean> <speed delta> <pause time> <pause time delta>

Trong đó: number of nodes: số nút tham gia mô phỏng; max -x: chiều X vùng mô phỏng; max -y: chiều Y vùng mô phỏng; end time: thời gian mô phỏng; speed mean: vận tốc nút; speed delta: vận tốc delta; pause time: thời gian tạm dừng; pause time delta: thời gian tạm dừng delta.

4.4.4. Sơ đồ khái quát quá trình mô phỏng

Quá trình mô phỏng mạng AD HOC trong NS2 được thể hiện trong hình 26. Quá trình bao gồm việc tạo hai tệp đầu vào cho NS2:

 Tệp ngữ cảnh (scenario file): là file kịch bản mô tả khuôn dạng di chuyển của các nút.

 Tệp truyền thông (communication file): là file kịch bản mô tả các truyền thông trong mạng.

Hình 26. Sơ đồ tổng quan quá trình mô phỏng

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 (adsbygoogle = window.adsbygoogle || []).push({});

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ỳ

Một phần của tài liệu Đánh giá ảnh hưởng của sự di động của nút mạng đến hiệu quả của các thuật toán định tuyến trong mạng MANET (Trang 58)