root

Leader IT/Architect
Dec 31, 2012
1,153
72
48

Tìm hiểu về giao thức Spanning tree protocol


- Spanning tree protocol định nghĩa trong chuẩn IEEE 802.1D. Spanning tree là giao thức không thể thiểu trong môi trường layer 2. Bài viết này sẽ giải thích

- Spanning tree là gì? Tìm hiểu giao thức spanning tree, cơ chế hoạt động của giao thức Spanning tree.
Sau đó chúng ta sẽ tìm hiểu quy tắc bầu chọn trong Spanning tree để lựa chọn Root bridge, port cần block...và cách cấu hình spanning tree để traffic của đường đi trong hệ thống là tốt nhất. Hướng dẫn cấu hình Spanning tree trên Cisco Router.

Tìm hiểu các viết tiếp theo

  1. [Bài 20] Hướng dẫn cấu hình ACL Router Cisco
  2. [Bài 21] Tìm hiểu về Network Address Translation
Tham khảo các bài lab cấu hình Spanning tree
  1. [Lab 10] Cấu hình Spanning tree protocol
  2. [Lab 13.1] Cấu hình HSRP and Spanning tree root
Các bài tổng hợp lý thuyết và tổng hợp các bài lab CCNA

I. Spanning là gì ?

- Khi Sw nhận được 1 frame

  • Học source MAC vào bảng MAC address
  • Tra Des MAC trong bảng MAC address, ban đầu bảng MAC trắng nên nó sẽ flood frame ra tất cả các cổng.
- Theo mô hình dưới thì nó sẽ xảy ra hiện tượng:
  • Broadcast storm
  • Instability MAC address table
  • Multiple Frame copies
- Hiện tương Loop trong mạng khi các switch đấu nối theo 1 vòng tròn khép kín
Vd: 1 sw nối 1port này vs 1 port khác trên cùng 1 sw, 2 sw nối với nhau bằng 2 dây qua 4 port…
- IEEE đưa ra chuẩn 802.1D(spanning tree protocol) để chống loop. Về mặt luận lý thì nó sẽ khóa 1 port( Block port)
- Để tìm ra block port nó trải qua các bước:

  • Bầu chộn Root Switch
  • Bầu chọn Root port
  • Bầu chọn Al
  • port còn lại là al

tim hieu Spanning tree(1)


II. Quá trình tìm Block Port Spanning tree
1. Root Switch:
- Khi các Sw được đấu nối khởi động nó sẽ gửi gói tin BPDU(bridge protocol data unit) trên các port của Switch.
- Thông số quyết định Sw nào được làm Root Sw là Bridge-ID(8 byte) gồm có các thông số :

  • priority(của switch):
    • dài 2 byte(9 -> 65535), default = 32768.
    • Sw nào có chỉ số priority có chỉ số nhỏ nhất sẽ được chọn làm Root-switch
  • MAC Address Switch:
    • dài 6 byte.
    • Xét từ trái sang phải từng giá trị hexa thì switch nào có MAC nhỏ nhất làm Root-switch
- Khi bầu xong Root-switch thì chỉ có Root-switch được gửi BPDU(2s/1 lần). Việc gửi đó để duy trì cây spanning tree đó không bị Loop
- Theo nguyên tắc đánh số MAC của nhà sản xuất thì khi bầu chọn root-switch nó sẽ chọn switch đời đầu làm root-switch => sw cùi cắp làm lãnh đạo. Nên trong thực tế ta ko bao giờ cho bầu chọn bằng MAC mà ta chỉnh priority

2. Root port:

- Là port cung cấp đường về Root-switch mà có tổng path-cost là nhỏ nhất
- Khi bầu chọn Root-port thì Root-Switch ko tham gia quá trình bầu chọn này
- Mỗi Root-switch chỉ có 1 Root-port
- Path-cost là giá trị cost trên từng cổng của Switch.

tim hieu Spanning tree(2)
- Nguyên tắc tính tổng path-cost: tính từ switch đang muốn tính --> Root-switch
  • Đi ra: ko cộng
  • Đi vào: cộng cost
- Luật Tie-Break:
  • Sender Bridge ID:
    • Cổng nào kết nối switch mà switch đó có bridge ID nhỏ nhất -> port đó sẽ được chọn làm Root-port.
    • Bridge ID của B nhỏ hơn C à port số 2 làm Root-port
  • Sender Port ID:
    • Port ID của Switch bên kia thì port nào của switch bên kia có giá trị port-ID nhỏ hơn thì chọn port bên switch mình kết nối với port ID nhỏ hơn đó.
      • Priority của port: có giá trị từ 0 -> 255, default=128. Port nào có priority nhỏ hơn thì port đó có Port ID nhỏ hơn.
      • Vị trí của port: Xét theo hạng của số thứ tự của port. Port số 1 < port 2 -> port số 2 làm root-port

tim hieu Spanning tree(3)

  • Khi các luật trên không giải quyết được thì nó sẽ xét đến Port ID trên chính nó
    • Priority và vị trí của port
    • VD: Vì hub nó thực hiện flood ra tất cả các port nên frame từ port 1 của swD sẽ đi đến hub và đi cả 2 đường từ hub -> swC. Nên lúc này chúng ta không thể xác định bằng cách trên. Lúc này ta phải xet port-ID trên chính SwC

tim hieu Spanning tree protocol(4)

3. Designated port
- Tất cả các port của Root-sw đều là Designated port
- Trên 1 phân đoạn nếu port đối diện là Root-port thì mình là Designated port(ko có ý nghĩa ngược lại).
- Là port cung cấp đường về Root-sw trên phân đoạn mạng đang xét mà có tổng path-cost là nhỏ nhất.
Vd: tính path-cost trên phân đoạn ta tính từ

Root-sw(cat 2) --> cat 1 --> cat 4 = 38

tim hieu va cau hinh Spanning tree(5)


4. Alternate port
- Khi 1 trong các phân đoạn khác bị đứt thì phân đoạn port lock sẽ được mở ra để chạy
- Khi phân đoạn trên có lại thì phân đoạn lock sẽ tiếp tục bị lock lại
- Tuy port lock không nhận được dữ liệu nhưng nó vẫn nhận gói tin BPDU từ Root-switch để duy trì cây spanning-tree. Nếu nó không nhận được gói BPDU thì nó sẽ mở port lock này ra à lúc này bị loop ráng chịu

5 . Peer PVST(peer Vlan Spanning tree)

PriorityVlan n = PriorityVlan n + n
- Lưu ý: Khi chỉnh sửa Priority thì số priority phải chia hết cho 4096
- Ví dụ: Vlan 1 à priority = 32768 + 1

peer Vlan Spanning tree
7. STP timer
- Helo timer: 2(s) Thời gian gửi BPDU
- Forward timer: 15(s)
- Max-agetimes: 20(s) Nếu Root-Sw chết hay port lock không nhận được BPDU thì mất 20s nó mới hoạt động( tự mở lên hoặc bầu chọn lại Root-sw)

8. STP state
- Các trạng thái khi Sw khởi động

  • Disable: down
  • Blocking: nhận BDPU, ko gửi BPDU, ko học MAC, ko forward frame
  • Listening: _________, gửi BPDU, ___________________
  • Leaning: __________________, học MAC, _______________
  • Forwarding: _____________________________, forward frame
- Việc chuyển từ trạng thái: Blocking à listening mất 20(s)
- Việc chuyển từ trạng thái: Listening à Leaning mất 15(s)
- Việc chuyển từ trạng thái: Leaning à Forwarding mất 15(s)
=> Vậy khi Sw khởi động xong or khi cắm dây vào port thì phải mất 30(s) đèn chuyển sang màu xanh
=> Mất 30+20+2 = 52(s) để STP port lock mới hoạt động

III. Cấu hình Spanning tree
1. Config
- Đưa VLAN 1 trên Sw1 lên làm Root-sw

SW1(config)#spanning-tree vlan n root-primary
- Khi SW1 chết thì ta đưa Sw2 làm Root-sw mà không cần chờ đợi việc bầu chọn

SW2(config)#spanning-tree vlan n root-secondary
- Thay đổi Priority

Sw(config)#spanning-tree vlan n priority m[/TD]
- Lưu ý: m phải chia hết cho 4096 nếu ko sẽ báo lỗi.

- Khi cắm Pc vào Sw nó phải đợi 30s để port hoạt động + time xin DHCP => mất quá nhiều thời gian. Lúc này để pc cắm vào Sw mà nó hoạt động ngay thì ta dùng câu lệnh

Code:
Sw(config-if)#switchport mode access[/CODE[/INDENT]
[LIST]
[*]tác dụng trên 1 port
[/LIST]
[INDENT][CODE]Sw(config-if)#spanning-tree portfast
  • Khi muốn tác dụng lên nhiều port
Code:
Sw(config)#spanning-tree port fast default
  • Lưu ý: nó chỉ có tác dụng trên port mà ở mode Access và ko có tác dụng với các port ở mode khác(trunk,auto…)
- Để xem Spanning tree

Sw#show spanning-tree [vlan n]
- Khuyến cáo: Chỉ nên đánh với port nào mà có pc hay user cắm vào thì mới cho nó là port fast, các port mà cắm router … ko được đánh vào

2. Các loại Spanning tree
- IEEE: Traditional spanning tree( Spanning tree tryền thống)
- Khi Sw có chia VLAN -> PVSP
- Cisco đưa ra PVST + ( cũng là PVSP)
- Do quá trình hội tụ chậm nên sau này IEEE phát triển ra: Rapid Spanning Tree( hiện tại đang dùng)

  • thay vì đợi 30s thì đợi 6s
  • Thay vì Root-sw gửi BPDU thì mọi Sw đều đc gửi BPDU để nhanh hơn
- Đối với ISP có rất nhiều VLAN: MSTP

- Ví dụ: có 1000 vlan VLAN thì -> có 1000 cây spanning tree -> sw rất chậm. Lúc này MSTP nó sẽ gom 1 đống VLAN thành 1 cây VLAN. => Lúc này còn khoảng 2-3 cây nhưng mỗi cây chứa khoảng vài trăm VLAN. Khi còn 2,3 cây thì sw nó xử lý nhanh hơn
 
Last edited:
không biết mọi người khi xem bài này như thế nào, nhưng sao mình xem mấy cái hình mô hình nó toàn ghi là upanh.biz không à, đọc k hiểu lắm, chủ thớt sửa lại được k
 
hi a vson89,
không biết mọi người khi xem bài này như thế nào, nhưng sao mình xem mấy cái hình mô hình nó toàn ghi là upanh.biz không à, đọc k hiểu lắm, chủ thớt sửa lại được k

Đã upload hình ảnh lại cho bài viết nhé! Cảm an a.vson89 đã quan tâm đến bài viết nhé
 

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