Od koncentratorów do przełączników: ograniczenia wspólnego medium
Aby zrozumieć działanie przełącznika Ethernet, warto przypomnieć ograniczenia jego poprzednika, koncentratora (huba). Koncentrator to proste urządzenie działające w warstwie fizycznej (Warstwa 1). Odbiera sygnał elektryczny na jednym porcie, regeneruje go i rozgłasza na wszystkie pozostałe porty. Tworzy to „logiczną magistralę”, w której wszystkie podłączone urządzenia współdzielą jeden kanał komunikacyjny.
Współdzielone medium generowało trzy problemy:
- Kolizje: Gdy dwa urządzenia próbowały nadawać jednocześnie, ich sygnały uszkadzały się nawzajem, zmuszając je do zatrzymania i retransmisji.
- Współdzielenie przepustowości: Całkowita przepustowość medium była dzielona między wszystkie urządzenia, więc wydajność spadała wraz z rosnącą liczbą aktywnych urządzeń.
- Łatwiejsze przechwycenie ruchu: Każde urządzenie podłączone do koncentratora otrzymywało cały ruch z pozostałych portów, co ułatwiało przechwycenie ramek.
Przełącznik Ethernet ogranicza te problemy przez przekazywanie ramek do wybranych portów oraz oddzielenie domen kolizyjnych.
Czym jest przełącznik Ethernet? Rola urządzenia
Typowy przełącznik Ethernet działa w Warstwie 2 (Warstwie Łącza Danych) modelu OSI. W odróżnieniu od koncentratora przetwarza ramki Ethernet i odczytuje zawarte w nich adresy. Przełączniki wielowarstwowe mogą dodatkowo wykonywać funkcje warstwy 3.
Głównym zadaniem przełącznika jest odbieranie ramek i wybór portu wyjściowego na podstawie adresu docelowego. Przy znanym adresie unicast przełącznik wysyła ramkę do portu prowadzącego do odbiorcy, zamiast zalewać wszystkie porty jak hub. Oddzielenie domen kolizyjnych na portach nazywa się mikrosegmentacją. W modelu półdupleksowym każdy port tworzy odrębną domenę kolizyjną, a w pełnym dupleksie kolizje nie występują.
Tablica adresów MAC przełącznika
Przełącznik przechowuje tablicę adresów MAC, czyli zestaw wpisów używanych do wyboru portu wyjściowego. Wpis wiąże adres sprzętowy urządzenia z portem, a w sieci VLAN także z kontekstem VLAN.
Tabela jest czasami nazywana tablicą CAM (Content-Addressable Memory), ponieważ w niektórych urządzeniach wykorzystuje pamięć adresowaną zawartością. Wpis dynamiczny jest tworzony na podstawie ramek odebranych przez port, a wpis statyczny pozostaje zgodny z konfiguracją administratora. Typowa tablica adresów MAC zawiera wpisy z następującymi informacjami:
| Kolumna | Opis |
|---|---|
| Adres MAC | 48-bitowy adres MAC interfejsu podłączonego urządzenia. |
| Port | Numer fizycznego portu, przez który osiągalne jest urządzenie o tym adresie MAC. |
| Typ | Wskazuje, w jaki sposób wpis został poznany. Wpisy Dynamiczne są uczone automatycznie, podczas gdy wpisy Statyczne są ręcznie konfigurowane przez administratora. |
| VLAN (opcjonalnie) | Identyfikator VLAN, z którym powiązany jest wpis adresu i portu. |
Uczenie się adresów MAC
Nowy przełącznik po uruchomieniu ma pustą tablicę adresów MAC. Buduje ją dynamicznie przez pasywny proces uczenia się.
Proces opiera się na zasadzie: każda ramka Ethernet ma źródłowy adres MAC. Przełącznik wykorzystuje ten adres oraz VLAN wejściowy do uczenia wpisów. Proces wygląda następująco:
- Nadejście Ramki: Ramka Ethernet przybywa na jeden z portów przełącznika (np. Port Fa0/1).
- Sprawdzenie Źródłowego Adresu MAC: Przełącznik analizuje nagłówek ramki i odczytuje źródłowy adres MAC. Powiedzmy, że źródłem jest
0030.a3cb.87c5. - Konsultacja z Tablicą Adresów MAC: Przełącznik sprawdza w swojej tablicy, czy ma już wpis dla
0030.a3cb.87c5. - Nauka lub Odświeżenie:
- Jeśli adresu NIE ma w tablicy: Przełącznik dochodzi do wniosku: „Urządzenie o adresie MAC
0030.a3cb.87c5znajduje się na drugim końcu Portu Fa0/1”. Następnie tworzy nowy wpis dynamiczny w swojej tablicy, kojarząc ten adres MAC z tym numerem portu. - Jeśli adres JEST już w tablicy: Przełącznik wie, gdzie jest urządzenie. Po prostu resetuje wewnętrzny licznik czasu starzenia (aging timer) dla tego wpisu. Ten licznik zapewnia, że wpisy dla urządzeń, które nie są już w sieci, zostaną ostatecznie usunięte.
- Jeśli adresu NIE ma w tablicy: Przełącznik dochodzi do wniosku: „Urządzenie o adresie MAC
Przełącznik powtarza ten proces dla każdej ramki, która do niego dociera. W miarę komunikacji urządzeń automatycznie wypełnia tablicę poznanymi adresami i portami, bez ręcznego wpisywania każdego skojarzenia. Wpis jest zwykle ograniczony do danego VLAN-u i po czasie starzenia może zostać usunięty. Zależnie od implementacji zmiana topologii lub wyłączenie portu może również usunąć wpis dynamiczny.
Decyzja o przesłaniu ramki: filtrowanie, przekazywanie lub zalewanie
Po nauczeniu adresu źródłowego przełącznik bada docelowy adres MAC ramki i wybiera jedną z trzech akcji:
1. Przekazywanie (Forwarding) - Znany Unicast
Jest to idealny i najczęstszy scenariusz. Przełącznik odbiera ramkę przeznaczoną do znanego mu adresu MAC.
- Ramka przybywa na Port Fa0/1, przeznaczona dla urządzenia o MAC
00d0.bab8.8516. - Przełącznik dokonuje wyszukania w swojej tablicy adresów MAC.
- Znajduje wpis:
00d0.bab8.8516znajduje się na Porcie Fa0/4. - Przełącznik następnie przesyła ramkę tylko przez Port Fa0/4. Żaden inny port nie otrzymuje tej ramki.
Dla tej ramki przełącznik wybiera wyłącznie port wyjściowy na podstawie wpisu MAC w bieżącym VLAN-ie. Nie tworzy to stałego połączenia ani gwarancji poufności, a pozostałe porty mogą równocześnie obsługiwać inne ramki.
2. Zalewanie (Flooding) - Nieznany Unicast
Ma to miejsce, gdy przełącznik otrzymuje ramkę przeznaczoną do adresu MAC, którego jeszcze nie ma w jego tablicy. Ponieważ nie zna portu wyjściowego, zalewa ramkę w obrębie bieżącego VLAN-u, podobnie jak koncentrator w swojej domenie.
- Ramka przybywa na Port Fa0/1, przeznaczona dla MAC
00e0.f9cd.3908. - Przełącznik przeszukuje swoją tablicę i nie znajduje wpisu dla tego adresu.
- Przełącznik następnie zalewa ramkę: tworzy jej kopie i wysyła je przez dozwolone porty tego samego VLAN-u, z wyjątkiem portu wejściowego.
Zamierzony odbiorca otrzyma ramkę i prawdopodobnie wyśle odpowiedź. Kiedy odpowiedź wróci, przełącznik nauczy się lokalizacji 00e0.f9cd.3908 z jej źródłowego adresu MAC, a przyszłe ramki do tego urządzenia będą przekazywane. Ramki rozgłoszeniowe (broadcast, do FF:FF:FF:FF:FF:FF) oraz nieznane ramki multicastowe są zwykle zalewane w obrębie VLAN-u, chyba że konfiguracja ogranicza ten ruch. Filtrowanie multicastu może również ograniczać takie przekazywanie, na przykład za pomocą IGMP snooping.
3. Filtrowanie (Filtering) - Cel na tym samym Porcie
Jest to rzadszy, ale logiczny scenariusz. Przełącznik odbiera ramkę, w której docelowy adres MAC znajduje się na tym samym porcie, na który ramka przybyła.
- Ramka przybywa na Port Fa0/3 z urządzenia podłączonego do koncentratora, który jest z kolei podłączony do przełącznika. Ramka jest przeznaczona dla innego urządzenia na tym samym koncentratorze.
- Przełącznik sprawdza docelowy adres MAC i znajduje w swojej tablicy, że ten MAC jest również osiągalny przez Port Fa0/3.
- Przełącznik wie, że nie ma potrzeby przesyłania ramki z powrotem przez ten sam port, z którego przyszła. Po prostu filtruje, czyli odrzuca ramkę.
Skutki przełączania Ethernet
Przekazywanie ramek przez przełączniki ogranicza problemy koncentratorów i poprawia wykorzystanie łączy. Wpływ na bezpieczeństwo zależy od konfiguracji sieci.
Separacja domen kolizyjnych
Przełączanie segmentuje domeny kolizyjne. W modelu półdupleksowym 24-portowy przełącznik może tworzyć 24 oddzielne domeny kolizyjne. Kolizje występują wtedy na łączu półdupleksowym, gdy urządzenie i przełącznik nadają jednocześnie. W nowoczesnych sieciach łącza przełączników zwykle pracują w pełnym dupleksie, więc kolizje nie występują.
Komunikacja w pełnym dupleksie
W trybie pełnego dupleksu urządzenie może jednocześnie wysyłać i odbierać dane. W 100BASE-TX kierunki korzystają z odrębnych par, natomiast 1000BASE-T wykorzystuje wszystkie cztery pary w obu kierunkach. W obu przypadkach nie stosuje się procedury wykrywania kolizji CSMA/CD. Łącze 100 Mb/s ma wtedy 100 Mb/s w każdym kierunku, czyli do 200 Mb/s przepustowości zagregowanej przy jednoczesnym ruchu.
Przepustowość łącza portu
W przeciwieństwie do koncentratora przełącznik udostępnia każdemu portowi jego szybkość łącza, o ile nie ograniczają jej przełącznikowa matryca, uplink lub nadsubskrypcja. Gdy Host A komunikuje się z Serwerem C przez port 1 Gb/s, ta para może wykorzystać do 1 Gb/s na danym łączu. W tym samym czasie Host B może komunikować się z Serwerem D przez inne porty, zależnie od zasobów przełącznika.
Ograniczenie widoczności ruchu
Przy znanym unicast przełącznik zwykle nie wysyła ramki do pozostałych portów, co ogranicza przypadkowe przechwycenie ruchu przez sniffer w porównaniu z koncentratorem. Nie zastępuje to kontroli dostępu, ponieważ zalewanie, porty monitorujące i błędna konfiguracja mogą ujawnić ruch.