View Full Version : Một vài vấn đề về STP ?
SW1 (port 1) -----------------------------(port 1) SW2
(port 2)................................................ .......... (port 2)
|................................................. ............................ |
|................................................. ............................ |
|................................................. ............................ |
(port 2)................................................ .......... (port 2)
SW3 (port 1) ------------------------------ (port 1) SW4
Giả sử có 1 hệ thống gồm 4 switch, nối với nhau thành vòng tròn. (như hình)
Khi enable STP cho hệ thống 4 switch này, giả sử chọn switch 1 là root bridge, vậy các port của SW1 sẽ ở trạng thái forwarding,
port 1 (của SW2) và port 2 (của SW3) sẽ là root port của Switch đó nên cũng sẽ ở trạng thái forwarding.
Như vậy SW2, SW3 và SW4 sẽ phải send BPDU messages qua lại để xác định designated port. Mình không rõ lắm cách xác định designated port với topology trên, mong các bạn chỉ giúp. Sau khi xác định được rồi thì port nào sẽ ở trạng thái blocking.
Cho mình hỏi thêm là tất cả các port còn lại (port 3,4 ....) của các Switch này sẽ làm việc ở trạng thái forwarding phải không nếu như tất cả các port đó đều đang được sử dụng ? Nếu port 3,4 .... không dùng nữa thì sau bao lâu nó sẽ chuyển sang trạng thái blocking ?
Tầm ảnh hưởng (scope) của STP là chỉ trong 1 hệ thống switch (từ 3 switch trở lên, vì nếu 2 switch trở xuống thì STP không có ý nghĩa) nối với nhau thành vòng tròn thôi phải không ? ví dụ mình có 6 switch nối với nhau thành hình như số 8 thì STP quản lý thành 2 vùng độc lập phải không ?
Mong các bạn chỉ giúp vì mình đọc sách phần này nhưng chưa rõ lắm.
netdevice
17-09-2003, 08:31 AM
Chào bạn,
STP là giao thức dùng để tránh loop trong một mạng chuyển mạch, nó là một giao thức lớp 2. Các switch sẽ gởi các BPDU cho nhau, dựa vào các thông số trong BPDU, quá trình tránh loop của STP được thực hiện tuần tự như sau:
- Xác định root bridge: switch/bridge có ID thấp nhất
- Xác định root port: port có chi phí đến root bridge thấp nhất
- designated port: mỗi phân đoạn LAN chỉ có một desinagted port
Với quá trình hoạt động như trên, STP sẽ giúp tránh loop mà không quan tâm đến topology mạng là gì, nó không nhận thức được là hình tròn hay hình số 8. Ngay cả trong trường hợp có 1 switch, mặc định STP vẫn hoạt động.
Trong ví dụ của bạn:
Sau khi root bridge đã được xác định là SW1, thì SW1 sẽ gởi các BPDU và các switch khác phải gởi các gói BPDU này cho switch khác khi nhận được. Dựa và các thông số trong BPDU, các switch sẽ lựa chọn root port và designated port theo thứ tự các tiêu chuẩn đánh giá sau:
- chi phí đến root bridge thấp nhất
- BID của người gởi thấp nhất
- Port ID thấp nhất
Bạn có thể đọc kỹ vấn đề này trong các giáo trình CCNP Switching.
Thân.
sinhvienngheo
22-09-2003, 12:04 AM
Kiwi,
Mình xin bổ sung vài chi tiết vào bài trả lời của netdevice:
Hi,
Trong trường hợp hệ thống mạng chỉ có hai switches, STP vẫn hoạt động.
Tất cả các port sẽ start ở chế độ blocking trước. Port sẽ vẫn ở chế độ blocking nếu spanning-tree tìm ra rằng có một đường đi (path) tốt hơn đến root-bridge.
Trong trường hợp của bạn, các port nối về root-bridge là các designated-port. (port 1 sw 2 và port 2 của sw3).
Tất cả các port còn lại của Sw2 và Sw3 sẽ ở trạng thái forwarding.
Câu hỏi của bạn về thời gian chuyển đổi giữa các trạng thái:
Từ blocking sang listening: 20 giây
Từ listening sang learning: 15 giây
Từ learning sang forwarding: 15 giây
bạn có thể gặp phần optimize hoạt động của spanning tree trong các bài lab CCIEs.
Mong được tiếp tục trao đổi về chủ đề này.
Xin hỏi thêm các bạn nếu mình có topology như hình kèm bên dưới đây:
http://www.vnpro.org/forum/download.php?id=131
- Nếu mình chọn Switch 1 làm root bridge thì :
+ fa0/2 của Switch 2 và fa0/4 của Switch 3 sẽ là root port.
Hỏi :
1. Port fa0/1 của SW4 và port fa0/1 của sw5 có phải là root port không ?
2. designated port sẽ là port nào (giả sử thông số về ID của các switch là tuyến tính (tăng dần))
2 . Nếu xảy ra loop giữa switch 3,4,5 hoặc giữa sw 1,2,3 hoặc từ sw1 gửi dữ liệu qua sw4 bị loop thì STP sẽ giải quyết thế nào ?
- Nếu mình chọn sw 3 làm root bridge thì :
+ root port sẽ bao gồm : các port fa0/1 của các sw còn lại.
Hỏi :
1. Designated port ?
2. STP giải quyết loop ra sao khi xảy ra loop ? ví dụ từ sw1 gửi data qua sw4 bị loop ?
Đối với trường hợp mạng có 2 sw, mình nghĩ STP vẫn chạy nhưng không còn ý nghĩa gì nữa.
Mong cac ban chi dan them.
http://www.vnpro.org/forum/download.php?id=131
dangquangminh
06-11-2003, 02:59 AM
Xin chào mọi người,
Đây là một câu hỏi rất hay nhưng lại bị bỏ quên. Thân mời các bạn giúp một tay để giải đáp vấn đề giúp kiwi.
Xin cám ơn,
sinhvienngheo
16-11-2003, 01:20 AM
Xin hỏi thêm các bạn nếu mình có topology như hình kèm bên dưới đây:
<img src="http://www.vnpro.org/forum/download.php?id=131"/>
- Nếu mình chọn Switch 1 làm root bridge thì :
+ fa0/2 của Switch 2 và fa0/4 của Switch 3 sẽ là root port.
Hỏi :
1. Port fa0/1 của SW4 và port fa0/1 của sw5 có phải là root port không ?
2. designated port sẽ là port nào (giả sử thông số về ID của các switch là tuyến tính (tăng dần))
2 . Nếu xảy ra loop giữa switch 3,4,5 hoặc giữa sw 1,2,3 hoặc từ sw1 gửi dữ liệu qua sw4 bị loop thì STP sẽ giải quyết thế nào ?
- Nếu mình chọn sw 3 làm root bridge thì :
+ root port sẽ bao gồm : các port fa0/1 của các sw còn lại.
Hỏi :
1. Designated port ?
2. STP giải quyết loop ra sao khi xảy ra loop ? ví dụ từ sw1 gửi data qua sw4 bị loop ?
Đối với trường hợp mạng có 2 sw, mình nghĩ STP vẫn chạy nhưng không còn ý nghĩa gì nữa.
Mong cac ban chi dan them.
<img src="http://www.vnpro.org/forum/download.php?id=131"/>
Kiwi,
Đối với trường hợp có hai switch, STP vẫn rất cần có để chống loop. Bạn hãy nghĩ ra một tình huống là 2 switch được nối với nhau bằng nhiều đường kết nối. Nếu không có SPT, loop vẫn có khả năng xảy ra.
Trong hình của bạn, nếu bạn chọn switch 3 làm root thì hai port làm DR port sẽ là
1. Một trong hai port f0/2 của switch 1 và switch 2
2. Một trong hai port của f0/2 của switch 4 và switch 5.
Thân mến,
nhaque321
25-03-2004, 11:41 AM
- Nếu mình chọn Switch 1 làm root bridge thì :
+ fa0/2 của Switch 2 và fa0/4 của Switch 3 sẽ là root port.
Hỏi :
1. Port fa0/1 của SW4 và port fa0/1 của sw5 có phải là root port không ?
2. designated port sẽ là port nào (giả sử thông số về ID của các switch là tuyến tính (tăng dần))
3 . Nếu xảy ra loop giữa switch 3,4,5 hoặc giữa sw 1,2,3 hoặc từ sw1 gửi dữ liệu qua sw4 bị loop thì STP sẽ giải quyết thế nào ?
1.Dựa trên giải thuật Spanning Tree, fa0/1 của SW4 và fa0/1 của SW5 sẽ lả root-port.
2. Do giả sử ID của các SW tăng tuyến tính theo số thứ tự của SW nên các designated-port sẽ là các port sau (nhớ lại: Designated-port is a port that sends the best BPDUs on the segment that it is connected)
-------- SW1: f0/1 và f0/2
-------- SW2: f0/1
-------- SW3: f0/2 và f0/3
-------- SW4: f0/2
-------- SW5: không có
3. STP sinh ra để giải quyết loop, do đó khi đã chạy STP, bạn khỏi phải lo chuyện loop.
- Nếu mình chọn sw 3 làm root bridge thì :
+ root port sẽ bao gồm : các port fa0/1 của các sw còn lại.
Hỏi:
1. Designated port ?
2. STP giải quyết loop ra sao khi xảy ra loop ? ví dụ từ sw1 gửi data qua sw4 bị loop ?
- Với giả thiết ID tuyến tính nêu trên, bạn sẽ không thể chọn SW3 làm root-bridge được :wink:
Tuy nhiên, cứ giả sử là SW3 làm root-bridge (giả sử ID của các SW là bất kỳ, nhưng SW3 có ID nhỏ nhất)
1. Không xác định được designed-port vì mình không có đủ thông tin. Nhưng nếu giả sử ID-SW1 > ID-SW2 và ID-SW5 > ID-SW4 thì:
-------- SW1: không có designated-port
-------- SW2: f0/2 là designated-port
-------- SW3: f0/1, f0/2, f0/3, f0/4 là designated-port
-------- SW4: không có designated-port
-------- SW5: f0/2 là designated-port
2. Nếu có loop thì không có STP, nếu có STP thì không còn loop nữa
!
!
!
!
Nhân tiện, mình cũng có một số thắc mắc như sau:
1. Khi một SW mới được turn-on, các port của nó đặt trong trạng thái blocking. Trạng thái blocking không forward frame, port chỉ lắng nghe các frame nó nhận được thôi (ICND nói vậy).
------ Bây giờ giả sử tất cả các SW đều cùng được turn-on, tất cả các port đều được đặt ở blocking state. Vậy thì làm sao các BPDU frame có thể được trao đổi giữa các SW để chạy STP??????????
------ Theo mình, blocking state nói riêng và các state khác nói chung chỉ áp dụng cho các user-frame, không phải các BPDU frame.
2. RSTP sử dụng phương thức cập nhật kiểu triggered-update của Link-State nên cập nhật rất nhanh sự thay đổi Topo mạng. RSTP-switch sẽ tự generate các BPDU-hello 2s một lần.
------- Vậy thì: Có phải trong STP, các non-root SW chỉ tạo ra BPDU khi nó nhận được BPDU từ root-port của nó?
Mong nhận được ý kiến của mọi người.
danguyennhi
27-03-2004, 10:03 PM
Nhân tiện, mình cũng có một số thắc mắc như sau:
1. Khi một SW mới được turn-on, các port của nó đặt trong trạng thái blocking. Trạng thái blocking không forward frame, port chỉ lắng nghe các frame n
ó nhận được thôi (ICND nói vậy).
------ Bây giờ giả sử tất cả các SW đều cùng được turn-on, tất cả các port đều được đặt ở blocking state. Vậy thì làm sao các BPDU frame có thể được trao đổi giữa các SW để chạy STP??????????
------ Theo mình, blocking state nói riêng và các state khác nói chung chỉ áp dụng cho các user-frame, không phải các BPDU frame.
2. RSTP sử dụng phương thức cập nhật kiểu triggered-update của Link-State nên cập nhật rất nhanh sự thay đổi Topo mạng. RSTP-switch sẽ tự generate các BPDU-hello 2s một lần.
------- Vậy thì: Có phải trong STP, các non-root SW chỉ tạo ra BPDU khi nó nhận được BPDU từ root-port của nó?
Mong nhận được ý kiến của mọi người.
khi các switch vừa được bật lên, từng switch sẽ giả sử nó là ROOT. Trạng thái blocking của từng port chỉ là tạm thời. Do giả thiết switch là root, tất cả các port của nó sẽ chuyển sang trạng thái forwarding. Ngoài ra trạng thái blocking là sẽ dành cho cả BPDU frame/user frame.
kimlong
08-10-2004, 04:54 PM
trạng thái blocking sẽ không forward các data frame nhưng vẫn forward/listen các BPDU.
Ý kiến mọi người thế nào?
wish_ccie
10-10-2004, 05:54 PM
Đối với STP :
+Đầu tiên sẽ chọn ra Root Bridge
+Sau đó sẽ chọn ra root port trên từng Switch : việc chọn này dựa trên Root Path Cost
+Tiếp theo sẽ chọn ra Designated Port cho từng segment
Trong STP các Switch sử dụng gói tin BPDU để thông báo, hay cập nhật thông tin về mang. Có hai loại gói tin BPDU:
+BPDU do Root Bridge gửi đi nhằm quản lý về các vai trò của các Switch cũng như vai trò của các port
+TCN BPDU : gói tin này được gửi ở các Switch nhận thấy topology mạng thay đổi
Một điều cần chú ý là mặc dù trạng thái của port là blocking nhung nó vẫn nhận gói tin BPDU để đồng bộ mang. Nếu gói tin BPDU mất thì có thể sẽ dẫn đến sự thay đổi topology mạng và điều nguy hiểm là sẽ thay đổi tất cả cấu hình cũ của mang. Để tránh điều này cisco có các tính năng như:
+ BPDU skew detection
+ Loop guard
+ UDLD
Áp dụng các tính năng này trên các port của Switch sẽ tránh được sự thay đổi không mong muốn về topology mang.
Powered by vBulletin® Version 4.1.9 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.