PDA

View Full Version : Hỏi về Spanning tree (STP) trong switch



luuvandat
12-12-2003, 10:20 AM
có phải giao thức Spanning Tree trên tất cả các switch của các hãng khác nhau chúng giống nhau không? mình đọc tài liệu thấy nó trình bày gióng nhau quá?

leminhkhoi
12-12-2003, 10:29 AM
theo mình thấy thì hình như là cisco và 3com không giống nhau. Có một lần mình bị lỗi khi kết nối thiết bị giữa cisco và switch 3com

pttung
12-12-2003, 11:39 AM
Mình đang đọc tài liệu CCNA ICND, nhưng không hiểu về phần hoạt động của STP. Các sư phụ giúp mình hiểu với. Cảm ơn nhiều

luuvandat
13-12-2003, 10:49 AM
hình như là chúng có chung thuật tón STP đấy, nhưng các giao thức riêng cuả các hãng thì khác nhau phải không ? như cisco là ISL, 3com là VLT, và chuẩn là IEEE 802.1q phải không nhỉ !

TageOniR
15-12-2003, 02:07 AM
Hi ,
Mình làm test ở boson có câu hỏi

- The latest Ethernet switch products default to which forwarding mode ?
a/ Fragment Free
b/,c/,d/,e/ không đáng kể
f/ Store and Forward

Boson trả lời là a/ trong khi mình được học là Store and Forward , nó còn đưa ra link để tham khảo http://www.cisco.com/univercd/cc/td/doc/product/fhubs/bmmicg/bmmintr.htm#xtocid392314

Mình vao đó xem thì có câu :
...FragmentFree is the default bridging mode...
Vậy phải hiểu cái này thế nào đây .
Hic , một vần đề đáng lẽ mình nghĩ rất bình thường nhưng thấy câu trả lời trong boson cũng làm mình ngại . Vô lý một vấn đề như thế mà các version từ trước đến nay ( version 5.19 ) đều trả lời sai !

dangquangminh
15-12-2003, 11:51 AM
TageOniR:

Các mục chọn b,c,d,e là gì?

Kiểu store-and-forward chỉ dùng trên các Catalyst 5000. Fragment-free là một lựa chọn cũng khá logic.

thanks

coneyhoang
14-04-2004, 10:59 AM
Chào các anh chị và các bạn,

Cho mình hỏi mình không rõ lắm về cái giao thức nay dùng trong switch để làm gì, chỉ biết sơ là để chống loop thôi nhưng không rõ lắm hoạt động của nó. Có ai có thể giúp mình giải thích rõ hơn về cái này không. có phải giao thức này chỉ dùng trong switch có hỗ trợ 802.1q hay không?

Xin cảm ơn nhiều,

admin
14-04-2004, 04:20 PM
STP là một protocol chạy giữa các switch để ngăn ngừa bridging loop. STP hoạt động dựa trên các frame đặc biệt BPDU để trao đổi và cập nhật thông tin. Có một số câu hỏi để bạn tìm hiểu thêm

1. Có những dạng BPDU nào?
2. Root switch là gì? Quá trình bầu ra root switch như thế nào?
3. Các switch khác sẽ bình bầu các port tương ứng về root như thế nào?
4. Các thông số nào là quan trọng trong quá trình bình bầu này?

kid_of_god_2003
14-04-2004, 07:10 PM
STP là kỹ thuật chống loop hỗ trợ cho một mạng thiết kế có kết nối dự phòng(redundant lịnk) ví dụ đơn giản nhất là bạn có hai con switch nối với nhau bằng 2 sợi cable, để nếu một sợi dây nối bị lỗi thì nó chạy theo sợi thứ hai, như vậy tại một thời điểm chỉ có 1 sợi dây được chạy còn sợi dây kia nghỉ, switch sẽ tính toán để chọn một port trong 4 port được đánh dấu là block.
Đối với mô hình có 3 con swicth nối với nhau từng đôi một, một máy tính khi cắm vào bất kỳ một switch nào cũng có thể có 2 đường để đi đên một con swicth khác, như vậy STP sẽ tính toán để khoá một đường lại (block). thuật thuật toán để tìm ra 1 port trong 6 port bị khoá như sau:
1- Đầu tiên, khi tất cả các SW bị tắt điện và được bật lên, các swicth sẽ gửi cho nhau các BPDU (Bridge PDU) để xác định Root ID, rood ID được tính giá trị ưu tiên của bridge (bridge's priority) thấp nhất và địa chỉ MAC nhỏ nhất, trong 6 port đấy chắc chắn sẽ chọn ra được 1 cái làm Root Bridge ID (root port).
2. Từ root port, SPT sẽ tính toán tất cả đường đi đến 5 port còn lại để xác định đường đi có tổng cost thấp nhất, đường đi có tổng cost cao nhất thì port cuối cùng sẽ bị đánh dấu là block. Giá trị của cost được xác định bằng tốc độ kết nối
nếu tốc độ là 10 MB-> cost =100
nếu tốc độ là 100 MB-> cost =10
nếu tốc độ là 1 GB-> cost =1
nếu tốc độ là 10 GB-> cost =1
3. Các 4 cổng còn lại sẽ được gọi là designated port - được đặt trạng thái forwarding

Theo tôi hiểu, SPT sử dụng chuẩn 802.1d của IEEE, chuẩn này được so sánh với 802.1w của IEEE là RSPT. Còn 802.1q được sử dụng trong kỹ thuật trunking không có liên quan đên spanning tree. tất nhiên chỉ đối với các switch tuân theo chuẩn 802.1d mới sử có khả năng Spanning Tree, và không chỉ có SW của Cisco mới làm được.

Nếu có gì sai, xin được chỉ giáo

vnsystem
15-04-2004, 05:47 PM
nếu tốc độ là 10 MB-> cost =100
nếu tốc độ là 100 MB-> cost =10
nếu tốc độ là 1 GB-> cost =1
nếu tốc độ là 10 GB-> cost =1



Theo mình biết thì bảng cost ở trên là original cost , nó đã được sử dụng trong thời điểm tốc độ mạng giới hạn dưới 1G. Khi mà công nghệ 10G và tiến tới công nghệ 40G, 60G mà IEEE đang nghiên cứu ra đời , rõ ràng, việc định nghĩa các cost này cần được review.
Reviewed cost cỉa IEEE hiện nay:

nếu tốc độ là 10 MB -> cost =100
nếu tốc độ là 100 MB -> cost =19
nếu tốc độ là 1 GB -> cost =4
nếu tốc độ là 10 GB -> cost =2



Thân.

klepski
16-04-2004, 01:29 AM
Hi coneyhoang,

Anh kid_of_god_2003 đã giải thích một số khái niệm trong STP, em nói thêm một số ý kiến.

STP là một giao thức chống loop giữa các switch. Nó có ý nghĩa đặc biệt trong trường hợp có kết nối dự phòng khi kết nối chính bị fail. Để làm được việc này, các switch trao đổi với nhau những frame đặc biệt gọi là BPDU (Bridge Protocol Data Unit).

RSTP (Rapid Spanning Tree Protocol) là một cải tiến của IEEE từ STP, nhằm làm giảm thời gian tính toán và thời gian chờ khi các switch "thương lượng" với nhau.

Hầu hết các switch của Cisco đều hỗ trợ STP. Các switch của các hãng khác có hỗ trợ 802.1q không đồng nghĩa với việc hỗ trợ STP. Vì 802.1q là chuẩn do IEEE đưa ra để chuẩn hóa việc Trunking (việc kết nối) ) giữa các Switch của tất cả các hãng sản xuất. Theo em thì 802.1q có support cho STP chạy riêng giữa các VLAN khác nhau, nên có lẽ switch support cho 802.1q thì có support STP. Cụ thể hơn, anh coneyhoang nên xem qua về các chủ đề về VLAN Trunking để hiểu thêm về chuẩn 802.1q.

To Anh kid_of_god_2003 :
- root port là tất cả các port nằm trên non-root bridge nối đến root bridge.
- designated bridge là switch có cost thấp nhất trong các non-root bridge.
- designated port là port trên designated bridge có cost thấp nhất trên bridge đó.
- trong ví dụ của anh, STP sẽ block tất cả 3 port chứ không phải 1 port như anh nói.

Thân,

cám ơn anh cccp đã sửa sai.

cccp
16-04-2004, 04:33 AM
STP cũng được IEEE tiêu chuẩn hoá thành 802.1d, các bạn đừng lẫn lộn với 802.1q dành cho trunking. Tất nhiên việc trao đổi thông tin của STP phải đi qua các trunk nên trong các kiểu encapsulate của trunking đều sẽ có phần chứa BPDU.
klepski cần kiềm tra lại khái niệm root port,( trên mỗi non root bridge chỉ có 1 root port)
Khái niệm revision number là của VTP (Vlan Trunking Protocol)

Cheers

iceberg
24-04-2004, 07:38 PM
Which of the following describes the use of Spanning Tree Protocol (STP)?

1.resolve routing loops
2.eliminate Split Horizon errors
3.limit collisions
4.resolve switching loops

Mình chọn câu 1 chắc không sai chứ hả? chỉ mình với !!!

it_email
25-04-2004, 12:30 PM
ah ha lộn rồi câu 4 mới đúng ! hihihi cảm ơn nha
To iceberg:
Có chắc ko vậy.Bạn xem lại đi rồi hay hỏi

iceberg
25-04-2004, 12:59 PM
chắc không sai đâu mà , phải ko????

admin
25-04-2004, 07:34 PM
iceberg

Khi học về spanning-tree, khái niệm bridging và switching có giá trị tương đương nhau.

Chúc vui vẻ

dong
22-05-2004, 11:24 AM
hi
cho mình hỏi là có bridge/ switch trong LAN không được làm designated bridge trong bất kì phân đoạn LAN không?
Giải thích giúp mình với.

dangquangminh
22-05-2004, 09:51 PM
hi

Để không làm designated bridge trong một phân đoạn (segment) LAN nào đó, có thể thay đổi giá trị độ ưu tiên priority của port của switch nối vào segment đó. Nhưng nếu yêu cầu của dong là không được làm designated bridge trong *bất kỳ* VLAN nào, giải pháp *có thể* là tắt spanning-tree.

Đây có phải là đáp án mà dong tìm kiếm?

Cám ơn

Hajime
22-05-2004, 11:14 PM
Nếu mình tắt spanning-tree trong LAN thì có thể xảy ra loop thì sao => mạng không ổn định, nếu không nói là " switch thì đèn chớp chớp liên tục còn máy tính thì đứng luôn "....

Xin được chỉ giáo !!!

Cám ơn.

danguyennhi
23-05-2004, 07:37 PM
designated bridge được bầu chọn dựa trêm CUMMULATIVE ROOT PATH COST. Giá trị này chỉ ra cost của đường đi tính từ port đó về switch. Do đó *không thể* dùng cách thay đổi port priority như super mod đã đề xuất.

dong
27-05-2004, 10:30 AM
Hi
xác định designated brigde dựa trên cost no priority.

Mình thiết lập lại cost của nó( nghĩ là vậy),nếu cho nó cost bự một chút thì chắc không ai để nó làm designated brigde. Nhưng mà giả sử có tồn tại brigde như vậy đi thì nó ở trong mạng đâu có công dụng gì đâu há: các port của nó bị blocking hết trừ port gốc của nó -----> không nhận cũng không chuyển frame được.

Anh Minh, nếu mà mình tắt STP của SW, thì chức năng cuả SW đâu còn nữa?
Cho hỏi luôn: brigde’s priority tính toán dựa trên cơ sở nào vậy?
Cost tính toán dựa trên BW. Vậy khi lưu lượng quá tải thì cost có thay đổi?

Thanks.

danguyennhi
27-05-2004, 11:00 PM
hi

nếu để cost lớn thì vẫn có khả năng tồn tại một port nào đó có chung segment với switch này mà port đó có accumulative cost về root-bridge lớn hơn. Điều này có nghĩa là bạn cũng không đảm bảo port sẽ không thành designated bridge trong bất kỳ segment nào.

Cost được tính toán dựa trên băng thông của đường truyền nhưng không phụ thuộc vào tải. Cost của một kết nối không phụ thuộc vào tải của nó.

Hajime
28-05-2004, 10:46 PM
Trong một mạng LAN có sử dụng switch, các switch nối với nhau bằng những đường trunk và tạo thành loop trong mạng thì STP vẫn tác động đến những đường trunk đó phải không ? Theo mình nghĩ thì STP vẫn tác động đến các đường trunk, cũng có root bridge, root port và degsinated port trên các đường trunk đó. Nhưng vì các port trunk thì không thuộc 1 VLAN nào cả.... nên mình còn hơi thắc mắc. Xin các bạn cho biết ý kiến.

Xin cám ơn,

admin
30-05-2004, 08:31 AM
Hajime

Spanning-tree protocol là giao thức chạy giữa các switch nhằm ngăn ngừa bridging-loop. Có thể tạm chia thành 2 dạng spanning-tree trong ngữ cảnh này:

Common Spanning Tree: cả mạng LAN ( với nhiều VLAN) của bạn chỉ chạy 1 phiên bản spanning-tree duy nhất
Multiple Spanning Tree/ PerVlan Spanning Tree: Mạng LAN có thể có nhiều phiên bản spanning-tree. Mỗi phiên bản sẽ chạy trên 1 hoặc nhiều VLAN.

Vậy, tầm vực hoạt động của một spanning tree sẽ là VLAN. Nói cách khác, Spanning tree Protocol ảnh hưởng đến hoạt động của switch trong các VLAN. Trunk là một kết nối mang nhiều VLAN và thuộc về nhiều VLAN nên các kết nối trunk cũng bị ảnh hưởng bởi spanning tree protocols.

Kết nối trunk có thể bị UP/DOWN như là kết quả của SPT.

Hajime
31-05-2004, 04:23 PM
Cám ơn Admin !

buingthai
09-11-2004, 12:06 AM
1. Sự cần thiết của STP trong mạng LAN
Khi thiết kế một hệ thống mạng cho một tổ chức lớn, một trong những vấn đề mà các nhà thiết kế mạng phải quan tâm là phải đảm bảo rằng hệ thống mạng sẽ luôn ở trong trạng thái vận hành tốt. Để làm được điều này, thông thường các nhà thiết kế thường thiết kế thêm các đường kết nối dự phòng giữa các switch. Như vậy, mục đích thì đã rõ nhưng việc thiết kế dư thừa các đường kết nối lại gây ra một vấn đề khác đó là sẽ có các gói tin chạy vòng quanh các switch và làm cho mạng luôn ở trong tình trạng quá tải.
Để giải quyết vấn đề này, STP đã ra đời để ngăn chặn các gói tin bị loop trên mạng. STP giúp cho người thiết kế mạng có thể thiết kế tùy ý các đường kết nối thừa nhưng vẫn đảm bảo là không có hiện tượng các gói tin bị loop trên mạng.
Tuy nhiên, mặt trái của STP là sẽ làm cho quãng đường đi của frame trên mạng trở lên dài hơn so với việc không dùng STP.
[hr:bdce46a852]
2. Hoạt động chung của STP
Ta biết rằng các switch được sử dụng để phân chia một vùng colision thành nhiều vùng colision khác nhau. Khi tạo ra các đường kết nối thừa giữa các switch, từ vùng colision sẽ có nhiều đường đi tới vùng colision khác trên mạng, do vậy giao thức STP đảm bảo rằng sẽ chỉ có một đường dẫn duy nhất tồn tại giữa các vùng colision khác nhau. Để làm được điều này, STP đặt mỗi cổng của switch ở vào trạng thái forwarding hoặc trạng thái blocking. Switch sẽ chỉ nhận và gửi các gói tin qua các cổng forwarding state và sẽ loại bỏ các gói tin trên các cổng blocking state
Tất cả các cổng ở trong trạng thái forwarding được coi là một spanning tree hiện hành. Tập hợp tất cả các cổng ở trạng thái forwarding tạo thành một đường dẫn duy nhất mà trên đó các gói tin được truyền đi qua các vùng colision.
[hr:bdce46a852]

buingthai
10-11-2004, 12:53 AM
3. BPDU
Hạt nhân của giao thức STP là các gói tin BPDU - Bridge Protocol Data Units. Đây là một gói tin đặc biệt mà chỉ có ý nghĩa với các switch chạy giao thức STP. Khi STP hoạt động, các switch sẽ trao đổi thông tin cho nhau qua các gói tin BPDU. Nội dung của các gói tin BPDU sẽ cho switch biết có hay không có vòng loop trên mạng. Theo mặc định, các switch sẽ gửi gói tin BPDU cứ sau 2 giây
Gói tin BPDU chứa rất nhiều thông tin, trong đó có một thông tin rất quan trọng gọi là switch ID (bridge ID). Giá trị này là sự kết hợp của giá trị ưu tiên (priority value) và địa chỉ MAC của switch. Khi các switch gửi BPDU lên trên mạng, nó đặt switch ID của nó vào BPDU và các switch khác sẽ dùng nó để tính toán dựa trên thuật toán STP.
4. Thuật toán STP
Thuật toán chống Loop trong STP được thực hiện lần lượt qua 3 bước
- Bước 1 : lựa chọn một switch/bridge gốc (root switch) trong số các switch trên mạng
- Bước 2 : Lựa chon một root port (là một cổng duy nhất trên mà switch sử dụng để đi tới gốc) trên các switch khác (trừ gốc)
- Bước 3 : Lựa chọn một designated port (là một cổng duy nhất mà một colision domain sử dụng để đi tới gốc - các bạn chú ý phân biệt giữa port root và designated port)
4.1 Lựa chọn một root switch
Chúng ta hãy tưởng tượng việc lựa chọn một trong số các switch lên làm switch gốc giống như một cuộc bầu cử nội bộ. Như trên đã nói, cứ sau 2 giây, switch lại gửi một gói BPDU có chứa switch ID của nó lên trên mạng, các switch khác khi nhận gói BPDU này, sẽ lập tức đọc thông tin về switch ID trong gói tin đó đồng thời tính toán để quyết định xem là switch nào sẽ được làm root switch. Tất nhiên là để làm được người đứng đầu thì anh switch đó phải đáp ứng được một số điều kiện nào đó. Vậy nên điều kiện ở đây chính là :" anh switch nào có giá trị switch ID thấp nhất sẽ được chọn làm root switch".
Ta biết rằng, switch ID được tạo thành từ 2 thành phần là priority value của switch và MAC address của nó. Priority value là một giá trị được mặc định cho mỗi switch khác nhau và ta có thể thay đổi giá trị này. Đối với các sản phẩm switch của cisco thì priority value có giá trị mặc định là 32.768. Vậy nếu tất cả các switch trên mạng đều là của cisco thì sao? Chắc các bạn cũng có thể đoán được là điều kiện thứ 2, MAC address, sẽ được sử dụng để tính toán. Khi đó Switch nào có MAC address thấp nhất sẽ được bầu là root switch.
Tóm lại thuật toán của chúng ta sẽ như thế này:
- Lấy thông tin switch ID trong gói tin BPDU
- Kiểm tra giá trị priority value, priority của switch nào có giá trị thấp nhất sẽ được bầu làm root switch
- Nếu priority có giá trị bằng nhau thì kiểm tra đến địa chỉ MAC của switch, và địa chỉ MAC của switch nào có giá trị thấp nhất sẽ được bầu làm root switch.
Thuật toán tìm root switch trên sẽ luôn luôn thành công, tức là sẽ luôn có một switch trong mạng được bầu làm switch gốc. Các bạn có biết vì sao không?
Có một điều chú ý là tất cả các switch trên mạng luôn cho cùng một kết quả sau khi tính toán.
Tiến trình lựa chọn root switch sẽ xảy ra khi có sự thay đổi về topo mạng hoặc root switch trước đó bị lỗi. Các switch sẽ đặt một khoảng thời gian lớn nhất để nhận các gói tin BPDU từ root switch ( mặc định là 20s). Nếu sau khoảng thời gian này mà các switch không nhận được BPDU từ switch gốc thì nó coi như root switch bị failed và các switch sẽ thực hiện tiến trình lựa chọn lại một root switch mới.

buingthai
10-11-2004, 09:04 AM
4.2. Lựa chọn một root port
Ta biết rằng trong một mạng LAN có các đường link dư thừa, giữa 2 switch có thể xuất hiện trên 2 đường kết nối khác nhau. Vì vậy, sau khi đã tìm ra được một root switch trên mạng, công việc tiếp theo của STP là sẽ phải lựa chọn một port duy nhất trên mỗi switch và dùng nó để đi tới root switch. Tập hợp tất cả các port này sẽ tạo thành một cây với node gốc là root switch. Port này được gọi là root port (cổng gốc)
Tuy nhiên, chắc sẽ có bạn thắc mắc là đối với root switch có cần phải lựa chọn một root port hay không? Câu trả lời ở đây là KHÔNG, vì bản thân switch đó là gốc nên nó không cần một root port để đi tới chính nó, (các port trên switch gốc sẽ được gọi với một tên khác là designated port, mà bạn sẽ được biết sau này)
Thuật toán để lựa chọn một root port được thực hiện như sau:
- Đầu tiên, mỗi port trên switch sẽ được gán một cost, được gọi là port cost, giá trị của các cost này được đặt tùy thuộc vào bandwidth của các cổng trên switch đó. Cùng với sự phát triển của công nghệ, giá trị của các cost này trong tương lai sẽ thay đổi một cách phù hợp. Ở đây, tôi chỉ xin đưa ra bảng tính cost gần đây nhất
Connection Type Cost value
10GB 2
1G 4
100MB 19
10MB 100

nghiaquinhon
06-12-2004, 11:35 AM
Ủa đang hay mả sao mấy Huynh không nói tiếp nua?

Ở đây mấy Anh nói là :
"Tập hợp tất cả các port này sẽ tạo thành một cây với node gốc là root switch. Port này được gọi là root port (cổng gốc) "
vậy cho Em hỏi : khi gửi các Frame đi thì frame nào cũng phải qua gốc tức là phải qua root port hay sao?

cảm ơn !

robedan
06-12-2004, 12:09 PM
Sau khi root bridge đã được bầu chọn xong, các traffic thuộc các nhánh khác nhau của cây sẽ đi qua root. Không nhất là tất cà các traffic.

channhua
23-01-2005, 02:21 PM
trong ******* có 2 câu này

1.stp prevent routing loop
2.stp prevent switching loop

lúc thì nó chọn câu 1 lúc thì chọn 2 bạn cho mình biết chính xác đáp án nào , thx

HuuHoa
23-01-2005, 02:58 PM
STP ngăn ngừa switching loop (bridging loop)

Giải thuật chống loop Spanning tree ( STP)
Để tránh xảy ra hiện tượng loop, các SW sẽ tiến hành bầu chọn ra một SW có nhiệm vụ quản lý, cơ chế này gọi là STP.
Bầu chọn Root Bridge
Việc bầu chọn Root Bridge dựa vào hai yếu tố theo thứ tự sau:
Bridge Priority : nếu Bridge nào có priority thấp nhất sẽ được chọn làm root. Nếu các Bridge có priority bằng nhau, thì tiến hành chọn lựa dựa vào địa chỉ MAC
Địa chỉ MAC: Bridge nào có MAC thấp hơn thì sẽ được chọn làm root. Đây là trường hợp cuối cùng trong việc chọn root vì không có trường hợp các Bridge có địa chỉ MAC giống nhau. Thông số priority có thể được thay đổi:
Switch(config)#spanning-tree vlan vlan-id priority bridge-priority
Thông số priority nằm trong khoảng từ 0 à 65535, và giá trị mặc định là 32768.
Ta cũng có thể lựa chọn root trực tiếp bằng lệnh:
Switch(config)#spanning-tree vlan vlan-id root {primary | secondary}
[diameter diameter]
+ primary : sẽ chọn bridge làm root, khi chọn thông số này nếu priority của Root Bridge nhỏ hơn 24567 thì Bridge này sẽ thiết lập priority của nó nhỏ hơn so với priority của root hiện tại một lượng là 4096, và dĩ nhiên bridge này sẽ là root. Còn nếu priority của Root Bridge lớn hơn 24567, bridge sẽ thiết lập priority của nó là 24567.
+ secondary : lựa chọn bridge làm root thứ hai.
+ diameter: số lượng bridge nối tầng, tối đa là 7.
Bầu chọn Root Port
Root Port : Port thuộc Nonroot Bridge nối về Root Bridge sao cho chi phí nối về là thấp nhất. Root Port được bầu chọn dựa vào thông số Root Path Cost. Path cost được xem như là chi phí của liên kết, tỉ lệ với băng thông của liên kết. Thông số này có thể được cấu hình bằng dòng lệnh.
Switch(config-if)#spanning-tree vlan vlan-id cost cost
Port nào có tổng số path cost về root là thấp nhất sẽ được lựa chọn làm root port.
Bầu chọn Designated Port (DP)
Trong trường hợp có hai hay nhiều bridge nối vào chung một mạng (xem hình ở phần bridge loop) sẽ xảy ra trường hợp loop. Để khắc phục thì các bridge có port nối vào mạng sẽ tiến hành lựa chọn designated port. Port này có vai trò quan trọng vì nó có nhiệm vụ chuyển các gói tin đi trong mạng. Việc chọn lựa dựa vào các thông số theo trình tự:
Dựa vào Root Path Cost : port nào có Root Path Cost thấp nhất sẽ được chọn làm DP. Trong trường hợp Root Path Cost bằng nhau, thì chọn dựa vào Bridge ID
Bridge ID : port thuộc bridge nào có Bridge ID thấp hơn sẽ được chọn làm DP. Nếu thông số này cũng giống nào thì chọn dựa vào địa chỉ MAC
Địa chỉ MAC : port thuộc bridge nào có địa chỉ MAC thấp hơn sẽ được chọn làm DP

(Lê Quảng Hà - http://chuyenviet.com)

admin
30-01-2005, 03:42 PM
Dưới đây khảo sát một tình huống tạo ra Bridging loop

Bridge không có thông tin ban đầu về vùng địa chỉ của các đầu cuối. Nó phải lắng nghe các gói đi vào port của nó từ đó chỉ ra địa chỉ của đầu cuối.

Giả sử máy PC1 gứi thông tin đến PC4. Thứ tự các bước :

Bước 1: Switch (SW) A và SW B nhận được gói ở port 1/1. Địa chỉ MAC của PC1 sẽ được lưu vào bảng địa chỉ cùng với port 1/1. Từ những thông tin này hai SW biết được rằng PC1 nằm ở mạng A.

Bước 2: Địa chỉ PC4 chưa có trong bảng địa chỉ , do đó hai SW sẽ chuyển frame ra port 2/1 vào mạng B

Bước 3: PC4 thuộc mạng B nhận đươc hai frame được gửi đến từ hai SW. SW A nhận được frame do SW B gửi đến, và tương tự SW B cũng nhận được frame do SW A gửi đến.

Bước 4: SW A nhận thấy có gói tin từ PC1 gửi đến PC4. Trong bảng địa chỉ, địa chỉ của PC1 tương ứng với port 1/1 ( mạng A). Tuy nhiên lúc này, địa chỉ của PC1 đang tương ứng với port 2/1 ( mạng B). Như vậy SW sẽ phải cập nhật lại địa chỉ tron bảng địa chỉ, cụ thể là thay đổi địa chỉ PC1 tương ứng với port 2/1. Ở SW B cũng xảy ra quá trình tương tự và xảy ra qúa trình cập nhật lại địa chỉ của PC1 tương ứng với port 2/1

Bước 5: Lúc này cả SW A và SW B đều không học được địa chỉ củ PC4 bởi vì không có frame nào có thông tin về PC4. Do đó frame sẽ được truyền đến tất cả các port nhằm tìm cho được địa chỉ của PC4. Frame ban đầu lại được truyền vào mạng A.

Bước 6: Cả hai SW sẽ học lại địa chỉ của frame và quá trình học địa chỉ cứ thế xảy ra, gói tin được gởi theo một vòng khép kín mà không được chuyển đến đích.

quangteo
11-07-2005, 02:48 PM
mấy anh cho em hỏi SPT về lý thuyết và trên sơ đồ thì em hiểu rồi , nhưng còn trong thực hành gắn cable thì mình phải gắn như thế nào?

Ví dụ : có 20 PC , 2 switch vậy mình phải gắn như thế nào để STP chạy được.

các chỉ giáo giúp

trung tam kn
11-07-2005, 07:19 PM
Để kết nối giữa hai switch thì anh dùng cáp chéo. Mặc định lúc nào spanning tree cũng chạy giữa các switch.

Các PC không liên quan đến SPT trong trường hợp này.

tuan9243
31-10-2005, 06:57 PM
ko phải các switch cứ 2 giây lại gởi BPDU mà chỉ có một mình root bridge gởi thôi.

hth_vn
14-03-2006, 08:38 AM
Mình cũng không hiểu STP nó làm việc như thế nào nữa.

nhd2711
17-05-2006, 11:13 AM
hi ban kid_of_god_2003, bài của bạn hay đấy nhưng vài chỗ chưa rỏ ràng.
theo mình biết:
-one root bridge per network.
-one root port per noonroot bridge.
-one disgnated port per segment.
vậy thi giữa root bridge và root port là khác nhau.
root bridge ID=bridge priority(nhỏ nhất)+bridge MAC add(nhỏ nhất)
root port nằm trên cổng còn lại của switch bị ngăn (block)
thân.

phanminhtho
02-10-2006, 11:49 PM
nếu tốc độ là 10 MB -> cost =100
nếu tốc độ là 100 MB -> cost =19
nếu tốc độ là 1 GB -> cost =4
nếu tốc độ là 10 GB -> cost =2

các giá trị này mình nghĩ là đúng đó

thanhgiang23
14-12-2006, 07:36 AM
STP là giao thức chống loop, nó là IEEE 802.1D. STP sử dụng message giữa các Switch để ổn định network thành một topology logic, loop-free (chống loop). Để làm điều này, STP làm cho một số interface (hay gọi là port khi trao đổi STP) không gởi hoặc nhận traffic – nói khác là port đó đã bị blocking. Các port còn lại, trong tình trạng forwarding, sẽ có một đường loop-free (không bị loop) đến mỗi Ethernet segment trong network.
Do IEEE định nghĩa nên STP sẽ giống nhau về một số điểm (lý thuyết) giữa các hãng khác nhau. Còn về họat động trên thực tế, phải thử mới dám khẳng định có họat động chung được hay không.
Về họat động của STP, có 3 bước chính:
1. Bầu chọn Root Switch.
2. Xác định mỗi Root port trên mỗi Switch.
3. Xác định Designated port trên mỗi segment.
Các bạc có thể tìm hiểu kỹ các bước trong tài liệu môn Switching (CCNP).

admin
14-12-2006, 07:56 AM
Xin bổ xung tí xíu :)
- Quá trình bầu chọn Rooot Bridge (Root switch) được thực hiện dựa trên BridgeID của từng switch. BridgeID gồm hai phần: Priority + MAC Address. Switch nào có BridgeID nhỏ nhất thì switch đó là Root Bridge.
- Trên Root Bridge switch không có Root port mà chỉ có Designated port. Các Root port chỉ xuất hiện trên các Non-Root Bridge.

axoai
05-03-2007, 09:41 AM
Thầy Minh cho em hỏi về STP.STP có anh hưởng đến VLAN không.nếu có thì nó ảnh hưởng như thế nào.có 2 switch.mỗi switch có 3 vlan.Xin thầy giúp em.

dangquangminh
05-03-2007, 08:09 PM
chào axoai

hai switch có cấu hình trunking với nhau không?

axoai
06-03-2007, 07:59 AM
nếu có kết nối đường Trunk và không có đường Trunk thì nó có gì khác nhau không?trường hợp của em thì em không có kết nối đường Trunk. Xin thầy giúp em cả 2 trường hợp trên.

dangquangminh
07-03-2007, 01:28 PM
Hi

Các phần thảo luận dứoi đây sẽ bàn về Per Vlan spanning tree và vấn đề Spanning tree trên các kết nối trunk.

Đầu tiên, mục đích của spanning tree, viết tắt là spt, là giúp ngăn ngừa hiện tượng bridging loop xảy ra trong một hệ thống mạng bao gồm các switch. Việc ngăn ngừa này có thể thực hiện bằng cách nào? spt sẽ ngăn chặn block các cổng của switch sao cho không bao giờ có khả năng một vòng loop xuất hiện. Các kết nối dự phòng (redundant) sẽ bị rơi vào tình trạng block.

Nếu chỉ có 1 phiên bản STP duy nhất được dùng cho một hệ thống mạng bao gồm các switch với các kết nối dự phòng và có nhiều VLAN, sẽ có vài cổng sẽ trong trạng thái blocking, không dùng được mặc dù trong trạng thái ổn định. Kiểu spt này được gọi là common spanning tree (CST).

Tính năng Cisco PVST+ cho phép tạo ra các phiên bản STP cho từng VLAN. Bằng cách hiệu chỉnh cấu hình STP cho từng VLAN, mỗi phiên bản STP có thể dùng các rootswitch khác nhau và có những cổng bị block khác nhau.

Kết quả là, tải (traffic load) có thể được cân bằng trên vài kết nối có sẵn. PVST+ cho phép hoạt động linh hoạt hơn CST. Mỗi vlan sẽ chạy một tiến trình STP riêng biệt và không bị phụ thuộc lẫn nhau. Thêm vào đó, nó còn cung cấp thêm khả năng cân bằng tải.

Khuyết điểm của giao thức này là việc sử dụng nhiều tài nguyên của CPU trong việc quản lí nhiều vlan. PVST sử dụng ISL trunking nên đối với một mạng tồn tại 2 dạng STP là PVST và CST thì sẽ dẫn đến không tương thích về mặt trunking. Do đó BPDUs sẽ không được quảng bá giữa 2 loại STP này.


Cisco tung ra một version khác của STP là PVST+ nhằm giải quyết vấn đề tương thích giữa CST và PVST. PVST+ đảm nhiệm vai trò như là một trình thông dịch giữa PVST và CST. PVST+ có thể giao tiếp với PVST qua kết nối ISL, ngược lại PVST+ có thể giao tiếp với CST qua kết nối dot1q. Tại biên giới của PVST và PVST+ sẽ diễn ra việc ánh xạ STP một-một. Tại biên giới của PVST+ và CST sẽ diễn ra việc ánh xạ giữa một STP của CST và một PVST trong PVST+.

axoai
07-03-2007, 02:08 PM
vậy thầy có bài lab nào hướng dẫn về cái này không ạ?
mong được sự giúp đở của thầy
em xin cảm ơn thầy

dangquangminh
07-03-2007, 02:22 PM
http://www.wimaxpro.org/Hinh_upload/hinh_blog/spt1.JPG

Ví dụ, trong hình trên, các switch ở lớp access sẽ bị block trên các cổng khác nhau của VLAN1 và VLAN2 với các rootswitch khác nhau. Với các rootswitch khác nhau và các giá trị portcost khác nhau, các thiết bị lớp access sẽ gửi lưu lượng của vlan 1 trên một kết nối trunk và vlan 2 trên kết nối trunk còn lại.

Dùng ta dùng trunking 802.1Q, STP không hỗ trợ PVST+ trong giai đoạn ban đầu. Tuy nhiên, Cisco switch hỗ trợ PVST+ trên các kết nối trunk 802.1Q. Vì vậy, với tất cả các switch Cisco, mặc định PVST+ sẽ đươc dùng.

Khi dùng 802.1Q với các switch không phải là Cisco, switch phải hoàn toàn tuân theo chuẩn của IEEE. Vì vậy kết nối trunk chỉ hỗ trợ CST. Nếu dùng chuẩn 802.1Q, chỉ có một phiên bản của STP chạy trên native vlan và sơ đồ STP sẽ được dùng cho tất cả các vlan. Mặc dù dùng chỉ một phiên bản của STP giúp làm giảm phí tổn gửi BPDU, cơ chế này có hạn chế là không hỗ trọ cân bằng tải dùng nhiều phiên bản STP.

axoai
08-03-2007, 08:46 AM
em có bài lab như trên,em muốn làm cân bằng tải(load balancing) giữa các VLAN. vậy em phải cấu hỉnh như thế nào?

dangquangminh
08-03-2007, 10:32 PM
Hi

em cấu hình sao cho sw1 làm root switch của vlan 3 đến 6, còn sw làm root switch của các spanning tree chạy trên các vlan từ 8 đến 10.

dangquangminh
29-04-2007, 08:07 PM
tài liệu về spanning tree bằng tiếng Việt do bạn Võ Hà dịch. Các bạn ccna xem thử.

Chúc vui vẻ.

hieutd
24-11-2007, 12:25 PM
Mình hỏi một chút .Là khi mình có nhiều thiết bị Switch đấu nối thành vòng ring với nhau vào cổng g1g2 của Switch tạo ring,chạy được thời gian bị tính STP sai nên phải hở 1 đầu ring.Vậy bạn có cách nào để khi tính STP mà nó tự ngẳt 1 đầu cổng trên Switc tạo ring không.
Thanks

spktdt
14-12-2007, 11:03 AM
bạn danguyennhi nói sai rồi. Mình có thể tự cấu hình được mà"Port costs can be configured, or you can use the default values"

tranmyphuc
14-12-2007, 05:06 PM
Mình hỏi một chút .Là khi mình có nhiều thiết bị Switch đấu nối thành vòng ring với nhau vào cổng g1g2 của Switch tạo ring,chạy được thời gian bị tính STP sai nên phải hở 1 đầu ring.Vậy bạn có cách nào để khi tính STP mà nó tự ngẳt 1 đầu cổng trên Switc tạo ring không.
Thanks
=> Thường thì đối nối nếu trên 7 Switch thì tiến trình SP sẽ chạy không ổn định

minhcorp
24-10-2008, 10:56 AM
tài liệu về spanning tree bằng tiếng Việt do bạn Võ Hà dịch. Các bạn ccna xem thử.

Chúc vui vẻ.

Hi anh Minh, sao em download cái file về không được nhỉ

thaibinh_ttg
25-06-2009, 12:20 PM
co ai biet cach cau hinh spanning tree chi voi
minh dang can tai lieu cau hinh
thanks

vnpro-test
25-06-2009, 01:10 PM
Spanning tree mặc định bật sẵn, gắn vào là chạy.

dothanhkhanh
10-07-2009, 11:28 PM
Một vấn đề nữa mình muốn hỏi các bạn là khi có nhiều SW kết nối giả sử có 4 SW kết nối như trong hình(file đính kèm), thì số cổng bị Block là bao nhiêu??
Nếu khi ta nối Full-Match là bao nhiêu???.......vv
Đây là một câu trong ******.....
Theo như trả lời trong ******: Giả sử ***-S1 là Root thì sẽ block Port của ***-S3 kết nối tới ***-S1, và block port của ***-S4 kết nối tới ***-S3...
Một câu trả lời nhập nhằng ko có cơ sở....:106:
Mong được các bạn giúp mình rõ hơn về vấn đề này!
Thanks all!

nickan87
11-07-2009, 09:16 AM
Lời giải thích đó không có cơ sở, hình vẽ thậm chí không ghi tên chi tiết gì thì không biết được cổng nào bị block đâu bạn. Nhưng STP để tránh loop, hình vẽ bạn sẽ có 2 cổng bị block(khi đó sẽ hết loop). Nếu full-match sẽ có 3 cổng bị block. Mình nghĩ thế

dothanhkhanh
11-07-2009, 07:09 PM
Lời giải thích đó không có cơ sở, hình vẽ thậm chí không ghi tên chi tiết gì thì không biết được cổng nào bị block đâu bạn. Nhưng STP để tránh loop, hình vẽ bạn sẽ có 2 cổng bị block(khi đó sẽ hết loop). Nếu full-match sẽ có 3 cổng bị block. Mình nghĩ thế

Thanks bạn, ý mình hỏi ở đây là số cổng bị block thôi!!!...nên ko cần chính xác các port, cũng như Brigde ID của từng SW.
Theo như bạn nói nếu như hình trên là 2 cổng(True), full-match sẽ là 3 (True nốt), nhưng mình muốn hỏi là có công thức hay cách nào để tính số port bị block ko?....chẳng hạn như có mối liên hệ nào đấy giữa số cổng tham gia STP và số cổng bị Block ko chẳng hạn?
Mình đang rất phân vân về vấn đề này!
Mong được các bạn chỉ giúp! :)

nickan87
11-07-2009, 11:07 PM
Thanks bạn, ý mình hỏi ở đây là số cổng bị block thôi!!!...nên ko cần chính xác các port, cũng như Brigde ID của từng SW.
Theo như bạn nói nếu như hình trên là 2 cổng(True), full-match sẽ là 3 (True nốt), nhưng mình muốn hỏi là có công thức hay cách nào để tính số port bị block ko?....chẳng hạn như có mối liên hệ nào đấy giữa số cổng tham gia STP và số cổng bị Block ko chẳng hạn?
Mình đang rất phân vân về vấn đề này!
Mong được các bạn chỉ giúp! :)
Mình nghĩ nó phụ thuộc vào topo của bạn và các đường nối của bạn như thế nào, không có quá nhiều switch đến mức phải dùng công thức đâu (max chắc = 7/:)). Số đường bị block bạn nhìn ra bằng cách khi bạn bỏ những đường ấy ra khỏi topo của mình, nó không thể xảy ra hiện tượng loop nữa

hole
05-08-2009, 12:49 AM
cho mình hỏi sender BID = brigde ID = priority-MAC phải hok

luancb
05-08-2009, 01:26 AM
cho mình hỏi sender BID = brigde ID = priority-MAC phải hok

Sender BID là BID của thằng gửi !
Xem đoạn flash về STP :
http://networkexams.googlepages.com/spanning_tree.swf

phucvba
05-09-2009, 11:48 AM
tài liệu về spanning tree bằng tiếng Việt do bạn Võ Hà dịch. Các bạn ccna xem thử.

Chúc vui vẻ.
Anh Minh có thể gửi cho em tài liệu spanning tree trên ko. Em đang tìm hiểu về giao thức này và muốn hiểu tường tận nó. Thank anh nhiều! Mail của em là phucit_bk@yahoo.com.vn

kingcasino
08-09-2009, 08:50 PM
Bạn tham khảo PIc này thử nhé http://vnpro.org/forum/showthread.php?t=12157

dangquangminh
18-09-2009, 01:56 AM
Bài viết về spanning-tree


Một hệ thống mạng hiện thực STP kém có thể dẫn đến rất nhiều công việc cấu hình, khôi phục lỗi trên mạng campus. Bài viết này giải thích cơ chế hoạt động của spanning-tree, chức năng ngăn ngừa loop trong mạng switch.


STP là một trong những chủ đề đậm tính kỹ thuật trong công nghệ LAN switching. Để hiểu về STP thì cũng khó khăn như là hiểu về các cơ chế hoạt động bên dưới của OSPF hay EIGRP (timers, kiểu gói tin, các giải thuật). STP đóng vai trò nền tảng trong hoạt động của mọi hệ thống mạng campus. Nó đóng vai trò then chốt trong thiết kế và triển khai mạng campus.


Spanning-tree là một giao thức lớp 2 sử dụng một giải thuật đặc biệt để tìm ra các vòng lặp trong mạng và tác động của một mạng không bị loop. STP sẽ tạo ra một cấu trúc cây bao gồm các lá và các nhánh trãi rộng trên toàn bộ mạng L2. Trong phần này, thuật ngữ switch và bridge được dùng thay thế lẫn nhau. Ngoài ra, nếu không đề cập đến, kết nốI giữa các switch sẽ được giả sử là kết nối trunk.


Các vòng lặp loop có thể diễn ra trong một hệ thống mạng vì nhiều lý do. Thông thường, loop là kết quả của những cố gắng xây dựng các kết nốI dự phòng. Tuy nhiên, loop cũng có thể dẫn đến từ những lỗi do cấu hình.



Các kết nối vật lý theo kiểu vòng lặp mà không dùng STP có thể gây nhiều vấn đề. Có hai vấn đề cò thể dẫn đến là broadcast loop và hỏng bảng mac-address.

Một frame Ethernet chỉ chứa hai địa chỉ MAC, vùng typefield, một vùng CRC và các thông tin lớp network. Trong khi đó, header của IP có chứa vùng time-to-live (TTL) được gán bởi router nguồn và bị trừ dần mỗi khi qua một router. Bằng cách loại bỏ những gói tin có TTL=0, router sẽ ngăn ngừa các gói tin đã tồn tại quá lâu trong hệ thống mạng. Không giống như IP, Ethernet không có vùng TTL. Vì vậy, sau khi một frame bắt đầu bị lặp, frame sẽ được chuyển bất tận cho đến khi nào một switch bị tắt đi hoặc một kết nối là bị ngắt.


Bridge-ID


Giải thuật spanning-tree được định nghĩa trong IEEE 802.1D. Các thông số được dùng bởi giải thuật bao gồm Bridge-ID sẽ được khảo sát trong phần này.
Giải thuật spanning-tree dựa trên một số thông số để ra quyết định. Thông số bridge-ID là thông số đầu tiên được dùng bởi STP để tìm ra trung tâm của mạng, còn gọi là root-bridge. Thông số bridge-UD là một giá trị 8-bytes bao gồm hai vùng giá trị. Giá trị đầu tiên là giá trị thập phân có độ dài 2-bytes gọi là Bridge-Priority và giá trị tiếp theo là địa chỉ MAC 6 bytes. Bridge Priority được dùng để chỉ ra độ ưu tiên của một bridge trong giải thuật spanning-tree. Các giá trị có thể là từ 0 cho đến 65535. Giá trị mặc định là 32,768.


Giá trị MAC trong BID là một trong những MAC-address của switch. Hai thông số BID không thể nào bằng nhau, bởi vì Catalyst switch được gán những giá trị MAC address khác nhau. Trong các giải thuật của spanning-tree, khi so sánh hai giá trị của switch, giá trị thấp hơn luôn được dùng.



Path cost

Path cost là thông số thứ hai được dùng bởi giải thuật của spanning-tree để xác định đường đi về root. Đặc tả IEEE 802.1D ban đầu định nghĩa cost có giá trị bằng 10 lũy thừa 9 chia cho băng thông của kết nối tính theo Mbps. Ví dụ đường 10M sẽ có cost là 100 (1000/10) và đường 100Mbps sẽ có cost là 10. Tuy nhiên, do công nghệ phát triển, có các công nghệ mới có tốc độ cao hơn cả 1Gbps nên cần định nghĩa lại công thức tính cost.

Cost được lưu như một giá trị số nguyên.



Thông số path cost sẽ đo lường các bridge sẽ gần nhau như thế nào. Path cost là tổng của các chi phí trên đường link giữa hai bridge. Đại lượng này không đo bằng hop count. Hop count cho đường đi A có thể lớn hơn hop-count cho đường đi B, trong khi đó, nếu xét theo cost, đường đi qua path A sẽ nhỏ hơn đường đi qua path B. Thông số path cost được dùng bởi các switch để xác định đường đi tốt nhất về RootBridge. Giá trị thấp nhất của đường đi sẽ là đường đi tốt nhất về root-bridge.



Port-ID

Thông số PortID là thông số thứ ba được dùng bởi spanning-tree để xác định đường đi về root-bridge. Giá trị port-ID là giá trị 2-bytes bao gồm một hai chỉ số. Chỉ số đầu tiên gọi là port Priority, giá trị thứ hai được gọi là port-number. Trên một CatOS, giá trị đầu tiên là 6bits và giá trị thứ hai là 10 bits. Trên IOS-based switch, cả hai giá trị là 8 bits.

Ta không nên nhầm lẫn giữa PortID vớI giá trị Port Number. Giá trị port number chỉ là một phần của PortID. Giá trị PortID càng thấp thì được ưu tiên hơn giá trị portID cao trong các quyết định của STP. Hai giá trị PortID không thể nào bằng nhau, bởi vì PortNumber sẽ chỉ ra switchport trên Catalyst switch. Giá trị port priority là một thông số STP có thể thay đổi được. Tầm giá trị của nó là từ 0 cho đến 255 trên IOS-based switch, giá trị mặc định là 128.

ngo thanh ba
30-05-2010, 01:28 PM
thanks nhiều