Khối tách burst (Burst Deassembly)

Một phần của tài liệu LẬP VÀ TÁCH BURST TRONG CHUYỂN MẠCH BURST QUANG (Trang 40 - 60)

2.3.1 Khái niệm tách burst.

Sau khi được truyền qua mạng lõi của mạng chuyển mạch burst quang, burst dữ liệu sẽ được chuyển đến đúng nút biên đầu ra. Tại đây, quá trình tách burst sẽ được thực hiện. Quá trình tách burst có thể được định nghĩa đơn giản là quá trình tách ra và thu lại các gói tin được tập hợp trước đó vào trong burst.

Các bước sóng quang mang burst sẽ được tách ra và đưa tới các bộ thu. Sau đó, các burst được chuyển về tín hiệu điện và đưa tới các bộ nhớ đệm, đồng thời phần mào đầu burst được đọc để lấy ra các thông tin cần thiết. Vì tách burst là quá trình ngược của lập burst nên cần căn cứ vào thông tin khi lập burst để thực hiện tách burst. Mục đích của việc tách burst là thu lại các gói tin như trước khi lập burst và chuyển tiếp các gói đến đích..

Hình 2.12 Quá trình tách burst.

2.3.2 Nguyên lý tách burst.

Trong quá trình truyền dữ liệu trong mạng chuyển mạch burst quang, các gói dữ liệu chứa thông tin cần truyền sẽ được chuyển tới nút biên đầu vào. Dựa vào đích đến và lớp dịch vụ, các gói tin sẽ được đưa vào hàng đợi, chờ khi yêu cầu cho quá trình lập burst đạt tới ngưỡng, thì các gói tin ở trên cùng một hàng đợi sẽ được tập hợp thành một burst và chuyển vào mạng lõi OBS. Tại đây, burst sẽ được truyền qua các nút trung gian trên một kênh bước sóng định sẵn để tới được nút biên đầu ra.

Cuối cùng, tại nút biên đầu ra này, các burst sẽ được tách ra, để trả về các gói dữ liệu như ban đầu. Quá trình tách burst cụ thể như sau:

- Nút biên đầu ra nhận tín hiệu quang từ kênh truyền dẫn.

- Bước sóng quang mang burst sẽ được tách ra, và gửi tới bộ thu.

- Để xử lý tín hiệu, các burst (đang ở dưới dạng thông tin quang) này sẽ được đưa qua một bộ chuyển đổi quang/điện (O/E Converter).

- Burst tín hiệu đã được chuyển sang miền điện sẽ được đưa tới bộ đệm, chờ xử lý.

- Phần mào đầu burst sẽ được lấy ra, để đọc các thông tin cần thiết.

Đây là các thông tin của quá trình lập burst. Bởi vì tách burst là ngược lại của quá trình lập burst, nên dựa vào các thông tin này, quá trình tách burst mới có thể tiến hành.

- Sau khi có đầy đủ thông tin, burst sẽ được tiến hành tách ra thành các gói dữ liệu như ban đầu.

Hình 2.13 Dòng các burst truyền đi trên các bước sóng tương ứng.

2.3.3 Vấn đề tồn tại trong quá trình tách burst.

Nhìn chung, quá trình tách burst diễn ra khá đơn giản, và không có nhiều tham số cần phải đánh giá để tối ưu hóa. Burst dữ liệu được lập ra tại nút biên nguồn, và được chuyển mạch qua các nút lõi (nút trung gian) để tới nút biên đích. Vấn đề quá tải đường truyền hay sự mất mát gói dữ liệu đều xuất phát từ quá trình lập burst và truyền tải burst trước đó, nên khi burst được gửi tới nút biên cổng ra, hai vấn đề trên có thể tạm thời không cần quan tâm.

Một vấn đề nổi bật nhất đối với nút biên cổng ra chính là tốc độ xử lý để đáp ứng với sự bùng nổ lưu lượng đang là một thách thức lớn đối với các nhà nghiên cứu hạ tầng và dịch vụ viễn thông hiện nay, cho dù là lập burst sử dụng ngưỡng độ dài, hay ngưỡng thời gian. Đối với lập burst dựa trên ngưỡng độ dài, rõ ràng là khi nhu cầu tải lên cao, đồng nghĩa với việc lưu lượng các gói tin đến là rất lớn, thì ngưỡng độ dài sẽ rất nhanh chóng để đạt được. Do đó, các burst sẽ được thiết lập nhanh chóng hơn, tỷ lệ với lưu lượng gói tin đầu vào. Khi đó tần suất burst đến nút biên cổng ra chờ xử lý cũng tăng lên đáng kể. Còn lập burst dựa trên ngưỡng thời gian, mặc dù tốc độ burst đến không thay đổi, nhưng lượng thông tin cần xử lý và tách ra của mỗi burst lại rất lớn khi lưu lượng gói đầu vào lớn. Vì vậy, nếu không có tốc độ xử lý nhanh chóng, cùng cơ chế hiệu quả, việc dồn, nghẽn dữ liệu xảy ra tại nút biên đích là không thể tránh khỏi!

Một vấn đề khác cần phải xem xét trong quá trình tách burst là vấn đề tách và chuyển tiếp gói tin sau khi đã được tách ra từ burst tới đích cần đến. Như phần trình bày ở chương trước, trong chuyển mạch burst quang, thông tin điều khiển và dữ liệu tách biệt, truyền đi theo hai kênh truyền khác nhau. Tín hiệu điều khiển hay còn được gọi là gói điều khiển burst ( Burst Control Packet – BCP ) sẽ được xử lý dưới dạng tín hiệu điện, và truyền đi trước phần burst dữ liệu tương ứng để thực hiện nhiệm vụ dành chiếm tài nguyên, lập sẵn một con đường chuyển mạch dành cho burst dữ liệu mà nó

chịu trách nhiệm. Tín hiệu điều khiển này sẽ được truyền đi trên một kênh riêng, gọi là kênh điều khiển. Giao thức truyền gói tin điều khiển này tương tự như chuyển mạch gói. Sau khi tài nguyên đã được giành trước, burst quang chứa dữ liệu (các gói tin cần chuyển mạch tới người dùng) sẽ được truyền đi trên một kênh truyền đã định trước, và nó hoàn toàn “trong suốt” với các nút trong mạng lõi mà nó đi qua (nút trung gian). Điều này giúp giảm thiểu tối đa trễ xử lý ở nút trung gian, cũng như loại bỏ những đòi hỏi về xử lý tín hiệu quang đối với các burst.

Hình 2.14 Truyền dẫn data burst và BCP trong mạng OBS.

Nhưng gói tin điều khiển chỉ chứa những thông tin dành cho việc cấu hình chuyển mạch. Vậy thông tin cần thiết để có thể tách chính xác từng gói dữ liệu có trong burst và chuyển tiếp các gói tin này tới đúng đầu ra tương ứng sẽ nằm ở đâu? Sau đây, chúng ta xem xét kỹ hơn về vấn đề này. Một burst dữ liệu có thể xem như là một gói tin IP cỡ lớn. Cấu trúc burst tương tự cấu trúc của một gói tin thông thường bao gồm phần mào đầu (header) và phần tải trọng (payload), chỉ khác ở chỗ phần tải trọng của burst bao gồm nhiều gói dữ liệu khác nhau.

Hình 2.15 Cấu trúc chung của burst.

Các gói dữ liệu có thể được xếp lần lượt (hết gói này rồi đến gói khác), hoặc cũng có thế ghép xen rẽ (cứ một byte gói này, lại đến một số byte của gói khác)… Chính vì có thể có nhiều quy tắc xếp gói khác nhau như thế trong quá trình lập burst, và ngay cả bản thân burst có thể bao gồm nhiều loại dữ liệu khác nhau, cho nên không thể thiếu các thông tin về kiểu dữ liệu hay cấu trúc dữ liệu,… giúp cho việc tách burst có thể được diễn ra. Và một đề xuất tối ưu là chèn các thông tin cần thiết đó vào mào đầu burst – BH.

Trường đầu tiên cần thiết trong mào đầu burst là trường đồng bộ (Synchronization Pattern). Trường này có nhiệm vụ đồng bộ hóa với đầu thu quang ở nút biên đích. Nó giúp báo hiệu cho đầu thu biết đã bắt đầu một burst. Trường tiếp theo là trường kiểu dữ liệu (Payload Type). Trường này giúp khối tách burst biết được kiểu dữ liệu của các gói tin được tập hợp trong burst, từ đó, khối tách burst mới có thể

chọn phương thức xử lý phù hợp đối với những gói dữ liệu này (ví dụ như điều chỉnh tốc độ đọc/ghi gói dữ liệu vào/ra bộ đệm…). Số gói có trong một burst (Number of Packets) cũng là cần thiết. Cùng với đó, để tách chính xác từng gói, tránh mất mát dữ liệu do đọc/ghi sai lệch, kích thước, vị trí của từng gói cũng phải được thông báo ở phần mào đầu burst này. Phần tải trọng burst có thể được ghi theo cách từ byte thứ nhất đến byte thứ n là gói tin thứ nhất, từ byte thứ n+1 cho đến byte thứ n+k là gói tin thứ hai…; hoặc cũng có thể byte thứ nhất là của gói thứ nhất, byte thứ hai,ba lại thuộc về gói tin thứ hai… Tất cả các thông tin đó, khối tách burst đều phải biết chi tiết để có thể tách được đúng các gói tin ra khỏi burst. Tuy nhiên, việc ghi lại toàn bộ như vậy có thể dẫn đến kích thước mào đầu trở nên quá cồng kềnh. Chúng ta có thể giảm thiểu bằng cách ghi burst (ghép các gói tin vào trong burst) theo một quy tắc nhất định nào đó, và ở phía lập sẽ chèn một thông báo là đã sử dụng quy tắc này vào mào đầu, ở phía tách, đọc được quy tắc này, khối tách burst sẽ áp dụng quy tắc đọc tương ứng để tách ra được các gói tin đã được xếp vào burst. Vậy, trường thông tin tiếp theo cần thiết phải có ở trong mào đầu burst là vị trí của gói hay quy tắc xếp gói trong burst.

Dựa vào các phân tích trên, hình dưới đây sẽ đưa ra cấu trúc tổng quát của một burst với những trường cụ thể, cần thiết trong việc tách burst. Đây sẽ là cơ sở để chúng ta có thể xây dựng ra cấu trúc phần cứng của bộ lập và bộ tách burst.

Hình 2.16 Các trường tin cơ bản trong một burst.

Trong đó, PT (Payload Type) xác định kiểu dữ liệu của tải trọng; PL (Payload Length) là độ dài phần tải trọng. Đây là hai trường chỉ ra cho chúng ta biết kiểu dữ liệu và kích thước phần tải trọng burst. NOP - Number of Packets là số gói có trong tải trọng và PP - Packet’s Positon xác định vị trí của các gói. NOP sẽ cho ta biết tổng số gói có trong burst và PP sẽ chỉ ra vị trí của từng byte dữ liệu ứng với một gói cụ thể (hoặc cũng có thể là quy tắc sắp xếp các gói trong burst). Ngoài ra còn có thêm trường OLI (Optical Layer Information) chứa thông tin giám sát hiệu suất hay sửa lỗi chuyển tiếp cũng được thêm vào. Dựa vào các trường thông tin có được từ cấu trúc burst đã đề xuất ở trên, khối tách burst sau khi nhận burst gửi vào từ các bộ thu quang ở trong nút biên đích có thể dễ dàng tách, xử lý mào đầu, lấy ra các thông tin cần thiết giúp cho việc tách gói trở nên dễ dàng.

Vấn đề còn lại là làm sao để chuyển tiếp gói tin tới được đúng đầu ra tương ứng để đến đích. Có hai đề xuất được đưa ra để xử lý vấn đề này. Đề xuất thứ nhất, chúng

ta sẽ sử dụng bộ đệm IP để lưu trữ các gói tin sau khi được tách ra từ burst. Bằng việc lưu trữ các gói dữ liệu này, chúng ta sẽ có đủ thời gian để tiến hành tách và xử lý mào đầu cho từng gói, lấy ra các thông tin về đích đến cần chuyển tiếp của các gói. Từ đó, gói tin dễ dàng được chuyển tiếp tới đầu ra tương ứng. Đề xuất thứ hai, lợi dụng quá trình đọc đích đến (để sắp xếp các gói tin vào hàng đợi burst tương ứng) ở phía lập burst, chúng ta sẽ ghi thông tin đích đến của từng gói đó vào trong phần mào đầu burst. Ở phía tách burst, không cần lưu trữ các gói vào các bộ đệm IP, mà dựa vào thông tin đích đến có trong mào đầu burst, các gói sau khi được tách sẽ lập tức được chuyển tiếp tới đầu ra mà không cần xử lý mào đầu cho từng gói nữa. Hình 2.17 sẽ chỉ ra cấu trúc burst được dùng trong đề xuất thứ hai. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 2.17 Các trường tin trong burst khi chèn thêm trường địa chỉ gói.

Việc tách và xử lý mào đầu burst làm nảy sinh một vấn đề nữa đối với khối tách burst, đó là cần một khoảng thời gian trễ xử lý nhất định để có thể lấy ra đầy đủ các thông tin cần thiết từ phần mào đầu. Chính vì vậy, cần một cơ chế để đồng bộ quá trình xử lý mào đầu và tách gói. Có hai đề xuất được đưa ra để giải quyết vấn đề này. Đề xuất thứ nhất, chúng ta sẽ chèn thêm trường Offset – Thời gian bù vào đầu phần tải trọng, ngay trước byte dữ liệu đầu tiên của gói dữ liệu trong burst. Giá trị thời gian bù này sẽ được tính toán kỹ càng, sao cho đủ thời gian để khối tách burst kịp xử lý, lấy ra đầy đủ các thông tin cần thiết để bắt đầu tiến hành tách và chuyển tiếp gói. Như vậy, bằng việc sử dụng thời gian bù, chúng ta có thể tiến hành cắt mào đầu, xử lý mào đầu, tách gói và chuyển tiếp gói mà không cần sử dụng một bộ đệm burst (một bộ đệm yêu cầu dung lượng lớn và giá thành không nhỏ).

Hình 2.18 Cấu trúc burst sử dụng trường thời gian bù.

Đề xuất đầu tiên này giúp chúng ta giảm thiểu chi phí, tuy nhiên, lại mất một khoảng thời gian trễ nhất định rồi mới tiến hành tách gói. Vì thế, đề xuất thứ hai đã được đưa ra, nhằm đáp ứng nhu cầu giảm thiểu tối đa độ trễ đối với những mạng yêu cầu chặt chẽ về độ trễ của gói tin, đó là các burst sau khi được tách mào đầu, phần tải trọng ngay lập tức được lưu trữ và tiến hành tách gói, song song với việc mào đầu được đưa tới khối xử lý để lấy ra các thông tin dùng cho quá trình chuyển tiếp gói. Tất nhiên, khối tách burst lúc này phải biết được rõ quy tắc sắp xếp gói trong burst mới có thể tiến hành tách gói ngay lập tức. Ở đây, chúng ta có thể xem xét một quy tắc xếp gói vào burst đơn giản nhất, đó là sắp xếp lần lượt từng gói dữ liệu nối tiếp nhau, và ngăn cách bằng các khoảng bảo vệ gói GB-P (Guard-Band’s Packet).

Hình 2.19 Tải trọng burst đối với trường hợp sắp xếp các gói lần lượt.

Bằng quy tắc sắp xếp gói như vậy, khối tách burst đơn giản sử dụng một bộ ghi/đọc đọc lần lượt từ đầu đến hết phần payload. Khi gặp các đoạn GB-P, bộ đọc hiểu rằng đã kết thúc một gói, và bắt đầu sang gói mới. Nhờ vậy, việc tách burst diễn ra dễ dàng, và hoàn toàn có thể tiến hành đồng thời với quá trình xử lý mào đầu, nhằm tiết kiệm thời gian xử lý, giảm thiểu độ trễ xử lý ở một mức độ hiệu quả nhất định.

2.4 Tóm tắt chương.

Chương 2 đi sâu vào khối lập và tách burst – một khối chức năng nằm trong nút biên mạng OBS, và có vai trò quan trọng đối với hiệu năng của công nghệ chuyển mạch

burst quang. Đối với khối lập burst, hai nguyên lý lập burst phổ biến và hiệu quả là dựa trên ngưỡng thời gian và ngưỡng độ dài. Mỗi nguyên lý đều còn tồn tại một số vấn đề, tuy nhiên vấn đề cơ bản nhất chính là tìm ra một ngưỡng tối ưu để OBS hoạt động thực sự hiệu quả - đáp ứng tốt lưu lượng bùng nổ cũng như giảm thiểu tối đa tổn thất dữ liệu. Một kết quả mô phỏng đã được đưa ra làm ví dụ. Từ đó, có thể thấy được rằng giá trị ngưỡng tối ưu là tồn tại, và nó phụ thuộc vào đặc tính cơ bản của lưu lượng đầu vào. Nếu xác định rõ đặc tính lưu lượng cũng như đặc tính của mạng, chúng ta hoàn toàn có thể dựa trên tính toán và mô phỏng để chọn ra ngưỡng giá trị tối ưu cho quá trình lập burst. Đối với khối tách burst, vấn đề đặt ra là làm sao để tách chính xác các gói và chuyển các gói tới đích đến tương ứng. Vấn đề này đã được xem xét cụ thể và các đề xuất về cấu trúc burst được đưa ra để xử lý những vấn đề và các yêu cầu hoạt động đối với khối tách burst trong mạng chuyển mạch burst quang.

CHƯƠNG III. ĐỀ XUẤT CẤU TRÚC KHỐI LẬP VÀ TÁCH BURST

3.1 Đề xuất cấu trúc khối lập burst.

3.1.1 Phân tích các khối chức năng cần có trong cấu trúc khối lập burst.

Luồng dữ liệu vào là các gói IP hoặc luồng SDH,… gửi tới nút biên trong mạng OBS cần được tiếp nhận và xử lý tải đến. Đối với vấn đề bùng nổ lưu lượng truyền thông hiện nay, cần có một cơ chế lưu trữ tải đến, nói cách khác, nó giúp cân bằng giữa tốc độ đến nhanh chóng của luồng vào với tốc độ xử lý của thiết bị, góp phần

Một phần của tài liệu LẬP VÀ TÁCH BURST TRONG CHUYỂN MẠCH BURST QUANG (Trang 40 - 60)