12
1 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TVIN THÔNG ` BÁO CÁO BÀI TP LN MÔN CƠ SỞ TRUYN SLIU ĐỀ BÀI S6 GING VIÊN HƢỚNG DN: TS PHẠM VĂN TIẾN NHÓM SINH VIÊN THC HIN: NHÓM S6 Nguyn Hu Hòa (TN) MSSV: 20101558 Lê Minh Thao MSSV: 20092399 Lương Văn Thành MSSV: 20096355 Lê Danh Thành MSSV: 20092415

184764955-Bao-Cao-Nhom-6-NS2

  • Upload
    ky-idol

  • View
    10

  • Download
    0

Embed Size (px)

DESCRIPTION

184764955-Bao-Cao-Nhom-6-NS2

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

2

MỤC LỤC

1. Đề 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ụ ........................................................................5

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

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

3

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

Cho 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

4

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

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

5

- 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ẫn

Giao 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

6

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.

7

- 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

8

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

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

9

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

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

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

H2.Đồ thị khả thông tại node d2

H3.Đồ thị trễ truyền thông luồng 2

(TCP2)

10

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

4

.

2

N

h

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ễ

??)

11

Đồ 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

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

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/