444 H×nh 7.1.4.a H×nh 7.1.4.b. HËu qu¶ lµ g©y ra mét trËn b·o qu¶ng b¸ trªn m¹ng. 445 Ta xét ví dụ trên hình 7.1.4.a: giả sử Host X gửi một gói quảng bá và gói yêu cầu ARP để hỏi địa chỉ lớp 2 của router chẳng hạn. Khí đó switch A nhận đợc gói quảng bá này sẽ chuyển gói quảng bá này sẽ chuyển gói ra tất cả các port. Switch B cũng thực hiện nh vậy. Kết quả là Switch B sẽ nhận lại các gói quảng bá đợc gửi từ Switch A và ngợc lại, Switch A cũng nhận lại các gói quảng bá đợc gửi từ Switch B. Cả hai Switch này nhận đợc gói quảng bá của nhau và lại chuyển tiếp ra tất cả các port. Cứ nh vậy, mỗi một gói quảng bá mà switch nhận vào sẽ đợc nhân ra tất cả các port gây lên trận bão quảng bá trên mạng. Trận bão quảng bá này sẽ đợc tiếp tục cho đến khi nào một trong hai switch bị ngắt kết nối ra. Switch và các thiết bị đầu cuối sẽ bị quá tải vì phải sử lý quá nhiều các gói quảng bá và không thể sử lý đợc các gói dữ liệu khác của user. Khi đó hệ thống mạng xem nh bị tê liệt. 7.1.5. Truyền nhiều lợt frame. Cấu trúc mạng chuyển mạch dự phòng có thể làm cho thiết bị đầu cuối nhận đợc nhiều frame trung lặp nhau. Hình 7.1.5 Ta xét ví dụ trên hình 7.1.5: giả sử rằng cả hai switch vừa mới xoá địa chỉ MAC của Router Y trên bảng địa chỉ vì hết thời hạn và giả sử rằng Host X vẫn còn giữ địa chỉ MAC của router Y trong bảng ARP của mình lên nó gửi một frame trực tiếp tới Router Y. Router Y nhận đợc gói giữ liệu này vì nó nằm trong cùng segment với Host X. 446 Switch A cũng nhận đợc frame này nhng không có địa chỉ MAC của Router Y trên bảng địa chỉ nên nó chuyển frame ra tất cả các port của nó. Tơng tự trên switch B cũng vậy. Kết quả là Router Y nhận đợc nhiều frame trùng nhau. Điều này làm cho các thiết bị tốn tài nguyên để xử lý nhiều frame không cần thiết. 7.1.6. Cơ sở dữ liệu địa chỉ MAC không ổn định. Cấu trúc mạng chuyển mạch dự phong có thể làm cho các switch học đợc thông tin sai về địa chỉ, switch sẽ học đợc một địa chỉ MAC trên một port mà trong khi địa chỉ MAC này thật sự nằm trên port khác. Hình 7.1.6 Ta xét ví dụ nh trên hình 7.1.6: giả sử địa chỉ MAC của Router Y không có trong bảng địa chỉ của cả hai switch. Giả sử host X gửi một gói dữ liệu trực tiếp đến Router Y. Switch A và B đều nhận đợc gói gữi liệu này và học đợc địa chỉ MAC của Host X là nằm trên port 0. Sau khi đó dữ liệu này đợc hai switch chuyển ra tất cả các port vì trên hai switch đều cha có địa chỉ MAC của Router Y. Kết quả là switch A nhận lại gói dữ liệu này từ switch B vào port 1 và ngợc lại, Switch B cũng nhận lại dữ liệu từ Switch A vào port 1. Khi đó Switch A và B học lại là địa chỉ MAC của Host X nằm trên port 1, kế tiếp, khi Rou ter Y gửi một gói dữ liệu cho Host X, Switch Avà B cũng đều nhận đợc gói dữ liệu từ Router Y đến Host X sẽ bị rơi vào vòng lặp. 7.2. Giao thức Spanning Tree (Giao thức phân nhánh cây). Tree. 7.2.1. Cấu trúc dự phòng và Spanning 447 Cấu trúc mạng dự phòng đợc thiết kế để bảo đảm mạng tiếp hoạt động khi có một sự cố xảy ra, user sẽ ít bị gián đoạn công việc của họ hơn. Mọi sự gián đoạn do sự cố gây ra càng ngẵn càng tốt. Hình 7.2.1.a. Một ví dụ về cấu trúc dự phòng. Trong hệ thống mạng, chúng ta tạo nhiều kết nối giữa các switch và bridge để dự phòng. Các kết nồi này sẽ tạo ra các vòng lặp vật lý trong mạng nhng nếu có một kết nối bị đứt thi lu lợng có thể đợc chuyền sang kết nối khác. Switch hoạt động ở lớp 2 của môi hình OSI và thực hiện quyết định chuyển gói ở lớp này. Khi Switch không xác định đợc port đích thì nó sẽ chuyển gói ra tất cả các port. Gói quảng bá và multicast cũng đợc gửi ra tất cả các port trừ port nhận gói vào. Do đó, mạng chuyển mạch không đợc có vòng lặp, vì nh vậy sẽ gây ra nhiều sự cố nh đã phân tích ở các phần trên. ở lớp 3, mỗi khi gói dữ liệu đi qua một Router, trờng thời gian sống (Time To Live TTL) sẽ giảm đi một giá trị và gói dữ liệu sẽ bị huỷ bỏ khi trờng TTL đạt đến giá trị 0. Trong khi đó, phần thông tin lớp 2 trong gói dữ liệu không có trơng TTL. Do đó, nếu frame bị rơi vào vòng lặp lớp 2 của cấu trúc mạng chuyển mạch, nó sẽ bị lặp vòng đến vô tận vì không có thông tin nào trong frame giúp loại bỏ frame khi bị lặp vòng. Điều đó làm hệ thống mạng tiêu tốn băng thông và có thể dẫn đến bị tê liệt. 448 Tóm lại, mạng chuyển mạch với switch và bridge không thể có vòng lặp nhng chúng ta vẫn cần xây dựng cấu trúc mạng vật lý có vòng lắp để dự phòng khi xảy ra sự cố, nhằm đảm bảo hoạt động của hệ thống mạng. Vậy giải pháp là vẫn cho phép cấu trúc vật lý có vòng lặp nhng chúng ta sẽ tạo cấu trúc luận lý không có vòng lặp. Ví dụ nh trên hình 7.2.1.a, giao thông từ các user kết nối vào Cat - 4 đến server Farm kết nối vào Cat - 5 sẽ đi qua đờng kết nối giữa Cat - 1 và Cat - 2 mặc dù có tồn tại đờng kết nối vật lý giữa Cat - 4 và Cat - 5. Cấu trúc luận lý không vòng lặp là một cấu trúc dạng phân nhánh cây, tơng tự nh cấu trúc luận lý hình sao hay hình sao mở rộng. Thuật toán đợc sử dụng để tạo cấu trúc luận lý không vòng lặp là thuật toán spanning - tree. Thuật toán này tồn tại khá nhiều thời gian để hội tụ. Do đó có một thuật toán mới hơi gọi là rapid spanning - tree với thời gian tinh toán cấu trúc luận lý không vòng lặp rút ngắn hơn. Hình 7.2.1.b. Cấu trúc luận lý không vòng lặp đ ợc tạo ra bởi Spanning - Tree. Cấu trúc này theo dạng phân nhánh hình cây, tơng tự nh cấu trúc luận lý hình sao mở rộng. 449 7.2.2. Giao thức Spanning - Tree. Ethernet bridge và switch có thể triển khai giao thức Spanning - Tree IEEE802.1D và sử dụng thuật toán spanning - tree để xây dựng cấu trúc mạng ngắn nhất không vòng lặp. Để xây dựng mạng theo dạng phân nhánh hình cây, trớc tiên giao thức Spanning - Tree phải chọn một điểm làm gốc (root bridge). Xuất phát từ một bridge gốc này, các đờng liên kết đợc xem xét và tính toán để phân nhánh ra tạo cấu trúc mạng theo dạng hình cây, bảo đảm rằng chỉ có một đờng duy nhất đi từ gốc đến từng node trong mạng. Những đờng kết nối nào d thừa trong cấu trúc hình cây sẽ bị khoá lại. Tất cả các gói dữ liệu nhận đợc từ đờng liên kết bị khoá này sẽ bị huỷ bỏ. Hình 7.2.2.a. Giao thứ c Spanning - Tree xây dựng mạng hình luận lý hình cây. Kết nối nào d thừa, tạo thành vòng lặp sẽ bị khoá lại. Giao thức Spanning - Tree đòi hỏi thiết bị mạng phải trao đổi thông tin với nhau để có thể phát hiện ra vòng lặp trong mạng. Thông điệp trao đổi này đợc gọi là Bridge Protocol Data Unit (BPDU). Kết nối nào tạo thành vòng lặp sẽ bị đặt vào trạng thái khoá. Trên kết nối này không nhận gói dữ liệu nhng vẫn nhận các gói BPDU để xác định kết nối đó còn hoạt động hay không. Nếu có một kết nối bị đứt hay một thiết bị h hỏng thì một cấu trúc hình cây mới sẽ đợc tính toán lại. BPDU chứa đầy đủ các thông tin giúp cho switch thực hiện đợc các việc sau: . động ở lớp 2 của môi hình OSI và thực hiện quyết định chuyển gói ở lớp này. Khi Switch không xác định đợc port đích thì nó sẽ chuyển gói ra tất cả các port. Gói quảng bá và multicast cũng đợc. kết nối vào Cat - 5 sẽ đi qua đờng kết nối giữa Cat - 1 và Cat - 2 mặc dù có tồn tại đờng kết nối vật lý giữa Cat - 4 và Cat - 5. Cấu trúc luận lý không vòng lặp là một cấu trúc dạng phân. toán cấu trúc luận lý không vòng lặp rút ngắn hơn. Hình 7.2.1.b. Cấu trúc luận lý không vòng lặp đ ợc tạo ra bởi Spanning - Tree. Cấu trúc này theo dạng phân nhánh hình cây, tơng tự nh cấu