Wszyscy znamy wielką zaletę konfiguracji programu Portfast, port skonfigurowany z programem Portfast natychmiast rozpocznie przesyłanie danych w stanie „forwarding”, omijając inne stany spanning-tree. Jest to z pewnością wspaniała funkcja, którą warto mieć skonfigurowaną na portach podłączonych do stacji roboczych użytkowników końcowych lub serwerów. Istnieje również inny powód, dla którego warto skonfigurować Portfast na portach brzegowych klienta, który nie jest tak powszechnie znany.
Kiedy port przełącznika przechodzi w stan „up” lub „down”, przełącznik generuje pakiet TCN (Topology Change Notification) i wysyła ten pakiet do mostu głównego, most główny odpowiada pakietem TCA (Topology Change Acknowledge) po prostu potwierdzając pakiet TCN. Mostek root następnie przesyła kolejny pakiet BPDU z ustawionym bitem TC (Topology Change) do każdego przełącznika w domenie Spanning-Tree. Kiedy inne przełączniki otrzymają ten pakiet z oznaczeniem TC, resetuje on czas starzenia się każdego wpisu w tablicy CAM (znanej również jako tablica adresów MAC) do 15 sekund, co może spowodować, że przełącznik będzie musiał odbudować swoją tablicę CAM, jeśli wpisy zaczną się starzeć. Teraz w zależności od wielkości sieci warstwy 2 może to zmarnować wiele zasobów na przełącznikach. Nie wspominając o tym, że powoduje to dużo niepotrzebnego ruchu w sieci, ponieważ mamy zestaw BPDU przesyłanych z flagami TCN, TCA i TC ustawionymi indywidualnie. Należy również pamiętać, że jeśli wpisy w tablicy CAM zaczną wygasać, może to spowodować niepotrzebny ruch ARP dla dodatkowych informacji, które przełącznik już posiadał.
Teraz przejrzyjmy niektóre z tych informacji:
Tutaj jest konfiguracja portu, bez portfast:
Gdy odłączymy i ponownie podłączymy fa1/0/5, otrzymamy następujące wyjście logu:
W poprzednim zrzucie ekranu zauważysz, że pierwszą rzeczą, jaka się dzieje, jest wysłanie przez spanning-tree TCN BPDU, a interfejs zostaje oznaczony jako wyłączony. Następnie ponownie podłączam kabel do fa1/0/5 i widzisz jak port przechodzi przez kolejne etapy spanning-tree, od nasłuchiwania do uczenia się i w końcu do przekazywania dalej. (Dodatkowe punkty, którą wersję spanningu używam?) Należy również zauważyć, że kolejny pakiet TCN BPDU jest wysyłany, gdy port jest ponownie ustawiony w stan forwardingu.
Teraz skonfigurujmy Portfast na tym switchporcie:
Teraz ponownie rozłączmy i ponownie połączmy ten port:
W porównaniu z poprzednim doświadczeniem dzieje się tutaj znacznie mniej, ważną rzeczą jest to, że nie są wysyłane żadne pakiety TCN, ani gdy port jest oznaczony jako down, ani gdy port jest oznaczony jako up (lub forwarding). Jedyne zdarzenia STP, które są rejestrowane to fakt, że port fa1/0/5 przechodzi bezpośrednio do stanu forwarding ze stanu blocking omijając stan listening i stan learning, pozwalając klientowi na rozpoczęcie korzystania z sieci jeszcze szybciej.
Teraz usiądźmy na chwilę w fotelu i pomyślmy o tym przez minutę. TCN jest wysyłany, gdy switchport przechodzi w stan down i ponownie, gdy switchport wchodzi w stan forwarding. Więc gdy użytkownik końcowy zdecyduje się zrestartować swój komputer, gdy odłączy laptopa, aby pójść na spotkanie, ponownie zadokuje się przy biurku, lub gdy zdecyduje się przeorganizować swoje biurko i odłączy komputer, TCN zostanie wysłany, powodując, że przełączniki obniżą timery starzenia się wpisów w tablicy adresów MAC. To może być dużo niepotrzebnego wykorzystania zasobów.
P.S. Pamiętaj o włączeniu funkcji BPDU Guard po włączeniu funkcji portffast! Portfast jest świetnym narzędziem, ale ponieważ pomija stany nasłuchiwania i uczenia się, istnieje możliwość utworzenia pętli przełączania warstwy 2, jeśli połączy się wiele przełączników lub użytkownicy zaczną podłączać proste przełączniki/huby przy swoich biurkach. Funkcja BPDU Guard ustawi port w stanie Err-Disabled, jeśli otrzyma na nim BPDU.