Network [LT] Spanning tree protocol (STP) (Phần 4)

Trong phần trước, mình đã giới thiệu về các thành phần của STP( STP Timers, STP Diameter, STP Topology Changes). Trong phần này mình sẽ tiếp tục nói về cách để cải thiện sự hội tụ của STP.

III. Cải thiện hội tụ của STP


Với trải nghiệm người dùng, việc gián đoạn 30 giây cho mỗi thay đổi topology là không thể chấp nhận được. Để cải thiện thời gian hội tụ của STP có ba loại cấu hình:

1. PortFast


- Theo mặc định, tất cả các port trên switch đều tham gia vào topology của STP. Điều này bao gồm cả các port kết nối với end system, chẳng hạn như máy trạm. Hầu hết các trường hợp, end system không gây nguy cơ tạo ra loop. Port kết nối với end system sẽ chuyển qua các trạng thái STP thông thường, bao gồm việc chờ hai lần forward delay. Do đó, end system sẽ không có kết nối mạng trong tối thiểu 30 giây khi được bật lên.
- Điều này không lý tưởng vì một số lý do:​
  • Người dùng sẽ khó chịu vì đợi lâu.​
  • Thiết bị đầu cuối thường yêu cầu địa chỉ IP thông qua DHCP trong quá trình khởi động. Nếu switch không chuyển tiếp đủ nhanh, yêu cầu DHCP có thể thất bại.​
  • Các thiết bị khởi động bằng mạng có thể gặp lỗi.​
- PortFast cho phép port switch bỏ qua quá trình tiến triển thông thường của các trạng thái STP. Port sẽ chuyển từ trạng thái blocking sang forwarding ngay lập tức, loại bỏ sự chậm trễ 30 giây thông thường.
- PortFast chỉ nên được kích hoạt trên các port kết nối với thiết bị đầu cuối. Nếu được kích hoạt trên port kết nối với switch hoặc hub, bất kỳ loop nào cũng có thể dẫn đến broadcast storm gây ra loop.
Lưu ý: PortFast không vô hiệu hóa STP trên port - nó chỉ đẩy nhanh quá trình hội tụ STP. Nếu port kích hoạt PortFast nhận được BPDU, nó sẽ chuyển qua quá trình trạng thái STP thông thường.
- PortFast loại bỏ lưu lượng các gói BPDU không cần thiết. Một TCN sẽ không được tạo ra cho các thay đổi trạng thái trên một port kích hoạt PortFast.
- PortFast bị vô hiệu hóa theo mặc định. Để kích hoạt PortFast trên một port switch:​
Bash:
Switch(config)# int gi1/14
Switch(config-if)# spanning-tree portfast
PortFast cũng có thể được kích hoạt cho tất cả các interface:
Bash:
Switch(config)# spanning-tree portfast default

2. UplinkFast


- Thường thì, một switch sẽ có nhiều liên kết uplink đến một switch upstream khác:
1724126191443.png

- Nếu các liên kết không được gộp lại bằng EtherChannel, ít nhất một trong các port sẽ chuyển sang trạng thái blocking để loại bỏ loop. Trong ví dụ trên, port gi0/23 đã được đặt vào trạng thái blocking trên switch B.
- Nếu root port bị lỗi trên switch, STP sẽ cần thực hiện một phép tính lại để chuyển port khác ra khỏi trạng thái blocking. Ít nhất, quá trình này sẽ mất 30 giây.
- UplinkFast cho phép một port blocking được giữ ở trạng thái sẵn sàng. Nếu root port bị lỗi, port blocking có thể ngay lập tức chuyển sang trạng thái forwarding. Do đó, UplinkFast cải thiện thời gian hội tụ cho các lỗi trực tiếp trong topology.
- Nếu có nhiều port đang ở trạng thái blocking, port nào có path cost đến root thấp nhất sẽ chuyển sang trạng thái forwarding.
- UplinkFast bị vô hiệu hóa theo mặc định và phải được kích hoạt cho tất cả các VLAN trên switch:
Bash:
Switch(config)# spanning-tree uplinkfast
UplinkFast hoạt động bằng cách theo dõi tất cả các liên kết có thể đến Root Bridge. Do đó, UplinkFast không được hỗ trợ trên Root Bridge.(bật tính năng có thể tăng priority lên 49152)

3. BackboneFast


UplinkFast cung cấp sự hội tụ nhanh hơn nếu một port trực tiếp kết nối bị lỗi. Ngược lại, BackboneFast cải thiện quá trình hội tụ nếu có một lỗi gián tiếp trong topology.
1724126283717.png

- Nếu liên kết giữa switch B và switch A gặp sự cố, switch D sẽ phải tính toán lại đường dẫn qua switch C để đến với Root Bridge. Tuy nhiên, switch D phải chờ hết thời gian max age trước khi xóa thông tin BPDU của switch B. Theo mặc định, thời gian này là 20 giây.
- BackboneFast cho phép một switch bỏ qua thời gian max age. Switch sẽ chấp nhận các BPDU từ switch C ngay lập tức. Port bị block trên switch C vẫn phải chuyển sang trạng thái forwarding. Do đó, BackboneFast giảm tổng thời gian hội tụ từ 50 giây xuống 30 giây cho một lỗi gián tiếp.
- Điều này được thực hiện bằng cách gửi Root Link Queries (RLQs). Root Bridge sẽ phản hồi các truy vấn này bằng một RLQ Reply:​
  • Nếu nhận được RLQ Reply trên một root port, switch biết rằng đường dẫn đến root là ổn định.​
  • Nếu nhận được RLQ Reply trên một port không phải root, switch biết rằng đường dẫn đến root đã bị lỗi. Thời gian max age sẽ ngay lập tức hết hạn để cho phép chọn root port mới.​
- BackboneFast nên được bật trên mọi switch:
Bash:
Switch(config)# spanning-tree backbonefast
 

About us

  • Securityzone.vn là một trang web chuyên về an ninh mạng và công nghệ thông tin. Trang web này cung cấp các bài viết, tin tức, video, diễn đàn và các dịch vụ liên quan đến lĩnh vực này. Securityzone.vn là một trong những cộng đồng IT lớn và uy tín tại Việt Nam, thu hút nhiều người quan tâm và tham gia. Securityzone.vn cũng là nơi để các chuyên gia, nhà nghiên cứu, sinh viên và người yêu thích an ninh mạng có thể trao đổi, học hỏi và chia sẻ kiến thức, kinh nghiệm và giải pháp về các vấn đề bảo mật trong thời đại số.

Quick Navigation

User Menu