Tự học CCNA Security bài 1: Giao thức SPANNING TREE PROTOCOL
1. Tổng quan về IEEE 802.1D:
Một mạng mạnh mẽ được thiết kế không chỉ đem lại tính hiệu quả cho việc truyền các gói hoặc frame, mà còn phải xem xét làm thế nào để khôi phục hoạt động của mạng một cách nhanh chóng khi mạng xảy ra lỗi. Trong môi trường lớp 3, các giao thức định tuyến sử dụng con đường dự phòng đến mạng đích để khi con đường chính bị lỗi thì sẽ nhanh chóng tận dụng con đường thứ 2. Định tuyến lớp 3 cho phép nhiều con đường đến đích để giữ nguyên tình trạng hoạt động của mạng và cũng cho phép cân bằng tải qua nhiều con đường.
Đang xem: Bài 11: Giao Thức Stp Là Gì ? Công Dụng Của Spanning Tree Protocol
Trong môi trường lớp 2 (switching hoặc bridging), không sử dụng giao thức định tuyến và cũng không cho phép các con đường dự phòng, thay vì bridge cung cấp việc truyền dữ liệu giữa các mạng hoặc các port của switch. Giao thức Spanning Tree cung cấp liên kết dự phòng để mạng chuyển mạch lớp 2 có thể khôi phục từ lỗi mà không cần có sự can thiệp kịp thời. STP được định nghĩa trong chuẩn IEEE 802.1D.
1.1. Spanning Tree là gì và tại sao phải sử dụng nó?
Spanning Tree Protocol (STP) là một giao thức ngăn chặn sự lặp vòng, cho phép các bridge truyền thông với nhau để phát hiện vòng lặp vật lý trong mạng. Sau đó giao thức này sẽ định rõ một thuật toán mà bridge có thể tạo ra một topology luận lý chứa loop-free. Nói cách khác STP sẽ tạo một cấu trúc cây của free-loop gồm các lá và các nhánh nối toàn bộ mạng lớp 2.
Vòng lặp xảy ra trong mạng với nhiều nguyên nhân. Hầu hết các nguyên nhân thông thường là kết quả của việc cố gắng tính toán để cung cấp khả năng dự phòng, trong trường hợp này, một link hoặc switch bị hỏng, các link hoặc switch khác vẫn tiếp tục hoạt động, tuy nhiên các vòng lặp cũng có thể xảy ra do lỗi. Hình 3.1 biểu diễn một mạng switch điển hình và các vòng lặp cố ý được dùng để cung cấp khả năng dự phòng như thế nào.
Hai nguyên nhân chính gây ra sự lặp vòng tai hại trong mạng chuyển mạch là do broadcast và sự sai lệch của bảng bridge.
Broadcast Loop Broadcast Loop và vòng lặp lớp 2 là một sự kết hợp nguy hiểm. Hình 3.2 biểu diễn broadcast tạo ra vòng lặp phản hồi (feedback loop).
Giả sử rằng, không có switch nào chạy STP:
• Bước 1: host A gửi một frame bằng địa chỉ broadcast MAC (FF-FF-FF-FF-FF-FF). • Bước 2: frame đến cả hai Cat-1 và Cat-2 qua port 1/1 • Bước 3: Cat-1 sẽ đưa frame qua port 1/2. • Bước 4: frame được truyền đến tất cả các node trên đoạn mạng Ethernet kể cả port 1/2 của Cat-2. • Bước 5: Cat-2 đưa frame này đến port 1/1 của nó. • Bước 6: một lần nữa, frame xuất hiện port 1/1 của Cat-1. • Bước 7: Cat-1 sẽ gửi frame này đến port 1/2 lần hai. Như vậy tạo thành một vòng lặp ở đây.
Chú ý: frame này cũng tràn qua đoạn mạng Ethernet và tạo thành một vòng lặp theo hướng ngược lại, feedback loop xảy ra trong cả hai hướng. Một kết luận quan trọng nữa trong hình 3.2 là bridging loop nguy hiểm hơn nhiều so với routing loop. Hình 3.3 mô tả format của một DIXv2 Ethernet frame.
DIXv2 Ethernet Frame chỉ chứa 2 địa chỉ MAC, một trường Type và một CRC. Trong IP header chứa trường time-to-live (TTL) được thiết lập tại host gốc và nó sẽ được giảm bớt mỗi khi qua một router. Gói sẽ bị loại bỏ nếu TTL = 0, điều này cho phép các router ngăn chặn các datagram bị “run-away”. Không giống như IP, Ethernet không có trường TTL, vì vậy sau khi một frame bắt đầu bị loop trong mạng thì nó vẫn tiếp tục cho đến khi ai đó ngắt một trong các bridge hoặc ngắt một kiên kết.
Trong một mạng phức tạp hơn mạng được mô tả trong hình 3.1, 3.2 thì có thể gây ra feedback loop rất nhanh theo tỉ lệ số mũ. Vì cứ mỗi frame tràn qua nhiều port của switch, thì tổng số frame tăng nhanh rất nhiều.
Ngoài ra cần phải chú ý đến broadcast storm trên các user của host A và B trong hình 3.2. Broadcast được xử lý bởi CPU trong tất cả các thiết bị trên mạng. Trong trường hợp này, các PC đều cố xử lý broadcast storm. Nếu ta ngắt kết nối một trong số các host từ LAN, thì nó hoạt động trở lại bình thường. Tuy nhiên, ngay khi ta kết nối nó trở lại LAN thì broadcast sẽ sử dụng 100% CPU. Nếu ta không xử lý điều này mà vẫn tiếp tục sử dụng mạng, thì sẽ tạo ra vòng lặp vật lý trong VLAN.
Việc sai lệch bảng bridge: Nhiều nhà quản trị switch/bridge đã nhận thức vấn đề cơ bản của broadcast storm, tuy nhiên ta phải biết rằng thậm chí các unicast frame cũng có thể truyền mãi trong mạng mà chứa vòng lặp. Hình 3.4 mô tả điều này.
• Bước 1: host A muốn gửi gói unicast đến host B, tuy nhiên host B đã rời khỏi mạng, và đúng với bảng bridge của switch không có địa chỉ của host B.
• Bước 2: giả sử rằng cả hai switch đều không chạy STP, thì frame đến port 1/1 trên cả hai switch.
• Bước 3: vì host B bị down, nên Cat-1 không có địa chỉ MAC BB-BB-BB-BB-BB-BB trong bảng bridge, và nó tràn frame qua các port.
• Bước 4: Cat-2 nhận được frame trên port 1/2 . Có 2 vấn đề xảy ra.
o Bước 5: Cat-2 tràn frame vì nó không học địa chỉ MAC BB-BB-BB-BB-BB-BB, điều này tạo ra feedback loop và làm down mạng.
o Cat-2 chú ý rằng, nó chỉ nhận một frame trên port 1/2 với địa chỉ MAC là AA-AA-AA-AA-AA-AA. Nó thay đổi địa chỉ MAC của host A trong bảng bridge dẫn đến sai port.
Xem thêm: Khảo Sát Thị Trường Là Gì ? Tại Sao Phải Khảo Sát Thị Trường?
Vì frame bị lặp theo hướng ngược lại, nên ta thấy địa chỉ MAC của host A bị lẫn giữa port 1/1 và 1/2. Điều này không chỉ làm mạng bị tràn với các gói unicast mà còn sửa sai bảng bridge. Như vậy không chỉ có broadcast mới làm hư hại mạng.