Tải bản đầy đủ (.doc) (6 trang)

tài liệu chủ đề Backbonefast

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (234.6 KB, 6 trang )

Backbonefast
Trước hết chúng ta hãy nhớ lại format của BPDU và cách thức mà chúng so sánh với
nhau để tạo ra loop-free topology cho mạng switch network
Field Description Number of Bytes
Protocol ID (always 0) 2
Version (always 0) 1
Message Type (Configuration or TCN BPDU) 1
Flags 1
Root Bridge ID 8
Root Path Cost 4
Sender Bridge ID 8
Port ID 2
Message Age (in 256ths of a second) 2
Maximum Age (in 256ths of a second) 2
Hello Time (in 256ths of a second) 2
Forward Delay (in 256ths of a second) 2
Một BPDU được coi là tốt hơn BPDU khác khi:
- Nó có Bridge ID tốt hơn ( BID) ( giá trị thấp hơn sẽ tốt hơn )
- Khi BID bằng nhau thì sẽ so sánh tiếp Root path cost ( lowest)
- Khi BID bằng nhau , Root path cost cũng bằng nhau thì so sánh tiếp Sender ID ( lowest)
- Nếu các giá trị trên đều bằng nhau thi so sánh tiêp Port ID ( lowest).
Ta sẽ xem xét tiếp STP sẽ xử lí như thế nào đối với Indirect Link Failure:


Ba Switch R , B , S đang kết nối full-meshed với nhau . Giả sử STP đã converged và R
đang là Root Bridge , S đang block port P . Tiến trình ứng phó của STP đối với indirect
link failure sẽ xảy ra như sau :
1 . Nếu Link L1 down , B sẽ nhận thấy kết nối trực tiếp của mình vừa bị down và lập tức
tự nhận mình là root . Nó gửi BPDU cho S thơng báo rằng nó là newroot .
2 . Khi S nhận được BPDU mới này , nó nhận thấy đây là một inferior BPDU , kém chất
lượng hơn BPDU nó đang lưu trên port P nên S sẽ ignore BPDU này .


3 . Sau khi khoảng thời gian Max_age đã hết hạn , S sẽ age_out thông tin BPDU chứa
trong port P . Port P lúc này sẽ chuyển sang trạng thái Listening và gửi 1 BPDU tốt hơn
cho B .
4 . Khi B nhận được BPDU mới tốt hơn , nó sẽ khơng gửi ra BPDU của nó nữa .
5 . Port P chuyển từ trạng thái Listening + Learning mất 30s , cộng thêm khoảng thời gian
Max_age là 20s nữa , như vậy phải mất 50s thì mạng mới hoạt động lại bình thường được
.
Tính năng Backbone Fast cho phép chúng ta tiết kiệm được khoảng thời gian Max_age
20s bằng cách age_out thông tin BPDU trên một port ngay lập tức nếu port đó nhận được
một inferior BPDU .
Khi một switch gửi đi một inferior BPDU , nghĩa là bridge này đã :
- Mất kết nối đến Root và bắt đầu gửi một inferior BPDU .
- Path cost dẫn đến Root tăng lên .


Chú ý trường hợp ngoại lệ sau đây đối với Indirect Link Failure

Link Failure xảy ra giữa R và Hub , B sẽ không phát hiện được kết nối down ngay lập tức
mà phải đợi cho đến khi Max_age hết hạn mới phát hiện được .
Backbone Fast sẽ xử lí như thế nào đối với trường hợp Indirect link failure ? Khi nhận
được một inferior BPDU, thay vì switch phải thụ động đợi cho Max_age hết hạn , switch
sẽ chủ động “ping” root bằng Root Link Query PDU. Nó cho phép switch nhanh chóng
xác định được BPDU nó lưu trên non-designated port là còn giá trị hay là phải discard đi.

Khi nhận được một inferior BPDU từ designated bridge , Switch sẽ gửi RLQ Request
trên tất cả các non-designated port ( block port và root port ), ngoại trừ port mà nó nhận
vào và port thuộc loại seft-loop. (seft-loop port là port có kết nối với một port khác trên
cùng một switch và tạo thành loop). Khi nhận được RLQ response , nếu được trả lời là



“negative” , tức là port này đã mất kết nối đến Root và Switch ngay lập tức Age_out
thông tin BPDU lưu trên port này. Thêm vào đó, nếu như switch nhận được RLQ
response đều là “ negative” nghĩa là Switch đã mất Root và bắt đầu tính tốn lại STP từ
đầu.
Nếu nhận được RLQ response là “ok” thì Switch ngay lập tức Age_out Port nhận được
inferior BPDU ban đầu ngay. Ví dụ : các port A , B , D , E là các non-desinagted port của
Switch S , A là root port , B , D , E là block port . Khi port E nhận được Inferior BPDU
thì backbone fast sẽ kích hoạt và làm giảm thời gian converge xuống .

Switch S gửi RLQ request trên tất cả các non-designated port ( ngoại trừ port E là port
nhận inferior BPDU ) .


RLQ reply sẽ chỉ ra rằng , có thể đến đựợc bằng port này hay không ? Port D nhận được
thông tin “không đến được root” . Switch S sẽ age_out port D và chuyển sang trạng thái
Listening , tuy nhiên lúc này Port E vẫn chưa bị Age_out do Switch S vẫn chưa biết rõ là
mình cịn đến được root nữa hay không. (phải chờ thêm các thông tin reply khác nữa).

Port A và port B nhận được RLQ response chỉ ra rằng vẫn còn kết nối tới R . Thơng tin
BPDU trên port E bây giờ có thể bị age_out ngay .

Port E chuyển sang trạng thái Listening , không phải chờ đến thời gian max_age hết hạn
nữa . Thuật toán STP sẽ quyết định port E hay port D là blocking hay forwarding .
Tóm tắt:


- Nếu inferior BPDU được nhận trên một port đang ở trạng thái Blocking , Switch sẽ dị
tìm đường đi đến root thông qua các non-designated port thông qua root port hay các
blocking port khác .
- Nếu inferior BPDU được nhận trên root port , Switch sẽ tìm đường đi đến root thông

qua các blocking port khác .
- Nếu inferior được nhận trên root port và switch này khơng có port nào là blocking port
cả thì Switch coi như đã mất kết nối tới Root và nó sẽ bắt đầu lại giải thuật STP bằng
cách giả sử mình là root và gửi đi BPDU . Backbone fast trong trường hợp này cho phép
loại bỏ đi khoảng thời gian max-age và lập tức chuyển sang trạng thái Listening .
Chú ý: Rõ ràng Switch phải đợi nhận được tất cả các RLQ reply, trong đó có ít nhất một
RLQ reply đến được root thì Switch mới age-out thơng tin trên port nhận inferior BPDU.
Như vậy để tiết kiệm được thời gian max-age thì switch phải chịu một khoảng thời gian
relay để đợi các RLQ reply.Tuy nhiên, khoảng thời gian Relay này rất thấp , chỉ khoảng
vài giây mà thôi nên vẫn đảm bảo cho vấn đề tiết kiệm max-age timer. Khi enable
backbone fast phải enable trên tất cả các switch, vì tất cả các switch phải process các
RLQ PDU. Tính năng này được áp dụng cho Core layer và trường hợp indirect link
failure .



×