Phát hiện LDP là một cơ cấu cho phép một LSR phát hiện LDP ngang hàng tiềm tàng. Có hai dạng cơ chế phát hiện, ựó là phát hiện cơ bản và phát hiện mở rộng. Ta chỉ xét ựến phát hiện cơ bản.
để tham gia vào việc phát hiện LDP, một LSP gởi theo chu kỳ các thông ựiệp Hello. Thông ựiệp Hello ựược gởi như các gói UDP xác ựịnh ựến một cổng phát hiện LDP Ộwell-knowỢ cho Ộtất cả các router trên subnet nàyỢ ựịa chỉ nhóm multicast như trong Hình 8-9. Thông ựiệp Hello chứa ựịnh danh LDP cho không gian nhãn của LSR ựịnh dùng cho giao tiếp. Việc nhận thông ựiệp Hello ở lớp tuyến trên giao tiếp xác ựịnh một ỘHello AdjacencyỢ với một LDP ngang hàng tiềm tàng hướng ựến lớp tuyến ngay khi không gian nhãn của cùng hướng ựể sử dụng cho giao tiếp này.
Hình 8-9 Các thủ tục phát hiện Phiên và thiết lập LDP
Các LSR thiết lập các phiên giữa chúng ựể công bố và trao ựổi các nhãn. Mỗi không gian nhãn công bố và trao ựổi yêu cầu một phiên LDP riêng biệt.
Sự trao ựổi thông ựiệp Discovery Hello giữa hai LSR kắch khởi thiết lập phiên LDP. Quá trình này gồm 2 thủ tục:
Ớ Thiết lập nối kết vận chuyển Ớ Khởi ựộng phiên.
Thiết lập nối kết vận chuyển:
Sự trao ựổi các Hello trong việc tạo ra một Hello Adjacency ở LSR1 mà phục vụ liên kết của tuyến L và các không gian nhãn của LSR1: a và LSR2:b.
Nếu LSR1 không sẵn sàng một phiên LDP cho sự trao ựổi các không gian nhãn LSR1:a và LSR2:b thì nó cố gắng mở nối kết TCP cho phiên LDP mới với LSR2.
1. LSR1 xác ựịnh các ựịa chỉ vận chuyển ựể sử dụng tại ựầu cuối (A1) của nó và ựầu cuối (A2) của LSR2. A1 là ựịa chỉ của LSR1 công bố.
a, Nếu LSR1 sử dụng trường ựịa chỉ trong các Hello thì nó gởi ựến LSR2 ựể công bố ựịa chỉ. A1 là ựịa chỉ công bố.
b, Nếu LSR1 không sử dụng trường ựịa chỉ thì A1 là ựịa chỉ IP nguồn ựược sử dụng trong các Hello mà nó gởi ựến LSR2.
Tương tự, ựịa chỉ A2 cũng ựược xác ựịnh như trên.
2. LSR1 xác ựịnh là nó ựóng vai trò tắch cực hay thụ ựộng trong thiết lập phiên bằng việc so sánh ựịa chỉ A1 với A2 là các số nguyên không dấu. Nếu A1>A2 thì LSR1 ựóng vai trò tắch cực, ngược lại thì LSR1 ựóng vai trò thụ ựộng. 3. Nếu LSR1 tắch cực, nó thử thiết lập nối kết LDP TCP bằng việc nối ựến cổng
LDP well-know tại ựịa chỉ A2. Nếu LSR1 thụ ựộng thì nó chờ LSR2 thiết lập nối kết LDP TCP ựến cổng well-know của nó.
Khởi ựộng phiên:
Sau khi LSR1 và LSR2 ựược thiết lập nối kết vận chuyển thì nó thoả thuận các tham số phiên bằng việc chuyển các thông ựiệp LDP Initialisation. Các tham số ựược thoả thuận bao gồm phiên bản của giao thức LDP, các phương thức phân bố nhãn, các giá trị ựịnh thời và các phạm vi VPI/VCI cho ATM.
UDP Hello UDP Hello TCP Open Initialisation Label request Label mapping IP L2
Sự thoả thuận xong hoàn tất việc thiết lập cho một phiên LDP giữa LSR1 và LSR2 cho việc công bố các không gian nhãn LSR1:a và LSR2:b.
Sau khi nối kết ựược thiết lập, nếu LSR1 ựóng vai trò tắch cực thì nó bắt ựầu thoả thuận các tham số phiên bởi việc gởi thông ựiệp Initialisation ựến LSR2. Nếu LSR1 là thụ ựộng thì nó chờ LSR2 khởi ựộng thoả thuận các tham số.
Bằng việc chờ các thông ựiệp Initialisation từ các LSR ngang hàng của nó, LSR thụ ựộng có thể thắch ứng một không gian nhãn ựể ựược công bố bởi LSR ngang hàng với Hello Adjacency ựược tạo ra trước ựó khi các Hello ựã ựược trao ựổi.
1. Khi LSR1 ựóng vai trò thụ ựộng:
a, Nếu LSR1 nhận thông ựiệp Initialisation thì nó thử thắch hợp ựịnh danh LDP ựược thực hiện bởi thông ựiệp PDU với Hello Adjacency.
b, Nếu có sự thắch hợp Hello Adjacency thì xác ựịnh lân cận không gian nhãn cục bộ cho phiên. Tiếp theo, LSR1 kiểm tra các tham số phiên ựưa ra trong thông ựiệp ựược chấp nhận hay không. Nếu ựược, LSR1 ựáp lại với một thông ựiệp Initialisation của nó ựể ựề nghị các tham số mà nó muốn sử dụng và thông ựiệp Keep Alive ựể chấp nhận tắn hiệu của các tham số của LSR2. Nếu các tham số không ựược chấp nhận, LSR1 ựáp lại bằng cách gởi thông ựiệp Session Rejected Parameter Error Notification và ựóng nối kết TCP.
c, Nếu LSR1 không tìm thấy sự thắch hợp Hello Adjacency thì nó gởi thông ựiệp Session Rejected No Hello Error Notification và ựóng nối kết TCP. d, Nếu LSR1 nhận Keep Alive trong ựáp ứng thông ựiệp Initialisation của nó thì phiên tiến hành từ LSR1.
e, Nếu LSR1 nhận một thông ựiệp Error Notification thì LSR2 ựã từ chối phiên ựược ựề nghị và LSR1 ựóng nối kết TCP.
2. Khi LSR1 ựóng vai trò tắch cực:
a, Nếu LSR1 nhận một thông ựiệp Error Notification thì LSR2 ựã từ chối phiên ựược ựề nghị và LSR1 ựóng nối kết TCP.
b, Nếu LSR1 nhận thông ựiệp Initialisation thì nó kiểm tra xem các tham số của phiên ựược chấp nhận hay không. Nếu ựược, nó ựáp lại bằng thông ựiệp Keep Alive. Nếu các tham số phiên không ựược chấp nhận thì LSR1 ựáp lại bằng cách gởi thông ựiệp Session Rejected Parameter Error Notification và ựóng nối kết TCP.
c, Nếu LSR1 nhận thông ựiệp Keep Alive có nghĩa là LSR2 ựã chấp nhận tham số phiên.
d, Khi LSR1 ựã nhận cả hai thông ựiệp Initialisation và Keep Alive thì phiên hoạt ựộng từ LSR1.
Như vậy, có khả năng một cặp cấu hình không thoả hiệp trên các tham số phiên tham gia vào một chuỗi vô hạn của các thông ựiệp như các NAK của các thông ựiệp Initialisation với các thông ựiệp Error Notification.
Tuy nhiên, LSR phải ựiều chỉnh thiết lập phiên của nó thử lại trong tình trạng các thông ựiệp ựang là NAK. Nó còn ựề xuất rằng một LSR xác nhận tình trạng như vậy ựể tiến hành thông báo tình trạng hoạt ựộng. Quá trình thiết lập phiên thiếp lập thử theo một thông ựiệp Initialisation NAK phải không ựược trễ hơn 15s và các trễ tiếp theo phải nhỏ
hơn 2 phút. Tiến hành thiết lập phiên phải bị trễ là việc thử mở nối kết vận chuyển phiên bởi một LSR ựóng vai trò tắch cực.
Sự hiệu chỉnh liên tục của các NAK không kết thúc cho ựến khi hoạt ựộng can thiệp cấu hình lại của một trong các LSR. Sau khi cấu hình như vậy, thì không cần thiết lập phiên hiệu chỉnh sau nữa (cho ựến khi các thông ựiệp khởi tạo của nó là NAK). đối với sự bất ựối xứng của sự thiết lập phiên, việc cấu hình lại của LSR thụ ựộng sẽ ựi ựến việc không ựể ý của LSR tắch cực ựể không hành ựộng thêm nữa.