Các cơ chế tích hợ p

Một phần của tài liệu Mô phỏng mạng chuyển mạch quang chùm (optical burst switching) (Trang 76)

Không có sự giúp đỡ của cơ chế rớt gói sớm, co chế gom nhóm bước sóng chỉ xếp lịch cho burst của 1 lớp cho trước theo số lượng bước sóng giới hạn, thậm chí khi xác suất mất của các lớp lưu lượng khác nhỏ hơn nhiều so với xác suất mất tối đa được yêu cầu. Hạn chế này gây ra việc sử dụng bước sóng không hiệu quả. Do đó, cơ chế early dropping có thểđược tích hợp với cơ chế gom nhóm bước sóng

để đạt được hiệu suất tốt hơn. Trong cơ chế rớt gói sớm, EDS có hiệu suất mất tốt hơn đáng kể so với EDT; do đó, EDS được tích hợp với kế hoạch gom nhóm bước sóng. Trong kế hoạch tích hợp, EDS gán nhãn cục bộ cho mỗi burst dựa vào lớp của burst đó và giá trị hiện tại của vector rớt gói sớm tương ứng. Cơ chế gom nhóm bước sóng cung cấp một số lượng tối thiểu bước sóng cho mỗi nhóm lưu lượng với cùng 1 nhãn và xếp lịch mỗi burst dựa vào việc cung cấp này.

CHƯƠNG 4: MÔ PHNG. 4.1 Mc đích ca vic mô phng.

Mạng OBS có nhiều ưu điểm đáng được quan tâm tuy nhiên mạng OBS chưa thật sựđược triển khai trong thực tế do đó cần thực hiện việc mô phỏng để đánh giá những chất lượng của mạng OBS. Mục tiêu của đề tài này là tìm hiểu chất lượng dịch vụ (QoS) dựa trên những thông số được giả định trước. Mô phỏng trong luận văn cũng so sánh và đánh giá chất lượng dịch vụ về xác suất mất gói trong điều kiện tải đưa vào mạng khác nhau.

Phần mô phỏng sẽ thực hiện việc mô phỏng một mạng chuyển mạch quang chùm OBS với các trường hợp được đề cập trong chương III với các vấn đề chính như sau: QoS dựa trên việc đóng khối burst, QoS dựa trên việc xếp lịch kênh truyền, QoS dựa trên việc báo hiệu, QoS dựa trên việc giải quyết xung đột.

Mô phỏng được thực hiện bằng phần mềm mô phỏng OBS4NS chạy trên nền của phần mềm mô phỏng mạng NS-2. Mô phỏng được thực hiện để tính toán xác suất mất gói và độ trễ với các tải lưu lượng khác nhau. Kết quả mô phỏng sẽ được

đưa ra dưới dạng đồ thị.

4.2 Mô hình mng và các thông số.

Mô hình mạng mô phỏng được dựa theo mô hình mạng NSFNET (National Science Foundation Network) của Hoa Kỳ với 14 node mạng. Việc sử dụng mô hình này do mạng OBS chưa thực sự được triển khai trong thực tế, hơn nữa mạng NSFNET được sử dụng khá phổ biến trong các bài nghiên cứu về mạng OBS của các tác giả. Việc lựa chọn một mạng chuẩn được các nhà nghiên cứu đề xuất để so sánh kết quả là cần thiết.

Hình 4.1 Mô hình mng NSFNET

Sau đây là các thông số chính trong trong mô phỏng: - Các node mạng đều là các node kết hợp.

- Liên kết là song hướng với mỗi hướng có hai kênh điều khiển và hai kênh dữ liệu. Do đó một liên kết có 8 bước sóng quang.

- Các gói đến có kích thước cốđịnh là 1250 byte. - Tốc độ truyền dẫn của liên kết là 10Gbps.

- Thời gian chuyển mạch là 10 µs. Công nghệ chuyển mạch toàn quang có thể dựa trên hai công nghệ là công nghệ chuyển mạch gương với thời gian chuyển mạch hàng ms và công nghệ chuyển mạch bán dẫn với thời gian chuyển mạch vài µs. Trường hợp mô phỏng này tác giả giả sử rằng chuyển mạch toàn quang đều là các chuyển mạch bán dẫn.

- Kích thước gói điều khiển là cốđịnh và bằng 64byte. - Thời gian xử lý gói điều khiển là 2.5µs

4.3 Phn mm mô phng mng ns-2

4.3.1 Gii thiu

[17,18,5] Phần mềm NS-2 là phần mềm mô phỏng mạng điều khiển sự kiện riêng rẽ hướng đối tượng được phát triển tại UC Berkely, viết bằng ngôn ngữ C++

và Otcl. Ns-2 là phần mềm mô phỏng mã nguồn mở hữu ích cho việc nghiên cứu mạng diện rộng (WAN) và mạng local (LAN). Bốn lợi ích lớn nhất của Ns-2 là:

Khả năng kiểm tra tính ổn định của các giao thức mạng đang tồn tại Khả năng đánh giá các giao thức mạng mới trước khi đưa vào sử dụng

Khả năng thực thi những mô hình mạng lớn mà gần như ta không thể thực thi

được trong thực tế

Khả năng mô phỏng nhiều loại mạng khác nhau

4.3.2 Kiến trúc ca NS-2

NS thực thi các giao thức mạng như Giao thức điều khiển truyền tải (TCP) và Giao thức gói người dùng (UDP); các dịch vụ nguồn lưu lượng như Giao thức truyền tập tin (FTP), Telnet, Web, Tốc độ bit cố định (CBR) và Tốc độ bit thay đổi (VBR) ; các kỹ thuật quản lý hàng đợi như Vào trước Ra trước (Drop Tail), Dò sớm ngẫu nhiễn (RED) và CBQ; các thuật toán định tuyến như Dijkstra… NS cũng thực thi multicasting và vài giao thức lớp Điều khiển truy cập đường truyền (MAC) đối với mô phỏng LAN.

Hình 4.2 Tng quan v NS dưới góc độ người dùng

OTcl Script Kịch bản OTcl

Simulation Program Chương trình Mô phòng

OTcl Bộ biên dịch Tcl mở rộng hướng đối tượng NS Simulation Library Thư viện Mô phỏng NS

Event Scheduler Objects Các đối tượng Bộ lập lịch Sự kiện Network Component Objects Các đối tượng Thành phần Mạng

Network Setup Helping Modules Các mô đun Trợ giúp Thiết lập Mạng Plumbling Modules Các mô đun Plumbling

Simulation Results Các kết quả Mô phỏng Analysis Phân tích

NAM Network Animator Minh họa Mạng NAM

Trong hình trên, NS là Bộ biên dịch Tcl mở rộng hướng đối tượng; bao gồm các đối tượng Bộ lập lịch Sự kiện, các đối tượng Thành phần Mạng và các mô đun Trợ giúp Thiết lập Mạng (hay các mô đun Plumbing).

Để sử dụng NS-2, user lập trình bằng ngôn ngữ kịch bản OTcl. User có thể

thêm các mã nguồn Otcl vào NS-2 bằng cách viết các lớp đối tượng mới trong OTcl. Những lớp này khi đó sẽ được biên dịch cùng với mã nguồn gốc. Kịch bản OTcl có thể thực hiện những việc sau:

• Khởi tạo Bộ lập lịch Sự kiện

• Thiết lập Mô hình mạng dùng các đối tượng thành phần Mạng

• Báo cho nguồn lưu lượng khi nào bắt đầu truyền và ngưng truyền gói trong bộ lập lịch sự kiện

Thuật ngữ plumbing được dùng để chỉ việc thiết lập mạng, vì thiết lập một mạng nghĩa là xây dựng các đường dữ liệu giữa các đối tượng mạng bằng cách thiết lập con trỏ “neighbour” cho một đối tượng để chỉ đến địa chỉ của đối tượng tương

ứng. Module plumbing OTcl trong thực tế thực hiện việc trên rất đơn giản. Plumbing làm nên sức mạnh của NS.

Thành phần lớn khác của NS bên cạnh các đối tượng Thành phần Mạng là Bộ lập lịch Sự kiện. Bộ lập lịch Sự kiện trong NS-2 thực hiện những việc sau:

• Tổ chức Bộđịnh thời Mô phỏng

• Huỷ các sự kiện trong hàng đợi sự kiện

• Triệu gọi các Thành phần Mạng trong mô phỏng

Phụ thuộc vào mục đích của user đối với kịch bản mô phỏng OTcl mà kết quả mô phỏng có thể được lưu trữ như file trace. Định dạng file trace sẽ được tải vào trong các ứng dụng khác để thực hiện phân tích:

File nam trace (file.nam) được dùng cho công cụ Minh họa mạng NAM File Trace (file.tr) được dùng cho công cụ Lần vết và Giám sát Mô phỏng XGRAPH hay TRACEGRAPH

Hình 4.3Lung các s kin cho file Tcl chy trong NS

NAM Visual Simulation Mô phỏng ảo NAM

Tracing and Monitoring Simulation Mô phỏng Lần vết và Giám sát

C++ và OTcl

Hình sau biểu diễn kiến trúc chung của NS. User có thể tưởng tượng mình

đang đứng ở góc trái dưới, thiết kế và chạy các mô phỏng trong Tcl. Tcl dùng các

đối tượng mô phỏng trong OTcl. Các đối tượng Bộ lập lịch Sự kiện và hầu hết các

đối tượng Thành phần Mạng thực thi bằng C++ và sẵn có cho OTcl qua một liên kết OTcl. Liên kết OTcl này được thực thi dùng TclCL. Tất cả đã làm nên NS, bộ biên dịch Tcl mở rộng hướng đối tượng và các thư viện mô phỏng mạng.

Hình 4.4 Kiến trúc ca NS-2

NS sử dụng hai ngôn ngữ lập trình: Ngôn ngữ kịch bản (Tcl – Tool Command Language, đọc là tickle) và Ngôn ngữ lập trình hệ thống (C/C++)

NS là tầng biên dịch Tcl để chạy các kịch bản Tcl

Bằng cách sử dụng C++/OTcl, bộ mô phỏng mạng phải hoàn toàn là hướng

đối tượng

Hình sau chỉ ra các đối tượng C++ có liên kết OTcl. Khi đó, nếu chúng tạo nên một phân cấp thì các đối tượng OTcl cũng có một phân cấp tương ứng như vậy.

Hình 4.5 C++ và OTcl: Sựđối ngu

TclCL là ngôn ngữ được sử dụng để cung cấp liên kết giữa C++ và OTcl. Các kịch bản Tcl/OTcl được viết để thiết lập và cấu hình topology của mạng. TclCL cung cấp liên kết giữa phân cấp lớp, khởi tạo đối tượng, nối kết biến và gửi lệnh.

Hình 4.6 TclCL hot động như liên kết gia A và B

Việc sử dụng hai ngôn ngữ vì Bộ mô phỏng cần thực hiện hai việc khác nhau.

Một mặt là vì các mô phỏng cho các giao thức yêu cầu một ngôn ngữ lập trình hệ thống có thể tính toán một cách hiệu quả các byte, các tiêu đề packet và các

thuật toán thực thi đang chạy trên một tập dữ liệu lớn. Với tác vụ này, run-time speed (tốc độ thời gian chạy thực) là quan trọng trong khi turn-around time (thời gian thay đổi) thì ít quan trọng hơn. Turn-around time bao gồm thời gian chạy mô phỏng, thời gian tìm lỗi, thời gian sửa lỗi, thời gian biên dịch lại và thời gian chạy lại.

Mặt khác, khi nghiên cứu mạng thì rất cần quan tâm đến các tham số và các cấu hình có thay đổi nhưng không đáng kể, hay quan tâm đến các scenario (tình huống) cần khám phá thật nhanh chóng. Trong tác vụ này thì iteration time (thời gian lặp lại, tức là thời gian hay đổi mô hình và chạy lại) là quan trọng hơn. Vì cấu hình chỉ chạy một lần lúc bắt đầu mô phỏng nên run-time trong tác vụ này rõ ràng kém quan trọng hơn.

Dùng C++ để:

• Mô phỏng giao thức chi tiết yêu cầu ngôn ngữ lập trình hệ thống

• Thao tác trên byte, xử lý gói, thực thi thuật toán

• Tốc độ thời gian thực là quan trọng nhất

• Thực hiện bất kỳ việc gì mà cần phải xử lý tứng packet của một luồng.

• Thay đổi hành vi của lớp C++ đang tồn tại theo những hướng đã không được lường trước.

Và dùng OTcl để:

• Mô phỏng những thông số hay cấu hình thay đổi

• Tham dò nhanh một số tình huống

• Thời gian tương tác (thay đổi mô hình hay chạy lại) là quan trọng

• Cấu hình, thiết lập hay những gì chỉ làm một lần.

• Thực hiện những cái ta muốn bằng cách thao tác trên các đối tượng C++ đang tồn tại.

Ví dụ như các link là những đối tượng OTcl liên kết các mô đun delay (trì hoãn), queueing (hàng đợi) và possibly loss (khả năng mất mát). Còn nếu muốn th c hi n nh ng vi c chuyên nghi p h n thì c n ph i t o ra i t ng C++ m i.

Hầu hết định tuyến được viết bằng OTcl (dù thuật toán Dijkstra lõi viết bằng C++). Mô phỏng HTTP có từng luồng bắt đầu tại OTcl nhưng việc xử lý từng gói lại được viết bằng C++. Phương pháp này chạy tốt cho đến khi có đến 100 luồng bắt

đầu thời gian mô phỏng mỗi giây. Nói chung, nếu phải triệu gọi Tcl nhiều lần mỗi giây thì có lẽ nên chuyển sang C++.

Về phương diện mã nguồn, NS-2 được viết với 100k dòng mã lệnh C++, 70k dòng mã Tcl và 20k dòng tài liệu.

4.3.3 Các đặc tính ca NS-2

NS-2 thực thi những tính năng sau:

Các kỹ thuật quản lý hàng đợi Router như DropTail, RED, CBQ, Multicasting

Mô phỏng mạng không dây

Được phát triển bởi Sun Microsystems + UC Berkeley (Dự án Daedalus) Thuộc mặt đất (di động, adhoc, GPRS, WLAN, BLUETOOTH), vệ tinh Chuẩn IEEE 802.11 có thể được mô phỏng, các giao thức Mobile-IP và adhoc như DSR, TORA, DSDV và AODV

Hành vi nguồn traffic – www, CBR, VBR Các agent truyền tải – UDP, TCP

Định tuyến Luồng packet Mô hình mạng

Các ứng dụng – Telnet, FTP, Ping

4.4 Phn mm mô phng mng quang OBS4NS 4.4.1 Gii thiu. 4.4.1 Gii thiu.

Ns-2 khá đầy đủ cho việc mô phỏng mạng thông thường, tuy nhiên lại ít hỗ

trợ cho lớp quang và mô phỏng mạng OBS vì trong OBS các burst dữ liệu được chuyển mạch toàn quang, không bị delay hay xử lý tại các node mạng. Vì lý do đó, phần mềm mở rộng OBS4NS chạy trên nền NS-2 được xây dựng để giải quyết vấn

đề mô phỏng mạng toàn quang. Phần mềm mô phỏng mạng OBS4NS được các tác giả ở trường đại học Vigo-Tây Ban Nha xây dựng và phát triển phần lớn các chức năng phục vụ tương đối đầy đủ cho mô phỏng một mạng OBS hoàn chỉnh.

Phần mềm OBS4NS có khả năng:

- Tạo các node biên, node lõi và node kết hợp - Tạo các liên kết WDM.

- Thực hiện quá trình đóng khối. - Thực hiện định tuyến.

- Thực hiện việc giải quyết xung đột bằng bộ đệm, chuyển hướng và phân

đoạn burst.

- Thực hiện việc lập lịch kênh truyền LAUC, LAUC-VF,…..

4.4.2 Các module trong OBS4NS.

Phần mềm OBS4NS được xây dựng từ các module sau:

Module to node mng (ObsNode)

Các node trong mạng OBS bao gồm node biên và node lõi. Phần mềm này cũng xây dựng một module tạo các node này trong mạng, các node mạng trong phần mềm này là node unicast không hỗ trợ node multicast.

- Node biên

Ngõ vào của node biên là lưu lượng lấy từ module tạo lưu lượng. Các thông số của lưu lượng tuỳ thuộc vào lưu lượng đưa vào. Giá trị ngõ ra của node biên là các burst dữ liệu, gói điều khiển, thông tin về đường đi ngắn nhất, bước sóng cho gói điều khiền và burst dữ liệu.

Hình dưới đây mô tả kiến trúc của node biên và node lõi trong OBS4NS. Hình vẽ cho thấy những phần giống nhau trong khi xây dựng đối tượng mô phỏng là cả node biên và node lõi đều sử dụng chung thành phần tạo kết nối (Connector/ObsLink) và sử dụng biến entry_ để xác định lối vào. Phần khác nhau giữa node biên và node lõi là ở node biên có phần giao diện lớp MAC còn ở node lõi có chuyển mạch quang khối (Classifier/ObsSwitch)

Hình 4.7 Giao din lp MAC

Giao diện đến lớp MAC là thành phần cơ bản của node biên có nhiệm vụ

nhận lưu lượng từ khối tạo lưu lượng (lưu lượng được tạo ra bằng một số module trong NS-2). Nó phân loại gói đến theo đích đến (Classifier/Addr) và theo lớp dịch vụ (Classifier/CoS). Kếđến bộ đóng khối (Agent/Burstifier) có chức năng tập trung các gói tin lớp cao vào bộ đệm rồi tạo thành burst dữ liệu cùng với việc phát gói

điều khiển. Cuối cùng là bộ lập lịch kênh truyền (ChannelScheduler) chọn một bước sóng thích hợp cho burst dữ liệu ở ngõ ra. Node biên đích có bộ giải đóng khối (Agent/Deburstifier) tách các gói tin từ burst dữ liệu nhận được.

Thành phần quan trọng nhất của giao diện lớp MAC là bộ đóng khối (Agent/Burstifier). Các biến số cho bộđóng khối quyết định việc đóng khối như thế

nào:

MaxDBsize_ : đóng khối theo tiêu chuẩn về dung lượng tối đa.

Max_packets_ : đóng khối theo tiêu chuẩn về số lượng gói tối đa trong burst. Time_out_ : đóng khối theo tiêu chuẩn thời gian tối đa.

Np_ : số lượng gói trong một burst thực tếđược phát đi. Size_ : dung lượng thực tếđược phát đi.

Hình 4.8 Giao din lp MAC

Khi một burst dữ liệu được đưa vào mạng, một gói điều khiển được tạo ra cho burst này. Gói điều khiển này được gởi vào mạng ngay tức khắc còn burst dữ

liệu phải đợi trong bộđệm một khoảng thời gian bù mới được phát đi. Thời gian bù

được tính như sau: extra i Tx i offset switch BHPproc i offset T n T T T T T , =max( )( +1)+ +( ,−1 + ,−1)+

Với

n: số bước nhảy từ nguồn đến đích. i: mức ưu tiên dịch vụ.

)

max(TBHPproc : thời gian xử lý gói điều khiển tại mỗi node. Nếu chúng ta giả

sử rằng thời gian xử lý gói điều khiển cực đại tại mỗi node là bằng nhau kể cả node

nguồn thì tổng thời gian xử lý gói điều khiển là max(TBHPproc)

(n+1)

switch

T : thời gian chuyển mạch tại mỗi node trung gian

1 ,i

offset

T : thời gian offset time của burst có mức ưu tiên cao hơn.

Một phần của tài liệu Mô phỏng mạng chuyển mạch quang chùm (optical burst switching) (Trang 76)