You are on page 1of 12

Học Viện Quản Trị Mạng VnNet

802.1D Spanning Tree Protocol


Link tài liệu tham chiếu: https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst4000/8-2glx/configuration/guide/spantree.html

Khái niệm giao thức Spanning Tree Protocol

STP là cơ chế chống loop Layer 2

Để làm được điều này, STP sẽ trải qua quá trình bình bầu để đưa port về trạng thái không truyền hoặc không gửi lưu lượng – Port ở trạng thái
Blocking. Các port còn lại sẽ ở trạng thái Forwarding state, từ đó STP cung cấp loop-free path đến mỗi Ethernet segment trong mạng.

Bản tin của giao thức STP được gọi là Bridge Protocol Data Units (BPDU). Có cấu trúc như sau:

For STP:

 Protocol Identifier set 0x0000


 Protocol Version set 0x00

Hoang Duc Cuong


Du Nguyen
Học Viện Quản Trị Mạng VnNet

 BPDU type định nghĩa cho 2 trường thông tin của STP BPDUs
o 0x00: Configuration BPDUs
o 0x80 TCN BPDUs
 Flags field sử dụng 2 bit out of 8 để xử lý Topology Change events:
o Topology Change Ack flag
o Topology Change flag
 Theo sau trường Flag là 1 loạt trường:
o Root Bridge ID
o Root Path Cost: khoảng cách đến root bridge
o Sending Bridge ID: định danh thiết bị gửi BPDU
o Sending Port ID: định danh của port trên thiết bị chuyển tiếp BPDU.
 Message Age: được bắt nguồn từ root bridge, tượng trưng cho tuổi BPDU. Tại root bridge, nó được set = 0, khi qua mỗi switch thì sẽ
tăng giá trị này lên (thường là 1) trước khi chuyển tiếp BPDU.
 Các trường còn lại: MaxAge, HelloTime, ForwardDelay mang giá trị của các bộ timer và lưu ý rằng: giá trị timer này được ánh xạ từ root
bridge, các bộ timer trên các non-root switch sẽ không được sử dụng (trừ khi nó được bình bầu là root bridge)

Trạng thái hoạt động của STP

Khi hoạt động STP có các trạng thái, bộ timer-default được thể hiện
như hình vẽ bên.
- Blocking: Không forwards Data Frame, không học MAC.
- Listening: Không forwards Data Frame, không học MAC.
- Learning: Không forwards Data Frame, học MAC.
- Forwarding: Forwards Data Frame, học MAC.
Thời gian để port chuyển trạng thái chuyển tiếp dữ liệu ~ 50s

Hoang Duc Cuong


Du Nguyen
Học Viện Quản Trị Mạng VnNet

STP hoạt động dựa trên sự so sánh thông tin giữa 2 Configuration BPDUs và định nghĩa cái nào tốt hơn (hay còn gọi là superior), BPDU khác sẽ
gọi là inferior. Để tìm được BPDU nào là tốt hơn (superior) thì dựa vào chuỗi giá trị sau (so sánh theo thứ tự từ trên xuống dưới, khớp dòng nào
thì STP sẽ dừng tiến trình so sánh – bầu chọn) giá trị nào nhỏ hơn là tốt hơn (lowest better):

 Root Bridge ID (RBID)


 Root Path Cost (RPC)
 Sender Bridge ID (SBID)
 Sender Port ID (SPID)
 Receiver Port ID (RPID, not included in BPDU, evaluated locally)

Quá trình lựa chọn trạng thái Port

Để định nghĩa được trạng thái port là Block hay Forward, STP dựa vào tiến trình 3 bước như sau:

 Elect the root switch


 Determine each switch’s Root Port
 Determine the Designated Port for each segment

Phần trên chúng ta đã nói về cấu trúc trong bản tin BPDU, phần này chúng ta sẽ nói kỹ hơn 1 chút về những giá trị được sử dụng khi bầu chọn
trong các tiến trình STP.

1. Bridge ID (BID)

- Đại diện cho mỗi switch

Hoang Duc Cuong


Du Nguyen
Học Viện Quản Trị Mạng VnNet

- Có cấu trúc như hình trên: BID = Priority | MAC


o Priority field được thiết kế 2 byte, có thể cấu hình thay đổi thông số này để tạo sự thay đổi trong tiến tình bình bầu STP
o MAC field được thiết kế 6 byte.
- Priority mặc định = 32768 và có giá trị nằm trong dải: 0-65536
- Priority càng bé thì càng được ưu tiên
2. Root ID (RID)
- Là BID của switch có priority tốt nhất.
3. Root Path Cost (RPC)
- Khoảng cách từ Non root switch tới root switch
- Được tính bằng cách cộng dồn Cost của các link tới Root switch (cụ thể cách tính sẽ có trong ví dụ)
- Bảng Cost mặc định các Link tính theo băng thông:

4. Port ID (PID)
- Đại diện cho mỗi cổng trên switch
- Cấu trúc PID = Priority Port Number
- Priority mặc định là 128 và có giá trị nằm trong dải 0-256
- Priority càng bé thì càng được ưu tiên

Tiến trình bình chọn STP

No.1 Electing a Root Switch

- Trong mạng chi có duy nhất một Root


- Ban đầu tất cả các sw tự nhận là Root
- Sau khi trao đổi gói tin BPDU (chứa thông tin RID bên trong). Các sw cập nhật RID = BID của sw tốt nhất

Hoang Duc Cuong


Du Nguyen
Học Viện Quản Trị Mạng VnNet

- Sw tốt nhất là sw có BID Priority thấp nhất, nếu Priority bằng nhau thì theo MAC thấp nhất

Step 1

- Khi khởi chạy tiến trình STP các sw sẽ tự coi mình là root và gửi BPDU.
- Qua quá trình trao đổi thì sẽ tìm được root switch dựa vào thông tin BID
- Như hình dưới thì SW1 sẽ có BID nhỏ nhất => SW1 trở thành Root switch.
- Sau đó các non root switch sẽ cập nhật lại RID = BID SW1 = 32768/1.1.1.1

No.2 Determine each switch’s Root Port

Sau khi bình bầu được Root switch, thì mỗi non-root switch sẽ cần xác định Root Port.

- Root Port là port có RPC tốt nhất đến root switch.

Hoang Duc Cuong


Du Nguyen
Học Viện Quản Trị Mạng VnNet

- Root Port chỉ có trên non-root switch


- Root Port là cổng ở trạng thái Forwarding
- Mỗi non-root swicth chỉ được phép có 1 Root Port duy nhất và được bình bầu dựa vào 3 bước ưu tiên sau:
o Root Path Cost
o BID Sender
o PID Sender
- Quá trình bình bầu diễn ra như sau:
1. Root switch sẽ tạo BPDU và gửi với chu kỳ 2s/1 lần. BPDU sẽ chứa thông tin RBID và SBID (được gán bằng ID của chính root
switch), RPC được gán bằng 0, SPID được gán bằng định danh của egress port.
2. Mỗi non-root switch khi nhận được BPDU trên 1 port cụ thể, thì sẽ cộng giá trị cost của port đó vào giá trị RPC trong BPDU.
Sau đó non-root switch sẽ tìm ra được port có RPC tốt nhất => Root Port
3. BPDU nhận được trên Root Port sẽ được chuyển tiếp qua các port còn lại trên switch sau khi cập nhật lại RPC, SBID, SPID,
Massage Age. BPDU nhận được trên các non-root Port vẫn được xử lý như không được chuyển tiếp.
4. Switch sẽ không chuyển BPDU ra Root Port và port ở trạng thái Blocking

Step 2

- Giả sử các switch sẽ được kết nối với nhau qua các link 100 Mbps => Cost = 19
- Mô tả chi tiết quá trình chọn Root Port

Hoang Duc Cuong


Du Nguyen
Học Viện Quản Trị Mạng VnNet

- SW1 gửi BPDU có cost = 0


- SW3 nhận được BPDU trên F1, SW3 cộng thêm giá trị cost 19,
điều này tương tự trên SW2.
- Sau khi thêm giá trị cost SW2 và SW3 cập nhật lại Sender BID
là chính nó, Sender Port ID là F2 và đẩy BPDU ra F2.

- Tham chiếu đối với SW3: F2 sẽ nhận được BPDU có cost = 38


được gửi từ SW4.
- SW2 sẽ so sánh cost giữa 2 cổng F1 và F2, nhận thấy F1 có
RPC tốt hơn ( lowest better) => F1 được lựa chọn là Root Port
- Tiến trình bình bầu tương tự đối với SW2, SW2 có F1 là Root
Port

Hoang Duc Cuong


Du Nguyen
Học Viện Quản Trị Mạng VnNet

- Tiếp tục bình bầu đối với SW3, vấn đề xảy ra là F1 và F2 trên
SW4 có cost bằng nhau!
- SW4 sẽ lựa chọn giá trị Sender BID để so sánh.
- SW4 nhận được 2 thông tin Sender BID
+ BID = 32768/2.2.2
+ BID = 32768/3.3.3

- SW4 nhận thấy Sender BID = 32768/2.2.2 tốt hơn (lowest


better) => F1 giành chiến thắng do có Sender BID tốt hơn do
với F2.
- SW4 có F1 là Root Port.

Hoang Duc Cuong


Du Nguyen
Học Viện Quản Trị Mạng VnNet

- Trong tình huống: SW2 và SW3 kết nối với nhau thông qua 2
link thì tiến trình bầu chọn diễn ra như thế nào?
- Khi F1 và F3 đều nhận được BPDU được gửi từ SW2 =>
Sender BID như nhau.
- SW4 sẽ sử dụng tới giá trị Sender PID để so sánh tìm ra root-
port.
- F1 sẽ có Sender PID là: F2
- F3 sẽ có Sender PID là: F3
=> F1 có Sender PID tốt hơn (lowest better)
- SW4 lựa chọn F1 là Root Port.

No.3 Determine the Designated Port for each segment

- Sự hội tụ của STP là khi chỉ có duy nhất 1 switch được phép forwarding bản tin BPDU trên mỗi phân đoạn mạng LAN.
- Switch có nhiệm vụ forwarding BPDU trên mỗi phân đoạn mạng LAN được gọi là: designated switch cho phân đoạn LAN đó.
- Port được dùng để forwarding BPDU được gọi là Designated Port (DP), tất cả các port trên khi không được định nghĩa là root port (RP),
Designated Port (DP) thì sẽ chuyển trạng thái Blocking (hoặc là Non- Designated Port).
- Mỗi một Segment chỉ được có duy nhất một DP
- Mỗi cổng của root switch đều là DP
- Lựa chọn DP dựa theo 3 bước ưu tiên:
o Root Path Cost
o BID Sender
o PID Sender

Step 3 Quá trình bình bầu DP, Non-DP

Hoang Duc Cuong


Du Nguyen
Học Viện Quản Trị Mạng VnNet

- Các port trên root switch đều là Designated Port (DP).

- Xét phân đoạn LAN giữa SW3 và SW4.


- F2 trên SW3 và SW4 nhận thông tin BPDU với thông tin cost
(RPC) là như nhau, vì thế 2 sw sẽ lựa chọn tới giá trị Sender
BID để so sánh.
- F2 trên SW3 đẩy ra bản tin BPDU mang thông tin Sender BID
= 32768/3.3.3
- F2 trên SW4 đẩy ra bản tin BPDU mang thông tin Sender BID
= 32768/4.4.4
=> Nhận thấy ở phân đoạn LAN giữa SW3 và SW4, F2 trên
SW3 gửi ra bản tin BPDU tốt hơn (lowest better)
=> F2 trên SW3 sẽ là Designated Port (DP).
=> F2 trên SW4 sẽ là Non- Designated Port, và ở trạng thái
Blocking.

Hoang Duc Cuong


Du Nguyen
Học Viện Quản Trị Mạng VnNet

- Tiến trình bình bầu lựa chọn STP tương tự.


- SW4 lựa chọn port F3 là Non - Designated Port, và ở trạng
thái Blocking.
- SW2 lựa chọn port F2, F3 là Designated Port.
=> Đối diện Root Port luôn là Designated Port (DP).

Hoang Duc Cuong


Du Nguyen
Học Viện Quản Trị Mạng VnNet

Tóm tắt quy tắc trong STP

 Root switch là switch có lowest Bridge ID trong topology


 Trên mỗi nonroot switch có 1 Root Port, là port có Root Path Cost (RPC) tốt nhất.
 Trên mỗi phân đoạn mạng kết nối, Designated Port (DP) là port gửi BPDU tốt nhất trong phân đoạn đó. BPDU chỉ được gửi từ DP.
 Các Non- Designated Port sẽ ở trạng thái Blocking.
 Mỗi port sẽ lưu trữ thông tin BPDU để định nghĩa vai trò của port và dùng để so sánh
o DP sẽ lưu trữ thông tin BPDU mà nó gửi ra
o RP, Non DP sẽ lưu thông tin BPDU mà nó nhận được

Hoang Duc Cuong


Du Nguyen

You might also like