Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
383,87 KB
Nội dung
BÁO CÁO BÀI TẬP LỚN Tìm hiểu cách thức đo băng thông,vẽ đồ thị (sử dụng xgraph) NS2 -1- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com I Giới thiệu nhóm tập lớn thực I.1 Giới thiệu nhóm Tên nhóm : DGT3 Lớp : ĐT5_K49 Thành viên : Vũ Thị Thuỳ Dung Mai Văn Giáp Đào Văn Thịnh Nguyễn Thị Bảo Thư Mai Văn Tùng I.2 Đề tài thực Đề tài thực : Bài tập Đề : Cho mạng gồm nút hình vẽ Nút 1, 2, hàng đợi đơn hoạt động theo nguyên tắc FIFO với độ lớn hàng đợi K=5 gói Có luồng liệu gửi qua mạng tương ứng (S1, D1), (S2, D2) (S3, D3) Trong Si nguồn phát liệu cịn Di đích Ðường nối L1 có dung lượng 1Mb/s, trễ lan truyền 100ms; đường L2 có dung lượng 0,6Mb/s, trễ lan truyền 50ms Các nguồn Si phát gói với độ dài cố định 125 byte, khoảng thời gian gói tuân theo phân bố Poisson -2- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4.1 Giả thiết băng thông tối đa tổng cộng mà luồng chiếm kênh truyền vật lý 95% dung lượng kênh truyền Tính tốc độ S1 , S , S (kbit/s) để luồng chia sẻ băng thông kênh truyền theo nguyên lý công cực đại - cực tiểu (max – fairness) 4.2 Dùng kịch mô mạng với tốc độ luồng S1 , S , S tính tốn 4.1 Chạy mô 100s 4.3 Vẽ đồ thị băng thông ri (t ) mà luồng (S1, D1), (S2, D2) (S3, D3) sử dụng Vẽ đồ thị tốc độ gói ei (t ) luồng (S1, D1), (S2, D2) (S3, D3) nút II Phân công công việc Vũ Thị Thuỳ Dung, Đào Văn Thịnh : Tìm hiểu cách thức đo băng thơng,vẽ đồ thị (sử dụng xgraph) NS2 Nguyễn Thị Bảo Thư : Tìm hiểu mơ hình cơng băng thơng cực đại - cực tiểu thuật tốn tìm giá trị băng thơng tối ưu.( Tính tốc độ S1 , S , S ) Mai Văn Giáp, Mai Văn Tùng : Mô phỏng, viết báo cáo -3- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com III Quá trình thực Tuần : Tìm hiểu mơ hình cơng băng thơng cực đại - cực tiểu thuật tốn tìm băng thơng tối ưu Tuần 5-12 : Học cài đặt ns2 cywin thao tác ns2 Tuần 13 : Viết chương trình mơ ns2, viết báo cáo IV Kết 4.1 Tính tốc độ phát gói S1 , S , S (kbit/s) để luồng liệu sơ đồ mạng hình chia sẻ băng thông kênh truyền theo nguyên lý công cực đại - cực tiểu (max – fairness) Mạng có nút 1,2,3; liên kết (1,2) (2,3) luồng (kết nối) luồng (S1,D1), luồng (S2,D2), luồng (S3,D3) Trong liên kết (1,2) có dung lượng 0,6 Mbps, liên kết (2,3) có dung lượng Mbps Áp dụng thuật tốn tìm băng thơng tối ưu theo bước : Bước 1: Tất kết nối có tốc độ 0,3 Mbps, liên kết (2,3) bão hồ (đạt giá trị cực đại) băng thông hai kết nối liên kết đặt giá trị 0,3 Mbps Bước 2: Kết nối tăng thêm lượng băng thông 0,4 Mbps đạt giá trị 0,7 Mbps, liên kết (1,2) bão hồ băng thơng kết nối đặt giá trị 0.7 MBps Bước : Lúc tất kết nối qua liên kết bão hoà (điểm nghẽn) nên giải thuật dừng lại kết giải thuật tìm băng thông tối ưu băng thông sử dụng luồng 1,3 0,3 Mbps luồng 0,7 Mbps Mặt khác, theo giả thiết băng thông tối đa tổng cộng mà luồng chiếm kênh truyền vật lý 95% dung lượng kênh -4- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com truyền nên băng thông kết nối 1,3 0.95 * 0.3 = 0.285 (Mbps), băng thông kết nối 0.95 * 0.7 = 0,665 (Mbps) Suy tốc độ phát gói nguồn : S1 = S = 0.285 Mbps S = 0.665 Mbps Mà nguồn Si phát gói với độ dài cố định 125 byte (=125*8=1000 bps hay Kbps) nên S1 = S = 0,285*1000 = 285 gói/s (Kbps) , S = 0,665*1000 = 665 gói/s (Kbps) 4.2 Dựng kịch mô 100s Từ 3.1 ta có nguồn S1 ,S3 có tốc độ đến trung bình S1 = S = 285 gói/s, nguồn S2 có tốc độ đến trung bình S = 665 gói/s Set lambda1 285.0 Set lambda2 665.0 Kích thước gói = 125 byte : Set pksize 125.0 -5- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com H1:Quá trình mô Các nút 0,1,2 ứng với nguồn S1,S2,S3 Các nút 3,4,5 ứng với đích D1,D2,D3 Các nút 6,7,8 ứng với nút n1,n2,n3 -6- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4.3 Vẽ đồ thị ( kết mô sau 100s ) Đồ thị băng thông luồng (S1,D1), (S2,D2), (S3,D3) : H2: Đồ thị băng thông nguồn S1,S2,S3 nguồn S1 nguồn S2 nguồn S3 Đồ thị tốc độ gói luồng liệu nút H3: Đồ thị tốc độ gói -7- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Code cụ thể sau : #Create a simulator object set ns [new Simulator] #Define different colors for data flows $ns color red $ns color Green $ns color Blue #Variable set lambda1 285.0 set lambda2 665.0 set pksize 125.0 #Open the Trace file set f0 [open out0.tr w] set f1 [open out1.tr w] set f2 [open out2.tr w] set l0 [open lost0.tr w] set l1 [open lost1.tr w] set l2 [open lost2.tr w] #Open the nam trace file set nf [open BTL.nam w] $ns namtrace-all $nf -8- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com proc finish {} { global ns nf f0 f1 f2 $ns flush-trace #Close the output files close $f0 close $f1 close $f2 close $nf #Execute nam on the trace file exec nam BTL.nam & #Call xgraph to display the results exec xgraph out0.tr out1.tr out2.tr -geometry 800x400 -t "BandWidth" -x "s" -y "Mbit/s" & exec xgraph lost0.tr lost1.tr lost2.tr -geometry 800x400 -t "LostPacket" -x "s" -y "Packet" & exit } #tao nguon s1,s2,s3 set s1 [$ns node] set s2 [$ns node] set s3 [$ns node] #tao dich d1,d2,d3 set d1 [$ns node] set d2 [$ns node] set d3 [$ns node] -9- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com #tao nut n1,n2,n3 set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] #tao ket noi giua cac nut $ns duplex-link $s1 $n1 1Mb 10ms DropTail $ns duplex-link $s2 $n1 1Mb 10ms DropTail $ns duplex-link $s3 $n2 1Mb 10ms DropTail $ns duplex-link $d1 $n3 1Mb 10ms DropTail $ns duplex-link $d2 $n2 1Mb 10ms DropTail $ns duplex-link $d3 $n3 1Mb 10ms DropTail $ns duplex-link $n1 $n2 1Mb 100ms DropTail $ns duplex-link $n2 $n3 0.6Mb 50ms DropTail #sap xep cac nut $ns duplex-link-op $s1 $n1 orient right-down $ns duplex-link-op $s2 $n1 orient right-up $ns duplex-link-op $s3 $n2 orient down $ns duplex-link-op $n1 $n2 orient right $ns duplex-link-op $n2 $n3 orient right $ns duplex-link-op $d1 $n3 orient left-up $ns duplex-link-op $d2 $n2 orient up $ns duplex-link-op $d3 $n3 orient left-down - 10 - LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com #dat kich thuoc hang doi $ns queue-limit $n1 $n2 $ns queue-limit $n2 $n3 #Create a UDP agent and attach it to node s1 set udp0 [new Agent/UDP] $udp0 set class_ $ns attach-agent $s1 $udp0 #Create a UDP agent and attach it to node s2 set udp1 [new Agent/UDP] $udp1 set class_ $ns attach-agent $s2 $udp1 #Create a UDP agent and attach it to node s3 set udp2 [new Agent/UDP] $udp2 set class_ $ns attach-agent $s3 $udp2 #Create a Sink agent (a traffic sink) and attach it to node dx set sink0 [new Agent/LossMonitor] $ns attach-agent $d1 $sink0 set sink1 [new Agent/LossMonitor] $ns attach-agent $d2 $sink1 set sink2 [new Agent/LossMonitor] $ns attach-agent $d3 $sink2 - 11 - LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com #Connect the traffic sources with the traffic sink $ns connect $udp0 $sink0 $ns connect $udp1 $sink1 $ns connect $udp2 $sink2 #Monitor the queue for the link $ns duplex-link-op $n1 $n2 queuePos 0.5 $ns duplex-link-op $n2 $n3 queuePos 0.5 set InterArrivalTime1 [new RandomVariable/Exponential] $InterArrivalTime1 set avg_ [expr 1/$lambda1] set InterArrivalTime2 [new RandomVariable/Exponential] $InterArrivalTime2 set avg_ [expr 1/$lambda2] #Send packet proc sendpacket0 {} { global ns udp0 InterArrivalTime1 pksize set time [$ns now] $ns at [expr $time + [$InterArrivalTime1 value]] "sendpacket0" $udp0 send $pksize } proc sendpacket1 {} { global ns udp1 InterArrivalTime2 pksize set time [$ns now] $ns at [expr $time + [$InterArrivalTime2 value]] "sendpacket1" $udp1 send $pksize - 12 - LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com } proc sendpacket2 {} { global ns udp2 InterArrivalTime1 pksize set time [$ns now] $ns at [expr $time + [$InterArrivalTime1 value]] "sendpacket2" $udp2 send $pksize } proc recordbw {} { global sink0 sink1 sink2 f0 f1 f2 #Get an instance of the simulator set ns [Simulator instance] #Set the time after which the procedure should be called again set time 0.1 #How many bytes have been received by the traffic sinks? set bw0 [$sink0 set bytes_] set bw1 [$sink1 set bytes_] set bw2 [$sink2 set bytes_] #Get the current time set now [$ns now] #Calculate the bandwidth (in MBit/s) and write it to the files puts $f0 "$now [expr $bw0/$time*8/1000000]" puts $f1 "$now [expr $bw1/$time*8/1000000]" puts $f2 "$now [expr $bw2/$time*8/1000000]" #Reset the bytes_ values on the traffic sinks $sink0 set bytes_ - 13 - LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com $sink1 set bytes_ $sink2 set bytes_ #Re-schedule the procedure $ns at [expr $now+$time] "recordbw" } proc recordlost {} { global sink0 sink1 sink2 l0 l1 l2 #Get an instance of the simulator set ns [Simulator instance] #Set the time after which the procedure should be called again set time 0.1 #How many packet have been lost? set lost0 [$sink0 set nlost_] set lost1 [$sink1 set nlost_] set lost2 [$sink2 set nlost_] #Get the current time set now [$ns now] #Calculate number of packet lost puts $l0 "$now [expr $lost0]" puts $l1 "$now [expr $lost1]" puts $l2 "$now [expr $lost2]" #Reset the nlost_ values on the traffic sinks $sink0 set nlost_ $sink1 set nlost_ $sink2 set nlost_ #Re-schedule the procedure - 14 - LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com $ns at [expr $now+$time] "recordlost" } #Schedule events for the CBR agents $ns at 0.0 "recordbw" $ns at 0.0 "recordlost" $ns at 0.1 "sendpacket0" $ns at 0.1 "sendpacket1" $ns at 0.1 "sendpacket2" #Call the finish procedure $ns at 100 "finish" #Run the simulation $ns run 4.4 Kết luận Sau lần chạy mô ta thu kết lần giống : Băng thông luồng mơ hồn tồn phù hợp với kết tính tốn lý thuyết Tốc độ gói trung bình luồng (S3,D3) thấp (lớn có 13 gói/s) phải qua nút n2,n3 có tốc độ dịng bit trung bình thấp 0.285 Mbps Tuy có tốc độ dịng bit trung bình với luồng (S3,D3) luồng (S1,D1) có tốc độ gói trung bình cao (lớn 22gói/s) so với luồng (S3,D3) phải qua nút n1,n2,n3 - 15 - LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Mặc dù qua nút n1,n2 luồng (S2,D2)có tốc độ gói trung bình cao nhất( lớn 26gói/s) tốc độ dịng bit trung bình luồng (S2,D2) cao so với luồng lại - 16 - LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com V Tài liệu tham khảo http://www.isi.edu/nsnam/ns/tutorial/index.html http://nile.wpi.edu/NS/ http://www-sop.inria.fr/maestro/personnel/Eitan.Altman/COURS-NS/n3.pdf http://www.isi.edu/nsnam/ns/tutorial/nsscript4.html http://www.isi.edu/nsnam/ns/ns-build.html http://www.isi.edu/nsnam/ns/ns-problems.html http://www.svbkol.org/forum/showthread.php?t=11106 - 17 - LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... Đào Văn Thịnh : Tìm hiểu cách thức đo băng thông,vẽ đồ thị (sử dụng xgraph) NS2 Nguyễn Thị Bảo Thư : Tìm hiểu mơ hình công băng thông cực đại - cực tiểu thuật tốn tìm giá trị băng thơng tối... luanvanchat@agmail.com 4.3 Vẽ đồ thị ( kết mô sau 100s ) Đồ thị băng thông luồng (S1,D1), (S2,D2), (S3,D3) : H2: Đồ thị băng thông nguồn S1,S2,S3 nguồn S1 nguồn S2 nguồn S3 Đồ thị tốc độ gói... trình thực Tuần : Tìm hiểu mơ hình cơng băng thơng cực đại - cực tiểu thuật tốn tìm băng thơng tối ưu Tuần 5-12 : Học cài đặt ns2 cywin thao tác ns2 Tuần 13 : Viết chương trình mơ ns2, viết báo cáo