bài tập lớn môn cơ sở mạng thông tin tính tốc độ dữ liệu truyền gửi qua mạng - Pdf 23

BÁO

CÁO

MÔN


SỞ

MẠNG

THÔNG

TIN
tính

tốc

độ

các

luồng

dữ

liệu

gửi

qua

bằng

cực

đại

cực

tiểu

(max-
min

fairness)



dựng

kịch

bản



phỏng

bằng

công

ta

đã

làm

quen

với

phương

pháp
đánh

giá

hoạt

động

của

một

hệ

thống

thông

quan

đến

hệ

thống

hàng

đợi

đơn,

mạng
hàng

đợi,cơ

sở

cho

các



chế

điều

sẽ

được

làm

quen

với

một

phương

pháp
khác

để

đánh

giá

hiệu

năng,

đó




nghiệm

các

kết

quả

phân

tích,

đánh

giá

hệ

thống

khi

dùng

phương
pháp

phân


NS-2



công

cụ



phỏng

mạng

thông
dụng

nhất

hiện

nay
-
Làm

quen

với

hệ

làm

việc

theo

nhóm.
-
Phát

triển

kỹ

năng

làm

việc

độc

lập.
Yêu c ầu
của
để

các
luồng chia sẽ băng thông kênh truyền dựa theo nguyên lý công bằng cực đại cực
tiểu (max-min fairness) và dựng kịch bản mô phỏng bằng công cụ NS2.
Các
thành
viên
trong
nhóm

nhiệm

Tìm hiểu công cụ mô phỏng NS-2 và dựng kịch bản mô phỏng dựa theo các
thông số
λ
S1,
λ
S2,
λ
S3 đã tính.
3.Võ Văn Thế
Tìm hiểu công cụ mô phỏng NS-2 và dựng kịch bản mô phỏng.
4.Trần Hải Anh
Vẽ đồ thị băng thông và vẽ đồ thị tốc độ mất gói.
Th

ực
hiện
bài
t

ập



b

ằng
cực
đại
cực
tiểu
(max

-min
fairness)

thu

không

thể

nhận
thêm các gói dữ liệu từ phía phát dẫn đến việc phía phát phải thực hiện truyền lại
dữ liệu, gây lãng phí băng thông trên đường truyền.
Nhằm giảm thiểu việc phải truyền lại thông tin và mất gói do tràn hàng đợi,
cần có cơ chế thực hiện kiểm soát

và điều

khiển lưu lượng thông tin đi đến

một
thiết

bị/mạng.

Chức

năng

này

được

thực


nhất

của

thực

hiện

điều

khiển

luồng


kiểm soát tắc nghẽn là đảm báo tính công bằng cho các kết nối hoặc người dùng
khi xảy ra tắc nghẽn. Khái niệm tính công bằng thể hiện ở chỗ các kết nối, người
dùng được sử dụng tài nguyên mạng với cơ hội như nhau
Việc sử dụng tài nguyên mạng hiệu quả nhất có thể trong khi vẫn có thể đảm
bảo

được

tính

công bằng cho

các


các tài nguyên còn lại được tiếp tục phân chia (một cách công bằng) cho
những người dùng còn lại. Trong nhóm người dùng này, tài nguyên lại được phân
chia sao cho người dùng có yêu cầu ít nhất được đáp ứng, và quá trình cứ tiếp tục
đến hết. Nói một cách khác, việc cấp phát tài nguyên mạng cho một người dùng i
không được làm ảnh hưởng đến tài nguyên đó cấp các ngườii dùng khác với yêu
cầu ít hơn i.
Thuật

toán:
1.Khởi tạo tất cả các kết nối với tốc độ = 0
Tăng tốc độ của tất cả các kết nối với một lượng nhỏ bằng nhau
δ
, lặp lại quá
trình này cho đến khi tồn tại các liên kết có tổng băng thông đạt đến giá trị băng
thông cực đại (Fa = Ca). Lúc này:
Tất cả các kết nối chia sẻ liên kết này đều sử dụng băng thông bằng nhau
Liên kết này là điểm tắc nghẽn đối với tất cả các kết nối sử dụng liên kết này
Ngừng việc tăng băng thông cho các

kết nối này vỡ

các kết nối này đạt đến
trạng thái cân bằng cực đại – cực tiểu
2.Lặp

lại

quá

trình

a
:=

số

lượng

đường

p



P
k

với

δ
p
(a)

=

1
r
k
:
=
min


P
k
)
r
p

=



k −1 k

r
p

(

p



P

)
(a).r
a∈A
k+1
P
k1

k
là tập hợp rỗng thì dừng lại, nếu không thì quay lại bước 1.
II.
Th

ực
hiện

:
1.

Yêu

cầu:
F
a
k
:
=

δ
p p
k
A


dung

lượng


C1=
1MB/s

trễ

lan

truyền

100ms
Đường

nối

L2



dung

lượng
l à

C2 =0,6MB/s,

theo

nguyên

tắc

FIFO

với

độ

lớn
hàng

đợi

K=5

gói.
Các

nguồn

Si

phát

gói





các

luồng

được

chiếm

trên

một

kênh

truyền
vật





bằng

95%

dung


kết

nối

(S1,D1),(S2,D2),(S3,D3)
-
P
k
là tập hợp các kết nối không đi qua liên kết bão hòa nào, tính tại lúc bắt đầu
của bước k
-nka là số lượng kết nối trong P
k
sử dụng liên kết a
Liên kết (1,2) nka =2
Liên kết (2,3) nka =2
- r
k
là phần băng thông tăng lên cho mỗi kết nối trong P
k
tại bước thứ k
Bước

1:
k = 1, F01 = 0, F02 =0, r0p = 0, P
1
=[(S1,D1),(S2,D2),(S3,D3)] và A
1
= A
r
k


/

s
Bước

2:

k=2,
F
11
=0.285+0.285=0.57

MB/s
F
21
=0.285+0.285=0.57

MB/s
P
2

=[(S1,D1),(S2,D2)]
Liên

kết

(2,3)

đã

kết

(1,2)

bão

hòa

tăng

λ
S2
lên

giá

trị
λ
S2=0.95-0.285=0.665
MB/s
Như

vậy

ta

đã

tính


Tạo

đối

tượng



phỏng:


1
1
set ns [new Simulator]
Tạo

namfile

lưu

dữ

liệu

hệ

thống

khi



đồ

thị

tốc

độ

mất

gói
set l0 [open S1_D1_Lost.tr w]
set l1 [open S2_D2_Lost.tr w]
set l2 [open S3_D3_Lost.tr w]
Tạo

9

nút
set s1 [$ns node]
set d1 [$ns node]
set s2 [$ns node]
set d2 [$ns node]
set s3 [$ns node]
set d3 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
Tạo

$ns duplex-link $n2 $n3 0.6Mb 50ms DropTail
$ns duplex-link $n3 $d1 1Mb 10ms DropTail
$ns duplex-link $n1 $s2 1Mb 10ms DropTail
$ns duplex-link $n2 $d2 1Mb 10ms DropTail
$ns duplex-link $n2 $s3 1Mb 10ms DropTail
$ns duplex-link $n3 $d3 1Mb 10ms DropTail
Thiết

lập

vị

trí

cho

các

nút

như

trên
$ns duplex-link-op $s1 $n1 orient right
$ns duplex-link-op $n1 $n2 orient right
$ns duplex-link-op $n2 $n3 orient right
$ns duplex-link-op $n3 $d1 orient right
$ns duplex-link-op $n1 $s2 orient down
$ns duplex-link-op $n2 $d2 orient down
$ns duplex-link-op $n2 $s3 orient up

Agent

cho

các

nút

s1,

s2,

s3,

d1,

d2,

d3
#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


truyền

đi

từ

các

nút

s1,

s2,

s3

tuân

theo

phân

bố

Poisson

được

thiết


độ

phát

gói

của

các

nút

được

xác

định

bởi

các

biến

sau,

đơn

vị


gói

(bytes)

xác

định

bởi
set pksize 125.0
Các

hàm

sau

lọc

dữ

liệu



lưu

vào

tracefile

set time 0.5
#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
$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.5
#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]


đồ

thị:
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 out.nam &
#Call xgraph to display the results
exec xgraph S1_D1_Band.tr S2_D2_Band.tr S3_D3_Band.tr -geometry 800x400
-t "BandWidth" -x "s" -y "Mbit/s" &
exec xgraph S1_D1_Lost.tr B2_D2_Lost.tr S3_D3_Lost.tr -geometry 800x400 -t
"LostPacket" -x "s" -y "Packet" &
exit 0
}
Thực

hiện

chạy



phỏng


trên

nam
Đồ

thị

băng

thông

của

các

luồng
Tốc

độ

mất

gói


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