Tải bản đầy đủ (.docx) (23 trang)

Báo cáo bài tập lớn cơ sở truyền số liệu bài 12 mạng hàng đợi

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (516.49 KB, 23 trang )

ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
----------

BÁO CÁO BÀI TẬP LỚN
CƠ SỞ TRUYỀN SỐ LIỆU
Bài 12: Mạng hàng đợi
Giảng viên hướng dẫn: TS. Trần Thị Ngọc Lan
Nhóm sinh viên thực hiện:
Trịnh Văn Hiệp
Lê Anh Quân
Lê Thị Ánh Ngọc
Vương Xuân Hồng
Nguyễn Ngọc Hải

20091087
20092113
20091907
20091198
20090951


Bài tập lớn cơ sở truyền số liệu – Nhóm 12

Hà Nội, 11/2012

Page 2


Bài tập lớn cơ sở truyền số liệu – Nhóm 12


Mục Lục

Page 3


Bài tập lớn cơ sở truyền số liệu – Nhóm 12

Danh sách hình vẽ

Page 4


Bài tập lớn cơ sở truyền số liệu – Nhóm 12

Trong quá trình học môn cơ sở truyền số liệu chúng em đã được tiếp xúc với
các mạng hàng đợi và được phân tích tính toán các thông số của mạng theo lý
thuyết. Mục đích thực hiện bài tập này nhằm củng cố kiến thức lý thuyết đã
được học và tìm hiểu thêm phương pháp đánh giá mạng hàng đợi sử dụng
phương pháp mô phỏng. Công cụ mô phỏng được sử dụng trong bài tập này là
OmNET ++ là một công cụ mô phỏng mạng thông tin được sử dụng rất nhiều
hiện nay. OmNET sẽ giúp chúng ta thực hiện mô phỏng các hệ thống mạng
thông tin dễ dàng, tổng hợp và phân tích kết quả nhằm đánh giá so sánh giữa 2
phương pháp. Để thực hiện bài tập này chúng em sử dụng thư viện INET giúp
thực hiện truyền các luồng UDP theo phân bố Poisson.
Chúng em xin chân thành cảm ơn TS Trần Thị Ngọc Lan đã giúp đỡ chúng em
hoàn thành bài tập này!

Page 5



Bài tập lớn cơ sở truyền số liệu – Nhóm 12

Phần 1: Yêu cầu đề bài và kế hoạch thực
hiện
1.1 Yêu cầu đề bài

Hình Đề 12: Mạng hàng đợi

Nút s1 phát ra luồng gói gửi đến đầu cuối d1, trong khi nút s2 tạo ra 2 luồng
gói gửi tới nút d1 và d2.cả 3 luồng thông tin đều truyền đi với giao thức UDP
(phân bố mũ) . Kích thước gói do s1, s2 phát ra tương ứng là 1300bytes và
1000bytes. Số lượng gói phát ra trên mỗi luồng tuân theo phân bố Poison, tốc
độ 1000 gói/s.
1. Dựng kịch bản mô phỏng hệ thống thông tin nói trên vói thời gian mô phỏng
100s.
2. Vẽ đồ thị độ trễ của các gói tại từng nút và trễ trên toàn đường truyền.
3. Vẽ đồ thị biểu diễn số lượng gói đến d1 d2 bị trễ nhiều hơn 0.5s.
4. Thay đổi tham số chiều dài gói tin và tốc độ phát sinh gói của từng luồng
thông tin trong khi giữ nguyên các luồng khác.Vẽ đồ thị biểu diễn thông lượng,
tỷ lệ mất thông tin của từng luồng. Nhận xét kết quả thu được.

Page 6


Bài tập lớn cơ sở truyền số liệu – Nhóm 12

1.2 Kế hoạch thực hiện

STT


Mô tả công việc

Người thực
hiện

Bắt đầu

Dự kiến
kết thúc

Kết thúc

1

Tìm hiểu và học
Omnet++

Cả nhóm

1/10/2012

7/10/2012

7/10/2012

2

Phân tích yêu cầu
đề bài, dựng kịch
bản


Cả nhóm

5/10/2012

7/10/2012

10/10/2012

3

Tìm hiểu về UDP Ngọc
trong Inet và phân
bố poisson

10/10/201
2

17/10/2012 17/10/2012

4

Mô phỏng hệ
thống

Hiệp &
Quân

10/10/201
2


20/10/2012 21/10/2012

5

Tìm hiểu cách
tính và cách mô
phỏng trễ

Hồng

10/10/201
2

17/10/2012 17/10/2012

6

Tìm hiểu cách
Hải
tính và cách mô
phỏng thông
lượng và tỷ lệ mất
thông tin

10/10/201
2

17/10/2012 17/10/2012


7

Thống kê và tính
toán kết quả

Cả nhóm

22/10/201
2

30/10/2012 30/10/2012

8

Báo cáo

Cả nhóm

30/10/201
2

07/11/2012 07/11/2012

Page 7


Bài tập lớn cơ sở truyền số liệu – Nhóm 12

Phần 2: Quá trình thực hiện
2.1 Xây dựng kịch bản và mô phỏng


Mô phỏng mạng hàng đợi truyền các luồng dữ liệu qua các node (hàng đợi)
để đến được đích. Các thông số cụ thể của mạng:
• Kích thước gói UDP tại s1 và s2 tương ứng là 1000 bytes và 1300



bytes
S1 truyền đến d1 , s2 truyền 2 luồng đến d1 và d2
Thời gian phát gói của từng luồng theo phân bố poisson và với tốc




độ 1000 gói/s
Kích thước hàng đợi ở các node:
Tốc độ của các kênh truyền giữa các node

a. Để mô phỏng mạng hàng đợi truyền các luồng UDP ta sử dụng thư viện

Inet với các gói:


ned.DatarateChannel;

để mô phỏng định nghĩa các kênh truyền giữa

các host và node




inet.nodes.inet.Router;để định nghĩa các node
inet.nodes.inet.StandardHost; để định nghĩa

trong mạng
nguồn s1,s2 và đích

d1,d2


inet.networklayer.autorouting.ipv4.IPv4NetworkConfigurator; để

cấu

hình địa chỉ của các thành phần trong mạng để truyền các gói theo
phương thức UDP
package udp_test;
import ned.DatarateChannel;
import inet.networklayer.autorouting.ipv4.IPv4NetworkConfigurator;
import inet.nodes.inet.Router;
import inet.nodes.inet.StandardHost;
network UDP_test
{
types:
channel A extends DatarateChannel
{
datarate = 6Mbps;
delay = 0.1us;
}
channel B extends DatarateChannel

{
datarate = 4Mbps;
delay = 0.1us;

Page 8


Bài tập lớn cơ sở truyền số liệu – Nhóm 12
}
channel C extends DatarateChannel
{
datarate = 1.5Mbps;
delay = 0.1us;
}
channel D extends DatarateChannel
{
datarate = 2Mbps;
delay = 0.1us;
}
channel E extends DatarateChannel
{
datarate = 100Mbps;
delay = 0.1us;
}
submodules:
s1: StandardHost {
parameters:
@display("i=device/pc3;p=58,76");
}
s2: StandardHost {

parameters:
@display("i=device/pc3;p=59,426");
}
d1: StandardHost {
parameters:
@display("p=766,78;i=device/pc2");
}
d2: StandardHost {
parameters:
@display("p=785,387;i=device/pc2");
}
router1: Router {
parameters:
@display("p=181,149");
}
router2: Router {
parameters:
@display("p=186,328");
}
router3: Router {
parameters:
@display("p=329,233");
}
router4: Router {
parameters:
@display("p=520,228");
}
router5: Router {
parameters:
@display("p=655,140");

}
router6: Router {
parameters:
@display("p=663,319");
}
configurator: IPv4NetworkConfigurator {

Page 9


Bài tập lớn cơ sở truyền số liệu – Nhóm 12
parameters:
config = xmldoc("config.xml");
@display("p=408,135");
}
connections:
s1.pppg++ <-->
s2.pppg++ <-->
router1.pppg++
router2.pppg++
router3.pppg++
router4.pppg++
router4.pppg++
router5.pppg++
router6.pppg++

E <-->
E <-->
<--> A
<--> A

<--> B
<--> C
<--> D
<--> E
<--> E

router1.pppg++;
router2.pppg++;
<--> router3.pppg++;
<--> router3.pppg++;
<--> router4.pppg++;
<--> router5.pppg++;
<--> router6.pppg++;
<--> d1.pppg++;
<--> d2.pppg++;

b. Gán địa chỉ cho các thành phần của mạng

Địa chỉ của các thành phần mạng được định nghĩa trong file config.xml
theo từng kênh truyền
netmask="255.255.255.0" mtu="1500"/>
netmask="255.255.255.0" mtu="1500"/>
netmask="255.255.255.0" mtu="1500"/>
netmask="255.255.255.0" mtu="1500"/>
netmask="255.255.255.0" mtu="1500"/>

netmask="255.255.255.0" mtu="1500"/>
netmask="255.255.255.0" mtu="1500"/>
netmask="255.255.255.0" mtu="1500"/>
netmask="255.255.255.0" mtu="1500"/>
netmask="255.255.255.0" mtu="1500"/>
netmask="255.255.255.0" mtu="1500"/>
netmask="255.255.255.0" mtu="1500"/>
netmask="255.255.255.0" mtu="1500"/>
netmask="255.255.255.0" mtu="1500"/>

Page 10


Bài tập lớn cơ sở truyền số liệu – Nhóm 12
netmask="255.255.255.0" mtu="1500"/>
netmask="255.255.255.0" mtu="1500"/>
netmask="255.255.255.0" mtu="1500"/>

hosts="router6"
towards="d2"
address="192.123.1.2"
netmask="255.255.255.0" mtu="1500"/>

Với các địa chỉ của các router và host được định nghĩa như trên ta tiến
hành đinh tuyến cho các luồng theo yêu cầu:
• Luồng 1: s1-d1: 1000bytes/packet
gateway="router1" metric="0" interface="ppp0"/>
gateway="router3" metric="0" interface="ppp1"/>
gateway="router4" metric="0" interface="ppp2"/>
gateway="router5" metric="0" interface="ppp1"/>



Luồng 2: s2-d1: 1300bytes/packet
gateway="router1" metric="0" interface="ppp0"/>
gateway="router3" metric="0" interface="ppp1"/>
gateway="router4" metric="0" interface="ppp2"/>
gateway="router5" metric="0" interface="ppp2"/>




Luồng 3: s2-d2: 1300bytes/packet
gateway="router2" metric="0" interface="ppp0"/>
gateway="router3" metric="0" interface="ppp1"/>
gateway="router4" metric="0" interface="ppp2"/>hosts="router4" destination="192.123.1.1" netmask="/32"
gateway="router6" metric="0" interface="ppp2"/>

c. Khởi tạo các thông số của mạng
• Phân bố poisson của các gói

Số lượng gói phát ra tại mỗi luồng phân theo phân bố poisson có
nghĩa là thời gian phát giữa các gói phân bố poisson và giá trị
trung bình là 0.001s (tương đương 1000 packets/s)
**.s1.udpApp[0].sendInterval = exponential(0.001s)

Page 11


Bài tập lớn cơ sở truyền số liệu – Nhóm 12
**.s2.udpApp[0].sendInterval = exponential(0.001s)
**.s2.udpApp[1].sendInterval = exponential(0.001s)



Độ dài hàng đợi tại các node
**.ppp[*].queueType = "DropTailQueue"# in routers

**.ppp[*].queue.frameCapacity = 48 # in routers

Ở đây với mỗi node chúng ta quy định như là một hàng đợi với


kích thước hàng đợi là 48
Các luồng UDP
Có 3 luồng được phát ra trừ 2 nguồn s1 và s2 để truyền đến đích
d1 và d2. Trong file *.ini chúng ta sẽ định nghĩa kích thước gói,
địa chỉ đích:
#luồng 1
**.s1.numUdpApps = 1
**.s1.udpApp[*].typename = "UDPBasicApp"
**.s1.udpApp[0].destAddresses = "192.128.1.6"#d1
**.s1.udpApp[0].destPort = 1000
**.s1.udpApp[0].messageLength = 1300 bytes
**.s1.udpApp[0].sendInterval = exponential(0.001s)
#luồng 2
**.s2.numUdpApps = 2
**.s2.udpApp[*].typename = "UDPBasicApp"
**.s2.udpApp[0].destAddresses = "192.128.1.6"#d1
**.s2.udpApp[0].destPort = 1000
**.s2.udpApp[0].messageLength = 1000 bytes
**.s2.udpApp[0].sendInterval = exponential(0.001s)
#luồng 3
**.s2.udpApp[1].destAddresses = "192.123.1.1"#d2
**.s2.udpApp[1].destPort = 100
**.s2.udpApp[1].messageLength = 1000 bytes
**.s2.udpApp[1].sendInterval = exponential(0.001s)


Kết quả mô phỏng mạng:

Page 12


Bài tập lớn cơ sở truyền số liệu – Nhóm 12

Hình Mô phỏng mạng hàng đợi UDP

2.2 Tính toán độ trễ của từng gói tại các nút và toàn đường truyền
a. Thời gian trễ tại các node

Hình Thời gian trễ của các gói tại các node

Page 13


Bài tập lớn cơ sở truyền số liệu – Nhóm 12

Hình Thời gian trễ của các gói tại các node (trung bình)

Từ đồ thị ta thấy:
• Node 5 và node 6 không bị trễ vì ở cuối mạng với kích thước


hàng đợi của các node đều là 48 nên dữ liệu được qua luôn.
Node 4 có 2 hàng đợi ra node 5 và node 6,
o Hàng đợi ra node 5 (d1) trễ nhiều nhất (0.3s) vì có luồng 1
và luồng 2 đều truyền qua đây.
o Hàng đợi ra node 6 (d2) gần như không trễ vì chỉ có luồng


3 đi qua đây.
• Node 2do có 2 luồng của s2 ( 2 luồng 1300 bytes) truyền qua đây


nên có độ trễ lớn hơn so với node 1 (1000 bytes)
Node 3 có độ trễ 0.1s.

b. Thời gian trễ toàn tuyến
Page 14


Bài tập lớn cơ sở truyền số liệu – Nhóm 12

Hình Thời gian trễ toàn tuyến của 3 luồng




Thời gian trễ của 3 luồng đối với kích thước hàng đợi là 48
Ta thấy thời gian trễ của luồng 3 (s2-d2) là thấp nhất (khoảng

0.2s) và 2 luồng 1 và 2 cỡ khoảng gần 0.5s
• Nếu giảm kích thước hàng đợi xuống thì thời gian trễ sẽ giảm
xuống (với kích thước 10 thì các luồng trễ khoảng 0.1s)
• Nếu tăng kích thước hàng đợi thì thời gian trễ tăng (50 thì trễ đều
trên 0.5s)
2.3 Thống kê số lượng gói đến đích trễ hơn 0.5s

Luồng

S1-D1
S2-D1
S2-D2

Số lượng gói gửi
100246
100225
100031

Page 15

Số lượng gói trễ hơn 0.5s
9049
1006
0


Bài tập lớn cơ sở truyền số liệu – Nhóm 12

Hình Số lượng gói trễ nhiều hơn 0.5s

Nhận xét:
Ta thấy 3 luồng đều có số lượng gói gửi đi khoảng 100000packets
Với luồng 1 thì có số lượng gói trễ lớn hơn 0.5s lớn nhất sau đó là luồng 2 và
luồng 3 không có gói nào trễ lớn hơn 0.5s
2.4 Thông lượng của từng luồng và tỉ lệ mất gói

Thực hiện mô phỏng và tổng hợp kết quả tỉ lệ mất gói và tính toán thông
lượng khi thay đổi kích thước gói và tốc độ phát gói.
Cách thực hiện:

• Tại mỗi luồng sẽ tính toán đối với 2 kích thước gói
o Luồng 1: 1300 bytes và 600 bytes
o Luồng 2 và luồng 3: 1000 bytes và 500 bytes
• Với mỗi kích thước gói sẽ thực hiện tính toán và mô phỏng với các
sendInterval có giá trị trung bình là 0.1s, 0.01s, 0.001s
• Tính toán tỉ lệ mất gói dựa vào số lượng gói phát đi và số lượng gói
nhận được
• Thông lượng sẽ là lượng dữ liệu được truyền qua mạng từ nguồn đến
đích
Page 16


Bài tập lớn cơ sở truyền số liệu – Nhóm 12


So sánh giá trị trung bình của thông lượng của các lần mô phỏng tính

toán với nhau (cùng số lượng gói truyền đi)
a. Luồng 1 s1-d1

size=1300byte
s

sendInterval

s1 sent

exp(0.1s)

1004


exp(0.001s)
exp(0.0001s)
exp(0.1s)

size=600bytes

exp(0.001s)
exp(0.0001s)

100246
998683
1004
100246
998683

s1-d1
d1[0]
received
258
9305
9257
210
17146
19603

loss
74.30%
90.72%
99.07%

79.08%
82.90%
98.04%

throughput(bps)

throughput/pa
cket sent

26832

26.7250996

967720

9.653452507

962728

0.963997585

10080

10.03984064

823008

8.209883686

940944


0.942184857

Hình Thông lượng của luồng 1 khi thay đổi kích thước và tốc dộ phát gói

Page 17


Bài tập lớn cơ sở truyền số liệu – Nhóm 12
b. Luồng 2 s2-d1

size=1000byte
s

size=500bytes

sendInterval
exp(0.1s)

S2 sent
969

S2-d1
d1[0]
received
195

exp(0.001s)

100225


6113

93.90%

489040

4.879421302

exp(0.0001s)

999182

8733

99.13%

698640

0.699211955

exp(0.1s)

969

116

88.03%

4640


4.788441692

exp(0.001s)

100225

5955

94.06%

238200

2.376652532

exp(0.0001s)

999182

11085

98.89%

443400

0.443762998

loss
79.88%


throughput(bps
)
15600

throughput/packe
t sent
16.09907121

Hình Thông lượng luồng 2 khi thay đổi kích thước và tốc độ phát gói

Page 18


Bài tập lớn cơ sở truyền số liệu – Nhóm 12
c. Luồng 3 s2-d2

S2-d2

size=1000byte
s

size=500bytes

D2[0] recv
291

loss
72.47%

throughput(bps)

23280

throughput/pack
et sent
22.0246

100031

13588

86.42%

1087040

10.86703

exp(0.0001s)

998331

24140

97.58%

1931200

1.934429

exp(0.1s)


1057

186

82.40%

7440

7.038789

exp(0.001s)

100031

13045

86.96%

521800

5.216383

exp(0.0001s)

998331

38711

96.12%


1548440

1.551029

sendInterval
exp(0.1s)

S2 sent
1057

exp(0.001s)

Page 19


Bài tập lớn cơ sở truyền số liệu – Nhóm 12

Hình Thông lượng luồng 3 khi thay đổi kích thước và tốc độ phát gói

Nhận xét:


Thông lượng là lượng dữ liệu thực sự được truyền qua mạng trên
một đơn vị thời gian
Page 20


Bài tập lớn cơ sở truyền số liệu – Nhóm 12



Khi thay đổi kích thước của mỗi gói trên từng luồng và giữ nguyên
giá trị đối với các luồng còn lại ta thấy với tất cả các luồng thì thông



lượng đều giảm khi giảm kích thước gói
Khi tăng tốc độ phát gói thì tỉ lệ mất gói tăng dần và thông lượng
cũng giảm dần. Điều này hoàn toàn phù hợp với lý thuyết

Page 21


Bài tập lớn cơ sở truyền số liệu – Nhóm 12

Kết Luận
Qua bài tập này chúng em đã hiểu rõ hơn về hoạt động của mạng hàng đợi,
phương thức truyền UDP thông qua phương pháp mô phỏng trên OmNET++.Nắm
được phương pháp đánh giá thông lượng của các giao thức đó dựa trên công mô
phỏng OMNET++. Do thời gian có hạn chế chưa thể mô phỏng được nhiều lần nên
kết quả có thể có sai số so với lý thuyết. Ngoài ra bài tập có thể mở rộng cho việc tính
toán đối với những hệ thống mạng hàng đợi lớn hơn hoặc sử dụng các giao thức
khác.Chúng em rất mong nhận được ý kiến đóng góp của cô giáo cùng các bạn để có
thể hoàn thiện hơn bài tập lớn này.

Page 22


Bài tập lớn cơ sở truyền số liệu – Nhóm 12
TÀI LIỆU THAM KHẢO
1.

2.
3.
4.
5.

Bài giảng cơ sở truyền số liệu – Viện Điện Tử Viễn Thông – ĐHBKHN


/>Omnet++ Tutorial.

Page 23



×