Chuyển mạch nhãn đa giao thức tổng quát

**Chuyển mạch nhãn đa giao thức tổng quát** (tiếng Anh:*Generalized Multi-Protocol Label Switching*, viết tắt **GMPLS**) được phát triển dựa trên kỹ thuật chuyển mạch nhãn đa giao thức - MPLS với rất nhiều ưu điểm như sử dụng tài nguyên mạng hiệu quả, tốc độ xử lý chuyển tiếp nhanh, độ trễ thấp… Cách thức hoạt động của MPLS là gán nhãn lên các gói tin. Tuy nhiên, với một mạng chuyển mạch quang, ý tưởng về "gắn nhãn" lên các bước sóng hoặc các sợi quang là điều không thể. Do vậy, GMPLS ra đời nhằm mở rộng khả năng hoạt động của MPLS như hỗ trợ chuyển mạch gói, chuyển mạch bước sóng, chuyển mạch sợi quang... Khi đó, với lớp quang, hệ thống sẽ có dung lượng truyền dẫn lớn và khả năng cấu hình mềm dẻo các chuyển mạch quang OXC.

Các giao thức định tuyến trong GMPLS như OSPF, IS-IS… tăng cường khả năng định tuyến của hệ thống. Các giao thức báo hiệu như LDP, RSVP… được mở rộng để có thể đáp ứng nhu cầu về điều khiển lưu lượng cũng như tạo tương tác giữa mặt phẳng điều khiển và mặt phẳng dữ liệu.

## Các thành phần cơ bản trong GMPLS
### Mặt phẳng dữ liệu và mặt phẳng điều khiển

Mặt phẳng điều khiển: là một tập hợp phần mềm hoặc phần cứng trong một thiết bị, như router, được dùng để điều khiển nhiều hoạt động thiết yếu trong mạng như phân phối nhãn, tìm tuyến mới, khắc phục lỗi… Nhiệm vụ chính của mặt phẳng điều khiển là cung cấp dịch vụ cho mặt phẳng dữ liệu.

Mặt phẳng dữ liệu: có nhiệm vụ chuyển tiếp lưu lượng của người sử dụng qua router. Trong môi trường chuyển mạch gói, các bản tin điều khiển và các bản tin chứa dữ liệu có thể truyền chung trên cùng một liên kết. Tuy nhiên, xét về mặt truyền tải, tại các node, các thiết bị chuyển mạch sẽ chuyển tiếp toàn bộ hoặc một khe thời gian, hoặc một (nhiều) bước sóng, hoặc một sợi quang để có thể vận chuyển được lượng thông tin nhiều nhất. Các gói tin điều khiển đều bị bỏ qua và không xét tới. Do đó, mặt phẳng dữ liệu và mặt phẳng điều khiển hoạt động tách rời với nhau. Các bản tin điều khiển này có thể được vận chuyển nhờ một kênh dữ liệu của mặt 
phẳng dữ liệu hoặc có thể được vận chuyển thông qua một mạng độc lập khác.

### Nhãn (Label)
Cũng như trong MPLS, nhãn là một khung nhận dạng ngắn, có chiều dài cố định và không có cấu trúc. Mục đích chính của nhãn là xác định LSP mà gói tin được chuyển tiếp. Nhãn trong GMPLS không như nhãn trong MPLS. Trong MPLS, nhãn được gán trực tiếp vào gói tin khi chuyển trong mạng. Sau đó, các LSR sẽ xử lý các nhãn này khi gói tin tới LSR. Với GMPLS, nhãn không thể làm điều này vì dữ liệu trong mạng gồm nhiều loại được quy định khác nhau như bước sóng, khe thời gian hoặc đơn giản là các cổng của các sợi quang. Do đó, nhãn trong GMPLS được hiểu ngầm giữa hai LSR gần nhau và tất nhiên các LSR này phải hiểu và xử lý các nhãn này.

### Bộ định tuyến chuyển mạch nhãn (Label Switching Router)
Là các node mạng có chức năng xử lý nhãn, gỡ nhãn cũ và gắn nhãn mới cho gói. Các giao diện của LSR được chia thành các loại giao diện riêng để có thể thực hiện chuyển mạch các gói tin, bước sóng hay các khe thời gian… 
*Packet Switch Capable (PSC) interfaces: giao diện có khả năng chuyển mạch gói.
*Layer 2 switch Capable (L2SC) interfaces: giao diện có khả năng chuyển mạch lớp 2.
*Time-Division Multiplex Capable (TDM) interfaces: giao diện có khả năng ghép kênh thời gian.
*Lambda Switch Capable (LSC) interfaces: giao diện có khả năng chuyển mạch bước sóng.
*Fiber-switch Capable (FSC) interfaces: giao diện có khả năng chuyển mạch sợi quang.

### Tuyến chuyển mạch nhãn (Label Switching Path)
Là con đường mà thông tin truyền qua mạng. LSP được bắt đầu bởi một LSR ngõ vào (ingress node) và kết thúc ở một LSR ngõ ra (egress node). LSP trong GMPLS sử dụng kiến trúc phân cấp tương tự như trong MPLS. Với MPLS, các gói tin dựa vào các stack label để phân cấp trên LSP của mình. Với GMPLS, việc gán các nhãn này là không thể. Tuy nhiên, GMPLS vẫn có kiến trúc phân cấp.

Với mô hình phân cấp như trên, một LSP có thể đi qua nhiều giao diện chuyển mạch khác nhau của các giao tiếp tại LSR. Ví dụ một LSP được thiết lập với yêu cầu chuyển các gói tin có thể đi qua một giao diện khác được thiết lập TDM. LSP của giao diện TDM này có thể được đi nhờ qua một giao diện LSC. Tới lượt LSP lại được ghép với một giao diện của một liên kết chuyển mạch quang FSC.

## Quá trình báo hiệu trong GMPLS
Nhiệm vụ chính của quá trình báo hiệu trong GMPLS là thiết lập các LSP. So với MPLS, báo hiệu trong GMPLS có một số cải tiến sau: 
*Trao đổi nhãn cho các mạng phi gói (lambda, sợi quang).
*Thiết lập các LSP song hướng.
*Báo hiệu để thiết lập các con đường dự phòng.
*Gán nhãn nhanh thông qua các nhãn được đề nghị.
*Hỗ trợ chuyển mạch dải sóng (tập các bước sóng liên tiếp được chuyển mạch).
Để thực hiện quá trình điều khiển, báo hiệu trong GMPLS, 2 giao thức được nghiên cứu, mở rộng là CR-LDP (Constraint-based Routed Label Distribution Protocol) và RSVP-TE (Resource Reservation Protocol - Traffic Engineering). Năm 2003, IETF (Internet Engineering Task Force) đã quyết định dừng việc phát triển giao thức CR-LDP và xem RSVP-TE là giao thức báo hiệu của GMPLS.

RSVP là giao thức báo hiệu đã được sử dụng trong MPLS nhằm thiết lập dự phòng về chất lượng dịch vụ trong mạng Internet. Router theo dõi và kiểm soát việc di chuyển của gói tin sau khi có sự thống nhất về tài nguyên sử dụng giữa 2 router. Gói tin được gởi đều đặn nhờ giao thức RSVP giữa các router. Một cách đơn giản, giao thức RSVP thực hiện việc thiết lập và điều khiển quá trình chiếm giữ tài nguyên của các dịch vụ. Giao thức RSVP có hai bản tin cơ bản: bản tin Path và bản tin Resv. 2 router sẽ dựa vào các thông số trong hai bản tin này để quyết định việc thiết lập kết nối giữa chúng hay không.

### Các thủ tục báo hiệu cơ bản

* Thủ tục thiết lập LSP
LSP được thiếp lập bởi một LSR nguồn (ingress node) bằng cách gởi bản tin Path đến LSR sau (quy ước LSR kế tiếp, liền kề sau một LSR gọi là LSR sau và LSR kế tiếp, liền kề trước một LSR là LSR trước). Bản tin Path này chứa thông tin nhận dạng của LSP (Sender-Template), các tham số khác để thiết lập LSP như Label request, Sender-Tspec, Explicit Route objects. Sau khi gởi bản tin này, LSP sẽ chưa được thiết lập đến khi LSR sau gởi bản tin Resv. Bản tin Resv gởi từ LSR này có nhiệm vụ nhận dạng lưu lượng truyền qua nó và xác nhận chiếm tài nguyên. LSR này tiếp tục chuyển tiếp gói tin Path qua từng LSR đến khi gói tin này đến LSR đích (egress node). Tại mỗi LSR, các tham số về tài nguyên bị chiếm đều được kiểm tra để chắc chắn rằng không có LSP nào khác có thể chiếm được nữa. Khi bản tin Path đến LSR đích, bản tin Resv được khởi tạo và truyền ngược về các LSR trước. Bản tin Resv này cũng được truyền qua từng LSR trung gian để có thể đến được LSR nguồn. LSP được thiết lập.

Sau khi LSP được thiết lập, giao thức RSVP-TE còn tạo một bản tin Resvconfirm gởi đi từ LSR nguồn tới LSR đích nhằm xác nhận LSP đã được thiết lập. Tuy nhiên, hệ thống GMPLS hiếm khi sử dụng bản tin này vì nó không thật sự cần thiết.

* Thủ tục hủy LSP
Để hủy LSP, bản tin PathTear được khởi tạo từ LSP nguồn. Khi các LSR nhận gói tin này, LSP bị xóa khỏi mặt phẳng dữ liệu cũng như các trạng thái điều khiển của LSP. Duy nhất RSVP và RSVP-TE sử dụng bàn tin PathTear. Tuy nhiên, với GMPLS, LSR đích và các LSR trung gian đều có thể hủy kết nối bằng cách sử dụng bản tin PathErr. Khi cờ chỉ định "Path state removed" được kích hoạt, các LSR hiểu rằng đầy không phải một bản tin PathErr thông thường mà là bản tin để hủy LSP.
 
* Thủ tục báo lỗi
Thủ tục báo lỗi trong RSVP được thông báo bằng các bản tin PathErr và ResvErr. hai bản tin này có nhiệm vụ chính là thông báo cho LSR trước hoặc sau không thể đáp ứng yêu cầu về tài nguyên dành cho LSP. Đồng thời, hai loại bản tin này còn giúp xác định vị trí và vấn đề xảy ra trên LSP.

Với RSVP-TE, các LSR nhận biết được lỗi và tạo ra một bản tin Path mới để không làm ảnh hưởng tới LSP trong mặt phẳng dữ liệu. Sau khi bản tin báo lỗi đến LSR nguồn hoặc LSR đích, một bản tin Path/Resv đã được chỉnh sửa sẽ được gởi lại để khắc phục vấn đề. Đây là một tính năng quan trọng vì sẽ có một số mạng cần được duy trì kết nối liên tục. Ngoài ra, để có thể khắc phục sự cố một cách nhanh chóng, bản tin Path còn chứa tham số về Notify-Request. Tham số này có nhiệm vụ phát hiện, thông báo lỗi trực tiếp đến mặt phẳng điều khiển.

## Chú thích

## Sách
* Adrian Farrel, Igor Bryskin, "GMPLS: architecture and applications", ISBN 978-0-12-088422-3

## Liên kết ngoài
* IETF Working Group: ccamp charter.