Chúng tôi xây dựng mạng mô phỏng với số nút thay đổi và có độ linh động (di chuyển với vận tốc khác nhau) 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 vuông 1000m x 1000m). Tọa độ của mỗi nút tại mỗi thời điểm là (x,y,z), trong đó tọa độ z=0. Giá trị của các trục tọa độ được xác định như sau:
set val(x) 1000 set val(y) 1000
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 NS-2 (hình 4.4) gồm hai loại là: - Bộ tạo lưu lượng (traffic generator).
- Các ứng dụng mô phỏng (simulated application).
Các bộ tạo lưu lượng sử dụng giao thức UDP để gửi các gói tin trong khi đó các ứng dụng mô phỏng sử dụng giao thức TCP.
Hình 4.4. Các mô hình truyền thông trong NS-2. [1, 16]
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à 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 vận 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ố Pareto: 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 thập được từ mạng thực, đã được ghi trong tệp vết.
Trong luận văn chúng tôi sử dụng bộ tạo lưu lượng CBR – cbrgen.
cbrgen.tcl: là công cụ viết bằng ngôn ngữ tcl, sử dụng thông qua bộ thông dịch
ns-2, giúp người nghiên cứu có thể tạo ra các kịch bản 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>/<scenario-file>
Trong đó:
- type: kiểu lưu lượng kết nối là 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 - scenario-file: tên tệp
Ví dụ: ns cbrgen.tcl –type cbr –nn 50 –seed 1.0 –mc 10 –rate 2.0 > scen-50-10-2