Phần này giải thích các quy ước LDP cho quản lý và phân bổ nhãn. Một LSR có thể phân bổ một liên kết nhãn FEC để chịu trách nhiệm một yêu cầu dứt khoát từ LSR khác. Điều này được biết như là phân bổ nhãn dòng xuống dựa trên yêu cầu. Nó cũng cho phép một LSR phân bổ liên kết nhãn tới các LSR không có yêu cầu rõ ràng. Hình 5.4 trình bày hoạt động dòng xuống yêu cầu và dòng xuống không yêu cầu.
Yêu cầu L1
a. Dòng xuống dựa trên yêu cầu
L1
b. Dòng xuống không yêu cầu
Hình 5.4. Dòng xuống dựa trên yêu cầu và không yêu cầu
Điều khiển phân bổ nhãn
Việc thiết lập các LSP được quyết định bởi điều khiển LSR hoạt động độc lập hoặc được chỉ dẫn. Khi dùng điều khiển LSP độc lập, mỗi LSR có thể quảng báo các trao đổi nhãn tới các LSR lân cận ở bất cứ thời điểm nào nó muốn. Ví dụ, khi hoạt động độc lập trong dòng xuống dựa trên yêu cầu, một LSR có thể trả lời các yêu cầu việc trao đổi nhãn ngay lập tức mà không phải đợi một trao đổi nhãn từ hop bên cạnh như hình 5.5a.
Yêu cầu Không gửi
Quảng báo
a. Điều khiển độc lập
Bước 2 Bước 1
FEC FEC
b. Điều khiển được chỉ dẫn
Hình 5.5. Ví dụ Modun điều khiển
LSR Ru LSR Rd FEC F LSR Ru FEC F LSR Ru LSR Rd2 LSR Rd LSR Ru LSR Ru LSR Rd LSR Rd2 0 1 2-14 15 16 17-30 31 U F Type Length Value
Khi hoạt động trong chế độ dòng xuống độc lập không yêu cầu, một LSR có thể quảng bá một trao đổi nhãn cho FEC tới các LSR lân cận khi nó sẵn sàng chuyển mạch nhãn FEC đó. Kết quả của việc dùng chế độ độc lập là một nhãn dòng lên có thể được quảng bá trước khi một nhãn dòng xuống được nhận
Khi dùng điều khiển chỉ dẫn LSR, một LSR có thể khởi tạo truyền dẫn một trao đổi nhãn chỉ cho một FEC mà nó có một trao đổi nhãn với FEC của hop lân cận, hoặc cho LSR là lối ra, hình 5.5b. Với mỗi FEC mà LSR không phải lối ra hoặc không tồn tại trao đổi, LSR phải đợi cho đến khi một nhãn từ một LSR dòng xuống được nhận trước khi trao đổi FEC này và chuyển các nhãn tương ứng tới các LSR dòng lên.
5.1.5. Bản tin LDP
Bản tin LDP được định nghĩa trong khuôn dạng phương tiện độc lập. Mục đích này để các bản tin có thể kết hợp trong một dữ liệu, 11 bản tin được sử dụng trong LDP. 5.1.5.1. Mào đầu LDP
Hình 5.6. Mào đầu LDP
Mỗi bản tin LDP bắt đầu với một mào đầu LDP, theo sau bởi một hoặc nhiều bản tin LDP. Các trường trong mào đầu LDP thực hiện các chức năng sau:
- Version : Chỉ số phiên bản của giao thức.
- Độ dài PDU : tổng độ dài của PDU trong các octet bao gồm phiên bản và trường độ dài.
- LDP ID : Bộ nhận dạng không gian nhãn của LSR gửi bản tin. Bốn octet đầu chứa địa chỉ IP phân cho LSR và nó là ID của router. Hai octet cuối nhận dạng một không gian nhãn trong LSR. Với không gian nhãn mở rộng nền thì các trường này có thể là 0.
0 1-14 15 16-30 31
Version PDU Length
LDP Identifier
0 1 2-14 15 16 17-30 31 U F Type Length
5.1.5.2. Mã hoá mã hoá độ dài kiểu (TLV)
LDP dùng kỹ thuật mã hoá giá trị độ dài kiểu (TLV) để mã hoá nhiều thông tin được mang trong bản tin LDP. Như hình 5.7, TLV của LDP được mã hoá bởi 2 octet trong đó 14 bit để chỉ rõ kiểu và 2 bít để chỉ rõ cách hoạt động khi một LSR không nhận ra kiểu này. Tiếp theo là 2 octet trường độ dài và trường giá trị độ dài biến thiên.
Hình 5.7. Mã hoá TLV
Dựa trên công thức của TLV chưa xác định, nếu bit U được lập là 0, một thông báo phải được gửi lại bộ khởi tạo bản tin và toàn bộ bản tin phải bị huỷ bỏ. Nếu bit U lập là 1, TLV chưa xác định sẽ phớt lờ và phần còn lại của bản tin được xử lý như không có sự tồn tại của TLV.
Bit chuyển tiếp TLV không xác định được dùng khi bit U được lập và bản tin LDP bao hàm TLV không xác định được chuyển tiếp. Nếu F bị xoá (=0), TLV không xác định sẽ không chuyển tiếp bản tin bao hàm. Nếu F được lập (=1), TLV không xác định sẽ chuyển tiếp bản tin bao hàm.
5.1.5.3. Khuôn dạng bản tin LDP
Tất cả các bản tin LDP đều có cùng khuôn dạng (hình 5.8). Các trường trong bản tin thực hiện các chức năng sau:
0 0ll;ljk 0 Hình 5.8. Khuôn dạng bản tin LDP 0 1 2-14 15 16 17-30 31 U F Type Length Value 0 1-14 15 16-30 31
U Message Type Message Length
Message ID
Mandatory Parameters Option Parameters
- Bit U : bit bản tin không xác định. Nếu bit này là 1 và không xác định (bản tin không thể giải nghĩa) thì bản tin bị bỏ đi.
- Message Type : trường này nhận dạng các kiểu bản tin.
- Message length : độ dài của bản tin ID, tham số bắt buộc và tham số lựa chọn. - Message ID : nhận dạng đơn của bản tin. Nó có thể dùng để liên kết các bản tin thông báo với các bản tin khác.
- Mandatory parameter : thiết lập các tham số bắt buộc. - Optional parameter : thiết lập các tham số lựa chọn.
Theo nguyên lý, mọi thứ trong một bản tin LDP có thể được mã hoá như một TLV nhưng không phải lúc nào LDP cũng dùng kỹ thuật TLV. Nó sẽ dùng khi cần thiết để tránh lãng phí tài nguyên.
5.1.5.4. Khuôn dạng và chức năng TLV
- FEC : TLV mang FEC được thay đổi giữa các LSR. MPLS và LDP chỉ dùng địa chỉ cho một FEC mà không có chỉ số cổng hoặc PID. FEC có thể là tiền tố địa chỉ hoặc địa chỉ host đầy đủ. Nó có thể chứa địa chỉ gắn với mạng khác (như IPX) nhưng nhỏ hơn bất cứ địa chỉ nào trong IP.
- Address list : Danh sách địa chỉ TLV xuất hiện trong bản tin thu hồi địa chỉ. - Hop count : TLV này xuất hiện trong bản tin thiết lập LSP. Nó đếm số hop LSR dọc theo một LSP từ khi LSP bắt đầu được thiết lập. Nó có thể được dùng cho phát hiện vòng.
- PATH vector : TLV này cũng được dùng cho phát hiện vòng với TLV Hop count trong bản tin yêu cầu nhãn và bản tin trao đổi nhãn. Nó dùng trong bản tin yêu cầu nhãn để ghi lại các tuyến của LSR mà yêu cầu đi qua.
- Generic label : TLV này chứa các nhãn để dùng cho các liên kết mà các giá trị là độc lập của kỹ thuật liên kết cơ bản như PPP và các liên kết Ethernet.
- ATM label : Nếu ATM được dùng như một dịch vụ mang thì TLV này chứa các giá trị ATM VPI/VCI.
- FR label : Nếu FR được dùng như một dịch vụ mang thì TLV này chứa các giá trị FR DLCI.
- Status : TLV này được dùng cho mục đích phán đoán giống như thành công hoặc thất bại của hoạt động.
- Extended Status : TLV này mở rộng trạng thái TLV bằng việc cung cấp các byte truyền thống cho thông tin trạng thái.
- Returned PDU : TLV này có thể hoạt động với TLV trạng thái. Một LSR dùng tham số này để gửi lại LDP PDU cho LSR đã gửi nó. Giá trị của TLV này là mào đầu PDU và càng nhiều mào đầu theo sau dữ liệu PDU càng thích hợp cho điều kiện bắt đầu tín hiệu bởi bản tin Notification.
- Returned massega : TLV này có thể được dùng với TLV trạng thái. Một LSR dùng tham số này để gửi lại phần bản tin LDP tới LSR đã gửi nó.
- Common Hello parameters : Nhắc nhở các LSR lân cận có thể định kì gửi bản tin Hello tới mỗi LSR khác để chắc chắn chúng đang chạy. TLV này chứa các tham số chung để quản lý hoạt động này như các bản tin Hello có thường xuyên được gửi và nhận không và có bao nhiêu bản tin được gửi và nhận trong thời gian này.
- IPv6/IPv4 transport address : Nếu địa chỉ IPv6 được sử dụng, TLV này cho phép một IPv6 được dùng khi TCP mở cho một phiên LSP. Nếu nó không được dùng thì địa chỉ nguồn trong mào đầu IP được sử dụng. Với IPv4 cũng tương tự.
- Common session parameters : TLV này chứa các giá trị được đưa ra bởi việc gửi cho LSR các tham số được dùng cho mọi phiên LDP.
Các tham số đó là:
a. Label advertisement discipline : dòng xuống không yêu cầu và dòng xuống dựa trên yêu cầu.
b. Keep alive time : chỉ định lượng thời gian lớn nhất trôi qua khi nhận thành công các PDU từ LDP ngang cấp trên phiên kết nối TCP. Keep alive time được cài đặt lại mỗi khi PDU đến đích.
c. Loop detection : chỉ thị nếu phát hiện vòng là được phép hoặc không được phép.
d. PATH vector limit : chỉ thị độ dài vector đường dẫn dài nhất.
e. Maximum PDU length : chỉ thị độ dài tối đa của LDP PDU.
- ATM session parameters : TLV này chỉ rõ dung lượng ATM merge của ATM- LSR.
Các lựa chọn là:
a. merge không được hỗ trợ
b. VP merge được hỗ trợ
c. VC merge được hỗ trợ
d. VC và VP được hỗ trợ
TLV này cung cấp thông tin về VC trực tiếp, nghĩa là dùng một VCI trong một hướng hoặc cả 2 hướng trên liên kết. Nó cũng chứa một trường chỉ rõ phạm vi các nhãn ATM được hỗ trợ bởi việc gửi LSR.
- FR session parameters : TLV chứa kiểu thông tin giống như ATM session parameters, ngoại trừ FR gắn với các DLCI.
- Label Request message ID : giá trị của tham số này là ID của bản tin Label Request tương ứng.
- Private : Các TLV cá nhân và các bản tin được dùng để truyền thông tin cá nhân giữa các LSR.
5.1.5.5. Khuôn dạng và chức năng các bản tin LDPLDP có 11 bản tin : LDP có 11 bản tin : - Notification - Hello - Initialization - KeepAlive - Address - Address Withdraw - Label Mapping - Label Request
- Label Abort Request
- Label Withdraw
- Label Release
- Bản tin Notification : được dùng bởi một LSR để thông báo cho các LSR ngang cấp của nó các quy định về lỗi và các điều bất thường. Các quy định đó là: không nhận biết quá trình gửi, các sai lầm, bản tin dị tật, sự kết thúc của thời gian tồn tại, giải
0 1 2-14 15 16 17-30 31 0 0 Common Hello Parm(0×0400) Length
phóng bởi một nút, lỗi của khởi tạo phiên LSP. Trong một vài trường hợp, LSR có thể kết thúc phiên LDP (đóng kết nối TCP). Khuôn dạng bản tin được chỉ ra trong hình 5.9.
Hình 5.9. Bản tin Notification
Một ID bản tin chỉ nhận dạng một bản tin. Nó được mã hoá trong tất cả các bản tin. Trạng thái TLV chỉ ra trạng thái của kết quả. Các tham số lựa chọn là : trạng thái mở rộng, trạng thái trở lại, bản tin trở lại.
Khi một LSR nhận một bản tin Notification mang mã trạng thái chỉ ra một lỗi không thể tránh được, nó huỷ bỏ phiên LDP này ngay lập tức bởi việc đóng phiên kết nối TCP và loại bỏ tất cả các liên kết với phiên bao gồm cả các liên kết nhãn - FEC vừa được lập thông qua phiên
- Bản tin Hello : bản tin này được thay đổi giữa 2 LDP ngang cấp trong một phiên phát hiện LDP. Khuôn dạng bản tin như hình vẽ.
Hình 5.10. Bản tin Hello
0 1-14 15 16-30 31
0 Notification (0×0001) Message Length Message ID
Status(TLV) Option Parameters
0 1-14 15 16-30 31
0 Hello (0×0001) Message Length
Message ID
Common Hello parameter(TLV) Option Parameters
0 1 2-14 15 16 17-30 31 0 0 Common Hello Parm(0×0400) Length
Hình 5.11. Tham số TLV Hello chung
Một LSR lưu giữ bản ghi của các bản tin Hello được gửi từ các LSR ngang cấp tiềm năng. Bản tin Hello giữ thời gian chỉ rõ thời gian mà LSR bên gửi lưu trong bản ghi của nó từ LSR bên nhận mà không cần biên nhận của bản tin Hello khác. Một cặp LSR thương lượng thời gian lưu trữ, chúng dùng cho các bản tin Hello từ các LSR khác. Mỗi cặp đề nghị một thời gian lưu trữ. Thời gian lưu trữ được dùng là nhỏ nhất được đề nghị trong các bản tin Hello.
Bit T được gọi là Targeted Hello. T=1 chỉ ra rằng bản tin Hello là Targeted
Hello. T=0 chỉ ra rằng bản tin Hello là một liên kết. Bit R được gọi là yêu cầu gửi Targeted Hello. R=1 thì yêu cầu bên nhận định kì gửi Targeted Hello tới nguồn của bản tin Hello này. R=0 thì không có yêu cầu nào cả.
Tham số lựa chọn là các TLV địa chỉ truyền giao IPv4, IPv6 và một dãy số các hình mà được dùng bởi LSR bên gửi để phát hiện hình thay đổi ở bên gửi.
- Bản tin Initialization : bản tin này được thay đổi khi các LDP ngang cấp muốn thiết lập một phiên LDP. Trong thủ tục này, các LSR thương lượng các tham số như Keep alive timer, các kiểu quảng báo sẽ được hỗ trợ (dòng xuống không yêu cầu và dòng xuống dựa trên yêu cầu). Nếu các nhãn FR hoặc ATM được sử dụng trong phiên, các quy định dùng cho các nhãn này cũng được thương lượng. Khuôn dạng bản tin được chỉ ra trong hình 5.12.
0 1 2-14 15 16 17-30 31 0 0 Common Hello Parm(0×0400) Length
Hold Time T R Reserved
0 1-14 15 16-30 31
0 Initialization (0×0200) Message Length
Message ID
Common Session parameter(TLV) Option Parameters
0 1-14 15 16-30 31
0 Address Withdraw(0×0301) Message Length Message ID
Address List(TLV) Option Parameters
0 1-14 15 16-30 31
0 Label Mapping(0×0400) Message Length Message ID
FEC TLV Label TLV
Hình 5.12. Bản tin Initialization
Các tham số phiên chung TLV đã được giải thích trong phần trước. Các tham số lựa chọn là các tham số phiên ATM và FR.
- Bản tin KeepAlive : được thay đổi giữa các LDP ngang cấp để yêu cầu giám sát tính nguyên vẹn của kết nối TCP hỗ trợ phiên LDP. Không có tham số lựa chọn trong bản tin này.
Hình 5.13. Bản tin KeepAlive
Hình 5.14 Bản tin Address
- Bản tin Address : được gửi bởi một LSR tới LDP ngang cấp của nó để quảng báo các địa chỉ giao diện của nó. Một LSR nhận một bản tin địa chỉ dùng địa chỉ nó biết để lưu trữ cơ sở dữ liệu cho trao đổi giữa các bộ nhận diện LDP ngang cấp và các địa chỉ hop tiếp theo.
0 1-14 15 16-30 31
0 KeepAlive (0×0201) Message Length
Message ID Option Parameters
0 1-14 15 16-30 31
0 Address (0×0300) Message Length
Message ID
Address List(TLV) Option Parameters
0 1-14 15 16-30 31
0 Address Withdraw(0×0301) Message Length Message ID
Address List(TLV) Option Parameters
0 1-14 15 16-30 31
0 Label Mapping(0×0400) Message Length Message ID
FEC TLV Label TLV
Option Parameters
0 1-14 15 16-30 31
0 Address (0×0300) Message Length
Message ID
Address List(TLV) Option Parameters
Hình 5.14 Bản tin Address
Danh sách địa chỉ TLV là danh sách của các địa chỉ giao diện IP được quảng báo bởi LSR bên gửi. Không có tham số lựa chọn cho bản tin này.
- Bản tin Address Withdraw : tháo bỏ bản tin địa chỉ và rút ra một địa chỉ giao diện quảng báo trước đó hoặc các địa chỉ.
Hình 5.15. Bản tin Address Withdraw
Danh sách địa chỉ TLV chứa danh sách các địa chỉ được rút ra bởi LSR bên gửi bản tin này.
- Bản tin Label Mapping : được dùng để quảng báo một LDP ngang cấp các liên kết nhãn FEC. Nếu một LSR phân bố một trao đổi cho một FEC tới nhiều LDP ngang cấp, đây là vấn đề nội bộ hoặc nó trao đổi một nhãn đơn tới FEC và phân bổ sự