Xây dựng mô hình thực nghiệm

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu mô phỏng đánh giá chất lượng dịch vụ trên mạng MPLS (Trang 83 - 90)

4.2 Xây dựng mô hình thực nghiệm mô phỏng Công nghệ định luồng trên

4.2.2. Xây dựng mô hình thực nghiệm

Lựa chọn Công cụ thực nghiệm

Như đã trình bày ở trên, để tiến hành thực nghiệm, tác giả cần phải thiết lập :

- 02 mạng truyền tải trong đó có một mạng có các định tuyến có tính năng MPLS.

- 01 máy chủ có định luồng để làm phát các luồng đa phương tiện.

- 01 máy trạm để thu các dữ liệu định luồng và chơi lại các dữ liệu này.

Các yêu cầu trên rất khó có thể thực hiện cả trên khía cạnh tài chính và kỷ thuật, trong điều kiện thực tế của tác giả. Do đó, tác giả lựa chọn phương pháp sử dụng các phần

83

mềm mô phỏng (Simulator) để tiến hành thực nghiệm. Dưới đây tác giả xinh trình bày về phần mềm mô phỏng Network Simulator 2 mà tác giả sử dụng để thực hiện đo đạc.

a. Hệ thống mô phỏng NS

NS là hệ mô phỏng máy tính được xây dựng và phát triển bởi dự án VINT của phòng thí nghiệm quốc gia Lawrence Berkeley National Laboratory. NS là một hệ mô phỏng có cấu trúc hướng đối tượng. Nó được xây dựng trên hai ngôn ngữ C++

và Otcl và có thể được mở rộng bởi người sử dụng (người sử dụng có thể lập trình được trên nền của hệ mô phỏng NS) – hiện nay thì NS vẫn được tiếp tục nghiên cứu và phát triển. Với cách tiếp cận này thì ta có thể coi mỗi một mô phỏng như một chương trình hơn là các mô hình cứng nhắc, tĩnh, không thể thay đổi. Một mô phỏng gồm các đối tượng có thể cấu hình tuỳ ý để có thể đạt được mục đích mô phỏng đề ra.

Do vậy những người thiết kế NS đã không chọn một ngôn ngữ duy nhất để xây dựng môi trường mô phỏng, bởi có những đòi hỏi khác nhau về mục đích của việc mô phỏng. Khi cần mô phỏng những tầng thấp của mạng máy tính, xử lý ở mức độ byte hay tiêu đề (header) các gói tin thì cần đòi hỏi một hiệu quả tính toán cao, do đó nhân của hệ mô phỏng được viết bằng C++. Còn phần định nghĩa, cấu hình và điều khiển mô phỏng được viết bằng ngôn ngữ Script Tcl. Cách tiếp cận này mang lại hiệu quả rất cao vì nó chia mục đích của việc mô phỏng thành những phần nhỏ và giải quyết chúng bằng những ngôn ngữ phù hợp. Nó cung cấp cho người lập trình khả năng sử dụng dễ dàng hơn, mềm dẻo và linh hoạt hơn.

Vì C++ là ngôn ngữ hướng đối tượng mà Tcl thì không, nên người ta phải xây dựng những đối tượng macro bậc cao cho phù hợp với các lớp của C++

. Sau này để đạt được hệ thống mềm dẻo và mạnh hơn, trong phiên bản thứ hai, NS đã thay Tcl bằng Otcl (một Tcl hướng đối tượng). Và để có sự gắn kết giữa hai ngôn ngữ đó, người ta cần có một ngôn ngữ làm cầu nối là TclCl (ngôn ngữ mở rộng của Tcl). Với sự thay đổi đó thì các đối tượng macro đã được thay bằng các lớp Otcl và trở nên dễ sử dụng hơn nhiều. NS được nhiều cá nhân và tổ chức ở nhiều nơi trên thế giới sử dụng để phục vụ cho việc học tập và nghiên cứu mạng máy tính. NS hỗ trợ các khía cạnh khác nhau trong mạng máy tính. Từ các lớp mô phỏng cơ sở như các Node, các liên kết tạo thành Topology của mạng, các gói tin (hay gói dữ liệu là một), việc chuyển tiếp các gói tin, độ trễ truyền dẫn rồi đến lớp dùng để phân kênh các gói tin nhằm mục đích hướng các gói tin đến các trạm xác định, các Agent xác định. Rồi đến việc quản lý các hàng đợi tại các trạm trung chuyển, lập lịch trình cho các gói tin, các thuật toán tránh tắc nghẽn, nâng cao hiệu suất truyền tin. Trong NS người dùng có thể mô phỏng các mạng LAN, mạng không giây, thông tin vệ tinh,... rồi các ứng dụng như Ftp, Http, Webcache, Telnet, ...dựa trên các Agent của tầng vận chuyển, trên các mô phỏng về kỹ thuật chọn đường, các giao thức tầng vận chuyển...

84

Chi tiết về Hệ thống mô phỏng NS, tham khảo tài liệu [1, 4, 8].

b. Trực quan với NAM

NAM (Network Animator) là công cụ trực quan dựa trên Tcl/TK cho phép hiển thị trực tiếp và quan sát mô hình mô phỏng và quan sát các gói tin truyền qua trên mạng, quan sát trạng thái và các thông tin liên quan trong suốt thời gian thực hiện mô phỏng.

NAM được bắt đầu tại LBNL (Lawrence Berkeley National Laboratory), và đã được phát triển nhiều năm lại đây. Đến nay NAM đang được phát triển bởi ISI Mỹ (Information Sciences Institute).

NAM được thiết kế để cho phép trực quan với việc phân tích một khối lượng dữ liệu lớn được tạo bởi định vị các thông tin do NS thực hiện mô phỏng tạo ra. Với công cụ này, người thực hiện mô phỏng dễ dàng phân tích luồng luân chuyển dữ liệu qua lại cũng như các thông số được ghi lại bởi NS thay vì phải đọc và phân tích một khối lượng lớn các số liệu trong file dữ liệu định vị của NS. NAM có thể đọc và phân tích hầu hết các thông tin trong file định vị này như: các node, các kết nối, các thông tin quan sát như số tuần tự, độ rộng cửa sổ, kích thước gói tin, ... và cũng như định vị trạng thái gói tin khi truyền trong mô phỏng.

Phiên bản NAM sử dụng để phân tích trong luận văn này là phiên bản 1.13 với phiên bản chạy trên Linux để dễ dàng quan sát và phân tích số liệu. NAM cũng là phần mềm miễn phí phục vụ công tác nghiên cứu. NAM được kết hợp với NS và thường được phân phối trong một gói cài đặt chung. Có thể tìm thấy tại địa chỉ

http://www.isi.edu/nsnam/[8].

Lựa chọn các dữ liệu định luồng thực nghiệm

Như đã trình bày tại phần 4.2.1, tác giả lựa chọn các mẫu video là các bộ phim với các thể loại khác nhau có độ dài đồng nhất để tiến hành thực nghiệm. Các bộ phim đó sẽ được mã hóa theo tiêu chuẩn H.263 và với tốc độ bit 256kbps.

Để tiến hành thực nghiệm về các chức năng liên quan đến mạng truyền tải như nội dung của đề tài, các thông tin cần thiết sau khi mã hóa để tiến hành thực là thời gian phát khung hình, kiểu khung hình (I, P, B hay PB) và kích thước của khung hình, còn bản thân nội dung của từng khung lại không quan trọng. Như vậy, sản phẩm của quá trình mã hóa là một file dữ liệu có khuôn dạng như sau :

Số TT Thời gian phát (ms) Kiểu khung hình Kích thƣớc

0 0 I 565

1 40 P 8767

2 80 PB 8766

… … … …

85

Trường Đại học Kỹ thuật Berlin đã tiến hành thực hiện một đề tài nghiên cứu mang tên “MPEG-4 and H.263 Video Traces for Network Performance Evulation” nhằm mục đích tạo ra các file dữ liệu theo khuôn dạng kể trên. Kết quả của đề tài là một loạt các sản phẩm file mã hóa của các bộ phim khác nhau[9]. Từ các bộ phim này, tác giả đã lựa chọn ra 03 bộ với các thông số kỹ thuật sau:

Số TT Tên Film Năm SX Thể loại

1 Công viên kỷ Jura 1993 Hành động - Giả tưởng

2 Ngài Bean 1997 Hài

3 Aladin và Cây đèn thần 1992 Hoạt hình

Bảng 4.3Các bộ phim lựa chọn và thể loại

Thông số Đơn vị tính Giá trị

Tỷ số nén YUV:H263 29,73

Kích thước file byte 120.000.000

Độ dài Video msec 3.600.000

Số khung hình Khung hình 25407,00

Kích thước khung hình (Trung bình) byte 4533,67

Kích thước khung hình (Cực tiểu) byte 345,00

Kích thước khung hình (Cực đại) byte 11817,00

Tỷ lệ Cực đại/Trung bình (Khung hình) - 2,61

Tốc độ bit trung bình bit/sec 260.000

Tốc độ bit đỉnh bit/sec 1.400.000

Tỷ lệ Cực đại/Trung bình (Tốc độ bit) - 5,5

Khoảng trống giữa các khung hình (Cực đại) Số khung hình 31,00

Bảng 4.4 Thông số kỹ thuật của Phim Công viên kỷ Jura

Thông số Đơn vị tính Giá trị

Tỷ số nén YUV:H263 29.73

Kích thước file byte 120.000.000

Độ dài Video msec 3.600.000

Số khung hình Khung hình 26034,00

Kích thước khung hình (Trung bình) byte 4424,96

Kích thước khung hình (Cực tiểu) byte 398,00

Kích thước khung hình (Cực đại) byte 9965,00

Tỷ lệ Cực đại/Trung bình (Khung hình) - 2,25

Tốc độ bit trung bình bit/sec 260.000

Tốc độ bit đỉnh bit/sec 1.400.000

Tỷ lệ Cực đại/Trung bình (Tốc độ bit) - 5,7

Khoảng trống giữa các khung hình (Cực đại) Số khung hình 33,00

Bảng 4.5Thông số kỹ thuật của Phim Ngài Bean

Thông số Đơn vị tính Giá trị

Tỷ số nén YUV:H263 29.73

Kích thước file byte 120.000.000

Độ dài Video msec 3.600.000

Số khung hình Khung hình 31226,00

86

Kích thước khung hình (Cực tiểu) byte 687.00

Kích thước khung hình (Cực đại) byte 19303.00

Tỷ lệ Cực đại/Trung bình (Khung hình) - 5.23

Tốc độ bit trung bình bit/sec 260.000

Tốc độ bit đỉnh bit/sec 1.400.000

Tỷ lệ Cực đại/Trung bình (Tốc độ bit) - 5,6

Khoảng trống giữa các khung hình (Cực đại) số khung hình 30.00

Bảng 4.6Thông số kỹ thuật của Phim Aladin và Cây đèn thần

Chi tiết phương pháp tiến hành mã hoá để thu được các dữ liệu mã hoá nói trên, xin tham khảo Tài liệu Tham khảo [9].

Mô hình mô phỏng a. Mô hình lý thuyết

Hình 4.1 trình bày mô hình thực nghiệm của luận văn:

`

MÁY CHỦ ĐỊNH LUỒNG MẠNG TRUYỀN TẢI MÁY TRẠM ĐỊNH LUỒNG

Chuẩn nén Tốc độ bit Giao thực truyền

MPLS

Độ tắc nghẽn Số Khung hình cực tiểuSố Khung hình cực đại

Hình 4.1: Mô hình thực nghiệm

Các tham số của mô hình được trình bày trong bảng 4.7

Số TT Tham số Thành phần Giải thích Lựa chọn

1 Chuẩn nén Máy chủ định luồng Chuẩn nén của luồng H.263 2 Tốc độ bit Máy chủ định luồng Tốc độ bit do máy chủ

định luồng phát ra

256kbps 3 Giao thức

truyền Mạng truyền tải Giao thức truyền tại mạng truyền tải UDP*

4 MPLS Mạng truyền tải Mạng truyền tải có

tính năng MPLS hay không ?

Có/ Không 5 Độ tắc nghẽn Mạng truyền tải Độ tắc nghẽn của

mạng truyền tải Biến đổi 6 Số khung hình cực tiểu ** Máy trạm định luồng Số khung hình nhỏ nhất của bộ đệm Biến đổi 7 Số khung hình cực đại ** Máy trạm định luồng Số khung hình lớn nhất của bộ đệm Biến đổi

87

* Giao thức UDP được chọn do nó phù hợp nhất với việc truyền định luồng: Các gói tin (thường mang một khung hình) có kích thước biến đổi, thứ tự truyền được duy trì tại nơi đến, đảm bảo tính đẳng thời (thời gian giữa các gói tin (interval) không thay đổi).

** Số khung hình cực tiểu và cực đại liên quan đến quá trình lưu bộ đệm (buffering): máy trạm định luồng sẽ dừng việc phát khung hình nếu số khung hình có trong bộ đệm nhỏ hơn Số khung hình cực tiểu và sẽ bắt đầu phát lại khi số khung hình trong bộ đệm bằng Số khung hình cực đại.

b. Triển khai mô hình trên phần mềm mô phỏng NS2

Hình 4.2 thể hiện mô hình thực nghiệm được triển khai trên NS2

Hình 4.2: Mô hình mô phỏng trên NS2

Trên mô hình ta thấy: Các nút 0,1 sử dụng các ứng dụng Phát gói tin với Tốc độ bit không đổi (Constan Bit Rate - CBR) có tác dụng tạo tắc nghẽn trên đoạn (4, 5, 6) với các thông số Packet size = 500, nút 0 có tốc độ bit Bit rate = 400k, nút 1 thay đổi giá trị Bit rate để thay đổi độ tắc nghẽn.

Nút 2 sử dụng ứng dụng Tracefile mô phỏng máy chủ định luồng. Ứng dụng Tracefile trên nút này sẽ đọc file dữ liệu định luồng và phát đi trên mạng. Các giao thức cài đặt trên nút này là UDP và các giao thức liên quan đến MPLS.

Các nút 10, 11, 12 là các đầu ra tương ứng lần lượt cho các nút 0, 1, 2, trong đó nút 12 có cài đặt các giao thức MPLS.

Tất cả các đường liên kết đều có thông số là: - Băng thông : 1Mbps

- Độ trễ : 0.01

- DropTail

c. Mô phỏng quá trình phát tín hiệu định luồng để đo đạc các tiêu chí thời gian

1

Application/CBR packet size : 500 bit rate : 400k

Agent : UDP

0 Application/CBR packet size : 500 bit rate : biến đổi

Agent : UDP 2 3 0 4 5 Application/Tracefile Agent : UDP RSVP-TE MPLS 6 Application/LostMonitor Agent : UDP Application/LostMonitor Agent : UDP Application/LostMonitor Agent : UDP RSVP-TE MPLS 10 11 12 7 8 9

88

Việc đo đạc các tiêu chí thời gian cần một sự mô phỏng chính xác quá trình nạp bộ đệm và phát các khung hình đẳng thời với 2 tham số cơ bản là Số khung hình cực tiểu và Số khung hình cực đại (xem bảng 4.7) tại Máy trạm định luồng.

Tuy nhiên, thật không may là chương trình mô phỏng NS2 không có sẵn một mô phỏng máy trạm như vậy. Như trong hình 4.2 đã thể hiện, việc mô phỏng đầu cuối của tín hiệu định luồng (máy trạm định luồng) ở đây sử dụng một ứng dụng Application/ LostMonitor. Với việc sử dụng ứng dụng này, ta chỉ xác định được thời điểm đến Máy trạm định luồng (Nút 12) của các gói tin (khung hình) được ghi vào một file log của NS2. Khuôn dạng của file log này như trình bày tại hình 4.3.

Sự kiện Log Nhãn thời gian Nút xuất phát Nút đến Kiểu gói tin Kích thước gói Các cờ ID của luồng Địa chỉ nuồn Địa chỉ đích Seq num ID gói tin

Hình 4.3: Khuôn dạng file log.

Các giá trị cần quan tâm là : Nhãn thời gianSeq Number.

File log này, khi kết hợp với File dữ liệu mã hoá luồng (xem khuôn dạng tại bảng 4.2), có thể giúp ta xây dựng một mô hình Máy trạm định luồng: File log xác định thời gian đến của khung hình (nạp vào bộ đệm), File dữ liệu mã hoá luồng xác định thời gian phát ra của các khung hình (ra khỏi bộ đệm).

Từ phân tích trên, tác giả xây dựng một thuật toán mô phỏng Máy trạm định luồng với đầu vào là 2 loại file kể trên.

- Các trạng thái của Máy trạm định luồng :

INIT: Trạng thái khởi tạo ra bộ đệm, tồn tại từ thời điểm gói tin đầu tiên đến cho tới khi bộ đệm chứa số gói tin bằng giá trị Số khung hình cực đại.

PLAY: Trạng thái phát khung hình, tồn tại trong trường hợp tổng số gới tin chứa trong bộ đệm lớn hơn Số khung hình cực tiểu.

BUFFER: Trạng thái nạp lại bộ đệm, tồn tại sau khi số gói tin trong bộ đệm đạt tới giá trị Số khung hình cực tiểu. Trong trạng thái này, sẽ chỉ có các gói tin nạp vào bộ đệm mà không có gói tin nào ra khỏi bộ đệm. Trạng thái sẽ được chuyển thành PLAY khi số gói tin đạt đến giá trị Số khung hình cực đại.

FINISH: Kết thúc việc phát dữ liệu.

- Yêu cầu của Chương trình Mô phỏng : Kết quả của Chương trình mô phỏng là file lưu thời điểm thay đổi giữa các trạng thái INIT → PLAY → BUFFER →

89

PLAY → FINISH. Nhờ phân tích file này, chúng ta có thể thống kê và đánh giá được các tiêu chí thời gian được trình bày ở trên.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu mô phỏng đánh giá chất lượng dịch vụ trên mạng MPLS (Trang 83 - 90)

Tải bản đầy đủ (PDF)

(120 trang)