Bài Tập Lớn Truyền Số Liệu - Pdf 13

1

TRƯỜNG ĐẠ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
MÔN CƠ SỞ TRUYỀN SỐ LIỆU
ĐỀ BÀI SỐ 1

GIẢNG VIÊN HƢỚNG DẪN: TS. PHẠM VĂN TIẾN
NHÓM SINH VIÊN THỰC HIỆN: NHÓM SỐ 8

Nguyễn Hữu Quang ĐT12 - K54 20092085
Đặng Văn Quân ĐT2 - K54 20092109
Trần Ngọc Quân ĐT3 - K54 20092150
Bùi Xuân Quyết ĐT9 - K54 20092165
Phạm Hồng Sơn ĐT10 - K54 20092268
Đào Đức Tân ĐT7 - K54 20092325
HÀ NỘI 11/2012
2

MỤC LỤC
I. Đề bài và yêu cầu ………………………………………………………………… 3
II. Phân tích yêu cầu………………………………………………………………… 4
1. Phân tích yêu cầu……………………………………………………………… 4
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 dài
hơn 5 phút.
2. Thu thập số liệu mô phỏng và vẽ đồ thị tỷ lệ chiếm dùng các bộ đệm ở tất cả các
bộ định tuyến.
3. Trong một phiên chạy mô phỏng, tốc độ phát sinh gói của mỗi luồng giảm đi 50
gói/s sau mỗi khoảng thời gian 30s, thống kê và vẽ đồ thị hiệu suất sử dụng băng
thông của các liên kết trong mỗi khoảng thời gian đó.
4. Thay đổi tham số chiều dài gói và tốc độ phát sinh gói, vẽ đồ thị biểu diễn độ trễ
truyền thông của các luồng. Nhận xét kết quả thu đƣợc.

4

II. Phân tích yêu cầu
1. Phân tích yêu cầu
Yêu cầu chung : cài đặt ubuntu , cài đặt ns2 , tìm hiểu các thao tác cơ bản trên hệ
điều hành mã nguồn mở, các mô phỏng cơ bản của ns2 .
Yêu cầu đề bài :
- Tạo đƣợc mô hình mạng thông tin trên ns2
- Tìm hiểu về định tuyến
- Thiết lập đƣợc số lƣợng gói phát sinh theo phân bố Poisson
- Tìm hiểu về các giao thức truyền thông UDP
- Các hàm, thủ tục để thay đổi số lƣợng gói phát sinh
- Tìm hiểu về công cụ xử lý số liệu và vẽ đồ thị trên ns2
2. Thực hiện yêu cầu
a. Tỷ lệ chiếm dụng các bộ đệm đƣợc tính nhƣ sau:




Công việc chung: tất cả các thành viên trong nhóm đều phải cài đặt ubuntu và
ns2, mô phỏng đƣợc các hệ thống mạng đơn giản; tìm hiểu giao thức truyền UDP,
báo cáo công việc mình làm đƣợc hàng tuần đối với các bạn còn lại trong nhóm,
họp nhóm định kỳ 2lần/tuần vào cuối mỗi buổi học và chiều thứ 7.
Công việc từng thành viên
STT
Họ và Tên
Công việc
Trạng thái
1
Nguyễn Hữu Quang
Đào Đức Tân
Tìm hiểu công cụ xgraph và
AWK. Tính toán tỉ lệ chiếm dụng
bộ đệm và vẽ đồ thị.
Hoàn thành
2
Đặng Văn Quân
Bùi Xuân Quyết
Giảm tốc độ phát sinh gói của
mỗi luồng đi 50 gói/s sau mỗi
khoảng thời gian 30s, thống kê và
vẽ đồ thị hiệu suất sử dụng băng
Hoàn thành
6

thông của các liên kết trong mỗi
khoảng thời gian đó.
3
Trần Ngọc Quân

về cơ chế định tuyến cho các node trên hệ thống mạng. Mỗi node sẽ gửi bảng
mô tả trạng thái của các liên kết riêng của mình lên mạng. Chỉ các thay đổi mới
đƣợc gửi đi. Ƣu điểm là tốc độ cao, không chiếm dụng băng thông nhiều nhƣ
thuật toán DV tuy nhiên thực hiện phức tạp. Đối với mô hình lớn thuật toán
này có thể làm tăng độ trễ truyền gói tin.
- Distance vector : (còn gọi là thuật toán Bellman-Ford) gửi bảng định tuyến tới
các node lân cận theo một chu kỳ nhất định. Ƣu điểm là dễ thực hiện, dễ kiểm
tra. Tuy nhiên thời gian cập nhật lâu, chiếm dụng băng thông lớn trên mạng.
- Static routing : Phƣơng thức tính toán định tuyến Static là phƣơng thức tính
toán đƣờng truyền mặc định trong NS-2. Phƣơng thức này sử dụng thuật toán
SPF. Thuật toán tính đƣờng truyền chạy chính xác một lần tại lúc khởi động
mô phỏng. Khi cấu trúc mạng thay đổi phải cập nhật lại, do đó chỉ thích hợp
trong hệ thống đơn giản, có kết nối đơn và đƣờng truyền dữ liệu đã đƣợc xác
định trƣớc.
- Session: Sử dụng thuật toán SPF để tính toán tối ƣu đƣờng truyền, bảng định
tuyến sẽ đƣợc cập nhật ngay lập tức khi topo mạng có sự thay đổi.
3. Theo dõi sự kiện trên hệ thống và công cụ Xgraph
a. Các lệnh cơ bản dùng để theo dõi các sự kiện trên hệ thống
- Cân bằng cấp phát bộ đệm cho tất cả các file theo dõi: $ns flush-trace
- Tạo một đối tƣợng theo dõi:
Cấu trúc: create-trace {type filename scr dst}
Ví dụ : $ns create-trace Drop $tf $n0 $n2
- Theo dõi tất cả các sự kiện trên hệ thống:
$ns trace-all $trace_file
b. Cấu trúc file trace
8

Mỗi một lệnh theo dõi trong các lệnh trên sẽ có các cấu trúc đầu ra khác nhau. Ở
đây chúng ta chỉ xét đến cấu trúc file đầu ra của lệnh “trace-all”. Với các công cụ
phân tích file dữ liệu có sẵn nhƣ awk, grep, perl,…. Chúng ta có thể có đƣợc tất cả các

thể xuất ra ngay đồ thị khi kết thúc mô phỏng .
Đầu vào của Xgraph là 1 hoặc nhiều file chứa mỗi cặp giá trị x-y trên 1 dòng
(mỗi dòng sẽ chứa tọa độ của 1 điểm trên đồ thị ) . Ví dụ lệnh : Xgraph f1 f2 sẽ
vẽ ra trên cùng 1 đồ thị của file f1,f2
Một số lựa chọn khi sử dụng Xgraph :
- Title : -t “ten_do_thi”
- Kích thƣớc : -geometry xsize x ysize
- Tiêu đề cho các trục : -x “xtitle” –y “ytitle”
- Màu của chữ và lƣới –v
- Màu nền –bg
4. Thực hiện các yêu cầu
a. Tỷ lệ chiếm dụng bộ đệm
Tỷ lệ chiếm dụng các bộ đệm đƣợc tính nhƣ sau:



Với queueLength là chiều dài hàng đợi tức thời, đƣợc tính bằng số gói đến trừ
số gói đi và số gói bị rớt.
Code:
Với hàng đợi của liên kết giữa node 3 và node 4, tỷ lệ chiếm dụng hàng đợi
đƣợc lƣu trong file queuesize.tr
set qfile [$ns monitor-queue $node_3 $node_4 [open queue.tr w] 0.5]
[$ns link $node_3 $node_4] queue-sample-timeout;
proc QueueLength {} {
global ns qsize qfile node_3 node_4
10

# thoi gian lay mau la 0.5s
set time 0.5
set now [$ns now]


s1: 50 * 1300 = 65000 bytes
s2: 50 * 1000 = 50000 bytes (2 luồng)
- Khi thay đổi số gói (λ) sẽ dẫn đến idle_time_ và rate_ thay đổi. Cách tính
idle_time_ nhƣ sau:


= λ , vậy sau khi giảm λ thì
idle_time_ =



- Rate đƣợc tính nhƣ sau:
s1: rate_ = rate_ – 65000 (bytes)
s2: rate_ = rate_ – 50000 (bytes)
Sau khi tính đƣợc rate_ và idle_time của 3 luồng ta lƣu trong các file
trafficfile1.tr trafficfile2.tr trafficfile3.tr
Code:
set time30 30
proc PackageDecrease {} {
global ns traffic1 traffic2 traffic3 time30 TrafficFile1 TrafficFile2
TrafficFile3
set now [$ns now]
set idle1 [$traffic1 set idle_time_]
set idle2 [$traffic2 set idle_time_]
set idle3 [$traffic3 set idle_time_]
set rate1 [$traffic1 set rate_]
set rate2 [$traffic2 set rate_]
set rate3 [$traffic3 set rate_]
$traffic1 set idle_time_ [expr 1.0/[expr 1.0/$idle1 - 50]]

$ns at [expr $now+$time] "BandWidth"
}
e. Tính trễ của mỗi luồng
- Dựa vào định dạng của file trace ta thu thập đƣợc số liệu để tính trễ xảy ra
trên đƣờng truyền.
- Trễ của các gói tin đƣợc tính nhƣ sau: thời điểm gói tin đến node đích trừ đi
thời điểm gói tin ở node gửi.
- Việc này đƣợc thực hiện bằng hàm viết trong file .awk. Hàm đƣợc viết nhƣ
sau(với luồng 1 từ node 0 tới node 8)
BEGIN {TimeSend[50000];TimeReceive[50000];Delay[50000]}
{
# doc gia tri trace-file theo cot
action = $1;
time = $2;
from = $3;
13

to = $4;
type = $5;
pktsize = $6;
flow_id = $8;
src = $9;
dst = $10;
seq_no = $11;
packet_id = $12;

if((action=="+")&&(from == "0"))
TimeSend[packet_id] = time;
if((action=="r")&&(to == "8"))
{


2 Kết quả mô phỏng
a. Mạng các liên kết

b. Tỷ lệ chiếm dụng bộ đệm của các liên kết
15 Liên kết giữa node 1 và node 3 Liên kết giữa node 2 và node 3

16 Liên kết giữa node 1 và node 4 Liên kết giữa node 2 và node 6

17 Liên kết giữa node 3 và node 4 Liên kết giữa node 4 và node 5

18

học hỏi và tích lũy đƣợc rất nhiều kiến thức. Trƣớc tiên phải kể đến đó là kiến thức
về mạng thông tin, các giao thức truyền và gửi gói tin, Thứ hai phải kể đến đó là
biết cách sử dụng phần mềm mã nguồn mở và công cụ hỗ trợ thiết kế mạng rất hữu
hiệu đó là NS2.
Mặc dù đã cố gắng hết sức nhƣng chắc chắn bài làm của chúng em còn
nhiều thiếu sót, mong Thầy góp ý cho chúng em những nhận xét quý báu để bài tập
lớn này đƣợc hoàn thiện hơn.
Lời cuối, nhóm chúng em xin kính chúc Thầy sức khỏe, công tác tốt, và gặt
hái đƣợc nhiều thành công hơn nữa trong đào tạo cũng nhƣ nghiên cứu!
Nhóm chúng em xin chân thành cảm ơn! 22

Tài liệu tham khảo
1. Slide bài giảng Cơ sở mạng thông tin của Thầy Phạm Văn Tiến
2. Tài liệu tham khảo NS2 (Ns2_manual, Introduction to Network Simulator NS2 –
Teerawat Issariyakul)
3. Tài liệu hƣớng dẫn NS2


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