Đồ thị Thông lượng cho dịch vụ BE và UGS
- QoS (Quality of Service): Chưa có định nghĩa rõ về QoS, có thể hiểu chất lượng dịch vụ là mức hài lòng của người dùng đầu cuối với dịch vụ mà họ được cung cấp, có cả một hướng lớn cho các nhà nghiên cứu về QoS! - Chất lượng dịch vụ QoS có thể được đo bằng một số các tham số khác nhau như:
+Throughput: Thông lượng
+ Average Delay or latency: Độ trễ
+ Jitter or Delay variation: Biến động trễ
+ Packet loss or corruption rate: Tỷ lệ mất gói tin, hay tỷ lệ tổn thất gói tin
a. Thông lượng Throughput
- Thông lượng là thước đo tỷ lệ bit/s (bits per second Bps) được tạo ra bởi ứng dụng. Công thức tính như sau:
(Xem hình 1)

PacketSize
i là kích thước của gói tin thứ i đến đích, PacketStart
0 là thời gian gói tin đầu tiên rời khỏi nguồn, PacketArrival
n là thời điểm gói tin cuối cùng n đến đích.
Căn cứ vào trace file, chúng ta sẽ tính được thông lượng ứng với từng node trong mô hình mạng.
Phân tích trace file out.tr (file được sinh ra khi chạy file .tcl): Trace file 802.11 và 802.16 cũng tương tự nhau.
1 dòng trong trace file có dạng:
+ 21.564074 1 0 cbr 1520 ------- 5 1.0.6.0 0.0.0.5 27 170
- 21.564074 1 0 cbr 1520 ------- 5 1.0.6.0 0.0.0.5 27 170
r 21.564168 1 0 cbr 1520 ------- 2 1.0.3.0 0.0.0.2 25 151
Với thứ tự: xem trên hình 2
Với ý nghĩa các trường như sau:
Event, the current time,…, type of packet (as a name), along with various packet header fields including, size, flags (symbolically), flow identifier, source and destination packet header fields, sequence number (if present), and unique identifier (Ai dịch hộ mình cái, hì).
Các trường quan trọng: Trường số 0 là trường sự kiện, trường số 1 là trường thời gian gửi nhận, trường số 5 là trường kích thước gói, trường số 7 là trường Flow ID. Căn cứ vào đó ta sẽ sử dụng một đoạn perl để tính thông lượng cho từng luồng, với tên trace file, tên luồng và node truyền vào từ bàn phím.
Thuật toán tính thông lượng như sau:

- Đồ thị thông lượng: Với ứng dụng BE và UGS

- File thuật toán download tại link:
http://tcnthhn.edu.vn/vi/download/Thoi-khoa-bieu/Thong-luong/
Với công thức tính thông lượng (throughput) như trên: Thuật toán tính thông lượng bằng ngôn ngữ awk như sau:
* Cách 1:
BEGIN {
init=0;
i=0;
}
{
action = $1;
time = $2;
node_1 = $3;
node_2 = $4;
src = $5;
pktsize = $6;
flow_id = $8;
node_1_address = $9;
node_2_address = $10;
seq_no = $11;
packet_id = $12;
if(action=="r" && node_1==1 && node_2==0 && flow_id==1) {
pkt_byte_sum[i+1]=pkt_byte_sum[i]+ pktsize;
if (init==0) {
start_time = time;
init = 1;
}
end_time[i] = time;
i = i+1;
}
}
END {
printf("%.2f\t%.2f\n", end_time[0], 0);
for(j=1 ; j<i ; j++) {
th = pkt_byte_sum[j] / (end_time[j] - start_time)*8/1024;
printf("%.2f\t%.2f\n", end_time[j], th);
}
printf("%.2f\t%.2f\n", end_time[i-1], 0);
}
* Cách 2: Ngoài ra có thể sử dụng một đoạn PERL để tính thông lượng!
Trân trọng!
Chú ý: Việc đăng lại bài viết trên ở website hoặc các phương tiện truyền thông khác mà không ghi rõ nguồn http://tcnthhn.edu.vn là vi phạm bản quyền