Tải bản đầy đủ (.pdf) (34 trang)

Báo cáo bài tập lớn cơ sở truyền thông tin đề tài 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 (5.98 MB, 34 trang )

TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - TRUYỀN THÔNG
-----------***-----------

BÁO CÁO BÀI TẬP LỚN
CƠ SỞ TRUYỀN SỐ LIỆU
Đề tài 11: 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 – Nhóm 11
Nguyễn Cao Cường

20111221

Trần Mạnh Toàn

20112344

Giang Văn Hiến

20111561

Phan Bá Duy

20111348

Phan Văn Đồng

20112575

Hà Nội, 11/2014


CuuDuongThanCong.com

/>

Mục lục
LỜI MỞ ĐẦU ...................................................................................................... 2
Phần 1: Yêu cầu đề bài và kế hoạch thực hiện ..................................................... 3
1.1

Tìm hiểu về giao thức UDP: ................................................................... 3

1.1.1.

Tổng quan về giao thức UDP: ......................................................... 3

1.1.2 Một số thuật ngữ UDP:........................................................................ 4
1.1.3 Hoạt động của giao thức UDP: ............................................................. 6
1.1.4 Các ưu điểm của UDP: ......................................................................... 6
1.1.5. Các nhược điểm của giao thức UDP: .................................................. 9
1.1.6. Khi nào thì nên sử dụng UDP: ............................................................ 7
1.2.Yêu cầu đề bài ............................................................................................. 8
1.3. Phân công công việc .................................................................................. 8
Phần 2: Quá trình thực hiện.................................................................................. 9
2.1

Xây dựng kịch bản và mơ phỏng ............................................................ 9

2.2 Tính tốn độ trễ của từng gói tại các nút và tồn đường truyền: ............. 18
-


Thời gian trễ tại các node ......................................................................... 18

2.3 Vẽ đồ thị biểu diễn số lượng gói đến d1 từ s1 có trễ lớn hơn 0.03s. ........ 21
2.4

Thống kê số lượng gói đến d1và d2 trễ nhỏ hơn 0.1s. ......................... 21

2.5

Thơng lượng của từng luồng và tỉ lệ mất gói ....................................... 22

KẾT LUẬN ........................................................................................................ 32
TÀI LIỆU THAM KHẢO .................................................................................. 33

1

CuuDuongThanCong.com

/>

LỜI MỞ ĐẦU
Trong q 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 tố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++ phiên bản 4.4.1 - 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.
Trong q trình làm bài tập lớn nhóm em rất cảm ơn cô Trần Thị Ngọc
Lan đã hướng dẫn tận tình, để nhóm em có thể hồn thành cơng việc được
giao một cách tốt nhất và đùng thời hạn.
Em xin chân thành cảm ơn!

2

CuuDuongThanCong.com

/>

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

Tìm hiểu về giao thức UDP:

1.1.1. Tổng quan về giao thức UDP:
TCP/IP là một họ các giao thức được gọi là họ giao thức IP, bao gồm bốn
tầng. Cần nhớ rằng TCP/IP không phải là một giao thức mà thực sự là một họ các
giao thức, và bao gồm các giao thức mức thấp khác như IP, TCP và UDP. UDP
nằm ở tầng giao vận, phía trên giao thức IP. Tầng giao vận cung cấp khả năng
truyền tin giữa các mạng thơng qua các gateway. Nó sử dụng các địa chỉ IP để gửi
các gói tin trên Internet hoặc trên mạng thơng qua các trình điều khiển thiết bị khác
nhau. TCP và UDP là một phần của họ giao thức TCP/IP; mỗi giao thức có những
ưu và nhược điểm riêng của nó.
Giao thức UDP là giao thức đơn giản, phi liên kết và cung cấp dịch vụ trên
tầng giao vận với tốc độ nhanh. Nó hỗ trợ liên kết một-nhiều và thường được sử
dụng thường xuyên trong liên kết một-nhiều bằng cách sử dụng các datagram

multicast và unicast.
Giao thức IP là giao thức cơ bản của Internet. TCP và UDP đều là hai giao
thức tầng giao thức vận trên cơ sở của giao thức IP. Hình dưới đây chỉ ra cách ánh
xạ mơ hình OSI ánh xạ vào kiến trúc TCP/IP và họ giao thức TCP/IP.

3

CuuDuongThanCong.com

/>

Các tầng OSI

Họ giao thức TCP

Tầng phiên

4

Tầng giao vận

Tầng giao vận

3

Tầng mạng

Tầng Internet

2


Tầng liên kết dữ liệu

TCP

DNS

5

Tầng ứng dụng

RIP

Tầng trình diễn

SMTP

6

FTP

Tầng ứng dụng
HTTP

7

TCP/IP Stack

UDP


ICMP,IP, IGMP
Ethernet, ATM,

Tầng mạng
1

Frame Relay,..

Tầng vật lý

Bảng. So sánh mơ hình OSI với họ giao thức TCP/IP
1.1.2 Một số thuật ngữ UDP:
Trước khi kiểm tra xem giao thức UDP hoạt động như thế nào, chúng ta cần
làm quen với một số thuật ngữ. Trong phần dưới đây, chúng ta sẽ định nghĩa một
số thuật ngữ cơ bản có liên quan đến giao thức UDP.
Packet
Trong truyền số liệu, một packet là một dãy các số nhị phân, biểu diễn dữ
liệu và các tín hiệu điều khiển, các gói tin này được chuyển đi và chuyển tới tới
host. Trong gói tin, thơng tin được sắp xếp theo một khn dạng cụ thể.
Datagram
Một datagram là một gói tin độc lập, tự chứa, mang đầy đủ dữ liệu để định
tuyến từ nguồn tới đích mà khơng cần thơng tin thêm.
MTU
MTU là viết tắt của Maximum Transmission Unit. MTU là một đặc trưng của
tầng liên kết mô tả số byte dữ liệu tối đa có thể truyền trong một gói tin. Mặt khác,
MTU là gói dữ liệu lớn nhất mà mơi trường mạng cho trước có thể truyền. Ví dụ,
Ethernet có MTU cố định là 1500 byte. Trong UDP, nếu kích thước của một
4

CuuDuongThanCong.com


/>

datagram lớn hơn MTU, IP sẽ thực hiện phân đoạn, chia datagram thành các phần
nhỏ hơn (các đoạn), vì vậy mỗi đoạn nhỏ có kích thước nhỏ hơn MTU.
Port
UDP sử dụng các cổng để ánh xạ dữ liệu đến vào một tiến trình cụ thể đang
chạy trên một máy tính. UDP định đường đi cho packet tại vị trí xác định bằng
cách sử dụng số hiệu cổng được xác định trong header của datagram. Các cổng
được biểu diễn bởi các số 16-bit, vì thế các cổng nằm trong dải từ 0 đến 65535.
Các cổng cũng được xem như là các điểm cuối của các liên kết logic, và được chia
thành ba loại sau:
o Các cổng phổ biến: Từ 0 đến 1023
o Các cổng đã đăng ký: 1024 đến 49151
o Các cổng động/dành riêng 49152 đến 65535
Chú ý rằng các cổng UDP có thể nhận nhiều hơn một thơng điệp ở một thời
điểm. Trong một số trường hợp, các dịch vụ TCP và UDP có thể sử dụng cùng một
số hiệu cổng, như 7 (Echo) hoặc trên cổng 23 (Telnet).
UDP có các cổng thơng dụng sau:

Cổng UDP

Mơ tả

15

Netstat- Network Status-Tình trạng mạng

53


DNS-Domain Name Server

69

TFTP-Trivial File Transfer Protocol
Giao thức truyền tệp thông thường

137

NetBIOS Name Service

138

Dịch vụ Datagram NetBIOS

161

SNMP

5

CuuDuongThanCong.com

/>

TTL (Time To Live)
Giá trị TTL cho phép chúng ta thiết lập một giới hạn trên của các router mà
một datagram có thể đi qua. Giá trị TTL ngăn ngừa các gói tin khỏi bị kẹt trong
các vịng lặp định tuyến vơ hạn. TTL được khởi tạo bởi phía gửi và giá trị được
giảm đi bởi mỗi router quản lý datagram. Khi TTL bằng 0, datagram bị loại bỏ.

Multicasting
Multicasting là phương pháp dựa trên chuẩn có tính chất mở để phân phối
các thông tin giống nhau đến nhiều người dùng. Multicasting là một đặc trưng
chính của giao thức UDP. Multicasting cho phép chúng ta truyền tin theo kiểu một
nhiều, ví dụ gửi tin hoặc thư điện tử tới nhiều người nhận, đài phát thanh trên
Internet, hoặc các chương trình demo trực tuyến.
1.1.3 Hoạt động của giao thức UDP:
Khi một ứng dụng dựa trên giao thức UDP gửi dữ liệu tới một host khác trên
mạng, UDP thêm vào một header có độ dài 8 byte chứa các số hiệu cổng nguồn và
đích, cùng với tổng chiều dài dữ liệu và thơng tin checksum. IP thêm vào header
của riêng nó vào đâu mỗi datagram UDP để tạo lên một datagram IP:
1.1.4 Các ƣu điểm của UDP:
Không cần thiết lập liên kết. UDP là giao thức phi liên kết, vì thế khơng cần
phải thiết lập liên kết. Vì UDP khơng sử dụng các tín hiệu handshaking, nên
có thể tránh được thời gian trễ. Đó chính là lý do tại sao DNS thường sử
dụng giao thức UDP hơn là TCP-DNS sẽ chậm hơn rất nhiều khi dùng TCP.
Tốc độ UDP nhanh hơn so với TCP. Bởi vì điều này, nhiều ứng dụng
thường được cài đặt trên giao thức UDP hơn so với giao thức TCP.
Hỗ trợ hình trạng (Topology). UDP hỗ trợ các liên kết 1-1, 1-n, ngược lại
TCP chỉ hỗ trợ liên kết 1-1.
Kích thước header. UDP chỉ có 8 byte header cho mỗi đoạn, ngược lại TCP
cần các header 20 byte, vì vậy sử dụng băng thơng ít hơn.
6

CuuDuongThanCong.com

/>

1.1.6. Khi nào thì nên sử dụng UDP:
Rất nhiều ứng dụng trên Internet sử dụng UDP. Dựa trên các ưu và nhược

điểm của UDP chúng ta có thể kết luận UDP có ích khi:
Sử dụng cho các phương thức truyền broadcasting và multicasting khi chúng
ta muốn truyền tin với nhiều host.
Kích thước datagram nhỏ và trình tự đoạn là khơng quan trọng
Không cần thiết lập liên kết
Ứng dụng không gửi các dữ liệu quan trọng
Khơng cần truyền lại các gói tin
Băng thơng của mạng đóng vai trị quan trọng
Việc cài đặt ứng dụng UDP trong Java cần có hai lớp là DatagramPacket và
DatagramSocket. DatagramPacket đóng gói các byte dữ liệu vào các gói tin UDP
được gọi là datagram và cho phép ta mở các datagram khi nhận được. Một
DatagramSocket đồng thời thực hiện cả hai nhiệm vụ nhận và gửi gói tin. Để gửi
dữ liệu, ta đặt dữ liệu trong một DatagramPacket và gửi gói tin bằng cách sử dụng
DatagramSocket. Để nhận dữ liệu, ta nhận một đối tượng DatagramPacket từ
DatagramSocket và sau đó đọc nội dung của gói tin.
UDP khơng có bất kỳ khái niệm nào về liên kết giữa hai host. Một socket gửi
tất cả dữ liệu tới một cổng hoặc nhận tất cả dữ liệu từ một cổng mà không cần
quan tâm host nào gửi. Một DatagramSocket có thể gửi dữ liệu tới nhiều host độc
lập hoặc nhận dữ liệu từ nhiều host độc lập. Socket không dành riêng cho một liên
kết cụ thể thể nào cả như trong giao thức TCP. Các socket TCP xem liên kết mạng
như là một luồng: ta gửi và nhận dữ liệu với các luồng nhập và luồng xuất nhận
được từ socket. UDP không cho phép điều này; ta phải làm việc với từng gói tin.
Tất cả dữ liệu được đặt trong datagram được gửi đi dưới dạng một gói tin. Gói tin
này cũng có thể nhận được bởi một nhóm hoặc cũng có thể bị mất. Một gói tin
7

CuuDuongThanCong.com

/>


khơng nhất thiết phải liên quan đến gói tin tiếp theo. Cho trước hai gói tin, khơng
có cách nào để biết được gói tin nào được gửi trước và gói tin nào được gửi sau.
1.2.Yêu cầu đề bài

1. Mạng hàng đợi
Nút s1 phát ra luồng gói gửi đến đầu cuối d1 và d2, 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à 1200bytes và
900bytes. Tốc độgói phát ra từluồng s1 đến d1 plà 900 gói/s.Cịn tốc độgói phát ra
trên các luồng cịn lại là 1000 gói/s. Giảsửcác gói phát đều tuân theo phân
bốPoisson.
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
300s.
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 từs1 có trễlớn hơn 0.03s.
4. Vẽ đồ thị biểu diễn số lượng gói đến d1 d2 bị trễ nhỏ hơn 0.1s.
5. 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.

1.3. Phân công công việc
8

CuuDuongThanCong.com

/>

STT

Người thực hiện


Mơ tả cơng việc

1

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

Cả nhóm

2

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

Cả nhóm

3

Tìm hiểu về UDP trong inet và phân bố Poisson

Cả nhóm

4

Mơ phỏng hệ thống

Tồn, Đồng

5

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


Cường, Tồn

6

Tìm hiểu cách tính và cách mơ phỏng thơng lượng và tỉ lệ mất gói

Cường, Duy

7

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

Hiến, Duy

8

Báo cáo

Đồng, Hiến

Phần 2: Q trình thực hiện
1.1.5. Các nhƣợc điểm của giao thức UDP:
So với giao thức TCP, UDP có những nhược điểm sau:
Thiếu các tín hiệu bắt tay. Trước khi gửi một đoạn, UDP khơng gửi các tín
hiệu bắt tay giữa bên gửi và bên nhận. Vì thế phía gửi khơng có cách nào để
biết datagram đã đến đích hay chưa. Do vậy, UDP khơng đảm bảo việc dữ
liệu đã đến đích hay chưa.
Sử dụng các phiên. Để TCP là hướng liên kết, các phiên được duy trì giữa
các host. TCP sử dụng các chỉ số phiên (session ID) để duy trì các liên kết

giữa hai host. UDP không hỗ trợ bất kỳ phiên nào do bản chất phi liên kết
của nó.
Độ tin cậy. UDP khơng đảm bảo rằng chỉ có một bản sao dữ liệu tới đích. Để gửi
dữ liệu tới các hệ thống cuối, UDP phân chia dữ liệu thành các đoạn nhỏ. UDP
không đảm bảo rằng các đoạn này sẽ đến đích đúng thứ tự như chúng đã được tạo
ra ở nguồn. Ngược lại, TCP sử dụng các số thứ tự cùng với số hiệu cổng và các gói
tin xác thực thường xuyên, điều này đảm bảo rằng các gói tin đến đích đúng thứ tự
mà nó đã được tạo ra.

9

CuuDuongThanCong.com

/>

Bảo mật. TCP có tính bảo mật cao hơn UDP. Trong nhiều tổ chức, firewall và
router cấm các gói tin UDP, điều này là vì các hacker thường sử dụng các cổng
UDP.
Kiểm sốt luồng. UDP khơng có kiểm sốt luồng; kết quả là, một ứng dụng UDP
được thiết kế tồi có thể làm giảm băng thơng của mạng.
Bảng dưới đây tổng kết những sự khác nhau giữa hai giao thức TCP và UDP:
Các đặc trưng

UDP

TCP

Hướng liên kết

Khơng




Sử dụng phiên

Khơng



Độ tin cậy

Khơng



Xác thực

Khơng



Đánh thứ tự

Khơng



Điều khiển luồng

Khơng




Bảo mật

Ít

Nhiều hơ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 từ s1 và s2 tương ứng là 1200 bytes và 900 bytes.
s1 truyền đến d1 và d2, s2 truyền hai 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à tốc độgói phát ra
từluồng s1 đến d1 plà 900 gói/s.Cịn tốc độgói phát ra trên các luồng cịn lại
là 1000 gói/s
Tốc độ của các kênh truyền giữa các node.
node 1 --- node 3: 6 Mbps
node 2 --- node 3: 6 Mbps
node 3 --- node 4: 4 Mbps
node 4 --- node 5: 1,5 Mbps
10

CuuDuongThanCong.com

/>

node 4 --- node 6: 2 Mbps
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 trong mạng.
inet.nodes.inet.StandardHost; định nghĩa 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.
Code:
package bai11;
import ned.DatarateChannel;
import inet.networklayer.autorouting.ipv4.IPv4NetworkConfigurator;
import inet.nodes.inet.Router;
import inet.nodes.inet.StandardHost;

network bai11
{
@display("bgb=735,449");
types:
channel A extends DatarateChannel
{
datarate = 6Mbps;
delay = 0.1us;
}
channel B extends DatarateChannel
{
datarate = 4Mbps;
delay = 0.1us;

}
channel C extends DatarateChannel
{
datarate = 1.5Mbps;

11

CuuDuongThanCong.com

/>

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/pc4;p=60,40");
}
s2: StandardHost {
parameters:

@display("i=device/pc4;p=60,400");
}
d1: StandardHost {
parameters:
@display("p=661,40;i=device/pc2");
}
d2: StandardHost {
parameters:
@display("p=661,400;i=device/pc2");
}
node1: Router {
parameters:
@display("p=186,118");
}
node2: Router {
parameters:
@display("p=186,297");
}
node3: Router {

12

CuuDuongThanCong.com

/>

parameters:
@display("p=294,205");
}
node4: Router {

parameters:
@display("p=432,205");
}
node5: Router {
parameters:
@display("p=540,118");
}
node6: Router {
parameters:
@display("p=540,297");
}
configurator: IPv4NetworkConfigurator {
parameters:
config = xmldoc("config.xml");
@display("p=366,99");
}
connections:
s1.pppg++ <--> E <--> node1.pppg++;
s2.pppg++ <--> E <--> node2.pppg++;
node1.pppg++ <--> A <--> node3.pppg++;
node2.pppg++ <--> A <--> node3.pppg++;
node3.pppg++ <--> B <--> node4.pppg++;
node4.pppg++ <--> C <--> node5.pppg++;
node4.pppg++ <--> D <--> node6.pppg++;
node5.pppg++ <--> E <--> d1.pppg++;
node6.pppg++ <--> E <--> 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.

13

CuuDuongThanCong.com

/>

Code:
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"/>

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

14

CuuDuongThanCong.com

/>

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

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


Với các địa chỉ của các node 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
metric="0" interface="ppp0"/>
metric="0" interface="ppp1"/>
metric="0" interface="ppp2"/>
metric="0" interface="ppp1"/>

Luồng 2: s1-d2
metric="0" interface="ppp0"/>
metric="0" interface="ppp1"/>
metric="0" interface="ppp2"/>
metric="0" interface="ppp2"/>

Luồng 3: s2-d1
metric="0" interface="ppp0"/>
metric="0" interface="ppp1"/>

15


CuuDuongThanCong.com

/>

metric="0" interface="ppp2"/>
gateway="node5" metric="0" interface="ppp1"/>

Luồng 4: s2-d2
metric="0" interface="ppp0"/>
metric="0" interface="ppp1"/>
metric="0" interface="ppp2"/>
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.0s và giá trị trung
bình là 0.001s (tương đương 1000 gói/s).
**.s1.udpApp[0].sendInterval = exponential(0.00111s)
**.s1.udpApp[1].sendInterval = exponential(0.001s)
**.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ó 4 luồng được phát ra từ 2 nguồn s1 và s2 để truyền đến đích d1 và d2. Trong
file omnetpp.ini chúng ta sẽ định nghĩa kích thước gói, địa chỉ đích:

16

CuuDuongThanCong.com

/>

Code:
#luong 1: Gui tu s1-d1
**.s1.numUdpApps = 2
**.s1.udpApp[*].typename = "UDPBasicApp"
**.s1.udpApp[0].destAddresses = "192.128.1.6"#d1
**.s1.udpApp[0].destPort = 1000
**.s1.udpApp[0].messageLength = 1200 bytes
**.s1.udpApp[0].sendInterval = exponential(0.00111s)
#Luong 2: Gui tu s1-d2
**.s1.udpApp[1].destAddresses =

"192.123.1.1"#d2


**.s1.udpApp[1].destPort = 100
**.s1.udpApp[1].messageLength = 1200 bytes
**.s1.udpApp[1].sendInterval = exponential(0.001s)

#Luong 3: Gui tu s2-d1
**.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 = 900 bytes
**.s2.udpApp[0].sendInterval = exponential(0.001s)
#Luong 4: Gui tu s2-d2
**.s2.udpApp[1].destAddresses =

"192.123.1.1"#d2

**.s2.udpApp[1].destPort = 100
**.s2.udpApp[1].messageLength = 900 bytes
**.s2.udpApp[1].sendInterval = exponential(0.001s)

17

CuuDuongThanCong.com

/>

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


2. Mô phỏng mạng hàng đợi UDP
2.2 Tính tốn độ trễ của từng gói tại các nút và toàn đƣờng truyền:
- Thời gian trễ tại các node
Thời gian trễ tại các hàng đợi được biểu diễn bằng tham số vector queueingTime
có tại mỗi node. Sử dụng tham số trên ta có thể vẽ được đồ thị thời gian trễ tại các
node như sau:

18

CuuDuongThanCong.com

/>

3 Thời gian trễ của các gói tại các node
Click chuột phải và chọn Apply/Mean để vẽ đường trung bình của trễ:

4. Thời gian trễ của các gói tại các node (trung bình)
Nhận xét:
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 ln.
Node 4 có trễ hàng đợi lớn nhất và có 2 hàng đợi ra node 5 và node 6:
- Hàng đợi ra node 5 (d1) trễ nhiều nhất.
- Hàng đợi ra node 6 (d2) trễ ít hơn .
Node 3 có trễ hàng đợi nhỏ hơn node 4 nhưng lớn hơn tại node 1 và node 2.
Node 2 có trễ nhỏ hơn node 1.

- Thời gian trễ toàn tuyến:
Thời gian trễ toàn tuyến của từng luồng được lưu vào tham số vector
endToEndDelay, chỉ trễ của gói tin gửi từ nguồn tới hai đích d1 và d2.Tuy nhiên

đối với d1 có 2 luồng gửi đến từ nguồn s1 và s2, do vậy trong tham số
endToEndDelay của d1 ta phải lọc được trễ nào là từ gói của s1 hay s2 gửi đến.
Dữ liệu của tham số endToEndDelay có thể hiển thị qua tab Output Vector của
OMNeT++, song ta cần phải xuất dữ liệu ra file Excel để vẽ được đồ thị.
19

CuuDuongThanCong.com

/>

OMNeT++ cho phép thực hiện điều này bằng cách xuất ra file .csv khi click chuột
phải vào tham số cần xuất dữ liệu, chọn Export Data/CSV…
Sau khi xuất dữ liệu, ta có thể lọc (Filter) những khoảng thời gian và độ trễ theo
các gói gửi từ s1 đến (1200bytes) và gửi từ s2 đến (900bytes) rồi vẽ biểu đồ trễ
toàn tuyến, trục hồnh biểu thị trục thời gian mơ phỏng từ 0-300s, trục tung biểu
thị trễ của các gói đi tới đích theo các luồng s1-d1,s1-d2, s2-d1, s2-d2.

thời gian trễ toàn tuyến
0.6

0.5

delay

0.4
s2-d1

0.3

s2-d2

s1-d1

0.2

s1-d2
0.1

0
0

50

100

150

200

250

300

350

time

5. Thời gian trễ toàn tuyến của 4 luồng
Nhận xét:
Ta thấy thời gian trễ của các luồng biến thiên trong khoảng khá lớn.
Trễ của luồng s1 đến d1 là lớn nhất.

Trễ của luồng s2 đến d2 là nhỏ nhất.

20

CuuDuongThanCong.com

/>

2.3 Vẽ đồ thị biểu diễn số lƣợng gói đến d1 từ s1 có trễ lớn hơn 0.03s.

6. số lượng gói đến d1 từ s1 có trễ lớn hơn 0.03s.
2.4

Thống kê số lƣợng gói đến d1và d2 trễ nhỏ hơn 0.1s.

Luồng

Số lượng gói đến

Số lượng gói đến trễ nhỏ hơn 0.1s

s1-d1

20828

7

s1-d2

28490


10

s2-d1

32647

11

s2-d2

42559

13

21

CuuDuongThanCong.com

/>

0.12
0.1

delay

0.08
s1-d1

0.06


s1-d2
s2-d1

0.04

s2-d2
0.02
0
0

0.02

0.04

0.06

0.08

0.1

0.12

time

7. Số lượng gói trễ nhỏ hơn 0.1s
Nhận xét:
Ta thấy luồng từ s2 đến d2 có số gói trễ nhỏ hơn 0.1s nhiều nhất. Luồng từ s1 đến
d1 có số gói trễ nhỏ hơn 0.1s ít nhất.
2.5 Thơng lƣợng của từng luồng và tỉ lệ mất gói

Cách thực hiện:
Tại mỗi luồng sẽ tính tốn đối với 2 kích thước gói:
- Luồng 1: 1200 bytes,1000 bytes và 800 bytes.
- Luồng 2 và luồng 3: 900 bytes, 700 bytes và 500 bytes.
Thay đổi tốc độ phát gói tin tương ứng với các luông như sau:
- Luồng từ s1-d1 lần lượt là: 0.00111, 0.003, 0.005(s). Tức tốc độ phát sinh
gói lần lượt là : 900, 333,200(goi/s).
- Luồng từ s1-d2, s2-d1, s2-d2 lần lượt là: 0.001, 0.003, 0.005(s).Tức tốc
độ phát sinh gói lần lượt là : 1000, 333,200(goi/s).
Tính tốn tỉ lệ mất gói tin của từng luồng, dưạ vào số lượng gói phát đi từ
nguồn và số lượng gói nhận được tại đích của luồng đó.
Thơng lượng sẽ là lượng dữ liệu được truyền qua mạng từ nguồn đến đích
22

CuuDuongThanCong.com

/>

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 tốn
với nhau (cùng số lượng gói truyền đi).
Luồng 1: s1-d1, giữ nguyên các luồng khác.
Thay đổi kích thước gói gửi đi từ nguồn s1

Kích thước gói
(bytes)

sentPk
(gói)

rcvdPk

(gói)

tỷ lệ mất gói tin (%)

thơng lượng
(bit/s)

1200

270028

20829

92.28

666528

100

270028

23017

91.47

613787

800

270028


26450

90.2

564267

tỉ lệ mất gói từ s1-d1
tỉ lệ mất gói

92.5
92
91.5
91
90.5
90
0

200

400

600

800

1000

1200


1400

kích thước gói tin

23

CuuDuongThanCong.com

/>

thơng lượng

thơng lượng từ s1-d1
680000
660000
640000
620000
600000
580000
560000
540000
0

200

400

600

800


1000

1200

1400

kích thước gói tin

Thay đổi thời gian phát sinh gói gửi đi từ nguồn s1
Thời gian phát
sinh (s)

sentPk
(gói)

rcvdPk
(gói)

tỷ lệ mất gói tin
(%)

0.00111

270028

20829

92.28


0.003

99818

13501

86.47

432032

0.005

60221

9266

84.46

296320

thơng lượng (bit/s)
666528

tỉ lệ mât gói

tỉ lệ mất gói từ s1-d1
93
92
91
90

89
88
87
86
85
84
0

0.001

0.002

0.003

0.004

0.005

0.006

tốc độ phát gói

24

CuuDuongThanCong.com

/>

×