BẢO VỆ MÔ HÌNH CÂY STP -

BẢO VỆ MÔ HÌNH CÂY STP -

BẢO VỆ MÔ HÌNH CÂY STP -

BẢO VỆ MÔ HÌNH CÂY STP -

BẢO VỆ MÔ HÌNH CÂY STP -
BẢO VỆ MÔ HÌNH CÂY STP -
(028) 35124257 - 0933 427 079

BẢO VỆ MÔ HÌNH CÂY STP

18-04-2022

BẢO VỆ MÔ HÌNH CÂY STP

I.CÁC KHÁI NIỆM

RootGuard

Khi mô hình STP đã hội tụ và tạo thành một mô hình không bị lặp vòng thì các cổng của switch sẽ đóng một số vai trò. Cổng gốc (RP) là cổng của switch có đường đi về switch gốc (RB) thấp nhất. cổng chỉ định (DP) là cổng trên một phân đoạn mạng có đường đi ngắn nhất về RB. Cổng này có nhiệm vụ truyền các BPDUs xuống cho các switch ở nhánh dưới. Cổng bị khóa (BP) là những cổng không phải là RP hay DP. Cổng thay thế (AP) là những cổng ở trạng thái bị khóa, sẽ thay thế RP ngay lập tức nếu RP bị hỏng hóc hay sự cố. AP là khái niệm được dùng khi sử dụng tính năng UplinkFast. Cổng chuyển tiếp là cổng bình thường của switch cho phép thiết bị đầu cuối kết nối vào. Sau khi RB được tạo ra, nó sẽ gửi ra các BPDU xuống cho các switch ở nhánh dưới. Các switch nhánh dưới sẽ luôn luôn theo dõi các BPDUs được gửi ra từ RB nhằm xem xét xem RB có còn hoạt động bình thường nữa không. Nếu BPDU không còn nhận được nữa, các switch ở nhánh dưới sẽ cho rằng switch gốc (RB) đã bị sự cố hoặc đường dẫn đến RB không còn tồn tại nữa. Giải thuật STP được chạy lại và tạo lại một sơ đồ mạng khác.

Vị trí của RB trong mô hình STP rất quan trọng. Nó quyết định đường đi của các switch nhánh dưới lên RB là có tối ưu hay không. Do đặc điểm bầu chọn RB là dựa vào các BPDUs nên khi có một switch mới được thêm vào trong sơ đồ mạng STP thì sơ đồ mạng STP lúc này thay đổi. Các switch cần phải tính toán và bầu chọn lại switch gốc (RB) cũng như đường đi mới đến RB. Trong BPDUs có chứa BridgeID, trong BridgeID lại chứa độ ưu tiên của switch. Switch nào có độ ưu tiên nhỏ nhất sẽ trở thành RB. Tuy nhiên, nếu có một switch lạ đã được cấu hình với độ ưu tiên thấp hơn cả độ ưu tiên của RB hiện tại, switch này gắn vào mạng và sẽ trở thành RB mới.

Tính năng RootGuard ra đời cho phép người quản trị luôn giữ được vị trí switch gốc (RB) theo ý đã chọn mà không sợ bị bất kì một switch lạ nào gắn thêm vào làm thay đổi mô hình STP. Nếu có một switch lạ quảng bá một BPDU tốt hơn vào hệ thống mạng, RootGuard sẽ không cho phép switch lạ này trở thành RB. Nó sẽ đưa cổng nhận BPDU trước đó trở về trạng thái không bền vững. Dữ liệu sẽ không được gửi nhận ở trạng thái này. Khi BPDU tốt hơn không còn nhận được trên cổng này, cổng này sẽ trải qua các trạng thái của STP để đưa về sử dụng bình thường. Ta chỉ cấu hình tính năng RootGuard trên RB hoặc các switch nào mà ta không muốn nhận BPDUs của một switch lạ. Ta không nên cấu hình RootGuard trên swich có tính năng uplinkfast. Vì khi này, các cổng thay thế rơi vào trạng thái không bền vững. Điều này làm cho các cổng dự phòng không thể chuyển sang trạng thái chuyển tiếp. Cấu hình RootGuard trên các giao diện bằng câu lệnh:

Switch(config-if)#spanning-tree guard root

Nếu áp đặt tính năng RootGuard lên cổng thì cho dù Switch mới có BridgeID ưu tiên hơn (về trị số sẽ là thấp hơn) thì vẫn không ảnh hưởng gì đến mạng. Tính năng này rất mạnh, nó cấm hoàn toàn Switch lạ vào mạng không thực hiện được telnet, ping …Khi kiểm tra láng giềng trên Switch mới này, bạn sẽ không thấy được Switch trong mạng.

Switch(config-if)#spanning-tree guard root

RootGuard và BPDUGuard là hai phương pháp nhằm ngăn chặn gói BPDU lạ đi vào mạng. Khi có Switch lạ cắm vào mạng thì Switch này không thể trao đổi với các Switch khác trong mạng nếu như có triển khai tính năng này. Các tính năng này chỉ có tác dụng trên cổng, có nghĩa là bạn phải cấu hình trên từng cổng. Nếu bạn cấu hình trên cổng f0/1 mà lại đi cắm Switch lạ vào cổng f0/2 thì Switch mới này vẫn có thể trao đổi thông tin với mạng một cách bình thường.

BPDU Guard

Vấn đề lớn cần quan tâm là khi có switch lạ nối vào mạng, switch này sẽ truyền gói BPDU của nó vào mạng. Các switch sẽ đồng bộ với nhau về sơ đồ mạng thông qua các gói tin BPDU. BPDU được truyền đến cổng của các Switch khác trong mạng, làm thay đổi quan điểm của những Switch này về mạng mà nó đang hoạt động và điều này có thể dẫn đến vòng lặp có thể xảy ra. Khi BPDU bị mất, cổng cũng thay đổi trạng thái của nó làm ảnh hưởng đến mô hình mạng ban đầu. Cả hai trường hợp vừa nêu ra ở trên đều có thể gây ra trạng thái lặp vòng và điều  làm chúng ta lo lắng đó là mô hình cũ của mạng bị thay đổi. Tính năng BPDUGuard cũng tương tự như RootGuard. Tính năng BPDUGuard được khuyến cáo sử dụng ở cổng có tính năng portfast. Tính năng portfast cho phép cổng của switch có thể vào trạng thái Forwarding ngay lập tức khi link kết nối với cổng đó up lên. Tính năng portfast được sử dụng trên những thiết bị switch ở lớp truy cập khi ta chắc chắn rằng trên cổng đó không thể xảy ra lặp vòng. Ta bật portfast lên không có nghĩa là đã tắt STP trên cổng đó. Nếu có một switch mới bị cắm nhầm vào cổng có tính năng portfast thì loop có thể xảy ra vì portfast cho phép chuyển cổng sang trạng thái forwarding ngay lập tức. Trong khi đó để phát hiện ra vòng lặp thì phải trải qua một khoảng thời gian và các trạng thái khác nhau thì cổng mới đưa vào sử dụng bình thường được. BPDUGuard sẽ cấm không cho switch lạ trao đổi BPDU với mạng. Khi switch nhận được BPDU trên portfast với tính năng BPDUGuard thì cổng sẽ bị đưa vào trạng thái errdisable. Muốn sử dụng lại cổng này thì phải cho phép cổng một cách thủ công hoặc đợi khoảng thời gian errdisable hết hạn.

UDLD

Giao thức phát hiện kết nối một chiều - Unidirectional Link Detection (UDLD) cho phép các thiết bị đang kết nối với nhau bằng cáp quang hoặc cáp đồng có thể quan sát và phát hiện được các vấn đề về trạng thái kết nối vật lý của hệ thống cáp khi có hiện tượng kết nối theo một hướng duy nhất (Unidirectional Link) xảy ra. Khi hiện tượng Unidirectional Link được phát hiện, UDLD sẽ tắt các cổng của switch bị ảnh hưởng, và phát ra cảnh báo cho các người dùng biết được tình trạng hiện tại của cổng này. Hiện tượng Unidirectional link này gây ra nhiều hệ quả khác nhau không có lợi cho môi trường LAN, bao gồm cả việc gây ảnh hưởng đến khả năng chống lặp vòng trong giao thức spanning-tree. UDLD là giao thức hoạt động tại lớp 2 nhưng lại làm việc với các thiết bị lớp một để có thể xác định trạng thái kết nối vật lý của một kết nối nào đó. Tại lớp 1, các phương thức tự động thương lượng (autonegotiation) đảm trách các tín hiệu vật lý và phát hiện lỗi. UDLD thực thi các tác vụ mà các phương thức tự động thương lượng không thể thực thi, ví dụ như phát hiện tình trạng hiện tại của các láng giềng và tắt các cổng kết nối sai. Khi ta bật lên đồng thời "autonegotiation" và UDLD, lớp 1 và 2 sẽ làm việc cùng nhau để ngăn ngừa các hiện tượng kết nối theo một hướng về mặt vật lý và logic.

Hiện tượng Unidirectional Link xảy ra khi có bản thận thiết bị nào đó phát ra các tín hiệu và được tiếp nhận bởi thiết bị láng giềng nhưng bản thân thiết bị này lại không thể tiếp nhận các tín hiệu do thiết bị láng giềng này trả về. Nếu một trong các mạch quang trong một cặp dây bị ngắt , khi mà autonegotiation đã được bật, kết nối không ở trạng thái hoạt động. Nếu cặp dây cáp quang này hoạt động bình thường ở lớp 1, thì giao thức UDLD tại lớp 2 sẽ xác định các cáp quang này có được kết nối đúng hay không và các lưu lượng dữ liệu có đang truyền theo cả hai hướng giữa các láng giềng hay không. Autonegotiation không thể thực thi khả năng này bởi vì negotiation hoạt động ở lớp 1. Switch truyền các gói UDLD tới các switch láng giềng theo chu kỳ thông qua các cổng khi giao thức UDLD đã được bật lên. Các thiết bị ở cả hai đầu kết nối phải hổ trợ giao thức UDLD để giao thức này có thể định nghĩa và ngăn chặn các hiện tượng Unidirectional Link. Mặc định, giao thức UDLD được tắt trên giao diện kết nối bằng cáp đồng để tránh việc gửi các lưu lượng điều khiển không cần thiết.

 

 

Hình 26

 

Switch B có thể nhận được các traffic từ Switch A trên interface kết nối cụ thể. Tuy nhiên Switch A không thể nhận được lưu lượng từ Switch B trên cùng cổng tương tự. UDLD phát hiện ra vấn đề này và tắt cổng này. Các cấu hình mặc định trên Switch Cisco 4500 series:

 

+ ULDL trạng thái toàn cục : mặc định được tắt

+ UDLD trạng thái trên các cổng quang: mặc định được bật

+ UDLD trạng thái trên các cổng cáp đồng : mặc định được tắt

Để Bật giao thức UDLD toàn cục cho tất cả các cổng quang, gõ lệnh sau:

Switch(config)# [no] udld enable

Chú ý: dòng lệnh này chỉ cấu hình các cổng quang để chạy giao thức UDLD.

Bật giao thức UDLD trên cổng cụ thể:

Switch(config-if)# udld enable

Để xem lại cấu hình:

Switch# show udld interface

 

Tắt UDLD trên các cổng không phải là cổng quang(cáp xoắn đôi,…):

Switch(config-if)# no udld enable

Để xem lại cấu hình:

 Switch# show udld interface

Chú ý: trên các cổng quang, dòng lệnh no udld enable sẽ trả lại cấu hình

của các cổng thành udld enable. Tắt UDLD trên các cổng quang:

Switch (config-if)# udld disable

Chú ý: dòng lệnh này không được hổ trợ trên các cổng không phải là giao diện kết nối quang. Resetting các cổng bị tắt bởi UDLD:

Switch# udld reset

 

II.LAB

Yêu cầu:

  1. Cấu hình Root Guard:
    1. Cấu hình BridgeID (BID) của Sw1, Sw2, Sw3, Sw4 theo thứ tự sau: BID1<BID2<BID3<BID4.
    2. Cấu hình STP Root Guard đảm bảo Sw4 không thể là Root Bridge cho dù BID4<BID1.
  2. BPDU Guard:
    1. Trên các port F0/23, F0/24 của Sw3 và Sw4 chỉ dùng để kết nối đến PC.
    2. Nếu người dùng kết nối một Switch khác vào các port này thì port tự động down, cấu hình STP BPDU Guard để đảm bảo điều này.
    3. Khi port đã down, cấu hình để Sw3 và Sw4 tự động phục hồi port  sau 30 giây nếu không còn Switch khác kết nối vào. (dùng lệnh “sw(config)# error disable”)
  3. Loop Guard and BPDU Filtering:
    1. Cấu hình BPDU Filtering để tắt STP trên các port kết nối vào PC.
    2. Nếu tắt STP trên port F0/6 của Sw4 -> port F0/7 từ trạng thái Blocking chuyển sang Listening, Learning và Forwarding -> gây ra loop. Giải thích?
    3. Cấu hình LoopGuard trên Sw4 để tránh trường hợp này.

 

Gợi ý:

1a: Cấu hình Bridge ID (BID) thực chất là cấu hình Bridge Priority, cấu hình Bridge Priority cho 4 SW như sau:

            SW1(config)# spanning-tree vlan 1 priority 4096

            SW2(config)# spanning-tree vlan 1 priority 8192       

            SW3(config)# spanning-tree vlan 1 priority 12288

            ! SW4 priority default là 32768

1b: Để SW4 không trở thành Root Bridge (RB), cấu hình tính năng Root Guard trên F0/7(SW2) và F0/6 (SW3):

            SW2(config)# interface fastEthernet0/7

SW2(config-if)# spanning-tree guard root
            SW3(config)# interface fastEthernet0/6

SW3(config-if)# spanning-tree guard root

2a,b: Cấu hình BPDU Guard trên port F0/23 – 24 của SW3 và SW4:

            SW3(config)# interface range fastEthernet f0/23 – 24

            SW3(config-if)# spanning-tree bpduguard enable

            SW4(config)# interface range fastEthernet f0/23 – 24

            SW4(config-if)# spanning-tree bpduguard enable

2c: Cấu hình error-disable để port tự động khôi phục khỏi trạng thái lỗi:

            SW3(config)# errdisable recovery cause all

            SW3(config)# errdisable recovery interval 30

3a: Để cấu hình BPDU Filtering trên các port đã cấu hình portfast, dùng lệnh sau:

            SW3(config)# spanning-tree portfast bpdufilter default

            SW4(config)# spanning-tree portfast bpdufilter default

3b,c: khi tắt STP (bằng cách cấu hình bpdufilter) trên F0/6(SW4), F0/7(SW4) STP sẽ chuyển từ Non DP -> Root Port (trạng thái là forwarding) gây ra loop. Khi đó cấu hình STP Loop Guard trên SW4 STP sẽ block F0/6(SW4) nên sẽ không gây ra loop:

            SW4(config)# spanning-tree loopguard default            ! lenh nay truoc

            SW4(config)# interface fastEthernet 0/6

            SW4(config-if)# spanning-tree bpdufilter enable         ! lenh nay sau

            ! lưu ý: phải bật tính năng loopguard trước khi bật bpdufilter, nếu làm ngược lại loopguard sẽ không hoạt động.

 

 

Cấu hình đầy đủ:

SW1:

!

configure terminal

!

spanning-tree vlan 1 priority 4096

!

end

 

SW2:

configure terminal

!

spanning-tree vlan 1 priority 8192

!

interface fastEthernet0/7

 spanning-tree guard root

!

end

 

 

SW3:

configure terminal

!

spanning-tree vlan 1 priority 12288

!

interface fastEthernet0/6

 spanning-tree guard root

!

interface range fastEthernet0/23 - 24

 spanning-tree bpduguard enable

!

errdisable recovery cause all

errdisable recovery interval 30

!

spanning-tree portfast bpdufilter default

!

end

 

 

SW4:

configure terminal

!

interface range fastEthernet0/23 - 24

 spanning-tree bpduguard enable

!

errdisable recovery cause all

errdisable recovery interval 30

!

spanning-tree portfast bpdufilter default

 spanning-tree loopbuard default

!

interface fastEthernet0/6

 spanning-tree bpdufilter enable

!

end

 

 

!Kiem tra:

#show spanning-tree

#debug spanning-tree events

#show ip int

 

 

 

 

 


FORM ĐĂNG KÝ MUA HÀNG
Đặt hàng
icon-cart
0