Khái niệm cơ bản về Spanning-tree (Phần 1)



Phần I - Tìm hiểu về các tính năng của Spanning-Tree

1. Tổng quan STP

STP là một giao thức quản lý liên kết layer 2, cung cấp một đường dự phòng trong khi vẫn ngăn cản được hiện tượng loop xảy ra trong hệ thống. Khi công nghệ Ethernet hoạt động ở Layer 2 trong mô hình OSI đã được cấu hình đúng, thì duy nhất một đường sẽ được hoạt động giữa hai PC. Trong hệ thống tồn tại nhiều đường cùng hoạt động giữa 2 PC sẽ là nguyên nhân của hiện tượng loop xảy ra. Nếu một loop tồn tại trong hệ thống, thì các thiết bị đầu cuối (PC) sẽ phải nhận nhiều các thông điệp trùng nhau (Cơ chế này gọi là Multi-Frame copy). Switch sẽ phải học thông tin về địa chỉ MAC của các PC trên nhiều port (Cơ chế này gọi là MAC Table Instable). Những hậu quả như vậy sẽ làm cho hệ thống của chúng ta trở nên không ổn định. Spanning-Tree hoạt động trên các switch sẽ có thể giúp hệ thống của chúng ta ngăn được loop và vẫn cho phép hệ thống xây dựng được mô hình có dự phòng.

STP sử dụng thuật toán Spanning-Tree để chọn một switch đóng vai trò làm Root Bridge trong mô hình hệ thống có dự phòng. Thuật toán Spanning-tree sẽ tính toán đường tốt nhất không có loop thông qua hệ thống switch layer2 bằng cách gán vai trò cho mỗi port hoạt động trong mô hình hệ thống đó, và mỗi port sẽ có một vai trò trong số những vai trò dưới đây:

  • Root: là một port có khả truyền dữ liệu trong mô hình spanning-Tree.
  • Designated: một port có khả năng truyền dữ liệu được chọn cho tất cả các switch trong segment LAN.
  • Alternate: là một port sẽ bị blocked và port sẽ là port được dùng trong trường hợp dự phòng.
  • Backup: là một port blocked trong cấu hình loopback.
  • Switch có tất cả các port của nó đóng vai trò là designated hoặc đóng vai trò là backup thì swtich là root swtich. Switch có ít nhất một port của nó đóng vai trò là designated thì switch đó gọi là designated switch.

Spanning tree sẽ đưa đường dùng cho việc dự phòng trở về trạng thái standby (blocked). Nếu một hệ thống đang dùng spanning-tree bị lỗi xẩy ra và đường dự phòng vẫn có, thì thuật toán spanning-tree sẽ thực hiện việc tính toán lại mô hình spanning-tree và đưa đường dự phòng nên hoạt động. Các switch sẽ gửi và nhân các frame spanning-tree, những frame đó được gọi là Bridge Protocol Data Units (BPDUs). Có rất nhiều switch không thực hiện việc truyền những frame BPDUs nhưng những switch đó vẫn sử dụng để xây dựng đường không loop (loop-free). BPDUs chứa những thông tin về swtich gửi và các port của switch đó, bao gồm MAC address, switch priority, port priority, và cost path. Thuật toán Spanning-Tree sẽ sử dụng những thông tin đó để bầu chọn root swtich và root port cho hệ thống switch và các root port và designated port cho mỗi một phân đoạn mạng chuyển mạch (Colision domain = segment).

Khi hai port trên một switch là thành phần của một loop, giá trị độ ưu tiên của port spanning-tree và chi phí đường đi sẽ điều khiển và đưa một port trở về trạng thái forwarding (trạng thái truyền dữ liệu) và một port trở về trạng thái blocking. Giá trị độ ưu tiên của port sẽ đại diện cho vị trí của port đó mô hình hệ thống và hơn hết nó xác định vị trí để cho phép lưu lượng đi qua. Chi phí đường đi là giá trị đại diện cho tốc độ đường truyền.

2. Mô hình Spanning-Tree và BPDUs

Spanning-tree hoạt động trong hệ thống switch sẽ được điều khiển bởi những thành phần sau:

  • Bridge ID (switch priority và MAC address) tương ứng với mỗi một VLan trên một switch.
  • Spanning-Tree path cost đến root switch.
  • Port ID (port priority và MAC address) tương ứng với mỗi một interface layer 2 của switch.

Khi các switch trong hệ thống được khởi động, thì mỗi switch sẽ hoạt động với chức năng như một root swtich. Mỗi switch sẽ gửi một cấu hình BPDU thông qua tất cả các port của switch đó đến các switch khác. BPDUs dùng để thông báo và tính toán mô hình spanning-tree. Mỗi gói BPDU có chứa những thông tin sau:

  • Bridge ID của switch đóng vai trò là root switch (trong trường hợp này chính là switch đang gửi gói BPDU)
  • Chi phí của đường tới root.
  • Bridge ID của switch đang gửi gói BPDU.
  • Thời gian tồn tại của gói BPDU.
  • ID của port đã gửi BPDU ra ngoài qua port đó.
  • Thời gian của gói Hello, Forward delay, và max-age.

Khi một switch nhận một gói tin BPDU có chứa những thông tin tốt hơn (như: Bridge ID thấp hơn, Chi phí đường đi thấp hơn), swtich đó sẽ lưu thông tin đó lại trên port của switch. Nếu BPDU này được nhận trên root port của switch thì switch đó sẽ chuyển tiếp gói BPDU này đến tất cả các designated Switch.

Nếu một switch nhận được một gói BPDU có chứa những thông tin không tốt bằng những thông tin mà switch đó đang có trên port đó thì switch đó sẽ hủy gói BPDU đi. Nếu switch đóng vai trò là designated switch cho mạng LAN mà nhận được một gói BPDU có thông tin không tin bằng những thông tin mà switch đó đang có trên port thì switch đó sẽ thay thế những thông tin tốt hơn của mình vào gói BPDU và sẽ gửi đi. Với phương pháp hoạt động như vậy, thì những thông tin không tốt sẽ bị hủy và những thông tin tốt hơn sẽ được quảng bá ra toàn bộ hệ thống.

Kết quả cuối cùng của việc trao đổi các gói BPUD giữa các switch sẽ là:

  • Một switch trọng hệ thống sẽ được bầu chọn là root switch. Trong mỗi Vlan, switch có priority cao nhất (giá trị số priority thấp nhất) sẽ được bầu chọn với vai trò là root switch. Nếu tất cả các switch trong hệ thống được cấu hình priority mặc định (32768), thì switch nào có địa chỉ MAC thấp nhất trong VLAN sẽ trở thành root switch.
  • Một root port sẽ được chọn trên mỗi switch (trừ trường hợp là root switch). Port này sẽ cung cấp chi phí thấp nhất khi mà switch chuyển dữ liệu đến root switch.
  • Khoảng cách ngắn nhất đến root switch được tính toán cho mỗi switch dựa trên chi phí đường đi.
  • Một designated Switch cho mỗi LAN segment (Colision Domain) sẽ được chọn. Designated Switch sẽ phải có đường có chi phí thấp nhất khi chuyển dữ liệu từ mạng LAN đến Root Switch. Port được dùng để truyền dữ liệu thông qua nó trên designated switch được gắn vào mạng LAN gọi là designated port.
  • Tất cả các đường đi nếu không cần thiết để truyền dữ liệu đến root switch từ mọi nơi trên các switch trong mạng thì sẽ được đưa về trạng thái spanning-tree blocking.

3. Bridge ID, Switch Priority, và Extended System ID

Chuẩn IEEE 802.1D yêu cầu mỗi switch phải có duy nhất một bridge ID, được dùng trong quá trình bầu chọn root switch. Bởi vì mỗi VLAN có logical bridge khác nhau với PVST+ và rapid PVST+, trên cùng switch phải có các bridge ID khác nhau cho mỗi cấu hình VLAN. Mỗi VLan trên mỗi switch có duy nhất 8-byte bridge ID. Trong đó dùng 2 byte để xác định switch priority, và 6 byte còn lại dành cho switch MAC Address.

Catalyst switch 2960 hỗ trợ IEEE 802.1t spanning-tree mở rộng, và các bit trước kia được dùng cho switch priority thì bây giờ được sử dụng làm VLAN ID. Các bạn có thấy rằng trong 2 byte trước kia được dùng làm switch priority thì trong đó có 4-bit được dùng làm giá trị priority và 12-bit còn lại được mở rộng làm System ID tương ứng với VLAN ID.

Spanning tree sử dụng System ID mở rộng, switch priority và MAC address để làm bridge ID duy nhất trọng mỗi một VLAN.

Dựa vào việc các catalyst switch có hỗ trợ System ID, bạn có thể cấu hình để chọn root switch, secondary root switch, và switch priority cho mỗi VLAN. Ví dụ, khi bạn thay đổi giá trị switch priority, việc thay đổi đó có thể dẫn đến switch đó sẽ được bầu chọn làm root switch.




Được tạo bởi liennp
Lần sửa cuối 20/07/09

Giới thiệu PLANETPhản hồi trực tuyến Mua hàng ở đâySơ đồ WebsiteEnglish  

Sử dụng bộ phần mềm TVIS 3.0
© Bản quyền của công ty máy tính NETCOM Co.,Ltd 2000-2016

Số lần truy cập:

Mọi kết nối tới Website này cũng như việc tái sử dụng lại nội dung phải được sự đồng ý của công ty NETCOM Co.,Ltd.
Mọi chi tiết xin liên hệ theo địa chỉ sau: Công ty máy tính NETCOM Co.,Ltd Số 46A/120 Đường Trường Chinh - Phương Mai - Đống Đa - Hà Nội.
Tel: (04)35737747 , Fax: (04)35737748 , Email: support@netcom.com.vn