bài tập môn cơ sỡ truyền dữ liệu - Pdf 22




(

)

BÀI TẬP LỚN
MÔN CƠ SỞ TRUYỀN SỐ LIỆU


Với sác xuất lỗi khung bằng nhau và bằng p, trễ là trễ đầu cuối.
2. Nhóm bài tập lớn
Giảng viên hướng dẫn : TS. Nguyễn Tài Hưng
Thành viên :
1. Đào Trọng Hiếu(Trưởng nhóm).
2. Đinh Hữu Quỳnh.
3. Lê Huy Luân.
2. Phân công công việc:
- 2 tuần đầu tiên cả nhóm tìm hiểu về phần mềm NS2 cũng như tìm hiểu cách
cài đặt và mô phỏng trong NS2.
- Đào Trọng Hiếu:Tìm hiểu và mô phỏng hàng đợi M/M/1 và cách tạo ra tiến
trình đến là tiến trình Poisson,tìm cách in ra các file cần thiết cho quá trình tính
toán.
- Đinh Hữu Quỳnh:Tìm hiểu và mô phỏng phần khung của yêu cầu bài toán.(tạo
nút,tạo nguồn,tạo link liên kết giữa các nút,tạo ra mất gói bằng cách nào…).
- Lê Huy Luân:Tìm hiểu cách tính chiều dài hàng đợi trung bình và trễ truyền
của các gói tin theo lý thuyết.tìm cách tính toán các tham số trên theo mô phỏng
và so sánh kết quả thu được so với lý thuyết.
B. NỘI DUNG
I. Lý Thuyết
1.1 Tiến trình Poisson:
Tiến trình Poisson là tiến trình điểm quan trọng nhất bởi vì vai trò của nó
cũng quan trọng như vai trò của phân bố chuẩn trong phân bố thống kê. Tất cả
những tiến trình điểm ứng dụng khác đều là dạng tổng quát hóa hay dạng sử đổi
của tiến trình Poisson. Tiến trình Poisson mô tả rất nhiều tiến trình trong đời sống
thực tế, do nó có tính ngẫu nhiên.
m ca tin trình Poisson:

Nếu lấy một chu kì T, tìm xác suất p(k) của tiến trình đến trong thời gian T được
cho bởi:

p(k) =





Với k= 0, 1, 2, 3,……… (1)
Nó được gọi là phân bố Poisson. Đây là một phân bố chuẩn





 


và kì
vọng là:
E(k)=





 




, khi λT tang với phân bố đỉnh E(k) = λT, xác suất không có tiến trình
đến trong khoảng thời gian T tiến đến không với e mũ có tiến trình đến nào trong
khoảng thời gian T đến không với e mũ T.

1.2 Hàng đợi M/M/1:
Lược đồ trạng thái: Tất cả các tốc độ đến đều là λ, μ
λ: Tốc độ của lần đến
μ: Tốc độ của lần đi


 






 




Pn: Xác suất ổn định trạng thái n
P0: Xác suất ổn định trạng thái 0
ρ: Mật độ lưu lượng ρ=



=


=



+ Thời gian phục vụ trung bình cho một khách hang: 




=


=



+ Thời gian trung bình của khách hàng trong hàng đợi


= W- 

=


-




II. tính toán theo lý thuyết:
1.1 Tính toán trên lý thuyết các tham số hàng đợi M/M/1.
Giải thiết:
- Tốc độ gói TB đến hàng đợi:
λ = λ1+ λ2+ λ
3=30+31+32=93(packets/s)
- Tải:
ρ = 0.91
- Tốc độ phục vụ trung bình của
server:
μ= λ/ρ = 93/0.91 ≈
102(Packet/s).
1.1.1 Số yêu cầu TB có trong hệ thống
 

  


  
 
1.1.2 Thời gian TB của 1 yêu cầu nằm trong hệ thống
 






  
 
1.2 Tính toán trễ đầu cuối đến đầu cuối theo lý thuyết:
Định nghĩa: là khoảng thời gian kể từ lúc gói tin được gửi đi ở nguồn cho đến khi
gói tin nhận được ở đích.
Công thức:
T
delay =
T
trans
+ T
prop
+ T
queue

Trong đó: T
delay
: thời gian trễ đầu cuối đến đầu cuối.
T
trans
: thời gian truyền gói tin trên đường truyền.

T
prop
: thời gian xử lý gói tin ở phía thu.

T
queue

set n2 [$ns node]
set n3 [$ns node]
set n4 [$ns node]
#tao 3 nut nguon
set s0 [$ns node]
set s1 [$ns node]
set s2 [$ns node]
$s0 shape box
$s1 shape box
$s2 shape box
#tao 3 nut nguon
set d0 [$ns node]
set d1 [$ns node]
set d2 [$ns node]
$d0 shape hexagon
$d1 shape hexagon
$d2 shape hexagon
#tao links giua cac nut
set link [$ns duplex-link $s0 $n0 100kb 10ms SFQ]
set link [$ns duplex-link $s1 $n0 100kb 10ms SFQ]
set link [$ns duplex-link $s2 $n0 100kb 10ms SFQ]
set link [$ns duplex-link $n0 $n1 300kb 10ms SFQ]
set link [$ns duplex-link $n1 $n2 200kb 10ms SFQ]
set link [$ns duplex-link $n1 $n3 200kb 10ms SFQ]
set link [$ns duplex-link $n3 $n4 200kb 10ms SFQ]
set link [$ns duplex-link $n2 $d0 100kb 10ms SFQ]
set link [$ns duplex-link $n4 $d1 100kb 10ms SFQ]
set link [$ns duplex-link $n4 $d2 100kb 10ms SFQ]
#giam sat hang doi tren NAM
$ns duplex-link-op $s0 $n0 queuePos 0.5

$ns duplex-link-op $n0 $n1 orient right
$ns duplex-link-op $n1 $n2 orient right
$ns duplex-link-op $n1 $n3 orient down
$ns duplex-link-op $n3 $n4 orient right
$ns duplex-link-op $n2 $d0 orient right
$ns duplex-link-op $n4 $d1 orient right
$ns duplex-link-op $n4 $d2 orient right-up
# thiết lập kích thước gói và thời gian đến giữa các gói ngẫu nhiên
set InterArrivalTime1 [new RandomVariable/Exponential]
$InterArrivalTime1 set avg_ [expr 1/$lambda1]
set pktSize1 [new RandomVariable/Exponential]
$pktSize1 set avg_ [expr 100000.0/(8*$mu1)]
set InterArrivalTime2 [new RandomVariable/Exponential]
$InterArrivalTime2 set avg_ [expr 1/$lambda2]
set pktSize2 [new RandomVariable/Exponential]
$pktSize2 set avg_ [expr 100000.0/(8*$mu2)]
set InterArrivalTime3 [new RandomVariable/Exponential]
$InterArrivalTime3 set avg_ [expr 1/$lambda3]
set pktSize3 [new RandomVariable/Exponential]
$pktSize3 set avg_ [expr 100000.0/(8*$mu3)]
#Setup a UDP connection
set udp11 [new Agent/UDP]
$ns attach-agent $s0 $udp11
set null11 [new Agent/Null]
$ns attach-agent $d0 $null11
set udp12 [new Agent/UDP]
$ns attach-agent $s0 $udp12
set null12 [new Agent/Null]
$ns attach-agent $d1 $null12
$ns connect $udp11 $null11

exec nam out.nam &
exec awk -f test.awk qm01.out > qm01.dat
exec awk -f test.awk qm12.out > qm12.dat
exec awk -f test.awk qm13.out > qm13.dat
exec awk -f test.awk qm34.out > qm34.dat
exec awk -f currentdelayS1_R2.awk out1.tr > currentdelayS1_R2.dat
exec awk -f currentdelayS1_R4.awk out1.tr > currentdelayS1_R4.dat
exec awk -f currentdelayS2_R4.awk out1.tr > currentdelayS2_R4.dat
exec awk -f currentdelayS3_R2.awk out1.tr > currentdelayS3_R2.dat
exec awk -f delaye2e.awk currentdelayS1_R2.dat > delaye2eS1_R2.dat
exec awk -f delaye2e.awk currentdelayS1_R4.dat > delaye2eS1_R4.dat
exec awk -f delaye2e.awk currentdelayS2_R4.dat > delaye2eS2_R4.dat
exec awk -f delaye2e.awk currentdelayS3_R2.dat > delaye2eS3_R2.dat
exec xgraph currentdelayS1_R2.dat currentdelayS1_R4.dat currentdelayS2_R4.dat
currentdelayS3_R2.dat -geometry 800x400 -t "Delay" &
exit 0}

###proc sendpacket11 {}
{global ns udp11
InterArrivalTime1 pktSize1
set time [$ns now]
$ns at [expr $time + [$InterArrivalTime1 value]]
"sendpacket11"
set bytes11 [expr round ([$pktSize1 value])]
$udp11 send $bytes11
}
###
proc sendpacket12 {} {
global ns udp12
InterArrivalTime1 pktSize1

$ns at 0.0001 "sendpacket2"
$ns at 0.0001 "sendpacket3"
$ns at 1000.0 "finish"
$ns run
Để chạy ns:mở terminal,chỉ đường dẫn tới file kịch bản(.tcl),sau đó gõ:ns
filename.tcl.
Mô hình mạng:

Quá trình chạy mô phỏng:

Chúng em đã sử dụng câu lệnh giám sát hàng đợi và ghi dữ liệu ra file .out:
set qmon [$ns monitor-queue $n3 $n4 [open qm34.out w] 1];
[$ns link $n3 $n4] queue-sample-timeout;
Câu lệnh này sẽ giám sát hàng đợi giữa n3 và n4 cứ 1s/1 lần giám sát và ghi
ra file qm34.out.file qm34.out là lưu lại tất cả kết quả của hành động giám sát.sau
đo chúng em sử dụng file awk để tính kết quả trung bình của hàng đợi:
BEGIN { FS = " "} {nl++} {s=s+$5} END {print "average:" s/nl}
Kết quả của chiều dài trung bình hàng đợi được lưu tại file delaye2e.dat,vì
trong mô phỏng có 4 hàng đợi nên sẽ có 4 file trung bình hàng đợi của mỗi hàng.
Để tính trễ truyền trung bình của gói tin thuộc 3 nguồn tin,chúng em sử dụng
awk để lọc ra các nguồn tin riêng từ file out1.tr là file bám viết của tất cả các gói
tin trong quá trình mô phỏng:
BEGIN{tg[50000];tn[50000];tt[50000]}
{if ($8 =="1")
{if (($1=="+") && ($3=="0")){
tg[$12] = $2; }
if (($1=="r") && ($4=="4")){
tn[$12] = $2;
tt[$12] = tn[$12]-tg[$12];
print $12 " "tt[$12] }}}

set loss_module [new ErrorModel]
$loss_module set rate _0.02
$loss_module ranvar [new RandomVariable/Uniform]
$loss_module drop-target [new Agent/Null]
$ns lossmodel $loss_module $s2 $n0
Tạo các file tính toán tương tự như trên,chúng em thu được kết quả mô phỏng như
sau:

Đồ thị tương đối giống với trường hợp không có lỗi tuy nhiên trung bình về
độ trễ của các luồng tin đã tăng lên(do mất thời gian truyền lại):
Luồng tin S0 đi từ nút 0 tới nút 4: average:0.124269.
Luồng tin S0 đi từ nút 0 tới nút 2: average:0.0861125.
Luồng tin S1 đi từ nút 0 tới nút 4: average:0.303032.
Luồng tin S2 đi từ nút 0 tới nút 2: average:0.263314.
Chiều dài hàng đợi trung bình:
Average:15.0223 gói tin.

C . KẾT LUẬN
Với những kiến thức được cung cấp về lý thuyết hàng đợi, tiến trình Poisson
kết hợp với kết quả mô phỏng, có thể kết luận có sự tồn tại sai khác giữa lý thuyết
và mô phỏng thực tế, nhưng với một lượng có thể chấp nhận được.
Hoàn thành bài tập lớn này, chúng em xin chân thành cảm ơn sự hướng dẫn
tận tình của TS. Nguyễn Tài Hưng, đã giảng dạy lý thuyết cũng như trả lời các thắc
mắc bài tập lớn nhiệt tình, chu đáo. Hẳn trong bài còn có những điểm chưa được
tối ưu, chúng em rất mong nhận được những nhận xét của thầy để chúng em có thể
hoàn thiện hơn.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status