450 Chọn một switch làm gốc cho cấu trúc hình cây. Tính toán đờng ngắn nhất từ mỗi node đến switch gốc. Đờng ngắn nhất là đờng có chi phí thấp nhất. Chi phí của đờng kết nối đợc tính toán dựa trên tốc độ của đờng kết nối đó. Trong từng LAN segment, chỉ định ra một switch gần nhất với switch gốc. Switch đợc chỉ định (designated switch) sẽ lắm giữ mọi thông tin liên lạc giữa LAN và switch gốc. Trên mỗi switch không phải là gốc chọn một port làm port gốc (root port) là port có đờng kết nối ngắn nhất về gốc. Các port còn lại đợc xem xét để làm port chỉ định (designated port). Những port nào không đợc chỉ định đều bị khoá lại. Hình 7.2.2.b. Giá trị chi phí mặc đinh t ơng ứng với tốc độ của đờng kết nối. Hình 7.2.2.c. Các thông tin nằm trong gói BPDU. 451 Hình 7.2.2.d. Một ví dụ để kết quả tính toán của giao thức Spanning - Tree. Sau khi tính toán xong, về mặt luận lý, cấu trúc mạng sẽ có dạng rẽ nhánh cây, không còn vòng lặp nữa. Ta xét ví dụ nh hình 7.2.2.c. Ba switch Cat - A, Cat - B và Cat - C đợc nối thành vòng tròn với nhau. Nh vậy là tồn tại một vòng lặp về mặt vật lý. Đầu tiên, quá trình bầu chọn bridge gốc đã chọn Cat - A làm gốc. Từ bridge gốc, hai nhánh từ port 1/1, 1/2 đợc mở lên để kết nối xuống hai switch Cat - B và Cat - C. Trên Cat - B, port 1/1 có chi phí nối về gốc thấp nhất nên port này đợc chọn làm port gốc. Tơng tự trên Cat - C, port 1/1 đợc chọn làm port gốc để nối về gốc. Sau khi đã xác định xong port gốc để thiết lập kết nối về bridge gốc, Cat - B và Cat - C sẽ xem xét các port còn lại. Chúng nhận thấy port 1/2 của chúng cùng nối vào một segment LAN. Để tạo cấu trúc hình cây, trong mỗi segment LAN chỉ có một switch đợc mở một đờng để kết nối từ gốc vào segment LAN đó. Do đó, Cat - B và Cat - C sẽ chỉ định ra một switch đợc truy xuất vào segment LAN này. Kết quả, Cat - B đợc chọn và port 1/2 của nó đợc chỉ định mở kết nối vào segment LAN. Cat - C không đợc chỉ đinh nên port 1/2 của nó bị khoá lại. 7.2.3. Hoạt động của spanning - tree. Khi mạng đã ổn định và hội t ụ chỉ có một cây duy nhất trong một mạng. Để đạt đợc kết quả này, các switch trong mạng tuân theo các nguyên tắc sau: 452 Chỉ có một bridge gốc duy nhất cho một mạng. Trên mỗi bridge không phải là gốc chỉ có một port duy nhất làm port gốc là port kết nối về gốc ngắn nhất. Trong từng segment LAN, chỉ đợc duy nhất một port đi vào segment LAN đó. Không sử dụng các port nào không đợc chỉ định. Port gốc và port đợc chỉ định làm các port đợc sử dụng để chuyển dữ liệu. Các port không đợc chỉ định sẽ huỷ bỏ dữ liệu. Các port này đợc gọi là port khoá (B - Bloking). 7.2.4. Quá trình chọn bridge gốc. Muốn xây dựng cấu trúc hình cây thì trớc tiên phải có một điểm làm gốc để từ đó phân nhánh cho cây. Do đó việc đầu tiên là tất cả các switch trong mạng phải chọn ra một bridge gốc sẽ tác động đến dòng giao thông trong mạng. Khi các switch mới đợc bật điện, chúng sẽ trao đổi các gói BPDU với nhau và dựa vào thông tin bridge ID (BID) trong các gói này để chọn ra bridge gốc. Trờng BID bao gồm giá trị độ u tiên của switch và địa chỉ MAC của switch đó. Giá trị u tiên mặc định của switch là 32768. Mặc định, các gói BPDU đợc gi đi 2 giây/lần. Hình 7.2.4.a. Nội dung gói BPDU. 453 Hình 7.2.4.b. Cấu trúc của tr ờng BID. 2 byte đầu là giá trị u tiên của switch. Giá trị này nằm trong khoảng từ 0 - 65535, giá trị mặc định là 32768. 6 byte sau là địa chỉ MAC của switch. Đầu tiên mỗi switch đều tự cho nó là gốc. Do đó trong gói BPDU đầu tiên mà mỗi switch gửi đi, trờng Root BID và sender BID đều có giá trị u tiên và địa chỉ MAC của chính nó. Sau đó mỗi switch sẽ lần lợt nhận đợc các goi BPDU từ những switch khác. Mỗi khi switch nhận đợc một gói BPDU có trờng Root BID thấp hơn Root BID nó đang có thì nó sẽ thay thế Root BID thấp hơn vào gói BPDU rồi gửi đi. Cứ nh vậy, cuối cùng các switch sẽ thống nhất đợc với nhau switch nào có BID thấp nhất làm bridge gốc. Hình 7.2.4.c. Một ví dụ về nội dung gói BPDU đầu tiên của Cat - A gửi đi. Nếu không cấu hình gì cả, giá trị mặc định trên các switch đều bằng nhau và bằng 32768. Do vậy switch nào nào có địa chỉ MAC nhỏ nhất (địa chỉ MAC thì không bao giờ trùng nhau giữa các switch) sẽ có BID nhỏ nhất và switch đó sẽ làm gốc. Ngời quản trị mạng muốn tác động vào việc quyết định chọn bridge gốc thì 454 có thể cài đặt giá trị u tiên của switch nhỏ hơn giá trị mặc định, khi đó BID của switch sẽ có giá trị nhỏ hơn. Tuy nhiên b ạn chỉ lên làm điều này khi bạn nắm rõ luồng giao thông trong mạng của mình. Hình 7.2.4.d. Sau một quá trinh trao đổi gói BPDU, các switch sẽ chọn ra đ ợc switch nào có BID nhỏ nhất làm gốc. 7.2.5. Các trạng thái port Spanning - Tree. Thông tin trao đổi của các giao thức phải mất một khoảng thời gian mới truyền đi hết cho toàn bộ hệ thống mạng. Khi một phân nào đó của cấu trúc mạng bị thay đổi thì cả hệ thống không thể nhận biết đợc điều này cùng một lúc và ngay lập tức mà phải lần lợt sau đó một khoảng thời gian. Đó chính là thời gian trễ lan truyền. Chính vì vậy, nếu switch đổi trạng thái của một port từ thụ động sang hoạt động ngay lập tức có thể sẽ gây ra vòng lặp. Trên switch sử dụng giao thức Spanning - Tree, mỗi port sẽ ở một trong năm trạng thái nh hình 7.2.5.a. ở trạng thái khoá, port chỉ nhận gói BPDU. Các gói dữ liệu khác sẽ bị huỷ bỏ và không hề có học địa chỉ ở trạng thái này. Mất khoảng 20 giây để chuyển từ trạng thái này sang trạng thái kế tiếp là trạng thái nghe. 455 Hình 7.2.5.a. Các trạng thái port Spanning - Tree. Khi kết nối bắt đầu đợc mở lên, trạng thái đầu tiên của port là trạng thái khoá (Blocking). Sau khi thuật toán Spanning - Tree tính toán xong và chọn port đó là port g ốc hay là port chỉ định của một segment LAN thì port sẽ đợc lần lợt chuyển sang trạng thái nghe (Listenning), trạng thái học (Learning) và cuối cùng trạng thái truyền dữ liệu (Forwarding). ở trạng thái nghe, switch chỉ xác định xem port này có kết nối về gốc với chi phí thấp nhất hay không, có tạo vòng lặp hay không. Nếu kết quả port này không đợc chọn làm port gốc và cũng không đợc chỉ định làm port nối vào một segment LAN nào thì port sẽ đợc đa trở về trạng thái khoá. Trạng thái nghe kéo dài khoảng 15 giây, khoảng thời gian này gọi là thời gian chờ chuyển trạng thái (Forward delay). Trong trạng thái nghe, port vẫn không chuyển gói dữ liệu, cha học địa chỉ MAC, vẫn chỉ xử lý gói BPDU thôi. Sau đó, port chuyển từ trạng thái nghe sang trạng thái học. ở trạng thái này, port cha chuyển dữ liệu của user nhng đã bắt đầu học địa chỉ MAC từ các gói dữ liệu nhận đợc và vẫn xử lý gói BPDU. Trạng thái học kéo dài khoảng 15 giây và khoảng thời gian này cũng đợc gọi thời gian chờ chuyển trạng thái (Forward delay). Sau cùng, port chuyển từ trạng thái học sang trạng thái truyền dữ liệu. ở trạng thái này, port thực hiện truyền dữ liệu của user, học địa chỉ MAC đồng thời vẫn xử lý gọi BPDU. . từ gốc vào segment LAN đó. Do đó, Cat - B và Cat - C sẽ chỉ định ra một switch đợc truy xuất vào segment LAN này. Kết quả, Cat - B đợc chọn và port 1/2 của nó đợc chỉ định mở kết nối vào segment. switch đó. Giá trị u tiên mặc định của switch là 32 768 . Mặc định, các gói BPDU đợc gi đi 2 giây/lần. Hình 7.2.4.a. Nội dung gói BPDU. 453 Hình 7.2.4.b. Cấu trúc của tr ờng BID. 2 byte. một port đi vào segment LAN đó. Không sử dụng các port nào không đợc chỉ định. Port gốc và port đợc chỉ định làm các port đợc sử dụng để chuyển dữ liệu. Các port không đợc chỉ định sẽ huỷ