Blog (3)
Komentarze (44)
Recenzje (0)

Router vs. Switch (cz.2)

@silvestrRouter vs. Switch (cz.2)10.10.2011 01:01

Po dość długiej przerwie kontynuuje wpis. Praca i przygotowania do CCNP pochłaniają mi tyle czasu, że ciężko zagospodarować coś na bloga.

Dawno dawno temu...

W poprzednim wpisie rozpracowaliśmy sobie router. Zgodnie z obietnicą teraz przyszła kolej na jego kolegę czyli switch. Aby temat omówić dokładnie zahaczymy lekko o zamierzchłe czasy. Switch jest urządzeniem , które zastąpiło hub. Zastąpiło je ponieważ ów hub działał tylko w warstwie 1. Oznacza to, że urządzenie otrzymując ramkę powielało ją i przesyłało każdym portem jakie tylko miało do każdego podłączonego urządzenia bez ingerencji w jej strukturę (ramki). Jedynym portem, przez który ramka nie była wysyłana to port, z którego była odebrana. Każdy komputer wpięty do huba musiał ramkę odebrać i sprawdzić czy jest do niego adresowana, a co za tym idzie każdy komputer słyszał wszystko co działo się w sieci. Teoretycznie komputer przetwarzał ramkę do 2 warstwy i jeśli okazało się, że nie jest do niego adresowana wtedy ramkę odrzucał. W praktyce każdy mógł (i dalej może) sobie podmienić MAC i IP komputera i podsłuchać komunikację. Dziś ciężko już o hub w sieci, aczkolwiek zdarzają się jeszcze jakieś schowane pod biurkiem u niczego nieświadomych użytkowników.

Model OSI po raz kolejny i nie ostatni

Jak widać wszystko się kręci wokół warstw. Tekst traktuje o switchach więc musimy poznać trochę warstwę 2 czyli warstwę dostępu do sieci. Z ową warstwą związane są adresy MAC (Media Access Control - angielska nazwa 2 warstwy) czyli adresy fizyczne urządzeń. Są to adresy urządzeń, na które teoretycznie nie mamy wpływu. Teoretycznie, ponieważ w praktyce możemy modyfikować owe adresy, ale nie o tym tekst. MAC adres składa się z 48 bitów, przedstawionych heksadecymalnie. Każdy bajt jest zazwyczaj oddzielony dwukropkiem.

Przykład MAC adresu: 00:1A:E8:DA:3D:45

MAC adresy urządzeń są przydzielane im przez producentów. Producenta da się rozpoznać po pierwszych 24 bitach. Przykładowo adresy zaczynające się od 00:1A:E8 to adresy należące do urządzeń firmy Siemens. Każdy producent może sobie wykupić/wystąpić (sam do końca nie wiem, oświećcie mnie roszę w komentarzach) o daną pule, po której będą rozpoznawane jego urządzenia, a jeśli chcesz sprawdzić swojego producenta karty sieciowej to zapraszam tutaj. Ramka w 2 warstwie posiada w swoim nagłówku informację o źródłowym i docelowym adresie MAC. Podobnie jak w 3 warstwie gdzie mieliśmy źródłowy i docelowy adres IP.

Switch - jak to działa?

Przewaga switcha nad hubem polega na tym, że zaczął on podejmować decyzję gdzie przesłać pakiet na podstawie docelowego MAC adresu ramki. Switch otrzymując ramkę sprawdza jej adres MAC i wysyła na odpowiedni port. Tylko teraz pytanie: na który? W przypadku routera mieliśmy tablice routingu, natomiast w przypadku switcha mamy do czynienia z tablicą CAM (Content Addressable Memory). W tablicy CAM switch przechowuje informacje o tym, na którym porcie znajduje się dany MAC adres. Ma ona prostszą budowę od tablicy routingu ponieważ są w niej odwzorowane tylko MAC adresy na porty do których należą. Przykładowo:

0012.80b6.4cd8 Port 1
 0012.80b6.4cd9 Port 2
 0014.6915.4100 Port 3 
 0018.b921.9200 Port 4
 0018.b921.9278 Port 5
 0018.b974.528f  Port 6
 0019.0617.660f  Port 7
 0019.0617.6610 Port 8

Informacje w tablicy CAM są umieszczane w niej w sposób dynamiczny. Po wpięciu urządzenia w port przełącznika, urządzenie zaczyna wysyłać ramki. W każdej ramce umieszczona zostaje informacja o źródłowym i docelowym adresie MAC. Przełącznik zapamiętuje sobie w tablicy CAM informacje o źródłowym adresie MAC wraz z informacją, na którym porcie ów MAC się odezwał. Po pierwszym uruchomieniu przełącznika tablica CAM jest pusta. teraz pytanie: skoro jest pusta, a na jej podstawie podejmowane są decyzje gdzie przesłać ramkę, to skąd przełącznik ma wiedzieć gdzie ta ramkę wysłać? Przełącznik w takim przypadku roześle ramkę na wszystkie aktywne porty z wyjątkiem portu, na którym ramka została odebrana. Jako adres docelowy zostanie podany adres MAC urządzenia, z którym host chce się komunikować. Jeśli w sieci istnieje host z podanym MAC adresem to odpowie on na żądanie, w przeciwnym wypadku nic się nie stanie. Jeśli urządzenie odpowie, wtedy to przełącznik przy okazji nauczy się nowego adresu MAC wraz z portem, na którym dane urządzenie odpowiedziało. Ruch wygenerowany przez switch w tym przypadku nazywa się unknown unicast. Aby ułatwić posłużę się przykładem. Poniżej mamy taką oto topologię:

4 komputery zostały podłączone do switcha. Zakładamy, że PC1 zna adres MAC należący do PC2. Wysyła on ramkę do PC2 z adresem źródłowym 00:00:00:00:00:0A i docelowym 00:00:00:00:00:0B. Ramka idzie na port switcha, a ten nie ma żadnej informacji na temat adresu 00:00:00:00:00:0B. Powiela zatem ramkę na każdym porcie, oprócz tego na którym ją odebrał. PC4 odbiera ramkę i sprawdza adres docelowy. Nie zgadza mu się, zatem porzuca ramkę. PC3 robi to samo. PC2 odbiera ramkę, sprawdza adres docelowy i odpowiada na nią, ponieważ jest kierowana do niego. Teraz ramka wracając zostawia po sobie ślad na porcie do którego komputer został wpięty. Tym śladem jest wpis w tablicy CAM, który mówi że na tym porcie jest wpięte urządzenie 00:00:00:00:00:0B. Od teraz kiedy te 2 urządzenia będą chciały się komunikować, switch wysle ramkę bezpośrednio do 00:00:00:00:00:0B, ponieważ będzie widział o nim informację w tablicy CAM.

Podsumowując

Aby komunikacja przebiegała prawidłowo urządzenia potrzebują też adresów IP. Ponadto aby komunikacja przebiegała bez routera jedynie z wykorzystaniem switcha to muszą być to adresy z jednej podsieci. Zaletą switcha nad routerem jest na pewno jego prędkość, gdyż ruch jest przetwarzany sprzętowo, a nie software'owo jak w przypadku routera.

To tyle pokrótce o switchu. Temat jest bardzo rozległy i tutaj mamy naprawdę bardzo krótkie podstawy.

Czekam na baty w komentarzach bo przyznam się, że ciężko było mi ten rozległy temat zawrzeć w tak krótkim tekście :)

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.