spanning tree

23
ột tống mạnh mẽ bridge thiết kế được chỉ đem lại tính hiệu quả cho định truyền các gói hoặc frame, mà còn phải xem xét làm thế nào để khôi phục hoạt đến của mạng một cách nhanh chóng khi mạng xảy ra lỗi. Trong môi địa lớp 3, các giao thức địa tuyến sử không con đường dự phòng dụng mạng đích để khi con đường chính bị lỗi thì sẽ nhanh chóng tận dụng con đường thứ 2. Định tuyến lớp 3 cho phép động con đường đến đích để giữ nguyên tình trạng địa động của mạng và cũng cho phép cân bằng tải qua nhiều con đường. Trong môi trường lớp 2 (switching hoặc bridging), không sử dụng giao thức định tuyến và cũng không cho phép các con đường dự phòng, thay mạng cung cấp việc truyền dữ liệu giữa các mạng hoặc các port của switch. Giao thức Spanning Tree cung cấp liên kết dự phòng để mạng chuyển mạch lớp 2 có thể khôi phục từ lỗi mà không cần có sự can thiệp kịp thời. STP được định nghĩa trong chuẩn IEEE 802.1D. 3.1.1 Spanning Tree là gì và tại sao phải sử dụng nó? Spanning Tree protocol (STP) là một giao thức ngăn chặn sự lặp vòng, cho phép các bridge truyền thông với nhau để phát hiện vòng lặp vật lý trong mạng. Sau đó giao thức này sẽ định rõ một thuật toán mà bridge có thể tạo ra một topology luận lý chứa loop-free. Nói cách khác STP sẽ tạo một cấu trúc cây của free-loop gồm các lá và các nhánh nối toàn bộ mạng lớp 2. Vòng lặp xảy ra trong mạng với nhiều nguyên nhân. Hầu hết các nguyên nhân thông thường là kết quả của việc cố gắng tính toán để cung cấp khả năng dự phòng, trong trường hợp này, một link hoặc không bị hỏng, các link hoặc switch khác vẫn tiếp tục hoạt động, tuy nhiên các vòng lặp cũng có thể xảy ra do lỗi. Hình 3.1 biểu diễn một mạng switch điển hình và các vòng lặp cố ý được dùng để cung cấp khả năng dự phòng như thế nào. Hai nguyên nhân chính gây ra sự lặp vòng tai hại trong mạng chuyển mạch là do định và sự sai lệch của bảng bridge. Broadcast Loop Broadcast Loop và vòng lặp lớp 2 là một sự kết hợp nguy hiểm. Hình 3.2 biểu diễn broadcast tạo ra vòng lặp phản hồi (feedback loop). Giả sử rằng, không có switch nào chạy STP: switch 1: host A gửi một frame bằng bước chỉ broadcast MAC (FF-FF-FF-

Upload: cusenk4it

Post on 25-Jun-2015

692 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Spanning Tree

ột tống mạnh mẽ bridge thiết kế được chỉ đem lại tính hiệu quả cho định truyền các gói hoặc frame, mà còn phải xem xét làm thế nào để khôi phục hoạt đến của mạng một cách nhanh chóng khi mạng xảy ra lỗi. Trong môi địa lớp 3, các giao thức địa tuyến sử không con đường dự phòng dụng mạng đích để khi con đường chính bị lỗi thì sẽ nhanh chóng tận dụng con đường thứ 2. Định tuyến lớp 3 cho phép động con đường đến đích để giữ nguyên tình trạng địa động của mạng và cũng cho phép cân bằng tải qua nhiều con đường.

Trong môi trường lớp 2 (switching hoặc bridging), không sử dụng giao thức định tuyến và cũng không cho phép các con đường dự phòng, thay vì mạng cung cấp việc truyền dữ liệu giữa các mạng hoặc các port của switch. Giao thức Spanning Tree cung cấp liên kết dự phòng để mạng chuyển mạch lớp 2 có thể khôi phục từ lỗi mà không cần có sự can thiệp kịp thời. STP được định nghĩa trong chuẩn IEEE 802.1D.

3.1.1 Spanning Tree là gì và tại sao phải sử dụng nó?

Spanning Tree protocol (STP) là một giao thức ngăn chặn sự lặp vòng, cho phép các bridge truyền thông với nhau để phát hiện vòng lặp vật lý trong mạng. Sau đó giao thức này sẽ định rõ một thuật toán mà bridge có thể tạo ra một topology luận lý chứa loop-free. Nói cách khác STP sẽ tạo một cấu trúc cây của free-loop gồm các lá và các nhánh nối toàn bộ mạng lớp 2. Vòng lặp xảy ra trong mạng với nhiều nguyên nhân. Hầu hết các nguyên nhân thông thường là kết quả của việc cố gắng tính toán để cung cấp khả năng dự phòng, trong trường hợp này, một link hoặc không bị hỏng, các link hoặc switch khác vẫn tiếp tục hoạt động, tuy nhiên các vòng lặp cũng có thể xảy ra do lỗi. Hình 3.1 biểu diễn một mạng switch điển hình và các vòng lặp cố ý được dùng để cung cấp khả năng dự phòng như thế nào.

Hai nguyên nhân chính gây ra sự lặp vòng tai hại trong mạng chuyển mạch là do định và sự sai lệch của bảng bridge.

Broadcast LoopBroadcast Loop và vòng lặp lớp 2 là một sự kết hợp nguy hiểm. Hình 3.2 biểu diễn broadcast tạo ra vòng lặp phản hồi (feedback loop).

Giả sử rằng, không có switch nào chạy STP:

• switch 1: host A gửi một frame bằng bước chỉ broadcast MAC (FF-FF-FF-FF-FF-FF).• Bước 2: frame đến cả hai Cat-1 và Cat-2 qua port 1/1• Bước 3: Cat-1 sẽ đưa frame qua port 1/2. • Bước 4: frame được truyền đến tất cả các node trên đoạn mạng Ethernet kể cả port 1/2 của Cat-2.• Bước 5: Cat-2 đưa frame này đến port 1/1 của nó.• Bước 6: một lần nữa, frame xuất hiện port 1/1 của Cat-1.• Bước 7: Cat-1 sẽ gửi frame này đến port 1/2 lần hai. Như vậy tạo thành một vòng lặp ở đây.

Chú ý: frame này cũng tràn qua đoạn mạng Ethernet và tạo thành một vòng lặp theo hướng ngược lại, feedback loop xảy ra trong cả hai hướng. Một kết luận quan trọng

Page 2: Spanning Tree

nữa trong hình 3.2 là bridging loop nguy hiểm hơn nhiều so với routing loop. Hình 3.3 mô tả format của một DIXv2 Ethernet frame.

DIXv2 Ethernet Frame chỉ chứa 2 địa chỉ MAC, một trường Type và một CRC. Trong IP header chứa trường time-to-live (TTL) được thiết lập tại host gốc và nó sẽ được giảm bớt mỗi khi qua một router. Gói sẽ bị loại bỏ nếu TTL = 0, định này cho phép các router ngăn chặn các datagram bị “run-away”. Không giống như IP, Ethernet không có trường TTL, vì vậy sau khi một frame bắt đầu bị loop trong mạng thì nó vẫn tiếp tục cho đến khi ai đó ngắt một trong các bridge hoặc ngắt một kiên kết.Trong một mạng phức tạp hơn mạng được mô tả trong hình 3.1, 3.2 thì có thể gây ra feedback loop rất nhanh theo tỉ lệ số mũ. Vì cứ mỗi frame tràn qua nhiều port của switch, thì tổng số frame tăng nhanh rất nhiềuNgoài ra cần phải chú ý đến broadcast storm trên các user của host A và B trong hình 3.2. Broadcast được xử lý bởi CPU trong tất cả các thiết bị trên mạng. Trong trường hợp này, các PC đều cố xử lý broadcast storm. Nếu ta ngắt kết nối một trong số các host từ LAN, thì nó hoạt động trở lại bình thường. Tuy nhiên, ngay khi ta kết nối nó trở lại LAN thì broadcast sẽ sử dụng 100% CPU. Nếu ta không xử lý điều này mà vẫn tiếp tục sử dụng mạng, thì sẽ tạo ra vòng lặp vật lý trong VLAN.

Việc sai lệch bảng bridgeNhiều nhà quản trị switch/bridge đã nhận thức vấn đề cơ bản của broadcast storm, tuy nhiên ta phải biết rằng thậm chí các unicast frame cũng có thể truyền mãi trong mạng mà chứa vòng lặp. Hình 3.4 mô tả điều này.• Bước 1: host A muốn gửi gói unicast đến host B, tuy nhiên host B đã rời khỏi mạng, và đúng với bảng bridge của switch không có địa chỉ của host B. • Bước 2: giả sử rằng cả hai switch đều không chạy STP, thì frame đến port 1/1 trên cả hai switch. • Bước 3: vì host B bị down, nên Cat-1 không có địa chỉ MAC BB-BB-BB-BB-BB-BB trong bảng bridge, và nó tràn frame qua các port. • Bước 4: Cat-2 nhận được frame trên port 1/2 . Có 2 vấn đề xảy ra:o Bước 5: Cat-2 tràn frame vì nó không học địa chỉ MAC BB-BB-BB-BB-BB-BB, điều này tạo ra feedback loop và làm down mạng.o Cat-2 chú ý rằng, nó chỉ nhận một frame trên port 1/2 với địa chỉ MAC là AA-AA-AA-AA-AA-AA. Nó thay đổi địa chỉ MAC của host A trong bảng bridge dẫn đến sai port.

Vì frame bị lặp theo hướng ngược lại, nên ta thấy địa chỉ MAC của host A bị lẫn giữa port 1/1 và 1/2. Điều này không chỉ làm mạng bị tràn với các gói unicast mà còn sửa sai bảng bridge. Như vậy không chỉ có broadcast mới làm hư hại mạng.

3.1.2 Hai khái niệm cơ bản của STP

Việc tính toán Spanning Tree dựa trên hai khái niệm khi tạo ra topology luận lý chứa free-loop đó là: Bridge ID (B-ID) và chi phí đường đi.Bridge ID (B-ID)B-ID là một trường có 8 byte, nó gồm có 2 trường con được miêu tả như hình 3.5 sau:

Page 3: Spanning Tree

Trong đó:• Địa chỉ MAC: có 6 byte gán cho switch. Catalyst 5000 và 6000 sử dụng một trong số các địa chỉ MAC từ vùng 1024 địa chỉ gán cho mỗi giám sát (suprevisor) và backplane. Địa chỉ MAC trong B-ID sử dụng format hexa. Chú ý: một vài Catalyst lấy địa chỉ MAC từ module giám sát (như Catalyst 5000) và lấy địa chỉ khác từ backplane (như Catalyst 5500 và 6000)• Bridge Priority: có 2 byte tạo thành 216 giá trị từ 0 - 65.535. Bridge Priority mặc định là giá trị ở giữa (32.768). Bridge Priority sử dụng format thập phân.Chú ý: ta chỉ tập trung vào phiên bản IEEE của Spanning Tree Protocol. Mặc dù về cơ bản là như nhau nhưng có một vài điểm khác biệt giữa IEEE STP và DEC STP như DEC STP sử dụng 8 bit Bridge Priority. Catalyst lớp 2 như: 4000, 5000, và 6000 chỉ hỗ trợ IEEE STP.

Chi phí đường điBridge sử dụng khái niệm chi phí để đánh giá các bridge khác. 802.1D định nghĩa chi phí là 1000 Mbps bằng cách chia băng thông của link. Ví dụ như một link 10BaseT có chi phí là 100 (1000/10), Fast Ethernet và FDDI sử dụng chi phí là 10 (1000/100). Lược đồ này đáp ứng tốt từ khi Radia Perlman đầu tiên làm việc trong giao thức năm 1983. Tuy nhiên với việc gia tăng của Gigabit Ethernet và OC-48 ATM (2,4Gbps), thì đặt ra một vấn đề là chi phí được lưu trữ là một giá trị nguyên mà không phải là phân số. Ví dụ như kết quả OC-48 ATM trong 1000/2400 Mbps= 41667 bps, một giá trị chi phí không hợp lệ. Một tùy chọn là sử dụng chi phí của 1 cho tất cả các link bằng hoặc lớn hơn 1 Gbps, tuy nhiên điều này ngăn cản STP lựa chọn chính xác “con đường tốt nhất” trong mạng Gigabit.Để giải quyết tình trạng khó xử này, IEEE quyết định sửa đổi chi phí để sử dụng tính co dãn không tuyến tính. Bảng 3.1 cho ta một danh sách giá trị chi phí mới.

Giá trị trong bảng 3.1 được chọn cẩn thận để sơ đồ hoạt động cũ và mới cho tốc độ liên kết nhanh như hiện nay. Một điểm chú ý là giá trị chi phí STP càng thấp càng tốt . 

3.1.3 Các bước ra quyết định của STP

Khi tạo ra topology luận lý chứa loop-free thì Spanning Tree luôn dùng trình tự 4 bước sau:

• Root BID thấp nhất.• Chi phí đường đi đến Root Bridge thấp nhất.• BID của người gửi thấp nhất.• Port ID thấp nhất.

Bridge chuyển thông tin Spanning Tree với nhau, sử dụng frame xác định là đơn vị dữ liệu giao thức bridge (Bridge Protocol Data Unit - BPDU). Một bridge sử dụng trình tự 4 bước này để lưu một bản sao của BPDU tốt nhất trên mỗi port. Khi đánh giá, nó xem tất cả BPDU nhận được trên port cũng như BPDU gửi đi trên port đó. Mỗi BPDU đến đều được kiểm tra trình tự 4 bước này, nếu tốt hơn BPDU hiện tại thì nó được lưu trên port đó và thay thế giá trị cũ.Chú ý: các bridge sẽ gửi BPDU cấu hình cho đến khi nhận nhiều hơn một BPDU tốt.Thêm vào đó, quá trình lưu lại BPDU tốt nhất cũng điều khiển việc gửi các BPDU. Khi một bridge hoạt động lần đầu, thì tất cả các port của nó được gửi BPDU 2s một lần (sử dụng giá trị bộ định thời mặc định). Tuy nhiên, nếu một port lắng nghe một BPDU

Page 4: Spanning Tree

từ một bridge khác tốt hơn BPDU mà nó gửi, thì port cục bộ sẽ ngưng gửi BPDU. Nếu BPDU này từ một lân cận ngưng đến trong một chu kỳ thời gian (20 s là mặc định) thì port cục bộ tiếp tục gửi BPDU lại lần nữa.Chú ý: Có 2 loại BPDU là BPDU cấu hình và BPDU thông báo thay đổi topology (TCN).

3.2 Các kiểu STP

Trong phần 3.1 ta đã tìm hiểu hoạt động của STP làm thế nào để ngăn chăn và khôi phục từ sự thay đổi topolofy mạng một cách kịp thời. Đầu tiên STP được phát triển để hoạt động trong môi trường bridge, về cơ bản hỗ trợ một LAN (hoặc một VLAN). Việc thực thi STP trong môi trường switch đòi hỏi thêm sự thay đổi và cân nhắc để hỗ trợ cho nhiều VLAN. Vì vậy, IEEE và Cisco đã tiếp cận STP khác nhau. Trong phần này ta sẽ xem lại ba kiểu STP truyền thống bắt gặp trong mạng switch và nó liên quan với nhau như thế nào.Chú ý: IEEE bổ sung vào chuẩn STP để cải tiến tính leo thang và hội tụ.

3.2.1 Common Spanning Tree (CSP)

Chuẩn IEEE 802.1Q đã nói rõ về liên kết trunk giữa các switch cho VLAN, và nó cũng nói rõ trường hợp cho tất cả VLAN. Trường hợp này được gọi là Common Spanning Tree – CSP. Tất cả các CST BPDU được truyền trên VLAN như là frame không gán thẻ. Có một STP cho nhiều VLAN làm đơn giản hóa cấu hình switch và giảm bớt tải cho CPU của switch trong khi tính toán STP. Tuy nhiên chỉ có một STP thì cũng có nhiều giới hạn. Các liên kết dự phòng giữa các switch sẽ bị khóa và không có khả năng cân bằng tải, làm cho việc chuyển tiếp trên một liên kết không hỗ trợ cho tất cả VLAN, trong khi các liên kết khác thì bị khóa.

3.2.2 Per-VLAN Spanning Tree (PVSP)

Cisco có một phiên bản riêng của STP cung cấp tính mềm dẻo hơn CST. Per-VLAN Spanning Tree – PVST hoạt động tách rời đối với mỗi VLAN riêng. Điều này cho phép STP trên mỗi VLAN được cấu hình độc lập, cung cấp khả năng hoạt động tốt hơn và điều chỉnh các điều kiện rõ ràng. Nhiều Spanning Tree cũng có khả năng cân bằng tải trên các liên kết dự phòng khi các liên kết này được gán cho cá VLAN khác nhau.

3.2.3 Per-VLAN Spanning Tree Plus (PVSP+)

Cisco đưa ra phiên bản thứ 2 của STP là Per-VLAN Spanning Tree Plus (PVSP+) cho phép các thiết bị hoạt động bên trong với cả PVST và CST. PVST+ hỗ trợ hiệu quả ba nhóm hoạt động STP trong cùng mạng Campus:• Catalyst switch chạy PCST.• Catalyst switch chạy PCST+.• Switch chạy CST trên 802.1Q.Để làm được điều này, PVST+ hoạt động như là bộ chuyển đổi giữa các nhóm CST switch. PVST+ cũng truyền thông trực tiếp với PVST bằng cách sử dụng ISL trunk. Tuy nhiên để truyền thông với CST, PVST+ phải thay đổi các BPDU vì không còn gán thẻ cho frame qua VLAN. Các BPDU từ STP khác (VLAN khác) được truyền qua phần CST của mạng bằng tunnel. PVST+ gửi các BPDU này bằng cách sử dụng địa chỉ multicast duy nhất để các CST switch chuyển tiếp nó đến các lân cận downstream mà cần phiên dịch nó. Như vậy PVST+ và CST có thể làm việc với nhau.pass

Page 5: Spanning Tree

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@STP là giao thức ở lớp 2. Thầy em gọi nó là cái cây bao trùm. Nó có tác dụng giúp cho ta phòng tránh được loop nè, bão broadcast nè và duy trì bảng MAC của SWitch ổn định hơn trong hệ thống dự phòng. Bây giờ có Rapid Spanning Tree Protocol rồi nhanh hơn STP gốc nhiều

khi ta đi làm cho một công ty lớn thì tính sẵn sàng phải luôn luôn 24/24 bởi vậy phải luôn có đường dự phòng thứ 2 (gọi là redanduncy thì phải, không bít viết đúng không) . Nhưng như thế thì sẽ tạo ra sự cố loop trong mạng, nghĩa là gói tin cứ được switching lòng vòng trong mạng, và mạng sẽ bị nghẽn...STP là giao thức để tránh tìng trạng loop nói trên, ta tạm thời block lại 1 đường truyền, chỉ chi truyền 1 đường. Các đường bị block và không bị block vẫn gửi các gói tin BPDU với nhau, khi nào đường mạng chính không nhận được gói BPDU có nghĩa là bị dis, thì đường dự phòng sẽ dc bật lên. Tg để dồng bộ lại là 50s. Nói nôm na là như vậy, cái này phải có mô hình nói trực tiếp mới rõ được.

STP là giao thức lớp 2. Tôi nói ry cho bạn dễ hiểu nhé. Chúng ta có 1 văn phòng có khoảng 30 người nhưng switch chỉ có 24 cổng mà thôi. Như vậy ta cần phải có thêm 1 switch nữa, 2 switch nối với nhau bằng sợi cáp chéo. Để bảm đảm sự an toàn 2 switch luôn luôn được nối với nhau, người ta gắn thêm 1 đường nối bằng cáp chéo nữa. Khi đó sẽ xãy ra 1 vấn đề là loop (Vấn đề loop này bạn do trong bảng CAM của bạn, bạn có thể đọc chi tiết ở các tài liệu CISCO). Và thế giao thức SPT ra đời để trách hiện tượng loop được nói ở trên. Khi 2 swirtch nối với nhau sẽ có 1 đường bị out, 1 cổng trên 1 trong 2 switch bị out dựa trên: 1-Độ ưu tiên (nếu độ ưu tiên bằng nhau) nó sẽ tính tới địa chỉ MAC của 2 switch.

ào bạn mình có biết chút ít nên tham gia cùng bạn.Trước khi hiểu về các khái niệm RootBridge, RootPorts, Designated Port..., mình xin nói qua chút về Spanning-Tree Protocol(STP).

Khi bạn thiết kế mạng LAN yêu cầu Multiple Switch thì bạn luôn luôn phải nghĩ đến việc tạo đường dự phòng (Redundant) để tránh trường hợp lỗi xảy ra tại một node nào đó mà làm hỏng toàn bộ hệ thống mạng của bạn. Tuy nhiên cấu trúc dự phòng này sẽ tạo ra một vòng lặp vật lý gây ra những ảnh hưởng nghiêm trọng tới việc chuyển mạch của Switch Và giao thức STP được tạo ra để giải quyết vấn đề trên.Giao thức STP sử dụng thuật toán Spanning-Tree(Phân nhánh hình cây)để xây dựng cấu trúc mạng ngắn nhất không vòng lặp.Để xây dựng mạng theo phân nhánh hình cây, trước tiên giao thức Spanning-Tree phải trọn một điểm làm gốc gọi là :Bridge gốc (RootBridge), xuất phát từ Bridge gốc này các đường liên kết được xem và tính toán để phân nhánh ra tạo cấu trúc mạng theo dạng hình cây, những đường dư thừa trong cấu trúc hình cây sẽ bị khóa lại (Block)tất cả dữ liệu nhận từ đường liên kết này sẽ bị hủy bỏ.Trên mỗi Switch không phải là gốc chọn một Port làm Port gốc(Root Port) là port có đường kết nối ngắn nhất về gốc. Các Port còn lại được xem xét để làm Port chỉ định (Designated port) những port nào không được chỉ định đều bị khóa lại.

Nói về phần này còn khá nhiều, có điều gì bạn chưa hiểu bạn cứ post lên Wedsite rất vui được chia sẻ cùng bạn.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@1. Tổng quan về IEEE 802.1D:

Một mạng mạnh mẽ được thiết kế không chỉ đem lại tính hiệu quả cho việc truyền các gói hoặc frame, mà còn phải xem xét làm thế nào để khôi phục hoạt động của mạng một cách nhanh chóng khi mạng xảy ra lỗi. Trong môi trường lớp 3, các giao thức định tuyến sử dụng con đường dự phòng đến mạng đích để khi con đường chính bị lỗi thì sẽ nhanh chóng tận dụng con đường thứ 2. Định tuyến lớp 3 cho phép nhiều con đường đến đích để giữ nguyên tình trạng hoạt động của mạng và cũng cho phép cân bằng tải qua nhiều con đường.

Page 6: Spanning Tree

Trong môi trường lớp 2 (switching hoặc bridging), không sử dụng giao thức định tuyến và cũng không cho phép các con đường dự phòng, thay vì bridge cung cấp việc truyền dữ liệu giữa các mạng hoặc các port của switch. Giao thức Spanning Tree cung cấp liên kết dự phòng để mạng chuyển mạch lớp 2 có thể khôi phục từ lỗi mà không cần có sự can thiệp kịp thời. STP được định nghĩa trong chuẩn IEEE 802.1D.

1.1. Spanning Tree là gì và tại sao phải sử dụng nó?

Spanning Tree Protocol (STP) là một giao thức ngăn chặn sự lặp vòng, cho phép các bridge truyền thông với nhau để phát hiện vòng lặp vật lý trong mạng. Sau đó giao thức này sẽ định rõ một thuật toán mà bridge có thể tạo ra một topology luận lý chứa loop-free. Nói cách khác STP sẽ tạo một cấu trúc cây của free-loop gồm các lá và các nhánh nối toàn bộ mạng lớp 2. 

Vòng lặp xảy ra trong mạng với nhiều nguyên nhân. Hầu hết các nguyên nhân thông thường là kết quả của việc cố gắng tính toán để cung cấp khả năng dự phòng, trong trường hợp này, một link hoặc switch bị hỏng, các link hoặc switch khác vẫn tiếp tục hoạt động, tuy nhiên các vòng lặp cũng có thể xảy ra do lỗi. Hình 3.1 biểu diễn một mạng switch điển hình và các vòng lặp cố ý được dùng để cung cấp khả năng dự phòng như thế nào.

[Only registered and activated users can see links]

Hai nguyên nhân chính gây ra sự lặp vòng tai hại trong mạng chuyển mạch là do broadcast và sự sai lệch của bảng bridge.

Broadcast LoopBroadcast Loop và vòng lặp lớp 2 là một sự kết hợp nguy hiểm. Hình 3.2 biểu diễn broadcast tạo ra vòng lặp phản hồi (feedback loop).

[Only registered and activated users can see links]

Giả sử rằng, không có switch nào chạy STP:

• Bước 1: host A gửi một frame bằng địa chỉ broadcast MAC (FF-FF-FF-FF-FF-FF).• Bước 2: frame đến cả hai Cat-1 và Cat-2 qua port 1/1• Bước 3: Cat-1 sẽ đưa frame qua port 1/2. • Bước 4: frame được truyền đến tất cả các node trên đoạn mạng Ethernet kể cả port 1/2 của Cat-2.• Bước 5: Cat-2 đưa frame này đến port 1/1 của nó.• Bước 6: một lần nữa, frame xuất hiện port 1/1 của Cat-1.• Bước 7: Cat-1 sẽ gửi frame này đến port 1/2 lần hai. Như vậy tạo thành một vòng lặp ở đây.Chú ý: frame này cũng tràn qua đoạn mạng Ethernet và tạo thành một vòng lặp theo hướng ngược lại, feedback loop xảy ra trong cả hai hướng. Một kết luận quan trọng nữa trong hình 3.2 là bridging loop nguy hiểm hơn nhiều so với routing loop. Hình 3.3 mô tả format của một DIXv2 Ethernet frame.

[Only registered and activated users can see links]

DIXv2 Ethernet Frame chỉ chứa 2 địa chỉ MAC, một trường Type và một CRC. Trong IP header chứa trường time-to-live (TTL) được thiết lập tại host gốc và nó sẽ được giảm bớt mỗi khi qua một router. Gói sẽ bị loại bỏ nếu TTL = 0, điều này cho phép các router ngăn chặn các datagram bị “run-away”. Không giống như IP, Ethernet không có trường TTL, vì vậy sau khi một frame bắt đầu bị loop trong mạng thì nó vẫn tiếp tục cho đến khi ai đó ngắt một trong các bridge hoặc ngắt một kiên kết.

Trong một mạng phức tạp hơn mạng được mô tả trong hình 3.1, 3.2 thì có thể gây ra feedback loop rất nhanh theo tỉ lệ số mũ. Vì cứ mỗi frame tràn qua nhiều port của switch, thì tổng số frame tăng nhanh rất nhiều.

Ngoài ra cần phải chú ý đến broadcast storm trên các user của host A và B trong hình 3.2. Broadcast được xử lý bởi CPU trong tất cả các thiết bị trên mạng. Trong trường hợp này, các

Page 7: Spanning Tree

PC đều cố xử lý broadcast storm. Nếu ta ngắt kết nối một trong số các host từ LAN, thì nó hoạt động trở lại bình thường. Tuy nhiên, ngay khi ta kết nối nó trở lại LAN thì broadcast sẽ sử dụng 100% CPU. Nếu ta không xử lý điều này mà vẫn tiếp tục sử dụng mạng, thì sẽ tạo ra vòng lặp vật lý trong VLAN.

Việc sai lệch bảng bridge:Nhiều nhà quản trị switch/bridge đã nhận thức vấn đề cơ bản của broadcast storm, tuy nhiên ta phải biết rằng thậm chí các unicast frame cũng có thể truyền mãi trong mạng mà chứa vòng lặp. Hình 3.4 mô tả điều này.

• Bước 1: host A muốn gửi gói unicast đến host B, tuy nhiên host B đã rời khỏi mạng, và đúng với bảng bridge của switch không có địa chỉ của host B. 

• Bước 2: giả sử rằng cả hai switch đều không chạy STP, thì frame đến port 1/1 trên cả hai switch. 

• Bước 3: vì host B bị down, nên Cat-1 không có địa chỉ MAC BB-BB-BB-BB-BB-BB trong bảng bridge, và nó tràn frame qua các port. 

• Bước 4: Cat-2 nhận được frame trên port 1/2 . Có 2 vấn đề xảy ra.

o Bước 5: Cat-2 tràn frame vì nó không học địa chỉ MAC BB-BB-BB-BB-BB-BB, điều này tạo ra feedback loop và làm down mạng.

o Cat-2 chú ý rằng, nó chỉ nhận một frame trên port 1/2 với địa chỉ MAC là AA-AA-AA-AA-AA-AA. Nó thay đổi địa chỉ MAC của host A trong bảng bridge dẫn đến sai port.

[Only registered and activated users can see links]

Vì frame bị lặp theo hướng ngược lại, nên ta thấy địa chỉ MAC của host A bị lẫn giữa port 1/1 và 1/2. Điều này không chỉ làm mạng bị tràn với các gói unicast mà còn sửa sai bảng bridge. Như vậy không chỉ có broadcast mới làm hư hại mạng.

2. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

1.

2. Spanning Tree ProtocolSPANNING TREE PROTOCOL

Một mạng mạnh mẽ được thiết kế không chỉ đem lại tính hiệu quả cho việc truyền các gói hoặc frame, mà còn phải xem xét làm thế nào để khôi phục hoạt động của mạng một cách nhanh chóng khi mạng xảy ra lỗi. Trong môi trường lớp 3, các giao thức định tuyến sử dụng con đường dự phòng đến mạng đích để khi con đường chính bị lỗi thì sẽ nhanh chóng tận dụng con đường thứ 2. Định tuyến lớp 3 cho phép nhiều con đường đến đích để duy trì tình trạng hoạt động của mạng và cũng cho phép cân bằng tải qua nhiều con đường.Trong môi trường lớp 2 (bridge và switch) không sử dụng dụng bảng định tuyến, nhưng switch và bridge cũng cung cấp cơ chế dự phòng đường đi nếu như segment chính chuyển frame bị lỗi. Để kiểm soát tránh bị lỗi xảy ra trong quá trình chuyển mạch gói tin. Các tổ chức quốc tế định ra cơ chế SPANNING TREE PROTOCOL

1 Giới thiệu về spanning tree protocol và các loại loop trong mạng:

Spanning Tree Protocol (STP) là một giao thức ngăn chặn sự lặp vòng, cho phép các bridge truyền thông với nhau để phát hiện vòng lặp vật lý trong mạng. Sau đó giao thức này sẽ định ra một thuật toán để switch có thể tạo ra một cấu trúc cây ( bao gồm các lá và nhánh nối toàn bộ mạng lớp 2).

Page 8: Spanning Tree

Vòng lặp xảy ra có nhiều nguyên nhân. Hầu hết các nguyên nhân thông thường là kết quả của việc cố gắng tính toán để cung cấp khả năng dự phòng.Có ba loại loop chính xảy ra như sau: Broadcast storm:

Vòng lặp broadcast và vòng lặp lớp 2 là một sự kết hợp nguy hiểm. Hình 1 biểu diễn broadcast tạo ra vòng lặp phản hồi (feedback loop).

Hình 1: không có STP, broadcast tạo Feedback loop

Giả sử rằng chư có giao thức STP, quá trình xảy ra broadcast storm như sau (do khi gặp gói tin broadcast, switch forward gói tin đó đến toàn bộ các cổng của nó):Bước 1: Host A mới cắm vào mạng, Host A gởi một frame bằng địa chỉ broadcast FF:FF:FF:FF:FF:FF nhằm tìm kiếm DHCP server.Bước 2: frame đến cả CAT-1 và CAT-2 qua cổng 1/1Bước 3: CAT-1 đưa frame qua cổng 1/2Bước 4: frame truyền đến tất cả các nút trên đoạn mạng Ethernet kể cả cổng 1/2 của Cat-2.Bước 5: Cat-2 đưa frame này đến cổng 1/1 của nó.Bước 6: một lần nữa, frame xuất hiện cổng 1/1 của Cat-1.Bước 7: Cat-1 sẽ gửi frame này đến cổng 1/2 lần hai. Như vậy tạo thành một vòng lặp ở đây.

Page 9: Spanning Tree

Chú ý : frame cũng tràn vào CAT-2 (từ bước 3) và tạo thành một vòng lặp theo hướng ngược lại. Cấu trúc gói frame lớp 2 :

Hình 2 : định dạng của một DIXv2 Ethernet frameDIXv2 Ethernet Frame chỉ chứa 2 địa chỉ MAC, một trường Type và một CRC. Không giống như gói tin IP, Ethernet DIXv2 không có trường TTL, vì vậy sau khi một frame bắt đầu bị lặp trong mạng thì nó vẫn tiếp tục cho đến khi ai đó ngắt một trong các bridge hoặc ngắt một kiên kết. Multiple frame copies :

Trong hình 1, chúng ta thấy rằng host A chỉ gởi duy nhất frame có một nội dung cho host B, nhưng do quá trình lặp trong mạng, vô tình số frame mà host B nhận được tăng theo cấp số nhân. Mac address instability.

Quá trình forward frame broadcast của switch tao ra rắc rối trong quá trình ổn định bảng MAC của người dùng. Hình 3 miêu tả điều này,

Hình 3: quá trình không ổn định của bảng MACQuá trình này xảy ra như sau:Bước 1: người dùng A có MAC AA:AA:AA:AA:AA:AA gởi một frame broadcast đến người dùng B có source MAC là A và port 1. Bước 2: frame tới switch A, bị forward sang hai port 2 và 3.Bước 3. Switch C nhận được frame tại port 2 thông báo với người dùng B MAC của A

Page 10: Spanning Tree

là AA:AA:AA:AA:AA:AA có port 2.Bước 4: trong lúc đó, frame cũng đi từ port 3 của switch A sang port 1 của switch B, chuyển mạch, ra từ port 2 của switch B, tới port 3 của Switch C.Bước 5: Switch C nhận được frame tại port 3, thông báo với người dùng B MaC của A là AA:AA:AA:AA:AA:AA có port 3.Bước 6: quá trình lặp broadcast storm xảy ra, người dùng B luôn nhận được thông báo mới về port và MAC của người dùng A.Như vậy, người dùng B không có tính ổn định của bảng MAC.

2 Hai khái niệm cơ bản của STP;

Hai khái niệm cơ bản trong viêc tính toán spanning tree khi tao ra vòng lặp logic trong cấu trúc mạng đó là: BID (bridge ID) và cost path. BID:

BID là một trường có 8 byte, nó gồm có 2 trường con được miêu tả như hình 4 sau:

Hình 4: các thành phần cơ bản của BPDUTrong đó:• Địa chỉ MAC: có 6 byte được gán cho switch. Catalyst 5000 và 6000 sử dụng một trong số các địa chỉ MAC từ vùng 1024 địa chỉ gán cho mỗi giám sát viên (supervisor) và bảng nối đa năng (backplane). Địa chỉ MAC trong BID sử dụng định dạng hexa.• Bridge Priority: là độ ưu tiên bridge có 2 byte tạo thành 216 giá trị từ 0 - 65.535. Bridge Priority có giá trị mặc định là giá trị 32.768. Cost Path:

Bridge sử dụng khái niệm chi phí để đánh giá các bridge khác. 802.1D định nghĩa chi phí là 1000 Mbps bằng cách chia băng thông của liên kết. Ví dụ như một liên kết 10BaseT có chi phí là 100 (1000/10), Fast Ethernet và FDDI sử dụng chi phí là 10 (1000/100). Tuy nhiên với việc gia tăng của Gigabit Ethernet và OC-48 ATM (2,4Gbps), thì chi phí được lưu trữ là một giá trị nguyên mà không phải là phân số. Ví dụ như kết quả OC-48 ATM trong 1000/2400 Mbps= 41667 bps, một giá trị chi phí không hợp lệ. Do đó các chi phí lớn hơn hoặc bằng 1 Gbps thì có chi phí là 1, tuy nhiên điều này ngăn cản STP lựa chọn chính xác “con đường tốt nhất” trong mạng Gigabit.Để giải quyết tình trạng khó xử này, IEEE quyết định sửa đổi chi phí để sử dụng tính co dãn không tuyến tính. Bảng 1 cho ta một danh sách giá trị chi phí mới.

Băng thông Chi phí STP4 Mbps 25010 Mbps 10016 Mbps 6245 Mbps 39100 Mbps 19

Page 11: Spanning Tree

155 Mbps 14622 Mbps 61 Gbps 410 Gbps 2Bảng 1: Danh sách chi phí mớiGiá trị trong bảng 1 được chọn cẩn thận để sơ đồ hoạt động cũ và mới có tốc độ liên kết nhanh như hiện nay. Một điểm chú ý là giá trị chi phí STP càng thấp càng tốt. 

3 Các bước ra quyết định trong STP.Để tiến hành chọn ra trong mạng đâu là Switch chính trong mạng. Spanning tree tiến hành thực hiện các bước sau:- Bầu ra switch nào là root bridge (dựa trên thông số BID – thằng nào càng nhỏ thì thằng đó là root bridge.- Bầu ra root port (dựa trên ba thông số: path cost, sender ID và Sender port ID)- Bầu ra designated port (dựa trên hai thông số: path cost và sender ID)- Non designated port (hay còn gọi là block port.Để làm được điều này, bridge trao đổi thông tin spanning tree với nhau sử dụng frame BPDU (Bridge protocol data unit). Frame BPDU có hai loại: BPDU information và BPDU configuration. Frame BPDU chứa thông tin về MAC, Priority, port ID và sender ID. Khi một bridge nhận được frame này, nó kiểm tra các thông tin trong frame và định ra thằng root bridge.Khi một bridge lần đầu tiên hoạt động, nó gởi thông tin BPDU 2giây một lần (mặc định). Sau khi tính toán và đã chọn ra vai trò từng thằng trong mạng, bridge không gởi BPDU nữa mà chuyển qua lắng nghe BPDU từ brigde khác. Tuy nhiên, nếu brigde không nhận được BPDU từ thằng lân cận trong khoảng thời gian mặc định (20 giây) thì nó trở lại gởi BPDU.

Hình 5: các thành phần cơ bản của BPDU

Phần tiếp theo sẽ đi sâu vào việc bầu chọn ra các thành phần trong spanning tree3.1. bầu chọn root brigde.Khi một mạng khởi động lần đầu, tất cả các bridge thông báo BPDU một cách lộn xộn. Tuy nhiên, sau khi tính toán các tham số trong frame BPDU, các bridge chọn ra được thằng root bridge, thằng này sẽ là “trung tâm của vạn vật” đối với mạng. các bridge còn lại dựa vào nó mà xác định root port, designated port và non-designated port.

Page 12: Spanning Tree

Kết quả là bridge gốc giống như một hub với các đường đi loop-free ra bên ngoài. Khi mạng có trạng thái ổn định, thì bridge gốc sẽ gửi các BPDU đến mỗi đoạn mạng.

Hình 6: mô hình mạng sử dụng STP.Mạng này gồm có ba bridge kết nối thành một vòng lặp. Mỗi cầu nối được gán một địa chỉ MAC không có thật tương ứng với tên thiết bị (ví dụ như Cat-A sử dụng địa chỉ MAC là AA-AA-AA-AA-AA-AA).Như đã nói đến ở phần trên BID là một định danh 8 byte được chia thành 2 trường con là Bridge Priority và địa chỉ MAC từ người giám sát (supervisor) hoặc backplane. Trở lại hình 6, ta thấy Cat-A có BID mặc định là 32.768 và địa chỉ MAC là AA-AA-AA-AA-AA-AA. Cat-B là (32.768, BB-BB-BB-BB-BB-BB) và Cat-C là (32.768, CC-CC-CC-CC-CC-CC). Vì cả ba bridge đều sử dụng Bridge Priority là 32.678 nên địa chỉ MAC thấp nhất là AA-AA-AA-AA-AA-AA và Cat-A trở thành Bridge gốc. Hình 7 mô tả quá trình này.

Hình 7: bầu chọn bridge gốc

Chú ý:- Mặc định priority của bridge là 32768- Cách tính MAC của brigde nào nhỏ hơn giống các tính tiền (ví dụ: 1999 sẽ nhỏ hơn 2000 – so từ trái qua phải, số có cùng vị trí nhỏ hơn sẽ có giá trị nhỏ hơn cho dù các số đằng sau của nó lớn hơn)Giả sử rằng, Cat-B khởi động đầu tiên và bắt đầu gửi các BPDU thông báo chính nó là Bridge gốc 2s một lần. Một vài phút sau Cat-C khởi động và thông báo chính nó là Bridge gốc. Khi BPDU của Cat-C đến Cat-B, Cat-B sẽ loại bỏ BPDU vì nó có B-ID thấp hơn được lưu trên các cổng của nó. Ngay lập tức Cat-B truyền BPDU, Cat-C biết được là giả định ban đầu của nó là sai. Tại thời điểm đó, Cat-C bắt đầu gửi BPDU với Root BID là B và Sender BID là C. Bây giờ mạng chấp nhận B là Bridge gốc.5 phút sau đó, Cat-A khởi động, nó giả sử rằng nó là bridge gốc và bắt đầu quảng bá

Page 13: Spanning Tree

điều này trong BPDU. Ngay lập tức các BPDU đến Cat-B và C, các switch này sẽ nhường bridge gốc lại cho Cat-A. Bây giờ tất cả 3 switch đều gửi các BPDU thông báo Cat-A là bridge gốc và chính nó là Sender BID.

View more latest threads same category: bài lab về ripv2 Giới thiệu về router Lab eigrp đề thi CCNA Recovery password cho Router Spanning Tree Protocol Nguyên lý hoạt động của Switch Layer 2 ? xin hướng dẫn kết nối giữa GNS3 và vmware Hướng dẫn cấu hình giả lập SW trên GNS3 giúp phần physical interface into...

Last edited by aladinviet; 05-08-2010 at 01:16 PM.Reply With Quote  

2. The Following User Says Thank You to aladinviet For This Useful Post:anh5 (05-08-2010)

3. 05-08-2010 01:15 PM#2

aladinviet 

Junior Member

Join Date

Jul 2010

Posts

16

Thanks

2Thanked 12 Times in 6 Posts

Spanning Tree Protocol (tt)3.2. bầu chọn root port.

Sau khi xác định được root bridge, thì các switch sẽ chuyển qua chọn root port. Root port là một port trên bridge cục bộ. Mỗi brigde (trừ bridge gốc) phải lựa chọn một root port. Bridge dựa vào ba tham số: path cost, sender ID và sender portID để xác định root portNguyên tắc tính path cost: gói tin ra từ bride không cộng, gói tin vào bridge cộng (tham số cộng như đã nói trong bảng 1).

Page 14: Spanning Tree

Hình 9: chọn root port

Quá trình chọn root port diễn ra như sau• (1): khi Cat-A (bridge gốc) gửi các BPDU, thì nó chứa path cost gốc là 0.• (2): khi B nhận các BPDU này, nó thêm vào path cost của cổng 1/1 path cost gốc chứa trong BPDU nhận. Giả sử rằng mạng đang chạy switch Catalyst 5000 có mã lớn hơn phiên bản 2.4 và ba liên kết trong hình 9 đều là Fast Ethernet. Cat-B nhận path cost gốc là 0 và thêm vào path cost của cổng 1/1 là 19.• (3): sau đó Cat-B sử dụng giá trị 19 và gửi BPDU với path cost gốc là 19 ra cổng 1/2. • (4): khi Cat-C nhận BPDU này từ B, thì nó tăng path cost gốc thành 38 (19+19). • (5): tuy nhiên Cat-C cũng nhận BPDU từ root bridge trên cổng 1/1. Cat-C sẽ thêm vào cổng 1/1 với path cost là 0, và ngay lập tức nó tăng path cost lên 19.• (6): Cat-C thấy path cost gốc là 19 trên cổng 1/1 và 38 trên cổng 1/2, nó quyết định cổng 1/1 là root port (chọn giá trị nhỏ nhất).• (7): sau đó Cat-C bắt đầu quảng bá path cost gốc với giá trị 19 đến các switch xuôi dòng.Trong trường hợp mô hình mạng thế này:

Page 15: Spanning Tree

Giả sử rằng bridge A và B đều giống nhau (priority: 32768, có hai cổng FastEthernet nối với nhau (100Mb) ) chỉ có MAC khác nhau. Theo quy tắc ở 3.1 thì thằng A là root bridge. Tuy nhiên, nếu áp dụng cách tính root port như đã nêu thì không tính ra.Như vậy, ta cần phải dựa vào hai tham số sau:- Sender BID: BID của thằng đang gởi frame BPDU. Sender BID nào càng nhỏ thì thằng đó làm trùm. Trong trường hợp này, Sender BID đều là của brigde A nên vẫn chưa tìm ra được thằng nào là root port- Sender portID: ID của cổng gởi BPDU của thằng đang gởi frame. Trong trường hợp này, thằng B nhận hai frame BPDU đi ra hai cổng 1/1 và 1/2 của bridge A, rõ ràng, cổng gởi 1/1 có sender portID thấp hơn nên thằng B chọn port gắn với nó (1/1) làm root port.3.3 chọn ra designated port và non designated port Designated port là port trên root bridge có chức năng gởi và nhận thông tin chính đến từng segment mạng. designated port nắm giữ toàn bộ lưu lượng trên segment nên vòng lặp bị phá vỡ. Thông thường designated port được chọn một cách đơn giản nhất: đối diện với root port sẽ là designated port.Để tính toán designated port, dựa vào các thông số sau: Path cost và sender BID (thằng nào nhỏ nhất là tốt nhất).

Page 16: Spanning Tree

Hình 10: chọn designated portTất các các port của root bridge không được chỉ định làm designated port được coi là non-designated port.

4. các trạng thái của STP.Sau khi quá trình bầu chọn bridge diễn ra, các thành phần trong mạng đều có chức năng riêng. Root brigde là brigde gởi BPDU 2 giây một lần. designated port và root port thực hiện trao đổi các segment trong mạng, non-designated port thực hiện chức năng backup nên nó sẽ khóa lưu lượng. Việc xảy ra sự cố trong mạng dẫn đến các bridge chuyển trạng thái của các port của nó. Bảng 2 miêu tả các trạng thái cơ bản của STP.

Trạng thái Mục đíchforwading Gửi và nhận dữ liệu người dùnglearning Xây dựng bảng bridgelistening Xây dựng cấu trúc mạng “active”blocking Chỉ nhận các BPDUdisable Các cổng bị downBảng 2: Các trạng thái của STP

Trạng thái “disable” cho phép người quản trị mạng quản lý việc ngừng hoạt động của một cổng. Sau khi khởi tạo, các cổng bắt đầu trong trạng thái “blocking” để lắng nghe các BPDU.Do sự đa dạng của các sự kiện mà bridge truyền trong trạng thái “listening” (ví dụ như một bridge nghĩ nó là root bridge ngay sau khi khởi động). Ở trạng thái này, không có dữ liệu người dùng được truyền qua, tức là cổng đang gửi và nhận các BPDU để cố gắng tạo cấu trúc mạng hoạt động.Các designated port và root port sau 15s (giá trị mặc định) sẽ chuyển qua trạng thái “learning”. Trong khoảng 15s khác, bridge vẫn không chuyển các frame của người dùng qua, mà xây dựng bảng bridge của nó. Khi bridge nhận frame, nó đưa địa chỉ MAC và cổng vào bảng bridge. Trạng thái “learning” sẽ giảm bớt số lượng tràn ngập

Page 17: Spanning Tree

khi việc chuyển tiếp dữ liệu bắt đầu.Nếu một cổng vẫn là designated port hay root port ở khoảng thời gian cuối của trạng thái “learning”, thì cổng chuyển qua trạng thái “forwading”. Ở trạng thái này, nó bắt đầu gửi và nhận các frame của người dùng.Hình 11 mô tả trạng thái các cổng và việc chuyển trạng thái.

Hình 11: trạng thái các cổng và hoạt động chuyển trạng tháiHình 12 biểu diễn mạng với sự phân chia cổng và danh sách các trạng thái. Chú ý là tất cả các cổng đều chuyển tiếp trừ cổng 1/2 của Cat-C.

Page 18: Spanning Tree

Hình 12: sơ đồ mạng với các cổng được định danh

5. STP timer:STP được điều khiển bởi ba bộ đếm thời gian (timer) như trong bảng 3.5.

Timer Mục đích Giá trị mặc địnhHello Timer Khoảng thời gian gửi các BPDU cấu hình gửi bởi Bridge gốc 2sForward Delay Thời hạn ở trạng thái Listening và Learning 15sMax Age Thời gian lưu trữ BPDU 20sBảng 3: STP Timer

Ví dụ: giả sử rằng liên kết đoạn 3 trong hình 12 sử dụng một hub và cổng 1/2 của Cat-B truyền ra ngoài. Cat-C không thông báo lỗi liền vì nó vẫn đang nhận liên kết Ethernet từ hub. Cat-C chỉ thông báo là các BPDU ngừng đến. Sau 20s (Max Age), thì cổng 1/2 của Cat-C lấy thông tin BPDU cũ với cổng 1/2 của Cat-B là designated cho đoạn mạng 3. Điều này làm cho cổng 1/2 của Cat-C truyền trong trạng thái “listening” để cố gắng trở thành designated port. Vì vậy cổng 1/2 của Cat-C cung cấp truy cập tốt nhất từ root bridge đến liên kết này, nên nó chuyển sang trạng thái “forwarding”. Như vậy, Cat-C mất 50s (20s Max Age + 15s Listenning + 15s Forwarding) để vượt qua sau khi cổng 1/2 trên Cat-B bị lỗi.Trong trường hợp này, các bridge có thể phát hiện sự thay đổi cấu trúc mạng trên các liên kết kết nối trực tiếp và ngay lập tức chuyển sang trạng thái “listening” mà không cần chờ thời gian Max Age. Xem ví dụ trong hình 13.

Page 19: Spanning Tree

Hình 13: lỗi xảy ra trên liên kết giữa Root Bridge và Root Port của Cat-C

Trong trường hợp này, cổng 1/1 của Cat-C bị lỗi, vì liên kết trên root port cũng bị lỗi nên ngay lập tức cổng 1/2 của Cat-C chuyển sang trạng thái “learning” để trở thành root port mới thay vì chờ 20s rồi mới lấy thông tin cũ. Điều này làm cho thời gian hội tụ STP giảm từ 50s xuống 30s (15s listening + 14s learning).Chú ý: thời gian hội tụ STP là từ 30s đến 50sHai điểm quan trọng cần nhớ khi sử dụng bộ định thời STP là:• Thứ nhất: không thay đổi giá trị thời gian mặc định khi không có sự cân nhắc cẩn thận.• Thứ hai: ta chỉ được sửa thời gian từ bridge gốc.6. hai loại BPDU:Có hai loại BPDU là:• BPDU cấu hình.• BPDU thông báo thay đổi cấu trúc mạng – TCN BPDU (Topology Change Notification BPDU).BPDU cấu hình được bắt đầu bởi root bridge và phát ra trên các con đường hoạt động từ root bridge, còn TCN BPDU hướng về bridge gốc để cảnh báo với bridge gốc là cấu trúc mạng mạng có sự thay đổi.BPDU cấu hình : các trường trong BPDU cấu hình được tóm tắt trong bảng 4

Trường Chiều dài (octet) Ý nghĩaProtocol ID 2 Luôn bằng 0Version 1 Luôn bằng 0Type 1 Cho biết kiểu BPDUBPDU cấu hình = 0Flag 1 LSB = Cờ thay đổi cấu trúc mạngMSB = Cờ xác nhận thay đổi cấu trúc mạngRoot ID 8 BID của bridge gốc hiện tạiRoot Path Cost (chi phí đường đi gốc) 4 Chi phí tích lũy đến bridge gốcSender BID 8 BID của bridge hiện tạiCổng ID 2 ID của cổng gửi BPDU nàyMessage Age 2 Khoảng thời gian tử khi bridge gốc tạo BPDU đến khi phát BPDU đi.

Page 20: Spanning Tree

Max Age 2 Khoảng thời gian lưu thông tin BPDUHello Time 2 Khoảng thời gian giữa các BPDUForward Delay 2 Thời gian trong trạng thái listening và learningBảng 6 : Các trường trong BPDU cấu hình

TCN BPDU (Topology Change Notification BPDU) : TCN BPDU đơn giản hơn BPDU cấu hình và chỉ gồm có ba trường, giống như ba trường đầu tiên của BPDU cấu hình nhưng trường Type thì thay đổi với giá trị như sau :• 0x00 (0000 0000): BPDU cấu hình.• 0x80 (1000 0000): TCN BPDU.Chú ý : TCN BPDU không mang bất cứ thông tin bổ sung nào.7. các chuẩn chống loop:7.1. traditional STP (802.1D): toàn bộ bài viết ở trên đều nói đến chuẩn 802.1D do IEEE định ra.7.2 rapid STP (802.1W) cũng do IEEE định ra, có một số khác biệt như sauĐịnh ra RSTP bridge port rule khác một chút:• Root port: giống root port trong 802.1D• Designated port: giống designated port trong 802.1D• Alternate port: giống non-designated port trong 802.1D• Back-up port: thêm một đường backup nếu có sự cố xảy ra.• Disable port: port không hoạt động.Định ra bridge timer có khác một chút:• Hello timer: 2s• Forward delay: 15s• Max age: 6sĐiều này làm tổng thời gian từ khi một port bị down đến lúc bầu chọn lại mất cỡ 21s.7.3. Per-Vlan Spanning Tree Protocol:PVST và PVST+ đều do cisco phát minh ra và chạy trên thiết bị của cisco. Thằng này nó cho phép mỗi vlan chạy một root bridge tại nhiều bridge khác nhau. Như vậy, có thể share tải ra mỗi vlan. PVST chạy trên chuẩn ISL trunking, còn PVST+ chạy trên 802.1Q trunking.7.3. R-PVST: Cái này cũng do thằng cisco nghĩ ra dựa trên RSTP .7.4. MSTP:Cái này do IEEE nghĩ ra để chạy trên VLAN của các hãng khác ngoài cisco

3.