Giao thức UDLD cho phép các thiết bị đang kết nối với nhau bằng cáp quang hoặc cáp đồng có thể quan sát và phát hiện được các vấn đề về trạng thái kết nối vật lý của hệ thống cáp khi có hiện tượng kết nối theo một hướng duy nhất (Unidirectional Link) xảy ra.
Bình thường, dữ liệu trên các đường cáp quang hoặc cáp đồng được truyền theo hai chiều. Với cáp quang, có thể một sợi truyền và một sợi sẽ nhận tín hiệu. Nếu, vì một lý do nào đó ở mức vật lý, chỉ một sợi quang thực hiện truyền tín hiệu, sợi còn lại bị hỏng hóc và không thực hiện đúng chức năng, dòng dữ liệu sẽ chỉ được truyền theo một chiều một cách chập chờn.
Một hệ quả của vấn đề nêu trên là thiết bị switch ở đầu bên kia không nhận được các dạng frame cần thiết, ví dụ như BPDU chằng hạn, switch đầu bên kia sẽ nghĩ rằng, nó cần thiết phải chuyển port đó (là port gắn cáp quang và không nhận được BPDU) sang trạng thái forwarding.
Lúc này, hiện tượng bridging loop có thể xảy ra do thuật toán Spanning tree đã quyết định sai trạng thái của port của switch (lẽ ra vẫn nên tiếp tục blocking nhưng switch lại quyết định chuyển sang forwarding).
Hiện tượng Unidirectional link này gây ra nhiều hệ quả khác nhau không có lợi cho môi trường LAN, bao gồm cả việc gây ảnh hưởng đến khả năng chống loop trong giao thức spanning-tree.
Khi hiện tượng Unidirectional Link được phát hiện, tính năng UDLD sẽ shutdown các cổng của switch bị ảnh hưởng, và phát ra cảnh báo cho các người dùng biết được tình trạng hiện tại của interface này.
UDLD là giao thức hoạt động tại lớp 2 nhưng lại làm việc và giúp phát hiện những vấn đề ở lớp physical với các thiết bị lớp một để có thể xác định trạng thái kết nối vật lý của một kết nối nào đó.
Tại lớp 1, các phương thức tự động thương lượng (autonegotiation) đảm trách các tín hiệu vật lý và phát hiện lỗi. Khác với quá trình autonegotiation, UDLD thực thi các tác vụ mà các phương thức tự động dò tìm autonegotiation không thể thực thi. Ví dụ như phát hiện tình trạng hiện tại của các neighbor và shutdown các “misconnected interface”.
Khi ta bật lên đồng thời “autonegotiation” và UDLD, lớp 1 và 2 sẽ làm việc cùng nhau để ngăn ngừa các hiện tượng kết nối theo một hướng về mặt vật lý và luận lý.
Hiện tượng Unidirectional Link xảy ra khi có “local device” nào đó phát ra các tín hiệu và được tiếp nhận bởi “neighbor” nhưng “local device” này lại không thể tiếp nhận các tín hiệu do “neighbor” này trả về.
Nếu một trong các mạch quang trong một cặp dây bị ngắt , khi mà autonegotiation đã được active, kết nối không ở trạng thái UP. Nếu cặp dây cáp quang này hoạt động bình thường ở lớp 1, thì giao thức UDLD tại lớp 2 sẽ xác định các cáp quang này có được kết nối đúng hay không và các traffic có đang truyền theo cả hai hướng giữa các neighbor hay không.
Quá trình Autonegotiation không thể thực thi khả năng này bởi vì quá trình negotiation hoạt động ở lớp 1.
Switch truyền các gói UDLD tới các thiết bị láng giềng neighbor theo chu kỳ khi giao thức UDLD vừa được bật lên. Các thiết bị ở cả hai đầu kết nối phải hổ trợ giao thức UDLD để giao thức này có thể định nghĩa, nghĩa là, ta phảicấu hình UDLD ở cả hai thiết bị ở hai đầu. Mặc định, giao thức UDLD được tắt trên giao diện kết nối bằng cáp đồng để tránh việc gửi các traffic điều khiển không cần thiết.
Switch B có thể nhận được các traffic từ Switch A trên interface kết nối cụ thể. Tuy nhiên Switch A không thể nhận được traffic từ Switch B trên cùng interface tương tự. UDLD phát hiện ra vấn đề này và disable interface này.
Các cấu hình mặc định trên Switch Cisco 4500 series:
– ULDL global enable state : Globally disabled
– UDLD per-interface enable state for fiber-optic media: Enabled
– UDLD per-interface enable state for Twisted-pair (cooper) media : Disabled
Để Bật giao thức UDLD toàn cục cho tất cả các interface quang, dùng lệnh sau:
Switch(config)# [no] udld enable
Chú ý: dòng lệnh này chỉ cấu hình các interface quang để chạy giao thức UDLD.
Bật giao thức UDLD trên interface cụ thể:
Switch(config-if)# udld enable
Để xem lại cấu hình:
Switch# show udld interface
Disable UDLD trên các interface không phải là giao diện quang(twisted pair,…):
Switch(config-if)# no udld enable
Để xem lại cấu hình:
Switch# show udld interface
Chú ý: trên các interface quang, dòng lệnh no udld enable sẽ trả lại cấu hình
của các interface thành udld enable. Disable UDLD trên các interface quang:
Switch (config-if)# udld disable
Resetting các interface bị shutdown bởi UDLD:
Switch# udld reset
Lê Đức Thịnh – VnPro
Bình thường, dữ liệu trên các đường cáp quang hoặc cáp đồng được truyền theo hai chiều. Với cáp quang, có thể một sợi truyền và một sợi sẽ nhận tín hiệu. Nếu, vì một lý do nào đó ở mức vật lý, chỉ một sợi quang thực hiện truyền tín hiệu, sợi còn lại bị hỏng hóc và không thực hiện đúng chức năng, dòng dữ liệu sẽ chỉ được truyền theo một chiều một cách chập chờn.
Một hệ quả của vấn đề nêu trên là thiết bị switch ở đầu bên kia không nhận được các dạng frame cần thiết, ví dụ như BPDU chằng hạn, switch đầu bên kia sẽ nghĩ rằng, nó cần thiết phải chuyển port đó (là port gắn cáp quang và không nhận được BPDU) sang trạng thái forwarding.
Lúc này, hiện tượng bridging loop có thể xảy ra do thuật toán Spanning tree đã quyết định sai trạng thái của port của switch (lẽ ra vẫn nên tiếp tục blocking nhưng switch lại quyết định chuyển sang forwarding).
Hiện tượng Unidirectional link này gây ra nhiều hệ quả khác nhau không có lợi cho môi trường LAN, bao gồm cả việc gây ảnh hưởng đến khả năng chống loop trong giao thức spanning-tree.
Khi hiện tượng Unidirectional Link được phát hiện, tính năng UDLD sẽ shutdown các cổng của switch bị ảnh hưởng, và phát ra cảnh báo cho các người dùng biết được tình trạng hiện tại của interface này.
UDLD là giao thức hoạt động tại lớp 2 nhưng lại làm việc và giúp phát hiện những vấn đề ở lớp physical với các thiết bị lớp một để có thể xác định trạng thái kết nối vật lý của một kết nối nào đó.
Tại lớp 1, các phương thức tự động thương lượng (autonegotiation) đảm trách các tín hiệu vật lý và phát hiện lỗi. Khác với quá trình autonegotiation, UDLD thực thi các tác vụ mà các phương thức tự động dò tìm autonegotiation không thể thực thi. Ví dụ như phát hiện tình trạng hiện tại của các neighbor và shutdown các “misconnected interface”.
Khi ta bật lên đồng thời “autonegotiation” và UDLD, lớp 1 và 2 sẽ làm việc cùng nhau để ngăn ngừa các hiện tượng kết nối theo một hướng về mặt vật lý và luận lý.
Hiện tượng Unidirectional Link xảy ra khi có “local device” nào đó phát ra các tín hiệu và được tiếp nhận bởi “neighbor” nhưng “local device” này lại không thể tiếp nhận các tín hiệu do “neighbor” này trả về.
Nếu một trong các mạch quang trong một cặp dây bị ngắt , khi mà autonegotiation đã được active, kết nối không ở trạng thái UP. Nếu cặp dây cáp quang này hoạt động bình thường ở lớp 1, thì giao thức UDLD tại lớp 2 sẽ xác định các cáp quang này có được kết nối đúng hay không và các traffic có đang truyền theo cả hai hướng giữa các neighbor hay không.
Quá trình Autonegotiation không thể thực thi khả năng này bởi vì quá trình negotiation hoạt động ở lớp 1.
Về cơ chế hoạt động và cách cấu hình của UDLD
Switch truyền các gói UDLD tới các thiết bị láng giềng neighbor theo chu kỳ khi giao thức UDLD vừa được bật lên. Các thiết bị ở cả hai đầu kết nối phải hổ trợ giao thức UDLD để giao thức này có thể định nghĩa, nghĩa là, ta phảicấu hình UDLD ở cả hai thiết bị ở hai đầu. Mặc định, giao thức UDLD được tắt trên giao diện kết nối bằng cáp đồng để tránh việc gửi các traffic điều khiển không cần thiết.
Switch B có thể nhận được các traffic từ Switch A trên interface kết nối cụ thể. Tuy nhiên Switch A không thể nhận được traffic từ Switch B trên cùng interface tương tự. UDLD phát hiện ra vấn đề này và disable interface này.
Các cấu hình mặc định trên Switch Cisco 4500 series:
– ULDL global enable state : Globally disabled
– UDLD per-interface enable state for fiber-optic media: Enabled
– UDLD per-interface enable state for Twisted-pair (cooper) media : Disabled
Để Bật giao thức UDLD toàn cục cho tất cả các interface quang, dùng lệnh sau:
Switch(config)# [no] udld enable
Chú ý: dòng lệnh này chỉ cấu hình các interface quang để chạy giao thức UDLD.
Bật giao thức UDLD trên interface cụ thể:
Switch(config-if)# udld enable
Để xem lại cấu hình:
Switch# show udld interface
Disable UDLD trên các interface không phải là giao diện quang(twisted pair,…):
Switch(config-if)# no udld enable
Để xem lại cấu hình:
Switch# show udld interface
Chú ý: trên các interface quang, dòng lệnh no udld enable sẽ trả lại cấu hình
của các interface thành udld enable. Disable UDLD trên các interface quang:
Switch (config-if)# udld disable
Resetting các interface bị shutdown bởi UDLD:
Switch# udld reset
Lê Đức Thịnh – VnPro