Tự học CCNA Security bài 1: spanning-tree (phần 2)
Phần 1: Spanning-Tree Protocol
Một hệ thống mạng hiện thực STP kém có thể dẫn đến rất nhiều công việc cấu hình, khôi phục lỗi trên mạng campus. Bài viết này giải thích cơ chế hoạt động của spanning-tree, chức năng ngăn ngừa loop trong mạng switch.
STP là một trong những chủ đề đậm tính kỹ thuật trong công nghệ LAN switching. Để hiểu về STP thì cũng khó khăn như là hiểu về các cơ chế hoạt động bên dưới của OSPF hay EIGRP (timers, kiểu gói tin, các giải thuật). STP đóng vai trò nền tảng trong hoạt động của mọi hệ thống mạng campus. Nó đóng vai trò then chốt trong thiết kế và triển khai mạng campus.
Spanning-tree là một giao thức lớp 2 sử dụng một giải thuật đặc biệt để tìm ra các vòng lặp trong mạng và tác động của một mạng không bị loop. STP sẽ tạo ra một cấu trúc cây bao gồm các lá và các nhánh trãi rộng trên toàn bộ mạng L2. Trong phần này, thuật ngữ switch và bridge được dùng thay thế lẫn nhau. Ngoài ra, nếu không đề cập đến, kết nốI giữa các switch sẽ được giả sử là kết nối trunk.
Các vòng lặp loop có thể diễn ra trong một hệ thống mạng vì nhiều lý do. Thông thường, loop là kết quả của những cố gắng xây dựng các kết nốI dự phòng. Tuy nhiên, loop cũng có thể dẫn đến từ những lỗi do cấu hình.
Các kết nối vật lý theo kiểu vòng lặp mà không dùng STP có thể gây nhiều vấn đề. Có hai vấn đề cò thể dẫn đến là broadcast loop và hỏng bảng mac-address.
Một frame Ethernet chỉ chứa hai địa chỉ MAC, vùng typefield, một vùng CRC và các thông tin lớp network. Trong khi đó, header của IP có chứa vùng time-to-live (TTL) được gán bởi router nguồn và bị trừ dần mỗi khi qua một router. Bằng cách loại bỏ những gói tin có TTL=0, router sẽ ngăn ngừa các gói tin đã tồn tại quá lâu trong hệ thống mạng. Không giống như IP, Ethernet không có vùng TTL. Vì vậy, sau khi một frame bắt đầu bị lặp, frame sẽ được chuyển bất tận cho đến khi nào một switch bị tắt đi hoặc một kết nối là bị ngắt.
Bridge-ID
Giải thuật spanning-tree được định nghĩa trong IEEE 802.1D. Các thông số được dùng bởi giải thuật bao gồm Bridge-ID sẽ được khảo sát trong phần này.
Giải thuật spanning-tree dựa trên một số thông số để ra quyết định. Thông số bridge-ID là thông số đầu tiên được dùng bởi STP để tìm ra trung tâm của mạng, còn gọi là root-bridge. Thông số bridge-UD là một giá trị 8-bytes bao gồm hai vùng giá trị. Giá trị đầu tiên là giá trị thập phân có độ dài 2-bytes gọi là Bridge-Priority và giá trị tiếp theo là địa chỉ MAC 6 bytes. Bridge Priority được dùng để chỉ ra độ ưu tiên của một bridge trong giải thuật spanning-tree. Các giá trị có thể là từ 0 cho đến 65535. Giá trị mặc định là 32,768.
Giá trị MAC trong BID là một trong những MAC-address của switch. Hai thông số BID không thể nào bằng nhau, bởi vì Catalyst switch được gán những giá trị MAC address khác nhau. Trong các giải thuật của spanning-tree, khi so sánh hai giá trị của switch, giá trị thấp hơn luôn được dùng.
Path cost
Path cost là thông số thứ hai được dùng bởi giải thuật của spanning-tree để xác định đường đi về root. Đặc tả IEEE 802.1D ban đầu định nghĩa cost có giá trị bằng 10 lũy thừa 9 chia cho băng thông của kết nối tính theo Mbps. Ví dụ đường 10M sẽ có cost là 100 (1000/10) và đường 100Mbps sẽ có cost là 10. Tuy nhiên, do công nghệ phát triển, có các công nghệ mới có tốc độ cao hơn cả 1Gbps nên cần định nghĩa lại công thức tính cost.
Cost được lưu như một giá trị số nguyên.
Thông số path cost sẽ đo lường các bridge sẽ gần nhau như thế nào. Path cost là tổng của các chi phí trên đường link giữa hai bridge. Đại lượng này không đo bằng hop count. Hop count cho đường đi A có thể lớn hơn hop-count cho đường đi B, trong khi đó, nếu xét theo cost, đường đi qua path A sẽ nhỏ hơn đường đi qua path B. Thông số path cost được dùng bởi các switch để xác định đường đi tốt nhất về RootBridge. Giá trị thấp nhất của đường đi sẽ là đường đi tốt nhất về root-bridge.
Port-ID
Thông số PortID là thông số thứ ba được dùng bởi spanning-tree để xác định đường đi về root-bridge. Giá trị port-ID là giá trị 2-bytes bao gồm một hai chỉ số. Chỉ số đầu tiên gọi là port Priority, giá trị thứ hai được gọi là port-number. Trên một CatOS, giá trị đầu tiên là 6bits và giá trị thứ hai là 10 bits. Trên IOS-based switch, cả hai giá trị là 8 bits.
Ta không nên nhầm lẫn giữa PortID vớI giá trị Port Number. Giá trị port number chỉ là một phần của PortID. Giá trị PortID càng thấp thì được ưu tiên hơn giá trị portID cao trong các quyết định của STP. Hai giá trị PortID không thể nào bằng nhau, bởi vì PortNumber sẽ chỉ ra switchport trên Catalyst switch. Giá trị port priority là một thông số STP có thể thay đổi được. Tầm giá trị của nó là từ 0 cho đến 255 trên IOS-based switch, giá trị mặc định là 128.
Lượt xem (2096)
Để lại bình luận: