18
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Ố 6 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Ố 6 Nguyễn Hữu Hòa (TN) MSSV: 20101558 Lê Minh Thao MSSV: 20092399 Lương Văn Thành MSSV: 20096355 Lê Danh Thành MSSV: 20092415 1

Bao Cao Nhom 6 NS2

Embed Size (px)

DESCRIPTION

Bai tap lon thay tien

Citation preview

Page 1: Bao Cao Nhom 6 NS2

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Ố 6

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Ố 6

Nguyễn Hữu Hòa (TN) MSSV: 20101558

Lê Minh Thao MSSV: 20092399

Lương Văn Thành MSSV: 20096355

Lê Danh Thành MSSV: 20092415

1

Page 2: Bao Cao Nhom 6 NS2

MỤC LỤC1. Đề bài và yêu cầu …...................................................................................3

2. Phân tích yêu cầu ,lập kế hoạch,phân công công việc …...........................4

2.1. Phân tích yêu cầu ...........................................................................4

2.2. Đề xuất phương án giải quyết..........................................................4

2.3. Lập kế hoạch ...................................................................................4

2.4. Phân công nhiệm vụ ........................................................................53. Lý thuyết chung ..........................................................................................5

3.1. Các giao thức truyền dẫn..................................................................5

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

3.3. Công cụ AWK..................................................................................7

3.4. Công cụ XGRAPH ..........................................................................7

3.5. Khả thông tại node.......................................................................8

3.6. Trễ truyền thông ..............................................................................8

4. Kết quả mô phỏng và nhận xét...................................................................13

4.1. Một số hình ảnh mô phỏng..............................................................134.2. Nhận xét kết quả mô phỏng............................................................15

5. Kết Luận.....................................................................................................16

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

2

Page 3: Bao Cao Nhom 6 NS2

1.Đề bài và yêu cầuCho mạng thông tin có cấu hình như Hình 6. Các nút s1 và s2 tương ứng tạo ra các nguồn lưu lượng tcp1 và tcp2 gửi gói tin tương ứng đến các nút d1 và d2 dựa trên giao thức truyền TCP. Các gói được phát sinh gói tại các nguồn này một cách đều đặn với tốc độ tương ứng là 800 và 900 gói/s, chiều dài gói là 1200byte. Nút s2 còn có nguồn lưu lượng UDP phát ra các gói gửi tới nút d2 với chiều dài là 1024byte, số lượng gói tuân theo phân bố Poisson, tốc độ 500 gói/s. Các hàng đợi gắn với các liên kết sử dụng cơ chế SFQ.

1. Viết kịch bản và chạy mô phỏng hệ thống thông tin nói trên trong khoảng thời gian không ngắn

hơn 5 phút.

2. Thu thập và vẽ đồ thị các số liệu biểu diễn khả thông tại các giao diện của các nút.

3. Trong một phiên chạy mô phỏng, giả thiết cứ sau 20s tốc độ gói của mỗi luồng lại tăng lên

25%, hãy thu thập và vẽ đồ thị biểu diễn thay đổi của trễ gói tin trên mỗi luồng.

4. Thay đổi tốc độ gói của luồng UDP rồi làm lại các thao tác trong mục 2. Nhận xét kết quả thu được

3

Page 4: Bao Cao Nhom 6 NS2

2.Phân tích yêu cầu, lập kế hoạch và phân công công việc2.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ề các giao thức truyền thông TCP, UDP

- Các hàm, thủ tục có thể thay đổi giá trị 1 thông số nào đó trong mạng

- Tìm hiểu về công cụ xử lý số liệu AWK và XGRAPH vẽ đồ thị trên ns2

- Tìm hiểu về định tuyến

2.2. Đề xuất phương án giải quyết

- Phần 2 : Tính tổng lưu lượng truyền qua các node trong khoảng thời gian lấy

mẫu trung bình là 0.5s

- Phần 3 :

+ Để tăng tốc độ gói từng luồng : dùng 1 thủ tục và cứ sau 20 giây thì thủ

tục đó được gọi lại 1 lần với giá trị đầu vào là tốc độ gói của luồng đã được

thay đổi

+ Tính trễ : tạo ra các mảng lưu thời gian gửi, thời gian nhận của từng gói,

sau đó trừ đi nhau sẽ suy ra độ trễ của mỗi gói.

- Phần 4 :

Thay đổi tốc độ gói luồng UDP và làm tương tự câu 2 .

2.3. Lập kế hoạch- Bài tập lớn sẽ thực hiện trong vòng 8 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 và xây dựng kế hoạch thực hiện bài tập lớn.

- Tuần 2: Thực hiện mô phỏng 1 số hệ thống thông tin đơn giản trên ns2, tham

khảo trên trang http://www.isi.edu/nsnam/ns/tutorial/

4

Page 5: Bao Cao Nhom 6 NS2

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

- Tuần 4: Tìm cách gắn các luồng 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 được số liệu về khả thông, độ trễ truyền thông của mạng

vẽ đồ thị từ số liệu thu thập được.

- Tuần 7,8: Kiểm tra lại code, viết báo cáo, chuẩn bị bảo vệ

2.4. 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à

mô phỏng được các hệ thống đơn giản, tìm các tài liệu liên quan trên mạng,

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ỳ 1 tuần 2 lần vào cuối mỗi buổi học và sáng thứ 7

hàng tuần.

- Đức Hùng-Huy Hùng : Tìm hiểu về UDP(CBR) và TCP(CBR).Trễ truyền thông của gói trong luồng ,tìm hiểu NAM

- Khắc Huy-Ngọc Hùng : Tìm hiểu XGRAPH ,giao thức TCP,UDP trong mô hình OSI và các phương thức định tuyến trong NS2

- Quang Hoa-Việt Hoàng : Tìm hiểu trễ truyền thông và tỷ lệ mất gói tìm hiểu về công cụ AWK,XGRAPH

- Nguyễn Hữu Hòa : Chịu trách nhiệm quản lý chung ,tìm hiểu công cụ AWK ,XGRAPH

3. Lý thuyết chung

3.1 .Các giao thức truyền dẫnGiao thức TCP (Transmission Control Protocol) hay còn được gọi là giao thức

điều khiển truyền vận, là một trong các giao thức cốt lõi của bộ giao thức TCP/IP, cho

phép truyền dữ liệu một cách tin cậy và đúng thứ tự giữa hai máy tính bất kỳ dựa trên

phương pháp điều khiển luồng theo của số trượt trong đó phía phát được phép phát liên

tục nhiều gói. Các ứng dụng sử dụng TCP chuyển các dữ liệu qua mạng, TCP phân chia

dòng byte này thành các đoạn (các segment) và kiểm tra để đảm bảo không có gói tin nào

5

Page 6: Bao Cao Nhom 6 NS2

bị thất lạc bằng cách đánh số thứ tự cho mỗi gói để đảm bảo gói tin được truyền đúng

theo thứ tự, nếu gói tin bị mất thì nó sẽ được truyền lại cho đến khi phía thu nhận được.

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 những 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.

3.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.

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

6

Page 7: Bao Cao Nhom 6 NS2

- 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.3. Công cụ AWK

AWK là công cụ có sẵn trong UBUNTU dùng đễ xử lý dữ liệu dạng text (tracefile)

Mỗi dòng text trong file text được xử lý là 1 bản ghi,mỗi trường trong file là 1 cột.$1 $2 …. Tương ứng với cột 1 cột 2 ….

AWK có thể xử lý được cấu trúc If-Else ,các vòng lặp for() ,nhờ AWK chúng ta không phải sử dụng các thuật toán như trong C ,C++ để xử lý file dưới dạng text

Cấu trúc file.awk

BEGIN( [Khởi tạo các biến] ;)

{

Các câu lệnh....;

}

END{[câu lệnh]};

Sử dụng AWK để sử lý số liệu :

Awk -f file_lenh.awk file_nguon >file_dich

Vd . AWK –f delay_2.awk Tracefile >delay_2.dat

AWK sẽ xử lý file nguồn (Tracefile) rồi xuất ra file đích (delay_2.dat) trong thuật toán của file.awk có xử lý các trường trong file.dat và xuất ra file delay_2.dat file này sau được dùng để vẽ đồ thị với XGRAPH

7

Page 8: Bao Cao Nhom 6 NS2

3.4. Công cụ XGRAPH

XGRAPH là một công cụ được cung cấp bởi ns2 dùng đễ vẽ đồ thị ,tạo ra các ảnh

XGRAPH được gọi ngay trong kịch bản TCL nên sẽ được gọi sau khi qua trình mô phỏng kêt thúc

Đầu vào XGRAPH có thể có nhiều nguồn khác nhau ,chúng sẽ tự xử lý các nguồn này.XGPRAPH sẽ vẽ đồ thị dựa vào file đích (đã tạo ra khi gọi AWK) dựa trên 2 trường đã được gọi trong hàm awk (tương ứng với trục x và y)

`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

3.5. Khả thông tại node

Tính khả thông tại từng node của từng luồng trong khoảng thời gian lấy mấu là 0.5s bằng cách cộng dồn trưởng dung lượng ($6) trong Tracefile trong khoảng thời gian 0.5s rồi chia trung bình

3.6. Trễ truyền thông

Trễ truyền thông của 1 luồng được tính là khoảng thời gian 1 gói dữ liệu được tiếp nhận ở node nguồn cho tới khi node đích nhận được

Thời điểm gói dữ liệu nhận ở node nguồn là có sự kiện “+” tại node đó

Thời điểm node đích nhận được gói dữ liệu đó là sự kiện “r” ở node đích

Time Delay = time_event(r) – time_event(+)

4. Kết quả mô phỏng và nhận xét

8

Page 9: Bao Cao Nhom 6 NS2

4.1 Một số hình ảnh mô phỏng

H1.Đồ thị khả thông tại node 2 của các luồng

9

Page 10: Bao Cao Nhom 6 NS2

H2.Đồ

thị khả

thông tại

node d2

H3.Đồ

thị trễ

truyền

thông luồng

2 (TCP2)

10

Page 11: Bao Cao Nhom 6 NS2

H4.Đồ thị trễ truyền thông luồng 3 (UDP)

4.2 Nhận xét kết quả mô phỏng

Nhìn vào đồ thì khả thông của các luồng tại từng node ta thấy luồng 1 khả

thông tại các node khá ổn định còn luồng 2 có sự thay đổi mạnh khi tại thời

điểm 20s ta cho khởi động luồng UDP ,gần như luồng tcp2 (gửi từ node S1

tới node d2) khả thông tại các node rất thấp do bị luồng UDP gần như

chiếm hết bang thông trên đường truyền

Dựa vào đồ thị trễ truyền thông ta có nhận xét tuy tốc độ gói của luồng

TCP1 và TCP2 có tăng lên sau định thì 20s (tang 25%) nhưng gần như trên

đồ thi ta không thấy có sự thay đổi nhiều của trễ truyền thông của các luồng

này ??(có thế do giới hạn băng thông đường truyền nên mắc dù tang có thể

nó vượt qua băng thông đường truyền nên gần như k có sự thay đổi của

trễ ??)

Đồ thị trễ truyền thông của luồng TCP2 tăng vọt sau khi luồng UDP start

tại thời điểm 20s , trễ truyền thông của luồng UDP (tốc độ gói tuân theo

phân bố Possoin) khá cao

Trong Phần 4 ,ta thấy khi ta tăng tốc độ gói của luồng UDP lên 600(trước là

500) ta thấy khả thông của luồng UDP tại các node 3 ,và node 5 nhỏ hơn so

với trước khi tăng (nguyên nhân có thể do khi tăng tốc độ gói của

luồng ,làm cho các gói tới hàng đợi nhanh và nhiều gây nên hiện tượng rơi

gói ,mất gói làm cho khả dung lượng qua node 3 ,5 có thể giảm)

5. Kết Luận

Kết luận

11

Page 12: Bao Cao Nhom 6 NS2

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

điện tử viễn thông. Nó cung cấp những kiến thức cơ bản cho các sinh viên về mạng thông

tin, các giao thức truyền, gửi gói tin… Thông qua bài tập dài, chúng em đã được làm

quen với một công cụ hỗ trợ mô phỏng mạng rất hữu hiệu là NS2, được làm quen với hệ

điều hành mã nguồn mở đang ngày một trở nên phổ biến là Linux.

Mặc dù đã rất cố gắng nhưng chắc chắn bài làm của chúng em vẫn còn rất nhiều

thiếu sót. Nhóm chúng em mong Thầy cho chúng em ý kiến đánh giá để phần bài làm của

chúng em trở nên hoàn thiện hơn .

Lời cuối ,Chúng em 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 trong cuộc sống.

12

Page 13: Bao Cao Nhom 6 NS2

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/

13