Chào mọi người, bài viết này là một tài liệu kỹ thuật hoàn chỉnh dành cho cả những người mới bắt đầu tìm hiểu về hệ thống mạng lẫn các kỹ sư đang cần một kịch bản Lab thực chiến trên thiết bị Juniper (Junos). Chúng ta sẽ đi từ bản chất vấn đề: "Tại sao mạng hay bị sập?", cho đến cách giải quyết triệt để bằng các giao thức Spanning Tree.
MỤC LỤC
Câu trả lời ngắn gọn: Tuyệt đối không, trừ khi bạn muốn tự tay đánh sập hệ thống mạng của công ty.
Ở mạng gia đình, bạn chỉ kéo 1 sợi cáp từ Modem vào PC. Đứt dây = Mất mạng.Nhưng ở môi trường doanh nghiệp (bệnh viện, ngân hàng, công ty công nghệ), mạng không được phép chết. Do đó, các kỹ sư luôn phải cắm 2-3 sợi cáp dự phòng nối chéo các Switch với nhau tạo thành một vòng khép kín.
Hiểm họa bão mạng (Broadcast Storm):Nếu cắm vòng tròn mà không bật Spanning Tree, các gói tin rác sẽ chạy xoay vòng không lối thoát, nhân bản lên hàng triệu lần chỉ trong chớp mắt. Hiện tượng này làm CPU của thiết bị treo cứng 100%, và cả công ty rớt mạng hoàn toàn.
Giải pháp: Spanning Tree sinh ra để cho phép cắm nhiều dây dự phòng, nhưng phần mềm sẽ tự động tính toán và "khóa" (Block) tạm thời 1 sợi dây. Khi sợi cáp chính bị đứt, nó sẽ lập tức "mở khóa" sợi cáp dự phòng lên để cứu mạng.
Chi tiết ứng dụng:
Cấu hình nền tảng: Mở cổng Trunk giữa các Switch và gán cổng Access cho PC (VLAN 10).(Gõ trên vEX5, 6, 7 thay đổi cổng tương ứng):
set vlans VLAN10 vlan-id 10
set interfaces ge-0/0/3 unit 0 family ethernet-switching interface-mode access vlan members 10
set interfaces ge-0/0/0 unit 0 family ethernet-switching interface-mode trunk vlan members all
set interfaces ge-0/0/2 unit 0 family ethernet-switching interface-mode trunk vlan members all
commit
set protocols rstp force-version stp
set protocols rstp interface all
commit
Test thực tế: Mở PC ping liên tục và xóa thử 1 sợi cáp. Bạn sẽ thấy quá trình ping bị rớt (Request timed out) kéo dài từ 30-50 giây mới thông lại được.
Trên vEX6 (Root - Priority thấp nhất):
delete protocols rstp force-version
set protocols rstp bridge-priority 4k
set protocols rstp interface ge-0/0/3 edge
commit
Trên vEX7 (Backup Root - Priority trung bình):
delete protocols rstp force-version
set protocols rstp bridge-priority 8k
set protocols rstp interface ge-0/0/3 edge
commit
Kết quả Test: Rút cáp lần nữa. Lúc này mạng chỉ rớt đúng 1 gói tin và chưa tới 1 giây đã có Reply trở lại! Hệ thống tự động mở cổng dự phòng lên cứu mạng chớp nhoáng.
delete protocols rstp
set vlans VLAN10 vlan-id 10
set vlans VLAN20 vlan-id 20
set protocols mstp configuration-name LAB_POPTECH
set protocols mstp revision-level 1
set protocols mstp msti 1 vlan 10
set protocols mstp msti 2 vlan 20
set protocols mstp interface all
commit
Bước 2: Phân quyền "Tướng" để Cân bằng tải:
show spanning-tree interface
Nhìn vào log, chúng ta thấy hệ thống đang gánh tải cực kỳ nhịp nhàng làm 2 luồng riêng biệt:
MỤC LỤC
- Phần 1: Tại sao mạng doanh nghiệp bắt buộc phải có Spanning Tree?
- Phần 2: Trận chiến giao thức - Chọn STP, RSTP hay MSTP?
- Phần 3: Sơ đồ mạng & Quy hoạch bài Lab (Topology)
- Phần 4: Giai đoạn 1 - Cấu hình STP (802.1D)
- Phần 5: Giai đoạn 2 - Cấu hình RSTP (802.1w)
- Phần 6: Giai đoạn 3 - Cấu hình MSTP (802.1s)
Phần 1: Tại sao mạng doanh nghiệp bắt buộc phải có Spanning Tree?
Câu hỏi sinh tử: Không xài Spanning Tree có được không?Câu trả lời ngắn gọn: Tuyệt đối không, trừ khi bạn muốn tự tay đánh sập hệ thống mạng của công ty.
Ở mạng gia đình, bạn chỉ kéo 1 sợi cáp từ Modem vào PC. Đứt dây = Mất mạng.Nhưng ở môi trường doanh nghiệp (bệnh viện, ngân hàng, công ty công nghệ), mạng không được phép chết. Do đó, các kỹ sư luôn phải cắm 2-3 sợi cáp dự phòng nối chéo các Switch với nhau tạo thành một vòng khép kín.
Hiểm họa bão mạng (Broadcast Storm):Nếu cắm vòng tròn mà không bật Spanning Tree, các gói tin rác sẽ chạy xoay vòng không lối thoát, nhân bản lên hàng triệu lần chỉ trong chớp mắt. Hiện tượng này làm CPU của thiết bị treo cứng 100%, và cả công ty rớt mạng hoàn toàn.
Giải pháp: Spanning Tree sinh ra để cho phép cắm nhiều dây dự phòng, nhưng phần mềm sẽ tự động tính toán và "khóa" (Block) tạm thời 1 sợi dây. Khi sợi cáp chính bị đứt, nó sẽ lập tức "mở khóa" sợi cáp dự phòng lên để cứu mạng.
Phần 2: Trận chiến giao thức - Chọn STP, RSTP hay MSTP?
Đây là cẩm nang để bạn chọn đúng công nghệ khi thiết kế hạ tầng thực tế:| Tiêu chí | STP (802.1D) - Đồ cổ | RSTP (802.1w) - Quốc dân | MSTP (802.1s) - Hạng nặng |
| Tốc độ hội tụ | Rất chậm (30 - 50 giây) | Rất nhanh (Dưới 1 giây) | Rất nhanh (Dưới 1 giây) |
| Trạng thái cổng | Blocking, Listening, Learning, Forwarding, Disabled | Discarding, Learning, Forwarding | Discarding, Learning, Forwarding |
| Cách xử lý VLAN | Dùng chung 1 cây cho toàn mạng (CST). Khóa cứng 1 cáp. | Dùng chung 1 cây cho toàn mạng (CST). Khóa cứng 1 cáp. | Gộp nhiều VLAN vào các Instance độc lập. |
| Ứng dụng thực tế | Lỗi thời, gần như tuyệt chủng, chỉ dùng khi có thiết bị quá cũ. | Phổ biến nhất, mặc định trên Switch hiện nay. Phù hợp mạng SME. | Bắt buộc dùng cho mạng lớn (Enterprise/Datacenter) để Cân bằng tải. |
- STP: Tốc độ khôi phục rất chậm. Chỉ dùng khi hệ thống còn sót lại thiết bị từ 15 năm trước không hỗ trợ chuẩn mới.
- RSTP: Phục hồi chớp nhoáng (dưới 1 giây). Phù hợp cho doanh nghiệp vừa và nhỏ, nơi việc lãng phí 1 sợi cáp dự phòng không ảnh hưởng lớn đến băng thông.
- MSTP: Có thêm khả năng Cân Bằng Tải (Load Balancing). Thay vì vứt xó sợi cáp bị khóa, MSTP ép sợi cáp đó truyền dữ liệu cho một VLAN khác, tối ưu 100% băng thông thiết bị.
Phần 3: Sơ đồ mạng & Quy hoạch bài Lab (Topology)
Để giả lập môi trường, chúng ta thiết lập 3 Switch Juniper vEX nối thành hình tam giác.- vEX6: Ép làm Root Bridge (Gốc điều phối ưu tiên số 1).
- vEX7: Làm Backup Root Bridge (Dự phòng số 1).
- vEX5: Đóng vai trò Switch Access cho user, sẽ là nơi nhận lệnh "khóa cổng" để ngắt vòng lặp.
Cấu hình nền tảng: Mở cổng Trunk giữa các Switch và gán cổng Access cho PC (VLAN 10).(Gõ trên vEX5, 6, 7 thay đổi cổng tương ứng):
set vlans VLAN10 vlan-id 10
set interfaces ge-0/0/3 unit 0 family ethernet-switching interface-mode access vlan members 10
set interfaces ge-0/0/0 unit 0 family ethernet-switching interface-mode trunk vlan members all
set interfaces ge-0/0/2 unit 0 family ethernet-switching interface-mode trunk vlan members all
commit
Phần 4: Giai đoạn 1 - Cấu hình STP (802.1D)
Chúng ta ép hệ thống lùi về chuẩn cũ để thấy sự chậm chạp của nó.Trên cả 3 Switch, gõ:set protocols rstp force-version stp
set protocols rstp interface all
commit
Test thực tế: Mở PC ping liên tục và xóa thử 1 sợi cáp. Bạn sẽ thấy quá trình ping bị rớt (Request timed out) kéo dài từ 30-50 giây mới thông lại được.
Phần 5: Giai đoạn 2 - Cấu hình RSTP (802.1w)
Chúng ta khôi phục RSTP và dùng chỉ số Priority để quyết định ai làm Tướng, ai làm Lính.Trên vEX6 (Root - Priority thấp nhất):
delete protocols rstp force-version
set protocols rstp bridge-priority 4k
set protocols rstp interface ge-0/0/3 edge
commit
Trên vEX7 (Backup Root - Priority trung bình):
delete protocols rstp force-version
set protocols rstp bridge-priority 8k
set protocols rstp interface ge-0/0/3 edge
commit
Kết quả Test: Rút cáp lần nữa. Lúc này mạng chỉ rớt đúng 1 gói tin và chưa tới 1 giây đã có Reply trở lại! Hệ thống tự động mở cổng dự phòng lên cứu mạng chớp nhoáng.
Phần 6: Giai đoạn 3 - Đỉnh cao cân bằng tải với MSTP (802.1s)
Nhược điểm của RSTP là luôn có 1 sợi cáp dự phòng bị khóa cứng và vứt xó. Để tối ưu hóa 100% băng thông của mọi sợi cáp vật lý, chúng ta cấu hình MSTP chia tải theo kịch bản sau:- VLAN 10 đi qua vEX6 (Đưa vào Instance 1).
- VLAN 20 đi qua vEX7 (Đưa vào Instance 2).
Bước 1: Khai báo VLAN và cấu hình MSTP cơ bản (Gõ y hệt nhau trên CẢ 3 SWITCH):Bí kíp thực chiến: Hệ điều hành Junos cực kỳ thực dụng. Nếu bạn cấu hình MSTP cho VLAN 20 nhưng lại quên chưa tạo VLAN 20 trong Database của Switch, Spanning Tree sẽ không bao giờ chạy Instance đó. Do vậy, phải luôn chắc chắn các VLAN đã được khai báo đầy đủ trên cả 3 Switch.
delete protocols rstp
set vlans VLAN10 vlan-id 10
set vlans VLAN20 vlan-id 20
set protocols mstp configuration-name LAB_POPTECH
set protocols mstp revision-level 1
set protocols mstp msti 1 vlan 10
set protocols mstp msti 2 vlan 20
set protocols mstp interface all
commit
Bước 2: Phân quyền "Tướng" để Cân bằng tải:
- Vào vEX6 ép làm Tướng cho VLAN 10: set protocols mstp msti 1 bridge-priority 4kcommit
- Vào vEX7 ép làm Tướng cho VLAN 20: set protocols mstp msti 2 bridge-priority 4kcommit
show spanning-tree interface
Nhìn vào log, chúng ta thấy hệ thống đang gánh tải cực kỳ nhịp nhàng làm 2 luồng riêng biệt:
- Tại Instance 1 (VLAN 10): Cổng ge-0/0/2 mở chuyển tiếp (FWD - ROOT) hướng về vEX6, trong khi cổng ge-0/0/1 bị khóa dự phòng (BLK - ALT).
- Tại Instance 2 (VLAN 20): Trạng thái đảo ngược hoàn toàn! Cổng ge-0/0/1 lúc này lại mở toang (FWD - ROOT) hướng về vEX7, còn cổng ge-0/0/2 lại bị khóa (BLK - ALT).
Đính kèm
Bài viết liên quan
Bài viết mới