22
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

155752604-117741890-Bao-Cao-Nhom-8-Final

Embed Size (px)

DESCRIPTION

Bao-Cao-Nhom-8-Final

Citation preview

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

2. Thực hiện yêu cầu……………………………………………………………….. 4

III. Lập kế hoạch và phân công công việc……………………………………………. 5

1. Lập kế hoạch…………………………………………………………………….. 5

2. Phân công công việc ……………………………………………………………. 5

IV. Quá trình thực hiện…………………………………………………………………6

1. Giao thức truyền dẫn UDP………………………………………………………...6

2. Các phƣơng thức định tuyến………………………………………………………6

3. Theo dõi sự kiện trên hệ thống và công cụ Xgraph………………………………7

4. Thực hiện các yêu cầu…………………………………………………………….9

a. Tỷ lệ chiếm dụng bộ đệm……………………………………………………...9

b. Phân bố Poisson……………………………………………………………...10

c. Giảm gói tin………………………………………………………………….10

d. Băng thông của từng luồng…………………………………………………..12

e. Trễ mỗi luồng………………………………………………………………...12

5. Thực hiện mô phỏng……………………………………………………………..13

a. Kịch bản mô phỏng…………………………………………………………13

b. Kết quả mô phỏng…………………………………………………………..14

Kết luận………………………………………………………………………………..21

Tài liệu tham khảo…………………………………………………………………….22

3

I. Đề bài và yêu cầu

Cho mạng thông tin với cấu hình nhƣ Hình 1 dƣới đây. Nút s1 phát ra luồng gói gửi

tới đầu cuối d1, trong khi nút s2 tạo ra hai luồng gói gửi tới nút d1 và tới nút d2. Cả 3

luồng thông tin nói trên đều sử dụng giao thức truyền UDP. Kích thƣớc gói do s1 và s2

phát ra tƣơng ứng là 1300 byte và 1000 byte; số lƣợng gói phát ra trên mỗi luồng tuân

theo phân bố Poisson, tốc độ lần lƣợt là 1000 gói/s, 1500 gói/s và 2000 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 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:

𝑞𝑢𝑒𝑢𝑒𝐿𝑒𝑛𝑔𝑡ℎ

50𝑥 100%

Với queueLength là chiều dài hàng đợi tức thời.

Chiều dài hàng đợi tức thời bằng số gói đến trừ số gói đi và số gói bị rớt

b. Giảm tốc độ gói và hiệu suất sử dụng băng thông

- Để giảm tốc độ gói : dùng 1 thủ tục và cứ sau 30s thì thủ tục đó đƣợc gọi lại 1

lần.

- Tính hiệu suất sử dụng băng thông : Tính băng thông của từng luồng bằng cách

sử dụng Agent LossMonitor lƣu lại những gói đã truyền, sau khi tính đƣợc

băng thông trong 1 chu kỳ thì làm sạch Agent và thực hiện lại ở chu kỳ tiếp

theo.

c. Tính độ trễ truyền thông của các luồng

Xây dựng hàm để trích xuất dữ liệu trong trace-file .tr. Độ trễ đƣợc tính bằng

thời điểm nhận đƣợc gói tin trừ đi thời điểm phát gói tin.

5

III. Lập kế hoạch và phân công công việc

1. Lập kế hoạch

Bài tập lớn thực hiện trong vòng 7 tuần (bắt đầu từ tuần 5 và kết thúc vào tuần 12)

- Tuần 1: Cài đặt ubuntu và ns2, tìm hiểu các thao tác làm việc đơn giản trên

ubuntu, bầu trƣởng nhóm, tìm hiểu yêu cầu và xây dựng kế hoạch thực hiện bài

tập lớn.

- Tuần 2: Tìm hiểu giao thức UDP, phát gói tin theo phân bố Poisson. Thực hiện

mô phỏng 1 số hệ thống thông tin đơn giản trên ns2

- Tuần 3: Code mô hình mạng thông tin của bài số 1

- Tuần 4: Tìm cách gắn các nguồn dữ liệu vào các node và truyền nhƣ yêu cầu

đề bài

- Tuần 5, 6: Thu thập và tính toán số liệu về hiệu suất sử dụng hàng đời, băng

thông, độ trễ truyền thông của mạng và vẽ đồ thị từ số liệu thu thập đƣợc.

- Tuần 7: Hoàn thiện và kiểm tra lại code, viết báo cáo và chuẩn bị bảo vệ.

2. Phân công công việc

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

Phạm Hồng Sơn

Xây dựng tiến trình Poisson, vẽ

đồ thị biểu diễn độ trễ truyền

thông của các luồng.

Hoàn thành

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

1. Giao thức truyền dẫn UDP

Giao thức UDP (User Datagram Protocol) hay còn gọi là giao thức gói ngƣời dùng

là một trong hai giao thức cốt lõi của giao thức TCP/IP, cho phép ngƣời dùng có thể

gửi những dữ liệu ngắn đƣợc gọi là datagram từ máy tính này đến máy tính khác.

UDP không đảm bảo sự tin cậy và thứ tự truyền nhận, các gói dữ liệu có thể đến

không đúng thứ tự hoặc bị mất mà không có thông báo. Tuy nhiên, UDP nhanh và

hiệu quả hơn đối với những mục tiêu nhƣ kích thƣớc nhỏ và yêu cầu khắt khe về thời

gian, giao thức này hữu dụng đối với việc trả lời các truy vấn với số lƣợng lớn ngƣời

yêu cầu.

Những ứng dụng phổ biến sử dụng UDP nhƣ DNS (Domain Name System), ứng

dụng streaming media, Voice over IP, Trivial File Transfer Protocol (TFTP), và game

trực tuyến.

2. Các phương thức định tuyến

NS2 thực thi ba chính sách định tuyến: static routing (định tuyến tĩnh), session

routing (định tuyến phiên), DV routing (định tuyến véc tơ khoảng cách) và Link-state

(trạng thái liên kết).

Dùng phƣơng thức rtproto trong lớp Simulator để xác định chính sách định tuyến

đƣợc dùng.

o $ns rtproto <type>

o type: Static, Session, DV, cost, multicast-path, LS.

7

- Link-state : sử dụng thuật toán SPF (shortest path first) cập nhật các thông tin

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ông tin mong muốn trong quá trình hệ thống mạng đƣợc mô phỏng bằng cách phân

tích file “trace-all”.

File trace đƣợc tổ chức trong 12 trƣờng nhƣ trong hình dƣới

- Trƣờng đầu tiên mô tả loại sự kiện, đƣợc cho bởi một trong 4 kí tự r, +, -, d

tƣơng ứng với các trƣờng hợp đã nhận (ở đầu ra của link), đã xếp vào trong

hàng đợi (enqueued), rời khỏi hàng đợi (dequeued), đã bị hủy (dropped)

- Trƣờng thứ hai biểu diễn thời gian sự kiện xuất hiện.

- Thông báo node input của link nơi sự kiện xảy ra.

- Thông báo node ouput của link nơi sự kiện xảy ra.

- Loại gói tin ( ví dụ TCP, CBR, tên loại tƣơng ứng với tên của application mà

chúng ta đã đặt, ví dụ trong phần trƣớc thì application TCP đƣợc gọi là “tcp”).

- Kích cỡ gói tin.

- Một vài loại cờ. Chúng ta sẽ xét ở phần sau.

- Flow id (fid) của Ipv6 mà ngƣời dùng thiết lập cho mỗi luồng (flow) tại đầu

vào OTcl cript. Ta có thể dùng trƣờng này để phân tích kết quả, cũng nhƣ để

thiết lập màu sắc cho các luồng trong mô phỏng NAM.

- Địa chỉ của nguồn, nơi phát gói tin, đƣợc cho dƣới dạng “node.port”.

- Địa chỉ của nguồn đích, nơi nhận gói tin, đƣợc cho với cùng dạng nhƣ trên.

- Số chuỗi các gói tin của một lớp giao thức mạng. Mặc dù thành phần UDP

trong mạng thực tế không có số các chuỗi nhƣng ns vẫn giữ lại các vết (track)

để phân tích kết quả.

9

- Trƣờng cuối cùng ghi chỉ số id của gói tin (unique id of packet).

c. Xgraph

Xgrap là một công cụ vẽ đồ thị đƣợc cung cấp bởi ns. Xgraph cho phép chúng

ta tạo ra các file postcript , ảnh , và 1 số định dạng khác bằng cách ấn vào

“Hdcpy”. câu lệnh gọi Xgraph có thể đƣợc khai báo trong kịch bản TCL do đó 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:

𝑞𝑢𝑒𝑢𝑒𝐿𝑒𝑛𝑔𝑡ℎ

50𝑥 100%

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]

$qfile instvar parrivals_ pdepartures_ pdrops_

# ty le chiem dung bo dem: queueLength/50 *100% =

queueLength*2 %

puts $qsize "$now [expr 2.0*[expr $parrivals_-$pdepartures_-

$pdrops_]]"

set bdepartures_ 0

$ns at [expr $now + $time] "QueueLength"

}

Sau khi có file queuesize.tr ta vẽ đƣợc đồ thị tỷ lệ theo câu lệnh:

exec xgraph queuesize.tr -geometry 800x400 -t "Queue occupancy rate" -

x "secs" -y "percentage(%)" &

Hàng đợi của liên kết giữa các node khác đƣợc tính tƣơng tự.

b. Phân bố Poisson

Ta xây dựng tiến trình Poisson qua một đối tƣợng ExponentialOn/Off với các

thành phần tham số:

. packetsize_ dung lượng cố định của gói dữ liệu

. burst_ time_ thời gian “bật” khởi tạo

. idle_ time_ thời gian “tắt” khởi tạo

. rate_ tốc độ của gói

Để tạo ra tiến trình Poisson ta cho tham số burst_time_ về 0 và idle_time bằng

1

𝜆 của tiến trình Poisson.

c. Giảm gói tin

- Nguồn s1 phát các gói tin với tốc độ là 1.3 MBps

- Nguồn s2 phát ra 2 luồng với các gói tin tốc độ là 1.5MBps và 2MBps

- Cứ sau 30s nguồn s1 và s2 giảm tốc độ gói là 50 gói/s nên ta có lƣợng giảm

sau 30s là

11

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:

1

𝑖𝑑𝑙𝑒_𝑡𝑖𝑚𝑒_ = λ , vậy sau khi giảm λ thì

idle_time_ = 1

𝜆−50

- 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]]

$traffic2 set idle_time_ [expr 1.0/[expr 1.0/$idle2 - 50]]

$traffic3 set idle_time_ [expr 1.0/[expr 1.0/$idle3 - 50]]

$traffic1 set rate_ [expr $rate1 - 65000]

$traffic2 set rate_ [expr $rate2 - 50000]

$traffic3 set rate_ [expr $rate3 - 50000]

# luu cac gia tri rate va idle_time vao file

puts $TrafficFile1 "$now [$traffic1 set rate_] [$traffic1 set idle_time_]"

puts $TrafficFile2 "$now [$traffic2 set rate_] [$traffic2 set idle_time_]"

puts $TrafficFile3 "$now [$traffic3 set rate_] [$traffic3 set idle_time_]"

12

$ns at [expr $now + $time30] "PackageDecrease"

}

d. Tính băng thông của từng luồng

Sử dụng Agent LossMonitor lƣu lại những gói đã truyền, sau khi tính đƣợc

băng thông trong 1 chu kỳ thì làm sạch Agent và thực hiện lại ở chu kỳ tiếp theo.

Code

proc BandWidth {} {

global ns sink1 sink2 sink3 BwFile1 BwFile2 BwFile3

set time 3

set bw1 [$sink1 set bytes_]

set bw2 [$sink2 set bytes_]

set bw3 [$sink3 set bytes_]

set now [$ns now]

puts $BwFile1 "$now [expr $bw1/$time*8/1000]"

puts $BwFile2 "$now [expr $bw2/$time*8/1000]"

puts $BwFile3 "$now [expr $bw3/$time*8/1000]"

$sink1 set bytes_ 0

$sink2 set bytes_ 0

$sink3 set bytes_ 0

$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"))

{

Timereceive[packet_id]=time;

Delay[packet_id] = Timereceive[packet_id]-

TimeSend[packet_id];

print packet_id" "Delay[packet_id];

}

}

END {}

- Để xuất dữ liệu ra file phục vụ việc vẽ đồ thị ta dùng câu lệnh sau

exec awk –f <AWKFileName> <TraceFileName> > <DataFile>

V. Thực hiện mô phỏng

1. Kịch bản mô phỏng

Thời điểm(s) Mục đích

0.0 Bắt đầu thực hiện:

- Tính băng thông

- Tính tỷ lệ chiếm dụng hàng đợi

- Luồng 1,2,3 truyền dữ liệu

30.0 Bắt đầu giảm tốc độ gói 50 gói/s sau chu kỳ 30s

14

300.0 Luồng 1,2,3 kết thúc truyền dữ liệu

301.0 Đóng các file trace và data

Vẽ đồ thị tỷ lệ chiếm dụng bộ đệm, hiệu suất sử dụng băng

thông và trễ đƣờng truyền

Kết thúc mô phỏng

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

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

c. Hiệu suất sử dụng băng thông

Đƣờng màu đỏ, xanh dƣơng và xanh lá cây tƣơng ứng với các luồng 1,

luồng 2 và luồng 3.

19

d. Trễ đƣờng truyền

Trễ trên luồng 1

Trễ trên luồng 2

20

Trễ trên luồng 3.

21

KẾT LUẬN

Môn cơ sở truyền số liệu là một môn học chuyên ngành quan trọng và hữu

ích. Nó cung cấp những kiến thức cơ bản nhất cho sinh viên có định hƣớng theo

chuyên ngành Điện tử viễn thông. Theo quan điểm học phải đi đôi với hành, em

thấy việc nhà trƣờng và các Thầy cô tạo điều kiện để chúng em có cơ hội đƣợc làm

bài tập lớn là một việc rất có ý nghĩa. Đề bài chúng em đƣợc giao cũng rất phù hợp

với trình độ hiện tại của chúng em. Sau khi hoàn thành bài tập này chúng em đã

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 http://www.isi.edu/nsnam/ns/tutorial/