Tải bản đầy đủ (.pdf) (27 trang)

Một số thuật toán định tuyến và gán bước sóng trong mạng chuyển mạch BURST

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (569.28 KB, 27 trang )


HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG


NGUYỄN LONG BÌNH



MỘT SỐ THUẬT TOÁN ĐỊNH TUYẾN VÀ GÁN BƯỚC
SÓNG TRONG MẠNG CHUYỂN MẠCH BURST

CHUYÊN NGÀNH : KỸ THUẬT VIỄN THÔNG
MÃ SỐ: 60.52.02.08

8


TÓM TẮT LUẬN VĂN THẠC SỸ












HÀ NỘI - NĂM 2013







Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG


Người hướng dẫn khoa học: PGS. TS BÙI TRUNG HIỄU


Phản biện 1: ……………………………………………………………

Phản biện 2: …………………………………………………………




Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại
Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: giờ ngày tháng năm

Có thể
tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông





1
MỞ ĐẦU
Công nghệ chuyển mạch burst quang (Optical Burst Switching – OBS) là
một giải pháp hữu hiệu cho phép truyền tải lưu lượng trong mạng quang WDM
hiện nay cũng như mạng toàn quang trong tương lai. Tuy vậy, một vấn đề quan
trọng trong mạng OBS vẫn chưa được giải quyết triệt để, mà có lẽ là cản trở chính
trong triển khai mạng OBS vào thực tế, đó là xung đột giữa các burst được truyền
trong mạng dẫn đến mất burst dữ liệ
u.
Một giải pháp có tính đột phá đang được thầy giáo, PGS. TS Bùi Trung Hiếu
cùng với nhóm nghiên cứu đề xuất có khả năng loại bỏ hoàn toàn các tranh chấp
bước sóng truyền tải và mất burst trong mạng quang chính là sử dụng giao thức
báo hiệu xoay vòng (CSP- Circle Signalling Protocol) để truyền tải các burst qua
mạng OBS.
Vấn đề đặt ra là làm thế nào để truyền các burst trong mạng một cách tối ưu
để tận dụng được tối đa các tài nguyên vốn có của m
ạng. Vì vậy việc định tuyến và
gán bước sóng cho các burst là một chức năng quan trọng trong các mạng chuyển
mạch burst quang (OBS Networks). Qua nghiên cứu, tìm hiểu cùng với sự hướng
dẫn của thầy giáo, trong luận văn này tôi thực hiện nghiên cứu một số thuật toán
định tuyến và gán bước sóng cho các burst quang trong các topo mạng điển hình
của mạng chuyển mạch burst quang và xin phép được đưa ra giải pháp định tuyến
và gán bước sóng đồng thời trong mạng OBS s
ử dụng giao thức báo hiệu CSP.
Cấu trúc của luận văn gồm 3 chương:
Chương 1: Tổng quan về mạng chuyển mạch burst quang
Chương này trình bày những khái niệm và vấn đề cơ bản về kỹ thuật chuyển
mạch burst quang, bao gồm khái niệm chuyển mạch burst quang, cấu trúc của
mạng chuyển mạch burst quang, các vấn đề về lập/ tách burst, nguyên lý truyền tải
burst quang trong mạng OBS.

Chương 2: Các giao thức báo hiệu trong m
ạng chuyển mạch burst
quang
Chương này trình bày các vấn đề và các giao thức báo hiệu đã được đề xuất
trong mạng chuyển mạch burst quang, làm cơ sở khoa học để nghiên cứu các thuật
toán định tuyến và gán bước sóng trong mạng OBS.
Chương 3: Một số thuật toán định tuyến và gán bước sóng trong mạng
chuyển mạch burst quang
Chương này trình bày các nghiên cứu và các thuật toán định tuyến và gán
bước sóng trong mạng chuyển mạch burst quang đã được đề
xuất từ đó đưa ra giải
pháp định tuyến và gán bước sóng đồng thời trong mạng OBS sử dụng giao thức
CSP.


2
Do điều kiện thời gian và trình độ có hạn, luận văn sẽ không tránh khỏi
những sai sót. Kính mong thầy, cô giáo và bạn bè, đồng nghiệp đóng góp ý kiến để
tôi có thể hoàn thiện hơn.
Cuối cùng, tôi xin được gửi lời cám ơn chân thành tới thầy giáo, PGS. TS
Bùi Trung Hiếu đã tận tình hướng dẫn tôi trong suốt quá trình thực hiện đề tài. Tôi
cũng xin được gửi lời cám ơn tới các thầy giáo trong Học viện Công nghệ Bư
u
chính Viễn thông cùng các bạn học đã giúp đỡ cho tôi hoàn thành cuốn luận văn
này.



3
CHƯƠNG 1- TỔNG QUAN VỀ MẠNG CHUYỂN MẠCH BURST QUANG

1.1. Các khái niệm về chuyển mạch burst quang
1.1.1. Chuyển mạch burst
Chuyển mạch burst quang được thiết kế hướng tới một sự cân bằng giữa
công nghệ chuyển mạch kênh và chuyển mạch gói quang. Trong một mạng OBS
thì burst là phần tử nhỏ nhất của mạng. Một burst dữ liệu là một tổ hợp gồm nhiều
gói IP, được chuyển mạch qua mạng OBS một cách hoàn toàn bằng tín hiệu quang
(mạng OBS toàn quang). Các header của burst còn
được gọi là các gói điều khiển
của burst (CP- Control Packet) được truyền đi trước khi thực hiện truyền burst đó
để các nút thực hiện cấu hình chuyển mạch dọc theo tuyến cần truyền. Các gói điều
khiển burst được truyền ở kênh truyền riêng biệt (kênh điều khiển) với các kênh
truyền burst (kênh dữ liệu). Gói điều khiển burst được truyền đi trước khi truyền
burst một khoả
ng thời gian gọi là T
Offset
, khoảng thời gian này cho phép CP được
xử lý và các thiết bị chuyển mạch được thiết lập trước khi burst dữ liệu đến được
các nút trung gian trong tuyến truyền dẫn. Do đó, không cần các bộ đệm điện tử
hay bộ đệm quang tại các nút trung gian trong khi gói điều khiển đang được xử lý.
Gói điều khiển cũng có thể định rõ khoảng thời gian truyền burst để cho các nút
trung gian biết được để
các nút đó có thể tái cấu hình bộ chuyển mạch của chúng
cho burst đến tiếp theo.
Bằng việc đặt trước tài nguyên trong mạng chỉ trong một khoảng thời gian
đã được xác định rõ ràng sẽ tốt hơn việc đặt trước tài nguyên trong một khoảng
thời gian không xác định hay việc chiếm dụng tài nguyên toàn phần (trong chuyền
mạch kênh). Lúc này tài nguyên mạng có thể được sử dụng, cấp phát hiệu quả hơn
và việc ghép kênh sẽ
được thực hiện ở một mức cao hơn.
1.1.2. Thiết lập burst

Thiết lập burst là một quá trình của việc tổng hợp các dữ liệu đến từ các lớp
cao hơn của mạng thành các burst dữ liệu tại nút đầu vào trong một mạng OBS.
Khi các gói dữ liệu tới (gói IP, ATM,…) từ lớp cao hơn đến nút đầu vào, chúng
được lưu vào những bộ đệm điện tử tùy theo đích đế
n của chúng và tùy theo lớp
dịch vụ của chúng. Một thiết bị thiết lập burst phải là một thiết bị có khả năng sắp
xếp được các gói dữ liệu đó vào trong các burst dựa vào các quy tắc thiết lập burst
nhất định (hay còn gọi là các chính sách khởi tạo burst).
Thông số chính trong việc thiết lập một burst dữ liệu là “tiêu chuẩn khởi
động” hay “tiêu chuẩn kích hoạt”, đó là việc xác định khi nào cần tạo nên 01 burst
từ các gói dữ liệu và gửi burst đó vào trong mạng OBS. Tiêu chuẩn này là rất quan
trọng, bởi vì nó kiểm soát các đặc tính quá trình truyền đến đích của burst trong lõi


4
của mạng OBS. Có nhiều kiểu kỹ thuật thiết lập burst trong mạng OBS hiện tại,
trong đó các kỹ thuật thiết lập burst phổ biến và thông dụng nhất là “Thiết lập burst
dựa trên bộ định thời” (timer-based) và “Thiết lập burst dựa trên ngưỡng dữ liệu”
(threshold-based).
Ngoài hai kỹ thuật thiết lập burst phổ biến trên thì trong [11] cũng giới thiệu
một kỹ thuật thiết lập burst dựa vào sự d
ự đoán, trong đó giá trị “timeout” hay
“threshold” của burst tiếp theo sẽ được dự đoán trước một thời gian khi burst đó
được truyền đi dựa vào tốc độ của lưu lượng tải tin tại thời điểm đó. Lúc này một
gói BHP (burst header packet) được gửi đi trong mạng lõi trước khi burst đó được
thiết lập để các nút trong mạng có thể biết trước một cách tương đối về các tham số
của burst tiếp theo.
Kỹ thuật thiết lập burst được thông qua tại một nút đầu vào của mạng OBS
sẽ ảnh hưởng đến kỹ thuật báo hiệu được thực thi trong mạng lõi bởi vì hầu hết
các kỹ thuật báo hiệu trong mạng OBS đều cần phải biết được chiều dài của một

burst đến, thời gian tới của burst đó hoặc cả hai để thực hiện công việc
đặt trước
hiệu quả tài nguyên mạng (tuyến đường, bước sóng,…) bên trong mạng lõi của
mạng OBS.
1.2. Một số cấu trúc của mạng chuyển mạch burst quang
1.2.1. Cấu trúc cơ bản của một mạng OBS
Một mạng OBS cơ bản bao gồm nhiều nút chuyển mạch burst quang gồm
các nút biên (hay còn được gọi là các nút “rìa”) và các nút lõi, được liên kết với
nhau thông qua các kết nối sợi quang (fiber link). Mỗi một liên kết sợi quang có
khả
năng cung cấp nhiều kênh đa bước sóng (WDM chanel) sử dụng kỹ thuật ghép
kênh phân chia theo bước sóng (WDM Tenology). Trong các kênh đa bước sóng
đó sẽ có 01 kênh bước sóng (kênh điều khiển) được sử dụng để truyền các gói điều
khiển burst (CP- Control Packet) và còn lại là các kênh truyền burst (kênh dữ liệu).
Nhờ có sự tách bạch riêng rẽ giữa các kênh dữ liệu và kênh điều khiển nên việc
truyền dữ liệu giữa các nút bên trong mạng lõi chỉ đơn gi
ản là việc chuyển mạch
các burst dẫn đến tốc độ truyền dẫn của mạng OBS sẽ đáp ứng được yêu cầu của
mạng thế hệ sau NGN hay mạng internet tốc độ cao. Hình 1.3 dưới đây minh họa
cho cấu trúc cơ bản của một mạng OBS.
Trong cấu trúc cơ bản của mạng OBS ta có thể thấy rằng mỗi một nút có thể
nhận được cả hai loại l
ưu lượng bao gồm lưu lượng đầu vào (các gói dữ liệu mới
đến cần được thiết lập thành burst) và các lưu lượng chuyển tiếp (các burst đến).
Vì vậy một số nút trong mạng OBS có thể phải có cả hai chức năng là một nút biên
(chứa bộ định tuyến biên – edge router) và là một nút lõi (chứa bộ định tuyến lõi –
core router). Những nút như vậy được gọi là những “nút lai” (hybrid node).


5


Hình 1.3: Cấu trúc cơ bản của một mạng OBS [2]
1.2.2. Cấu trúc mạng OBS định tuyến bước sóng động (Dynamic Wavelength
Routing OBS Network)
Một mạng DWR-OBS cũng có các chức năng của một mạng OBS cơ bản
như đã đề cập ở trên và mang nhiều ưu điểm nổi bật đó là sự dự liệu QoS cụ thể, có
khả năng thích ứng nhanh với với những thay đổi về lưu lượng động trong mạng
quang và việc sử d
ụng hiệu quả hơn đối với mỗi kênh bước sóng so với mạng
quang định tuyến bước sóng tĩnh (SWR-ONs).
1.2.3. Cấu trúc Labeled Optical Burst Switching Network (LOBSN)
Mô hình LOBS [13, 14] được xem như là sự mở rộng một cách tự nhiên của
mạng chuyển mạch nhãn đa giao thức MPLS cho mạng OBS. Trong cấu trúc này
thì các server đặc tính MPLS như là một lớp tích hợp giữa lớp IP và lớp WDM.
LOBS cung cấp các dữ liệu về đường đi, lưu lượng và kỹ
thuật sử dụng tài nguyên,
khả năng tồn tại mạng và một số tính năng khác liên quan đến cấu trúc khung
MPLS. Trong [14], cấu trúc một nút LOBS được đề xuất trong đó các burst đến có
thể được tách thành các gói dữ liệu tại nút đó rồi lại được thiết lập trở lại thành các
burst và được gửi trở lại vào trong mạng WDM.
1.2.4. Cấu trúc mạng OBS kênh điều khiển chung (C
3
-OBS)
Cấu trúc C
3
-OBS [15- 17] sử dụng một kênh điều khiển chung, kênh này cập
nhật tất cả các yêu cầu tại tất cả các nút trong mạng vào trong các gói điều khiển
burst CPs, các CP này được gửi đi trong kênh điều khiển chung này tới tất cả các
nút trong mạng. Vì vậy mỗi khi các nút trong mạng có nhu cầu truyền thông tin,
cần đặt trước tài nguyên mạng, định tuyến đường trong mạng sẽ thực hiện tra cứu

thông tin trạng thái của mạ
ng qua kênh điều khiển chung này để đưa ra những
quyết định hợp lý. Sau khi có những quyết định các nút này lại gửi các gói điều
Mạng
khác
Mạng OBS
Mạng
Khách hàng
N
út biên
N
út lõi
Kỹ thuật
báo hiệu


6
khiển burst của mình lên kênh điều khiển chung và cập nhật cho tất cả các nút
trong mạng được biết về việc chiếm giữ tài nguyên của mình.
1.3. Nguyên tắc hoạt động cơ bản của mạng OBS
Các đặc điểm cơ bản khác của một mạng OBS như sau:
Báo hiệu ngoài băng (Out-of-band Signalling): Các gói điều khiển burst
được truyền đi trên một kênh điều khiển riêng biệt vớ
i kênh truyền các burst đó, tại
mỗi nút mà nó đi qua được thực hiện chuyển đổi O/E, xử lý gói điều khiển và
chuyển đổi E/O rồi lại được gửi đi đến nút tiếp theo trên đường truyền.
Tính trong suốt dữ liệu (Data transparency): Dữ liệu được truyền đi hoàn
toàn trong suốt với các nút trung gian trong mạng OBS (hay có thể nói đối với các
nút lõi trong mạng OBS chỉ thực hiện việc chuyển mạch toàn quang
đối với các

burst). Chỉ tại các nút đầu vào (và các nút đầu ra ) cần quan tâm tới việc tập hợp
(phân tách burst) các gói dữ liệu lại thành các burst (thành các gói dữ liệu), thiết
lập tốc độ truyền dữ liệu, biến đổi tín hiệu,…
Khoảng cách trễ thời gian giữa gói điều khiển và dữ liệu: Các gói điều
khiển burst được gửi đi trước khi gửi burst đó đi trong mạng mộ
t khoảng thời gian
nhất định được gọi là T
Offset
. Tùy theo các phương pháp báo hiệu sẽ ảnh hưởng đến
thời gian trễ này.
Đặc tính thông minh tại các nút biên (Network intelligence at the edge):
Tại các nút biên đưa ra tất cả quyết định cho việc truyền dữ liệu bên trong mạng từ
việc tập hợp các gói dữ liệu lại thành các burst (và tách lại thành các gói ban đầu)
cho đến việc đưa ra các quyết định về định tuyến, lựa chọn bước sóng (định trước
tài nguyên mạng), lúc này thì tại các nút lõi đơn gi
ản chỉ là thực hiện công việc
chuyển mạch toàn quang cho các burst.
Đặc trưng không đồng bộ (Asynchronous Functioning): Đặc trưng này
chính là sự đơn giản vốn có của mạng OBS trong đó các nút trong mạng không
nhất thiết phải đồng bộ hóa với nhau.
Ngoài ra còn một số đặc trưng khác của các mô hình mạng OBS đã giới
thiệu ở trên đó là: sử dụng các đường dây trễ quang (FDL) như là các bộ đệm
quang tại các nút để
đệm burst phục vụ cho việc giải quyết tranh chấp burst [18,
19], thực hiện việc phân mảnh burst [19, 20], tích hợp việc thiết lập và giải phóng
burst với bộ đệm điện tử và thực hiện xen, rẽ dữ liệu tại các nút theo mô hình
LOBS [13],…







7
CHƯƠNG 2- CÁC GIAO THỨC BÁO HIỆU TRONG MẠNG
CHUYỂN MẠCH BURST QUANG
2.1. Nguyên lý báo hiệu trong mạng OBS
2.1.1. Các phương pháp đặt trước tài nguyên trong mạng OBS
Nguyên tắc chính của việc báo hiệu trong mạng OBS đó chính là việc xác
định làm thế nào để các bộ chuyển mạch OXC biết được phải chuyển mạch các
burst quang trong mạng OBS hay có thể nói là các bộ điều khiển chuyển mạch phải
có được tài nguyên của mạng (tuyến đường, bước sóng truyền dẫn) để phục vụ cho
công việc truyền một burst từ
đầu vào đến đầu ra của mạng OBS. Do vậy để có
được điều này thì các bộ điều khiển chuyển mạch SCU phải thực hiện đặt trước tài
nguyên mạng cho mỗi một cuộc truyền tín hiệu trong mạng và các giao thức đặt
trước tài nguyên [21] phải đáp ứng được việc xác định, vận hành và bảo trì các cơ
sở dữ liệu về tình trạng tài nguyên mạng.
Về cơ b
ản thì có thể chia ra 03 phương pháp đặt trước tài nguyên trong
mạng OBS đó là: Không đặt trước tài nguyên [22], đặt trước một chiều hay còn gọi
là phương pháp đặt trước TAG (tell and go) [23] và đặt trước hai chiều hay còn gọi
là phương pháp đặt trước TAW (tell and wait) [23]. Ngoài ra còn có một số
phương pháp báo hiệu biến thể của phương pháp TAW đó là báo hiệu “khởi động
tại nút trung gian” INI (Intermediate Node Initiated) [24] và báo hiệu “gói điều
khiển kép” DCP (Dual Control Packet) [25]. Tuy nhiên hiện nay có rất nhiều nhà
nghiên cứu chỉ quan tâm
đến hai phương pháp đó là TAG và TAW vì vậy trong đồ
án này cũng chỉ đề cập đến hai phương pháp này.
Từ khi mô hình mạng OBS được đề xuất bởi Yoo, Jeong và Qiao trong [6-8]

cho đến nay thì có rất nhiều giao thức đặt trước tài nguyên đã được nghiên cứu và
đề xuất với mục đích làm tối ưu hóa hoạt động của mạng OBS mà quan trọng nhất
là xử lý được vấn đề tranh chấp burst trong mạng để giảm được sự
mất burst trong
quá trình truyền dẫn. Có thể liệt kê ra các giao thức đặt trước tài nguyên theo thứ
tự được công bố như sau:
• Just Enough Time (JET) [8]
• Horizon [26]
• Just In Time (JIT) [27]
• JumpStart [28, 29]
• JIT
+
[30]
• Enhanced JIT (E-JIT) [31]



8
2.1.2. Tương quan giữa phương pháp “định trước ngay lập tức” và “định trước
trễ”
Phần này chúng ta sẽ thực hiện phân tích và so sánh hai phương pháp đặt
trước tài nguyên đó là “đặt trước ngay lập tức” và “đặt trước trễ”, việc đặt trước tài
nguyên này được thực hiện tại các nút trung gian trên đường truyền được lựa chọn
khi gói điều khiển tới các nút đó. Khi cố gắng đặt trước một tài nguyên mạ
ng thí
dụ như một kênh dữ liệu hay một bước sóng chẳng hạn thì bộ điều khiển chuyển
mạch hay bộ SE có thể sử dụng một trong hai kỹ thuật trên. Một là tài nguyên tại
nút trung gian được đặt bằng cách chiếm lấy tài nguyên đó ngay sau khi SE xử lý
gói tin điều khiển đến nút đó. Hai là tài nguyên tại nút trung gian được đặt trước sẽ
được chiếm lấy chỉ trong khoảng thời gian mà burst tương

ứng cần để dùng. Cách
thứ nhất được gọi là “đặt trước ngay lập tức” cách còn lại được gọi là “đặt trước
trễ”.
2.1.3. Tương quan giữa phương pháp đặt trước tài nguyên “điền ô trống” và
“không điền ô trống”
Khi sử dụng phương pháp đặt trước tài nguyên trễ, một giao thức được gọi là
có khả năng triển khai việc “điền ô trống” nếu nó có thể xắ
p xếp để tận dụng được
tài nguyên trên kênh truyền cho việc truyền một burst tương thích qua không gian
trống trên kênh truyền dữ liệu mà đã được đặt trước tài nguyên cho một burst khác
trước đó. Như ta đã đề cập ở phần trên, JET là một trong các giao thức có thể triển
khai việc “điền ô trống” này, trong đó JET sẽ nỗ lực thực hiện điền ô trống bằng
cách truy xuất đến cơ
sở dữ liệu tại SCU (hay SE) tại từng nút trung gian, cố gắng
tìm ra khoảng thời gian thích hợp trong bất kỳ kênh dữ liệu nào phục vụ cho Burst
cần truyền.
Như hình 2.6 và hình 2.7, ta có thể thấy rõ cùng một trường hợp xắp sếp lịch
truyền burst cho 02 burst (burst 1 và burst 2) cố gắng sử dụng cùng một tài nguyên
đầu ra trong một nút. Đối với mỗi burst thì các gói điều khiển tương ứng CP1 và
CP2 được xử lý và CP1 đến trướ
c CP2. Vì T
Offset
của burst 2 nhỏ hơn burst 1 do
vậy mà burst 2 sẽ đến nút trước khi burst 1 đến nút đó.
Nhưng ở trường hợp 1 không sử dụng giao thức có điền ô trống thì burst thứ
2 vẫn bị loại bất chấp tài nguyên của kênh lúc này vẫn có thể đáp ứng được cho nó
(ta có thể thấy rằng trên hình vẽ kênh lúc này là “rỗi” có nghĩa là có khả năng đáp
ứng được cho việc truyền burst 2) bởi vì khi CP1 được xử lý thì tài nguyên kênh
truyề
n lúc này đã được đặt ngay lập tức (như đã mô tả trên hình 2.4). Còn nếu ở

trường hợp 2 thì burst 2 đủ điều kiện để sử dụng được khoảng trống tài nguyên của
kênh tại nút này và burst được truyền qua nút thành công. Hình 2.6 tương ứng với


9
sử dụng các giao thức Horizon, JIT hoặc JIT
+
còn hình 2.7 tương ứng với sử dụng
giao thức JET.

Hình 2.6: Việc xếp lịch truyền 02 burst sử dụng giao thức báo hiệu không điền ô trống (ví
dụ như Horizon, JIT hay JIT
+
) [2]

Hình 2.7: Việc xếp lịch truyền 02 burst sử dụng giao thức điền ô trống (JET) [2]
2.2. Một số giao thức báo hiệu điển hình
2.2.1. Giao thức JET (Just Enough Time)
Giao thức báo hiệu JET được đề xuất năm 1999 bởi Qiao và Yoo [8] làm
việc dựa trên nguyên tắc sau: Một kênh dữ liệu đầu ra đã cho của một nút được đặt
trước cho một burst nếu như thời gian đến nút của burst đó sau “mức giới hạn thời
gian – the time horizon” của kênh dữ liệu đó hay nói cách khác là thời gian đến của
burst đó phải n
ằm trong thời điểm kênh dữ liệu đó “rỗi” và “chiều dài của burst”
đó (thời gian truyền burst đó) cộng với T
OXC
phải trước thời điểm “rỗi” của kênh
dữ liệu đó kết thúc (hay trước thời điểm kênh đó “bận”).
2.2.2. Giao thức Horizon
Cũng trong năm 1999, Turner đề xuất giao thức báo hiệu Horizon [26]. Đây

là một giao thức báo hiệu “định trước trễ” nhưng lại không có khả năng “điền ô
trống”. Thời gian “horizon” ở đây được xác định là thời điểm sớm nh
ất mà kênh
truyền được xác định là rỗi. Vì Horizon không sử dụng điền ô trống nên nó không
thể tận dụng được khoảng tài nguyên rỗi khi nó đã xử lý gói điều khiển CP của một
burst mặc dù từ khi xử lý xong đến khi quyết định cấu hình bộ OXC thì thời điểm
đó kênh dữ liệu vẫn có khả năng truyền được một burst thích hợp khác (như được
mô tả trong hình 2.6) do vậy giao thứ
c Horizon không được ưa chuộng như giao
thức JET.
Thời điểm
đến của CP1
Thời điểm
đến của CP2
Thời điểm đến
của burst 2
Thời điểm đến
của burst 1
Khoảng rỗi
rỗi
rỗi
Kênh
điều khiển
Kên
h
dữ liệ
u
Thời điểm
đến của CP1
Thời điểm

đến của CP2
Thời điểm đến
của burst 2
Thời điểm đến
của burst 1
Khoảng rỗi
rỗi
rỗi
Kênh
điều khiển
Kên
h
dữ liệ
u


10
2.2.3. Giao thức JIT (Just in Time)
Giao thức JIT [27] được xuất hiện vào tháng 12 năm 2000 do Wei và
McFarland đề xuất. Giao thức JIT hoạt động dựa trên mô hình định trước tài
nguyên ngay lập tức và không thể điền ô trống. Nguyên tắc của JIT đó là: một
kênh dữ liệu đầu ra của một nút được đặt trước tài nguyên cho một burst ngay khi
gói điều khiển của nó tới nút đó. Nếu kênh dữ liệu này không thể sắp xếp được tài
nguyên thì lúc này gói đi
ều khiển này sẽ bị loại bỏ đồng nghĩa với việc burst tương
ứng sẽ bị “rớt” không thể truyền qua nút đó. Giao thức JIT hoạt động hoàn toàn
dựa theo nguyên tắc FCFS và kênh truyền dẫn được gọi là đang ở trạng thái “chờ”
ngay khi kênh đó thực hiện thành công việc đặt trước tài nguyên cho một burst.
2.2.4. Giao thức JumpStart
Nền tảng của giao thức JumpStart dựa trên giao thức JIT nhưng có thêm vào

một số
đặc tính sau đây: Cho phép triển khai QoS, Hỗ trợ Multicast, Cho phép
chuyển mạch nhãn và Cho phép những kết nối ổn định (các đường dẫn quang ổn
định).
Trong giao thức JumpStart thì tại nút biên nguồn sẽ triển khai một bản tin
báo hiệu tới nút lõi trung gian đầu tiên vào trong khi burst đang đợi để được truyền
đi. Nếu nút đầu vào có thể chuyển burst đó đi thì nó sẽ gửi lại cho nút biên một bản
tin xác nhận (ACK) và chuyển tiếp gói điều khiể
n burst tới các nút lõi trong mạng.
Ngược lại nếu nút đầu vào không thể chuyển burst đó đi thì nó cũng gửi lại một
bản tin không xác nhận (NAK) tới nút biên và burst đó bị “rớt”

2.2.5. Giao thức JIT
+

Giao thức JIT
+
được đề xuất năm 2003 bởi Teng và Rouskas [30], giao thức
này cải thiện hơn giao thức JIT như sau: Một kênh dữ liệu được đặt trước cho một
burst nếu thời gian tới của burst đó xảy ra sau mức “giới hạn thời gian” (time
horizon) của kênh dữ liệu đó và nếu kênh dữ liệu đó có thể đặt trước tối đa một
phần tài nguyên khác. Điều này có nghĩa là giao thức JIT
+
không cố gắng thực hiện
phương pháp điền ô trống mà nó cố gắng cải thiện hiệu năng của giao thức JIT đó
là cho phép tối đa đặt trước hai tài nguyên mạng đồng thời (đặt trước tài nguyên
cho 02 burst) với điều kiện không có tranh chấp burst và tài nguyên mạng sẵn có
cho 02 burst vào thời điểm thiết lập kênh truyền.
2.2.6. Giao thức E-JIT
Giao thức E-JIT hay còn gọi là giao thức JIT “nâng cao” được giới thiệu bởi

Rodrigues [31] năm 2007. Giao thức này cũng có nền tảng là giao thức JIT và có
những cải tiến hơn JIT đó là tính đơn giản tương đối của nó, trong khi giao thức
JIT
+
cải thiện JIT bằng cách chỉ cho phép tối đa 02 phiên đặt trước tài nguyên đồng
thời. E-JIT cải thiện giao thức JIT bằng cách cải thiện sơ đồ sắp xếp lịch truyền


11
burst trên kênh dữ liệu, rút ngắn khoảng thời gian mà tại đó kênh dữ liệu đang có
trạng thái là “đã đặt trước” (reserved status) do đó tăng được sự hữu dụng kênh
truyền quang và làm giảm được xác suất mất burst trên kênh truyền dẫn.
Các giao thức báo hiệu điển hình như đã giới thiệu ở phần trước đều thuộc
phương pháp báo hiệu TAG, do vậy thời gian mà các burst phải chờ để được
truyền đi tùy thuộc vào thời gian truyền gói điều khiển qua bao nhiêu nút (n nút) và
xử lý gói điều khiển T
Setup
cũng như thời gian cấu hình chuyển mạch T
OXC
. Đối với
mỗi một giao thức định trước ngay lập tức (JIT, JIT
+
và E-JIT) hay định trước trễ
có thể điền ô trống (JET, JumpStart) đều có những ưu điểm và nhược điểm riêng
đó là thời gian xử lý nhanh, đơn giản hóa cấu trúc cơ sở dữ liệu và thuật toán hoạt
động nhưng xác suất mất burst tương đối cao, không tận dụng được tài nguyên
mạng (đối với định trước ngay lập tức) hay tận dụng được tài nguyên mạng, tối ưu
kênh truyền giảm được xác suất mất burst nhưng cấu trúc cơ sở dữ liệu tương đối
phức tạp (đối với định trước trễ và có thể điền ô trống). Tuy nhiên đối với các giao
thức này thì vấn đề lớn nhất vẫn chưa được khắc phục đó chính là xung đột dẫn

đến mất burst truyền dẫn qua mạng.
2.3. Giới thiệu giao thức báo hiệu xoay vòng CSP
Gần đây đã xuất hiện một giao thức điều khiển không tranh chấp cho mạng
OBS được gọi là giao thức báo hiệu xoay vòng CSP (Cycle Signalling Protocol) do
PGS. TS Bùi Trung Hiếu và các cộng sự đề xuất, đã giải quyết được vấn đề tranh
chấp bước sóng truyền tải và mất burst một cách hoàn toàn bằng cách truyền một
gói tin điều khiển burst BCP (Burst Controlling Packet) theo vòng và đăng ký
trước bước sóng truyền burst trong mạng.
2.3.1. Phương pháp truyền bản tin
điều khiển BCP
Như ta biết mạng truyền tải OBS có thể được xây dựng theo nhiều cấu hình
khác nhau, ta xét trên một mạng thỏa mãn điều kiện là trong mạng tạo được ít nhất
một vòng truyền dẫn khép kín đi qua tất cả các nút mạng và chỉ qua mỗi nút mạng
một lần (việc tạo ra một vòng như vậy có thể sử dụng thuật toán người đi du lịch –
Travel Agent Algorithm). Vòng này được s
ử dụng để truyền BCP và các thông tin
báo hiệu khác, tạm gọi là vòng báo hiệu SR (Signalling Ring). Điển hình các mạng
có thể thỏa mãn điều kiện này là các mạng có cấu hình vòng (ring) hoặc mắt lưới
(mesh). Mô hình mạng sử dụng CSP được chỉ ra trên hình 2.12 dưới đây.





12








Hình 2.12: Mô hình mạng sử dụng giao thức báo hiệu xoay vòng CPS
Mạng được giả thiết là mạng OBS-WDM có N nút. Vòng báo hiệu là vòng
truyền dẫn quang đơn hướng. sử dụng bước sóng λ
0
. Theo chiều truyền dẫn trên
vòng báo hiệu, các nút lần lượt được đặt là A
1
, A
2
, A
3
, …, A
N
. Các nút mạng này
có cấu trúc tương tự như nhau, là các nút chuyển mạch burst quang, có chức năng
của cả nút biên và nút lõi.
Dưới đây hình 2.13 sẽ mô tả một chu kỳ báo hiệu trong mạng.








Hình 2.13: Một chu kỳ truyền BCP trên vòng báo hiệu [32]
Nếu tại nút mạng A
n

, thời gian phát BCP (T
T-BCP
), thời gian thu BCP (T
R-BCP
)
không thay đổi thì thơi gian truyền BCP trên vòng báo hiệu không thay đổi và
được gọi là chu kỳ báo hiệu T
T =
∑∑
==
−−−
+++
N
n
N
n
tnAnBCPpAnBCPRAnBCPT
TTTT
11
///
)( (2.3)
Thực tế thời gian phát, thời gian thu, thời gian xử lý BCP của các nút mạng
không hoàn toàn ổn định như nhau trong các vòng truyền BCP vì vậy chu kỳ T
thực tế sẽ thay đổi. Trong một mạng đang hoạt động thì chu kỳ T có thể được thay
bằng thời gian báo hiệu một vòng, xác định theo thời gian thực tại mỗi nút mạng:
T
i/An
= t
Ts-BCP(i+1)/An
– t

Ts-BCPi/An
(2.4)
A
1
A
2
A
3
A
4
A
N

OBS
Network
λ
0
Signalling Ring
Nút A
n
Nút A(
n+1
)

Nút A(
n-1
)

BCP
i

BCP
i
BCP
i
t
TsBCPi/An
T
tn
T
R-BCP
T
p
T
T-BCP
BCP
i
BCP
i
BCP
i
BCP
i+1
T
t
TsBCP(i+1)/An


13
2.3.2. Cấu trúc gói tin điều khiển BCP
Tác giả của giao thức CSP đề xuất một cấu trúc thông tin mới cho BCP,

trong đó một BCP mang thông tin về tất cả các burst và thời gian sẽ sử dụng bước
sóng truyền burst trên toàn mạng trong một chu kỳ báo hiệu. Mỗi nút mạng khi cần
truyền burst đều phải đăng ký sử dụng bước sóng và gửi thông tin đăng ký vào
BCP. Một nút mạng khi nhận BCP sẽ phải đọc thông tin đăng ký sử d
ụng bước
sóng của tất cả các nút còn lại, từ đó chọn và đăng ký sử dụng bước sóng phục vụ
cho việc truyền các burst của mình. Nút đăng ký sau tuân thủ nguyên tắc chỉ chọn
các bước sóng rỗi (về không gian và thời gian), không được phép gây tranh chấp
bước sóng với những đăng ký đã có trong BCP. Một BCP có thể gồm 03 phần,
phần mào đầu (OH), phần thông tin điều khiển truyền burst (BCI) và phần dành
cho những thông tin cầ
n thiết khác.






Hình 2.14: Cấu trúc BCP [32]
2.3.3. Truyền tải qua mạng
Tải truyền trên mạng OBS là các burst. Trước khi phát một burst B
k
đến
đích, nút mạng phải chọn tuyến, chọn bước sóng rỗi và đăng ký thông tin truyền
burst vào BCP. Nếu có nhiều burst cần truyền, nút mạng phải lặp lại các bước này
cho đến hết các burst cần truyền. Chọn tuyến và chọn bước sóng rỗi thực chất là
chọn không gian và thời gian chiếm dụng bước sóng, bắt buộc phải chọn không
gian và thời gian mà bước sóng rỗi. Chọn tuyến và chọn bước sóng thường
được
thực hiện đồng thời, có thể gộp lại và gọi chung là định tuyến truyền burst.

Nút mạng định tuyến truyền burst ngay sau khi nhận BCP. Khi đã xác định
được tuyến và bước sóng truyền các burst, nút mạng đăng ký thông tin truyền burst
vào BCP trước khi phát BCP đến nút tiếp theo. Những burst không có bước sóng
rỗi hoặc tuyến rỗi để truyền, nút sẽ lưu trữ trong bộ đệm burst và định tuyến truyền
chúng ở lận nhận BCP ti
ếp theo.
Trong một BCP có đầy đủ thông tin về các burst, tuyến và thời gian sử dụng
bước sóng truyền burst trong toàn mạng. Bảng 2.1 dưới đây chỉ ra một cách hiển
OH



BCI
Khác
Cờ

Thông tin về
burst và
thông tin sử
dụng bước sóng
Loại L
BCP
… Sửa lỗi Chèn
Đánh dấu
L
B
k
t
sAs
Đánh dấu

L
B
(
k+1
)
t
sAs
L
IB
k
B
k

λ
w
P
B
k
A
s
A
d

Tuyến
t
sAn


t
sAd


L
Ib
(
k+1
)
B
(
k+1
)

λ
w
P
B
(
k+1
)
A
s
A
d

Tuyến
t
sAm


t
sAd

t
sAm
… …




14
thị thông tin đăng ký truyền burst trong BCP tại một nút mạng, trước khi BCP này
được phát đến nút tiếp theo trên vòng báo hiệu.
Bảng 2.1: Thông tin trong BCP tại một nút mạng [32]
Bước
sóng
Burst Thời điểm bit đầu của burst đến
Mã L
B
(B) Tuyến P TT khác Nút A
1
…Nút A
n
… Nút A
N
λ
1

B
1λ1
L
B1λ1
A

i
-…- A
n
P
B1λ1
… t
Sa1
…t
sAn
… t
San

… … … … … … … …
B
kλ1
L
Buλ1
A
1
-…- A
N
P
Bkλ1
t
Sa1
t
sAn
t
San


… … … … …
λ
w
B
j
λw
L
B
j
λw
… P
B
j
λw
… t
Sa1
… t
sAn
… t
San

… … … … … … … …
B
hλw
L
Bhλw
… P
Bhλw
… t
Sa1

… t
sAn
… t
San

Thông tin trong bảng được sắp xếp theo trật tự trừ trái qua phải và từ trên
xuống dưới. Thông tin trong bảng cho thấy, bước sóng λ
1
đang được sử dụng để
truyền k burst là
B
1λ1
,…, B
1λk
. Burst B
1λ1
có độ dài L
B1λ1
, chỉ số ưu tiên P
B1λ1
,
truyền trên tuyến (A
i
-…A
k
), bit đầu tiên của burst được phát đi từ nút nguồn A
i

thời điểm t
Sa1

, đến nút đích A
n
ở thời điểm t
sAn
. Tương tự như vậy đối với các bước
sóng truyền tải khác trong mạng.


















15
CHƯƠNG 3 – MỘT SỐ THUẬT TOÁN ĐỊNH TUYẾN VÀ GÁN
BƯỚC SÓNG TRONG MẠNG CHUYỂN MẠCH BURST QUANG
3.1. Định tuyến và gán bước sóng trong mạng OBS
Trong bất cứ một mạng lưới nào thì việc định tuyến cho các gói dữ liệu
truyền đi trong mạng đều là một trong những công việc quan trọng nhất ảnh hưởng

tới chất lượng của mạng đó và điều này cũng không ngoại lệ với mạng OBS.
Thông thường một bài toán về định tuyến và gán bước sóng trong mạng OBS được
chia thành hai phần là bài toán
định tuyến và bài toán gán bước sóng, tuy được chia
thành hai phần riêng như vậy nhưng chúng lại ràng buộc chặt chẽ với nhau do tính
chất “ánh sáng liên tục” trên một đường dẫn quang bên trong mạng OBS, có nghĩa
là trên một đường dẫn quang nhất định chỉ tồn tại một bước sóng tương ứng với
một kênh dữ liệu (tất nhiên trên một đường dẫn quang tồn tại nhiều hơn 2 bước
sóng vẫn có thể xảy ra khi t
ại nút mạng có bộ chuyển đổi bước sóng). Do vậy công
việc định tuyến trong mạng OBS khác với công việc định tuyến trong các mạng
khác (mạng IP, mạng ATM,…) vì còn phải quan tâm tới tài nguyên bước sóng.
3.1.1. Định tuyến trong mạng OBS
Trong mạng OBS thì bài toán định tuyến bị ràng buộc bởi hai điều kiện đặc
biệt sau đây: thứ nhất là OBS thực hiện định tuyến tại nút đầu vào và thứ hai là
công tác định tuyến trong OBS không bi
ết rõ được lưu lượng trên tuyến đã thiết lập
(hay còn gọi là việc định tuyến “mù” tại nguồn), có nghĩa là nút đầu vào thực hiện
định tuyến cho các burst truyền từ đầu vào đến đầu ra mà không biết trước được
lưu lượng trên tuyến truyền dẫn này, không biết trước được tính liên tục bước sóng
trên tuyến. Do vậy, việc định tuyến OBS không được biết rõ về lưu lượng của
mạng nên đây cũng là một sự giới hạn đáng kể đối với mạng OBS.
Có thể phân loại việc định tuyến trong mạng OBS thành hai loại sau: định
tuyến mà tuyến truyền dẫn không thể thay đổi trong suốt quá trình truyền burst hay
có thể gọi là “định tuyến cố định” và định tuyến mà tuyến truyền dẫn có thể thay
đổi được trong quá trình truyền burst dữ liệu hay có thể gọi là “định tuyế
n linh
hoạt”.
3.1.2. Gán bước sóng trong mạng OBS
Gán bước sóng trong mạng OBS chính là việc lựa chọn một bước sóng để

làm kênh truyền burst dữ liệu trên tuyến đã được xác định từ nút nguồn đến nút
đích bởi việc định tuyến như đã trình bày ở trên. Trong mạng OBS nếu được trang
bị đầy đủ tại toàn bộ nút mạng các bộ biến đổi bước sóng thì việc gán bước sóng sẽ


16
trở nên đơn giản rất nhiều vì ràng buộc về tính liên tục bước sóng trên một đường
dẫn quang không còn nữa. Việc lựa chọn bước sóng thỏa đáng cho việc truyền các
burst dữ liệu trong mạng OBS sẽ giúp làm giảm được số lượng tài nguyên mạng
cần có trong việc truyền dẫn.
Gán bước sóng ngay lập tức có thể được thực hiện khi burst dữ liệu đến có
một mức ưu tiên theo quy đị
nh phải được gửi đi ngay khi nút biên nguồn đã thực
hiện chọn tuyến đường. Có hai phương pháp lựa chọn bước sóng đó là “gán bước
sóng không thích nghi” (hay còn được gọi là gán bước sóng tĩnh) và “gán bước
sóng thích nghi” (hay còn được gọi là gán bước sóng động) [33]. Đối với phương
pháp “gán bước sóng không thích nghi” có hai thuật toán thông dụng đó là “lựa
chọn bước sóng đầu tiên phù hợp” (First-Fit) và “lựa chọn bước sóng ngẫu nhiên”
(Random).
Đối với phương pháp “gán bước sóng thích nghi” nút biên nguồn s
ẽ cân
nhắc việc lựa chọn bước sóng phát của mình dựa trên những thông tin sử dụng
bước sóng phản hồi từ mạng OBS qua các mặt phẳng điều khiển.
Các thuật toán “gán bước sóng thích nghi” thông dụng đó là các thuật toán
“gán bước sóng được sử dụng ít nhất” (Least Used-LU) và thuật toán “gán bước
sóng được sử dụng nhiều nhất” (Most Used-MU).
Nếu tại nút biên nguồn không yêu cầu lựa chọn bước sóng ngay lập tức thì
vi
ệc gán bước sóng sẽ linh hoạt hơn vì nếu tại thời điểm xét chưa có bước sóng
phù hợp để truyền thì có thể sử dụng việc lựa chọn bước sóng rỗi theo phương

pháp “điền ô trống” để đặt lịch truyền burst. Khác với gán bước sóng ngay lập tức,
nếu không có bước sóng rỗi thỏa mãn thì burst sẽ bị “rớt”, khi sử dụng lựa chọn
bước sóng theo phương pháp “đ
iền ô trống” tại nút biên nguồn, ngoài việc truy vấn
bước sóng rỗi tại thời điểm xét thì còn có thể lựa chọn những “khoảng rỗi” của
bước sóng đã được đặt lịch truyền burst (lúc này burst dữ liệu được đệm tại bộ đệm
điện tử). Hình 3.2 dưới đây sẽ minh họa cho việc lựa chọn bước sóng theo phương
pháp “điền ô trống”.







Hình 3.2: Các khoảng “bận, rỗi” của các bước sóng tại đầu ra nút biên nguồn
λ
1
λ
2
λ
w
t
t
t
“khoảng bận”, phục vụ truyền burst
“khoảng rỗi”
t
0
t

0
t
0


17
3.2. Một số thuật toán định tuyến trong mạng OBS
3.2.1. Các thuật toán “định tuyến cố định”
Thông thường định tuyến cố định sử dụng các thuật toán tìm đường ngắn
nhất để đưa ra tuyến truyền dẫn cho các burst dữ liệu. Vấn đề chính đối với việc
lựa chọn đường ngắn nhất đó là không dựa trên sự đánh giá lưu lượng trên tuyến
đó, vì vậy n
ếu có một liên kết đang quá tải thuộc về đường ngắn nhất đã được lựa
chọn thì nó vẫn sẽ được sử dụng để làm đường truyền cho dù có thể tồn tại một
tuyến thay thế khác có tải nhỏ hơn để thực hiện truyền dữ liệu.
3.2.1.1. Thuật toán Dijkstra
Thuật toán Dijkstra [35-38], mang tên của nhà khoa học máy tính người Hà
Lan Edsger Dijkstra, là thuật toán giải quyết bài toán tìm đường đi ngắn nh
ất từ
nguồn đến đích trong một đồ thị có hướng không có cạnh mang trọng số âm.
Thuật toán Dijkstra duy trì hai tập các đỉnh là tập S và Q trong đó tập S chứa
tất cả các đỉnh mà chúng ta đã biết được giá trị d[v] là giá trị của đường dẫn ngắn
nhất và tập Q chứa tất cả các đỉnh còn lại. Ban đầu tập S là tập rỗng và mỗi một
bước sau sẽ chuyển một
đỉnh từ tập Q sang tập S, đỉnh này được chọn như là đỉnh
có giá trị thấp nhất trong d[u]. Khi một đỉnh u được chuyển sang tập S thì thuật toán
sẽ thực hiện lũy biến mọi cạnh (u,v)”.
3.2.1.2. Thuật toán Extend Dijkstra – EDA
Vì tính chất lặp lại của thuật toán Dijkstra và chỉ thực hiện trên các đồ thị
đơn hướng như đã nói ở trên, nên trong các cấu trúc mạng dạng vòng hai hướng

hoặc cấu trúc mạng mesh có ch
ứa vòng hai hướng với số nút trong vòng là số chẵn,
thì khi sử dụng DA sẽ lựa chọn nhiều đường dẫn đi qua một số liên kết trong mạng
hơn số liên kết còn lại, có nghĩa là trên một số liên kết trong mạng sẽ thường xuyên
phải chịu tải nhiều hơn một số liên kết còn lại trong mạng.

3.2.2 Thuật toán “định tuyến linh hoạt”
Thuật toán “định tuyến linh hoạt” sẽ là một chiến lược thay thế tốt hơn trong
mạng OBS khi các thuật toán “định tuyến cố định” gặp phải sự cố trên, khi nó giải
quyết được các vấn đề về tranh chấp burst và giảm thiểu khả năng mất burst. Sau
đây là thuật toán “định tuyến linh hoạt” dựa trên nguyên tắc của chiến lược định
tuy
ến lệch hướng [40] gọi là thuật toán định tuyến “Nút kế cận thỏa mãn tiếp theo”
(NAN Algorithm – Next Available Neighbour Algorithm).
Hình 3.5 dưới đây miêu tả hoạt động của chiến lược định tuyến lệch trong
một mạng OBS. Khi nút 2 và nút 3 cùng lúc truyền một burst tới nút 6 mà đều sử
dụng chung liên kết 5-6, do vậy liên kết 5-6 phải chịu sự tranh chấp của 2 burst


18
này. Thay vì phải đánh rớt một trong hai burst (burst nào có mức ưu tiên thấp hơn)
thì tại nút 5 sẽ cố gắng thực hiện làm “lệch hướng” (hay chuyển tuyến) cho một
trong hai burst tới nút 4 rồi tiếp tục gửi tới nút 6.

Hình 3.5: Sơ đồ miêu tả định tuyến lệch trong mạng OBS, là nền tảng trong hoạt động của
thuật toán định tuyến NAN [40]
3.3. Định tuyến và gán bước sóng đồng thời với giao thức CSP
3.3.1. Bài toán định tuyến và gán bước sóng đồng thời trong mô hình mạng OBS
cấu hình mesh sử dụng giao thức báo hiệu xoay vòng CSP.
Như đã giới thiệu tại phần 2.3, chương 2 về giao thức báo hiệu xoay vòng

CSP [32], ta sẽ xem xét bài toán định tuyến và gán bước sóng đồng thời cho mạng
OBS cấu hình Mesh thỏa mãn điều kiện là trong mạng tạo được ít nhất một vòng
truyền dẫn khép kín
đi qua tất cả các nút mạng và chỉ qua mỗi nút mạng một lần sử
dụng làm vòng báo hiệu SR như trong hình 2.12, chương 2. Yêu cầu của bài toán đó
là, khi một nút A
i
bất kỳ cần truyền một burst dữ liệu B
k
tới nút A
j
trong mạng, nếu
chưa đến chu kỳ truyền BCP của nút A
i
thì burst này được đệm tại bộ đệm điện tử
cho đến khi nút A
i
nhận được gói BCP, lúc này A
i
sẽ phải thực hiện lựa chọn tuyến
truyền dẫn từ A
i
đến A
j
và lựa chọn bước sóng rỗi trên tất cả liên kết thuộc tuyến
đã chọn. Từ đó tại A
i
sẽ cập nhật thông tin về burst B
k
như chiều dài burst, độ ưu

tiên và thông tin sử dụng bước sóng của B
k
như bước sóng sử dụng truyền B
k
,
tuyến truyền dẫn, thời gian burst B
k
đến mỗi nút trong tuyến,…
Với yêu cầu như vậy, nếu ta sử dụng những thuật toán định tuyến tìm đường
ngắn nhất (như DA, EDA) hay thuật toán NAN và các thuật toán gán bước sóng đã
trình bày ở trên thì vẫn tồn tại khả năng xảy ra tranh chấp burst do vậy thông tin
cập nhật vào BCP sẽ không đạt được yêu cầu của giao thức CSP là giao thức
không tranh chấp tài nguyên truyền burst. Do vậy giải pháp đặt ra đó là tại nút A
i

sẽ thực hiện định tuyến và gán bước sóng đồng thời, có nghĩa là A
i
sẽ truy vấn toàn
bộ thông tin có liên quan đến việc truyền burst từ A
i
đến A
j
bao gồm thông tin về


19
toàn bộ các tuyến nối từ A
i
đến A
j

, thông tin sử dụng bước sóng đối với tất cả các
bước sóng trên từng liên kết thuộc từng tuyến nói trên. Từ các thông tin này nút A
i

sẽ chọn ra một tuyến truyền burst và bước sóng để truyền burst một cách tối ưu
nhất. Do đó thông tin được cập nhật vào BCP sẽ không gây ra sự tranh chấp với
các thông tin về burst và sử dụng bước sóng còn lại của các nút khác trong mạng.
Việc lựa chọn tuyến truyền dẫn và bước sóng thích hợp để truyền burst như vậy
được gọi là phương pháp “Lấp đầy những khoảng trống củ
a tài nguyên mạng”.
Do đó yêu cầu đặt ra của “bài toán tổng quát” đó là “tìm các ô trống” trong các tài
nguyên đã được đặt trước để truyền burst của các nút đăng ký trước để “điền đầy
các ô trống” thích hợp phục vụ cho việc truyền burst tại các nút còn lại khi đến thời
điểm nhận được gói BCP để cập nhật thông tin vào BCP.
Để giải được “bài toán tổng quát” trên, ta sẽ giải quyết từng phần của bài
toán hay nói cách khác ta sẽ chia “bài toán tổng quát” thành những bài toán nhỏ
hơn gọi là các “bài toán cơ sở” mà yêu cầu đặt ra ở mức tối thiểu đó là: “Tìm các ô
trống, thuộc một tài nguyên bước sóng, trên một tuyến nhất định từ nút nguồn (nút
nhận được BCP) đến nút đích cần nhận được 01 burst dữ liệu”. Ta chọn mô hình
mạng theo cấu hình tiêu chuẩn NSFnet là một mạng OBS cấu hình mesh với 14 nút
như được miêu tả dưới hình 3.7 [1] làm ví dụ
cho “bài toán cơ sở”.

Hình 3.7 – Mô hình mạng OBS cấu hình Mesh với 14 nút và vòng SR đi qua các nút
trong mạng chỉ một lần với bước sóng điều khiển λ
0

Giả sử ta phải truyền một burst dữ liệu từ nút số 1 đến nút số 6 và tại thời
điểm nút 1 vừa nhận được gói BCP, ta coi thời điểm xét là thời điểm bắt đầu một
chu kỳ truyền BCP và giả sử chu kỳ này là không đổi (T

BCP
= const) trên tất cả các
nút trong mạng. Tại nút 1 sẽ thực hiện truy vấn toàn bộ thông tin bên trong BCP có
liên quan đến việc truyền burst từ nút 1 đến nút 6 gồm toàn bộ các tuyến đường từ
nút 1 đến nút 6 và toàn bộ thông tin về các burst dữ liệu đã được xếp lịch truyền
λ
0

λ
0

λ
0

λ
0

λ
0
λ
0

λ
0
λ
0
λ
0

λ

0

λ
0
λ
0
λ
0
λ
0


20
trên tất cả các liên kết thuộc các tuyến đường đó thuộc tất cả các bước sóng tồn tại
trên các liên kết đó.
Để “bài toán cơ sở” đơn giản hơn ta sẽ thiết lập các điều kiện ban đầu cho
bài toán đó là: các nút trong mạng chỉ được đặt trước lịch truyền các burst trong
thời gian một chu kỳ truyền burst. Yêu cầu của “bài toán cơ sở” trong ví dụ trên
chính là tìm các “khoảng rỗi” hay “khoảng tr
ống” trên một bước sóng λ
w
và trên
một tuyến bất kỳ từ nút 1 đến nút 6, ví dụ tuyến 1Æ2Æ3Æ6 để phục vụ truyền
một burst.
3.3.2. Giải thuật cho “bài toán cơ sở”
Đối với tuyến 1Æ2Æ3Æ6, tại nút 1 sẽ thực hiện phân tích thông tin trong
BCP, truy vấn toàn bộ thông tin liên quan đến bước sóng λ
w
và toàn bộ thông tin
truyền burst trên các liên kết 1Æ2; 2Æ3 và 3Æ6 thuộc tất cả các tuyến truyền dẫn

đã được đăng ký trước trong BCI mà đi qua các liên kết nói trên. Hình 3.8 dưới
đây miêu tả các khoảng thời gian phục vụ truyền các burst trên từng nút, chỉ xét
các burst thuộc các tuyến đi qua nút đó đến nút kế tiếp trong khoảng thời gian một
chu kỳ truyền BCP đối với bước sóng λ
w
, ta có thể thấy được các khoảng trống hay
khoảng rỗi tại mỗi nút, trên mỗi liên kết đó, từ đó để tìm ra các khoảng trống tương
ứng trên cả tuyến. Từ các khoảng trống tìm được này ta sẽ so sánh với khoảng thời
gian chiếm dụng của burst cần dùng để quyết định có truyền được burst đó trong
các khoảng trống nói trên hay không.











Hình 3.8: Minh họa thời gian chiếm dụng bước sóng λ
w
của các burst qua mỗi nút
trên các liên kết của tuyến truyền dẫn 1Æ2Æ3Æ6
t
0
t
t
t

t
t
f1#1-2
t
s2#1-2
t
f2#1-2
t
s3#1-2
t
f3#1-2
t
f4#1-2
t
0
+T
BCP
t
Nút 2
tuyến X-2-3-Y
Nút 3
tuyến X-3-6-Y
Khoảng trống

toàn tuyến
t
s1#2-3
t
s2#2-3
t

f2#2-3
t
s3#2-3
t
s4#2-3
t
f4#2-3
t
s5#2-3
t
f5#2-3
t
s1#3-6
t
f1#3-6
t
f2#3-6
t
f3#3-6
t
s4#3-6
t
f4#3-6
Nút 6
tuyến 1-2-3-6
Nút 1
tuyến X-1-2-Y
t
s2#3-6
Khoảng thời gian burst

chiếm dụng bước sóng
Khoảng thời gian không thể nhận được
burst từ nút 1 trên tuyến 1Æ2Æ3Æ6

t
s1#1-2
t
s4#1-2
t
f1#2-3
t
f3#2-3
t
s3#3-6


21
Như ta thấy trên hình 3.8, tại nút 1 có thông tin về tất cả các burst được phát
đi (hoặc chuyển qua) từ nút 1 tới nút 2, các burst này có thể xuất phát từ nút 1 hoặc
được chuyển qua nút 1 từ một nút X nào đó nhưng đều đến hoặc đi qua nút 2, kí
hiệu trên hình 3.8 là các burst đi qua nút 1, thuộc tuyến X-1-2-Y. Với t
si#1-2
và t
fi#1-2

đó là thời gian bắt đầu và kết thúc việc phát các burst B
i
từ nút 1 đến nút 2. Không
phải bất cứ khoảng trống nào trên liên kết 1Æ2 đều có khả năng đáp ứng cho việc
truyền burst dữ liệu trên toàn bộ liên kết 1Æ2Æ3Æ6. Từ hình 3.8 ta thấy rằng chỉ

có hai khoảng trống tương ứng với hai khoảng thời gian tại nút 1 có thể sử dụng
được để truyền burst dữ liệu trên toàn tuyến trên mà thôi.
Như ta thấy trên hình 3.8, khi nút 1 phát đi các burst dữ li
ệu đến nút 2 trên
“liên kết 1” phải mất một khoảng thời gian Δt
1
thì bit đầu tiên của burst mới đến
được nút 2, thời gian này chính là thời gian truyền dẫn của sóng ánh sáng trên
đường truyền từ nút 1 đến nút 2. Tương tự như vậy thời gian truyền dẫn trên các
liên kết 2Æ3 và 3Æ6 lần lượt là Δt
2
, Δt3. Vì vậy phải thực hiện tính toán chính xác
các khoảng cách của các liên kết trong mạng để đưa ra các thông số thời gian trễ
cho từng liên kết (trong mạng thực tế, các tham số Δt
i
này có thể có được một cách
chính xác bằng cách đo cụ thể), từ đó điều kiện đầu của “bài toán cơ sở” sẽ chặt
chẽ và chính xác.
Sau khi ta đã có được các thông tin đầu vào của “bài toán cơ sở” như thời
gian trễ truyền dẫn trên các liên kết, thời gian phát và truyền các burst qua các nút
trên tuyến đã cho, vấn đề cần giải quyết bây giờ đó là làm sao để kết hợp được các
khoảng b
ận trên từng liên kết lại với nhau lại thành một “khoảng bận chung” cho
toàn tuyến từ đó sẽ tìm được những “khoảng rỗi chung” của tuyến. Như trên hình
3.8, giải pháp đưa ra đó là chuyển các mốc thời gian trên các nút trung gian về
cùng một mốc thời gian tại nút biên nguồn (nút 1) và rõ ràng việc dịch chuyển các
khoảng thời gian trên các nút trung gian về cùng một mốc thời gian tại nút 1 không
ảnh hưởng đến kết quả tìm khoảng trố
ng thích hợp cần truyền, lúc này thời gian
truyền dẫn trên các liên kết bằng không, từ đó ta có thể làm giảm được các điều

kiện ban đầu của “bài toán cơ sở” do vậy việc giải bài toán cơ sở cũng trở nên dễ
dàng hơn. Hình 3.9 dưới đây minh họa cho việc giải quyết yêu cầu tìm các khoảng
trống trên tuyến truyền dẫn 1Æ2Æ3Æ6 sau khi thực hiện dịch trái các khoảng th
ời
gian trên từng nút trung gian sao cho thời gian truyền dẫn trên các liên kết bằng
không bằng cách xếp chồng các khoảng bận trên các liên kết với nhau lại để tìm ra
các “khoảng bận chung” từ đó lấy đoạn thời gian [t
0
; t
0
+T
BCP
] trừ đi các khoảng
bận chung đó sẽ tìm được các “khoảng rỗi chung” hay các khoảng trống khả dụng
trên tuyến.



22












Hình 3.9: Minh họa việc xếp chồng các khoảng bận tại từng nút trên mỗi liên kết thuộc
tuyến 1Æ2Æ3Æ6 sau khi đã dịch trái thời gian các khoảng bận
Từ hình 3.9 ta có thể thấy được t
si#j-k
là thời điểm bit đầu tiên của burst dữ
liệu thứ i bắt đầu đi từ nút j tới nút k và t
fi#j-k
là thời điểm bit cuối cùng của burst dữ
liệu thứ i bắt đầu đi từ nút j tới nút k (các thông tin này có được từ BCI). Sau khi
các khoảng thời gian được dịch trái trên mỗi nút trung gian như hình 3.9.
Như đã nói ở trên, ta có thể dựa vào mối tương quan giữa các t
si#j-k
và t
fi#j-k

với nhau là có thể tìm ra được các khoảng trống trên toàn bộ tuyến hay nói cách
khác ta sẽ thực hiện xếp chồng các burst trên mỗi liên kết theo một hàng dọc để
tìm ra các khoảng bận chung trên toàn tuyến.
Ta có thể thấy được có tất cả 04 khoảng thời gian tương ứng với thời gian
chiếm dụng của 04 burst trên các liên kết qua các nút (burst 4 trên liên kết 1-2;
burst 5 trên liên kết 2-3; burst 4 và burst 5 trên liên kết 3-6) trùng lặp với nhau một
khoảng thời gian gây ra một khoảng bận chung trên toàn tuyế
n tương ứng với 04
burst đó. Khoảng bận chung này bắt đầu từ thời điểm bit đầu tiên của burst 5 - liên
kết 2-3 và kết thúc tại thời điểm bit cuối cùng của burst 5 - liên kết 3-6, đó là đoạn
[t
s5#2-3
; t
f5#3-6
] và ký hiệu là [τ

sN1
; τ
fN1
].
Bằng việc so sánh τ
sN1
hay t
s5#2-3
với t
fi#j-k
lớn nhất trong các t
fi#j-k
còn lại ta
có thể tìm ra được khoảng trống đầu tiên trên toàn tuyến đó là (t
f3#1-2
; t
s5#2-3
) hay có
thể ký hiệu là (τ
sP1
; τ
fP1
) (trong đó τ
sF1
có nghĩa là start positive time- bắt đầu thời
gian có thể truyền burst toàn tuyến và τ
fP1
có nghĩa là finish positive time- kết thúc
thời gian có thể truyền burst toàn tuyến).
t

τ
sR1
τ
fR1
τ
sR2
τ
fR2
τ
fR3
τ
sR3
t
0
t
t-Δt
1-2
t
t
t
f1#1-2
t
s2#1-2
t
f2#1-2
t
s3#1-2
t
f3#1-2
t

f4#1-2
t
0
+T
BCP
Nút 2
tuyến X-2-3-Y
Nút 3
tuyến X-3-6-Y
Khoảng trống

toàn tuyến
t
s1#2-3
t
s3#2-3
t
s4#2-3
t
f4#2-3
t
s5#2-3
t
f5#2-3
t
s1#3-6
t
f1#3-6
t
f2#3-6

t
f3#3-6
t
s4#3-6
t
f4#3-6
Nút 6
tuyến 1-2-3-6
Nút 1
tuyến X-1-2-Y
Khoảng thời gian burst
chiếm dụng bước sóng
Khoảng thời gian không thể nhận được
burst từ nút 1 trên tuyến 1Æ2Æ3Æ6

t
s1#1-2
t
s4#1-2
t
f1#2-3
t
f3#2-3
t
s3#3-6
t
s2#2-3
t
f2#2-3
t

s2#3-6
t-Δt
1-2-3
t
s5#3-6
t
f5#3-6


23
Tương tự ta có được khoảng bận toàn tuyến thứ hai là [t
s2#3-6
; t
f3#1-2
] hay

sN2
; τ
fN2
] và tương ứng ta lại có được khoảng rỗi toàn tuyến thứ hai là
(t
f2#2-3
; t
s2#3-6
) hay (τ
sP2
; τ
fP2
). Tương tự ta cũng có được [τ
sN3

; τ
fN3
]
Sau đây là các bước giải quyết tổng quát đối với “bài toán cơ sở” theo ví dụ
trên:
1. Phân tích tuyến A
m
Æ
A
n
Æ
A
o
Æ

Æ
A
v
Æ
A
w
thành các liên kết cấu tạo nên
tuyến này gồm các liên kết là: (A
m
-A
n
); (A
n
-A
o

) … và (A
v
-A
w
).
2. Tại nút nguồn A
m
thực hiện phân tích thông tin trong BCI để đưa ra các
thông số đầu vào của bài toán đó là các khoảng (t
si#j-k
; t
fi#j-k
) trên mỗi liên
kết thành phần. (Với i là số thứ tự của burst, j và k là các nút)
3. Dịch trái các khoảng thời gian tại nút A
n
một đoạn Δt
Am-An
; dịch trái các
khoảng thời gian tại nút A
o
một đoạn Δt
Am-An
+Δt
An-Ao
;… dịch trái các khoảng
thời gian tại nút A
v
một đoạn Δt
Am-An

+Δt
An-Ao
+…+Δt
Au-Av
. (Với Δt
j-k
là thời
gian truyền dẫn sóng ánh sáng từ nút j đến nút k)
4. Thực hiện xếp chồng các khoảng thời gian (t
si#j-k
; t
fi#j-k
) đã được dịch trái
như trên với nhau để tìm ra các khoảng thời gian bước sóng λ
w
bận trên
toàn tuyến từ đó có được các khoảng rỗi trên toàn tuyến.
Sau khi đã tìm được những khoảng trống thỏa mãn cho việc truyền burst dữ
liệu thì việc còn lại tại nút nguồn đó là kiểm tra thời điểm bắt đầu của khoảng trống
đó (τ
sP
) có thỏa mãn lớn hơn giá trị t
0
+ T
Offset
hay không. Bởi vì đối với bất kỳ
giao thức báo hiệu nào trong mạng OBS đều phải tuân thủ nguyên tắc gói điều
khiển burst phải được gửi đi tới nút đích qua các nút trung gian trước khi thực hiện
truyền burst dữ liệu một khoảng thời gian T
Offset

. Vì vậy nếu τ
sPi
< t
0
+ T
Offset
thì
khoảng trống (τ
sPi
; τ
fPi
) đó sẽ bị loại. Ngoài ra đối với các khoảng trống tìm được
phải được thực hiện tạo ra các khoảng bảo vệ (khe bảo vệ) đủ để phục vụ cho thời
gian cấu hình bộ chuyển mạch OXC và thời gian các burst di chuyển trên các liên
kết, bởi vì khi các burst được chuyển mạch qua bất kỳ nút nào đều phải có thời
gian di chuyển trên các liên kết trong mạng.
3.3.3. Giải thuật cho “bài toán tổng quát”
Từ gi
ải thuật cho “bài toán cơ sở” ta có thể đưa ra lời giải cho “bài toán tổng
quát” định tuyến và gán bước sóng đồng thời trong mạng OBS cấu hình Mesh sử
dụng giao thức báo hiệu xoay vòng CSP như sau:
a. Yêu cầu của “bài toán tổng quát”: Đăng ký thông tin truyền các burst dữ liệu
tại nút A
i
vào trường BCI khi nhận được gói BCP, có nghĩa là định tuyến và gán
bước sóng cho các burst dữ liệu cần truyền tại nút A
i
tới các nút A
j
trong mạng sử

dụng giao thức CSP.
b. Giải quyết yêu cầu của “bài toán tổng quát” theo các bước sau:

×