CCNA [A-II-2] [Lý Thuyết]: Tìm hiểu giao thức ngăn chặn layer 2 loop (STP, RSTP, MSTP)

Trong hệ thống mạng, việc triển khai nhiều switch đấu nối với nhau để tăng tính dự phòng rất phổ biến, tuy nhiên điều này dẫn đến tình trạng vòng lặp ở lớp 2, khi mà dữ liệu gửi đi liên tục thành vòng lặp mà không có đích đến. Để tránh trường hợp này, ta cần sử dụng các giao thức ngăn chặn vòng lặp ở lớp 2, điển hình như các giao thức spanning tree: STP, RSTP và MSTP. Bài viết sẽ tìm hiểu chi tiết

Mục lục

I. Vòng lặp ở lớp liên kết dữ liệu
II. STP (Spanning tree protocol)
1. BPDU (Bridge protocol data unit)​
2. Cơ chế hoạt động​
2.1 Bầu chọn root bridge (RB)
2.2 Bầu chọn root port (RP)
2.3 Bầu chọn designated port (DP)
2.4 Các cổng còn lại bị chặn
2.5 Các trạng thái cổng STP
III. Các loại STP
1. STP (Spanning Tree Protocol)​
2. RSTP (Rapid Spanning Tree Protocol)​
3. MSTP (Multiple Spanning Tree Protocol)​
IV. Bảo mật cho spanning tree
1. BPDU guard​
2. BPDU filter​
3. Root guard​

I. Vòng lặp ở lớp liên kết dữ liệu

- Vòng lặp (loop) xảy ra ở lớp 2, khi mà các frame dữ liệu được broadcast liên tục giữa các switch, ta khiến switch bị quá tải và treo.
- Nguyên nhân chính cho vòng lặp do broadcast
1756283165933.png

- Bắt đầu từ máy A, broadcast 1 frame đến f0/1 của cả 2 switch. Từ 2 switch, frame lại được switch này broadcast đến máy B và cổng f0/2 của switch còn lại. 2 switch nhận frame từ cổng f0/2 lại tiếp tục broadcast đến f0/1 switch còn lại và máy A, quá trình này lặp lại liên tục nếu không cấu hình STP.

II. STP (Spanning tree protocol)

Giao thức spanning tree (STP) hoạt động ở lớp liên kết dữ liệu, được dùng để ngăn chặn vấn đề vòng lặp bằng cách phát hiện và xoá các cổng dư thừa trong mỗi vòng lặp.

1. BPDU (Bridge protocol data unit)

- Các gói tin BPDU được gửi khi switch bắt đầu khởi động, chứa thông tin bridge id (BID) và chi phí đường đi hỗ trợ cho việc tính toán cấu trúc cây trng spanning tree.
1756285310154.png

- Dưới đây là cấu tạo của BPDU header
1756285434782.png

+ Protocol ID: Định danh giao thức, mặc định là 0 cho STP​
+ Version: Phiên bản: 0 cho cấu hình và TCN (topology change notification: thông báo về sự thay đổi topology) BPDU, 2 cho RSTP, 3 cho MSTP​
+ BPDU Type: loại BPDU: 0 cho cấu hình BPDU, 128 cho TCN, 2 cho RSTP/MSTP
+ Flags:​
  • Chuẩn IEEE 802.1D: STP
1756289177642.png

TC (topology change): thay đổi topology​
U (unused): không sử dụng​
TCA (Topology change acknowledgement): xác nhận TCN​
  • Chuẩn IEEE 802.1w: RSTP
1756289211184.png

Port role: (00 = unknown, 01 - alternate port, 10 - root port, 11 - designated port)​
+ Root ID: gồm 2 bit độ ưu tiên và 6 bit địa chỉ MAC​
+ Root path cost: Chi phí từ các các switch về root bridge, tính dựa theo băng thông​
1756287636181.png

+ Bridge ID (BID): gồm 2 bit trường ưu tiên (0-65,535, mặc định là 32,768) và 6 bit địa chỉ MAC​
1756287245256.png

+ Port ID: gồm 4 bit trường ưu tiên và 12 bit trường số cổng​
+ Message age: thời gian (giây) kể từ khi root bridge gửi BPDU​
+ Max time: thời gian (giây) tối đa BPDU tồn tại​
+ Hello time: thời gian giữa các BPDU​
+ Forward delay: thời gian chờ trước khi chuyển trạng thái​

2. Cơ chế hoạt động

2.1 Bầu chọn root bridge (RB)

- Chọn ra switch gốc: gửi BPDU để duy trì STP, các switch còn lại chỉ tiếp nhận, bổ sung thông tin và chuyển tiếp.
- Xác định root dựa trên BID: chọn switch có độ ưu tiên thấp nhất làm root, nếu bằng nhau sẽ so sánh địa chỉ MAC, nhỏ nhất sẽ được chọn.

2.2 Bầu chọn root port (RP)

- Các switch không phải root sẽ chọn cổng gần nhất (dựa theo chi phí đường đi) với root làm root port.
- Cách tính chi phí: từ root bridge, sẽ gửi các BPDU chứa chi phí (gốc là 0) đến các switch khác. Các switch sẽ tiếp nhận, bổ sung chi phí của mình vào và chuyển tiếp đến những switch còn lại.
- Nếu chi phí bằng nhau sẽ xét BID, ID cổng và số cổng.

2.3 Bầu chọn designated port (DP)

- Designated port là cổng đường về root bridge có chi phí thấp nhất trên phân đoạn mạng đang xét. Mỗi phân đoạn mạng đều có 1 DP.
- Cách chọn DP:

+ Tất cả các cổng của RB là DP; đối diện với RP là DP.
+ Trên phân đoạn mạng chưa có RP thì xét chi phí, nếu chi phí bằng nhau thì xét BID như ở trên.

2.4 Các cổng còn lại bị chặn

- Các cổng không phải RP, DP sẽ bị chặn, gọi là alternated port.

2.5 Các trạng thái cổng STP

- Mỗi cổng trên switch thuộc trong một trong các trạng thái:
+ Blocking: Chặn lưu lượng để ngăn vòng lặp.​
+ Listening: Nghe các BPDU nhưng không chuyển tiếp lưu lượng.​
+ Learning: Học địa chỉ MAC nhưng chưa chuyển tiếp lưu lượng.​
+ Forwarding: Chuyển tiếp lưu lượng.​
+ Disabled: Tắt hoàn toàn.​
Trạng tháiGửi BPDUNhận BPDUHọc địa chỉ MACChuyển tiếp lưu lượng
BlockingKhôngKhông
ListeningKhôngKhông
LearningKhông
Forwarding
DisabledKhôngKhôngKhông
- Chu trình trạng thái của một cổng STP: Block -> Listen -> Learn -> Forward.
- Nếu có thay đổi topology sẽ đưa cổng sang blocking và bắt đầu lại chu trình.

III. Các loại STP

1. STP (Spanning Tree Protocol)

- STP cơ bản nhất, theo tiêu chuẩn 802.1D
- Chỉ có 1 spanning tree cho toàn bộ mạng.
- Cơ chế hội tụ chậm (~30-50 giây).

2. RSTP (Rapid Spanning Tree Protocol)

- Theo tiêu chuẩn 802.1w cải tiến hơn.
- Hội tụ nhanh hơn STP cơ bản.
- Chuyển đổi trạng thái của cổng dự phòng nhanh chóng mà không cần chờ hết thời gian hội tụ.
- Bỏ qua trạng thái listening -> Chu trình nhanh hơn (~5 giây): Blocking -> Learning -> Forwarding.

3. MSTP (Multiple Spanning Tree Protocol)

- Theo tiêu chuẩn 802.1s cải tiến hơn.
- Nhiều spanning tree trong cùng mạng, tối ưu tài nguyên, dễ mở rộng.
- Hội tụ nhanh như RSTP.
- Cơ chế: chia thành nhiều vùng MST nhỏ, mỗi vùng chứa các MSTI (MST instance), ánh xạ các vlan vào từng MSTI.
Giao thứcSTPRSTPMSTP
Tiêu chuẩn802.1D802.1w802.1s
Thời gian hội tụ30-50 giây~5 giây~5 giây
Chu trình cổngBlock -> Listen -> Learn -> ForwardDiscard -> Learn -> ForwardDiscard -> Learn -> Forward
CổngRP, DP, APRP, DP, AP, BackupRP, DP, AP, Backip po
Mở rộng1 spanning tree1 spanning treeNhiều spanning tree

IV. Bảo mật cho spanning tree

1. BPDU guard

- Cấu hình trên những cổng access, là những cổng xuống thiết bị đầu cuối, chặn các cổng không thể nhận được BPDU.
- Khi một cổng được cấu hình nhận BPDU, cổng sẽ chuyển sang trạng thái không thể sử dụng và gửi thông báo.

2. BPDU filter

- Cấu hình trên các cổng access xuống thiết bị đầu cuối như BPDU guard, chặn các cổng không thể nhận được BPDU.
- Ngăn cổng gửi, nhận BPDU khi được cấu hình.

3. Root guard

- Ngăn chiếm quyền RB với BID cao hơn.
- Nếu cổng nhận được superior BPDU (BPDU có BID tốt hơn RB hiện tại), chuyển cổng sang trạng thái root inconsistent (ngưng hoạt động) và gửi thông báo.
 
Back
Top