3.4.2.1. Phân tích tệp vết
Tệp vết của chương trình mô phỏng có phần mở rộng là tr. Tệp vết bao gồm tất cả các sự kiện trong chương trình mô phỏng như khi gửi gói tin, nút nào sinh ra chúng, nút nào nhận được, dạng gói tin gửi đi, tại sao nó bị loại bỏ (nếu bị loại bỏ). Kịch bản mô phỏng này sử dụng dạng file “new-trace” được đặc biệt sử dụng trong các mạng không dây và bao gồm thông tin chi tiết về các sự kiện.
Để nhận được kết của quả tệp vết, ta cần loại sự kiện tại Field 0; node id (-Ni) và cấp độ vết (-Nl) ở Field 4; địa chỉ nguồn, địa chỉ đích và loại gói tin ở Field 5. Với tất cả các đầu ra, ta chỉ cần:
- Giá trị “s” ở Field 0, đếm bao nhiêu gói tin CBR được gửi bởi nút gửi. - Giá trị “r” ở Field 0, đếm bao nhiêu gói tin CBR được nhận bởi nút nhận.
- Giá trị “node id” của thông tin về id của nút ở Field 4, là id của nút gửi hoặc nút nhận. - Giá trị “MAC” của thông tin cấp độ vết ở Field 4, dùng để lọc địa chỉ MAC.
- Giá trị “source address” và “destination address” của thông tin địa chỉ nút nguồn và nút đích ở Field 5, để đếm số gói tin đến từ nút gửi đến nút nhận.
- Giá trị “cbr” của thông tin về loại gói tin ở Field 5, dùng để lọc gói tin CBR.
s -t 50.171961661 -Hs 16 -Hd 4194355 -Ni 16 -Nx 731.22 -Ny 677.03 -Nz 0.00 -Ne -1.000000 -Nl MAC -Nw --- -Ma 13a -Md 33 -Ms c -Mt 800 -Is 4194316.0 -Id 4194317.0 -It cbr -Il 590 -If 0 -Ii 3006 -Iv 30 -Pn cbr -Pi 120 -Pf 0 -Po 0
r -t 50.176670144 -Hs 19 -Hd 4194319 -Ni 19 -Nx 349.85 -Ny 176.81 -Nz 0.00 -Ne -1.000000 -Nl MAC -Nw --- -Ma 13a -Md f -Ms 10 -Mt 800 -Is 4194320.0 -Id 4194321.0 -It cbr -Il 532 -If 0 -Ii 3008 -Iv 30 -Pn cbr -Pi 120 -Pf 1 -Po 0
Để lọc các thông tin này, ta sử dụng lệnh “grep” trong UNIX để đọc file được sinh ra bởi lệnh “cat” và cho đầu ra của nó làm đầu vào của lệnh “wc” (word count) để đếm thông tin được lọc và ghi vào file mới.
Ví dụ:
- Đếm số gói tin CBR được gửi bởi Nút i và nút nhận là Nút j ta sử dụng lệnh:
s=`grep "s $l MAC --- ${i}.0 ${j}.0 cbr" ${fn}.txt | wc -l`
- Đếm số gói tin CBR được nhận bởi Nút j và nút gửi là Nút i ta sử dụng lệnh:
r=`grep "r $m MAC --- ${i}.0 ${j}.0 cbr" ${fn}.txt | wc -l`
Từ số lượng gói tin gửi và số lượng gói tin nhận, ta tính được số gói tin bị mất dựa trên phép trừ số lượng gói tin. Tất cả các lệnh tính số gói tin này trên tất cả các nút được tính toán và tích hợp trên một file batch (.sh) được trình bày trong phần phụ lục.