[CCNP -ENCOR] BẢN CHẤT VÀ CƠ CHẾ VẬN HÀNH CỦA GIAO THỨC CHỐNG VÒNG LẶP SPANNING-TREE (STP)
Trong thiết kế hạ tầng mạng Switched Campus, việc xây dựng các đường truyền dự phòng (Redundancy) giữa các Switch là một yêu cầu bắt buộc nhằm đảm bảo tính sẵn sàng cao cho hệ thống. Tuy nhiên, kiến trúc dự phòng ở Lớp 2 vô tình tạo ra các vòng lặp vật lý khép kín. Do khung dữ liệu Ethernet không có trường dữ liệu giới hạn thời gian sống (như chỉ số TTL trên gói tin IP Lớp 3), các gói tin quảng bá sẽ di chuyển vòng quanh mạng vô tận. Để giải quyết triệt để bài toán này, tổ chức IEEE đã ban hành tiêu chuẩn IEEE 802.1D, định danh cho giao thức Spanning-Tree Protocol (STP).
Bài viết này sẽ mổ xẻ các thảm họa do vòng lặp Lớp 2 gây ra, nguyên lý bầu chọn phần cứng và quy trình chuyển đổi trạng thái cổng của STP trên hệ điều hành Cisco IOS. 1. Các thảm họa hệ thống khi thiếu vắng Spanning-Tree
Nếu một hạ tầng có đường truyền vòng lặp nhưng tính năng STP bị vô hiệu hóa, hệ thống sẽ ngay lập tức sụp đổ chỉ sau vài giây do ba hiện tượng kỹ thuật sau:
Để triệt tiêu vòng lặp, STP sẽ chạy một thuật toán thông minh nhằm xây dựng một sơ đồ mạng dạng cây không có vòng lặp (Loop-free topology). Tiến trình bầu chọn tuân thủ nghiêm ngặt theo thứ tự ưu tiên từ thấp đến cao (Giá trị nhỏ nhất sẽ chiến thắng):
Bước 1: Bầu chọn Root Bridge (Switch gốc đầu não)
Toàn mạng sẽ chọn ra duy nhất một Switch làm gốc. Thiết bị nào có chỉ số Bridge ID (BID) thấp nhất sẽ trở thành Root Bridge. Kiến trúc BID bao gồm:
$$\text{Bridge ID} = \text{Bridge Priority (2-Byte)} + \text{MAC Address (6-Byte)}$$
Mặc định, tất cả Switch Cisco đều có Priority là 32768. Do đó, nếu quản trị viên không can thiệp, Switch nào có địa chỉ MAC phần cứng nhỏ nhất sẽ trở thành Root Bridge.
Bước 2: Bầu chọn Root Port (RP - Cổng gốc)
Trên mỗi Switch không phải là Root Bridge (Non-Root Bridge), hệ thống sẽ chọn ra duy nhất một cổng có đường truyền tối ưu nhất để đi về Root Bridge dựa trên tiêu chí:
Trên mỗi phân đoạn mạng (Network Segment/Link) kết nối giữa các Switch, hệ thống sẽ chọn ra một cổng duy nhất chịu trách nhiệm chuyển tiếp dữ liệu lên cây Spanning-Tree.
Tất cả các cổng còn lại sau ba bước bầu chọn trên không giành được vai trò RP hay DP sẽ bị đưa vào trạng thái Blocking (Alternate Port). Cổng này sẽ khóa logic chiều truyền dữ liệu để ngắt vòng lặp mạng, nhưng vẫn mở trạng thái nhận gói tin quản trị của STP. 3. Các trạng thái chuyển đổi cổng của cấu trúc STP tiêu chuẩn
Để ngăn chặn việc vô tình hình thành vòng lặp tạm thời khi một sợi cáp mạng được cắm vào, cổng Switch chạy STP tiêu chuẩn 802.1D không lập tức chuyển sang trạng thái hoạt động mà phải trải qua quy trình chuyển đổi tuần tự:
Trạng thái (State)
Thời gian delay
Hành vi xử lý gói dữ liệu
Hành vi học địa chỉ MAC
Nhận/Xử lý BPDU
Blocking
Không cố định
KHÔNG chuyển tiếp
KHÔNG học
CÓ nhận
Listening
15 giây
KHÔNG chuyển tiếp
KHÔNG học
CÓ nhận và gửi
Learning
15 giây
KHÔNG chuyển tiếp
CÓ học địa chỉ MAC
CÓ nhận và gửi
Forwarding
Duy trì
CÓ chuyển tiếp dữ liệu
CÓ học địa chỉ MAC
CÓ nhận và gửi
Disabled
N/A
KHÔNG hoạt động
KHÔNG học
KHÔNG nhận
Lưu ý kỹ thuật: Tổng thời gian để một cổng Switch chuẩn 802.1D chuyển từ lúc cắm dây (Blocking) lên hoạt động hoàn toàn (Forwarding) mất tối đa 30 giây (15s Listening + 15s Learning). Khoảng thời gian trì hoãn này là bắt buộc để các Switch trao đổi gói tin BPDU (Bridge Protocol Data Unit) và đồng thuận về sơ đồ mạng mới.
4. Kỹ thuật cấu hình và Xác thực trạng thái Spanning-Tree trên Cisco IOS
4.1. Câu lệnh tối ưu hóa vai trò Root Bridge
Để chủ động đưa một Switch quan trọng trong phòng Server lên làm Root Bridge (tránh việc tự động bầu chọn rơi vào các Switch biên có địa chỉ MAC ngẫu nhiên nhỏ), quản trị viên can thiệp bằng lệnh thay đổi giá trị Priority:
Plaintext
SW-CORE(config)# spanning-tree vlan 1 priority 4096
(Giá trị Priority bắt buộc phải là bội số của 4096).
4.2. Khai thác lệnh xác thực trạng thái cây Spanning-Tree
Để giám sát vai trò của Switch và trạng thái của các cổng vật lý, thực thi câu lệnh:
Plaintext
SW-CORE# show spanning-tree vlan 1
Hệ thống kết xuất cấu trúc dữ liệu tường minh:
Plaintext
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 4097
Address aabb.cc00.1000
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 4097 (priority 4096 sys-id-ext 1)
Address aabb.cc00.1000
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Fa0/19 DESG FWD 19 128.19 P2p
Fa0/21 DESG FWD 19 128.21 P2p
LÀM CHỦ CÔNG NGHỆ CHUYỂN MẠCH VÀ CHỐNG VÒNG LẶP HẠ TẦNG TẠI VNPRO
Thuật toán phân cấp Spanning-Tree, kỹ thuật tối ưu hóa tiến trình hội tụ nhanh với tiêu chuẩn Rapid-STP (802.1w), giải pháp chia tải đường truyền đa vùng Multiple Spanning-Tree (MSTP) cùng các tính năng bảo mật bảo vệ cổng biên (PortFast, BPDU Guard, Root Guard) là khối lượng kiến thức thực hành thực tế cốt lõi, sống còn đối với một kỹ sư mạng trong chương trình đào tạo CCNA và CCNP Enterprise. Để trực tiếp xây dựng các kịch bản phá vỡ vòng lặp, cô lập lỗi và thiết kế hệ thống chuyển mạch có tính sẵn sàng cao trên hệ thống phòng Lab thiết bị thật Cisco chính hãng, quý học viên có thể tham khảo lộ trình học tại VnPro.
Trong thiết kế hạ tầng mạng Switched Campus, việc xây dựng các đường truyền dự phòng (Redundancy) giữa các Switch là một yêu cầu bắt buộc nhằm đảm bảo tính sẵn sàng cao cho hệ thống. Tuy nhiên, kiến trúc dự phòng ở Lớp 2 vô tình tạo ra các vòng lặp vật lý khép kín. Do khung dữ liệu Ethernet không có trường dữ liệu giới hạn thời gian sống (như chỉ số TTL trên gói tin IP Lớp 3), các gói tin quảng bá sẽ di chuyển vòng quanh mạng vô tận. Để giải quyết triệt để bài toán này, tổ chức IEEE đã ban hành tiêu chuẩn IEEE 802.1D, định danh cho giao thức Spanning-Tree Protocol (STP).
Bài viết này sẽ mổ xẻ các thảm họa do vòng lặp Lớp 2 gây ra, nguyên lý bầu chọn phần cứng và quy trình chuyển đổi trạng thái cổng của STP trên hệ điều hành Cisco IOS. 1. Các thảm họa hệ thống khi thiếu vắng Spanning-Tree
Nếu một hạ tầng có đường truyền vòng lặp nhưng tính năng STP bị vô hiệu hóa, hệ thống sẽ ngay lập tức sụp đổ chỉ sau vài giây do ba hiện tượng kỹ thuật sau:
- Cơn bão quảng bá (Broadcast Storm): Khi một máy tính gửi một gói tin Broadcast (như gói tin tìm kiếm địa chỉ ARP Request), các Switch sẽ nhân bản gói tin này và đẩy ra tất cả các cổng. Do mạng bị vòng lặp, các gói tin nhân bản lại quay ngược về các Switch ban đầu và tiếp tục nhân bản theo cấp số nhân, chiếm trọn băng thông đường truyền và vắt kiệt tài nguyên CPU của thiết bị.
- Lỗi bất ổn định bảng địa chỉ MAC (MAC Table Instability): Switch học vị trí máy tính dựa trên cổng nhận vào của gói tin. Khi gói tin Broadcast chạy vòng quanh mạng và liên tục dội lại từ nhiều hướng khác nhau, Switch sẽ liên tục cập nhật và thay đổi vị trí cổng của một địa chỉ MAC trong bảng CAM (MAC Table Flapping), khiến việc chuyển tiếp dữ liệu bị hỗn loạn.
- Nhận trùng lặp khung dữ liệu (Multiple Frame Transmission): Một máy tính đích có thể nhận được cùng một khung dữ liệu nhiều lần từ nhiều đường truyền khác nhau truyền tới, gây lãng phí tài nguyên xử lý của thiết bị đầu cuối.
Để triệt tiêu vòng lặp, STP sẽ chạy một thuật toán thông minh nhằm xây dựng một sơ đồ mạng dạng cây không có vòng lặp (Loop-free topology). Tiến trình bầu chọn tuân thủ nghiêm ngặt theo thứ tự ưu tiên từ thấp đến cao (Giá trị nhỏ nhất sẽ chiến thắng):
Bước 1: Bầu chọn Root Bridge (Switch gốc đầu não)
Toàn mạng sẽ chọn ra duy nhất một Switch làm gốc. Thiết bị nào có chỉ số Bridge ID (BID) thấp nhất sẽ trở thành Root Bridge. Kiến trúc BID bao gồm:
$$\text{Bridge ID} = \text{Bridge Priority (2-Byte)} + \text{MAC Address (6-Byte)}$$
Mặc định, tất cả Switch Cisco đều có Priority là 32768. Do đó, nếu quản trị viên không can thiệp, Switch nào có địa chỉ MAC phần cứng nhỏ nhất sẽ trở thành Root Bridge.
Bước 2: Bầu chọn Root Port (RP - Cổng gốc)
Trên mỗi Switch không phải là Root Bridge (Non-Root Bridge), hệ thống sẽ chọn ra duy nhất một cổng có đường truyền tối ưu nhất để đi về Root Bridge dựa trên tiêu chí:
- Có tổng chi phí đường truyền về gốc (Root Path Cost) thấp nhất.
- Nếu Cost bằng nhau, xét đến Bridge ID của láng giềng thấp nhất.
- Nếu vẫn bằng nhau, xét đến Port ID của láng giềng thấp nhất.
Trên mỗi phân đoạn mạng (Network Segment/Link) kết nối giữa các Switch, hệ thống sẽ chọn ra một cổng duy nhất chịu trách nhiệm chuyển tiếp dữ liệu lên cây Spanning-Tree.
- Toàn bộ các cổng nằm trên thiết bị Root Bridge mặc nhiên đều là cổng DP.
- Đối với các liên kết còn lại, cổng nào có Root Path Cost ngắn hơn về gốc sẽ làm DP.
Tất cả các cổng còn lại sau ba bước bầu chọn trên không giành được vai trò RP hay DP sẽ bị đưa vào trạng thái Blocking (Alternate Port). Cổng này sẽ khóa logic chiều truyền dữ liệu để ngắt vòng lặp mạng, nhưng vẫn mở trạng thái nhận gói tin quản trị của STP. 3. Các trạng thái chuyển đổi cổng của cấu trúc STP tiêu chuẩn
Để ngăn chặn việc vô tình hình thành vòng lặp tạm thời khi một sợi cáp mạng được cắm vào, cổng Switch chạy STP tiêu chuẩn 802.1D không lập tức chuyển sang trạng thái hoạt động mà phải trải qua quy trình chuyển đổi tuần tự:
Trạng thái (State)
Thời gian delay
Hành vi xử lý gói dữ liệu
Hành vi học địa chỉ MAC
Nhận/Xử lý BPDU
Blocking
Không cố định
KHÔNG chuyển tiếp
KHÔNG học
CÓ nhận
Listening
15 giây
KHÔNG chuyển tiếp
KHÔNG học
CÓ nhận và gửi
Learning
15 giây
KHÔNG chuyển tiếp
CÓ học địa chỉ MAC
CÓ nhận và gửi
Forwarding
Duy trì
CÓ chuyển tiếp dữ liệu
CÓ học địa chỉ MAC
CÓ nhận và gửi
Disabled
N/A
KHÔNG hoạt động
KHÔNG học
KHÔNG nhận
Lưu ý kỹ thuật: Tổng thời gian để một cổng Switch chuẩn 802.1D chuyển từ lúc cắm dây (Blocking) lên hoạt động hoàn toàn (Forwarding) mất tối đa 30 giây (15s Listening + 15s Learning). Khoảng thời gian trì hoãn này là bắt buộc để các Switch trao đổi gói tin BPDU (Bridge Protocol Data Unit) và đồng thuận về sơ đồ mạng mới.
4. Kỹ thuật cấu hình và Xác thực trạng thái Spanning-Tree trên Cisco IOS
4.1. Câu lệnh tối ưu hóa vai trò Root Bridge
Để chủ động đưa một Switch quan trọng trong phòng Server lên làm Root Bridge (tránh việc tự động bầu chọn rơi vào các Switch biên có địa chỉ MAC ngẫu nhiên nhỏ), quản trị viên can thiệp bằng lệnh thay đổi giá trị Priority:
Plaintext
SW-CORE(config)# spanning-tree vlan 1 priority 4096
(Giá trị Priority bắt buộc phải là bội số của 4096).
4.2. Khai thác lệnh xác thực trạng thái cây Spanning-Tree
Để giám sát vai trò của Switch và trạng thái của các cổng vật lý, thực thi câu lệnh:
Plaintext
SW-CORE# show spanning-tree vlan 1
Hệ thống kết xuất cấu trúc dữ liệu tường minh:
Plaintext
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 4097
Address aabb.cc00.1000
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 4097 (priority 4096 sys-id-ext 1)
Address aabb.cc00.1000
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Fa0/19 DESG FWD 19 128.19 P2p
Fa0/21 DESG FWD 19 128.21 P2p
- Dòng chữ "This bridge is the root" khẳng định câu lệnh tối ưu ở bước trên đã vận hành hoàn hảo, biến thiết bị này thành đầu não toàn hệ thống.
- Tại bảng phân tầng cổng giao tiếp, cột Role và Sts ghi nhận các cổng Fa0/19, Fa0/21 đang đóng vai trò DESG (Designated Port) và trạng thái là FWD (Forwarding) — sẵn sàng truyền tải lưu lượng dữ liệu thông suốt và an toàn.
LÀM CHỦ CÔNG NGHỆ CHUYỂN MẠCH VÀ CHỐNG VÒNG LẶP HẠ TẦNG TẠI VNPROThuật toán phân cấp Spanning-Tree, kỹ thuật tối ưu hóa tiến trình hội tụ nhanh với tiêu chuẩn Rapid-STP (802.1w), giải pháp chia tải đường truyền đa vùng Multiple Spanning-Tree (MSTP) cùng các tính năng bảo mật bảo vệ cổng biên (PortFast, BPDU Guard, Root Guard) là khối lượng kiến thức thực hành thực tế cốt lõi, sống còn đối với một kỹ sư mạng trong chương trình đào tạo CCNA và CCNP Enterprise. Để trực tiếp xây dựng các kịch bản phá vỡ vòng lặp, cô lập lỗi và thiết kế hệ thống chuyển mạch có tính sẵn sàng cao trên hệ thống phòng Lab thiết bị thật Cisco chính hãng, quý học viên có thể tham khảo lộ trình học tại VnPro.
Hotline/Zalo hỗ trợ tư vấn 093 3427 079
Website: vnpro.vn