2 Adresacja IP w sieciach komputerowych - Strona główna ... · 3.4 Cechy sieci komputerowych ......

Preview:

Citation preview

Spis Treści

1 Podstawy systemu dwójkowego i arytmetyki binarnej....................................11.1 System dziesiętny..............................................................................................................11.2 System dwójkowy (binarny)..........................................................................................21.3 Inne systemy liczbowe.....................................................................................................31.4 Konwersja liczb systemu dziesiętnego do dwójkowego .......................................31.5 Konwersja liczb systemu dwójkowego do dziesiętnego........................................81.6 Dodatkowe informacje o liczbach dwójkowych.......................................................9

2 Adresacja IP w sieciach komputerowych...............................................................92.1 Adres IP a system dwójkowy..........................................................................................92.2 Struktura adresu IP i klasy adresowe.......................................................................102.3 Adres sieci i adres rozgłoszeniowy............................................................................132.4 Dostępna liczba adresów IP.........................................................................................152.5 Publiczne i prywatne adresy IP..................................................................................162.6 Adresacja klasowa i bezklasowa................................................................................172.6.1 Wady adresacji klasowej.......................................................................................................172.6.2 Maska i adres podsieci...........................................................................................................182.6.3 Zapis maski podsieci...............................................................................................................212.6.4 Adresacja bezklasowa............................................................................................................242.6.5 Nadsieci (supernets) i sumaryzacja..................................................................................262.7 Maski podsieci o różnej długości................................................................................30

3 Wprowadzenie do budowy sieci komputerowych...........................................343.1 Funkcje sieci komputerowych....................................................................................343.2 Urządzenia sieciowe i hosty.........................................................................................353.3 Ogólny model sieci komputerowej............................................................................363.4 Cechy sieci komputerowych........................................................................................393.5 Topologie sieci komputerowych................................................................................403.6 Komunikacja w sieciach komputerowych...............................................................423.7 Stos protokołów TCP/IP................................................................................................453.7.1 Model stosu TCP/IP.................................................................................................................453.7.2 Rola urządzeń sieciowych ...................................................................................................48

1 Podstawy systemu dwójkowego i arytmetyki binarnej

1.1 System dziesiętnyW codziennych zastosowaniach zwykliśmy zapisywać liczby i wartości korzystając z systemu dziesiętnego (ang. decimal, base 10). W systemie tym kolejne pozycje w zapisie liczby dziesiętnej odpowiadają kolejnym potęgom liczby 10 (pozycja to po prostu miejsce danej cyfry w liczbie):pozycja w liczbie 7 6 5 4 3 2 1potęga liczby 10 106 105 104 103 102 101 100wartość dziesiętna 1000000 100000 10000 1000 100 10 1Przykład:Liczbę 217 możemy zapisać jako sumę wielokrotności kolejnych potęg liczby 10:pozycja w liczbie 3 2 1potęga liczby 10 102 101 100wartość dziesiętna 100 10 1zapis liczby 217 2 1 7

2 * 102 + 1 * 101 + 7 * 100 = = 2 * 100 + 1 * 10 + 7 * 1 = = 200 + 10 + 7 = 217Wystarczy zapisać współczynniki (cyfry) stojące obok kolejnych potęg liczby 10, aby otrzymać postać tej liczby w systemie dziesiętnym:217 (w informatyce niekiedy stosowany jest zapis postaci: 0d217, “d”oznacza system dziesiętny)Dostępne w systemie dziesiętnym cyfry to 9,8,7,6,5,4,3,2,1 oraz 0.

1

1.2 System dwójkowy (binarny)

Komputery i maszyny cyfrowe nie stosują systemu dziesiętnego, lecz dwójkowy, zwany też binarnym (ang. binary, base 2). W systemie tym, w odróżnieniu od systemu dziesiętnego, każda cyfra może przyjmować tylko dwie wartości: “0” lub “1”. W systemie binarnym każda pozycja w danej liczbie odpowiada kolejnej potędze liczby 2:pozycja w bajcie bit 8 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1potęga liczby 2 27 26 25 24 23 22 21 20wartość dziesiętna 128 64 32 16 8 4 2 1Przykład:Tę samą liczbę 217 możemy zapisać jako sumę wielokrotności kolejnych potęg liczby 2:pozycja w bajcie bit 8 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1potęga liczby 2 27 26 25 24 23 22 21 20wartość dziesiętna 128 64 32 16 8 4 2 1zapis dwójkowy liczby 217 1 1 0 1 1 0 0 1

1 * 27 + 1 * 26 + 0 * 25 + 1 * 24 + 1 * 23 + 0 * 22 + 0 * 21 + 1 * 20 == 1 * 128 + 1 * 64 + 0 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 0 * 2 + 1 * 1 == 128 + 64 + 0 + 16 + 8 + 0 + 0 + 1 = 217Współczynniki (1 lub 0) stojące przed każdą z kolejnych potęg liczby 2 tworzą liczbę w zapisie binarnym, który dla powyższego przykładu jest następujący:11011001(używa się też notacji: 0b11011001; “b”oznacza system binarny; dzięki takiemu zapisowi od razu staje się jasne, że chodzi o liczbę dwójkową o wartości dziesiętnej 217, a nie o liczbę dziesiętną o wartości przekraczającej 11 milionów!)W systemie binarnym istnieją tylko dwie cyfry: 0 i 1.2

1.3 Inne systemy liczboweIstnieją również inne systemy liczbowe, które oparte są o kolejne potęgi innych liczb. Oto dwa najpopularniejsze z nich, które znalazły swoje zastosowanie głównie w informatyce.System szesnastkowy (heksadecymalny, ang. hexadecimal, hex), oparty o kolejne potęgi liczby 16, wykorzystywany jest między innymi do zapisu adresów fizycznych kart i interfejsów sieciowych (tzw. adresy MAC) lub adresów IPv6.W systemie szesnastkowym dostępne cyfry to 0-9 oraz A-F (A=10, B=11, C=12, D=13, E=14 i F=15)I tak, liczba 217 zapisana w systemie heksadecymalnym ma postać:13 * 161 + 9 * 160 = D * 161 + 9 * 160 =208 + 9 = 217Współczynniki (0-9, A-F) stojące przed każdą z kolejnych potęg liczby 16 tworzą liczbę w zapisie szesnastkowym, który dla powyższego przykładu jest następujący:D9(niekiedy zapis przyjmuje postać: 0xD9; “x”oznacza system hexadecymalny)Ta sama liczba zapisana w systemie ósemkowym (oktalnym, ang. octal), który jest używany między innymi w systemach wywodzących się z systemu UNIX (także w Linuxie) np. do definiowania uprawnień użytkowników poleceniem ‘chmod’, i który wykorzystuje cyfry od 0 do 7, wyglądać będzie tak:331(niekiedy zapisywany w postaci: 0o331, “o”oznacza system ósemkowy)1.4 Konwersja liczb systemu dziesiętnego do dwójkowego Ponieważ jesteśmy od urodzenia zaznajomieni z systemem dziesiętnym, a maszyny cyfrowe, które stworzyliśmy, stosują system dwójkowy, umiejętność “tłumaczenia” (przeliczania, czy też konwersji) liczb dziesiętnych na dwójkowe jest przydatna, szczególnie tym osobom, które zawodowo zajmują się maszynami cyfrowymi. Umiejętność ta jest również konieczna dla tworzenia prawidłowych schematów adresowania w sieciach IP, obsługi urządzeń sieciowych i projektowania sieci komputerowych każdej wielkości.

3

Jak wiadomo liczba w systemie dwójkowym zapisywana jest za pomocą cyfr 0 i 1. Taka pojedyncza cyfra to “bit”. Opisuje ona elementarną (czyli podstawową, najmniejszą) jednostkę informacji. Z kolei ciąg ośmiu bitów nazywany jest “bajtem” (ang. byte) lub “oktetem” (ang. octet)Jeden bajt to 8 bitów, zatem taka 8-cyfrowa liczba dwójkowa może przyjąć wartości pomiędzy 0 (00000000). a 255 (11111111). W tajniki przeliczania liczb dziesiętnych na dwójkowe wprowadzić ma nas niniejszy rozdział.Zapis bajtowy jest powszechnym zapisem liczb dwójkowych, zwłaszcza w kontekście sieci komputerowych, dlatego w dalszej części tego opracowania będziemy używali takiego właśnie zapisu. Oznacza to, iż niezależnie od wielkości danej liczby, zapis będzie obejmował pełne 8 bitów, nawet jeśli kilka wiodących (najbardziej skrajnych z lewej strony) bitów przyjmie wartość 0. To tak, jakby do zapisu liczb dziesiętnych od 0 do 9999 używać zawsze czterech cyfr, np. 0004, 0012, 0278, 2462 itd.Poniższa tabela pokazuje wszystkie osiem bitów w bajcie, odpowiadające im kolejne potęgi liczby 2 oraz ich dziesiętne wartości.pozycja w bajcie bit 8 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1potęga liczby 2 27 26 25 24 23 22 21 20wartość dziesiętna 128 64 32 16 8 4 2 1Przykłady:liczba dziesiętna 0 przyjmie postać 00000000,liczba dziesiętna 5 przyjmie postać 00000101,liczba 0d126 przyjmie postać 01111110,a liczba dziesiętna 217 oczywiście będzie wyglądała tak: 11011001

Jak widać wiodące zera pozostają w zapisie liczby; w ten sposób wszystkie cyfry w ramach bajtu są widoczne.W bajcie, podobne jak w każdym innym ciągu bitów, bit skrajny z lewej strony nazywany jest bitem najbardziej znaczącym (ang. MSB – Most Significant Bit), a bit ostatni z prawej strony zwany jest bitem najmniej znaczącym (ang. LSB – Least Significant Bit):bit 8 (MSB) bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 (LSB)27 26 25 24 23 22 21 20128 64 32 16 8 4 2 1

4

Chcąc dokonać konwersji liczby dziesiętnej X na odpowiadającą jej liczbę dwójkową, należy:1. odszukać największą dziesiętną wartość potęgi liczby 2 (czyli 1, 2, 4, 8, 16 itd), która jest mniejsza lub równa X2. na odpowiadającej jej pozycji (patrz powyższy diagram) w poszukiwanej liczbie dwójkowej zapisać “1”, a na wszystkich wolnych pozycjach w tym samym bajcie na lewo od tej pozycji zapisać “0”3. odjąć od X znalezioną w punkcie 1. wartość potęgi liczby 24. jeśli otrzymana w wyniku odejmowania wartość jest większa od 0, przyjąć ją za nowy X i przejść do punktu 1. 5. jeśli otrzymana wartość jest równa 0, zapisać “0” na wszystkich pozostałych wolnych pozycjach w tym samym bajcie. Jest to koniec konwersji.Przykład 1:Dokonać zamiany liczby dziesiętnej 217 na jej postać dwójkową.1. X=217; największa potęga liczby 2, która wciąż jest mniejsza lub równa 217 to 128 (27)2. w poszukiwanej liczbie dwójkowej, na pozycji odpowiadającej wartości 128 zapisujemy “1”:Liczba dwójkowa ma postać:27 26 25 24 23 22 21 20128 64 32 16 8 4 2 1

1 . . . . . . .

3. 217 – 128 = 894. 89 > 0, a więc nowy X=89 i wracamy do punktu 11. X=89; największa potęga liczby 2, która wciąż jest mniejsza lub równa 89 to 64 (26)2. na pozycji odpowiadającej wartości 64 zapisujemy “1”:Liczba dwójkowa ma postać:27 26 25 24 23 22 21 20128 64 32 16 8 4 2 1

1 1 . . . . . .

5

3. 89 – 64 = 254. 25 > 0, a więc nowy X=25 i wracamy do punku 11. X=25; największa potęga liczby 2, która wciąż jest mniejsza lub równa 25 to 16 (24)2. na pozycji odpowiadającej wartości 16 zapisujemy “1”, a na wolnej pozycji na lewo od niej zapisujemy “0”:Liczba dwójkowa ma postać:

3. 25 – 16 = 94. 9 > 0, a więc nowy X=9 i wracamy do punku 11. X=9; największa potęga liczby 2, która wciąż jest mniejsza lub równa 9 to 8 (23)2. na pozycji odpowiadającej wartości 8 zapisujemy “1”:Liczba dwójkowa ma postać:

3. 9 –8 = 14. 1 > 0, a więc nowy X=1 i wracamy do punku 11. X=1; największa potęga liczby 2, która wciąż jest mniejsza lub równa 1 to 1 (20)2. na pozycji odpowiadającej wartości 1 zapisujemy “1”, a na wolnych pozycjach na lewo od niej zapisujemy “0”:

27 26 25 24 23 22 21 20128 64 32 16 8 4 2 11 1 0 1 . . . .

27 26 25 24 23 22 21 20128 64 32 16 8 4 2 11 1 0 1 1 . . .

6

Liczba dwójkowa ma postać:

3. 1 – 1 = 0 i nie ma więcej pozycji do zapisania4. Koniec zamiany – poszukiwana postać dwójkowa liczby 217 to 11011001

Przykład 2:Dokonać zamiany liczby 0d136 na jej postać dwójkową.Zapis “0d . . .” oznacza, że mamy do czynienia z liczbą dziesiętną.1. X=136; największa potęga liczby 2, która wciąż jest mniejsza lub równa 136 to 128 (27)2. w poszukiwanej liczbie binarnej, na pozycji odpowiadającej wartości 128 zapisujemy “1”:Liczba dwójkowa ma postać:

3. 136 – 128 = 84. 8 > 0, a więc nowy X=8 i wracamy do punktu 11. X=8; największa potęga liczby 2, która wciąż jest mniejsza lub równa 8 to 8 (23)2. w liczbie binarnej, na pozycji odpowiadającej wartości 8 zapisujemy “1”, a na wszystkich wolnych pozycjach z lewej strony zapisujemy “0”:Liczba dwójkowa ma postać:

27 26 25 24 23 22 21 20128 64 32 16 8 4 2 11 1 0 1 1 0 0 1

27 26 25 24 23 22 21 20128 64 32 16 8 4 2 11 . . . . . . .

27 26 25 24 23 22 21 20128 64 32 16 8 4 2 11 0 0 0 1 . . .

7

3. 8 – 8 = 0, więc na wszystkich pozostałych wolnych pozycjach zapisujemy “0”.Liczba dwójkowa ma postać:

4. Koniec konwersji. Poszukiwana postać dwójkowa liczby 136 to 10001000

1.5 Konwersja liczb systemu dwójkowego do dziesiętnegoRównie ważna, jak konwersja liczb dziesiętnych na dwójkowe, jest umiejętność wykonania operacji odwrotnej – czyli zamiany liczb dwójkowych na dziesiętne. Na szczęście operacja ta jest stosunkowo nieskomplikowana i polega na sumowaniu wielokrotności kolejnych potęg liczby 2.Dla przypomnienia, oto wartości dziesiętne kolejnych potęg liczby 2 i ich pozycja w liczbie zapisanej w systemie dwójkowym:Pozycja w bajcie 8 7 6 5 4 3 2 1Potęga liczby 2 27 26 25 24 23 22 21 20Wartość dziesiętna 128 64 32 16 8 4 2 1A oto przykładowy zapis dwójkowy pewnej liczby:Pozycja w bajcie 8 7 6 5 4 3 2 1Potęga liczby 2 27 26 25 24 23 22 21 20Wartość dziesiętna 128 64 32 16 8 4 2 1Liczba dwójkowa 1 1 0 1 1 0 0 1Wartość dziesiętną tej liczby otrzymamy mnożąc kolejne cyfry (wartości bitów, czyli 0 lub 1) liczby dwójkowej przez odpowiadające im wartości dziesiętne i sumując tak otrzymane iloczyny.Dla powyższego przykładu, operacja ta wygląda następująco:1 * 128 + 1 * 64 + 0 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 217

27 26 25 24 23 22 21 20128 64 32 16 8 4 2 11 0 0 0 1 0 0 0

8

1.6 Dodatkowe informacje o liczbach dwójkowychJak wiemy, jeden bajt to osiem bitów. Na ośmiu bitach można zapisać liczby dwójkowe: 00000000, 11111111, a także wszystkie kombinacje pośrednie. Najmniejsza wartość wynosi 0d0, a największa 0d255.Na czterech bitach można zapisać liczby dwójkowe w zakresie od 0000 do 1111, czyli dziesiętnie od 0 do 15.Jeśli przy pomocy jednego bajtu można wyrazić liczby dziesiętne od 0 do 255, to oznacza to, iż dostępnych jest 256 różnych wartości. Podobnie, dla czterech bitów, rożnych wartości jest 16.W ogólności, na “n” bitach można zapisać liczby o wartości dziesiętnejod 0 do 2n – 1, czyli 2n różnych liczb.

2 Adresacja IP w sieciach komputerowych

2.1 Adres IP a system dwójkowyAdres IP to nic innego, jak unikalny identyfikator komputera, który umożliwia mu komunikację w sieci komputerowej opartej o rodzinę protokołów TCP/IP. Protokół to z kolei wspólny “język”, który daje pewność, że posługujące się nim komputery będą się wzajemnie rozumiały. Istnieje wiele protokołów komunikacyjnych i związanych z nimi typów adresów, jednak protokół IP jest najpowszechniejszy, po części dzięki temu, że właśnie ten protokół używany jest w sieci Internet. Adres IP, który większości ludzi znany jest w postaci czterech liczb dziesiętnych oddzielonych kropkami (np. 192.168.4.56) jest niczym innym, jak specyficznym, dziesiętnym zapisem liczby dwójkowej.Każda z czterech liczb dziesiętnych w adresie IP odpowiada jednemu bajtowi (czyli ośmiu bitom) w systemie binarnym. Te cztery bajty tworzą razem jedną 32-bitową liczbę dwójkową. Kropki w adresie nie mają żadnego znaczenia i są w nim obecne tylko i wyłącznie dla ułatwienia ludziom zapisu i operacji na adresach IP. Taki zapis adresu IP nazywa się w terminologii angielskiej “dotted-decimal notation”, czyli „notacją dziesiętną z kropkami”.Przykład:Adres 192.168.4.56 możemy przepisać do postaci dwójkowej:11000000.10101000.00000100.00111000

9

lub, bez kropek:11000000101010000000010000111000Powyższa 32-bitowa liczba dwójkowa, zapisana w innych powszechnie używanych systemach, ma wartość:0d323223660

0xC0A80438

0o30052002070Wszystkie powyższe wartości reprezentują dokładnie tę samą liczbę i, z punktu widzenia komputera, nie różnią się niczym. Jednak dla nas najwygodniejszym sposobem zapisu jest zapis dziesiętny 4-bajtowy z kropkami rozdzielającymi poszczególne bajty.2.2 Struktura adresu IP i klasy adresoweAdres IP składa się z dwóch podstawowych części: adresu sieci i adresu hosta (host to nic innego, jak komputer, serwer lub dowolne urządzenie podłączone do sieci komputerowej i posiadające adres IP). Strukturę adresu IP ilustruje poniższy diagram:

Adres sieci jest identyfikatorem określającym pewien zbiór hostów. Zaś adres hosta to pole, którego używa się, aby wskazać konkretne hosty w tym zbiorze.Można przywołać analogię do numerów klatek schodowych i numerów mieszkań – adres sieci odpowiada numerowi klatki schodowej, w której z kolei jest wiele numerów mieszkań. Numery mieszkań mogą się powtarzać pomiędzy różnymi klatkami schodowymi (ale nie w ramach jednej klatki!), lecz podanie razem numeru klatki i numeru mieszkania zawsze jednoznacznie wskazuje na konkretny lokal.W zależności od tego, w którym miejscu przebiega podział między częścią adresu opisującą adres sieci, a częścią opisującą adres hosta, wyróżnia się określone klasy adresów IP.10

Klasa A (ang. class A): adresy klasy A są przeznaczone dla bardzo dużych sieci o wielu hostach. W adresie klasy A tylko pierwszy bajt wskazuje adres sieci, a pozostałe trzy bajty określają adresy hostów.Pierwszy (najbardziej skrajny z lewej strony, czyli MSB) bit adresu klasy A ma zawsze wartość “0”, a zatem pierwszy bajt może przyjmować wartości dziesiętne miedzy 0 (0b00000000) a 127 (0b01111111). Wartość 127 (0b01111111) pierwszego bajtu (czyli adresy IP w zakresie 127.0.0.0 – 127.255.255.255) jest zarezerwowana na potrzeby tzw. adresacji własnej (ang. loopback addresses), która jest używana przez hosty w celu wysyłania pakietów do samych siebie (najczęściej w celach testowych). Podobnie wartość 0 (0b00000000) pierwszego bajtu jest zarezerwowana i nie może być użyta do adresacji hostów.

Bajt 1 Bajt 2 Bajt 3 Bajt 4Adres sieci Adres hosta0Adresy klasy A mogą zatem przyjmować wartości z zakresu:1.0.0.0 – 126.255.255.255 (adresy 0.x.x.x i 127.x.x.x są zarezerwowane)Istnieje 126 różnych adresów sieci należących do klasy A (liczba ta wynika z dostępnych wartości, jakie może przyjąć pierwszy bajt adresu). W każdej sieci istnieje 16777216 potencjalnych adresów hostów.Klasa B (ang. class B): adresy klasy B przeznaczone są dla średnich i dużych sieci. W adresie tej klasy dwa bajty definiują adres sieci, a dwa bajty przeznaczone są dla adresów hostów.Pierwsze dwa bity adresu klasy B maja zawsze wartość “10”, zatem pierwszy bajt może przyjmować wartości dziesiętne między 128 (0b10000000) a 191 (0b10111111).

Bajt 1 Bajt 2 Bajt 3 Bajt 4Adres sieci Adres hosta1 0Adresy klasy B należą do zakresu:128.0.0.0 – 191.255.255.255Istnieją 16384 różne adresy sieci należące do klasy B (liczba ta wynika z dostępnych wartości, jakie mogą przyjąć pierwsze 2 bajty adresu). W każdej sieci jest dostępnych 65536 adresów hostów.

11

Klasa C (ang. class C): adresy należące do klasy C przeznaczone są dla małych sieci o ograniczonej liczbie hostów. Pierwsze trzy bajty definiują adres sieci, a ostatni bajt określa adres hosta.Pierwsze trzy bity w adresie klasy C mają zawsze wartość “110”, w związku z tym wartości dziesiętne, które może przyjąć pierwszy bajt, należą do zakresu 192 (0b11000000) do 223 (0b11011111)

Bajt 1 Bajt 2 Bajt 3 Bajt 4Adres sieci Adres hosta1 1 0Adresy klasy C mogą przyjmować wartości:192.0.0.0 – 223.255.255.255Istnieją 2097152 różne adresy sieci należące do klasy C (liczba ta wynika z dostępnych wartości, jakie mogą przyjąć pierwsze 3 bajty adresu). W każdej sieci może być 256 potencjalnych adresów hostów.Dodatkowo wyróżniono dwie klasy adresów specjalnych, które nie mogą być używane do adresacji sieci i hostów w sieciach IP, a o których tu wspominamy dla zapewnienia pełnej informacji.

Klasa D (ang. class D): adresy klasy D są używane jako adresy grup w technologii “IP multicast”, która daje hostom możliwość realizacji pojedynczej transmisji do wielu odbiorców należących do wspólnej grupy multikastowej. Adresy klasy D są zawsze adresami grup odbiorców i nigdy nie są przypisane do interfejsu sieciowego hosta (czyli nie są adresami źródłowymi pakietów IP).Pierwsze cztery bity w adresie klasy D mają zawsze wartość “1110”, a zatem wartości dziesiętne, które może przyjąć pierwszy bajt mieszczą się w zakresie od 224 (0b11100000) do 239 (0b11101111)

Bajt 1 Bajt 2 Bajt 3 Bajt 4Adres grupy multikastowej1 1 1 0Adresy grup multikastowych mogą przyjmować wartości:

224.0.0.0 – 239.255.255.255

Istnieje 268435456 adresów grup multikastowych.

Klasa E (ang. class E): adresy tej klasy zostały zarezerwowane przez organizację IETF (Internet Engineering Task Force) do celów badawczych i nie są dostępne do użytku w Internecie i sieciach IP.

12

Pierwsze cztery bity w adresie klasy E mają zawsze wartość “1111”, co oznacza, że pierwszy bajt adresu klasy E może przyjąć wartości dziesiętne pomiędzy 240 (0b11110000) a 255 (0b11111111).

2.3 Adres sieci i adres rozgłoszeniowyNie wszystkie wartości pola “adres hosta” mają identyczne znaczenie - istnieją pewne adresy w każdej z klas, które pełnią specjalną rolę i nie mogą być wykorzystane do zaadresowania hostów.Tymi adresami są adres sieci (ang. network address, network ID) i adres rozgłoszeniowy (ang. broadcast address).Adres sieci to adres IP, w którym wszystkie bity pola “adres hosta” mają wartość “0”.

Przykłady:w klasie A, dla hosta o adresie IP 10.1.2.3, adresem sieci jest adres 10.0.0.0w klasie B, dla hosta o adresie IP 172.16.24.45, adresem sieci jest 172.16.0.0w klasie C, dla hosta o adresie IP 192.168.12.221, adresem sieci jest 192.168.12.0Warto zaznaczyć, że adres sieci nie jest przypisany do żadnego urządzenia czy interfejsu. Adres ten wynika z adresu IP urządzenia lub interfejsu i klasy, do której ten adres IP należy. Adresy sieci są używane przez routery do kierowania pakietów IP do miejsc przeznaczenia. Dzięki temu nie ma potrzeby przechowywania w pamięci routerów wszystkich adresów hostów – jeden adres sieci opisuje wszystkie adresy hostów wchodzące w jej skład. W ogólności, urządzenia sieciowe o tym samym adresie sieci mogą komunikować się ze sobą bezpośrednio. Urządzenia o rożnych adresach sieci, nawet jeśli współdzielą tę samą fizyczną infrastrukturę (np. są podłączone do tego samego huba lub switcha), nie mogą komunikować się bez pośrednictwa routera. Dlatego ważne jest aby każde urządzenie znało nie tylko swój adres IP, ale także adres swojej sieci. Adres rozgłoszeniowy to adres IP, w którym wszystkie bity pola “adres hosta” mają wartość “1”.

13

Przykłady:w klasie A, dla hosta o adresie IP 10.1.2.3, adresem rozgłoszeniowym jest adres 10.255.255.255w klasie B, dla hosta o adresie IP 172.16.24.45, adresem rozgłoszeniowym jest 172.16.255.255w klasie C, dla hosta o adresie IP 192.168.12.221, adresem rozgłoszeniowym jest 192.168.12.255Podobnie jak adres sieci, adres rozgłoszeniowy nie jest przypisany do żadnego urządzenia, czy interfejsu, lecz wynika on z adresu IP i klasy, do której ten adres IP należy. Adres rozgłoszeniowy używany jest do przesyłania pakietów IP do wszystkich hostów w danej sieci.Utworzony w opisany wyżej sposób adres rozgłoszeniowy nazywany jest w terminologii angielskiej “network broadcast” lub “directed broadcast”.Pakiety IP z tego typu adresem docelowym mogą być przesyłane przez routery, ponieważ posiadają w adresie docelowym adres sieci. Wiele routerów jednak (w tym routery firmy Cisco) nie przesyła ich bez dodatkowej konfiguracji, gdyż pakiety tego typu mogą być użyte do ataku typu DoS (ang. Denial Of Service – zablokowanie usługi).W sieciach IP funkcjonuje też innego typu adres rozgłoszeniowy, w którym wszystkie bity (zarówno w adresie sieci jak i adresie hosta) mają wartość “1”. Taki adres ma postać 255.255.255.255 i nazywany jest w terminologii angielskiej “all networks broadcast” lub “local broadcast”.Pierwsza nazwa dobrze oddaje istotę tego adresu – jego użycie wskazuje na chęć wysłania pakietu IP do wszystkich sieci i wszystkich hostów. Jednak pakiety tego typu, tak jak wymaga tego dokument RFC1812, nie mogą być przekazywane przez routery, stąd ich zasięg ograniczony jest do jednej, lokalnej sieci, i stąd także bierze swoje źródło druga z nazw.RFC (ang. Requests For Comments) to zbiór dokumentów tworzonych przez społeczność internetową i mających na celu ustandaryzowanie mechanizmów i protokołów używanych w sieci Internet. Są to, po zatwierdzeniu przez organizację IETF (Internet Engineering Task Force) i uzyskaniu pełnego statusu RFC, tzw. de-facto standardy, które są uwzględniane przez twórców oprogramowania i sprzętu sieciowego, wliczając w to największe firmy jak Cisco, Juniper Networks, HP, IBM itp. Nowe RFC często uzupełniają lub zastępują starsze.Pełna baza dokumentów RFC znajduje się w Internecie pod adresem:

http://www.ietf.org/rfc

14

2.4 Dostępna liczba adresów IPJeśli znamy adres sieci i adres rozgłoszeniowy, możemy łatwo określić które adresy spośród dostępnych w danej sieci mogą być przypisane do hostów czy interfejsów sieciowych. Recepta jest prosta – wszystkie pozostałe.Dla przypomnienia – mając do dyspozycji n bitów w adresie hosta, można utworzyć różnych 2n wartości. Dwie spośród tych wartości tworzą adres sieci (liczbowo najmniejszy, czyli pierwszy) i adres rozgłoszeniowy (liczbowo największy, czyli ostatni) i nie mogą być przypisane hostom.Zatem, dla zaadresowania hostów lub interfejsów sieciowych pozostaje do dyspozycji2n - 2adresów IP.

Przykłady:w klasie A można użyć 224 – 2, czyli 16777214 adresów IP w każdej ze 126 sieciw klasie B można użyć 216 – 2, czyli 65534 adresów IP w każdej z 16384 sieciw klasie C można użyć 28 – 2, czyli 254 adresów IP w każdej z 2097152 sieciW klasie B istnieje jeden specjalny zakres adresów IP:

169.254.0.0 – 169.254.255.255

Adresy z tego zakresu to tak zwane adresy lokalne (ang. link-local); używane są przez mechanizm autokonfiguracji (ang. autoconfiguration) w sytuacji, gdy adres IP nie mógł być nadany ręcznie przez administratora lub dynamicznie przez usługę DHCP (ang. Dynamic Host Configuration Protocol). W takim przypadku, jeśli host jest zgodny z RFC3927, może wygenerować dla swego użytku adres z powyższego zakresu. Jeśli inne hosty w danej sieci również są zdolne do wygenerowania tego typu adresów, możliwa jest komunikacja między nimi, nie wymagająca żadnej interwencji administratora sieci.

Jedyną niedogodnością tego typu adresacji jest fakt, że zgodnie z przywołanym wyżej RFC3927, routery nie mogą przekazywać pakietów wysyłanych do tego zakresu adresów. A zatem, jak wskazuje angielska terminologia (link-local), użycie takich adresów jest ograniczone do jednej, lokalnej sieci. Skoro routery używają adresu sieci (w tym przypadku jest to adres 169.254.0.0) do przesłania pakietów IP, to adres sieci musi być unikalny, inaczej pakiety nie trafią do miejsca przeznaczenia. Tego nie da się zagwarantować w przypadku mechanizmu autokonfiguracji, gdyż zawsze używany jest jeden i ten sam adres sieci.

15

2.5 Publiczne i prywatne adresy IPAby komunikacja w sieciach IP przebiegała sprawnie, czy to w ramach jednej zamkniętej sieci (na przykład jednego przedsiębiorstwa lub organizacji), czy to w ramach globalnego Internetu, adresy nie mogą się powtarzać. W związku z tym niezbędne stało się zapewnienie unikalności adresów IP. Początkowo to zadanie spoczywało w rękach organizacji InterNIC (ang. Internet Network Information Center). Organizacja ta została zastąpiona inną, o nazwie IANA (ang. Internet Assigned Numbers Authority), która obecnie administruje adresami IP, dbając o to, aby nie zdarzyło się, że te same adresy IP zostaną przydzielone więcej niż jeden raz. IANA powołała regionalne organizacje zajmujące się rejestrowaniem i przydzielaniem adresów IP. Każda z nich jest tzw. regionalnym rejestratorem (ang. regional registry):• Asia Pacific Network Information Center (APNIC)• American Registy for Internet Numbers (ARIN)• Reseux IP Europens Network Coordination Centre (RIPE NCC)Organizacje te administrują pulami adresów IP i przydzielają z nich bloki adresów operatorom i użytkownikom końcowym.W normalnych warunkach końcowy użytkownik zwraca się po adresy IP do swojego dostawcy usług internetowych (ISP – ang. Internet Service Provider), a dostawca przydziela adresy z bloku uprzednio jemu nadanego przez dostawcę nadrzędnego lub bezpośrednio przez regionalnego rejestratora.Istnieją jednak zastosowania, w których sieci nie mają bezpośredniego styku z siecią Internet, bądź są sieciami zamkniętymi (np. sieci banków, szpitali, wojska itp.) i nie potrzebują unikalnych w skali globu adresów IP. Dla takich zastosowań organizacja IETF opublikowała dokument RFC1918, w którym wydzieliła w każdej z klas adresowych po jednym bloku adresów do tzw. użytku prywatnego:• 1 sieć klasy A: 10.0.0.0

• 16 sieci klasy B: od 172.16.0.0 do 172.31.0.0

• 256 sieci klasy C: od 192.168.0.0 do 192.168.255.0Adresy należące do powyższych bloków nie wymagają rejestracji organizacji rejestracyjnych i mogą być użyte przez każdego do dowolnych potrzeb. Należy tutaj zaznaczyć, że, zgodnie z RFC1918, routery dostawców usług internetowych powinny odrzucać pakiety adresowane do powyższych bloków, co ma zapewnić utrzymanie unikalności adresów, nawet w przypadku, gdyby ktoś jednak użył adresów prywatnych w sieci Internet. Większość dostawców usług stosuje się do zaleceń RFC1918 i blokuje łączność od i do adresów prywatnych.

16

2.6 Adresacja klasowa i bezklasowa

2.6.1 Wady adresacji klasowejStosowanie adresów zgodnie z ich przynależnością do poszczególnych klas nazywane jest często adresacją klasową (ang. classfull addressing). W adresacji opartej o klasy adresów założono, że to wartość adresu IP (a konkretnie pierwszego bajtu) ma określać w którym miejscu przebiega granica pomiędzy adresem sieci a adresem hosta. Możliwości jest tyle, ile klas: trzy. Taki schemat adresacji niesie z sobą pewne, nie zawsze korzystne, konsekwencje. Jak już wiemy, tylko urządzenia o tym samym adresie sieci mogą komunikować się z sobą bezpośrednio. Urządzenia o rożnych adresach sieci, nawet jeśli współdzielą tę samą fizyczną infrastrukturę (np. są podłączone do tego samego huba lub switcha), nie mogą komunikować się bez pośrednictwa routera.Skąd urządzenia wiedzą, że należą do danej sieci? W przypadku adresacji klasowej, przynależność do danej klasy adresowej (A, B lub C) wynika wprost z wartości liczbowej pierwszego bajtu:• wartość pierwszego bajtu 1 – 126 oznacza klasę A• wartość pierwszego bajtu 128 – 191 oznacza klasę B• wartość pierwszego bajtu 192 – 223 oznacza klasę CZ kolei dla każdej z klas znana jest wielkość i liczba dostępnych sieci:• dla klasy A jest to 16777214 dostępnych adresów w każdej sieci, a sieci takich jest 126• dla klasy B jest to 65534 dostępnych adresów, a sieci takich jest 16384• dla klasy C jest to 254 adresów w każdej z 2097152 sieci

Warto zauważyć, że użycie adresów klasowych powoduje, iż dostępnych jest w sumie tylko 2113662 różnych adresów sieci – to dalece zbyt mało na potrzeby całego globu.Adresy klasy C nadają się do użycia w małej lub średniej wielkości sieci, gdzie liczba hostów nie przekracza 250. Adresy klasy B pozwolą zaadresować nawet bardzo dużą sieć, obejmującą tysiące hostów. A adresy klasy A? Trudno sobie wyobrazić sieć komputerową, która potrzebowałaby ponad 16 milionów adresów!

17

Użycie adresów klasowych powoduje, że musimy trzymać się trzech schematów adresowania, zgodnych z klasami A, B i C, co prowadzi na ogół do marnotrawienia adresów IP. Jeśli zastosujemy adresy klasy C, najmniejszej, pod względem liczby hostów, do zaadresowania małej sieci złożonej z kilku bądź kilkunastu (a nawet kilkudziesięciu) komputerów, spowodujemy, że z 254 dostępnych adresów wykorzystane są tylko nieliczne. Podobna, a nawet skrajna sytuacja ma miejsce w przypadku adresacji łącza typu punkt-punkt – zamiast niezbędnych do tego celu dwóch adresów IP, stosując adresację z klasy C marnujemy 252 adresy.Z kolei gdybyśmy chcieli zaadresować sieć o liczbie hostów przekraczającej 254, na przykład sieć o 300 hostach, jedynym wyjściem byłoby użycie adresu klasy B, w którym dostępne są 65534 hosty. W takim przypadku 65234 adresy pozostaną niewykorzystane.Jak widać, trzy możliwe klasy adresacji pozostawiają wiele do życzenia, jesli chodzi o efektywne użycie adresów IP. Przydałby się mechanizm pozwalający bardziej elastycznie określać położenie granicy pomiędzy adresem sieci a adresem hosta. Na szczęście mechanizm taki istnieje. Konieczność lepszego wykorzystania adresów IP, zwłaszcza w dobie lawinowego wręcz rozrostu sieci Internet obserwowanego w ostatnich latach, doprowadziła do wprowadzenia adresacji bezklasowej (ang. classless addressing). Z adresacją tego typu wiąże się angielskojęzyczny termin CIDR (ang. Classless InterDomain Routing), który odnosi się do routing internetowego z wykorzystaniem adresów bezklasowych.Adresacja bezklasowa pozwala zerwać z ograniczeniami narzuconymi przez klasy adresowe i lepiej wykorzystać dostępne adresy IP, których niedobór staje się coraz bardziej dokuczliwy. 2.6.2 Maska i adres podsieciZ adresacją bezklasową nierozerwalnie związane jest pojęcie maski podsieci (ang. subnet mask lub subnetwork mask). Maskę podsieci podaje się jako uzupełnienie adresu IP, a zapisuje się ją w sposób podobny do adresu IP, czyli za pomocą czterech bajtów wyrażonych w systemie dziesiętnym i rozdzielonych kropkami. Szczegóły zapisu maski podsieci zostaną przedstawione w następnej sekcji.Maska określa która część adresu IP jest adresem sieci, a która część jest adresem hosta, pozwalając tym samym zerwać ze sztywnym podziałem adresów na klasy. Przy czym można spotkać się z rozróżnieniem pomiędzy adresem sieci (wciąż wyznaczonym przez klasę A, B lub C danego adresu), a adresem podsieci. Adres podsieci jest dodatkowym polem, utworzonym poprzez “pożyczenie” kilku bitów z pola “adres hosta” na potrzeby adresu podsieci:

18

172 17 159 4510101100 00010001 10011111 00101101adres sieci adres podsieci adres hostaPowyższy adres, jak wskazuje na to wartość pierwszego bajtu (0d172) jest adresem klasy B o adresie sieci 172.17.0.0, lecz “pożyczono” w nim osiem bitów z adresu hosta na potrzeby adresu podsieci. Dzięki temu, w ramach tej samej sieci 172.17.0.0, można wyodrębnić 256 podsieci (28, gdyż pożyczono 8 bitów), z których każda ma 254 użyteczne adresy hostów (28 – 2, gdyż pozostało 8 bitów dla hostów)Co ważne, wielkość pola “adres podsieci” wcale nie musi być ograniczona do wielokrotności jednego bajtu, co ilustruje kolejny przykład:172 17 159 4510101100 00010001 1 0 0 1 1 1 1 1 00101101adres sieci adr. podsieci adres hostaPowyższy adres, co widzimy po wartości pierwszego bajtu (0d172) jest wciąż adresem klasy B, lecz tym razem “pożyczone” zostało tylko pięć bitów z adresu hosta na potrzeby adresu podsieci. Dzięki temu, w ramach tej samej sieci 172.17.0.0, można wyodrębnić tylko 32 podsieci (czyli 25, gdyż pięć bitów definiuje podsieć), z których każda ma 2046 użytecznych adresów hostów (czyli 211 - 2, gdyż pozostałe 11 bitów definiuje adres hosta).Adresy poszczególnych podsieci możemy otrzymać przez wyliczenie wszystkich możliwych kombinacji bitów w polu “adres podsieci”, przy zachowaniu bitów pola “adres hosta” ustawionych na “0”.Przykład:Poniższa lista pokazuje adresy kolejnych podsieci dla przykładowej sieci klasy B 172.17.0.0 i pola “adres podsieci” o długości pięciu bitów. Oznacza to, że z dwóch pełnych bajtów adresu hosta pożyczone zostało 5 bitów i utworzyły one dodatkowe pole “adres podsieci” w ramach trzeciego bajtu.Kolorem szarym zaznaczono dodatkowo te bity trzeciego bajtu, które nie należą do pola “adres podsieci”, lecz pozostały w polu “adres hosta”. Jednak poprzez samą swoją obecność, wpływają one na dziesiętną wartość tego bajtu.172.17.8.0 - pole “adres podsieci” ma wartość 00001000172.17.16.0 - pole “adres podsieci” ma wartość 00010000172.17.24.0 - pole “adres podsieci” ma wartość 00011000172.17.32.0 - pole “adres podsieci” ma wartość 00100000172.17.40.0 - pole “adres podsieci” ma wartość 00101000...

19

172.17.152.0 - pole “adres podsieci” ma wartość 10011000172.17.160.0 - pole “adres podsieci” ma wartość 10100000...172.17.240.0 - pole “adres podsieci” ma wartość 11110000172.17.248.0 - pole “adres podsieci” ma wartość 11111000Adres 172.17.159.45 z przykładu należy do podsieci 172.17.152.0. Do podsieci tej należą wszystkie adresy hostów z zakresu:172.17.152.1 – 172.17.159.254Adres 172.17.159.255 jest adresem rozgłoszeniowym tej podsieci czyli posiada wszystkie bity pola “adres hosta” ustawione na wartość “1”.Jak obliczyć adres podsieci i adres rozgłoszeniowy dla podanego adresu wyjaśnimy w części poświęconej adresacji bezklasowej.

Także adresy innych klas mogą być “wyposażone” w podsieci, na przykład adres klasy C:192 168 5 6611000000 10101000 00000101 0 1 0 0 0 0 1 0adres sieci adr. podsieci adr. hostaPowyższy adres, jak wskazuje na to wartość pierwszego bajtu (0d192) jest adresem klasy C, lecz poprzez “pożyczenie” czterech bitów z adresu hosta na potrzeby adresu podsieci, w ramach tej samej sieci 192.168.5.0 można wyodrębnić 16 (czyli 24, gdyż cztery bity definiują podsieć) podsieci, z których każda będzie miała 14 użytecznych adresów hostów (czyli 24 - 2, gdyż 4 bity definiują adres hosta).Możliwe adresy podsieci (czyli różne kombinacje bitów w polu “adres podsieci”, przy zachowaniu wartości “0” w polu “adres hosta”) są następujące:192.168.5.16192.168.5.32192.168.5.48192.168.5.64192.168.5.80...192.168.5.224192.168.5.240

20

Będący przedmiotem przykładu adres IP 192.168.5.66 należy do podsieci 192.168.5.64. Do podsieci tej należą wszystkie adresy hostów z następującego zakresu:192.168.5.65 – 192.168.5.78Adresem rozgłoszeniowym tej podsieci jest adres 192.168.5.79 (wszystkie bity pola “adres hosta” są w nim ustawione na wartość “1”).Jak obliczyć adres podsieci i adres rozgłoszeniowy dla podanego adresu IP zostanie pokazane w rozdziale poświęconym adresacji bezklasowej.

2.6.3 Zapis maski podsieciJak wspomnieliśmy wcześniej, to właśnie maska podsieci, powiązana z danym adresem IP, wskazuje jaka liczba bitów określa podsieć (jest to suma długości pola “adres sieci” i pola “adres podsieci”) a tym samym, jaka jest liczba bitów pola “adres hosta”. Maska podsieci, tak, jak adres IP, jest 32-bitową liczbą binarną. I tak, jak adres IP, zapisujemy ją w postaci dziesiętnej, rozdzielając każdy z czterech bajtów kropkami. Z reguły maska towarzyszy adresowi IP, bo tylko wtedy ma ona sens.W 32-bitowej liczbie dwójkowej reprezentującej maskę podsieci, bity ustawione na wartość “1” wskazują adres sieci (i podsieci) w danym adresie IP, zaś bity ustawione na “0” wskazują adres hosta.Przykład:Adres IP: 11001001.11000001.10000011.00000101 (201.193.131.5)Maska: 11111111.11111111.11111111.00000000 (255.255.255.0)„Jedynki”w zapisie dwójkowym maski pokazują, które bity adresu IP opisują adres sieci. W powyższym przykładzie adres sieci obejmuje 24 bity (trzy pierwsze bajty) adresu IP. Z kolei „zera” w masce określają bity adresu hosta, które w naszym przykładzie zajmują ostatni bajt adresu.Poprawna maska podsieci jest ciągła, to znaczy że składa się z jednego ciągu bitów ustawionych na wartość “1”, zaczynającego się od skrajnego lewego bitu pierwszego bajtu. Innymi słowy, ciąg “jedynek” w masce musi zaczynać się od skrajnego lewego bitu i nie może być rozdzielony “zerami”.

21

Przykładowe poprawne maski podsieci:128.0.0.0 10000000.00000000.00000000.00000000248.0.0.0 11111000.00000000.00000000.00000000255.192.0.0 11111111.11000000.00000000.00000000255.255.252.0 11111111.11111111.11111100.00000000255.255.255.240 11111111.11111111.11111111.11110000Przykładowe niepoprawne maski podsieci:160.0.0.0 10100000.00000000.00000000.00000000127.0.0.0 01111111.00000000.00000000.00000000255.0.255.0 11111111.00000000.11111111.00000000255.255.255.253 11111111.11111111.11111111.11111101Pomimo, że zgodnie z RFC950 maska nie musi być ciągła, to jednak to samo RFC mocno zaleca, aby jednak stanowiła ona ciągły blok bitów zaczynający się od najbardziej znaczącego bitu (MSB) adresu. Stosując się do tego zalecenia, większość urządzeń sieciowych nie obsługuje nieciągłych masek.Skoro maska podsieci ma być ciągła, to oznacza to, że w ramach jednego bajtu, może ona przyjąć tylko nieliczne, dokładnie określone wartości:wartość bitowa wartość dziesiętna11111111 25511111110 25411111100 25211111000 24811110000 24011100000 22411000000 19210000000 12800000000 0Inne wartości nie są dozwolone, gdyż byłyby to maski nieciągłe.Maskę podsieci podajemy w dwóch możliwych notacjach: najpopularniejszej, w której maskę zapisuje się jako cztery dziesiętne liczby rozdzielone kropkami i towarzyszące adresowi IP, lub w notacji podającej tylko długość ciągu jedynek tworzących maskę.Ponieważ maska podsieci musi być ciągła, podanie jej długości wyrażonej w liczbie bitów, które są w niej ustawione na “1” (ang. bit count notation) jest wystarczające. I tak maska 255.0.0.0 może być zapisana jako /8, gdyż jej długość wynosi 8 bitów (to znaczy, że jest w niej 8 “jedynek”). Znak “/” odziela maskę od adresu IP. 22

Przykłady:maska 128.0.0.0 = /1maska 255.255.0.0 = /16maska 255.255.255.0 = /24maska 255.255.255.240 = /28maska 255.255.255.252 = /30maska 255.255.255.255 = /32 maska 0.0.0.0 = /0 – taka maska określa “dowolny adres w dowolnej sieci”, używają jej routery, lecz nie spotkamy jej przypisanej do adresu jakiegokolwiek hosta.Notacja taka jest bardzo wygodna, gdyż pozwala na zapisanie adresu IP i powiązanej z nim maski w jednym prostym wyrażeniu, zamiast zapisu w dwóch wierszach.

Na przykład zapis:

192.168.5.66255.255.255.240

możemy zastąpić krótszym: 192.168.5.66/28

Zapis maski typu “bit count” często spotyka się w diagramach ilustrujących topologię sieci, gdyż zajmuje on mniej miejsca, niż zapis tradycyjny. W niniejszym opracowaniu zapis ten będzie używany na równi z notacją tradycyjną.Adres sieci z maską podaną w notacji “bit count” (czyli np. 10.12.134.0/24) nazywany jest często prefiksem (ang. prefix), a długość maski w tym zapisie nazywamy długością prefiksu (ang. prefix length).Spoglądając na adresy klasowe zauważymy, że w ich przypadku również możemy mówić o masce, z tym, że wówczas określa się ją mianem maski sieci, dla zaznaczenia, że sieć nie jest podzielona na podsieci. Maska ta dla poszczególnych klas ma następujące długości:

• klasa A: maska 255.0.0.0, • klasa B: maska 255.255.0.0• klasa C: maska 255.255.255.0

Powyższe maski to tzw. maski domyślne (ang. default mask, native mask), wynikające z przynależności adresów do danych klas. Mimo, że dla adresów klasowych granica między adresem sieci i adresem hosta wciąż może wynikać z wartości pierwszego bajtu adresu, współczesne implementacje protokołów z rodziny TCP/IP nie biorą tego faktu pod uwagę i oczekują podania maski sieci wraz z adresem IP, jako mechanizmu bardziej uniwersalnego.

23

W związku z tym, można powiedzieć, że istniejące w każdej z klas A, B i C bloki adresów prywatnych są opisane następującymi prefiksami:

• klasa A: 10.0.0.0 maska 255.0.0.0 prefiks 10.0.0.0/8 • klasa B: 172.16.0.0 maska 255.240.0.0 prefiks 172.16.0.0/12• klasa C: 192.168.0.0 maska 255.255.0.0 prefiks 192.168.0.0/16

2.6.4 Adresacja bezklasowaPonieważ adresacja klasowa jest przestarzała i od dawna nie jest stosowana, konfigurując każde urządzenie sieciowe, czy to router, czy serwer, czy też zwykły komputer, zawsze, obok adresu IP, musimy wyspecyfikować także maskę podsieci. Podanie maski umożliwia urządzeniu, a konkretnie części jego oprogramowania odpowiedzialnej za komunikację z użyciem protokołu IP, określenie które adresy są osiągalne bezpośrednio, a z którymi należy łączyć się z wykorzystaniem routera.A zatem to maska, a nie wartość pierwszego bajtu, wyznacza w tym przypadku podział adresu IP na adres (pod)sieci i adres hosta. Dzięki temu, że maska może przyjmować dowolną długość w bitach (od 0 do 32), granica między adresem sieci a adresem hosta przestaje być zgodna z wymogami którejkolwiek z klas adresowych. Stąd nazwa “adresacja bezklasowa” (ang. classless addressing).Wprowadzenie adresacji bezklasowej spowodowało, że choć dobrze jest znać klasy adresowe i ich charakterystykę, to jednak można nareszcie zapomnieć o ograniczeniach związanych z ich stosowaniem i przestać przywiązywać nadmierną wagę do wartości liczbowej pierwszego bajtu adresu.Oprogramowanie TCP/IP stosuje funkcję logiczną AND (iloczyn logiczny) w celu określenia adresu podsieci na podstawie podanego adresu IP i maski.Funkcja AND operuje na dwóch bitach, a jej wynik jest równy “1” wtedy i tylko wtedy, kiedy obydwa bity mają wartość “1; w pozostałych przypadkach wynik jest równy “0”:

Aby móc sensownie planować adresację IP w sieciach komputerowych, musimy posiadać umiejętność obliczania następujących parametrów i adresów na podstawie podanego adresu IP i maski:

wartość bitu A 0 0 1 1wartość bitu B 0 1 0 1A AND B 0 0 0 1

24

• adres podsieci – obliczamy go stosując funkcję AND do kolejnych, odpowiadających sobie par bitów adresu IP i maski• adres rozgłoszeniowy – wyznaczamy go mając obliczony adres podsieci i przyjmując wartości wszystkich bitów w polu “adres hosta” na “1”• możliwe adresy hostów – należą do zakresu od adresu podsieci powiększonego o 1 aż do adresu rozgłoszeniowego pomniejszonego o 1• adres następnej podsieci – oblicza się dodając 1 do adresu rozgłoszeniowego

Przykład 1: Proszę określić adres podsieci dla podanego adresu IP i maski. Proszę podać także możliwe adresy hostów i adres rozgłoszeniowy dla tej podsieci oraz adres kolejnej podsieci.adres IP: 172.17.159.45maska: 255.255.248.0adres IP 10101100 00010001 10011111 00101101maska 11111111 11111111 11111000 00000000adres AND maska (bin) 10101100 00010001 10011000 00000000adres podsieci (dec) 172 17 152 0adres rozgłoszeniowy (bin) 10101100 00010001 10011111 11111111adres rozgłoszeniowy (dec) 172 17 159 255adres kolejnej podsieci (bin) 10101100 00010001 10100000 00000000adres kolejnej podsieci (dec) 172 17 160 0Kolorem szarym oznaczono bity pola “adres hosta” wyznaczone przez maskę.Skoro zatem znany jest adres podsieci (172.17.152.0) i adres rozgłoszeniowy (172.17.159.255), można określić adresy hostów. W tym przypadku jest to zakres:172.17.152.1 – 172.17.159.254Adres kolejnej podsieci to 172.17.160.0

25

Przykład 2: Zadanie polega na określeniu adresu podsieci dla podanego adresu IP i maski. Należy podać możliwe adresy hostów i adres rozgłoszeniowy dla tej podsieci oraz adres następnej podsieci.Adres IP: 192.168.5.66/28adres IP 11000000 10101000 00000101 01000010maska 11111111 11111111 11111111 11110000adres AND maska (bin) 11000000 10101000 00000101 01000000adres podsieci (dec) 192 168 5 64adres rozgłoszeniowy (bin) 11000000 10101000 00000101 01001111adres rozgłoszeniowy (dec) 192 168 5 79adres kolejnej podsieci (bin) 11000000 10101000 00000101 01010000adres kolejnej podsieci (dec) 192 168 5 80Kolorem szarym oznaczono bity pola “adres hosta” wyznaczone przez maskę.Skoro zatem znany jest adres podsieci (192.168.5.64) i adres rozgłoszeniowy (192.168.5.79), można określić adresy hostów. W tym przypadku jest to zakres:192.168.5.65 – 192.168.5.78Adres następnej podsieci to 192.168.5.802.6.5 Nadsieci (supernets) i sumaryzacjaAdresacja bezklasowa pozwoliła zerwać z ograniczeniami narzuconymi przez klasy adresowe, jeśli chodzi o liczbę sieci i możliwą dla danej sieci liczbę hostów. To maska podsieci określa która część adresu IP jest adresem (pod)sieci, a która adresem hosta.Przy tym długość maski (czyli liczba “jedynek”) bezpośrednio wpływa na liczbę możliwych do zaadresowania hostów: im dłuższa maska podsieci, tym mniej dostępnych adresów hostów i odwrotnie, im krótsza maska, tym więcej bitów przeznaczonych jest dla hostów.Jeśli zastosujemy maskę krótszą, niż maska domyślna dla danej sieci, otrzymamy adres będący zbiorem kilku sieci, a więc “nadsiecią” (ang. supernet). A skoro maska jest krótsza, to, jak już wiemy, w takiej “nadsieci” może być więcej komputerów, serwerów itp.

26

Przykład:adres sieci: 192.168.6.0maska: 255.255.254.0(w równoważnym zapisie: 192.168.6.0/23)Jak widzimy, maska jest o jeden bit krótsza od domyślnej maski klasy C, która standardowo ma maskę o długości 24 bitów (255.255.255.0 = /24), i do której należy przykładowa sieć.W postaci binarnej powyższy adres sieci i maska mają postać następującą:adres sieci 11000000 10101000 00000110 00000000maska 11111111 11111111 11111110 00000000W tabeli kolorem szarym zaznaczyliśmy te bity, które tworzą adres hosta. Są one wyznaczone przez 23-bitową maskę. A zatem nastąpiła tutaj “pożyczka odwrotna”: zamiast pożyczać z pola “adres hosta” na rzecz podsieci, tym razem jeden bit adresu sieci został pożyczony na rzecz hostów. W ten sposób liczba adresów hostów zwiększyła się dwukrotnie. Jest dla nich dostępne 9 bitów, czyli można zaadresować 29 - 2 = 510 hostów.Adresy hostów mogą mieć wartości:192.168.6.1192.168.6.2...192.168.6.255192.168.7.0192.168.7.1...192.168.7.254Spośród powyższych adresów, adres 192.168.6.255 normalnie byłby adresem rozgłoszeniowym sieci 192.168.6.0/24, a adres 192.168.7.0 byłby adresem sieci 192.168.7.0/24. Tutaj jednak należą one do środka zakresu dostępnych adresów IP i jak najbardziej mogą być przypisane do hostów, oczywiście przy założeniu bezklasowej adresacji i bezklasowego routingu.Tym samym można stwierdzić, że nadsieć z powyższego przykładu obejmuje swoim zakresem dwie sieci:192.168.6.0/24 i 192.168.7.0/24

27

Adres 192.168.6.0 jest adresem sieci, a adres 192.168.7.255 jest adresem rozgłoszeniowym nadsieci 192.168.6.0/23Bez użycia nadsieci, aby umożliwić zaadresowanie 510 hostów, należałoby zastosować sieć klasy B (bo sieć klasy C może obsłużyć tylko do 254 hostów) i podzielić ją na 128 podsieci, a następnie użyć jednej z tak powstałych podsieci do adresacji.Pozostałe 127 podsieci tej samej sieci klasy B marnowałyby się.Tworzenie nadsieci nazywamy sumaryzacją (ang. summarization) lub agregacją (ang. aggregation) adresów.Sumaryzacji adresów podsieci dokonują również routery, a to w celu zmniejszenia liczby prefiksów wysyłanych do innych routerów.Routery informują się wzajemnie o tym jakie podsieci są dzięki nim osiągalne. Kolejne routery, otrzymując informacje o podsieciach, mogą, jeśli to możliwe, dokonywać sumaryzacji i wysyłać do dalszych routerów już zsumaryzowane podsieci. W ten sposób zmniejsza się zużycie pamięci i mocy obliczeniowej niezbędnych do przechowywania i przetwarzania informacji o sieciach.Poprawnie przeprowadzona sumaryzacja gwarantuje mniejszą liczbę adresów podsieci w pamięci routerów, a jednocześnie pozwala na poprawne zarządzanie ruchem pakietów.

28

Jak widzimy na powyższym przykładzie, routery A, B i C przesyłają do routera D informacje o podłączonych do nich podsieciach z maską /24. Router D mógłby wszystkie te informacje po prostu przekazać dalej, do routera E, ale zamiast tego, dokonuje on sumaryzacji adresów podsieci i do routera E przesyła już tylko zsumaryzowany adres z maską /22.Aby otrzymać zsumaryzowany adres kilku podsieci, zapisujemy ich adresy w postaci dwójkowej. Następnie, zaczynając od skrajnego lewego bitu i kierując się w prawą stronę, porównujemy odpowiadające sobie bity w każdym z adresów, aż do miejsca, w którym zaczynają być one różne. Ostatni bit, na którym adresy mają identyczne wartości, wyznacza granicę podsieci zsumaryzowanej, a tym samym długość maski zsumaryzowanego prefiksu.Należy przy tym pamiętać, że sumaryzacji dokonuje się z reguły dla sąsiadujących z sobą adresów podsieci.Dla podsieci z powyższego przykładu, proces ten będzie wyglądał następująco:192.168.1.0/24 = 11000000.10101000.00000001.00000000192.168.2.0/24 = 11000000.10101000.00000010.00000000192.168.3.0/24 = 11000000.10101000.00000011.00000000Zaznaczona linia pokazuje w którym miejscu bity adresów składowych zaczynają się od siebie różnić. Jeśli bity znajdujące się na lewo od tej linii przepiszemy bez zmian, a bity na prawo od niej ustawimy na wartość „0”, otrzymamy adres zsumaryzowanej podsieci, który w tym przypadku ma postać:11000000.10101000.00000000.00000000 = 192.168.0.0Ta sama linia wyznacza także granicę, w której w masce zsumaryzowanej podsieci kończą się „jedynki”, a zaczynają „zera”. Zatem maska zsumaryzowanej podsieci ma wartość:11111111.11111111.11111100.00000000 = 255.255.252.0 = /22Uważny czytelnik stwierdzi oczywiście, że taka podsieć i maska obejmują nie trzy, ale cztery podsieci: oprócz trzech podsieci z diagramu, w zakres zsumaryzowanej podsieci wchodzi także podsieć 192.168.0.0/24. Jeśli podsieć ta nie jest używana, to wszystko jest w porządku, ale gdyby podsieć taka istniała gdzieś w innym miejscu sieci, to taki schemat sumaryzacji byłby niewłaściwy. W takim przypadku należałoby, zamiast jednego, użyć dwóch prefiksów na routerze D: jednego, który sumaryzuje dwie podsieci 192.168.2.0/24 i 192.168.3.0/24 w jedną o prefiksie 192.168.2.0/23, oraz oryginalnego prefiksu pozostałej podsieci 192.168.1.0/24.

29

2.7 Maski podsieci o różnej długościDotychczas każdy podział sieci skutkował powstaniem pewnej liczby podsieci, które były jednakowej wielkości. Ich liczba zależała od liczby bitów pola “adres podsieci”. Podział taki, choć pozwala na znacznie efektywniejsze użycie adresów IP, niż w przypadki adresów klasowych, w dalszym ciągu ma pewne wady. Wielkość wszystkich podsieci musi być taka, jaka jest wielkość największej sieci, która wymaga zaadresowania. Jeśli firma X ma jeden duży oddział z 60 komputerami i 12 małych oddziałów po 5 komputerów w każdym, dotychczasowy sposób podziału sieci na podsieci zakładał, że wszystkie sieci będą tej samej wielkości, to znaczy z maską /26 (255.255.255.192). Maska taka pozwala zaadresować 62 hosty, co w przypadku małych oddziałów jest wysoce nadmiarowe i powoduje stratę cennych adresów IP.Aby zaradzić zbyt szybkiemu wyczerpywaniu się dostępnych adresów IP, wprowadzono możliwość podziału sieci na podsieci o różnej długości masek w ramach tej samej sieci. Mechanizm ten określany jest skrótem VLSM (ang. Variable Length Subnet Mask). Dzięki temu mechanizmowi można dzielić już istniejące podsieci na kolejne, mniejsze podsieci, każdą niezależnie od pozostałych, a wszystko to w celu zmniejszenia zużycia adresów IP. Wiadomo, że używając n bitów w polu “adres podsieci”, można uzyskać 2n podsieci. Gdy pole “adres podsieci” ma długość 1 (jeden bit), uzyskuje się dwie podsieci, a to oznacza, że sieć zostaje podzielona na 2 części. Od tej pory każdą z tych części (podsieci) można traktować jako samodzielną sieć, pod warunkiem, że zawsze pamięta się o jej aktualnej masce podsieci. I każdą z tych właśnie otrzymanych sieci można dalej, niezależnie od pozostałych, dzielić na kolejne podsieci. Cały ten proces można powtarzać, aż do uzyskania wymaganej liczby podsieci o żądanych wielkościach.

30

Przykład 1:Przykład ten i poniższy diagram ilustrują jak można dokonać podziału sieci z użyciem masek o różnej długości. Podsieć o prefiksie 172.10.100.0/22 została podzielona w taki sposób, aby zapewnić właściwą liczbę adresów IP w każdej z sieci lokalnych (przedstawionych na rysunku jako “chmurki”) oraz nadać adresy IP poszczególnym łączom, które są łączami typu punkt-punkt.Sieć podłączona do routera A jest największa – otrzymała podsieć 172.10.100.0/24. Z kolei sieci obsługiwane przez routery B i C otrzymały zakresy adresów o połowę mniejsze, powstałe z podziału podsieci 172.10.101.0/24 na dwie części. Podsieć 172.10.102.0/24 została sama dalej podzielona na różnej wielkości podsieci, które są podłączone do routerów E i F. Ostatnia podsieć, 172.10.103.0/24 została podzielona na prefiksy /30 aby zapewnić adresację łączom. Przykład ten ilustruje w jaki sposób VLSM pozwala tworzyć hierarchię podsieci. Gdyby ta sieć miała być połączona z inną, na przykład przez router E, router ten mógłby (i powinien!) dokonać sumaryzacji wszystkich zastosowanych adresów podsieci i wysyłać dalej informację o jednym tylko prefiksie: 172.10.100.0/22

31

Przykład 2:Firma X ma jeden duży oddział z 60 komputerami i 12 małych oddziałów po 5 komputerów każdy. Jak efektywnie zaadresować te sieci, mając do dyspozycji jedną sieć klasy C 192.168.234.0/24?60 komputerów wymaga 6-bitowego pola “adres hosta” (26 - 2 = 62).Dzieląc dostępną sieć 192.168.234.0/24 na dwie części z użyciem jednego bitu podsieci, otrzymujemy 2 podsieci: 192.168.234.0/25192.168.234.128/25Pierwszą z podsieci można ponownie podzielić na 2 części otrzymując kolejne podsieci, podczas gdy druga podsieć pozostaje na razie bez zmian. Otrzymujemy następujące 3 podsieci (dwie nowe, a jedną z poprzedniego podziału):192.168.234.0/26192.168.234.64/26192.168.234.128/25Jak widać w ramach jednej sieci klasy C (192.168.234.0/24) mamy do dyspozycji 3 podsieci, z których dwie mają maskę o długości 26 bitów, a jedna ma maskę 25-bitową. Czyli maski podsieci w ramach jednej sieci mają rożną długość!Jedną z podsieci o 26-bitowej masce można użyć dla adresacji dużego oddziału firmy X (niech to będzie podsieć 192.168.234.0/26), jednak wciąż pozostaje do zaadresowania 12 małych oddziałów, każdy z pięcioma komputerami.12 * 5 = 60 i wydawałoby się, że druga podsieć o 26-bitowej masce wystarczy, ale przecież nie ma podsieci o wielkości 5 adresów, najbliższa wielkość podsieci, która umożliwi zaadresowanie pięciu komputerów to podsieć 8-adresowa (3 bity w polu “adres hosta”, bo 23 = 8), choć w rzeczywistości może w niej być tylko 6 hostów.12 takich 8-adresowych podsieci wymaga 96 adresów. Ponownie, nie ma podsieci o 96 adresach, najbliższa, spełniająca wymagania co do wielkości, jest podsieć 128-adresowa. Podsieć taka wymaga tylko 1 bitu w polu “adres podsieci” i ma 7 bitów w polu “adres hosta” (27 = 128, choć w rzeczywistości może w niej być tylko 126 hostów). Podsieć taka ma maskę /25Zatem to podsieć 192.168.234.128/25 należy podzielić tak, aby znalazło się w niej 12 podsieci po 8 adresów. 32

Ponieważ nie da się dokonać podziału na 12 części (12 nie jest wartością potęgi liczby 2), należy znaleźć taką wartość potęgi liczby 2, która umożliwi podział na co najmniej tyle podsieci, ile potrzeba. Wartością taką jest w tym przypadku 16 (24).Aby podzielić podsieć 192.168.234.128/25 na 16 mniejszych podsieci, należy użyć 4 bitów podsieci, czyli wydłużyć maskę o 4 bity. Zatem nowe podsieci będą miały maskę /29 (255.255.255.248):192.168.234.128/29192.168.234.136/29192.168.234.144/29...192.168.234.216/29192.168.234.224/29192.168.234.232/29192.168.234.240/29192.168.234.248/29Spośród powstałych szesnastu podsieci, dwanaście pierwszych można użyć do zaadresowania komputerów w małych oddziałach firmy X. Zostaną cztery niewykorzystane podsieci z maską /29. Można dokonać ich sumaryzacji (agregacji) w jedną, większą podsieć: 192.168.234.224/27W rezultacie, otrzymamy 13 podsieci: 12 małych i jedną powstałą z agregacji czterech małych podsieci: 192.168.234.128/29192.168.234.136/29192.168.234.144/29192.168.234.152/29

192.168.234.160/29192.168.234.168/29192.168.234.176/29192.168.234.184/29

192.168.234.192/29192.168.234.200/29192.168.234.208/29192.168.234.216/29192.168.234.224/27

33

W zapasie pozostaną dwie podsieci, które firma X może dowolnie wykorzystać.192.168.234.64/26 192.168.234.224/273 Wprowadzenie do budowy sieci komputerowych

3.1 Funkcje sieci komputerowychAby rozumieć zasadę działania sieci komputerowych, musimy zapoznać się z podstawowymi ich elementami oraz pojęciami, które je opisują. Pojęcia te spotkać można w każdej fachowej literaturze, a więc ich znajomość ma kluczowe znaczenie. Najważniejsze to zdać sobie sprawę z tego czym jest sieć komputerowa i w jaki sposób przyczynia się ona do zwiększenia produktywności, tak nas ludzi, jak i przedsiębiorstw czy firm. Sieć komputerowa to po prostu zbiór połączonych urządzeń i systemów, takich jak komputery i serwery (ogólnie znane jako “hosty”), które mogą dzięki tej sieci się z sobą komunikować. Specjalne urządzenia sieciowe zapewniają połączenia pomiędzy różnymi typami sieci.Z sieciami komputerowymi spotykamy się w wielu miejscach: w domu, w małych firmach i wielkich korporacjach. W przypadku tych ostatnich, sieci są najbardziej rozbudowane i obejmują największą liczbę różnych typów lokalizacji.• Główna siedziba – główne biuro firmy to często miejsce, w którym sieć łączy wiele setek, czy nawet tysięcy hostów. Inne lokalizacje na ogół odwołują się, poprzez sieć komputerową, do zasobów sieci głównego biura, takich jak serwery czy dyski sieciowe.• Zdalne lokalizacje, wśród których możemy wyróżnić:

- oddział – w oddziałach pracują mniejsze grupy ludzi i komunikują się między sobą oraz z ludźmi w innych oddziałach i w siedzibie głównej, poprzez sieć komputerową. Oddziały mogą mieć własne zasoby, takie jak drukarki czy serwery, jednak większość danych ważnych dla firmy, przechowywanych jest w siedzibie głównej i do nich przede wszystkim odwołują się użytkownicy z oddziałów.- biuro domowe – wielu pracowników korzysta z możliwości pracy zdalnej, pracując z domu. Pozwala to obniżyć koszty utrzymania biur. Osoby takie łączą się z zasobami sieciowymi zgromadzonymi w siedzibie głównej lub w oddziale, skąd czerpią dane niezbędne do wykonania swojej pracy i gdzie zapisują jej wyniki.- użytkownicy mobilni – użytkownicy mobilni to osoby często zmieniające miejsce, w którym wykonują swoją prace.

34

Mogą łączyć się z siecią firmy w jej siedzibie głównej, kiedy akurat tam przebywają, mogą odwiedzać oddziały, lub nawet pracować w trakcie podróży.3.2 Urządzenia sieciowe i hostyUrządzenia sieciowe, to, w odróżnieniu od hostów (czyli komputerów, serwerów, drukarek sieciowych itp.), urządzenia, których głównym zadaniem jest zapewnienie pracy sieci komputerowej i łączności pomiędzy hostami. Zależnie od wielkości sieci i usług w niej dostępnych, liczba i wielkość urządzeń sieciowych może być różna, ale najważniejsze z nich, spotykane praktycznie w każdej sieci są następujące:

• Hub – (zwany też koncentratorem); hub zapewnia możliwość podłączenia hostów do sieci, jednak nie posiada żadnych zaawansowanych funkcji sterowania ruchem• Switch – (pol. przełącznik); switche zapewniają możliwość podłączenia hostów do infrastruktury sieci komputerowej oraz świadczą usługi inteligentnego sterowania ruchem w sieci lokalnej• Router – routery łączą różne sieci i zapewniają wybór najlepszej trasy z jednej sieci do drugiejOprócz dwóch wyżej wymienionych urządzeń sieciowych, sieci nie istniałyby bez

połączeń (ang. interconnections), których zadaniem jest zapewnić przepływ danych między różnymi punktami sieci. Ta kategoria zawiera w sobie następujące składniki:- interfejsy sieciowe – (ang. NIC – Network Interface Card), których zadaniem jest zamienić dane płynące z komputera na postać możliwą do przesłania w lokalnej sieci- medium transmisyjne – należą tutaj kable, światłowody, częstotliwości radiowe, które zapewniają transmisję sygnału zawierającego dane między dwoma urządzeniami podłączonym do sieci- styki – (ang. connectors), dzięki nim medium transmisyjne można podłączyć do urządzenia lub hosta.Hosty to kategoria urządzeń, które są urządzeniami końcowymi w sieci (ang. end devices), co oznacza, że korzystają one z usług świadczonych przez sieć i dzięki niej mogą się komunikować. Najczęściej mówiąc “host” mamy na myśli komputer osobisty, laptop, serwer, ale hostem jest także drukarka sieciowa (wyposażona w interfejs sieciowy i przyłączona bezpośrednio do sieci), macierz dyskowa, telefon IP (czyli telefon, który przesyła głos przez sieć komputerową a nie telefoniczną) i inne urządzenia, które nie posiadają funkcji aktywnego sterowania ruchem w sieci.

35

Przykład sieci złożonej z różnego rodzaju hostów, przedstawia poniższy rysunek. Obok hostów, widzimy także dwa typy urządzeń aktywnych: routery i switche.

3.3 Ogólny model sieci komputerowejKomunikacja w sieci komputerowej może wydawać się sprawą prostą z punktu widzenia kogoś, kto podłącza swój komputer do sieci i bez żadnych specjalnych zabiegów, może korzystać z jej usług. Aby to jednak było możliwe, wiele złożonych mechanizmów zostało opisanych, stworzonych i ulepszanych przez organizacje zajmujące się standaryzacją sieci komputerowych. Zgodność ze standardami jest o tyle ważna, że wszyscy chcemy aby nasze komputery działały prawidłowo w sieci, niezależnie od tego gdzie ta sieć się znajduje i z jakich urządzeń jest zbudowana. Powstanie standardów było możliwe dzięki wypracowaniu ogólnego opisu działania różnych komponentów sieci. Takim opisem, do którego odwołują się wszystkie sieci komputerowe i mechanizmy nimi sterujące jest 7-warstwowy model ISO/OSI. Międzynarodowa Organizacja Standaryzacyjna (International Standards Organization) stworzyła go aby zdefiniować ogólne zasady funkcjonowania sieci komputerowych. Jego poznanie jest kluczowe dla zrozumienia w jaki sposób hosty komunikują się ze sobą i jaką rolę w tej komunikacji odgrywają urządzenia sieciowe. Model jest bardzo ogólny, stąd jego nazwa Open Systems Interconnections (OSI). Nie jest on sam w sobie standardem, ale opisem ogólnych mechanizmów, którym podlegają sieci komputerowe.Niezależnie od tego, jakie rozpatrzymy typy hostów, urządzeń sieciowych czy łączy, jedno jest kluczowe – muszą one mieć pewien zbiór zasad, który umożliwi im wzajemną komunikację. W przypadku ludzi, takimi zbiorami zasad są języki. W skład języka wchodzą reguły budowy zdań i użycia słów. 36

Obok zasad komunikacji, musi także istnieć medium, po którym komunikacja, zgodna z tymi zasadami, będzie się odbywać. Dla ludzi przykładem takiego medium jest powietrze (dla języka mówionego) lub papier (dla słów pisanych), przy czym większość języków pozwala użyć obu tych mediów. Jak wiemy, ludzie mówiący różnymi językami mają utrudnione komunikowanie się.Urządzenia sieciowe i hosty są produkowane przez wielu wytwórców i używają odmiennych programów. Jednak jeśli chcą one komunikować się ze sobą, muszą używać wspólnego zestawu reguł, zrozumiałego dla każdego z nich. Te zasady, opisujące sposób komunikacji pomiędzy urządzeniami i systemami noszą nazwę protokołów (ang, protocols). Istnieje wiele protokołów, których mogą używać systemy i wiele z tych protokołów zapewnia podobny zakres usług. Aby zaproponować powszechnie dostępne i otwarte zasady tworzenia protokołów, ISO opublikowała w 1984 roku uniwersalny model odniesienia znany jako 7-warstwowy model ISO/OSI. Mimo, że istnieją inne modele, to jednak większość z nich i tak odnosi się i porównuje do modelu ISO/OSI, jako najbardziej rozpowszechnionego. Model ten jest także uważany za najlepsze narzędzie w poznawaniu zasad działania sieci komputerowych i rozumieniu zagadnień przesyłania danych pomiędzy hostami.Model ISO/OSI składa się z siedmiu warstw, pokazanych na poniższym rysunku:

Warstwy odpowiadają poszczególnym funkcjom sieci. Model ten definiuje i dokładnie opisuje każdą z nich. Co ważniejsze jednak, model ten pomaga zrozumieć jak wygląda przepływ informacji w sieci komputerowej, na przykład jak płyną dane z aplikacji uruchomionej na jednym hoście (dajmy na to na komputerze osobistym) do innej aplikacji, uruchomionej na innym hoście (powiedzmy na serwerze), nawet, jeśli nadawca i odbiorca podłączeni są do różnych sieci, opartych o różne media transmisyjne. 37

Zalety podziału warstwowego modelu ISO/OSI są trudne do przecenienia. Należą do nich:• zmniejszenie złożoności – podział warstwowy pozwala podzielić zagadnienia komunikacji na mniejsze, prostsze części;• ustandaryzowanie interfejsów – dzięki podziałowi na warstwy, poszczególne komponenty mogą być tworzone przez różnych wytwórców i wciąż ze sobą współpracować;• izolacja – zmiany dokonane w danej warstwie nie wpływają na inne warstwy;• szybki rozwój – możliwe jest wprowadzanie usprawnień do poszczególnych warstw, bez konieczności uaktualnienia całego protokołu;Każda warstwa zawiera funkcje, które umożliwiają danym przepływ między nadawcą i odbiorcą.

Warstwa 7: Warstwa Aplikacji – (ang. Application Layer); jest to warstwa położona najbliżej użytkownika. Zapewnia one usługi sieciowe aplikacjom, których używa użytkownik. Tym różni się od innych warstw, że nie świadczy usług na rzecz wyższej warstwy, lecz na rzecz aplikacji, które nie należą już do model ISO/OSI.Warstwa 6: Warstwa Prezentacji – (ang. Presentation Layer); zadaniem tej warstwy, która świadczy usługi warstwie aplikacji, jest zapewnienie, że dane wysyłane przez jedną aplikację, są zrozumiałe dla komunikującej się z nią aplikacji działającej w innym systemie. Jeśli, na przykład, aplikacja na komputerze używa kodowania znaków ASCII, a jej odpowiednik na innym komputerze koduje znaki z użyciem kodu EBCDIC (Extended Binary Coded Decimal Interchange Code), to zadaniem warstwy prezentacji jest zapewnić tłumaczenie między tymi sposobami kodowania.Warstwa 5: Warstwa Sesji – (ang. Session Layer); zapewnia ustanowienie, utrzymanie i zakończenie sesji pomiędzy dwoma komunikującymi się z sobą hostami. Warstwa sesji synchronizuje komunikację pomiędzy warstwami prezentacji na obu hostach. Przykładem może być sesja VPN zestawiona pomiędzy dwoma hostami z użyciem protokołu IPSec.Warstwa 4: Warstwa Transportowa – (ang. Transport Layer); warstwa ta, jak sama nazwa wskazuje, zapewnia usługi transportu danych przez sieć. Usługi te polegają na segmentacji napływających z wyższej warstwy danych na małe porcje, które mogą być przesłane między hostami. Warstwa ta może zapewniać usługę niezawodnej transmisji (ang. reliable transmission), poprzez system potwierdzeń odbioru i retransmisji zagubionych segmentów. Do warstwy tej należą popularne protokoły TCP i UDP.

38

Pomiędzy warstwą transportową a warstwą sesji istnieje umowna granica, która oddziela protokoły aplikacji od protokołów odpowiedzialnych za przepływ danych. Warstwa transportowa zapewnia izolację wyższych warstw od szczegółów związanych z implementacją mechanizmów transportu danych. Protokoły tej warstwy posiadają możliwość wykrywania i korygowania błędów transmisji, jak również sterowania przepływem.

Warstwa 3: Warstwa Sieciowa – (ang. Network Layer); protokoły tej warstwy mają za zadanie zapewnić wybór optymalnej w danych warunkach ścieżki pomiędzy dwoma hostami, które mogą być dowolnie odległe jeden od drugiego. Najpopularniejszym protokołem tej warstwy jest protokół IP.

Warstwa 2: Warstwa Łącza – (ang. Data-Link Layer); mechanizmy tej warstwy określają sposoby formatowania danych dla celów ich transmisji oraz sposób dostępu do medium transmisyjnego. Warstwa ta jest odpowiedzialna za komunikację pomiędzy systemami podłączonymi do tego samego medium transmisyjnego, w tym za adresację i sygnalizację w ramach tego medium. Powszechnie znanymi protokołami tej warstwy są różne pochodne technologii Ethernet, takie jak: Ethernet II, IEEE 802.3 oraz protokoły sieci WAN, takie jak: HDLC czy PPP.Warstwa 1: Warstwa Fizyczna – (ang. Physical Layer); warstwa fizyczna określa elektryczne, optyczne, mechaniczne i funkcjonalne właściwości fizycznego łącza pomiędzy dwoma systemami. Cechy takie, jak napięcia elektryczne, taktowania zegarów, szybkości i maksymalne odległości transmisji, fizyczne styki (wtyczki, gniazda) i inne podobne atrybuty, są opisane w specyfikacji warstwy fizycznej.3.4 Cechy sieci komputerowychPlanując budowę sieci komputerowej czy też nadzorując jej codzienną pracę, należy zdawać sobie sprawę z charakterystycznych dla danej sieci cech i parametrów tę sieć opisujących. Często wiele z tych parametrów wzajemnie ze sobą koliduje (na przykład szybkość i koszt, lub koszt i niezawodność), a zatem należy dokonać takiego ich doboru, aby sieć spełniała możliwie największą liczbę przyjętych założeń. Najważniejsze parametry opisujące sieć komputerową są następujące:

• szybkość – (ang. speed); określa z jaką prędkością dane są w sieci transmitowane. Odpowiedni jest tutaj angielski termin “data rate”.• koszt – określa ile kosztuje zaplanowanie, zbudowanie i utrzymanie sieci; w jego skład wchodzi zarówno koszt urządzeń, jak i koszt łączy oraz koszty zapewnienia serwisu wszystkich elementów.

39

• poziom bezpieczeństwa – (ang. security); wskazuje na ile bezpieczna jest dana sieć; zabezpieczenia wymagają zarówno dane przechowywane na sieciowych hostach, jak i dane przepływające przez medium transmisyjne.• dostępność – (ang. availability); jest miarą prawdopodobieństwa, że sieć będzie dostępna wtedy, kiedy tego wymagamy. Dostępność wyraża się w procentach i określa poprzez podzielenie czasu, gdy sieć była niedostępna, przez cały czas pomiaru, np. jeśli sieć jest niedostępna przez godzinę w ciągu roku, jej dostępność wynosi:(8760 – 1)/8760 * 100% = 99.989%• skalowalność – (ang. scalability); wskazuje na ile sieć jest gotowa, aby obsłużyć dodatkową liczbę hostów, lub dodatkową ilość danych do przesłania.• niezawodność – (ang. reliability); określa na ile można polegać na elementach składowych sieci i na ile jest ona w stanie zachować ciągłość działania w przypadku awarii któregoś z komponentów.• topologia – (ang. topology); sieci możemy scharakteryzować podając dwa typy topologii: logiczną i fizyczną. Topologia fizyczna określa przebieg kabli łączących poszczególne elementy składowe sieci (hosty, urządzenia sieciowe), a topologia logiczna mówi nam o tym, jaką naprawdę drogą dane płyną poprzez topologię fizyczną.

3.5 Topologie sieci komputerowychDziałanie każdej sieci komputerowej bardzo silnie zależy od jej topologii, zwłaszcza logicznej. O ile topologia fizyczna określa, przebieg kabli w sieci, to topologia logiczna definiuje rzeczywisty przepływ danych. Jest to istotny parametr, mający wpływ na wiele z pozostałych cech sieci, o których mowa była w poprzedniej sekcji.Najpowszechniejsze spotykane obecnie topologie fizyczne sieci to:

• szyna – (ang. bus); zarówno urządzenia sieciowe, jak i hosty podłączone są do tego samego liniowego kabla. Przykładem może być siec Ethernet 10Base-2.

40

• pierścień – (ang. ring); hosty i urządzenia sieciowe połączone są szeregowo, a ostatnie z nich łączy się z pierwszym, tworząc zamknięte koło połączeń. Jako przykład tej topologii można podać sieć TokenRing.

• gwiazda – (ang. star); jedno centralne urządzenie koncentruje w sobie wszystkie kable łączące pozostałe urządzenia i hosty. Nowoczesne sieci Ethernet zbudowane w oparciu o switche tworzą fizyczną topologię gwiazdy.

Jak wspomnieliśmy, topologia logiczna, określająca w jaki sposób dane płyną w fizycznych połączeniach (kablach) pomiędzy hostami i urządzeniami sieciowymi, nie zawsze musi pokrywać się z topologią fizyczną.Jeszcze kilkanaście lat temu sieci Ethernet typu 10Base-2 budowano w oparciu o kabel koncentryczny, tworzący fizyczną szynę, do którego, przy pomocy rozgałęziaczy typu “T”, podłączano hosty. W przypadku takiej sieci topologia fizyczna pokrywała się z topologią logiczną. Wprowadzenie hubów sieciowych (zwanych też koncentratorami), zmieniło topologię fizyczną: połączenia kablowe przyjęły topologię gwiazdy, podczas gdy topologia logiczna nie uległa zmianie. Sytuację tę możemy zilustrować przy pomocy takiego oto diagramu:41

Kable fizycznie tworzą topologię gwiazdy, schodząc się w centralnym punkcie sieci, którym jest hub. Lecz wewnątrz huba, w dalszym ciągu istnieje szyna, do której schodzą się wszystkie jego gniazdka.Podobnie wygląda sytuacja w przypadku koncentratorów sieci TokenRing: kable schodzą się gwiaździście do koncentratora, który wewnątrz de-facto tworzy topologię pierścienia:

3.6 Komunikacja w sieciach komputerowychProces komunikacji w sieci komputerowej zaczyna się od hosta źródłowego, a kończy się na hoście docelowym. Protokół sieciowy, używając wszystkich lub wybranych warstw modelu ISO/OSI, zapewnia przesył danych między hostami i urządzeniami. Proces ten polega na przekazywaniu komunikatu, który ma być przesłany, od aplikacji w dół stosu, poprzez kolejne warstwy, z których każda dodaje właściwe dla siebie informacje do pierwotnego komunikatu. Te dodatkowe informacje, zwane nagłówkami (ang. header) zapewniają, że przekazywana informacja będzie zrozumiana przez kolejne (niższe) warstwy w tym samym hoście. Opisany sposób dodawania przez kolejne warstwy danego protokołu nagłówków, nazywa się enkapsulacją (ang. encapsulation). 42

Enkapsulacja zapewnia dodatkowo, że gdy informacja dotrze do hosta-odbiorcy, jego oprogramowanie, korzystając z nagłówków, będzie potrafiło przekazać w poprawny sposób treść komunikatu w górę, od warstwy fizycznej do warstwy aplikacji. Jest to proces podobny do wysyłania tradycyjnego listu pocztowego. List napisany na kartce papieru wkładamy do koperty, dodajemy adres odbiorcy (i nadawcy, gdy jest to list polecony) i zanosimy na pocztę. Odbiorca zdejmuje kopertę z listu i odczytuje treść naszej wiadomości:

Zasadę działania procesu enkapsulacji w przypadku protokołu sieciowego ilustruje poniższy rysunek:

Pola oznaczone literą “H” oznaczają nagłówki (ang. header) dodane przez kolejne warstwy. Jak widać, i co jest kluczowe dla zrozumienia procesu enkapsulacji, dane, czyli pola “D”, jednej warstwy, wraz z dołączonym nagłówkiem, stanowią 43

z kolei dane dla kolejnej, niższej warstwy. Proces ten powtarza się aż do warstwy łącza danych, która przekazuje warstwie fizycznej wielokrotnie opakowany komunikat, do przekazania go przez fizyczne łącze do docelowego hosta. Host docelowy, przeprowadza operację odwrotną do enkapsulacji, zwaną de-enkapsulacją (ang. de-encapsulation). W procesie de-enkapsulacji, oprogramowanie protokołu, przekazując komunikat do wyższych warstw, kolejno zdejmuje nagłówki dodane przez nadawcę, aż w końcu dane trafiają do aplikacji, która udostępnia je użytkownikowi.Aby dane mogły być bez przeszkód przekazywane z aplikacji hosta nadawcy do aplikacji hosta odbiorcy, każda z warstw nadawcy musi komunikować się z odpowiadającą jej warstwą odbiorcy. Taka forma komunikacji nosi nazwę komunikacji “peer-to-peer” (nie należy mylić tego z aplikacjami typy peer-to-peer, takimi jak eDonkey czy podobne!). W jej procesie protokoły tych samych warstw wymieniają między sobą informacje w postaci tzw. jednostek danych protokołu (ang. protocol data unit). Komunikacja peer-to-peer jest komunikacją wirtualną, co oznacza, iż w rzeczywistości całość przepływu informacji odbywa się od warstwy aplikacji w hoście-nadawcy, w dół do warstwy fizycznej, a potem, u odbiorcy, ponownie od warstwy fizycznej w górę, do aplikacji. Na poniższym rysunku przerywanymi strzałkami zaznaczono komunikację peer-to-peer pomiędzy odpowiednimi protokołami każdej z warstw. Małe strzałki ilustrują przepływ danych między warstwami w każdym z hostów:

Dodatkowo rysunek zawiera, obok hostów, dwa urządzenia sieciowe: switch i router. Te dwa typy urządzeń, oraz huby sieciowe, działają na trzech najniższych warstwach sieci. Na rysunku widać wyraźnie ich rolę w przesyłaniu 44

danych i udział w poszczególnych warstwach. Więcej informacji na ten temat podamy w sekcji poświęconej modelowi protokołów TCP/IP.3.7 Stos protokołów TCP/IP

3.7.1 Model stosu TCP/IPStos protokołów TCP/IP bierze swą nazwę od dwóch protokołów do niej należących. TCP to skrót od nazwy Transmission Control Protocol, a IP to oczywiści Internet Protocol. Podobne jak model ISO/OSI, również protokoły rodziny TCP/IP można podzielić na warstwy, choć zarówno liczba tych warstw, jak i podział między nimi przebiegają nieco odmiennie.Mimo, że model ISO/OSI jest ogólniejszy i szerzej rozpoznawany, to jednak właśnie rodzina protokołów TCP/IP ustanowiła standard, którym dziś posługuje się większość sieci komputerowych na świecie, włączając w to sieć Internet.Stos protokołów TCP/IP zawiera w sobie cztery warstwy. Należy zaznaczyć, że choć nazwy niektórych z tych warstw są podobne lub nawet identyczne, jak nazwy warstw ISO/OSI, to jednak warstwy te w TCP/IP pełnią nieco inną rolę.

Warstwa Aplikacji - (ang. Application Layer); warstwa ta pełni rolę protokołów wyższych warstw modelu ISO/OSI. Skupia w sobie wszystkie mechanizmy odpowiedzialne za reprezentację, sposoby kodowania danych i nadzór dialogu z użytkownikiem. Przygotowuje dane do obsługi przez niższe warstwy.Warstwa Transportowa – (ang. Transport Layer); do zadań tej warstwy należy przede wszystkim zapewnienie jakości i niezawodności transmisji oraz korekcja błędów. Protokół TCP należy właśnie do tej warstwy. Zapewnia on usługi niezawodnej transmisji, poprzez wbudowane mechanizmy retransmisji zgubionych segmentów danych i sterowanie przepływem.

45

Warstwa sieciowa – (ang. Internetwork Layer); dzięki usługom tej warstwy pakiety z danymi wysłane przez nadawcę mogą docierać do odbiorcy niezależnie od tego jaką w danej chwili drogą płyną. Na tej warstwie pracują routery, zapewniając kierowanie ruchem pakietów w sieci.Warstwa interfejsu sieci – (ang. Network Interface Layer, Network Access Layer); nazwa tej warstwy może być myląca – stąd nieraz nazywa się ją “host-to-network layer". Zawiera ona protokoły odpowiedzialne za warstwę łącza danych i warstwę fizyczną modelu ISO/OSI (czyli usługi transmisji danych po fizycznym łączu, włączając w to charakterystyczną dla danego typu łącza adresację).Każdej z warstw modelu TCP/IP odpowiada inny typ komunikatu, w zależności od tego, pomiędzy którymi warstwami jest wymieniany. Znajomość pojęć, które wprowadza poniższy rysunek jest kluczowa,dla poprawnego rozumienia dalszych części niniejszego opracowania oraz terminologii sieciowej:

Dane, które mają być przesłane pomiędzy dwoma hostami, na poziomie aplikacji tworzą komunikat. Przesłane do warstwy transportowej, zostają podzielone na segmenty, zależnie od zastosowanego protokołu. Z kolei warstwa transportowa zleca zadanie przesłania segmentów danych warstwie sieciowej, która formuje dane w pakiety. W każdym pakiecie zawarty jest adres docelowy i adres źródłowy (mówimy tutaj o adresach IP), a pakiet taki przesyłany jest niezależnie od pozostałych pakietów, zarówno tego samego, jak i innych segmentów. Pakiety, w celu przesłania przez fizyczne łącza, przekazywane są do warstwy interfejsu sieci, która zaopatruje każdy pakiet w adresy fizyczne interfejsów nadającego i docelowego (na przykład adresy MAC sieci Ethernet), tworząc tym samym ramkę. Ramki są transmitowane w fizycznym łączu z użyciem 46

właściwych dla danego typu połączenia sygnałów elektrycznych, optycznych czy elektromagnetycznych (radiowych).Model TCP/IP posłużył za bazę dla rozwoju komunikacji w sieci Internet, a dzięki sukcesowi, który Internet odniósł, model ten upowszechnił się do tego stopnia, że obecnie większość sieci budowana jest w oparciu o niego. Dla kontrastu, bardzo niewiele sieci i protokołów wykorzystuje wszystkie warstwy modelu ISO/OSI. Powstało kilka implementacji, lecz albo były to wdrożenia eksperymentalne czy naukowe, albo nie spotkały się z pozytywnym przyjęciem wśród twórców oprogramowania. Można uznać, że model praktyczny “zwyciężył” w porównaniu z modelem teoretycznym. Wciąż jednak model ISO/OSI pozostaje modelem odniesienia, do którego stosy protokołów są porównywane i który stanowi wzorcowe rozwiązanie komunikacji w sieciach komputerowych. Porównanie modeli ISO/OSI i TCP/IP przedstawia poniższy rysunek. Zwróćmy uwagę na zaznaczoną granicę pomiędzy protokołami związanymi z aplikacją a protokołami odpowiedzialnymi za przesyłanie danych – w TCP/IP warstwa transportowa związana jest z aplikacją, inaczej niż w ISO/OSI:

47

3.7.2 Rola urządzeń sieciowych Jak wiemy z poprzednich rozdziałów, sieci komputerowe służą zapewnieniu przepływu informacji między hostami. Możemy powiedzieć, że hosty są urządzeniami końcowymi w sieci (ang. end devices). Natomiast samą sieć tworzą oczywiście łącza i urządzenia sieciowe. W tej sekcji skupimy się na tych urządzeniach sieciowych tworzących infrastrukturę sieci lokalnych, które są najczęściej spotykane w codziennej praktyce. Mówiąc o sieci lokalnej, obecnie mamy na myśli praktycznie już tylko sieć zbudowaną w oparciu o technologię Ethernet i jej kolejne wcielenia, takie jak Fast Ethernet, Gigabit Ethernet i 10Gigabit Ethernet. Niegdyś rozpowszechnione były inne jeszcze technologie sieci lokalnych, takie jak TokenRing, FDDI, ATM LANE, czy też zupełnie egzotyczne, jak ARCnet. Technologie te zostały niemal zupełnie wyparte przez różne pochodne technologii Ethernet. Dzięki prostocie funkcjonowania sieci Ethernet, możliwe było drastyczne obniżenie kosztów produkcji sprzętu sieciowego, co oczywiście wpłynęło na upowszechnienie tego a nie innego rozwiązania.Zadaniem urządzeń sieciowych jest zapewnienie sprawnego funkcjonowania sieci, poczynając od jej warstwy fizycznej, a kończąc na warstwie sieciowej. Przy czym to, w której z warstw sieciowych pracuje dane urządzenie, zależy od jego typu i funkcji, którą ma spełniać. Poniższy diagram ilustruje funkcje najpopularniejszych typów urządzeń sieciowych w ich odniesieniu do modelu ISO/OSI. Odniesienie do modelu TCP/IP jest bardzo zbliżone, jeśli weźmiemy pod uwagę, że wskazane urządzenia pracują na trzech najniższych warstwach.

48

Hub – zwany też koncentratorem, to po prostu urządzenie, które topologię fizyczną i logiczną typu “szyna”, zamyka w małej obudowie i pozwala podłączać do niej hosty poprzez wyprowadzone na zewnątrz gniazda. Hub jest dość nieskomplikowanym układem elektronicznym, który ma za zadanie rozdzielić sygnały elektryczne na wiele gniazd, wzmacniając je przy tym i regenerując. Huby pracują na warstwie fizycznej modelu ISO/OSI i nie “rozumieją” żadnych protokołów wyższych warstw ani związanych z nimi adresacji.Most sieciowy – (ang. bridge); mosty sieciowe, dziś rzadko spotykane bo zastąpione switchami, pozwalają podzielić sieć logicznie na dwie części. Możliwe jest to dzięki wyróżnieniu w bridge-u dwóch interfejsów, z których każdy obsługuje jedną z części sieci. Bridge “rozumie” adresy ramek warstwy drugiej (tzw. adresy MAC) i potrafi stwierdzić które z nich należą do której części sieci. Na potrzeby swojej pracy buduje wewnętrzną bazę danych, gdzie przechowuje informacje o przynależności adresów MAC do określonej części sieci. Baza ta nazywa się tablicą adresów. Bridge pracuje na warstwie łącza danych modelu ISO/OSI.

49

Switch – zwany też przełącznikiem sieciowym, to nic innego jak wieloportowy bridge, który może podzielić sieć na wiele części (maksymalnie tyle, ile ma portów). Dodatkowo jest wzbogacony o pewne rozwiązania przyśpieszające pracę (przełączanie ramek). Switch, tak jak bridge, pracuje na warstwie drugiej modelu ISO/OSI, ale mając więcej interfejsów, buduje bardziej złożoną tablicę adresów, zwaną tablicą przełączania (ang. switching table). Na jej podstawie kieruje ramki do właściwych portów.

50

Router – routery pracują na warstwie sieciowej modelu ISO/OSI i modelu TCP/IP i potrafią rozpoznawać adresy IP oraz na ich podstawie kierować pakiety do właściwych podsieci. W tym celu posługują się tablicami routingu, które budują korzystając w danych dostarczanych przez wyspecjalizowane protokoły routingu (np. RIP, OSPF, EIGRP czy BGP). W tablicy routingu przechowywane są informacje o podsieciach i o tym przez który z interfejsów można do danej podsieci dotrzeć. Istotne jest, że w tablicy routingu nie przechowuje się adresów poszczególnych hostów, gdyż dla dostarczania pakietów informacja o podsieciach jest wystarczająca.

51

Recommended