You are on page 1of 68

Lời nói đầu

LỜI NÓI ĐẦU

Nhu cầu con người ngày càng lớn, ngày càng có nhiều dịch vụ mới ra đời. Yêu cầu
băng thông của các dịch vụ này rất lớn. Mạng WDM trở thành sự lựa chọn thiết thực cho
nhiều mạng đường trục. Bên cạnh băng thông cực lớn của sợi quang thì hạn chế về tốc độ
chuyển mạch của các thiết bị chuyển đổi quang điện và chuyển mạch bán dẫn đã làm hạn
chế khả năng của mạng. Do đó, yêu cầu xây dựng một mạng khắc phục những nhược
điểm hiện tại trở thành một nhiệm vụ cấp bách. Và mạng chuyển mạch khối quang đã và
đang được nghiên cứu để đạt được mục đích này.
Luận văn “Mô phỏng ảnh hưởng của quá trình đóng khối trong mạng OBS” đi vào
tìm hiểu về mạng OBS và mô phỏng một phần hoạt động của mạng, đó là quá trình đóng
khối.
Luận văn là kết quả của một quá trình học tập tại Học Viện Công Nghệ Bưu Chính
Viễn Thông – Cơ sở tại Thành phố Hồ Chí Minh.

Đến đây em xin gửi lời cảm ơn đến:

- Cha mẹ em, những người đã nuôi dạy em đến lúc trưởng thành và cho em
được đi học để có ngày hôm nay.
- Các thầy cô trong Học Viện và đặc biệt là các thầy cô trong Khoa Viễn
Thông II đã trang bị cho em nhiều kiến thức bổ ích.
- Các cán bộ công nhân viên của Học Viện đã tạo điều kiện cho em học tập
- Các thầy trong bộ môn Thông Tin Quang đã đóng góp nhiều ý kiến quý báu
trong quá trình thực hiện luận văn.
- Thầy Th.S Nguyễn Huỳnh Minh Tâm, người đã tận tình giúp đỡ và định
hướng cho em trong lúc thực hiện luận văn.
- Ông TS Jairo Chapela Martinez và ông Iban Cereijo Grana, trường Đại Học
Vigo – Tây Ban Nha đã gợi ý, cung cấp tài liệu và hướng dẫn em cách thức
xây dựng chương trình và kịch bản mô phỏng cũng như cung cấp một số file
làm nền tảng cho chương trình.
- Các bạn lớp D03VTA1 đã giúp đỡ và động viên em trong lúc học tập và làm
luận văn.

Thành Phố Hồ Chí Minh, ngày 18 tháng 12 năm 2007

Đoàn Khánh Tân Thanh

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -1- SVTH: Đoàn Khánh Tân Thanh
Mục lục

MỤC LỤC

DANH MỤC HÌNH........................................................................................................ 4


THUẬT NGỮ VIẾT TẮT.............................................................................................. 5
Chương I KHÁT QUÁT VỀ SỰ PHÁT TRIỂN CỦA MẠNG QUANG................... 7
1.1 Khái quát sự phát triển của mạng quang.................................................................. 7
1.2 Mục tiêu của đề tài................................................................................................ 10
1.3 Giới hạn của đề tài................................................................................................ 10
Chương II MẠNG CHUYỂN MẠCH KHỐI QUANG OBS .................................... 11
2.1 Giới thiệu.............................................................................................................. 11
2.2 Kiến trúc mạng OBS............................................................................................. 11
2.3 Đóng khối (Burst Assembly) ................................................................................ 15
2.4 Định tuyến và sắp xếp bước sóng.......................................................................... 18
2.5 Báo hiệu trong mạng OBS .................................................................................... 18
2.5.1 Just-Enough-Time (JET) ................................................................................ 19
2.5.2 Tell-and-Wait (TAW) .................................................................................... 20
2.6 Lập lịch kênh truyền ............................................................................................. 21
2.6.1 First Fit Unscheduled Channel (FFUC) .......................................................... 22
2.6.2 Horizon hay Latest Available Unscheduled Channel (LAUC) ........................ 22
2.6.3 First Fit Unscheduled Channel with Void Filling (FFUC-VF) ........................ 24
2.6.4 Latest Available Unscheduled Channel with Void Filling (LAUC-VF) .......... 24
2.7 Giải quyết xung đột .............................................................................................. 24
2.7.1 Bộ đệm quang ................................................................................................ 24
2.7.2 Chuyển đổi bước sóng.................................................................................... 26
2.7.3 Định tuyến chuyển hướng .............................................................................. 27
2.7.4 Phân đoạn burst.............................................................................................. 28
Chương III PHẦN MỀM MÔ PHỎNG MẠNG NETWORK SIMULATOR (NS2)
VÀ PHẦN MÔ PHỎNG MẠNG OBS ........................................................................ 32
3.1 Giới thiệu về phần mềm Network Simulator NS2 ................................................. 32
3.1.1 Khả năng của chương trình............................................................................. 32
3.1.2 Việc xây dựng NS2 ........................................................................................ 32
3.1.3 Cấu trúc của phần mềm NS2 .......................................................................... 33
3.1.3 Việc sử dụng chương trình ............................................................................ 34
3.1.4 Kết quả xuất ra từ chương trình mô phỏng và cách xử lý chúng .................... 35
3.2 Phần mềm mở rộng của NS2 OBS4NS ( OBS for NS) dùng để mô phỏng mạng
OBS............................................................................................................................ 36

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -2- SVTH: Đoàn Khánh Tân Thanh
Mục lục

3.2.1 Giới thiệu ....................................................................................................... 36


3.2.2 Khả năng của phần mềm ............................................................................... 36
3.2.3 Việc xây dựng phần mềm............................................................................... 37
3.2.4 Đánh giá độ chính xác của phần mềm mô phỏng............................................ 45
3.3.5 Cách sử dụng chương trình OBS4NS ............................................................. 48
Chương IV THỰC HIỆN MÔ PHỎNG QUÁ TRÌNH ĐÓNG KHỐI TRONG
MẠNG CHUYỂN MẠCH KHỐI QUANG OBS........................................................ 51
4.1 Mục đích............................................................................................................... 51
4.2 Cách thức thực hiện mô phỏng và ghi nhận kết quả .............................................. 51
4.3 Giới hạn mô phỏng của bài toán đóng khối ........................................................... 51
4.4 Xây dựng kịch bản mô phỏng ............................................................................... 53
4.5 Chạy kịch bản mô phỏng và lấy kết quả................................................................ 56
4.5.1 Một mức ngưỡng và không có mức ưu tiên trong mạng.................................. 57
4.5.2 Một mức ngưỡng và có hai mức ưu tiên ......................................................... 59
4.6 Kết luận ................................................................................................................ 60
KẾT LUẬN VÀ HƯỚNG MỞ CỦA ĐỀ TÀI............................................................. 61
TÀI LIỆU THAM KHẢO ........................................................................................... 62
PHỤ LỤC A ................................................................................................................. 64
PHỤ LỤC B.................................................................................................................. 66

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -3- SVTH: Đoàn Khánh Tân Thanh
Danh mục hình

DANH MỤC HÌNH


Hình 2.1 Kiến trúc mạng OBS...................................................................................... 11
Hình 2.2 Sơ đồ các khối chức năng của mạng OBS...................................................... 12
Hình 2.3 Kiến trúc node lõi (a) và kiến trúc node biên (b) ............................................ 13
Hình 2.4 Mô tả hoạt động của mạng OBS .................................................................... 14
Hình 2.5 Kỹ thuật đóng khối dựa theo mức ngưỡng và dựa theo bộ định thời .............. 16
Hình 2.6 Kỹ thuật báo hiệu JET ................................................................................... 20
Hình 2.7 Sự sắp xếp kênh truyền sau khi sử dụng (a) giải thuật không lấp chỗ
trống(FFUC và LAUC), và (b) giải thuật lấp chỗ trống (LAUC-VF và LAUC-VF)...... 23
Hình 2.8 Mô tả giải quyết xung đột bằng bộ đệm ......................................................... 25
Hình 2.9 Dây trễ FDL cùng với bộ khuyếch đại và chuyển mạch tạo thành một vòng
lặp trễ........................................................................................................................... 25
Hình 2.10 Mô tả giải quyết xung đột bằng cách chuyển đổi bước sóng ........................ 26
Hình 2.11 Mô tả giải quyết xung đột bằng chuyển hướng burst.................................... 27
Hình 2.12 Mô tả giải quyết xung đột bằng phân đoạn burst.......................................... 29
Hình 2.13 Cấu trúc của burst được đóng kiểu phân đoạn.............................................. 30
Hình 2.14 Xung đột làm chồng lấn các đoạn lên nhau .................................................. 30
Hình 3.1 Cấu trúc phần mềm mô phỏng NS2 ............................................................... 34
Hình 3.2 Cửa sổ chương trình hiện ra sau khi chạy file nam......................................... 35
Hình 3.3 Node biên và node lõi trong OBS4NS ........................................................... 39
Hình 3.4 Giao diện đến lớp MAC................................................................................. 40
Hình 3.5 Thời gian offset ............................................................................................. 41
Hình 3.6 Node lõi trong OBS4NS ................................................................................ 42
Hình 3.7 Node kết hợp trong OBS4NS......................................................................... 43
Hình 3.8 Đồ thị so sánh giữa kết quả mô phỏng và lý thuyết mô hình Erlang B ........... 46
Hình 3.9 Mạng NSFNET ............................................................................................. 47
Hình 3.10 Đồ thị so sánh kết quả trong [6] và kết quả mô phỏng bằng OBS4NS.......... 48
Hình 4.1 Mạng NSFNET ............................................................................................. 51
Hình 4.2 Lưu đồ chạy chương trình mô phỏng ............................................................. 56
Hình 4.3 Xác suất mất gói so với các kích thước burst khác nhau trong mạng dùng rớt
hoàn toàn burst và phân đoạn burst trong việc giải quyết xung đột ............................... 57
Hình 4.4 Độ trễ end-to-end trung bình so với các kích thứoc burst ............................... 58
Hình 4.5 Xác suất mất gói của từng mức dịch vụ đối với các kích thước burst khác
nhau ............................................................................................................................. 59

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -4- SVTH: Đoàn Khánh Tân Thanh
Thuật ngữ viết tắt

THUẬT NGỮ VIẾT TẮT

A
ATM : Asynchronous Transfer Mode
B
BA : Burst Assembler
BHP : Burst Header Packet
F
FFUC : First Fit Unscheduled Channel
FFUC-VF : First Fit Unscheduled Channel with Void Filling
FDL : Fiber Delay Line
I
IP : Internet Protocol
J
JET : Just Enough Time
JIT : Just In Time
L
LOBS : Labled Optical Burst Switching
LAUT : Lastest Available Unscheduled Time
LAUC : Lastest Available Unscheduled Channel
LAUC-VF : Lastest Available Unscheduled Channel with Void Filling
M
MAC : Media Access Control
MPLS : Multi-Protocol Lable Switching
N
NSFNET : National Science Foundation Network
O
OCS : Optical Circuit Switching
OPS : Optical Packet Switching
OBS : Optical Burst Switching
OXC : Optical Cross Connect
Q
QoS : Quality of Service
GVHD: Th.S Nguyễn Huỳnh Minh Tâm -5- SVTH: Đoàn Khánh Tân Thanh
Thuật ngữ viết tắt

R
RM : Routing Module
RTT : Round Trip Time
S
SPF : Shortest Path First
SCU : Switch Control Unit
S : Scheduler
SOA : Semiconductor Optical Amplifier
T
TAG : Tell-and-Go
TAW : Tell-and-Wait
V
VoD : Video on Demand
W
WDM : Wavelength Division Multiplexing
WADM : Wavelength Add Drop Multiplexor

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -6- SVTH: Đoàn Khánh Tân Thanh
Chương I – Khái quát về sự phát triển của mạng quang

Chương I

KHÁT QUÁT VỀ SỰ PHÁT TRIỂN CỦA


MẠNG QUANG

1.1 Khái quát sự phát triển của mạng quang


Vào những thập niên gần đây, kết nối mạng không ngừng lớn mạnh với tốc độ chóng
mặt. Internet trở nên phổ biến hơn bao giờ hết với nhu cầu của con người tăng lên và
người ta mong muốn có mọi thứ chỉ bằng một cái nhấp chuột. Sự bùng nổ này mở ra
những cơ hội mới và thách thức mới cho lĩnh vực kết nối mạng hay networking, để đáp
ứng yêu cầu của con người về các ứng dụng tốc độ cao hơn và chất lượng cao hơn như
video theo yêu cầu (VoD) và truyền hình tương tác… Sự mở rộng nhanh chóng của
Internet cùng với sự tăng lên không ngừng về số lượng và yêu cầu về chất lượng của các
dịch vụ thông tin đa phương tiện trở thành một thách thức đối với các máy tính và mạng
viễn thông hiện tại. Yêu cầu cấp bách là làm sao phát triển một mạng có dung lượng lớn
và có khả năng đáp ứng yêu cầu về băng thông lớn.
Mạng quang trở thành lựa chọn thiết thực cho yêu cầu của mạng viễn thông với các
liên kết sợi quang có thể cung cấp băng thông lên đến 25 THz [1]. Hệ thống mạng quang
ghép kênh WDM theo bước sóng được triển khai ở nhiều mạng đường trục.
Thế hệ đầu tiên là kiến trúc mạng quang WDM điểm điểm. Một mạng như vậy bao
gồm rất nhiều liên kết điểm điểm, ở đó tất cả các lưu lượng đi vào một node từ một sợi
quang được chuyển đổi từ quang sang điện và tất cả các lưu lượng đi ra một node được
chuyển đổi từ điện sang quang trước khi đưa vào sợi quang. Việc tách ghép luồng quang
bằng cách chuyển đổi quang điện tại mỗi node có thể làm tăng độ trễ và tăng chi phí
mạng; do đó, để giảm được độ trễ và giảm đi chi phí mạng chúng ta nên xây dựng một
mạng mạng toàn quang nghĩa là việc chuyển tiếp gói hoàn toàn trong miền quang.
Kiến trúc mạng quang thế hệ thứ hai dựa trên các bộ xen rớt ghép kênh theo bước
sóng (WADM), trong đó việc tách ghép lưu lượng được thực hiện tại nơi có WADM.
WADM có thể tách ra một bước sóng được chọn và cho phép các bước sóng khác đi qua.
NóI chung, lưu lượng đi qua một node thì nhiều hơn lưu lượng cần rẽ lại tại một node. Do
đó, bằng việc sử dụng WADM chúng ta có thể giảm được chi phí toàn mạng bằng cách
chỉ tách những bước sóng mà tại node này là đích của nó và tất cả các bước sóng còn lại
tiếp tục đi đến node kế.

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -7- SVTH: Đoàn Khánh Tân Thanh
Chương I – Khái quát về sự phát triển của mạng quang

Để có thể xây dựng một mạng mắc lưới bao gồm nhiều liên kết đa bước sóng, chúng
ta cần có những thiết bị kết nối quang thích hợp. Kiến trúc mạng quang thế hệ thứ ba dựa
trên việc kết nối các thiết bị toàn quang. Những thiết bị này thường được phân ra các loại
như sau passive star, passive router và active switch. Tín hiệu được chèn vào ở một bước
sóng tại ngõ vào sau đó công suất tín hiệu này sẽ được chia đều cho tất cả các ngõ ra (sử
dụng cùng bước sóng). Một passive router có thể định tuyến một cách riêng rẻ một trong
số nhiều bước sóng ở sợi quang ngõ vào đến một bước sóng giống như vậy ở ngõ ra.
Active switch cho phép sử dụng lại bước sóng và có thể hỗ trợ những kết nối liên tục qua
nó. Passive star được sử dụng để xây dựng một mạng WDM nội bộ, trong khi active
switch dùng để xây dựng mạng diện rộng định tuyến bước sóng. Passive router dùng như
là một thiết bị mux và demux.
Về cơ bản có ba phương thức truyền tải toàn quang là WDM định tuyến bước sóng
(chuyển mạch kênh quang) OCS, chuyển mạch gói quang OPS và chuyển mạch khối
quang OBS. Mỗi phương thức truyền tải được mô tả ở bên dưới.
Trong mạng WDM định tuyến bước sóng hay chuyển mạch kênh quang OCS,
những đầu cuối liên lạc với những đầu cuối khác thông qua một kênh WDM toàn quang
được gọi là đường quang lightpath [3]. Một lightpath được sử dụng để cung cấp một kết
nối qua một mạng WDM định tuyến bước sóng và có thể trải dài trên nhiều liên kết sợi
quang. Nếu không có các bộ chuyển đổi bước sóng thì một lightpath sẽ có cùng một bước
sóng trên tất cả các liên kết quang. Những kết nối định tuyến bước sóng được cấp phát
băng thông tĩnh hay cố định; do đó, nó không thích hợp với lưu lượng đột biến trong
Internet. Để có thể đáp ứng được yêu cầu về băng thông lớn trong mạng đô thị và mạng
diện rộng, những phương thức truyền tải phải hỗ trợ việc dự trữ tài nguyên và có khả
năng truyền tải được lưu lượng đột biến. Vả lại, khi có một yêu cầu kết nối, một lightpath
được thiết lập cho kết nối này cho dù kết nối này có dung lượng bao nhiêu, do vậy làm
việc sử dụng băng thông trở nên không hiệu quả.
Mạng chuyển mạch gói quang OPS có khả năng cấp phát tài nguyên động. Mạng
chuyển mạch gói quang tạo thành từ những chuyển mạch quang riêng rẽ kết hợp lại với
nhau. Các gói có thể đến mỗi node tại những thời điểm khác nhau. Trong mạng chuyển
mạch gói các bit đồng bộ và khôi phục xung đồng hồ được thêm vào để nhận ra header
của một gói. Mạng chuyển mạch gói quang có thể chia thành hai loại chính đó là có khe
thời gian (mạng đồng bộ) và không có khe thời gian (bất đồng bộ). Trong mạng có khe
thời gian tất cả các gói đều có kích thước bằng nhau. Gói tin cùng với header của nó đều
được đặt trong một khe thời gian cố định, khe thời gian này có chiều dài lớn hơn gói cộng
với header của nó để cung cấp khoảng bảo vệ. Trong mạng không có khe thời gian, gói có
thể có kích thước bằng hay không bằng nhau, gói đến và vào một switch không được sắp

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -8- SVTH: Đoàn Khánh Tân Thanh
Chương I – Khái quát về sự phát triển của mạng quang

xếp. Do đó, hoạt động chuyển mạch packet-by-packet có thể thực hiện tại bất cứ thời
điểm nào. Điều đó có thể dẫn đến xung đột giữa các gói đến khác nhau cùng chiếm một
ngõ ra như nhau. Hiển nhiên rằng, trong mạng không có khe thời gian, khả năng xung đột
là lớn hơn bởi vì hành xử của từng gói là không thể đoán trước được và không có tính quy
luật. Nhưng mạng không có khe thời gian thì dễ hơn, rẻ hơn trong xây dựng và linh hoạt
hơn so với mạng có khe thời gian. Trong mạng IP khi giải quyết xung đột, người ta dùng
các bộ đệm lưu dữ tạm thời các gói tin. Người ta đề xuất dùng cách thức này trong mạng
toàn quang bằng cách dùng các bộ đệm quang. Nhưng làm sao để chế tạo các bộ đệm
quang đó chính là một vấn đề lớn. Người ta đề xuất dùng các đoạn dây trễ FDL nhưng
hiệu quả của nó thì không cao trong khi chi phí sản xuất lớn và công nghệ chưa thực sự
trưởng thành [4, 5].
Trong mạng chuyển mạch khối quang OBS, những gói được tập trung lại và truyền
đi trên một đơn vị truyền tải lớn hơn gọi là burst (khối). Burst sau đó được chuyển mạch
qua mạng lõi quang hoàn toàn trong miền quang theo sau một gói điều khiển của nó.
Mạng chuyển mạch khối quang cho phép đa hợp thống kê ở mức độ cao hơn và thích hợp
hơn cho lưu lượng đột biến so với mạng chuyển mạch kênh quang. Mạng chuyển mạch
khối quang không cần nhiều kỹ thuật bắt buộc kèm theo như mạng chuyển mạch gói
quang [2].
Chuyển mạch kênh quang thích hợp cho những loại dữ liệu đòi hỏi tốc độ cố định
(trễ cố định) như thoại và truyền hình; tuy nhiên, nó lại không thích hợp với các loại lưu
lượng đột biến và không liên tục. Chuyển mạch gói làm việc tốt với các lưu lượng tốc độ
biến đổi, như số liệu, và có thể đạt được hiệu quả sử dụng băng thông cao. Độ ưu tiên của
dữ liệu có thể gộp chung trong chuyển mạch gói; tuy nhiên, khó có thể đảm bảo chất
lượng dịch vụ (dịch vụ best effort) và độ trễ của gói có thể biến đổi khác nhau.
Chuyển mạch khối quang chỉ mới được giới thiệu trong thời gian gần đây cho mạng
quang WDM; do vậy, nó không được biết đến nhiều như chuyển mạch kênh quang và
chuyển mạch gói quang. Chuyển mạch kênh quang sử dụng phương thức chiếm dụng tài
nguyên hai chiều nên thời gian chiếm dụng tài nguyên lớn. Chuyển mạch gói quang yêu
cầu nhiều bộ đệm quang, cơ chế điều khiển phức tạp và cần một cơ chế đồng bộ chính
xác. Chuyển mạch khối quang được thiết kế để cân bằng ưu khuyết điểm của chuyển
mạch kênh quang và chuyển mạch gói quang. Chuyển mạch khối quang sử dụng phương
thức điều khiển một chiều (one way) truyền dẫn tức thời, nghĩa là burst dữ liệu theo sau
một gói điều khiển mà không cần chờ chấp thuận của node kế tiếp trên đường đi đến đích.
Kỹ thuật chuyển mạch khối quang khác với các kỹ thuật khác trong cách nó chiếm dụng
tài nguyên và giải phóng tài nguyên.

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -9- SVTH: Đoàn Khánh Tân Thanh
Chương I – Khái quát về sự phát triển của mạng quang

Trong mạng chuyển mạch khối quang, một burst dữ liệu bao gồm nhiều gói (thí dụ
như IP) được chuyển đổi quang điện rồi đưa qua mạng hoàn toàn trong miền quang. Một
gói điều khiển được truyền đi trước burst dữ liệu một khoảng thời gian gọi là offset để cấu
hình các chuyển mạch trên suốt đường đi đến đích. Thời gian offset cho phép các gói điều
khiển được xử lý và các chuyển mạch có thể được thiết lập trước khi burst dữ liệu đến các
node trung gian; do đó không cần các bộ đệm điện hay quang tại các node trung gian này
trong khi các gói điều khiển đang được xử lý.
1.2 Mục tiêu của đề tài
Như đã đề cập ở trên, đặc điểm khác biệt và nổi bậc của mạng chuyển mạch khối
quang OBS là đơn vị truyền dẫn trong mạng không phải là các gói tin mà là một burst dữ
liệu theo sau một gói điều khiển, trong đó burst dữ liệu được sinh ra sau quá trình đóng
khối (burst assembly) bằng cách tập nhiều gói tin trong đó rồi truyền đi. Một câu hỏi đặt
ra là bao nhiêu gói tin trong một burst hay kích thước burst là bao nhiêu và nó ảnh hưởng
như thế nào đến hoạt động của mạng. Đây chính là mục tiêu nghiên cứu của đề tài.
1.3 Giới hạn của đề tài
Sau đây là các giới hạn trước khi thực hiện mô phỏng, những thông số này sẽ được
giải thích rõ hơn trong Chương 4.
- Mạng đường trục Hoa Kỳ NSFNET 14 node được chọn để mô phỏng, các
node trong mạng được giả sử là các node kết hợp. Liên kết trong mạng là các liên
kết WDM song hướng, 2 bước sóng điều khiển và 2 bước sóng dữ liệu cho mỗi
hướng
- Lưu lượng ngõ vào mạng OBS có phân phối Poisson có tốc độ λ
- Kích thước mỗi gói tin IP được giả sử là bằng nhau và bằng 1250 byte
- Thời gian chuyển mạch quang là 10 us
- Thời gian xử lý gói điều khiển là 2.5us
- Lưu lượng được phân phối đồng nhất tại tất cả các cặp node trong mạng
- Việc tính toán đường đi dựa vào giải thuật tìm đường đi ngắn nhất SPF
- Gói điều khiển có kích thước cố định và bằng 64 byte

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -10- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

Chương II

MẠNG CHUYỂN MẠCH KHỐI QUANG OBS

2.1 Giới thiệu


Chuyển mạch khối quang OBS nhận được sự quan tâm như là một trong những công
nghệ hứa hẹn cho mạng Internet toàn quang thế hệ kế tiếp. Chuyển mạch khối quang kết
hợp được những ưu điểm của chuyển mạch kênh quang và chuyển mạch gói quang trong
khi đang tìm cách khắc phục những hạn chế của nó. Trong mạng OBS, mặt bằng điều
khiển và mặt bằng dữ liệu phân cách với nhau và việc báo hiệu là ngoài băng. Do đó, mặt
bằng điều khiển có thể thực hiện trong miền điện trong khi mặt bằng dữ liệu là toàn
quang. Trong chương này giới thiệu về mạng OBS; bắt đầu với việc mô tả về kiến trúc
của mạng, sau đó tìm hiểu về các thành phần trong mạng với những chức năng khác nhau.
2.2 Kiến trúc mạng OBS
Mạng truy nhập Mạng truy nhập

Node biên
Liên kết WDM

Mạng lõi OBS

Node lõi

Hình 2.1: Kiến trúc mạng OBS [19]


Như đã đề cập ở chương 1, trong mạng chuyển mạch khối quang, burst dữ liệu bao
gồm nhiều gói tin được chuyển mạch qua mạng hoàn toàn trong miền quang. Một gói
điều khiển BHP được truyền trước burst dữ liệu để cấu hình các chuyển mạch quang trên
đường đi đến đích của burst. Gói điều khiển mang thông tin về chiều dài burst, thời điểm
burst bắt đầu phát. Burst dữ liệu theo sau gói điều khiển không cần chờ báo nhận rằng tài
nguyên đã được chiếm và các chuyển mạch đã được cấu hình dọc theo đường đến đích.

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -11- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

Để làm được điều đó Người ta đề xuất xây dựng mạng OBS như hình 2.1. Một mạng OBS
như vậy bao gồm các node biên, các node lõi liên kết với nhau bằng các liên kết WDM.
Node biên đóng các gói dữ liệu điện thành burst, biến đổi quang điện và chuyển vào
mạng lõi OBS. Node biên ở phía nguồn được gọi là node ngõ vào. Node biên ở phía đích
gọi là node ngõ ra. Node ngõ vào đóng các burst từ những đầu cuối gửi thành một burst.
Burst dữ liệu này được truyền qua mạng lõi OBS hoàn toàn trong miền quang mà không
đệm lại tại bất kỳ node nào. Node biên ngõ ra nhận burst dữ liệu và giải đóng khối thành
các gói tin và chuyển tiếp các gói này đến đầu cuối nhận. Hình 2.2 mô tả các thành phần
của mạng OBS với các chức năng khác nhau.

Lưu lượng vào Lưu lượng ra

Đóng khối Báo hiệu


Giải đóng
khối
Định tuyến Lập lịch
và sắp xếp
bước sóng Chuyển tiếp
gói
Giải quyết
xung đột
Lập lịch biên

Node biên ngõ vào Node lõi Node biên ngõ ra

Hình 2.2: Sơ đồ các khối chức năng của mạng OBS


Trong kiến trúc mạng, Người ta giả sử rằng mỗi node có thể hỗ trợ hai loại lưu
lượng cả điện lẫn quang. Do đó, mỗi node bao gồm một node lõi và một node biên, như
hình 2.3(a) và hình 2.3(b). Người ta gọi node này là node kết hợp.
Node lõi - Hình 2.3(a) - cơ bản bao gồm một bộ kết nối chéo quang OXC và một
đơn vị điều khiển chuyển mạch SCU. SCU tạo và bảo trì một bảng chuyển tiếp và chịu
trách nhiệm cấu hình cho OXC. Khi SCU nhận một gói BHP, nó đọc thông tin trong gói
xác định đích của gói này và burst dữ liệu theo sau, kế đó tra cứu thông tin trong bảng
chuyển tiếp để đưa đến quyết định nên mở ngõ ra nào của khối kết nối chéo quang OXC.
Nếu như ngõ ra có thể sử dụng được khi burst dữ liệu đến, SCU sẽ cấu hình cho OXC cho
phép burst dữ liệu chuyển thẳng qua hoàn toàn trong mình quang.

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -12- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

Nếu ngõ ra mong muốn không thể sử dụng tức đang được sử dụng bởi một burst
khác, việc cấu hình cho OXC phụ thuộc vào nguyên tắc giải quyết xung đột được đưa vào
mạng. Nói chung, SCU chịu trách nhiệm đọc các gói điều khiển, lập lịch, nhận biết xung
đột và giải quyết, tra cứu bảng chuyển tiếp, điều khiển ma trận chuyển mạch (hay OXC),
tạo lại gói điều khiển để phát tiếp nếu node này chưa phải là đích của nó và điều khiển
việc chuyển đổi bước sóng. Trong trường hợp một burst dữ liệu vào OXC trước gói điều
khiển của nó thì burst này chỉ đơn giản là bị rớt đi.

O/E SCU E/O

Quang – Điện Điện – Quang


2 1 1 3 1

Ngõ vào Ngõ ra

Ma trận chuyển mạch quang (OXC)


Demux Mux

Hình 2.3(a): Kiến trúc node lõi [6]

Class 0
Lưu
Class 1
Lưu lượng ra
lượng
vào Bộ Đến node 1 Lập Tách
lịch khối
định kênh burst
tuyến

Class 0

Class 1
E
Node biên Đến node N -1 Đóng khối burst O

Tới node lõi

Hình 2.3(b): Kiến trúc node biên [6]


GVHD: Th.S Nguyễn Huỳnh Minh Tâm -13- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

Node biên - Hình 2.3(b)- thực hiện chức năng sắp xếp gói, đệm gói, tập hợp gói này
thành một burst và phân chia các gói từ trong một burst. Có nhiều cách để đóng khối
burst, như các kỹ thuật dựa trên giới hạn của bộ định thời hay mức ngưỡng của kích thước
burst. Kiến trúc của một router biên bao gồm một bộ định tuyến (RM), một bộ đóng khối
(BA) và một bộ lập lịch kênh (S). RM chọn lựa các ngõ ra thích hợp bằng các giải thuật
tìm đường ngắn nhất về mặt thời gian hay số lượng bước nhảy cho mỗi gói và gửi nó đến
bộ BA thích hợp. Mỗi bộ BA chứa các gói dữ liệu có cùng một đích tới. Trong bộ BA còn

Gói IP

Phân loại theo đích tới


và lớp dịch vụ
Phục hồi

Đóng khối

Lập lịch kênh

Tính thời gian offset Phát đi gói điều


và gởi đi khiển

Burst dữ liệu Lớp MAC


Lớp quang
Xử lý gói điều khiển
và chiếm tài nguyên
Mặt bằng điều khiển
Mặt bằng dữ liệu

Hình 2.4: Mô tả hoạt động của mạng OBS [4]


phân ra các gói có mức ưu tiên dịch vụ khác nhau để đóng khối chúng. Bộ lập lịch kênh
tạo ra một burst dựa trên kỹ thuật đóng khối và truyền burst này đến ngõ ra thích hợp. Ở
node đích có bộ giải đóng khối phân tách các gói tin từ burst này và chuyển lên lớp trên.
Hình 2.4 tóm tắt về hoạt động của mạng OBS. Hình vẽ cho thấy sự phân tách giữa
mặt bằng điều khiển và mặt bằng dữ liệu; sự phân tách giữa lớp điện (lớp MAC) và lớp
quang. Gói tin lớp trên được phân loại theo đích đến và theo mức dịch vụ sau đó được
đưa đến bộ đóng khối để tạo thành burst và một gói điều khiển. Burst này sau đó được
đưa đến bộ lập lịch kênh truyền để chọn một bước sóng ở ngõ ra. Kế đến gói điều khiển
sẽ được thêm thông tin về kênh truyền mà burst dữ liệu sử dụng và gói điều khiển được
phát đi. Một thời gian offset time kể từ khi gói điều khiển được phát đi, burst dữ liệu cũng
được phát đi trên kênh mà bộ lập lịch đã sắp xếp. Trên đường đi gói điều khiển được các
node trung gian xử lý bằng cách lấy các thông tin trong nó mà cấu hình các chuyển mạch
GVHD: Th.S Nguyễn Huỳnh Minh Tâm -14- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

quang cho thích hợp. Trong các phần tiếp theo của chương này sẽ mô tả rõ hơn về các
hoạt động này.
2.3 Đóng khối (Burst Assembly)
Đóng khối là tiến trình tập hợp và đóng các gói ở ngõ vào từ lớp cao hơn thành burst
tại node biên ngõ vào của mạng OBS. Người ta đã đưa ra nhiều kỹ thuật cho việc đóng
khối trong mạng OBS. Hai kỹ thuật được nhiều người quan tâm nhất là đóng khối dựa
theo bộ định thời (timer-based) và dựa trên mức ngưỡng (threshold-based) (hình 2.5).
Trong phương pháp đóng khối dựa trên bộ định thời, một burst được tạo ra trong
mạng theo chu kỳ thời gian, tức là đúng thời gian đã được định sẵn trong bộ định thời thì
sẽ tạo ra một burst không quan tâm đến kích thước burst dài hay ngắn. Do đó, chiều dài
của burst biến đổi khi tải vào mạng biến đổi. Trong phương pháp dựa trên mức ngưỡng,
số lượng gói trong mỗi burst bị giới hạn hay nói rõ hơn là chiều dài của các burst là bằng
nhau. Phương pháp dựa trên mức ngưỡng sẽ không phát các burst theo một chu kỳ thời
gian nào cả. Phương pháp đóng gói dựa trên bộ định thời và dựa trên mức ngưỡng thì
tương tự nhau, bởi lẽ tại tốc độ cố định cho trước thì giá trị về kích thước hay giá trị về
thời gian có thể chuyển đổi qua lại (mapping).
Một vấn đề đặt ra cho đóng khối là làm sao tìm ra giá trị của bộ định thời và kích
thước ngưỡng để tối thiểu xác suất mất gói trong mạng OBS. Việc chọn lựa một con số
tối ưu cho mức ngưỡng (hay giá trị của bộ định thời) là một vấn đề cần nghiên cứu. Đây
cũng là vấn đề mà luận văn nghiên cứu. Trước khi đi vào thực hiện mô phỏng quá trình
đóng khối có thể hình dung như sau:
Nếu như giá trị ngưỡng quá nhỏ, burst sẽ ngắn, số lượng burst trong mạng sẽ nhiều.
Nhiều burst trong mạng dẫn đến nhiều xung đột xảy ra, nhưng số lượng gói mất ở mỗi lần
xung đột lại nhỏ. Nhưng với số lượng burst nhiều như vậy sẽ tăng áp lực lên mặt bằng
điều khiển để xử lý các gói điều khiển của mỗi burst dữ liệu. Nếu như thời gian chuyển
mạch không được bỏ qua, burst ngắn sẽ dẫn đến việc sử dụng lại tài nguyên trở nên kém
đi do phải cần nhiều thời gian cho chuyển mạch. Mặt khác, nếu mức ngưỡng quá lớn,
burst sẽ dài, số lượng burst vào mạng sẽ nhỏ. Do đó, số lượng xung đột sẽ giảm so với
trường hợp burst ngắn, nhưng số lượng gói mất trung bình cho mỗi lần xung đột sẽ tăng.
Như vậy cần có một sự cân bằng giữa số lượng xung đột và số lượng gói mất trung
bình tại mỗi lần xung đột. Do đó, hoạt động của mạng OBS sẽ được cải thiện khi các gói
đến được đóng khối với một kích thước tối ưu. Tương tự đối với kỹ thuật đóng khối dựa
trên bộ định thời cũng cần giá trị tối ưu về mặt thời gian.

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -15- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

Gói
đến Burst 3 Burst 2 Burst 1

Kích thước tối đa


Khoảng cách giữa
các burst không
đều nhau

Gói
đến Burst 3 Burst 2 Burst 1

Thời gian tối đa


Khoảng cách giữa
Bộ định thời các burst đều nhau

Hình 2.5: Kỹ thuật đóng khối (a) dựa theo mức ngưỡng (b) dựa theo bộ định thời
Trong trường hợp gói đến có yêu cầu về QoS, như giới hạn về độ trễ, một giải pháp
hiển nhiên là phải thêm vào mạng phương thức dựa trên bộ định thời. Giá trị của bộ định
thời được chọn lựa dựa trên yêu cầu về độ trễ end-to-end của các gói. Mặt khác, nếu
không có giới hạn về độ trễ, phương pháp dựa trên mức ngưỡng có thể thích hợp hơn, bởi
vì những burst có kích thước cố định trong mạng sẽ giảm số lượng gói mất trong mỗi lần
xung đột [9].
Việc sử dụng cả hai loại dựa trên bộ định thời và dựa trên mức ngưỡng sẽ là lựa
chọn tốt nhất và việc đóng khối sẽ linh hoạt hơn là chỉ dùng một trong hai phương pháp ở
trên. Bằng cách tính toán giá trị mức ngưỡng tối ưu, tính toán chiều dài burst tối thiểu, và
sử dụng giá trị của bộ định thời dựa trên độ trễ gói cho phép, chúng ta có thể chắc chắn
rằng số lượng gói mất là nhỏ nhất trong khi vẫn đảm bảo độ trễ cho phép.
Kỹ thuật đóng khối sử dụng tại node biên cũng ảnh hưởng đến kỹ thuật báo hiệu
trong mạng lõi. Hầu hết những kỹ thuật báo hiệu cần biết chiều dài burst, thời gian burst
đến hay cả hai để chiếm dụng tài nguyên một cách hiệu quả trong mạng lõi. Thí dụ như,
trong JET, phương thức báo hiệu này cần biết cả hai thông số là chiều dài burst và thời

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -16- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

gian burst đến. Một trong những nhược điểm của những kỹ thuật đóng khối truyền thống
là việc báo hiệu chỉ được khởi tạo khi toàn bộ burst đã được đóng khối, điều này sẽ làm
tăng độ trễ trong việc đóng khối.
Trong [7], kỹ thuật đóng khối dựa trên dự đoán được giới thiệu, trong đó giá trị
ngưỡng của burst hay giá trị của bộ định thời của burst kế tiếp được dự đoán dựa trên tốc
độ trung bình của lưu lượng tới. Bằng cách sử dụng chiều dài burst dự đoán, gói BHP có
thể được gửi đi vào mạng lõi trước khi một burst thực sự được tạo ra và có thể chiếm tài
nguyên trước; do đó, có thể làm giảm độ trễ do đóng khối. Giá trị dự đoán có thể được sử
dụng cho việc thiết lập các giá trị mức ngưỡng hay bộ định thời cho burst kế tiếp. Trong
[7], ông D. Morato đã đề cập phương pháp dự đoán chiều dài burst kế tiếp dựa trên tính
tương quan của lưu lượng. Ưu điểm của phương pháp đóng gói dựa trên dự đoán là báo
hiệu vào đóng khối có thể thực hiện song song nhau do đó tiết kiệm được thời gian đóng
khối.
Trong lúc đóng khối, gói đến ở lớp cao hơn được chứa trong hàng đợi dựa trên đích
đến và lớp QoS của chúng. Sau khi tiêu chuẩn đóng gói được thoã mãn (mức ngưỡng kích
thước burst hay giá trị của bộ định thời đạt được), burst sẽ được tạo ra và gửi vào mạng
lõi. Do đó, chúng ta có thể thấy đặc tính đến của gói và phân phối chiều dài gói ảnh
hưởng nhiều đến đặc tính đến của burst và phân phối chiều dài burst.
Trong lúc đóng khối, node biên ngõ vào sắp xếp và lập lịch cho các gói đến vào
trong những bộ đệm ngõ vào theo mức QoS của nó và đích đến của nó. Những gói này
sau đó được tập hợp thành burst và chứa trong bộ đệm ngõ ra. Bởi vì mỗi hướng và mỗi
lớp dịch vụ yêu cầu một bộ đệm riêng, nên số lượng lượng lớp dịch vụ và kích thước
mạng quyết định nhiều đến kích thước của bộ đệm tại node biên ngõ vào.
Một tình huống phức tạp hơn khi gói đến có nhiều lớp dịch vụ. Trong trường hợp
này, các gói đến phải được đóng khối cùng với mức ưu tiên của nó vào trong mỗi burst để
mạng lõi quang có thể cung cấp các mức dịch vụ khác nhau. Việc chọn lựa một cơ cấu
đóng khối cho tất cả các lớp dịch vụ có thể là không thích hợp. Một phương pháp đóng
khối dựa trên mức ngưỡng hay bộ định thời với giá trị bộ định thời lớn có thể dẫn đến
những đột trễ không thể chấp nhận được cho các lớp dịch vụ yêu cầu nghiêm ngặt về độ
trễ, trong khi chiều dài burst không tối ưu có thể tăng độ mất gói đối với các lớp dịch vụ
yêu cầu nghiêm ngặt về mất mát dữ liệu. Trong [6] đã nêu ra kiểu đóng khối kết hợp để
khắc phục vấn đề này. Trong phương pháp đóng khối kiểu kết hợp, gói từ các lớp dịch vụ
khác nhau với những yêu cầu về QoS khác nhau có thể đóng khối trên cùng một burst.
Trong phần mô phỏng của luận văn sẽ đề cập đến kỹ thuật đóng khối kiểu vi phân hỗ trợ
nhiều lớp dịch vụ khác nhau. Trong phương pháp đóng gói kiểu vi phân, loại burst được
định nghĩa dựa trên yêu cầu về QoS. Mỗi loại burst sau đó được đóng khối sử dụng một

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -17- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

cơ cấu đóng khối thích hợp để chắc chắn rằng đáp ứng được yêu cầu QoS. Giá trị của bộ
định thời được quyết định dựa trên yêu cầu nghiêm ngặt của độ trễ end-to-end và giá trị
của mức ngưỡng được thiết lập bằng giá trị tối ưu của độ dài burst với lưu lượng tải vào
mạng nằm trong một dãi cho trước.
2.4 Định tuyến và sắp xếp bước sóng
Định tuyến là một trong những vấn đề cơ bản cho bất kỳ phương thức truyền tải nào.
Trong các nghiên cứu, hầu hết các nhà nghiên cứu về OBS đều giả sử là định tuyến cố
định được tính toán bởi nguồn. Định tuyến hop-by-hop trong mạng IP thì không thích hợp
bởi vì khoảng thời gian tính toán đường đi trên mỗi hop khá lâu. Mặc dù vậy, hầu hết các
nghiên cứu người ta đều giả sử rằng một con đường ngắn nhất cố định tới đích được tính
toán tại nguồn. Con đường ngắn nhất có thể là ngắn nhất về mặt thời gian trong trường
hợp có yêu cầu nghiêm ngặt về độ trễ, hay có thể số lượng hop tối thiểu khi có yêu cầu về
mặt mất mát dữ liệu [4].
Một vấn đề quan trọng nữa trong định tuyến và sắp xếp bước sóng là sự cân bằng
mất mát giữa việc truyền dữ liệu trên những con đường dài và những con đường ngắn
hơn. Có thể hiểu vấn đề này như sau:
Thời gian offset time của một burst giảm khi burst truyền qua mạng, làm cho khả
năng blocking tại cuối đường đi tăng lên. Cho nên cần có một giải thuật phân cấp burst
dựa trên việc tính toán những burst này đã sử dụng bao nhiêu tài nguyên mạng và nó gần
đích hay không và dựa vào cấp bậc này mà thêm một chế độ ưu tiên cho burst. Luận văn
không đi sâu vào vấn đề này vì thời gian có hạn. Chi tiết của phần này được trình bày
trong [10].
2.5 Báo hiệu trong mạng OBS
Báo hiệu và chiếm tài nguyên là một trong những điểm khác biệt của OBS so với các
kỹ thuật truyền tải toàn quang khác. OBS sử dụng báo hiệu ngoài băng tức truyền trên
một kênh khác với kênh truyền burst, trong đó gói điều khiển được truyền đi trước burst
dữ liệu một khoảng thời gian gọi là offset time.
Khi một burst được truyền qua mạng lõi quang, một phương thức báo hiệu cần phải
thêm vào để chiếm tài nguyên và cấu hình các chuyển mạch quang tại mỗi node. Báo hiệu
có thể là trong băng, bản tin điều khiển được truyền trên cùng bước sóng với burst dữ liệu
hay báo hiệu ngoài băng, bản tin điều khiển được truyền trên một bước sóng khác so với
burst dữ liệu. Nhưng người ta sử dụng báo hiệu ngoài băng cho các nghiên cứu.
Sau khi gói điều khiển được truyền đi, node nguồn có thể đợi chấp thuận trước khi
truyền burst dữ liệu hay node nguồn có thể truyền burst dữ liệu không cần nhận một chấp
thuận nào. Phương pháp đợi chấp thuận được gọi là tell-and-wait (TAW). Trong TAW tài
GVHD: Th.S Nguyễn Huỳnh Minh Tâm -18- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

nguyên đảm bảo được chiếm; tuy nhiên, độ trễ end-to-end có thể lớn do phải chờ chấp
thuận.
Khi node nguồn không cần chờ chấp thuận, burst dữ liệu có thể theo sau gói điều
khiển ngay lập tức, phương thức báo hiệu này gọi là Tell-And-Go (TAG) hay burst dữ
liệu có thể theo sau gói điều khiển sau một khoảng thời gian offset time (hình 2.7),
phương thức báo hiệu này gọi là Just-Enough-Time (JET).
2.5.1 Just-Enough-Time (JET)
Hình 2.6 mô tả về kỹ thuật báo hiệu JET. Như hình vẽ, đầu tiên node nguồn gởi một
gói gói điều khiển BHP trên kênh điều khiển đến đích. Gói BHP được xử lý tại mỗi node
trung gian để thiết lập một đường đi cho dữ liệu toàn quang cho burst dữ liệu đi qua. Nếu
việc chiếm dụng tài nguyên thành công, chuyển mạch sẽ được cấu hình ưu tiên cho burst
này đi qua. Trong thời gian đó, burst này vẫn còn đợi ở nguồn trong miền điện. Sau một
khoảng thời gian định trước gọi là offset time, burst được gửi trên một bước sóng định
trước hoàn toàn trong miền quang [10]. Offset time được tính dựa trên số lượng hop từ
nguồn đến đích và thời gian chuyển mạch của node lõi. Offset time được tính theo công
thức OT = δ.h + ST trong đó h là số lượng hop giữa nguồn và đích, δ là thời gian cần thiết
để xử lý gói điều khiển tại mỗi node và ST là thời gian chuyển mạch. Nếu tại node nào
việc chiếm dụng không thành công thì burst sẽ bị rớt. Đặc tính kỹ thuật duy nhất của JET
khác biệt so với các kỹ thuật báo hiệu một chiều là cơ chế chiếm dụng tài nguyên có trì
hoãn và giải phóng kênh truyền ngầm định.
Thông tin cần thiết được bảo trì tại mỗi kênh truyền của mỗi ngõ ra tại bất kỳ node
nào cho JET là thời điểm bắt đầu và kết thúc của tất cả các burst đã được lập lịch, điều
này làm cho hệ thống trở nên phức tạp. Mặt khác, JET có thể nhận nhận ra những tình
huống không có xung đột nào xảy ra, cho dù thời điểm bắt đầu của burst mới có thể sớm
hơn thời điểm kết thúc của một burst đã được chấp nhận, nghĩa là một burst có thể được
truyền ở giữa hai burst đã chiếm tài nguyên trước. Do đó, khả năng mất gói trong mạng
sử dụng JET tăng lên.
Có hai phương thức báo hiệu một chiều khác đó là Tell-and-Go và Just-in-Time.
Trong phương thức TAG, burst dữ liệu theo sau gói điều khiển ngay khi gói này vừa phát
đi chứ không chờ một khoảng thời gian offset time như trong JET; do đó burst dữ liệu
phải được trì hoãn tại mỗi node trung gian để có thời gian cho các node này xử lý gói điều
khiển và các chuyển mạch được cấu hình. Việc trì hoãn được thực hiện nhờ các dây trễ
FDL.
JIT tương tự như JET ngoại trừ JIT là phương thức báo hiệu chiếm dụng tài nguyên
tức thì và giải phóng tài nguyên yêu cầu rõ thay vì là chiếm dụng tài nguyên có trì hoãn

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -19- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

và giải phóng tài nguyên ngầm định. Ưu điểm cơ bản của việc sử dụng những kỹ thuật
báo hiệu một chiều là tối thiểu được độ trễ end-to-end cho việc truyền dẫn dữ liệu trên
mạng quang đường trục.

Node vào Node 1 Node 2 Node ra


Thời điểm phát gói
điều khiển

Thời gian
offset

Thời điểm phát gói


dữ liệu
Thời gian xử lý gói
điều khiển δ
Burst dữ
liệu Thời gian chuyển
mạch ST

Thời gian
truyền burst
Thời
gian

Hình 2.6: Kỹ thuật báo hiệu JET [4]


2.5.2 Tell-and-Wait (TAW)
Trong TAW, một gói “SETUP” BHP được gửi dọc theo đường đi đến đích của burst
để thu thập thông tin về các kênh có thể sử dụng được tại tất cả các node trên đường đi.
Tại đích, một giải thuật sắp xếp kênh được thực thi và thời gian chiếm tài nguyên trên mỗi
liên kết được xác định dựa trên thời gian có thể sử dụng của kênh sớm nhất LAUT. Một
gói “CONFIRM” BHP được gửi ngược lại (từ đích đến nguồn). Tại bất cứ node nào trên
đường đi, nếu kênh yêu cầu đã được sử dụng, một gói “RELEASE” BHP được gửi đến
đích để giải toả tài nguyên đã được chiếm dụng trước đó. Nếu gói “CONFIRM” tới nguồn
thành công, burst lập tức được gửi vào mạng.

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -20- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

2.6 Lập lịch kênh truyền


Trong lập lịch kênh truyền, nhiều bước sóng có thể sử dụng ở mỗi liên kết và vấn đề
là sắp xếp burst mới đến trên một kênh thích hợp hay trên một bước sóng thích hợp.
Trong bài toán này, các bộ chuyển đổi bước sóng toàn quang được giả sử là có ở tất cả
các node và việc lập lịch diễn ra ở node lõi trung gian và những node ngõ vào. Mục đích
cơ bản trong loại lập lịch này là tối thiểu khoảng cách “gap” của mỗi lập lịch trên mỗi
kênh, trong đó khoảng cách “gap” là khoảng rỗi giữa hai burst được truyền trên cùng một
bước sóng ngõ ra. Lập lịch kênh trong mạng OBS khác so với việc lập lịch trong mạng IP
truyền thống. Trong mạng IP, tại mỗi node lõi lưu trữ các gói tin trong các bộ đệm và lập
lịch chúng ở một ngõ ra mong muốn. Trong mạng OBS, một khi một burst đến node lõi,
nó phải được chuyển đến node kế mà không cần lưu trữ trong các bộ đệm miền điện.
Khi một gói BHP đến node lõi, SCU xử lý gói tin này và một giải thuật lập lịch kênh
được đưa ra để sắp xếp một burst chưa được lập lịch đến một kênh dữ liệu ở ngõ ra. Khối
lập lịch kênh truyền lấy thời điểm burst đến và chiều dài burst từ BHP. Giải thuật có thể
cần thiết để duy trì thời điểm kênh truyền rỗi gần nhất LAUT hay horizon, khoảng cách
và chỗ trống ở tất cả các kênh dữ liệu ở ngõ ra. Theo lý thuyết, LAUT của một kênh dữ
liệu là thời điểm gần nhất tại đó đó kênh số liệu có thể được sử dụng bởi một burst chưa
được lập lịch hay có thể hiểu là thời điểm kết thúc của burst đã được lập lịch trong một số
trường hợp. Khoảng cách là thời gian giữa một burst chưa được sắp xếp với điểm cuối
của một burst đã được lập lịch trước đó. Chỗ trống “gap” là thời gian thời gian rỗi giữa
hai burst đã được lập lịch trên kênh dữ liệu. Đối với giải thuật lấp đầy chỗ trống, thời gian
bắt đầu và kết thúc của mỗi burst trên tất cả kênh dữ liệu phải được duy trì.
Những thông tin sau được sử dụng bởi khối lập lịch cho hầu hết các giải thuật lập
lịch bước sóng:
- Lb là chiều dài burst
- t là thời điểm đến của burst chưa được lập lịch
- W là số lượng kênh dữ liệu tối đa ở ngõ ra
- Nb số tối đa burst dữ liệu được sắp xếp
- Di kênh dữ liệu thứ i ở ngõ ra
- LAUTi là LAUT của kênh dữ liệu thứ i đối với giải thuật không lấp chỗ trống
- S(i,j) và E(i,j) là thời điểm bắt đầu và kết thúc một burst đã được sắp lịch thứ j trên
kênh dữ liệu thứ i.
- Gapi Nếu kênh truyền có thể sử dụng, khoảng cách là sự khác biệt giữa t và LAUTi
đối vởi giải thuật lập lịch không có lấp chỗ trống và là sự khác biệt giữa t và E(i,j)
của burst trước đó j cho giải thuật lập lịch có lấp chỗ trống. Khi kênh truyền “bận”

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -21- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

thì Gapi = 0. Thông tin về khoảng cách rất có ích cho việc chọn lựa một kênh
truyền đối với trường hợp có nhiều kênh truyền đang rỗi.
Những giải thuật lập lịch kênh dữ liệu có thể được phân loại thành hai lớp : có và
không có lấp chỗ trống. Những giải thuật cơ sở khác biệt nhau dựa trên loại và số lượng
thông tin trạng thái được duy trì tai một node về các kênh truyền. Trong những giải thuật
không lấp chỗ trống, LAUTi trên mọi kênh dữ liệu Di, với i = 1, 2, 3…, W, được duy trì
bởi khối lập lịch. Trong những giải thuật có lấp chỗ trống, thời gian bắt đầu và kết thúc
được duy trì tại mỗi node trên tất cả các kênh.
Trong phần dưới đây chúng ta xem xét về các giải thuật lập lịch kênh không lấp chỗ
trống như FFUC, LAUC và lấp chỗ trống FFUC-VF, LAUC-VF.
2.6.1 First Fit Unscheduled Channel (FFUC)
(tạm dịch: tìm kênh thích hợp đầu tiên theo thứ tự định trước ở ngõ ra cho burst đang đến)
Giải thuật lập lịch FFUC lưu trữ giá trị của LAUT (hay còn gọi là horizon) trên tất
cả các kênh dữ liệu. Khi có burst dữ liệu đang đến, giải thuật FFUC sẽ tìm kiếm trên tất
cả kênh truyền theo một thứ tự cố định và sắp xếp một kênh thích hợp tìm thấy đầu tiên
cho burst đang đến này. Một kênh truyền được xem là thích hợp đối với giải thuật FFUC
khi giá trị LAUT của nó nằm trước thời điểm burst đến (burst arrival time). Ưu điểm cơ
bản của FFUC là tính đơn giản của giải thuật và giải thuật chỉ cần phải duy trì giá trị của
LAUTi trên mỗi kênh. Giải thuật FFUC có thể được giải thích như hình 2.7(a). Có thể mô
tả như sau: FFUC thực hiện dựa trên các giá trị LAUT0, LAUT1 và LAUT2 của kênh dữ
liệu D0, D1 và D2. Thời điểm t chính là thời điểm burst đến. Ta thấy cả LAUT1 và LAUT2
đều thoã mãn còn LAUT0 và LAUT3 không thoã mãn. Nếu những kênh này được sắp xếp
thứ tự dựa trên chỉ số của kênh (D0, D1,.., DW), thì kênh dữ liệu D1 sẽ được chọn bởi vì
theo thứ tự D1 nằm trước D2. FFUC là một giải thuật đơn giản nhưng nó lại cho xác suất
mất dữ liệu cao và hiệu quả sử dụng băng thông kém; dưới đây sẽ đề cập đến các giải
thuật khác cho xác suất mất mát dữ liệu thấp hơn.
2.6.2 Horizon hay Latest Available Unscheduled Channel (LAUC)
(tạm dịch: tìm kênh thích hợp có thời điểm LAUT gần nhất)
Giải thuật lập lịch kênh LAUC hay Horizon giữ giá trị LAUT của tất cả các kênh
truyền và sắp xếp cho burst dữ liệu kênh có LAUT gần nhất. Giải thuật LAUC cũng được
giải thích trong hình 2.7(a). Dựa trên LAUT1 và LAUT2 của các kênh dữ liệu D1 và D2
thích hợp cho burst đang đến chưa được lập lịch vì thời điem burst đến t nằm sau các
LAUT này. Nếu như trong giải thuật FFUC thì kênh D1 được chọn. Tuy nhiên, trong
LAUC còn quan tâm đến khoảng cách giữa t và LAUT của mỗi kênh, nó sẽ chọn kênh
nào có khoảng cách này nhỏ hơn; điều này làm tăng hiệu quả sử dụng kênh truyền so với
GVHD: Th.S Nguyễn Huỳnh Minh Tâm -22- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

FFUC. Chúng ta quan sát rằng Gap1 > Gap2; do đó burst đến sẽ được lập lịch ở ngõ ra có
khoảng cách nhỏ nhất, nghĩa là D2.

t
Arrival
LAUT0
Lb
D0

Gap1 LAUT1
FFUC
D1

Gap2 LAUT2
LAUC
D2

LAUT3

D3

Thời gian

(a)
Arrival
E0,a E0,a
E0,1 S0,1 E0,0 S0,0
Lb
D0
FFUC-VF E1,0
S1,0

D1
E2,0
S2,0

D2

E3,1 S3,1 E3,0 S3,0


LAUC-VF
D3
Thời gian
Gap3
(b)
Hình 2.7: Sự sắp xếp kênh truyền sau khi sử dụng (a) giải thuật không lấp chỗ trống
(FFUC và LAUC), và (b) giải thuật lấp chỗ trống (FFUC-VF và LAUC-VF)

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -23- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

2.6.3 First Fit Unscheduled Channel with Void Filling (FFUC-VF)


(Tạm dịch: tìm kênh thích hợp đầu tiên theo thứ tự và nếu có thể thì sử dụng khoảng giữa
hai burst đã được lập lịch)
Điểm khác biệt của các giải thuật lấp đầy chỗ trống nói chung là không lưu trữ giá
trị LAUT mà lưu thời điểm bắt đầu S và kết thúc E của mỗi burst đã được lập lịch trên
mọi kênh dữ liệu. Ưu điểm của giải thuật này là tận dụng khoảng trống giữa hai burst dữ
liệu đã được sắp xếp làm tăng hiệu suất sử dụng kênh truyền. FFUC-VF cũng giống như
FFUC nó chọn lựa kênh truyền thích hợp theo thứ tự. Kênh đầu tiên với một khoảng cách
thích hợp được chọn. Giải thuật FFUC-VF được mô tả như hình 2.7(b).
Dựa tren Si.j và Ei,j, tất cả các kênh dữ liệu D0, D1, D2 và D3 có khả năng đáp ứng
cho burst đến chưa được lập lịch. Nếu các kênh này được đánh thứ tự như chỉ số của từng
kênh, burst mới đến sẽ được lập lịch ở ngõ ra D0 bởi vì nó thoả mãn các điều kiện sau: là
kênh có số thứ tự đầu tiên có E0,0 nằm trước E0,a, khoảng cách giữa điểm kết thúc burst
thứ nhất và điểm bắt đầu của burst thứ hai đã được lập lịch lớn hơn chiều dài của burst
mới đến chưa được lập lịch.
2.6.4 Latest Available Unscheduled Channel with Void Filling (LAUC-VF)
(tạm dịch: tìm kênh thích hợp có thời điểm LAUT gần nhất và nếu có thể thì sử dụng
khoảng giữa của hai burst đã được lập lịch)
Giải thuật LAUC-VF cũng lưu những thời điểm bắt đầu S và kết thúc E cho mỗi
burst dữ liệu đã được lập lịch trên tất cả các kênh dữ liệu. Ưu điểm của giải thuật này là
tận dụng khoảng trống giữa hai burst dữ liệu được sắp xếp. Kênh truyền với một khoảng
trống mà khoảng cách nhỏ nhất sẽ được chọn. Giải thuật LAUC-VF được giải thích trong
hình 2.7(b). Dựa trên Si.j và Ei,j, tất cả các kênh dữ liệu D0, D1, D2 và D3 thích hợp với
chiều dài của burst. Chúng ta thấy được rằng D3 có khoảng cách nhỏ nhất Gap3; do đó
burst mới đến sẽ được lập lịch trên D3.
2.7 Giải quyết xung đột
Bởi vì mạng chuyển mạch khối quang cung cấp phương thức truyền tải không kết
nối, cho nên có nhiều khả năng các burst sẽ xung đột với nhau tại các node trung gian.
Xung đột xảy ra nếu như nhiều burst tại nhiều ngõ vào khác nhau đều muốn ra ở cùng
một ngõ ra tại cùng thời điểm. Sau đây sẽ là các phương pháp giải quyết xung đột trong
mạng OBS.
2.7.1 Bộ đệm quang
Việc giải quyết xung đột ở mạng chuyển mạch gói miền điện truyền thống sử dụng
các bộ nhớ RAM lưu giữ tạm thời các gói tin khi xung đột xảy ra; tuy nhiên một bộ đệm

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -24- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

giống như RAM trong miền quang hiện nay vẫn chưa được hữu hiệu. Trong mạng quang,
người ta đề xuất dùng dây trễ FDL (Fiber Delay Line) để lưu giữ các gói tin trong miền
quang một khoảng thời gian cố định. Bằng cách kết nối các dây trễ FDL theo tầng hay kết
nối song song, bộ đệm được đề xuất này có thể giữ các gói tin trong miền quang hay burst
dữ liệu trong các thời gian khác nhau.

Burst 1
Burst 1 vào bộ đệm

Ngõ vào 1

Burst 2 đi tiếp

Burst 2
Node mạng
Dây trễ FDL
Ngõ vào 2

Hình 2.8: Mô tả giải quyết xung đột bằng bộ đệm


Cách này có thể giảm mất dữ liệu nhưng lại không đảm bảo gói đến đúng thứ tự.
Trong một số kiến trúc của bộ đệm quang, kích thước của những bộ đệm thì bị giới hạn
không chỉ xét đến yếu tố về mặt tín hiệu mà cả yếu tố về kích thước vật lý. Để làm trễ một
burst khoảng 1 ms thì cần phải có một đoạn cáp dài hơn 200 km. Bởi vì những hạn chế
của bộ đệm quang nên một node mạng có thể không thể đáp ứng được lưu lượng tải lớn
và trong điều kiện tải đột biến. Những bộ đệm quang dựa trên định tuyến bước sóng và
điều khiển bước sóng trong một vòng khép kín cũng là một giải pháp cho bộ đệm quang
(hình 2.9).
FDL

Khuyếch đại

Khoá chuyển
mạch

Sợi quang

Hình 2.9: Dây trễ FDL cùng với bộ khuếch đại và chuyển mạch tạo thành một
vòng lặp trễ

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -25- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

2.7.2 Chuyển đổi bước sóng


Trong WDM, nhiều bước sóng được ghép cùng lúc trên một liên kết kết nối hai
chuyển mạch quang. Nhiều bước sóng có thể giảm tối thiểu số lượng xung đột. Giả sử
rằng có hai burst đều đi đến một đích và ra ở cùng ngõ ra tại cùng thời điểm. Cả hai burst
có thể vẫn còn truyền đi tiếp nếu ở trên hai bước sóng khác nhau. Cách thức này rất có
khả năng trong việc giảm thiểu xung đột, đặc biệt trong lúc số lượng bước sóng có thể
ghép trên sợi quang ngày càng tăng lên. Người ta ước đoán trong tương lai có thể ghép từ
160 đến 320 bước sóng trên một sợi quang [12].
Chuyển đổi bước sóng là tiến trình chuyển đổi một bước sóng ở ngõ vào thành một
bước sóng khác ở ngõ ra. Bộ chuyển đổi bước sóng là những thiết bị chuyển đổi bước
sóng ở ngõ vào thành một bước sóng khác ở ngõ ra, do vậy tăng khả năng sử dụng lại
bước sóng, nghĩa là cùng một bước sóng có thể được sử dụng lại để mang nhiều kết nối
trên những liên kết khác nhau trong mạng. Do đó những bộ chuyển đổi bước sóng cung
cấp khả năng nâng cao hiệu suất sử dụng bước sóng.
Node 2 Node 3
Burst 1
ra ở 1

ra ở 2

ra ở 1 Burst 2
Burst 1
ra ở 1

Burst 2

Node 1
Node 4

Hình 2.10: Mô tả giải quyết xung đột bằng cách chuyển đổi bước sóng
Trong mạng chuyển mạch khối quang, số lượng xung đột có thể giảm xuống bằng
cách sử dụng thêm khả năng sử dụng lại bước sóng cho phép nhiều bước sóng cùng hoạt
động trên một liên kết từ node ngõ vào đến node ngõ ra. Một burst đến xung đột
(contenting burst) có thể được chuyển tới bất kỳ bước sóng nào ở ngõ ra đang rỗi. Hiện
nay các bộ chuyển đổi bước sóng chỉ được đưa ra và sử dụng trong các phòng thí nghiệm,
công nghệ này cũng chưa trưởng thành và khoảng bước sóng có khả năng chuyển đổi còn
hạn chế. Sau đây là một số loại chuyển đổi bước sóng:

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -26- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

- Chuyển đổi toàn bộ (Full conversion): Một bước sóng mới đến có thể
chuyển đến bất kỳ bước sóng nào ở ngõ ra; do vậy không có một bước sóng nào
xuất hiện liên tục trên một kết nối từ đầu cuối đến đầu cuối.
- Chuyển đổi có giới hạn (Limited conversion): Việc chuyển đổi bước sóng bị
giới hạn để không phải tất cả các kênh ngõ vào đều có thể kết nối đến tất cả các
kênh ngõ ra. Việc giới hạn này sẽ làm giảm chi phí của chuyển mạch trong khi
chấp nhận một số lượng xung đột.
- Chuyển đổi cố định (Fixed conversion): Đây cũng là một dạng của limited
conversion, trong đó mỗi kênh ngõ vào được kết nối với một hay nhiều kênh ngõ
ra được chỉ định trước.
- Chuyển đổi một phần (Sparse wavelength conversion): Trong mạng có thể
bao gồm các node có chuyển đổi toàn bộ, có giới hạn, cố định và không có bộ
chuyển đổi bước sóng.
2.7.3 Định tuyến chuyển hướng
Trong định tuyến chuyển hướng, xung đột được giải quyết bằng cách định tuyến
burst dữ liệu đến một ngõ ra khác thay vì là ngõ ra như ban đầu; tức là kể từ node đó đi
theo con đường khác để đến đích chứ không còn đi theo con đường ngắn nhất ban đầu.
Định tuyến chuyển hướng không được quan tâm đối với mạng chuyển mạch gói trong
miền điện; tuy nhiên, nó lại thực sự cần thiết đối với mạng toàn quang trong khi các bộ
đệm quang còn hạn chế.

5
Đường ngắn Đường đi sau
nhất được 4 khi chuyển
chọn ban đầu hướng

1 3

Hình 2.11: Mô tả giải quyết xung đột bằng chuyển hướng burst
Trong định tuyến chuyển hướng, gói hay burst dữ liệu bị chuyển hướng có thể đi
trên con đường dài hơn để đến đích làm tăng độ trễ và giảm chất lượng tín hiệu. Hơn nữa,
có thể một gói sẽ bị lặp vòng (loop) trong mạng do không tìm được đường đến đích hay bị

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -27- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

chuyển hướng quá nhiều và tăng thêm tắc nghẽn trong mạng. Một kỹ thuật được thêm vào
để không cho chiều dài tuyến đường vượt quá mức ngưỡng. Kỹ thuật này có thể là xây
dựng một bộ đếm hop (bước nhảy) và không cho số hop vượt quá con số tối đa.
Một số vấn đề khác trong định tuyến chuyển hướng là bảo trì thời gian offset giữa
gói điều khiển và gói dữ liệu của một burst bị chuyển hướng. Bởi vì burst bị chuyển
hướng phải đi trên đường có số lượng hop nhiều hơn khi nó không bị chuyển hướng, do
đó thời gian offset trước đây là không đủ để các chuyển mạch kế tiếp xử lý các gói điều
khiển trước khi burst dữ liệu đến. Để khắc phục vấn đề này, nhiều xử lý khác được thêm
vào để tính toán lại thời gian offset. Một cách đơn giản hơn là chỉ cần loại bỏ những burst
dữ liệu có thời gian offset không hợp lệ. Các bộ đếm và các bộ đếm dựa vào thời gian có
thể được sử dụng để nhận ra số lượng hop mà burst đã đi qua. Các bộ đệm sử dụng dây trễ
có thể được áp dụng; tuy nhiên, cách làm này lại làm tăng thêm tính phức tạp của lớp
quang.
2.7.4 Phân đoạn burst
Trong các nghiên cứu về mạng chuyển mạch khối quang, khi xung đột xảy ra giữa
hai burst mà không thể giải quyết bằng các phương pháp trên thì một trong hai burst bị rớt
toàn bộ, cho dù các phần chồng lấn của các burst lên nhau là rất nhỏ. Trong các ứng dụng
yêu cầu nghiêm ngặt về độ trễ nhưng không quan tâm lắm đến mất gói thì người ta mong
muốn là rớt các gói chồng lấn hơn là rớt toàn bộ burst.
Trong [14], ông V. M. Vokkarane đã đưa ra phương pháp cho việc giải quyết xung
đột bằng cách phân đoạn burst (Burst Segment), làm cho số lượng gói mất đi giảm xuống
bằng cách chỉ cho rớt phần chồng lấn lên nhau của một trong hai burst. Ưu điểm của
phương pháp này là có thể xem xét đến các mức ưu tiên của từng burst từ đó có thể đưa ra
quyết định rớt bỏ một phần của burst đến xung đột (contenting burst) hay burst bị xung
đột (contented burst) (như hình 2.12).
Trong phân đoạn burst, một burst bao gồm nhiều đơn vị truyền tải nhỏ hơn gọi là
đoạn (segment). Mỗi đoạn gồm bao gồm một header và phần payload của đoạn. Header
của đoạn bao gồm các trường cho bit đồng bộ, thông tin sửa lỗi, thông tin về nguồn và
đích đến và chiều dài của đoạn trong trường hợp các đoạn có chiều dài khác nhau. Phần
payload của đoạn có thể mang nhiều loại dữ liệu, như gói IP, tế bào ATM hay các frame
Ethernet (Hình 2.13). Khi hai burst xung đột với nhau trong mạng chuyển mạch khối
quang, chỉ có một số đoạn của một burst chồng lấn lên burst kia mới bị rớt, như hình 2.18.
Nếu thời gian chuyển mạch không được bỏ qua thì có thêm một số đoạn có thể bị rớt khi
chuyển mạch được cấu hình trở lại. Trong các mô tả sau đây, ta gọi burst đến trước hay
burst bị xung đột gọi là contented burst và burst đến sau hay burst đến xung gọi là
contending burst.

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -28- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

Để đạt được tính trong suốt thì lớp quang không cần phải nhận ra ranh giới thực sự
của các đoạn và không cần biết định dạng phần payload của mỗi đoạn. Trong trường hợp
này, lớp quang chỉ nhận ra thông tin như các node nguồn và đích của burst, thời gian
offset, thời gian của burst và có thể là độ ưu tiên của burst. Tính trong suốt này có thể dẫn
đến việc quyết định tối ưu nhất cho việc giảm thiểu mất gói nhưng cũng có thể một đoạn
có thể bị chia thành hai phần tách biệt do vậy có thể mất mát gói sẽ tăng lên trong trường
hợp đoạn này đến đích không được nhận ra; tuy nhiên, bằng cách bảo đảm tính trong suốt,
lớp lõi quang trở nên đơn giản và không cần thiết phải tính toán lại các giá trị trong gói
điều khiển ở các node lõi.

Những đoạn bị rớt


Contenting burst

Node trung
Ngõ vào 1 gian
Vùng xung
đột
Ngõ ra 1

Contented burst
còn nguyên
Ngõ vào 2 Contented burst Contenting
burst bị xén
một phần

Hình 2.12: Mô tả giải quyết xung đột bằng phân đoạn burst
Nếu như ranh giới của các đoạn hoàn toàn trong suốt trong mạng lõi toàn quang thì
các node biên phải chịu trách nhiệm định nghĩa và xử lý các đoạn trong miền điện. Hơn
nữa, node nhận phải có khả năng nhận ra điểm bắt đầu của mỗi đoạn và xác định xem thử
đoạn đó có còn nguyên vẹn hay không; do đó, một số header dùng để nhận ra lỗi và sửa
lỗi phải chứa trong mỗi đoạn. Thêm vào đó thông tin về tín hiệu đồng hồ có thể cũng cần
phải có trong mỗi header của mỗi đoạn để node nhận ngõ ra có thể xác định và phục hồi
dữ liệu trên mỗi đoạn. Một đoạn có thể một frame Ethernet. Nếu mỗi đoạn bao gồm một
frame Ethernet, việc đồng bộ và nhận ra frame được thực hiện bởi trường preamble trong
header của frame Ethernet, trong khi lỗi và các frame không còn nguyên vẹn có thể được
nhận ra bằng cách sử dụng trường CRC trong frame Ethernet; do đó, không cần thiết phải
có phần điều khiển cho mỗi đoạn vì mọi thứ đã có sẵn trong một frame Ethernet.
Nếu các đoạn không được định nghĩa như những frame Ehternet, việc chọn lựa
chiều dài của mỗi đoạn trở thành một thông số chính của hệ thống. Một đoạn có thể có

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -29- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

chiều dài cố định hay thay đổi. Khi các đoạn có chiều dài không đổi thì việc đồng bộ ở
máy thu trở nên dễ dàng; tuy nhiên, những đoạn có chiều dài thay đổi lại có khả năng
chứa được những gói có chiều dài khác nhau. Kích thước của mỗi đoạn còn phải cân nhắc
giữa mất mát trong một lần xung đột và số lượng header trong một burst. Đoạn dài sẽ dẫn
đến mất nhiều dữ liệu cho mỗi lần xung đột; tuy nhiên, những đoạn dài cũng dẫn đến ít
overhead và tỉ số giữa chiều dài header so với chiều dài payload sẽ nhỏ theo. Trong
chương này, chúng ta giả sử rằng mỗi đoạn là một frame Ethernet có chiều dài cố định và
không cần phải tìm kích thước tối ưu của mỗi đoạn.

Burst

Đoạn 1 Đoạn 2 Đoạn 3 Đoạn 4 Đoạn 5

Đoạn

Bit bảo vệ Loại dữ ID của Chiều dài Phần kiểm


liệu đoạn đoạn tra

Hình 2.13: Cấu trúc của burst được đóng kiểu phân đoạn
Một số vấn đề khác trong phân đoạn burst là quyết định xem đoạn nào bị rớt khi
xung đột xảy ra giữa hai burst. Chúng ta đã đặt tên cho burst burst bị xung đột là
contented burst còn burst xung đột là contenting burst. Chú ý rằng burst được xem là
contented hay contenting burst phụ thuộc vào thứ tự của nó đến chuyển mạch chứ không
phải thứ tự của gói điều khiển đến trước hay đến sau. Có hai cách để xác định xem những
đoạn nào nên rớt, được gọi là tail-dropping (rớt phần đuôi) và head-dropping (rớt phần
đầu).
Những đoạn bị rớt

Contented burst

Contenting burst
Thời gian

Vùng xung đột Thời gian


chuyển mạch

Hình 2.14: Xung đột làm chồng lấn các đoạn lên nhau [14]

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -30- SVTH: Đoàn Khánh Tân Thanh
Chương II – Mạng chuyển mạch khối quang OBS

Trong cách rớt phần đuôi tail-dropping thì các đoạn chồng lấn của contented burst sẽ bị
rớt còn trong cách rớt phần head-dropping đầu thì các đoạn của contenting burst chồng
lấn sẽ bị rớt. Ưu điểm của việc tail-dropping hơn head-dropping trong việc thay đổi các
gói sai thứ tự ở node đích với giả thuyết rằng các gói bị rớt được truyền lại sau đó. Việc
head-dropping làm cho các gói đến đích sai thứ tự; tuy nhiên, ưu điểm của head-dropping
là nó chắc chắn rằng một khi burst đến một node không bắt gặp một xung đột nào và sau
đó các burst này tiếp tục đi đến đích mà không phụ thuộc vào các burst đi sau nó có mức
ưu tiên nào đi chăng nữa.

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -31- SVTH: Đoàn Khánh Tân Thanh
Chương III – Phần mềm mô phỏng mạng Network Simulator và phần mô phỏng mạng OBS

Chương III

PHẦN MỀM MÔ PHỎNG MẠNG NETWORK


SIMULATOR (NS2) VÀ PHẦN MÔ PHỎNG
MẠNG OBS

3.1 Giới thiệu về phần mềm Network Simulator NS2


3.1.1 Khả năng của chương trình
Chương trình mô phỏng NS2 được xây dựng để thực hiện mạng số liệu dựa trên
chuyển mạch gói. NS2 có thể mô tả hoạt động của các giao thức mạng.
3.1.2 Việc xây dựng NS2
NS2 là một chương trình mô phỏng hướng đối tượng, được viết bằng C++, cùng với
một trình thông dịch OTcl. Trình mô phỏng hỗ trợ một lớp phân cấp trong C++ (còn gọi
là trình biên dịch phân cấp) và một lớp phân cấp tương tự trong trình thông dịch OTcl
(còn gọi là trình thông dịch phân cấp). Chúng có quan hệ chặt chẽ với nhau.
Nếu nhìn một cách khái quát ta thấy có mối quan hệ 1-1 giữa trình biên dịch và trình
thông dịch phân cấp. Nhưng chủ yếu lại là lớp TclObject. Người dùng tạo ra đối tượng
mô phỏng mới thông qua trình thông dịch, các đối tượng đó được minh hoạ trong trình
thông dịch và được phản ánh chặt chẽ bởi đối tượng quan hệ bên trong trình biên dịch
phân cấp.
Trình thông dịch phân cấp được thiết lập một cách tự động thông qua các phương
thức được định nghĩa trong lớp TclClass. Các đối tượng đã được minh hoạ của người
dùng được phản ánh thông qua các phương thức định nghĩa trong lớp TclObject. Ngoài ra
còn có các cấp khác trong mã C++ và các tập lệnh OTcl nhưng các cấp bậc khác này
không được phản ánh trong TclObject.
Tại sao lại có hai ngôn ngữ? NS sử dụng hai ngôn ngữ bởi vì trình mô phỏng có hai
công việc cần phải làm.
Thứ nhất, về khía cạnh của quá trình mô phỏng của các giao thức yêu cầu một ngôn
ngữ lập trình hệ thống có thể vận dụng hiệu quả byte, các gói header và các thuật toán
thực thi trên dữ liệu lớn. Để tốc độ thực thi (run-time speed) của các tác vụ đó chiếm ưu

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -32- SVTH: Đoàn Khánh Tân Thanh
Chương III – Phần mềm mô phỏng mạng Network Simulator và phần mô phỏng mạng OBS

thế, ngược lại thời gian khứ hồi của các tác vụ đó (thời gian thực thi mô phỏng, tìm lỗi,
sửa lỗi, biên dịch lại) lại kém quan trọng hơn.
Thứ hai, phần lớn những nghiên cứu về mạng là tìm kiếm các thông số hay cấu hình
thay đổi không lớn, hay nghiên cứu trên một số địa hình mạng. Trong trường hợp này,
thời gian lặp lại (thay đổi mô hình và thực thi lại) thì quan trọng hơn. Vì quá trình cấu
hình chỉ thực hiện một lần (vào lúc bắt đầu của quá trình mô phỏng), nên thời gian thực
thi trong tác vụ này ít quan trọng hơn.
NS2 kết hợp các công việc cần thiết đó với hai ngôn ngữ, C++ và OTcl. C++ thực
thi nhanh nhưng lại chậm hơn trong quá trình chuyển đổi, do đó nó phù hợp với khía cạnh
thực thi giao thức. OTcl thực thi chậm hơn nhưng thời gian chuyển đổi của nó lại rất
nhanh, do đó nó lý tưởng với việc thay đổi cấu hình trong quá trình mô phỏng. NS2
(thông qua tclcl) giúp liên kết các đối tượng và các biến xuất hiện trong cả hai ngôn ngữ.
Tóm lại OTcl dùng để:
- Cho việc cấu hình và thiết lập các thông số
- Lấy các đối tượng có sẵn trong C++
Và C++ dùng để:
- Cho việc xử lý từng gói tin của mỗi luồng
- Cho việc thay đổi cách thể hiện của các đối tượng có sẵn
3.1.3 Cấu trúc của phần mềm NS2
Hình sau mô tả cấu trúc của phần mềm mô phỏng bao gồm cấu trúc thư mục và chức năng
của một số file quan trọng.

Hình 3.1: Cấu trúc phần mềm mô phỏng NS2

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -33- SVTH: Đoàn Khánh Tân Thanh
Chương III – Phần mềm mô phỏng mạng Network Simulator và phần mô phỏng mạng OBS

Trong số các thư mục con của ns-allinone-2.1b thì ns-2 là nơi chứa các file phục vụ cho
mô phỏng (cả viết bằng C++ lẫn OTcl). Trong thư mục này, tất cả OTcl code và những
kịch bản thí dụ đều chứa trong thư mục gọi là tcl và hầu hết được viết bằng C.
Thư mục tcl có những thư mục con, trong số đó có thư mục lib chứa mã nguồn OTcl cho
những thành phần cơ bản nhất và quan trọng nhất (agent, node, link, packet, address,
routing…) và đây cũng là nơi mà user hay developer “ghé thăm” nhiều nhất.
Ns -lib. Tcl: Lớp mô phỏng và đa số các định nghĩa chức năng thành phần của nó
ngoại trừ LAN, Web, và Multicast được chứa trong file này.
Ns -default. Tcl: Những giá trị mặc định cho các thông số cấu hình cho các thành
phần mạng được chứa ở đây. Bởi vì nhiều thành phần mạng được bổ sung bằng
C++, nên những thông số là những biến C++ tạo ra các giá trị cho OTcl qua chức
năng liên kết OTcl, bind(C++_variable_name, OTcl_variable_name).
Ns -packet. Tcl: Thành phần khởi tạo những định dạng header của gói được chứa
trong file này. Khi tạo ra một gói header thì phải đăng ký header trong file này để
tạo ra những xử lý khởi tạo.
3.1.3 Việc sử dụng chương trình
Ở mức độ người sử dụng: Việc mô phỏng bắt đầu bằng việc nắm rõ các câu lệnh tạo
đối tượng mô phỏng từ đó xây dựng các kịch bản mô phỏng Tcl. Các câu lệnh tạo đối
tượng được nêu rõ trong tài liệu hướng dẫn kèm theo của phần mềm NS2. Sau khi tạo một
kịch bản mô phỏng Tcl. Việc chạy chương trình mô phỏng chỉ đơn giản bằng câu lệnh sau
tại dấu nhắc lệnh của Terminal trong Linux.
[Root ~]#ns kichban. Tcl [tham số 1] [tham số 2] ….
Với kichban. Tcl là file kịch bản thể hiện các yếu tố mô phỏng mà người sử
dụng mong muốn.
[Tham số] là các thông số người sử dụng muốn nhập vào trong lúc bắt đầu thực
hiện mô phỏng
Ở mức độ người vừa phát triển vừa sử dụng: Việc phát triển phần mềm bắt đầu từ
việc nắm rõ cấu trúc các thư mục chính trong NS2 cùng với một số file quan trọng liên
quan đến các đối tượng mới cần thêm vào. Khi người sử dụng tạo ra một chương trình mô
phỏng chạy trên nền NS2 cho riêng mình thì cũng có thể tạo ra các câu lệnh tạo đối tượng
riêng cho mình, đó cũng là một ưu điểm của phần mềm NS2 mã nguồn mở.

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -34- SVTH: Đoàn Khánh Tân Thanh
Chương III – Phần mềm mô phỏng mạng Network Simulator và phần mô phỏng mạng OBS

3.1.4 Kết quả xuất ra từ chương trình mô phỏng và cách xử lý chúng


Sau khi chạy kịch bản mô phỏng, NS2 cho phép tạo ra hai file có phần mở rộng là
nam và tr tạm gọi là file nam và file trace. File nam ghi nhận các sự kiện cho việc trình
diễn việc truyền nhận và rớt gói một cách trực quan. File trace thì ghi nhận lại các sự kiện
xảy ra trong mô phỏng như nhận gói, rớt gói … dùng cho việc tính toán các thông số khác
từ các sự kiện của một file trace.
Sử dụng file nam:
Việc sử dụng file nam bằng lệnh sau tại dấu nhắc lệnh của Terminal
[Root ~]#nam file. Nam
Hình sau mô tả cửa sổ của chương trình nam mô tả các sự kiện một cách trực quan.

Hình 3.2: Cửa sổ chương trình hiện ra sau khi chạy file nam
Xử lý file trace:
Hình sau mô tả cấu trúc của một file trace được tạo ra sau khi mô phỏng kết thúc.

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -35- SVTH: Đoàn Khánh Tân Thanh
Chương III – Phần mềm mô phỏng mạng Network Simulator và phần mô phỏng mạng OBS

Còn đây là một đoạn trích trong một file trace.

Event: Có bộn ký tự thường xuất hiện là r, +, -, d để chỉ các sự kiện nhận, vào hàng
đợi, ra khỏi hàng đợi và rớt
Time: Thời điểm xảy ra sự kiện
From node: node đi của gói tin
To node: node đến của gói tin
Pkt type: loại gói tin
Pkt size: kích thước gói tin (byte)
Fid: số nhận diện cho mỗi luồng dữ liệu
Src Addr: Địa chỉ node nguồn ở dạng node. Port
Dst Addr: Địa chỉ node đích ở dạng node. Port
Pkt id: chỉ số nhận diện cho mỗi gói tin. Chỉ số này là duy nhất.
Với việc nắm rõ định dạng của một file trace người dùng có thể dùng các ngôn ngữ
như Perl hay Awk để duyệt file theo hàng và theo cột với một giải thuật để tính toán cụ
thể. Thí dụ như tính tỉ lệ gói mất, độ delay trung bình của các gói tin.
3.2 Phần mềm mở rộng của NS2 OBS4NS ( OBS for NS) dùng để mô phỏng
mạng OBS
3.2.1 Giới thiệu
OBS4NS là một phần mở rộng chạy trên nền NS2, nó giải quyết được vấn đề mô
phỏng mạng toàn quang trong khi NS2 chưa có. Và đặc biệt, OBS4NS 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ạng OBS.
3.2.2 Khả năng của phần mềm
- 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

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -36- SVTH: Đoàn Khánh Tân Thanh
Chương III – Phần mềm mô phỏng mạng Network Simulator và phần mô phỏng mạng OBS

- 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 bước sóng và phân
đoạn burst
- Thực hiện việc lập lịch kênh truyền LAUC, LAUC-VF, …
3.2.3 Việc xây dựng phần mềm
Để có thể mô phỏng được mạng OBS, phần mềm OBS4NS được xây dựng từ
các module : module tạo node mạng, module tạo liên kết, module tạo đơn vị truyền
dẫn trong mạng, module định tuyến và module tạo lưu lượng.
Bảng tóm tắt

Mạng OBS thực tế Trong chương trình mô phỏng

Node mạng Module tạo node


1. Node biên 1. Node biên
+ Input: lưu lượng ngõ vào + Input: lưu lượng từ module tạo lưu lượng
+ Output: burst dữ liệu với các biến số về tốc độ trung bình và kích
thước gói tin
+ Ouput: burst dữ liệu với các biến số liên
quan là điểm bắt đầu và kết thúc của mỗi
burst
2. Node lõi 2. Node lõi
+ Input: burst dữ liệu ở ngõ vào + Input: burst dữ liệu ngõ vào là các biến số
+ Output: burst dữ liệu ở ngõ ra thích hợp lấy từ module tạo node biên cộng với biến
cùng với nguyên tắc giải quyết xung đột số về thời gian lan truyền của burst.
+ Output: burst dữ liệu với các biến số về
điểm bắt đầu và kết thúc tùy thuộc vào biến
số liên quan đến nguyên tắc giải quyết xung
đột.
3. Node kết hợp 3. Node kết hợp
Kết hợp chức năng của 2 loại node trên. Kết hợp biến số của 2 loại node trên.

Liên kết trong mạng Module tạo liên kết trong mạng
Tất cả các liên kết trong mạng đều là các Chương trình xây dựng liên kết trong mạng

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -37- SVTH: Đoàn Khánh Tân Thanh
Chương III – Phần mềm mô phỏng mạng Network Simulator và phần mô phỏng mạng OBS

liên kết ghép kênh theo bước sóng WDM gồm các biến số liên quan đến số kênh điều
khiển, số kênh dữ liệu, băng thông mỗi
kênh và chiều dài mỗi liên kết

Lưu lượng trong mạng OBS Module tạo lưu lượng


Lưu lượng đưa vào mạng OBS được lấy từ + Input: loại phân bố xác suất của lưu
mạng IP. Lưu lượng IP là lưu lượng phức lượng cùng với các biến số về tốc độ trung
tạp, có giá trị ngẫu nhiên. bình và kích thước gói tin.
+ Output: số lượng ngẫu nhiên các gói tin
có chiều dài cố định, sau đó được gởi tới
node biên.

Đơn vị truyền dẫn trong mạng OBS Module tạo các gói tin
+ Burst dữ liệu + Input: kích thước gói tin, cách đóng khối.
+ Gói điều khiển + Output: thời điểm bắt đầu và kết thúc của
burst dữ liệu, thời gian offset time và gói
điều khiển có kích thước cố định.

Định tuyến trong mạng OBS Module định tuyến


Trong mạng OBS sử dụng cách chọn đường + Input: topo mạng với các node và các liên
đi có phí tổn thấp nhất kết
+ Output: đường đi ngắn nhất dựa vào giải
thuật Dijistra

3.2.3. a Module tạo node mạng (ObsNode)


Như đã đề cập phần trên, mạng OBS bao gồm các node biên và các node lõi. Phần
mềm này cũng xây dựng một module cho việc tạo ra các node trong mạng với các chức
năng cụ thể. Và cũng nói thêm rằng các node mạng trong phần mềm này chỉ là những
node unicast không hỗ trợ các node multicast.
Node biên
Hình 3.3 mô tả kiến trúc của node biên và node lõi trong OBS4NS. Hai node này
được vẽ ra trong cùng một hình không có nghĩa là trong node biên có node lõi mà 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

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -38- SVTH: Đoàn Khánh Tân Thanh
Chương III – Phần mềm mô phỏng mạng Network Simulator và phần mô phỏng mạng OBS

có phần giao diện đến lớp MAC còn ở node lõi có chuyển mạch khối quang
(Classifier/ObsSwitch).

Node
biên Giao diện MAC

Node lõi
Liên kết bên trong

Địa chỉ của từng hướng


Ng õ
vào

entry_
Connector/ObsLink
Chuyển mạch khối quang
(Classifier/ObsSwitch)
Ngõ ra

Hình 3.3: Node biên và node lõi trong OBS4NS


Giao diện đến lớp MAC (hình 3.3) 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
NS2). 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. Và
cuối cùng là một bộ lập lịch kênh truyền (Channel Scheduler) chọn một bước sóng thích
hợp cho burst dữ liệu ở ngõ ra. Và ở node biên đích có bộ giải đóng khối
(Agent/Deburstifier) phân 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 đến lớp MAC là bộ đóng khối
(Agent/Burstifier). Việc xây dựng các biến số cho bộ đóng khối như sau: Đóng khối kiểu
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. Trường hợp trong mô
phỏng kết thúc lưu lượng vào, trong khi burst dữ liệu chưa đủ điều kiện để tạo ra thì biến
này cho phép tạo một burst nhỏ hơn.
- 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

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -39- SVTH: Đoàn Khánh Tân Thanh
Chương III – Phần mềm mô phỏng mạng Network Simulator và phần mô phỏng mạng OBS

Ngõ vào ở miền điện

(Classifier/Addr)

Phân loại theo đích đến

CoS CoS (Classifier/CoS) CoS

Phục hồi
(Agent/Burstifier)

(Agent/Deburstifier)
Lập lịch knh truyền

(ChannelScheduler)

Hình 3.4: Giao diện đến lớp MAC


Chúng ta đã biết sau khi tạo được một burst dữ liệu, 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 là offset time mới được phát đi. Thời gian
offset time được tính như sau:
Toffset, i = max(TBHPproc)(n+1) + Tswitch + (Toffset,i-1 + TTx,i-1)+ Textra
- Với n là số số bước nhảy từ nguồn đến đích, i là mức ưu tiên dịch vụ,
max(TBHPproc) là 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à maxTBHPproc(n+1); Tswitch là
thời gian chuyển mạch tại mỗi node trung gian; Toffset, i-1 là thời gian offset
time của burst có mức ưu tiên cao hơn, TTx, i-1 là thời gian truyền burst có mức
ưu tiên cao hơn tối đa. Điều này tạo ra sự cách ly 100% giữa các lớp dịch vụ.
- Textra là thời gian phát sinh do các tình huống khác và được tính như sau
Textra = max(TBHPproc)ndefl + TBHPqueue + Trandom + δ
+ ndefl là số lần chuyển hướng tối đa của một burst theo một phương thức
chống loop.
+ TBHPqueue là thời gian gói điều khiển còn phải chứa trong hàng đợi để chờ xử

+ δ Là thời gian rất nhỏ, là khoảng thời gian bảo vệ, cho phép chuyển mạch
chuyển từ trạng thái hoạt động sang trạng thái cấu hình lại.

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -40- SVTH: Đoàn Khánh Tân Thanh
Chương III – Phần mềm mô phỏng mạng Network Simulator và phần mô phỏng mạng OBS

- Trandom là một khoảng thời gian được tạo ngẫu nhiên trong một khoảng nào
đó đóng vai trò một thông số ngẫu nhiên nào đó trong mạng.
+ max_bhp_queue_time_: biến này cho phép cài đặt
TBHPqueue
+ extra_random_time_: biến này cho phép cài đặt Trandom
+ extra_fixed_time_: biến này giới hạn sự biến đổi của
Trandom và TTx,i-1

Node Node 1 Node 2 Node ra


vào
Thời điểm phát
gói điều khiển

Thời
gian
offset

Thời điểm phát


gói dữ liệu
Thời gian xử lý
gói điều khiển

Burst
dữ liệu Thời gian
chuyển mạch
ST

Thời gian
truyền
Thời burst
gian

Hình 3.5: Thời gian offset


Ngoài các biến số được xây dựng trên còn có biến số sau:
- equal_offset_: cho phép giá trị offset time của các lớp dịch vụ khác nhau
bằng nhau. Biến số liên quan đến gói điều khiển:
- struct_map_: cho phép gói điều khiển gởi đi hay không gửi đi thông tin về
kiến trúc của burst.

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -41- SVTH: Đoàn Khánh Tân Thanh
Chương III – Phần mềm mô phỏng mạng Network Simulator và phần mô phỏng mạng OBS

- bhp_struct_map_: cho phép gói điều khiển có thể được sữa lại khi thông
tin về burst trên đường truyền bị thay đổi (thí dụ như burst bị rớt một phần)
- bhp_size_: biến thiết lập kích thước gói điều khiển. Biến số liên quan đến
việc phân đoạn burst:
- segmentation_ : cho phép việc phân đoạn burst trong miền điện
- max_segmentations_: số lượng đoạn lớn nhất trong một burst
- min_segmentable_size_: kích thước tối thiểu của mỗi đoạn. Và cuối
cùng là
- stats_:cho phép gọi chức năng thống kê
Node lõi
Thành phần chủ yếu của node lõi là đơn vị điều khiển chuyển mạch SCU và ma trận
chuyển mạch quang OXC. Các thành phần này thuộc lớp Classifier/ObsSwitch.

Ngõ ra

BHP SCU

DB
OXC

Classifier/ObsSwitch

Hình 3.6: Node lõi trong OBS4NS


• Chương trình xây dựng SCU với các biến số sau
- bhp_proc_time_: thời gian xử lý gói điều khiển
- channel_schedule_: chọn lựa loại lập lịch kênh truyền
- multipath_: có cho phép chọn lựa nhiều đường đi hay không
- deflection_: cho phép SCU cấu hình cho OXC chuyển hưởng burst
trong việc giải quyết xung đột
Đồng thời cũng thiết lập các thông số liên quan khi dùng phân đoạn burst để giải
quyết xung đột tại node lõi:
- segmentation_: cho phép SCU cấu hình cho OXC phân đoạn burst
trong việc giải quyết xung đột
- max_segmentations_: số lượng đoạn tối đa cho mỗi burst

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -42- SVTH: Đoàn Khánh Tân Thanh
Chương III – Phần mềm mô phỏng mạng Network Simulator và phần mô phỏng mạng OBS

- min_segmentable_size_: kích thước nhỏ nhất cho mỗi đoạn.


Chương trình xây dựng OXC với biến số sau:
- switch_time_: thời gian chuyển mạch của ma trận chuyển mạch quang
Node kết hợp
Ngoài node biên và node lõi với các chức năng riêng biệt phần mềm còn xây dựng
một node kết hợp bao gồm cả chức năng node biên lẫn chức năng node lõi.

Node kết hợp Agent

(Classifier/TypeSwitch) Agent

IP Agent

Ngõ vào Giải đa hợp


Giao diện kết nối
đến lớp MAC (Classifier/Port)

OBS
Node lõi OBS

(Connector/ObsLink) Ngõ ra Ngõ ra

Hình 3.7: Node kết hợp trong OBS4NS


Từ hình 3.7 ta thấy node kết hợp có thể xử lý hai loại lưu lượng IP và burst dữ liệu.
Classifier/TypeSwitch có nhiệm vụ xét xem lưu lượng đến là IP hay burst, từ đó đưa ra
quyết định lưu lượng này xử lý ở phần nào (node lõi hay node biên)
Các thông số liên quan khác được cấu hình giống như cấu hình đối với node biên và
cấu hình đối với node lõi.
3.2.3. b Module tạo liên kết trong mạng (Connector/ObsLink)
Do liên kết trong mạng OBS là các liên kết WDM nên trong xây dựng chương trình
cũng có chức năng tạo các liên kết WDM. Liên kết WDM trong chương trình tạo nên từ
các biến số sau:
- ndc_: số kênh dữ liệu
- ncc_: số kênh điều khiển
- dc_bandwidth_: băng thông kênh dữ liệu
- cc_bandwidth_: băng thông kênh điều khiển
- delay_: độ trễ lan truyền trên mỗi liên kết

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -43- SVTH: Đoàn Khánh Tân Thanh
Chương III – Phần mềm mô phỏng mạng Network Simulator và phần mô phỏng mạng OBS

Trong phần mềm khi xây dựng kịch bản mô phỏng, ta không phải nhập thông số về
độ trễ lan truyền trên mỗi liên kết mà chỉ cần nhập khoảng cách theo km, chương trình sẽ
tự tính ra độ trễ lan truyền với vận tốc ánh sáng là 200000km/s.
3.2.3. c Module đơn vị truyền dẫn trong mạng (ObsPacket)
Hai đơn vị truyền dẫn trong mạng là gói điều khiển OBS_BHP và burst dữ liệu
OBS_DB. Nói thêm rằng trong OBS4NS, burst dữ liệu không phải là một gói cụ thể như
trong NS2. Mà chương trình mô phỏng chỉ bảo trì hai giá trị về thời điểm bắt đầu
DB_START và kết thúc DB_END của mỗi burst. Cụ thể trong chương trình hai giá trị này
là hai biến NULL, điều này làm cho việc xử burst dữ liệu nhanh hơn và không gây áp lực
lên hệ thống xử lý của máy tính.
OBS_BHP
Chương trình sẽ tạo ra gói điều khiển với các thông số sau:
- id_: một biến kiểu unsigned long int làm số nhận diện mỗi gói BHP
- db_start_time_: thời điểm bắt đầu của burst
- db_end_time_: thời điểm kết thúc của burst
- channel_: gói BHP này sẽ đưa lên kênh nào
- ttl_: thời gian sống của gói BHP
- offset_obs_bhp_: thông số về offset time
- stats_: biến gọi module thống kê

id_ db_start_time_ db_end_time_ channel_ ttl_ offset_obs_bhp_ stats_

OBS_DB
Chương trình tạo ra burst dữ liệu với các thông số sau:
- type_: cho biết là DB_START hay DB_END
- id_: số nhận diện burst, cùng chỉ số với OBS_BHP tương ứng
- src_: địa chỉ node nguồn
- dst_: địa chỉ node đích
- channel_: burst này sẽ được đưa lên kênh nào
- stats_: biến gọi module thống kê

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -44- SVTH: Đoàn Khánh Tân Thanh
Chương III – Phần mềm mô phỏng mạng Network Simulator và phần mô phỏng mạng OBS

type_ id_ src_ dst_ arrival_time_ channel_ DBpayload stats_

np_ size_ number_DB_

Phần DBpayload đại diện cho phần dữ liệu của burst được phát đi bao gồm 3 biến số
liên quan:
np_: số gói tin thực tế trong một burst
size_: kích thước thực tế của burst
number_DB_: số lượng đoạn trong một burst dữ liệu trong trường hợp đóng khối
kiểu phân đoạn
3.2.3. d Module lập lịch kênh truyền (ChannelScheduler)
Khi một burst dữ liệu được tạo ra hoặc khi nó đi qua các node trung gian, nó cần phải
được sắp xếp đến một bước sóng nào đó ở ngõ ra. Nhiều nhà nghiên cứu đã đưa ra nhiều
phương thức sắp xếp khác nhau. Ba phương thức lập lịch được nhiều người quan tâm nhất
được xây dựng trong OBS4NS đó là : FFUC, LAUC và LAUC-VF
- channelScheduler/FFUC: Giải thuật lập lập lịch kênh là FFUC
- channelScheduler/LAUC: Giải thuật lập lịch kênh truyền là LAUC
- channelScheduler/LAUC_VF: Giải thuật lập lịch kênh truyền là
LAUC-VF. Với các thông số liên quan như sau :
3.2.3. e Module định tuyến (ObsRoute)
OBS4NS tính toán đường đi dựa trên giả thuật đường đi ngắn nhất SPF. Mỗi node
mạng cùng với các liên kết tạo ra một topo mạng. Sau đó mỗi node mạng sẽ lưu trữ một
bảng các láng giềng của nó. Việc tính toán đường đi ngắn nhất từ node này đến node kia
ban đầu dựa vào số bước nhảy hay hop count để tìm đường đi ngắn nhất. Nếu như việc tìm
đường đi dựa vào số bước nhảy tìm được nhiều hơn một con đường đến đích thì con đường
ngắn nhất được chọn chính là con đường có độ trễ lan truyền nhỏ nhất.
3.2.4 Đánh giá độ chính xác của phần mềm mô phỏng
Để đánh giá được độ chính xác của phần mềm này trong mô phỏng mạng, tác giả đưa ra
hai phương pháp để đánh giá như sau:
- Thứ nhất, xây dựng một mô hình đơn giản để đánh giá
- Thứ hai, xây dựng mô hình mô phỏng với nhưng thông số tham khảo và so
sánh kết quả đạt được trong bài báo

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -45- SVTH: Đoàn Khánh Tân Thanh
Chương III – Phần mềm mô phỏng mạng Network Simulator và phần mô phỏng mạng OBS

Điều kiện mô phỏng đối với mô phỏng trong bài báo: mô phỏng chỉ dừng lại khi 100
triệu gói được phát đi.
3.2.4. a Xây dựng mô hình đơn giản để đánh giá
Mô hình mô phỏng đơn giản được xây dựng như sau. Mạng gồm 2 node, 1 liên kết,
8 kênh dữ liệu trên liên kết, số kênh điều khiển được chọn sao cho sự mất mát burst
không phải là do rớt gói điều khiển (chọn 8 kênh).
Lưu lượng được gửi theo một hướng từ node 1 đến node 2 theo phân phối Poisson
(tốc độ trung bình λ và kích thước gói 1250 byte).
Poisson
8 kênh dữ liệu
Node 1 Node 2

Việc chọn lựa bước sóng ngõ ra theo kiểu FFUC (nó rõ hơn ở phần 8.3).
Khi xảy ra xung đột giữa 2 burst thì rớt burst đến xung đột.
Lấy kết quả mô phỏng so sánh với mô hình lưu lượng Erlang B. Việc chọn mô hình
Erlang B vì những đặc điểm sau của mô hình Erlang B tương ứng với mô hình mô phỏng
xây dựng ở trên:
- Số lượng nguồn vô hạn
- Các cuộc gọi đến ngẫu nhiên
- Xoá cuộc gọi bị khoá
- Thời gian chiếm giữ phân phối theo hàm mũ
Kết quả mô phỏng
0.7 Lý thuyết Erlang B
Mô phỏng
0.6
Xácsuất rớt gói

0.5

0.4

0.3

0.2

0.1

0
0 5 10 15 20
Tải (Erlang)

Hình 3.8: Đồ thị so sánh giữa kết quả mô phỏng và lý thuyết mô hình Erlang B
Nhận xét:
Từ đồ thị nhận được ta thấy mô phỏng đã cho kết quả tương đối chính xác so với
mô hình lý thuyết Erlang. Sở dĩ tại lưu lượng thấp Tải < 13 Erlang, hai đường biểu diễn
GVHD: Th.S Nguyễn Huỳnh Minh Tâm -46- SVTH: Đoàn Khánh Tân Thanh
Chương III – Phần mềm mô phỏng mạng Network Simulator và phần mô phỏng mạng OBS

tách xa nhau ra bởi vì số mẫu cần mô phỏng chưa đạt đến mức độ cần thiết. Nhưng vì
thời gian có hạn nên tác giả chưa thực hiện mô phỏng với số mẫu nhiều hơn.
3.2.4. b So sánh kết quả mô phỏng với kết quả trong bài báo [6]
Trong [6], tác giả thực hiện mô phỏng trên mạng đường trục Hoa Kỳ NSFNET, tác giả đã
xem xét ảnh hưởng của phân đoạn burst đến xác suất mất gói.
800
12
11
800
2400 300
500
1 2800
700
1100 8 9 14
1600 4 500
700
1000 800 7 300
2 600 900
5 13
2000
600

3 6 10
2000 1200

Hình 3.9: Mạng NSFNET


Đây là các giả định của tác giả [6]
- Các node trong mạng được giả sử là các node kết hợp
- Liên kết trong mạng là song hướng : 1 kênh điều khiển và 1 kênh dữ liệu
cho mỗi hướng. Tốc độ truyền dẫn mỗi kênh là 10Gbps
- Lưu lượng vào mạng có phân phối Poisson tốc độ λ và kích thước gói cố
định 1250 byte. Lưu lượng tính bằng Erlang.
- Đóng khối theo kiểu mức ngưỡng tối đa, burst được tạo ra có kích thước cố
định tại tất cả các node và bằng 100 gói
- Gói điều khiển có kích thước 64 byte
- Thời gian chuyển mạch tại mỗi node là 10 us
- Thời gian xử lý gói điều khiển tại mỗi node là 2.5 us
- Lưu lượng được phân phối đồng nhất tại tất cả các cặp node

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -47- SVTH: Đoàn Khánh Tân Thanh
Chương III – Phần mềm mô phỏng mạng Network Simulator và phần mô phỏng mạng OBS

So sánh kết quả của [6] và kết quả mô phỏng

0.08
0.07 bai bao

Xác suất mất gói


0.06 mo phong
0.05
0.04
0.03
0.02
0.01
0
0 0.2 0.4 0.6 0.8 1
Tải (Erlang)

Hình 3.10: Đồ thị so sánh kết quả trong [6] và kết quả mô phỏng bằng OBS4NS
Nhận xét: Sau khi so sánh hai kết quả từ đồ thị, ta thấy phần mềm đã đáp ứng được độ
chính xác so với kết quả [6].
Qua các kiểm nghiệm trên, phần mềm mô phỏng đã xây dựng có thể dùng trong việc mô
phỏng mạng OBS.
3.3.5 Cách sử dụng chương trình OBS4NS
Trong phần này, sẽ mô tả các thao tác để tạo một kịch bản mô phỏng bằng phần mềm
OBS4NS.
Mở đầu một kịch bản mô phỏng bằng dòng lệnh
Set ns [new Simulator]; tạo ra đối tượng mô phỏng

Tạo ra node mạng


Set c($i) [$ns ObsCoreNode $ncc $ndc ChannelScheduler/$stype]; tạo ra node
lõi
Set e($i) [$ns ObsEdgeNode $ncc $ndc ChannelScheduler/$stype]; tạo ra node
biên
Set h($i) [$ns ObsHybridNode $ncc $ndc ChannelScheduler/$stype]; tạo ra node
kết hợp
Trong các câu lệnh trên ChannelScheduler/$stype là loại lập lịch kênh truyền.
Ndc và ncc là số lượng kênh dữ liệu và kênh điều khiển ở ngõ ra mỗi node.
Tạo ra các lệnh kết trong mạng
$ Ns duplex-obs-link $c(1) $c(2) $ncc $ndc 1100 ChannelScheduler/$stype
Câu lệnh trên sẽ tạo ra một liên kết song hướng giữa 2 node c(1) và c(2) với
khoảng cách là 1100 km, lập lịch kênh truyền là ChannelScheduler/$stype

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -48- SVTH: Đoàn Khánh Tân Thanh
Chương III – Phần mềm mô phỏng mạng Network Simulator và phần mô phỏng mạng OBS

Thiết lập các thông số mạng


Agent/Burstifier set equal_offset_ false; cho phép thời gian offset
bằng nhau cho tất cả các mức dịch vụ hay không
Agent/Burstifier set max_db_size_ 50000; thiết lập kich thước tối đa
cho một burst
Agent/Burstifier set bhp_size_ 40; thiết lập kích thước gói điều
khiển
Agent/Burstifier set max_packets_ 100; thiết lập số lượng gói tối đa
trong một burst
Agent/Burstifier set timeout_ 10ms; thiết lập thời gian cho bộ
định thời của bộ đong khối
Agent/Burstifier set min_segmentable_size_ 2000
Agent/Burstifier set segmentation_ false; cho phép phân đoạn burst
trong giải quyết xung đột hay không

Đưa lưu lượng vào mạng


Set Traffic_type($i$j$k) [new Application/Traffic/Traffic_type]
$ Traffic_type($i$j$k) set rate_ $rate ; thiết lập tốc độ trung bình
$ Traffic_type($i$j$k) set packetSize_ 1250 ; thiết lập kích thước gói
# Attach traffic
set udp($i$j$k) [$c($i) set burstifier_([$c($j) id]:$k)]; cho phép việc đóng
khối và gửi đi
$ Traffic_type ($i$j$k) attach-agent $udp($i$j$k)
$ Udp ($i$j$k) set-traffic-generator $ Traffic_type($i$j$k)
$ Ns at 0.0 "$udp($i$j$k) start"; bắt đầu phát lưu lượng
Traffic_type là loại lưu lượng được đưa vào mạng như Pareto, Poisson..
Các câu lệnh sau dùng để giới hạn thời gian của việc mô phỏng. Mô phỏng kết thúc khi
thông số cài đặt đạt đến yêu cầu.
Set sc [$ns get-global-stats-collector k]; biến sc ghi nhận các sự kiện đối
với mức dịch vụ là k
$sc0 set-counter-convergence DATA_SND 125000000000; mô phỏng chỉ kết thúc khi
dữ liệu được phát đi đạt đến mức đã đặt ra là 125000000000
Stats stop-command "stop"; khi đã đạt đến mức yêu cầu thì gọi hàm “stop” để
kết thúc mô phỏng
# Enable stats collector
$ns at [RouteLogic/ObsRoute transit_time] "$ns enable-stats"; cho phép gọi
chức năng thống kê trong thời gian thực hiện mô phỏng

Hàm kết thúc các lưu lượng


Proc stop {} {
Global ns udp edge_count

$ns at-now "$udp($i$j$k) stop"; kết thúc phát burst


Set now [$ns now]
$ Ns at [expr $now + 0.2] "finish"; chờ 0.2s sau cho các burst đã đến đích hết
rồi mới kết thúc mô phỏng
}

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -49- SVTH: Đoàn Khánh Tân Thanh
Chương III – Phần mềm mô phỏng mạng Network Simulator và phần mô phỏng mạng OBS

Hàm dùng để kết thúc mô phỏng và thu thập kết quả


Proc finish {} {
Global ns sc
set ip_snd [expr [$sc get-counter-value DATA_SND]]; lấy số lượng gói được phát
đi
Set ip_rcv [expr [$sc get-counter-value DATA_RCV]]; lấy số lượng gói đã nhận
được
Set ip_drop [expr $ip_snd - $ip_rcv]; tính ra số lượng gói đã bị rớt
set ip_p [expr 1.0*$ip_drop/$ip_snd]; tính toán xác suất mất gói
Set file [open "results. Txt " "a"]; mở một file để ghi kết quả
Puts $file "$ip_p" ; ghi kết quả xác suất mất gói vào một file
exit 0
}

Bắt đầu cho việc chạy mô phỏng


$ns run

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -50- SVTH: Đoàn Khánh Tân Thanh
Chương IV – Thực hiện mô phỏng quá trình đóng khối trong mạng chuyển mạch khối quang OBS

Chương IV

THỰC HIỆN MÔ PHỎNG QUÁ TRÌNH ĐÓNG


KHỐI TRONG MẠNG CHUYỂN MẠCH KHỐI
QUANG OBS

4.1 Mục đích


Như đã trình bày trong phần lý thuyết về mạng OBS ở chương 2, mạng OBS có
nhiễu vấn đề cần phải quan tâm. Các thông số mạng cần phải được chọn một cách hợp lý
và các giao thức mạng phải được xây dựng sao cho tốt nhất về mặt mất mát và độ trễ.
Vì giới hạn về mặt thời gian nên luận văn đi vào nghiên cứu một phần nhỏ trong
mạng OBS, đó là việc đóng khối trong mạng OBS. Việc mô phỏng trong luận văn nhằm
tìm được một giá trị hay một dải giá trị về kích thước burst cho xác suất mất gói nhỏ nhất
trong mạng OBS với một topo và các thông số mạng liên quan được giới hạn trước.
4.2 Cách thức thực hiện mô phỏng và ghi nhận kết quả
Việc mô phỏng sẽ được thực hiện bằng phần mềm mô phỏng OBS4NS. Mô phỏng
được thực hiện để tính toán xác suất mất gói đối với từng kích thước burst với cùng một
lưu lượng tải đưa vào. Sau đó vẽ đồ thị và chọn ra kích thước burst cho xác suất mất gói
thấp nhất trong số các kích thước burst đã mô phỏng
4.3 Giới hạn mô phỏng của bài toán đóng khối
800
12
11
800
2400 300
500
1 2800
700
1100 8 9 14
1600 4 500
700
1000 800 7 300
2 600 900
5 13
2000
600

3 6 10
2000 1200

Hình 4.1: Mạng NSFNET

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -51- SVTH: Đoàn Khánh Tân Thanh
Chương IV – Thực hiện mô phỏng quá trình đóng khối trong mạng chuyển mạch khối quang OBS

Trong chương 1 đã đề cập đến các giới hạn trong mô phỏng quá trình đóng khối
trong mạng OBS nhưng chưa đề cập đến tại sao lại chọn các thông số như vậy. Trong
chương này nhắc lại những thông số đó và giải thích việc chọn lựa các thông số ấy như
thế nào. Sau đây là các giới hạn mô phỏng:
- Mô phỏng trên mạng NSFNET 14 node như trên hình 4.1
- Các node mạng điều là các node kết hợp
- Liên kết là song hướng, mỗi hướng có hai kênh điều khiển và hai kênh dữ liệu
nghĩa là 1 liên kết quang có 8 bước sóng
- Gói đến có phân phối Poisson có tốc độ λ
- Các gói đến có kích thước cố định và bằng 1250 byte
- Tốc độ truyền dẫn trên mỗi kênh truyền là 10 Gb/s
- Thời gian chuyển mạch là 10 us
- Thời gian xử lý gói điều khiển là 2.5 us
- Lưu lượng được phân bố đồng nhất giữa tất cả các cặp node ngõ vào
- Định tuyến dựa vào đường đi ngắn nhất giữa các cặp node
- Đóng khối dựa trên mức ngưỡng tối đa về kích thước burst
- Kích thước gói điều khiển là cố định và bằng 64 bytes
- Giải thuật lập lịch kênh truyền là LAUCVF
Việc chọn lựa mạng NSFNET 14 node trong mô phỏng bởi vì mạng OBS chưa thực
sự được triển khai, việc chọn lựa một mạng chuẩn được các nhà nghiên cứu đề xuất để so
sánh kết quả của các nhà nghiên cứu khác nhau là một điều cần thiết. Ngoài mạng
NSFNET được sử dụng khá phổ biến trên các bài báo về mạng OBS, còn có mạng đường
trục Châu Âu và mạng đường trục Nhật Bản được các nhà nghiên cứu Châu Âu và Nhật
Bản sử dụng để mô phỏng.
Việc chọn số kênh dữ liệu và kênh điều khiển đều là hai; có thể nhìn thấy một điều
bất hợp lý là số lượng kênh truyền được ghép trên một liên kết quang như thế là quá ít so
với công nghệ ghép kênh theo bước sóng tiên tiến. Nhưng việc chọn lựa như vậy dựa vào
hai căn cứ: thứ nhất tác giả tham khảo ở [4, 6, 14], thứ hai là vì khi ta chỉ chú trọng đến
vấn đề đóng khối trong mạng thì có thể kém quan tâm đến các thông số khác hơn. Vả lại
việc chọn lựa số bước sóng cao hơn, với số lượng node mạng và liên kết như vậy để thu
nhận được kết quả hội tụ thì việc mô phỏng yêu cầu cấu hình máy tính lớn và mất rất
nhiều thời gian trong việc mô phỏng. Vì những nguyên nhân như trên tác giả xin được
phép chọn lựa số lượng kênh truyền như vậy.
Việc chọn lựa lưu lượng phân phối Poisson với kích thước gói tin là cố định 1250
byte được tham khảo từ [17] và từ [4, 14]. Theo kết quả thống kê của các nhà nghiên cứu

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -52- SVTH: Đoàn Khánh Tân Thanh
Chương IV – Thực hiện mô phỏng quá trình đóng khối trong mạng chuyển mạch khối quang OBS

của tổ chức này thì số lượng gói tin IP có kích thước xung quanh giá trị 1250 byte
(10MB) là nhiều nhất.
Việc chọn lựa thời gian chuyển mạch là 10us được giải thích như sau: 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 mili giây và công nghệ chuyển mạch bán dẫn với thời
gian chuyển mạch khoảng vài micro giây. Cho nên trong trường hợp mô phỏng này tác
giả giả sử rằng các chuyển mạch toàn quang đều là các chuyển mạch bán dẫn. Và con số
10 us được chọn lựa dựa vào việc tham khảo các bài báo [4, 6, 14].
Việc chọn lựa thời gian xử lý gói điều khiển và việc chọn lựa kích thước gói điều
khiển là 64 byte được tham khảo từ trang web wine. icu. ac.kr /~obsns/index.php.
Việc chọn lựa giải thuật lập lịch kênh truyền là LAUCVF là vì giải thuật này cho
xác suất mất gói thấp nhất trong các giải thuật lập lịch kênh đã nêu ở chương 2. [11]
Việc chọn lựa giải thuật tìm đường đi ngắn nhất SPF và chọn lựa việc phát lưu
lượng đồng nhất ở tất cả các cặp node để cho đơn giản bài toán.
Dựa vào các thông số cho trên tác giả xây dựng một kịch bản với đầy đủ các thông
số trên cho mạng đường trục Hoa Kỳ NSFNET.
Mạng NSFNET như hình được sử dụng trong mô phỏng với khoảng cách ghi trên
hình là km. Mô phỏng sẽ kiểm tra nhiều giá trị của mỗi mức ngưỡng ảnh hưởng thế nào
đến xác suất mất gói trong mạng. Mô phỏng chỉ dừng lại khi nào kết quả của lần mô
phỏng đầu và nhưng lần kế với cùng một giá trị kích thước burst sai lệch nhau trong
khoảng cho phép. Trong mô phỏng cũng so sánh các xác suất mất gói với các mức
ngưỡng khác nhau trong khi mạng có và không có phân đoạn burst trong giải quyết xung
đột. Mô phỏng bắt đầu với việc xem xét trong mạng chỉ có một lớp dịch vụ (mức ưu tiên)
và sau đó là hai lưới dịch vụ. Sau đây là các trường hợp trong mô phỏng:
- Một mức ngưỡng và không có mức ưu tiên trong mạng
- Một mức ngưỡng và có hai mức ưu tiên
4.4 Xây dựng kịch bản mô phỏng
Với các thông số giả định như trên. Việc mô phỏng sẽ xây dựng một kịch bản mô phỏng
bằng cách tạo ra các đối tượng để mô phỏng. Và việc đầu tiên là tạo các node mạng.

Set i 1
While { $i <= 14 } {
Set c($i) [$ns ObsHybridNode $ncc $ndc ChannelScheduler/LAUCVF]
Incr i
}

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -53- SVTH: Đoàn Khánh Tân Thanh
Chương IV – Thực hiện mô phỏng quá trình đóng khối trong mạng chuyển mạch khối quang OBS

Nhưng dòng lệnh trên sẽ tạo ra 14 node mạng với cách đánh số là c(1), c(2),…,c(14); loại
node là node kết hợp. Số kênh dữ liệu là ndc và số kênh điều khiển là ncc. Lập lịch biên
theo kiểu LAUCVF.
Kế đến là thiết lập số lượng kênh dữ liệu và kênh điều khiển bằng các dòng lệnh sau:
Set ndc 1 ; một kênh dữ liệu
Set ncc 1 ; một kênh điều khiển

Sau đó sẽ xây dựng các liên kết trong mạng góp phần tạo nên một topo mạng hoàn chỉnh.
$ Ns duplex-obs-link $c(1) $c(2) $ncc $ndc 1100 ChannelScheduler/LAUCVF
$ Ns duplex-obs-link $c(1) $c(3) $ncc $ndc 1600 ChannelScheduler/LAUCVF
$ Ns duplex-obs-link $c(1) $c(8) $ncc $ndc 2800 ChannelScheduler/LAUCVF
$ Ns duplex-obs-link $c(2) $c(3) $ncc $ndc 600 ChannelScheduler/LAUCVF
$ Ns duplex-obs-link $c(2) $c(4) $ncc $ndc 1000 ChannelScheduler/LAUCVF
$ Ns duplex-obs-link $c(3) $c(6) $ncc $ndc 2000 ChannelScheduler/LAUCVF
$ Ns duplex-obs-link $c(4) $c(5) $ncc $ndc 600 ChannelScheduler/LAUCVF
$ns duplex-obs-link $c(4) $c(11) $ncc $ndc 2400 ChannelScheduler/LAUCVF
$ns duplex-obs-link $c(5) $c(6) $ncc $ndc 1100 ChannelScheduler/LAUCVF
$ns duplex-obs-link $c(5) $c(7) $ncc $ndc 800 ChannelScheduler/LAUCVF
$ns duplex-obs-link $c(6) $c(10) $ncc $ndc 1200 ChannelScheduler/LAUCVF
$ns duplex-obs-link $c(6) $c(13) $ncc $ndc 2000 ChannelScheduler/LAUCVF
$ns duplex-obs-link $c(7) $c(8) $ncc $ndc 700 ChannelScheduler/LAUCVF
$ns duplex-obs-link $c(8) $c(9) $ncc $ndc 700 ChannelScheduler/LAUCVF
$ns duplex-obs-link $c(9) $c(10) $ncc $ndc 900 ChannelScheduler/LAUCVF
$ns duplex-obs-link $c(9) $c(12) $ncc $ndc 500 ChannelScheduler/LAUCVF
$ns duplex-obs-link $c(9) $c(14) $ncc $ndc 500 ChannelScheduler/LAUCVF
$ns duplex-obs-link $c(11) $c(12) $ncc $ndc 800 ChannelScheduler/LAUCVF
$ns duplex-obs-link $c(11) $c(14) $ncc $ndc 800 ChannelScheduler/LAUCVF
$ns duplex-obs-link $c(12) $c(13) $ncc $ndc 300 ChannelScheduler/LAUCVF
$ns duplex-obs-link $c(13) $c(14) $ncc $ndc 300 ChannelScheduler/LAUCVF

Với các dòng lệnh trên tác giả đã tạo ra các liên kết trong mạng node các node tương
ứng với mô hình mạng NSFNET như hình 4.1. Các liên kết này đều là song hướng
duplex-obs-link và có cùng số lượng kênh điều khiển ncc cũng như kênh dữ liệu
ndc. Các khoảng cách được tính bằng km tương ứng như topo mạng NSFNET. Còn giải
thuật lập lịch kênh là LAUCVF.
Sau khi tạo ra được một topo mạng tác giả sẽ thiết lập các thông số mạng giống như giả
định ban đầu bằng các dòng lệnh sau:
Connector/ObsLink dc_bandwidth 10Gb; băng thông kênh dữ liệu
Connector/ObsLink cc_bandwidth 10Gb; băng thông kênh điều khiển
Agent/Burstifier set max_db_size_ [expr 1250*$number]; đóng gói theo
kiểu kích thước tối đa với number là số lượng gói tin trong 1 burst
Agent/Burstifier set bhp_size_ 64; thiết lập kích thước gói điều
khiển là 64 byte
Agent/OXC switch_time 10us; thời gian chuyển mạch là 10us
Agent/SCU max_bhp_proc_time 2.5us; thời gian xử lý gói điều khiển là 2.5us

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -54- SVTH: Đoàn Khánh Tân Thanh
Chương IV – Thực hiện mô phỏng quá trình đóng khối trong mạng chuyển mạch khối quang OBS
Agent/Burstifier set max_segmentations_ 10; số lượng đoạn trong một burst
Agent/Burstifier set min_segmentable_size_ 1250; kích thước nhỏ nhất của mỗi
đoạn
Agent/Burstifier set segmentation_ true; cho phép giải quyết xung đột
bằng phân đoạn burst

Kế đến tác giả sẽ đưa lưu lượng có tải là 0.5 Erlang vào mạng. Công thức tính tải vào
mạng được sử dụng là công thức tính tải được để cập đến trong chương 4.
set load 0.5 ; tải bằng 0.5 Erlang

Đưa lưu lượng tải vào mạng bằng các vòng lặp trong kịch bản. Lưu lượng đưa vào mạng
theo phân phối Poisson.
set rate [expr $load*$ndc*[Connector/ObsLink dc_bandwidth]/$n_app]; tốc độ của
mỗi luồng lưu lượng được tính ta từ tải đưa vào mạng
#k chỉ ra mức dịch vụ
set k 0
while {$k < 2} {
set i 1
while {$i <= 14} {
set j 1
while {$j <= 14} {
if {$i != $j} {
set Poi($i$j$k) [new Application/Traffic/Poisson]; lưu lượng phân phối poisson
$Poi($i$j$k) set rate_ $rate
$Poi($i$j$k) set packetSize_ 1250
#creat udp to attach traffic
set udp($i$j$k) [$c($i) set burstifier_([$c($j) id]:$k)]; đặt lưu lượng trên
tất cả các cặp node
$Poi($i$j$k) attach-agent $udp($i$j$k)
$udp($i$j$k) set-traffic-generator $Poi($i$j$k)
$ns at 0.0 "$udp($i$j$k) start"; cho phép bắt đầu chạy các lưu lượng khi mới
chạy mô phỏng

}
incr j
}
incr i
}
incr k
}

Trong đoạn code trên, k là số lượng mức dịch vụ được đưa vào mạng. Đặt k = 1 và k = 2
cho các trường hợp mô phỏng bên dưới.
Đến đây hoàn tất việc tạo ra topo mạng và đưa lưu lượng vào mạng. Bây giờ đến bước kế
tiếp là chạy kịch bản mô phỏng.

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -55- SVTH: Đoàn Khánh Tân Thanh
Chương IV – Thực hiện mô phỏng quá trình đóng khối trong mạng chuyển mạch khối quang OBS

4.5 Chạy kịch bản mô phỏng và lấy kết quả

Bắt đầu

Burstsize = 50
Seed = 12345

Chạy chương trình

seed <= 102345 Đúng Seed = seed +


10000

Sai
Burstsize =
Burstsise <= 1200 Đúng burstsize + 50

Seed = 12345
Sai

Xử lý kết quả và vẽ đồ thị

Bắt đầu

Hình 4.2: Lưu đồ chạy chương trình mô phỏng


Sau đây là phần giải thích về các biến số trên lưu đồ thuật toán trên:
- Burstsize là kích thước burst được tính bằng số lượng gói tin trong một burst dữ
liệu.
- Seed là con số được sử dụng để tạo ra một con số ngẫu nhiên cho việc tạo lưu
lượng Poisson. Với mỗi số seed, việc phát lưu lượng Poisson sẽ khác nhau,
khác nhau ở thời điểm phát gói đầu tiên và khác nhau ở thời điểm phát đột biến.

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -56- SVTH: Đoàn Khánh Tân Thanh
Chương IV – Thực hiện mô phỏng quá trình đóng khối trong mạng chuyển mạch khối quang OBS

Giải thích lưu đồ chạy chương trình mô phỏng:


Đầu tiên chương trình sẽ được gán các thông số ban đầu như burstsize = 50, seed =
12345. Sau khi chạy xong và thu nhận kết quả (cụ thể là xác suất mất gói với kích thước
burst và số seed như vậy) số seed sẽ được tăng lên 10000 và chạy chương trình mô phỏng
lần thứ hai. Chương trình cứ tiếp tục như vậy cho đến khi số seed đạt được giá trị là
102345. Sau khi chạy xong, ta có kết quả xác suất mất gói trong 10 lần mô phỏng với 10
giá trị seed khác nhau; lúc này ta lấy giá trị về xác suất mất gói của 10 lần này lấy trung
bình và vẽ được một điểm trên đồ thị với trục hoành là kích thước burst và trục tung là
xác suất mất gói.
Kế đến chương trình sẽ tăng kích thước burst lên 50 và tiếp tục chạy với 10 giá trị
seed như trên để vẽ được điểm thứ hai trên đồ thị. Cứ tiếp tục như vậy đến khi kích thước
burst đạt được là 1200 gói tin/burst. Cuối cùng nối các điểm trên đồ thị lại với nhau ta
nhận được đồ thị mô tả về xác suất mất gói so với các kích thước burst.
4.5.1 Một mức ngưỡng và không có mức ưu tiên trong mạng

Tải = 0.5 Erlang Drop

Segment
0.08

0.07

0.06
Xác suất mất gói

0.05

0.04

0.03

0.02

0.01

0
0

0
0

00

00

00
20
10

30

40

50

60

70

80

90

10

11

12

Kích thước burst (gói)

Hình 4.3: Xác suất mất gói so với các kích thước burst khác nhau trong mạng dùng rớt
hoàn toàn burst và phân đoạn burst trong việc giải quyết xung đột

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -57- SVTH: Đoàn Khánh Tân Thanh
Chương IV – Thực hiện mô phỏng quá trình đóng khối trong mạng chuyển mạch khối quang OBS

Tải = 0.5 Erlang


0.25

0.2
Độ trễ end-to-end (s)
0.15

0.1

0.05

0
0

0
0

00
00

00
0

90
10

20

30

40

50

60

70

80

10

11

12
Kích thước burst (gói)

Hình 4.4: Độ trễ end-to-end trung bình so với các kích thước burst
Trong trường hợp một lớp dịch vụ hay một mức ưu tiên, chỉ có một mức ngưỡng
cho kích thước burst được sử dụng cho tất cả các bộ đóng khối của tất cả các node biên
trong mạng. Xác suất mất gói và xác suất mất gói trong mạng được phân tích qua nhiều
mức ngưỡng khác nhau với tải vào mạng bằng nhau và băng 0.5 Erlang. Từ kết quả nhận
được ta thu được giá trị tốt nhất cho mức ngưỡng với tải cho trước trong một mạng cho
trước.
Hình 4.3 vẽ ra sự tương quan giữa kích thước burst và xác suất mất gói trong mạng
với hai cách giải quyết xung đột khác nhau là rớt toàn bộ burst (Drop) và phân đoạn burst
(Segment) được đưa vào mạng. Qua hình này ta còn thấy tác dụng của phân đoạn burst
đối với xác suất mất gói trong mạng. Hình 4.4 vẽ ra sự tương quan giữa kích thước burst
và độ trễ end-to-end. Trong luận văn này chỉ xem xét các gói đến có kích thước cố định
nên kích thước của burst được tính bằng số lượng gói trong nó.
Từ hình 4.3 ta thấy rằng:
Thứ nhất, nếu trong mạng sử dụng cách rớt toàn bộ burst trong việc giải quyết xung
đột thì kích thước burst nằm trong khoảng từ 300 đến 650 gói cho xác suất mất gói nhỏ
nhất. Qua hình vẽ ta cũng thấy một khi kích thước burst quá nhỏ, số lượng burst trong
mạng sẽ tăng lên, xung đột trong mạng cũng tăng lên theo dẫn đến xác suất mất gói tăng
lên nhưng số lượng gói rớt trong mỗi lần xung đột nhỏ. Ngược lại, một khi kích thước
burst quá lớn, số lượng burst trong mạng giảm đi, số lượng xung đột trong mạng giảm

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -58- SVTH: Đoàn Khánh Tân Thanh
Chương IV – Thực hiện mô phỏng quá trình đóng khối trong mạng chuyển mạch khối quang OBS

theo nhưng mỗi lần xung đột xảy ra số lượng gói mất là rất lớn. Cho nên kích thước burst
nằm trong khoảng vừa nêu trên có thể nói là tốt nhất trong trường hợp này.
Thứ hai, nếu trong mạng sử dụng cách phân đoạn burst trong việc giải quyết xung
đột thì kích thước burst nằm trong khoảng từ 350 đến 750 gói thì cho xác suất mất gói
nhỏ nhất.
Nhưng liệu kích thước burst nằm trong khoảng nêu trên có thực sự là phù hợp, ta
hãy xem hình 4.4. Ta thấy khi kích thước burst tăng lên thì độ trễ end-to-end cũng tăng
lên theo. Điều này cũng dễ hiểu, khi kích thước burst tăng lên nghĩa là cần thời gian chờ
để cho số lượng gói đến đủ để tạo thành một burst. Độ trễ end-to-end ảnh hưởng rất lớn
đối với các dịch vụ yêu cầu đáp ứng thời gian thực. Với một yêu cầu về độ trễ trung bình
ta có thể có được cận trên của kích thước burst. Và kích thước tốt nhất của burst chắc
chắn có thể tìm ra trong điều kiện các thông số của mạng hay yêu cầu dịch vụ đều biết.
Qua đó cũng cho thấy trong việc xây dựng mạng OBS nhất thiết phải có các bộ đóng khối
dựa trên bộ định thời. Việc đóng khối cho các dịch vụ yêu cầu thời gian thực như thoại
hay video on demand thì cần bộ đóng khối kiểu dựa trên bộ định thời còn việc đóng khối
cho các dịch vụ không yêu cầu về thời gian thực nhưng yêu cầu nghiêm ngặt về mất mát
gói như dịch vụ dữ liệu thì cần bộ đóng khối dựa trên mức ngưỡng tối đa.
4.5.2 Một mức ngưỡng và có hai mức ưu tiên
Trong trường hợp hai mức ưu tiên và một mức ngưỡng, ta đánh giá xác suất mất gói
và số lượng xung đột cho nhiều mức tải và mức ngưỡng kích thước burst khác nhau. Hai
mức ưu tiên là mức ưu tiên số 0 và mức ưu tiên số 1. Mức ưu tiên số 1 được xem là mức
ưu tiên cao hơn. Chúng ta giả sử rằng tỉ số lưu lượng của hai mức dịch vụ là bằng nhau.

Tải = 0.5 Erlang Priority = 0


Priority = 1
0.09
0.08
0.07
Xác suất mất gói

0.06
0.05
0.04
0.03
0.02
0.01
0
0

00
00

00

00

00
0

0
10

20

30

40

50

60

70

80

90

14
10

11

12

13

Kích thước burst

Hình 4.5: Xác suất mất gói của từng mức dịch vụ đối với các kích thước burst khác nhau

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -59- SVTH: Đoàn Khánh Tân Thanh
Chương IV – Thực hiện mô phỏng quá trình đóng khối trong mạng chuyển mạch khối quang OBS

Từ hình 4.5 ta thấy được lớp dịch vụ có mức ưu tiên cao hơn sẽ cho xác suất mất gói
thấp hơn so với lớp dịch vụ có mức ưu tiên thấp hơn. Từ hình vẽ trên ta thấy trong mạng
có hai mức dịch vụ thì mức ngưỡng tốt nhất cho xác suất mất gói thấp nhất đối với mức
ưu tiên số 1 là 200 đến 700 còn đối với mức ưu tiên số 0 là 550 đến 750.
4.6 Kết luận
Qua hai bài mô phỏng với các kết quả nhận được và những nhận xét đối với từng bài
mô phỏng có thể đi đến khẳng định rằng tồn tài một dải kích thước burst cho xác suất mất
gói thấp nhất. Còn kích thước burst là bao nhiêu thì tuỷ thuộc vào từng topo mạng cùng
với những thông số kèm theo của nó.

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -60- SVTH: Đoàn Khánh Tân Thanh
Kết luận và hướng mở của đề tài

KẾT LUẬN VÀ HƯỚNG MỞ CỦA ĐỀ TÀI


Sau quá trình thực hiện luận văn “Mô phỏng ảnh hưởng của quá trình đóng khối
trong mạng OBS”, luận văn đã tìm hiểu và hiểu được cơ bản về mạng OBS. Qua quá trình
mô phỏng luận văn đã thu nhận được kết quả về ảnh hưởng của quá trình đóng khối đến
xác suất mất gói trong mạng, kết quả mô phỏng đã chứng minh được lý thuyết đặt ra. Tuy
nhiên, việc chọn lựa số bước sóng quá ít và việc xây dựng mô hình mô phỏng còn bị giới
hạn bởi một số điều kiện đặt ra trước.

Đề tài có thể được mở rộng bằng cách xem xét số lượng bước sóng nhiều hơn và xây
dựng mạng OBS kết hợp hai bộ đóng khối dựa trên mức ngưỡng và dựa trên bộ định thời.
Thêm vào đó phần mềm mô phỏng này có thể được sử dụng cho việc mô phỏng các bài
toán khác của OBS.

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -61- SVTH: Đoàn Khánh Tân Thanh
Tài liệu tham khảo

TÀI LIỆU THAM KHẢO

[1] S. Verma, H. Chaskar, and R. Ravikanth. “Optical burst switching: A viable


solution for Terabit IP backbone”, IEEE Network, pages 48-53, Nov/Dec 2000

[2]C. Qiao and M. Yoo. “Optical burst switching (OBS) - a new paradigm for an
optical Internet.”, Journal of High Speed Networks, 8(1):69-84, 1999

[3] Würzburg “Static Lightpath Routing in IP over WDM Networks”, Germany - July
24, 2001

[4] Ibán Cereijo Graña, “Simulación y comparativa de mecanismos de conmutación en


redes ópticas”, University of Vigo – Spain, 2005

[5] X. Lu and B. Mark, “A New Performance Model of Optical Burst Switching with
Fiber Delay Lines”, In Proceedings of IEEE ICC, volume 2, pages 1365-1369, 2003

[6] Vinod M. Vokkarane, “Design and analysis of architectures and protocols for
optical burst switched networks”, the University of Texas at Dallas, August 2004.

[7] D. Morato, J. Aracil, L.A. Diez, M. Izal, and E. Magana. “On linear prediction of
internet traffic for packet and burst switching networks”, In proceedings of Tenth
International Conference on Computer Communications and Networks, pages 138-143,
2001.

[8] J. Turner. “Terabit burst switching”, Journal of High Speed Networks, 1999

[9] C. Qiao. “Labeled optical burst switching for IP-over-WDM integration”, IEEE
Communications Magazine, 38(9):104-114, September 2000

[10] B. Kim and Y. Cho and J. Lee and Y. Choi and D. Montgomery. “Performance of
Optical Burst Switching Techniques in Multi-Hop Networks”, In Proceedings of
GLOBECOM, volume 3, pages 2772-2776, 2002

[11] M. Iizuka and M. Sakuta and Y. Nishino and I. Sasase. “A Scheduling Algorithm
Minimizing Voids Generated by Arriving Bursts in Optical Burst Switched WDM
Network”, In Proceedings of GLOBECOM, volume 3, pages 2736-2740, 2002

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -62- SVTH: Đoàn Khánh Tân Thanh
Tài liệu tham khảo

[12] C. Gauger. “Contention resolution in optical burst switching networks”, In


Advanced Infrastructures for Photonic Networks: WG 2 Intermediate Report, pages 62-
82, 2002

[13] S. Lee, K. Sriram, H. Kim, J. Song, “Contention-based Limited Deflection


Routing in OBS Networks”, In proceedings of Globecom 2003, pages 2633-2637

[14] V. M. Vokkarane, J. P. Jue, “Segmentation-Based Non-Preemptive Scheduling


Algorithms for Optical Burst-Switched Networks”, at the first WOBS J. Wang

[15] The VINT Project A Collaboration between researchers at UC Berkeley, LBL,


USC/ISI, and Xerox PARC “The ns Manual (formerly ns Notes and Documentation)”,
January 8, 2007

[16] Eitan Altman and Tania Jiménez “NS simulator for beginners”, December, 2003

[17] http://advanced.comms.agilent.com/insight/2001-08/Questions/traffic_gen.htm

[18] Richard Parkinson “Traffic Engineering Techniques in Telecommunications”

[19] Battestilli, T. Perros, H. “An introduction to optical burst switching”, IEEE


Communications Magazine, August 2003

[20] Trong luận văn còn kế thừa các chương trình mô phỏng được viết bởi ông Iban
Cereijo Grana và ông Jairo Chapela Matinez – trường Đại Học Vigo, Tây Ban Nha.

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -63- SVTH: Đoàn Khánh Tân Thanh
Phụ lục A

PHỤ LỤC A

Cách tính toán lưu lượng trong luận văn


Trong luận văn, lưu lượng được tính bằng đơn vị Erlang. Trong luận văn sẽ dùng
loại lưu lượng Poisson với tốc độ trung bình là λ.
λ napp
A= [4]
BW

Với A là tải lưu lượng tính bằng Erlang


λ là tốc độ trung bình
napp là số lượng luồng lưu lượng
BW băng thông kênh tuyền và 1/BW là thời gian chiếm giữ
Cụ thể trong mô phỏng sử dụng BW = 10Gbps, napp = 182 (bởi vì lưu lượng được phân bố
đồng nhất tại tất cả các cặp node (14 node) nên số luồng lưu lượng là 14*(14-1) = 182) và
λ là con số bất kỳ phụ thuộc vào tải lưu lượng. Trong mô phỏng sẽ tính toán cụ thể tốc độ
trung bình của mỗi luồng lưu lượng với một tải lưu lượng cho trước. Sau đây là bảng
thống kê một số giá trị Erlang và tốc độ trung bình λ tương ứng với BW = 10Gbps và napp
= 182.
Lưu lựơng tải(Erlang) Tốc độ trung bình λ (Gbps)
0.1 0.00546
0.2 0.01093
0.3 0.01639
0.4 0.02186
0.5 0.02732
0.6 0.03279
0.7 0.03825
0.8 0.04372
0.9 0.04918
1 0.05464
1.1 0.06011
1.2 0.06557
1.3 0.07104
1.4 0.0765
1.5 0.08197
1.6 0.08743
1.7 0.0929
1.8 0.09836
1.9 0.10383

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -64- SVTH: Đoàn Khánh Tân Thanh
Phụ lục A

2 0.10929
2.1 0.11475
2.2 0.12022
2.3 0.12568
2.4 0.13115
2.5 0.13661
2.6 0.14208
2.7 0.14754
2.8 0.15301
2.9 0.15847
3 0.16393
Bảng: Giá trị tốc độ trung bình của mỗi luồng lưu lượng tương ứng với tải

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -65- SVTH: Đoàn Khánh Tân Thanh
Phụ lục B

PHỤ LỤC B
1. Cài đặt phần mềm NS
Sau đây là cách cài đặt phần mềm NS2, phiên bản NS 2.28
Yêu cầu máy tính phải có hệ điều hành Linux (Fedora Core 1, 2, 3 hay Ubuntu 7.04…).
Bước 1 : Download miễn phí file ns-2.28allinone.gz.tar tại www.isi.edu
Bước 2 : Chép phần file này vào thư mục muốn cài đặt. Giả sử là /home/study
Bước 3 : Tại câu nhắc lệnh của thư mục này đánh lệnh giải nén
[root ~]#tar xzvf ns-2.28allinone.gz.tar
Sau lệnh này một thư mục được giải nén được tạo ra /home/study/ns-
2.28allinone
Bước 4 : Vào thư mục /home/study/ns-2.28allinone đánh lệnh cài đặt
[root ~]#./install
2. Cài đặt OBS4NS
Yêu cầu máy tính phải cài đặt sẵn NS2.28
Bước 1: Copy file này vào thư mục /home/study/ns-2.28allinone/ns-2.28
Giải nén file này bằng lệnh
[root ~]#tar xzvf obs.gz.tar
Bước 2: Vào thư mục /home/study/ns-2.28allinone/ns-2.28 mở file Makefile và thêm một
số dòng như sau
OBS_PATH = ../../ns4obs
OBJ_CC = \
...
$(OBS_PATH)/cpp/arch/typeswitch.o \
$(OBS_PATH)/cpp/arch/CoSclassifier.o \
$(OBS_PATH)/cpp/arch/OBSlink.o \
$(OBS_PATH)/cpp/arch/OBSswitch.o \
$(OBS_PATH)/cpp/arch/OXC.o \
$(OBS_PATH)/cpp/arch/SCU.o \
$(OBS_PATH)/cpp/arch/burstifier.o \
$(OBS_PATH)/cpp/arch/deburstifier.o \
$(OBS_PATH)/cpp/channelscheduler/channelscheduler.o \
$(OBS_PATH)/cpp/channelscheduler/LAUCscheduler.o \
$(OBS_PATH)/cpp/channelscheduler/LAUCVFscheduler.o \
$(OBS_PATH)/cpp/channelscheduler/LAUCVFMscheduler.o \
$(OBS_PATH)/cpp/channelscheduler/FFUCscheduler.o \
$(OBS_PATH)/cpp/traffgen/expoo2.o \
GVHD: Th.S Nguyễn Huỳnh Minh Tâm -66- SVTH: Đoàn Khánh Tân Thanh
Phụ lục B

$(OBS_PATH)/cpp/stats/stats.o \
$(OBS_PATH)/cpp/stats/stat_entry.o \
$(OBS_PATH)/cpp/stats/Batches.o \
$(OBS_PATH)/cpp/stats/SmplStatDrved.o \
$(OBS_PATH)/cpp/stats/SmplStat.o \
$(OBS_PATH)/cpp/random/beta.o \
$(OBS_PATH)/cpp/random/IPlen.o \
$(OBS_PATH)/cpp/global.o \
$(OBS_PATH)/cpp/debug.o \
$(OBS_PATH)/cpp/OBSpacket.o \
$(OBS_PATH)/cpp/OBSroute.o

NS_TCL_LIB = \
...
$(OBS_PATH)/tcl/lib/ns-obs-lib.tcl \
$(OBS_PATH)/tcl/lib/ns-obs-defaults.tcl \
$(OBS_PATH)/tcl/lib/ns-obs-node.tcl \
$(OBS_PATH)/tcl/lib/ns-obs-link.tcl \
$(OBS_PATH)/tcl/lib/ns-obs-stats.tcl
Bước 3: Mở file /tcl/lib/ns-packet.tcl và thêm một số dòng như sau
foreach prot {
AODV
ARP

....
MIP
OBS_BHP // ađadir esta línea y la siguiente.
OBS_DB
Ping
....
};
Bước 4: Mở file /common/packet.h và thêm một số dòng như sau
enum packet_t {
PT_TCP,
PT_UDP,
......
PT_OBS_BHP,
PT_OBS_DB,

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -67- SVTH: Đoàn Khánh Tân Thanh
Phụ lục B

// insert new packet types here


PT_NTYPE // This MUST be the LAST one
};
p_info() {
name_[PT_TCP]= "tcp";
name_[PT_UDP]= "udp";
...........
name_[PT_OBS_BHP]= "OBS_BHP";
name_[PT_OBS_DB]= "OBS_DB";

name_[PT_NTYPE]= "undefined";
}
Bước 5: Tại câu nhắc lệnh của thư mục /home/study/ns-2.28allinone/ns-
2.28 đánh lệnh make
[root ~]#make
Đến đây là hoàn tất quá trình cài đặt.

GVHD: Th.S Nguyễn Huỳnh Minh Tâm -68- SVTH: Đoàn Khánh Tân Thanh

You might also like