17
Mc Lc Trang I. Gii thiu vnm và bài tp ln thc hin. 2 II. Phân ng công vic. 3 III.Qtrình thc hin. 4 IV.Kết qu. 4 V. Tài liu tham kho. 17 1

báo cáo truyền số liệu

Embed Size (px)

Citation preview

Page 1: báo cáo  truyền số liệu

7/23/2019 báo cáo truyền số liệu

http://slidepdf.com/reader/full/bao-cao-truyen-so-lieu 1/17

Mục Lục

TrangI. Giới thiệu về nhóm và bài tập lớn thực hiện. 2II. Phân công công việc. 3III.Quá trình thực hiện. 4IV.Kết quả. 4V. Tài liệu tham khảo. 17

1

Page 2: báo cáo  truyền số liệu

7/23/2019 báo cáo truyền số liệu

http://slidepdf.com/reader/full/bao-cao-truyen-so-lieu 2/17

I. Giới thiệu về nhóm và bài tập lớn thực hiện.

I.1 Giới thiệu về 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 hiện.

Đề tài thực hiện : Bài tập 4.

Đề bài :

Cho một mạng gồm 3 nút như hình vẽ. Nút 1, 2, 3 là các 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ó 3 luồng

dữ liệu được gửi qua mạng tương ứng là (S1, D1), (S2, D2) và (S3, D3).

Trong đó Si là nguồn phát dữ liệu còn Di là đích.

Ðường nối L1 có dung lượng là 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 đều phát gói

với độ dài cố định là 125 byte, khoảng thời gian giữa các gói tuân theo phân

 bố Poisson.

2

Page 3: báo cáo  truyền số liệu

7/23/2019 báo cáo truyền số liệu

http://slidepdf.com/reader/full/bao-cao-truyen-so-lieu 3/17

4.1. Giả thiết băng thông tối đa tổng cộng mà các luồng được chiếm trên một

kênh truyền vật lý là bằng 95% dung lượng kênh truyền. Tính tốc độ 1S λ  ,

2S λ  , 3S 

λ  (kbit/s) để 3 luồng trên chia sẻ băng thông kênh truyền theo

nguyên lý công bằng cực đại - cực tiểu (max – min fairness).

4.2. Dùng kịch bản mô phỏng mạng trên với tốc độ các luồng 1S λ  , 2S 

λ  , 3S λ   

đã được tính toán trong 4.1. Chạy mô phỏng trong 100s.

4.3. Vẽ đồ thị băng thông )(t r i mà các luồng (S1, D1), (S2, D2) và (S3, D3)

sử dụng. Vẽ đồ thị tốc độ mất gói )(t ei của 3 luồng (S1, D1), (S2, D2) và

(S3, D3) tại nút 3.

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) trong

 NS2.

•  Nguyễn Thị Bảo Thư :

Tìm hiểu về mô hình công bằng băng thông cực đại - cực tiểu và thuật

toán tìm giá trị băng thông tối ưu.( Tính tốc độ 1S λ  , 2S 

λ  , 3S λ  ).

• Mai Văn Giáp, Mai Văn Tùng :

Mô phỏng, viết báo cáo .

3

Page 4: báo cáo  truyền số liệu

7/23/2019 báo cáo truyền số liệu

http://slidepdf.com/reader/full/bao-cao-truyen-so-lieu 4/17

III. Quá trình thực hiện.

Tuần 5 : Tìm hiểu mô hình công bằng băng thông cực đại - cực tiểu và

thuật toán tìm băng thông tối ưu.

Tuần 5-12 : Học cài đặt ns2 trên cywin và các thao tác trên ns2.

Tuần 13 : Viết chương trình mô phỏng bằng ns2, viết báo cáo.

IV. Kết quả.

4.1. Tính tốc độ phát gói 1S λ  , 2S 

λ  , 3S λ  (kbit/s) để 3 luồng dữ liệu trong sơ 

đồ mạng như hình trên chia sẻ băng thông kênh truyền theo nguyên lý công

 bằng cực đại - cực tiểu (max – min fairness).

Mạng có 3 nút 1,2,3; 2 liên kết (1,2) và (2,3) và 3 luồng (kết nối) lầnlượt là luồng 1 (S1,D1), luồng 2 (S2,D2), luồng 3 (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 1 Mbps. Áp

dụng thuật toán tìm băng thông tối ưu theo các bước :

• Bước 1: Tất cả các kết nối đều có tốc độ 0,3 Mbps, khi đó liên kết

(2,3) bão hoà (đạt giá trị cực đại) và băng thông của hai kết nối 1 và 3 đi trên

liên kết này được đặt ở giá trị 0,3 Mbps.• Bước 2: Kết nối 2 được tăng thêm một lượng băng thông là 0,4 Mbps

và đạt giá trị 0,7 Mbps, liên kết (1,2) bão hoà và băng thông của kết nối 2

đặt ở giá trị 0.7 MBps.

• Bước 3 : Lúc này tất cả các kết nối đều đã đi qua những liên kết bão

hoà (điểm nghẽn) nên giải thuật dừng lại đây và kết quả của giải thuật tìm

 băng thông tối ưu là băng thông sử dụng của luồng 1,3 là 0,3 Mbps và của

luồng 2 là 0,7 Mbps.

Mặt khác, theo giả thiết băng thông tối đa tổng cộng mà các luồng

được chiếm trên một kênh truyền vật lý là bằng 95% dung lượng kênh

4

Page 5: báo cáo  truyền số liệu

7/23/2019 báo cáo truyền số liệu

http://slidepdf.com/reader/full/bao-cao-truyen-so-lieu 5/17

truyền nên băng thông của kết nối 1,3 là 0.95 * 0.3 = 0.285 (Mbps), băng

thông của kết nối 2 là 0.95 * 0.7 = 0,665 (Mbps).

Suy ra tốc độ phát gói của các nguồn là :

1S λ  = 3S λ  = 0.285 Mbps.2S 

λ  = 0.665 Mbps.

Mà các nguồn Si đều phát gói với độ dài cố định 125 byte

(=125*8=1000 bps hay 1 Kbps) nên 1S λ  = 3S 

λ  = 0,285*1000 = 285 gói/s

(Kbps) , 2S λ  = 0,665*1000 = 665 gói/s (Kbps).

4.2. Dựng kịch bản mô phỏng trong 100s.

Từ 3.1 ta có nguồn S1 ,S3 có tốc độ đến trung bình 1S λ  = 3S 

λ  = 285

gói/s, nguồn S2 có tốc độ đến trung bình là 2S λ  = 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

Page 6: báo cáo  truyền số liệu

7/23/2019 báo cáo truyền số liệu

http://slidepdf.com/reader/full/bao-cao-truyen-so-lieu 6/17

H1:Quá trình mô phỏng 

Các nút 0,1,2 ứng với các nguồn S1,S2,S3.

Các nút 3,4,5 ứng với các đích D1,D2,D3.

Các nút 6,7,8 ứng với các nút n1,n2,n3.

6

Page 7: báo cáo  truyền số liệu

7/23/2019 báo cáo truyền số liệu

http://slidepdf.com/reader/full/bao-cao-truyen-so-lieu 7/17

4.3. Vẽ đồ thị ( kết quả mô phỏng sau 100s ).

Đồ thị băng thông của các luồng (S1,D1), (S2,D2), (S3,D3) :

 H2: Đồ thị băng thông 3 nguồn S1,S2,S3

-------- nguồn S1.

-------- nguồn S2.

-------- nguồn S3.

Đồ thị tốc độ mất gói của 3 luồng dữ liệu tại nút 3.

 H3: Đồ thị tốc độ mất gói

7

Page 8: báo cáo  truyền số liệu

7/23/2019 báo cáo truyền số liệu

http://slidepdf.com/reader/full/bao-cao-truyen-so-lieu 8/17

Code cụ thể như sau :

#Create a simulator object

set ns [new Simulator]

#Define different colors for data flows

$ns color 1 red

$ns color 2 Green

$ns color 3 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

Page 9: báo cáo  truyền số liệu

7/23/2019 báo cáo truyền số liệu

http://slidepdf.com/reader/full/bao-cao-truyen-so-lieu 9/17

 proc finish {} {

global ns nf f0 f1 f2

$ns flush-trace

#Close the output filesclose $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 0

}

#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

Page 10: báo cáo  truyền số liệu

7/23/2019 báo cáo truyền số liệu

http://slidepdf.com/reader/full/bao-cao-truyen-so-lieu 10/17

#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

Page 11: báo cáo  truyền số liệu

7/23/2019 báo cáo truyền số liệu

http://slidepdf.com/reader/full/bao-cao-truyen-so-lieu 11/17

#dat kich thuoc hang doi

$ns queue-limit $n1 $n2 5

$ns queue-limit $n2 $n3 5

#Create a UDP agent and attach it to node s1

set udp0 [new Agent/UDP]

$udp0 set class_ 1

$ns attach-agent $s1 $udp0

#Create a UDP agent and attach it to node s2

set udp1 [new Agent/UDP]

$udp1 set class_ 2

$ns attach-agent $s2 $udp1

#Create a UDP agent and attach it to node s3

set udp2 [new Agent/UDP]

$udp2 set class_ 3

$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

Page 12: báo cáo  truyền số liệu

7/23/2019 báo cáo truyền số liệu

http://slidepdf.com/reader/full/bao-cao-truyen-so-lieu 12/17

#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

Page 13: báo cáo  truyền số liệu

7/23/2019 báo cáo truyền số liệu

http://slidepdf.com/reader/full/bao-cao-truyen-so-lieu 13/17

}

 proc sendpacket2 {} {

global ns udp2 InterArrivalTime1 pksizeset 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_ 0

13

Page 14: báo cáo  truyền số liệu

7/23/2019 báo cáo truyền số liệu

http://slidepdf.com/reader/full/bao-cao-truyen-so-lieu 14/17

$sink1 set bytes_ 0

$sink2 set bytes_ 0

#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_ 0

$sink1 set nlost_ 0

$sink2 set nlost_ 0

#Re-schedule the procedure

14

Page 15: báo cáo  truyền số liệu

7/23/2019 báo cáo truyền số liệu

http://slidepdf.com/reader/full/bao-cao-truyen-so-lieu 15/17

$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 3 lần chạy mô phỏng ta thu được kết quả của 3 lần đều giống

nhau :

• Băng thông của 3 luồng khi mô phỏng hoàn toàn phù hợp với kết quả

tính toán trên lý thuyết.

• Tốc độ mất gói trung bình của luồng (S3,D3) là thấp nhất (lớn nhất

chỉ có 13 gói/s) do chỉ phải đi qua 2 nút n2,n3 và có tốc độ dòng bit

trung bình thấp 0.285 Mbps .

• Tuy có tốc độ dòng bit trung bình bằng với luồng (S3,D3) nhưng

luồng (S1,D1) có tốc độ mất gói trung bình cao hơn (lớn nhất là

22gói/s) so với luồng (S3,D3) vì phải đi qua cả 3 nút n1,n2,n3.

15

Page 16: báo cáo  truyền số liệu

7/23/2019 báo cáo truyền số liệu

http://slidepdf.com/reader/full/bao-cao-truyen-so-lieu 16/17

• Mặc dù chỉ đi qua 2 nút n1,n2 nhưng luồng (S2,D2)có tốc độ mất gói

trung bình cao nhất( lớn nhất là 26gói/s) là do tốc độ dòng bit trung

 bình của luồng (S2,D2) cao hơn so với 2 luồng còn lại.

16

Page 17: báo cáo  truyền số liệu

7/23/2019 báo cáo truyền số liệu

http://slidepdf.com/reader/full/bao-cao-truyen-so-lieu 17/17

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