Rzeczy, które wydają się być oczywiste po kilku latach pracy w sieciach wcale takie nie muszą być na samym początku. Często o tym zapominamy. W tym artykule przyjrzymy się różnicom między routerami i przełącznikami warstwy trzeciej. A jest o czym pisać bo jak się okazuje tych różnic jest dość sporo!
Pamiętam do dziś te to dziwne uczucie (odsyłam do sekcji komentarzy na lekcję języka polskiego), które wiązało się z poznaniem liczb zespolonych. Oto przez całą Twoją edukację wpajano Ci, że liczb ujemnych nie można pierwiastkować, aż tu nagle na etapie liceum – niespodzianka! Jednak można. W takich momentach można się poczuć nieco zagubionym.
Podobnie sprawa ma się z sieciami komputerowymi. Rozpoczynasz swoją edukację w tym zakresie i dowiadujesz się o istnieniu urządzeń warstwy trzeciej (routerów) oraz sprzętu działającego na warstwie drugiej (switchy). Wszystko jest ładne, proste i klarowne. Przynajmniej do momentu, w którym zetkniesz się z koncepcją przełączników warstwy trzeciej.
Po wstępnej fali niezrozumienia i dezorientacji chwytasz koncepcję ich działania. Toż to po prostu przełącznik, na którym możemy uruchomić proces routingu! Życie jest znów proste! Ale zaraz… to po co nam w takim razie routery? No to po kolei.
Po co nam przełączniki warstwy 3?
Generalnie rzecz biorąc „tradycyjne” przełączniki (switche) służą do podłączania dużej liczby hostów do sieci. Odbywa się to zazwyczaj w warstwie dostępowej naszej topologii sieciowej (access layer).
Z kolei routery znajdują się typowo na brzegu sieci i służą do łączenia sieci LAN z siecią WAN. Urządzenia te umiejscowione są typowo w module sieci nazywanym Enterprise Edge. Routery są z nami od dziesięcioleci więc ich zastosowanie i umiejscowienie w topologii sieciowej jest dość powszechnie rozumiane. Ze switchami L3 już nie zawsze jest tak „intuicyjnie”.
Gdzie zatem znajduje się miejsce przełączników warstwy trzeciej i po co one w ogóle powstały? Być może jest Ci znana koncepcja rozwiązania o nazwie „router on the stick”. Generalnie kiedyś jeśli mieliśmy do czynienia w sieci LAN z kilkoma (kilkunastoma) VLAN-ami to w celu przeroutowania ruchu między nimi musieliśmy oczywiście użyć router. Sytuacja mogła więc wyglądać następująco:
Załóżmy, że użytkownik znajdujący się w VLAN-ie 10 chce się skomunikować z użytkownikiem w VLAN-ie 20. W tym scenariuszu wszystkie przełączniki są „zwykłymi” switchami działającymi na warstwie drugiej, a pomiędzy nimi mamy trunki. Szare połączenia są nieaktywne dzięki działaniu STP. Gatewaye dla obu VLAN-ów znajdują się w tej sytuacji na routerze i to właśnie tam dociera cały ruch. Router podłączony jest do sieci LAN za pomocą trunka, a routing między VLAN-ami jest możliwy w dużym skrócie dzięki subinterfejsom skonfigurowanym na routerze.
W tym miejscu dochodzimy do sedna sprawy – stworzenie przełączników warstwy trzeciej, czyli notabene umożliwienie włączenia na nich procesu routingu sprawia, że możemy wyeliminować „router on the stick”. W tej sytuacji topologia przybiera następujący kształt:
Mamy tutaj do czynienia z połączeniem L3 między przełącznikami dystrybucyjnymi. Gatewaye dla poszczególnych VLAN-ów zostają przesunięte na dystrybucje i są na nich skonfigurowane pod postacią interfejsów SVI. STP jest tutaj mocno ograniczone w działaniu, ponieważ nie mamy do czynienia z pętlą na poziomie warstwy drugiej. Przeroutowanie między VLANami następuje na przełącznikach L3 w dystrybucji, a o redundancję gatewaya dba dowolny protokół FHRP – na przykład HSRP w przypadku Cisco.
Tego rodzaju topologia mogłaby ewoluować jeszcze dalej, aż do wprowadzenia łącz L3 w całej topologii i kompletnego wyeliminowania STP. Jest to nieco bardziej zaawansowane zagadnienie, ale jeżeli chcesz się mu bliżej przyjrzeć to zapraszam Cię do lektury mojego artykułu o VXLAN gdzie opisuję tę tematykę znacznie bardziej szczegółowo.
Po co nam w takim razie routery?
Dorysujmy do wcześniejszego diagramu jeszcze routery, które będą umożliwiały naszej mikro-sieci dostęp do internetu:
Pięknie. Teraz nasza topologia wygląda solidnie i kompletnie. Powstaje natomiast pytanie: skoro przełączniki dystrybucyjne „ogarniają” również routing to w zasadzie po co nam w ogóle routery? Pozbądźmy się nich i podłączmy łącza internetowe bezpośrednio do switchy:
Czy to jest dobry pomysł? ZDECYDOWANIE NIE. I tutaj w końcu dochodzimy do crème de la crème tego artykułu czyli…
Jakie są różnice między routerami a switchami L3?
Zacznijmy od krótkiej listy podstawowych różnic po to aby następnie się im po kolei bliżej przyjrzeć:
Zanim przejdziemy do bliższego omówienia tych różnic chciałbym podkreślić, że są one zasadą od której istnieją również wyjątki. Zawsze sprawdź jakie są konkretne funkcje poszczególnych platform sprzętowych.
Obsługa routingu
Oba typy urządzeń obsługują oczywiście routing – są zdolne do przekazywania pakietów między sieciami. W tym miejscu warto nadmienić, że jeżeli jakieś urządzenie obsługuje routing to teoretycznie można je nazwać routerem. Często to usłyszysz zwłaszcza z ust osób nietechnicznych.
Podstawowy zakres routingu
Routery są zaprojektowane z myślą o routingu na styku sieci 😉 typu LAN czy też Data Center. Ich zadaniem jest zapewnienie łączności ze światem zewnętrznym oraz innymi lokalizacjami firmy. Tego typu łączność zasadniczo rzecz biorąc nie wymaga procesowania ogromnej ilości pakietów (w porównaniu do tego co się dzieje w sieci LAN). Mamy natomiast do czynienia z dużą ilością sieci docelowych co wpływa na znacznie większy rozmiar tablicy routingu. Z drugiej strony przełączniki warstwy trzeciej wykorzystujemy do routingu wewnątrz sieci LAN. Mamy zatem do czynienia z koniecznością przełączania i routowania ogromnej ilości pakietów do niewielkiej ilości sieci docelowych (routujemy jedynie w LAN-ie).
Interfejsy WAN
Dochodzimy do pierwszej ze znacznych różnic, która jednak powoli traci na znaczeniu. Routery generalnie rzecz biorąc wspierają tzw. moduły WIC (w przypadku Cisco), które pozwalają na wyposażenie tych urządzeń w dedykowane porty dla poszczególnych technologii łączności WAN-owych. Miało to znaczenie zwłaszcza kiedyś, gdy mieliśmy do czynienia z różnego rodzaju okablowaniami itd. W dzisiejszych czasach w większości wypadków łącze zewnętrzne jest nam dostarczane po światłowodzie lub skrętce i nie stanowi to problemu. Warto jednak mieć to na uwadze.
Obsługa zaawansowanych typów enkapsulacji
Ta różnica już ma znaczenie. Routery w odróżnieniu od przełączników warstwy trzeciej wspierają zaawansowane typy enkapsulacji takie jak MPLS, PPP, GRE czy też IPSec. Jeżeli więc musisz się podłączyć do chmury MPLS lub zbudować tunel VPN do bezpiecznego połączenia lokalizacji za pośrednictwem internetu – router jest dla Ciebie.
Podejście do przekazywania (forwardingu) ramek
Tutaj mamy do czynienia z kolejną zasadniczą różnicą. Routery generalnie rzecz biorąc dokonują wyboru trasy (route lookup) dla każdego pakietu. Proces routingu jest oparty o software (IOS) co narzuca również pewne ograniczenia w kwestii wolumenu pakietów, które mogą być przekazywane w backplanie urządzenia. Jest to tak zwany process switching, o którym przeczytasz w dedykowanym artykule o CEF.
W przypadku przełączników warstwy trzeciej sporą rolę odgrywa wspomniany CEF oraz wykorzystanie dedykowanych sprzętowych układów (ASIC). Ogólnie rzecz biorąc przełącznik podejmuje software’owo decyzję o routingu pierwszego pakietu. Decyzja ta następnie jest cache’owana i kolejne pakiety z tego samego przepływu (flow) są już przełączane sprzętowo przez ASIC. Ładnie się określa ten proces jako „route once, switch many” 🙂
Obsługa QoS
Oba typy urządzeń zasadniczo rzecz biorąc obsługują QoS, ale różnica polega na wsparciu poszczególnych funkcji QoS. Jeżeli chodzi o L2 QoS to przełączniki warstwy trzeciej wspierają zazwyczaj pełny zakres markowania COS (802.1P), ale mają ograniczone możliwości kolejkowania tego ruchu. Z kolei w przypadku L3 QoS opartego o bity TOS to właśnie routery mogą się wykazać bardzo zaawansowanymi metodami kolejkowania.
W trakcie robienia researchu do tego artykułu trafiłem na opis dość ciekawej sytuacji. W pewnej firmie były spore problemy z VoIP. Powodem był sposób w jaki działa L3 QoS na przełącznikach 3750. Mianowicie nie sprawdza on rozmiaru poszczególnych pakietów w danej klasie ruchu, w związku z czym nie jest w stanie określić faktycznego przepływu w tej klasie i następnie uciąć nadmiarowego ruchu (przekraczającego ustawiony wcześniej threshold). Zamiast tego 3750 zakłada z góry rozmiar każdego pakietu co powoduje niedokładne określanie faktycznego ruchu jaki ma miejsce.
Obsługa technologii LANowych (SPAN, VLAN-y, L2 Security)
Przełączniki oferują ogólnie bardzo wiele zaawansowanych technologii LAN-owych. Jeżeli masz potrzebę używania VLAN ACL, sesji SPAN do monitorowania ruchu czy też funkcji takich jak Port Security to próżno ich szukać na routerach.
Obsługa NAT-owania
NAT jest kolejną z funkcji, których próżno szukać na przełącznikach warstwy trzeciej. NAT jest obsługiwany w pełni procesowo więc mocno obciąża CPU. Z tego też powodu próżno go szukać na switchach L3.
Maksymalny rozmiar tablicy routingu
Tutaj routery najbardziej prężą muskuły. Pełna tablica BGP? Nie ma problemu! Tymczasem przełączniki warstwy trzeciej najzwyczajniej w świecie nie są w stanie obsłużyć dużych tablic routingu z uwagi na zbyt mało zasobów sprzętowych.
Maksymalna przepustowość
Ta różnica wynika głównie z umiejscowienia obu sprzętów. Przełączniki umieszczane w LAN-ie generalnie muszą sobie radzić z o wiele wyższymi przepustowościami a 10Gbps nikogo już tam dzisiaj nie zaskakuje. Tymczasem routery podłączane do WAN-u rzadko kiedy muszą obsługiwać przepustowości większe niż 1Gbps. Dlaczego? Łącza WAN najzwyczajniej w świecie mają zdecydowanie mniejsze możliwości.
Koszt urządzenia
Tutaj jest to oczywiście dość relatywna kwestia zależna od kupowanego modelu. Jeżeli jednak spojrzymy na urządzenia z wyższej półki (czyli obsługujące duże wolumeny ruchu) to routery są znacznie droższe od przełączników z uwagi na konieczność posiadania dużo większych zasobów sprzętowych.
Prędkość przełączania ruchu
W tej kwestii zdecydowanie dominują przełączniki za sprawą wcześniej wspomnianych układów ASIC oraz chociażby CEF. Nic dodać, nic ująć.
Ilość portów
I tym samym dochodzimy do ostatniej kwestii czyli ilości portów. Przełączniki jako urządzenia w dużej mierze zapewniające dostęp do sieci charakteryzują się największym zagęszczeniem portów. Mamy tu zatem do czynienia z setkami portów (co też znacznie obniża koszt per port). Routery typowo mają kilka-kilkanaście portów więc tam ten koszt jest ZNACZNIE wyższy.
Jak widzisz urządzenia, które na pierwszy rzut oka mogą się wydawać dość podobne okazują się od siebie różnić dość znacznie. Na zakończenie tego artykułu chciałbym Cię pozostawić z jednym spostrzeżeniem: zwróć uwagę na to, że funkcje poszczególnych urządzeń sieciowych z każdym rokiem przenikają się coraz bardziej.
Mamy rozwiązania takie jak:
- coraz wydajniejsze firewalle mogące również pełnić funkcje routerów,
- wbudowane moduły IPS/IDS,
- kontrolery sieci bezprzewodowych zintegrowane z przełącznikami.
Producenci non stop się prześcigają w wymyślaniu coraz to nowych kombinacji.
Powinieneś książki pisać – świetnie się czyta!
Hmmm… 🤔 Dałeś mi do myślenia Michał, jeszcze nikt mi tego dotychczas nie zasugerował 🙂 Dzięki!
Hm hm a czy w tabelce w kolumnie z Routerem w polu \’Maksymalny rozmiar tablicy routingu\’ nie powinno być czasem \’Duży\’ ? ;>
Już poprawione 🙂 Dzięki Grzegorz za uważne czytanie!
nie ma sprawy , lubię czytać wasze artykuły bo zawsze można dowiedzieć się czegoś nowego (ew zweryfikować wiedzę) ale fotka \’L3 switch\’ mnie po prostu zniszczyła 😀 (brakuje gwiazdek żeby ją ocenić )
W jaki dokładnie sposób, zastosowanie przełączników L3 w sieci ogranicza działanie protokołu STP?
Na szybko do głowy przychodzą mi Paweł 3 scenariusze:
1. W warstwie dystrybucyjnej masz dwa przełączniki warstwy trzeciej z linkiem L3 między nimi. W tej sytuacji połączenia z accessu do dystrybucji nie tworzą \”trójkątów\” (pętli) w warstwie drugiej przez co STP nie musi blokować żadnych interfejsów.
2. W warstwie dystrybucyjnej masz dwa przełączniki zestackowane lub w VSS dzięki czemu tworzą one logicznie jedno urządzenie. Dwa uplinki z accessu do dystrybucji masz natomiast zagregowane w Etherchannel/Port Channel co również daje logicznie jedno połączenie. W tej sytuacji również nie ma pętli i STP nie musi nic blokować.
3. Zarówno w warstwie access jak i w dystrybucji masz przełączniki warstwy trzeciej a między nimi połączenia L3. W tej sytuacji STP jest wyeliminowane całkowicie.
Mam nadzieję, że pomogłem 🙂
Taki prosty scenariusz: chcę, żeby z VLAN 100 widoczne były tylko porty 80 i 443 w VLAN 200, a z VLAN 101 porty 80, 443 i 22 w VALN 200. Na routerze nie jest to żaden problem – czy switch L3 pozwoli na obsłużenie takiego przypadku?
Cześć Jarek! Jeśli dobrze rozumiem opisany przez Ciebie scenariusz to zamierzony efekt można osiągnąć stosując extended access list. Przełącznik warstwy trzeciej w dystrybucji bez problemu to obsłuży.
To już przerosło moje możliwości, w końcu zamówiłem porządny router RT-AC68U Asusa i teraz mam super wyniki 🙂
Mam neta z Airmax, super mi działa po kablu bo prawie 300Megabitów mam w testach, ale po wifi ok 70max, bo router mam kiepski. Muszę kupić jakiś dobry router – możecie polecić jakiś taki, aby działało mi jak po kablu? Na pewno musi być AC, lapka mam z super kartą, telefon też z AC, co polecacie sprawdzonego aby działało na całe mieszkanie?
Cześć Jacek! A jaki router masz obecnie? Zanim rozważysz zakup nowego to może się okazać, że z obecnego można by wycisnąć trochę więcej zakładając, że pozwala na dokonfigurowanie niektórych parametrów.
Router dostałem od Airmax – TPLinka 1200AC. Wszystko fajnie działa, no ale Wi-Fi niestety słabo idzie – czy to samsung s8 czy to laptop (karty mam też AC) zasięg słaby jest.
Hmm… dziwne. Mógłbyś ściągnąć inSSIDer lub inny odpowiednik i podlinkować screenshot tego jak wygląda pasmo bezprzewodowe z perspektywy klienta? Ewentualnie jeśli masz laptop z Windowsem może być rezultat komendy \”netsh wlan show networks mode=bssid\”
Cześć Damian,
Coraz częściej spotykam się z przykładem topologii gdzie są przełączniki L2 i UTM np. FortiGate pełniący rolę routera na brzegu sieci realizującego routing pomiędzy VLAN z jednoczesnym filtrowaniem ruchu pomiędzy VLAN-mi. Oczywiście w tym celu wykorzystuje aktualne sygnatury.
Chodzi mi o to, czy taki układ jest wystarczający co do zasady i czy jednak nie powinien być jednak przełącznik L3 pomiędzy UTM i przełącznikami L2? Ale co wtedy z filtrowaniem ruchu wewnątrz sieci.
To samo mnie zastanawia od dawna. Praktycznie zawsze instaluje UTM na brzegu i świetną opcją jest filtrowanie ruchu pomiędzy VLAN z systemami typu IDS/IPS – niestety urządzenia UTM wyposażone w porty 10GbE są bardzo drogie a stosując urządzenia z portami 1GbE trafiamy na wąskie gardło przy routingu w LAN kosztem szczelnego centralnego filtrowania pakietów. Jak to powinno wyglądać przy zastosowaniu przełączników L3, aby nadal mieć pełną kontrolę filtrowania ruchu w sieci?
Cześć, wykorzystanie UTM na brzegu sieci zamiast routera jest bardzo dobrym rozwiązaniem – tak jak już zostało to wspomniane są to zazwyczaj bardzo wydajne jednostki (co się też przekłada na cenę), które wyśmienicie pełnią rolę zarówno routera brzegowego jak i firewalla/IDF/etc. Wykorzystanie przełączników L3 w takiej sieci jest już raczej zbędne i w zasadzie sprowadza się do kwestii rozmiaru samej sieci i rozmiaru domen rozgłoszeniowych. W mniejszych sieciach ze spokojem można się pokusić o podłączenie switchy L2 bezpośrednio do UTM. W większych natomiast faktycznie może być problem – z jednej strony dokładamy L3 core layer, z drugiej strony na brzegu sieci stoi UTM, który chcemy aby był wykorzystywany do inspekcji ruchu między poszczególnymi lokalnymi subnetami. W takiej sytuacji uważam, że warto odpuścić L3 core i zamiast tego zainwestować w mocniejszego UTMa, który nadal by pełnił rolę gatewaya dla poszczególnych podsieci, niezależnie od tego czy pod spodem mamy access w L2 czy w L3. Oczywiście nie jest tak, że sytuacja jest czarno-biała – przypadek przypadkowi nierówny 🙂
Cześć Damian,
Na pierwszy rzut oka, switche Cisco serii 6500 mają wszystkie funkcje, które powinien mieć router. Zatem czy można je stosować zamiast routera?
Pozdrawiam
Cześć Piotr,
To oczywiście zależy od konkretnego przypadku użycia, natomiast jeżeli faktycznie C6500 spełnia wszystkie wymogi funkcjonalne to można się pokusić o użycie go jako urządzenie brzegowe w roli routera. Niemniej jednak radziłbym zawczasu się upewnić jaki to może mieć wpływ na zasoby tych przełączników. Platforma 6500 generalnie jest dość mocna więc dużo zależy od tego czym chcesz ją obciążyć. Na pewno unikałbym powierzenia jej obsługi opasłej tablicy BGP 😉
Mam starego cisco L3 z serii 3550, robi routing między kilkunastoma SVI, podpięte są do niego 4 przełączniki TRUNKami… Jest to już stary przełącznik zastanawiam się czy wydajny router był by w stanie go zastąpić, zastanawiam się nad uruchomieniem RouterOS Mikrotik na x86, mam maszynę z Xeonem e5 i 16GB ramu + 2 karty lan intela dualport co daje 4 wydajne porty 1gbps + port do zarządzania zintegrowany. Do przełączników L2 wpioł bym się portchannel (bonding) i trunki dalej poleciały by już z przełączniów L2. Czy to będzie działać… Wydajnościowo myślę że Xeon + karty intela powinny wydolić.
Cześć Netnb! Sprzętowo wygląda to obiecująco i \”na czuja\” powiedziałbym, że to zadziała. Natomiast dużo zależy od działania samego RouterOS – niestety nie mam z tym systemem wystarczająco dużo doświadczenia by udzielić Ci jednoznacznej odpowiedzi czy opisywane przez Ciebie rozwiązanie zadziała. Jeżeli zdecydujesz się na pójście w tym kierunku to daj proszę znać jak się zachowuje opisany setup!
Cześć, szukam rozwiązania następującego problemu:
router dostawcy internetu (R1) jest schowany w skrzynce w mieszkaniu nad drzwiami wejściowymi.
R1 udostępnia tylko 1 port LAN, a poza tym kompletnie nie mogę nic w nim konfigurować.
W tej samej skrzynce mam również osadzone końcówki 4 przewodów Ethernet, które są rozprowadzone na pokoje.
Na pewno chciałbym wstawić własny router z wifi (R2), aby mieć pełną kontrolę nad wspólną siecią domową (LANy w pokojach + wifi).
Mógłbym to zrobić tuż za routerem dostawcy (do R1 wpiąć R2, a do R2 wpiąć 4x LAN), ale wolałbym jednak wziąć ten router do jednego z pokojów.
Czy optymalnie będzie do R1 wpiąć router przewodowy (R3 z wpiętymi wszystkimi LAN-ami, a jednym z nich byłby router wifi R2), czy może sprawdziłby się tutaj zarządzalny switch trzeciej warstwy i czy da się w ogóle przy switchu okiełznać całą sieć z dwoma serwerami DHCP (R1 i R2 lub R3)?
Niestety nie mogę wyłączyć DHCP na R1 dostawcy. Zależy mi na jednej wspólnej sieci domowej, gdzie wszyscy widzą się wewnątrz i mają dostęp do internetu (LAN + wifi).
R1 – R3 – LAN1 – R2 (wifi)
———— – LAN2, 3, 4
Nie jestem ekspertem, ale może podpowiem takie rozwiązanie.
Koło R1 wsadzasz zarządzalny switch (min. 5 portów – czyli w praktyce może 6, ale na pewno 8 portowy).
R1 spinasz w p1 na switchu i wrzucasz w jeden vlan np. 10
LAN2,3,4 wpinasz w kolejne porty i ustawiasz inny vlan np. 20
LAN1 robisz jako vlan trunk i po drugiej stronie wpinasz do routera (w którym możesz zarządzać interfejsami) lub „rozpisać” znów na zarządzanym switchu.
Drogi autorze
nie istnieje coś takiego jak „te uczucie”. Jest „TO uczuciE” lub „TE uczuciA”. Liczba pojedyncza i liczba mnoga. Prowadzisz fajna, rzeczowa stronke, dobrze by bylo, zebys nie promowal glupiej maniery, ktora szerzy sie wsrod niewyksztalconej czesci spoleczenstwa.
Drogi Patryku.
Postaram się zapamiętać i nie popełniać więcej tego błędu. Przywiązuję dość dużą uwagę do poprawności językowej, ale jak widać nawet wicemistrzostwo województwa w konkursie ortograficznym na poziomie licealnym nie potrafi uchronić przed niektórymi błędami.
Prowadzenie strony i pisanie tekstów pod własnym nazwiskiem niestety niesie za sobą ryzyko popełniania błędów i wystawiania się na ostrzał.
Dziękuję za relatywnie kulturalne zwrócenie uwagi. Nie zgodzę się natomiast z zarzutem „promowania” głupiej maniery. Promowanie raczej zakłada intencjonalne działanie – a wymieniony błąd popełniłem nieświadomie.
Na zakończenie – zwracając komuś tego typu uwagę warto zadbać by samemu być nienagannym. Gdzie się podziały wszystkie polskie znaki w Twojej wypowiedzi Patryku?
Z sieciowym pozdrowieniem!