Znaleziono na stronie: http://www.sith.olsztyn.pl/~sebulba/podsieci_str/podsieci.htm

Wstęp, czyli czym są sieci.

W miarę jak przetwarzanie danych na odległość staje się coraz to powszechniejsze, również coraz częstszym elementem praktycznie wszystkich środowisk obliczeniowych stają się sieci komputerowe.
Siecią nazwać można wszystko, co umożliwia dwóm lub większej liczbie komputerów komunikowanie się ze sobą i/lub z innymi urządzeniami. Sieci jako systemy rozwinęły się w dwóch kierunkach określanych obecnie przez dwie odrębne kategorie sieci: sieci lokalne (LAN - Local Area Networks) oraz sieci rozległe (WAN -Wide Area Networks).

Podstawowymi sprzętowymi składnikami sieci są urządzenia trojakiego rodzaju:
- urządzenia transmisji (nośniki czyli kable koncentryczne, skrętka, kable światłowodowe);
- urządzenia dostępu (karty sieciowe);
- urządzenia wzmacniania przesyłanych sygnałów (koncentratory).

Niezbędne do utworzenia sieci są też pewne składniki programowe, czyli:
- protokoły (określające sposób komunikowania się urządzeń i regulujące je);
- programy poziomu sprzętowego, nazywane mikroprogramami, sterownikami lub programami obsługi (umożliwiające działanie urządzeniom, takim jak na przykład karty sieciowe);
- oprogramowanie komunikacyjne.

Protokoły dla sieci LAN nazywane są często architekturami LAN, jako że zawierają one również karty sieciowe. Determinują one w znacznym stopniu kształt, rozmiar oraz mechanikę sieci LAN. Protokoły są to formalne reguły postępowania.
Najbardziej istotnymi tworzącymi całą grupę protokołów komunikacyjnych są TCP/IP (Transmission Control Protocol i Internet Protocol).
Charakteryzują się one cechami:
- protokoły TCP/IP mają szerokie zastosowanie gdyż są idealne dla łączenia różnego sprzętu i oprogramowania oraz swobodnie dostęne;
- niezależne od fizycznych właściwości sieci. TCP/IP integrują wiele różnych rodzajów sieci, mogą działać w sieciach: Ethernet, Token Ring, po łączach telefonicznych, i dowolnym innym fizycznym medium transmisyjnym;
- wspólny schemat adresacji, pozwalający dowolnemu urządzeniu korzystającemu z protokołów TCP/IP na jednoznaczne zaadresowanie innego urządzenia, nawet w sieci tak rozległej, jak ogólnoświatowy Internet.

Protokół Internet jest fundamentalnym elementem Internetu. Jego funkcje zawierają:
- definiowanie datagramów, będących w Internecie podstawowymi jednostkami transmisyjnymi;
- definiowanie schematu adresowania używanego w Internecie;
- przekazywanie danych między warstwą dostępu do sieci a warstwą transportową host-to-host;
- kierowanie datagramów do komputerów oddalonych;
- dokonywanie fragmentacji i ponownego składania datagramów.

Datagram jest formatem pakietu zdefiniownym przez protokół Internet. Pakiet jest to blok danych uzupełniony o informację niezbędną do ich dostarczenia.
Pierwsze pięć lub sześć 32-bitowych słów datagramu nosi nazwę nagłówka. Domyślnie nagłówek ma długość pięciu słów, szóste jest opcjonalne. Ponieważ długość nagłówka jest zmienna, zawiera on pole Długość nagłówka Internet, określające jego długość w słowach. Nagłówek zawiera wszystkie informacje niezbędne do dostarczenia pakietu.
Protokół Internet dostarcza datagramy sprawdzając Adres przeznaczenia w piątym słowie nagłówka.
Adres przeznaczenia jest standardowym 32-bitowym adresem IP, który identyfikuje docelową sieć i określa konkretny komputer w tej sieci. Jeżeli Adres przeznaczenia wskazuje na komputer znajdujący się w lokalnej sieci, pakiet jest dostarczany bezpośrednio. Natomiast jeśli Adres przeznaczenia nie znajduje się w sieci lokalnej, pakiet jest przekazywany do urządzenia o nazwie gateway. Gateway przekazuje pakiety między różnymi sieciami fizycznymi. Decydowanie o tym, który gateway wybrać, nosi nazwę rutowania (ang. routing).

IP dokonuje indywidualnego rutowania osobno dla każdego pakietu.
Wszystkie funkcje - adresowanie komputerów, rutowanie między sieciami i multipleksacja (między warstwami dzięki protokołom i numerom portów dane trafiają wewnątrz komputera do właściwego modułu oprogramowania) - są niezbędne do przesyłania danych między dwoma współpracującymi aplikacjami za pośrednictwem Internetu.


Adres IP

Piąte słowo nagłówka datagramu to Adres przeznaczenia. Jest on 32-bitową liczbą zawierającą wystarczające informacje, aby jednoznacznie zidentyfikować sieć i komputer wewnątrz tej sieci.
Adresy te są ściśle regulowane przez internetowe centrum informacji sieciowej (ang. InterNIC - Internet Network Information Center).

IP składa się z części sieciowej i części hosta, jednakże format obu nie jest jednakowy w każdym adresie. Liczba bitów adresowych określających sieć oraz liczba bitów identyfikujących komputer zależy od klasy adresu.
Każda z pięciu klas adresów IP jest oznaczona literą alfabetu: klasa A, B, C, D i E.
Choć są to adresy binarne, zwykle przedstawia się je w tzw. formacie dziesiętnym kropkowym, aby ułatwić człowiekowi ich używanie.

- Adres IP klasy A: Pierwszy bit adresu klasy A jest zawsze ustawiony na "0". Następne siedem bitów identyfikuje numer sieci. Ostatnie 24 bity reprezentują możliwe adresy hostów. Adresy klasy A mogą mieścić się w zakresie od 1.0.0.0 do 126.0.0.0. Sieci klasy A jest mniej niż 128, ale każda z nich może składać się z milionów komputerów;
- Adres IP klasy B: Pierwsze dwa bity adresu klasy B to "10". Następne 14 bitów identyfikuje numer sieci, zaś ostatnie 16 bitów identyfikuje adresy potencjalnych hostów. Adresy klasy B mogą mieścić się w zakresie od 128.1.0.0 do 191.254.0.0. Istnieją tysiące sieci klasy B, do których należą tysiące komputerów;
- Adres IP klasy C: Pierwsze trzy bity adresu klasy C to "110". Następne 21 bitów identyfikuje numer sieci. Ostatnie 8 bitów służy do adresowanie hostów. Adresy klasy C mogą mieścić się w zakresie od 192.0.1.0 do 223.255.254.0. Istnieją miliony sieci klasy C, ale w każdej z nich może znajdować się mniej niż 254 komputerów;
- Adres IP klasy D: Pierwsze 4 bity adresu klasy D to "1110". Adresy te są wykorzystywane do multicastingu, ale ich zastosowanie jest ograniczone, nie odnoszą się do żadnej konkretnej sieci;
- Adres klasy E: InterNIC zarezerwował go dla własnych badań, tak więc żadne adresy klasy E nie zostały dopuszczone do zastosowania w Internecie.

IP używa sieciowej części adresu do wyznaczania trasy datagramu między sieciami. Pełny adres, zawierający również informację o komputerze, służy do końcowego dostarczenia datagramu do komputera w docelowej sieci.




Podsieci

[Maski]      [Tabela podziału adresu klasy C]      [Określanie dopuszczalności adresu]

Standardowa struktura adresów IP może być lokalnie modyfikowana poprzez użycie bitów adresowych komputerów jako dodatkowych bitów określających sieć. W istocie "linia podziału" między bitami adresowymi sieci i bitami adresowymi komputerów jest przesuwana, tworzy dodatkowe sieci, ale redukuje maksymalną liczbę systemów, jakie mogą znaleść się w każdej z nich. Te nowo wykorzystane bity noszą nazwę podsieci (ang. subnets). Pozwalają definiować logiczne sieci wewnątrz jednej większej, posiadającej jeden adres IP. Podzielenie jednej sieci na kilka mniejszych pozwala na decentralizację zarządzania adresami komputerów.
Podsieci mogą być także stosowane do przezwyciężenia różnic w stosowanym sprzęcie i ograniczeń powodowanych odległościami. Rutery IP mogą łączyć różne fizycznie sieci, ale tylko pod warunkiem, że każda z nich ma swój własny adres. Dzieląc jeden wspólny adres sieci między kilka podsieci możemy spowodować, że każda z nich, reprezentując inne fizyczne rozwiązanie, będzie posiadała inny unikalny adres. Podzielenie sieci na podsieci pozwala na usunięcie natłoku informacji. Wielu użytkowników w jednej sieci to początek jej przepełnienia. Sieć, która ma 254 użytkowników odnotuje wiele kolizji i będzie działać śle. Jednak trzydziestu użytkowników takiej sieci pracuje bez przeszkód. Podsieci pozwalają zdefiniować segmenty obsługujące mniejszą liczbę komputerów.

Podsieć jest definiowana za pomocą maski bitowej, tzw. maski podsieci , przykładanej do adresu IP. Jeśli bit w masce jest jedynką, to odpowiadający mu bit w adresie IP jest interpretowany jako bit adresu sieci. Natomiast jeżeli bit wynosi zero, oznacza to, że należy on do części adresu określającej komputer. Podsieć jest znana wyłącznie lokalnie. Dla całej reszty Internetu adres jest zawsze interpretowany jako standardowy.
Na przykład maska podsieci, która może być powiązana z typowym adresem klasy B wynosi 255.255.0.0 Najczęściej używana maska podsieci rozszerza część sieciową adresu klasy B na dodatkowy bajt. Maska ma wtedy postać: 255.255.255.0; wszystkie bity w trzech pierwszych bajtach są jedynkami, a w ostatnim zerami. Pierwsze dwa bajty definiują sieć klasy B, następny stanowi adres podsieci, a ostatni bajt identyfikuje komputer w tej podsieci.
W adresie IP klasy C ostatni bajt jest adresem hosta. Można go podzielić zostawiając pewną mniejszę niż osiem liczbę bitów na tenże adres, resztę dołączyć do wykorzystywanych 3 bajtów adresu sieciowego. Na przykład zamiast wykorzystywać 3 bajty (24 bity) na adres sieciowy i 1 bajt (8 bitów) na adres hosta, do adresu sieciowego można dołączyć trzy najbardziej znaczące bity z tego bajtu, tak, że otrzymamy 27 bitowy adres sieciowy; pozostanie 5 bitów na adres hosta. Dzięki temu podzielono jeden adres sieciowy na wiele adresów za cenę zmniejszenia ilości adresów, które mogą zostać przypisane hostom. Ilość bitów zarezerwowanych na adres hosta w porównaniu z liczbą bitów, którą przeznaczamy na rozszerzenie adresu sieciowego, określa, ile jest dostępnych dodatkowych adresów sieciowych (podsieci), oraz ile hostów może zawierać każda z tych podsieci. Oto sposoby podziału adresu sieciowego klasy C:

Możliwe sposoby podziału adresu sieciowego klasy C.
Liczba bitów podsieci Maska podsieci Liczba możliwych podsieci Strata w ostatniej i pierwszej podsieci Liczba bitów węzła Liczba możliwych węzłów w podsieci Strata wewnątrz podsieci Ogólna strata adresów IP Całkowita liczba węzłów w sieci
0 255.255.255.0 nie ma 0 8 254 nie dotyczy 2 254
1 255.255.255.128 0 nie dotyczy 7 126 nie dotyczy nie dotyczy 0
2 255.255.255.192 2 128 6 62 4 132 124
3 255.255.255.224 6 64 5 30 12 76 180
4 255.255.255.240 14 32 4 14 28 60 196
5 255.255.255.248 30 16 3 6 60 76 180
6 255.255.255.252 62 8 2 2 128 132 124
7 255.255.255.254 126 nie dotyczy 1 0 nie dotyczy nie dotyczy 0

Ani adres sieci ani hosta nie może składać się z samych bitów o wartości 0 czy też 1. Dlatego przypisanie 1 lub 7 bitów adresowi podsieci nie jest możliwe. W trzecim wierszu wykorzystano 2 bity na adres podsieci. Mogą one przyjmować następujące wartości: 00, 01, 10, 11.
Wykorzystanie pierwszej i ostatniej wartości jest zabronione. Zostają więc wartości 01 i 10 jako adres podsieci, natomiast pozostałe 6 bitów jest przypisanych adresowi hosta, dzięki czemu istnieją 2^6, czyli 64 możliwe adresy. Ponownie, adres hosta składający się z samych zer lub jedynek jest zabroniony, pozostają więc 62 możliwe do wykorzystania adresy hostów. Ostatnia kolumna to wymnożenie ilości adresów podsieci przez ilość adresów hostów w każdej z nich. W trzecim wierszu zatem mamy sytuację, w której wykorzystanie podsieci dało dwa dodatkowe adresy sieciowe za cenę ograniczenia ilości adresów hostów z 254 do 124.
Pozostałe wiersze tabeli pokazują skutki powiększania liczby bitów przypisanych adresowi podsieci.W miarę, jak zwiększa się ilość wykorzystywanych w tym celu bitów, zwiększa się ilość dostępnych podsieci, ale zmniejsza się ilość dostępnych w każdej z nich adresów hostów.

Wszystkie te operacje mogą mieć również zastosowanie w dzieleniu adresów sieciowych klas A i B. Pozostawiają one odpowiednio 3 i 2 bajty na adres hosta, dzięki czemu można bardziej elastycznie dopasowywać otrzymany adres sieciowy do własnych potrzeb. Adresy sieciowe klasy A niemal zawsze są dzielone z wykorzystaniem jednego bajta (drugiego), dając w ten sposób 254 podsieci, z których każda to ekwiwalent sieci klasy B. Podobnie w adresach klasy B, które mogą dać 254 podsieci, każda jak sieć klasy C.

Maska podsieci jest wykorzystywana podczas dwóch obliczeń. Jedno z nich generuje wynik, korzystając z adresu IP komputera śródłowego. Drugie obliczanie generuje wynik za pomocą adresu IP komputera docelowego. Po wygenerowaniu obu wartości są one porównywane. Jeśli są identyczne, IP wie, że oba komputery znajdują się w tej samej sieci i mogą się bezpośrednio kontaktować. Jeśli wyniki są różne, oznacza to, że komputer docelowy jest umieszczony w innym segmencie sieci. IP wysyła wtedy pakiety do routera, aby mogły one wyjść poza obręb podsieci.

Opis

Host śródła

Host docelowy

Adres IP
Notacja kropkowa 192.59.66.200 192.59.66.17
Binarna 11000000 00111011 01000010 11001000 11000000 00111011 01000010 00010001
Maska podsieci
Notacja kropkowa 255.255.255.0 255.255.255.0
Binarna 11111111 11111111 11111111 00000000 11111111 11111111 11111111 00000000
Wynik
Notacja kropkowa 192.59.66.0 192.59.66.0
Binarna 11000000 00111011 01000010 00000000 11000000 00111011 01000010 00000000

Oba wyniki zawarte w powyższej tabeli są identyczne, co oznacza, że oba komputery znajdują się w tej samej sieci i mogą porozumiewać się bezpośrednio.

Opis

Host śródła

Host docelowy

Adres IP
Notacja kropkowa 192.59.66.200 192.13.130.12
Binarna 11000000 00111011 01000010 11001000 11000000 00001101 10000010 00001100
Maska podsieci
Notacja kropkowa 255.255.255.0 255.255.255.0
Binarna 11111111 11111111 11111111 00000000 11111111 11111111 11111111 00000000
Wynik
Notacja kropkowa 192.59.66.0 192.13.130.0
Binarna 11000000 00111011 01000010 00000000 11000000 00001101 10000010 00000000

W powyższym przykładzie wyniki są różne, co mówi, że komputery są umieszczone w różnych podsieciach i muszą komunikować się przez router.

Opis

Host śródła

Host docelowy

Adres IP
Notacja kropkowa 192.59.66.200 192.59.66.23
Binarna 11000000 00111011 01000010 11001000 11000000 00111011 01000010 00010111
Maska podsieci
Notacja kropkowa 255.255.255.240 255.255.255.240
Binarna 11111111 11111111 11111111 11110000 11111111 11111111 11111111 11110000
Wynik
Notacja kropkowa 192.59.66.192 192.59.66.1
Binarna 11000000 00111011 01000010 11000000 11000000 00111011 01000010 00000001

Powyższy przykład obrazuje zastosowanie niestandardowej maski podsieci. Oba adresy zaczynają się na 192.59.66., co wskazuje, że oba należą do sieci 192.59.66.0, jednak wyniki każą traktować te komputery jako odległe, choć są w obrębie tej samej sieci.

Określanie dopuszczalności adresu

Po podjęciu decyzji o stosowaniu maski podsieci trzeba obliczyć, które adresy IP są dopuszczalne, a które nie. Adresy IP są niedopuszczalne, gdy mają wszystkie bity zerowe lub wszystkie bity jedynkowe w części hosta. Podobnie jest przy tworzeniu podsieci.
Następnie:
Dla przykładu rozważmy adres klasy C sieci o ID 192.59.66.0 oraz masce podsieci 255.255.255.240. Przekształcamy skrajną prawą jedynkę maski podsieci na ekwiwalent binarny. Otrzymamy w ten sposób punkt startowy. W przykładzie jest to 16. Oznacza to, że niedopuszczalne są adresy od 0-16 oraz wielokrotności tej liczby, czyli liczby: 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240. Podobnie wartości o jeden mniejsze, które reprezentują ostatni adres podsieci są nieważne, czyli są to: 15, 31, 47, 63, 79, 95, 111, 127, 143, 159, 175, 191, 207, 223, 239. Wreszcie odrzucane są też ostatnie adresy od 240 do 255. Wyliczenia te prezentuję tabela:

Nieważne adresy

Zakres dopuszczalnych adresów

192.59.66.0 - 192.56.66.16 192.59.66.17 - 192.56.66.30
192.59.66.31 - 192.59.66.32 192.59.66.33 - 192.59.66.46
192.59.66.47 - 192.59.66.48 192.59.66.49 - 192.59.66.62
192.59.66.63 - 192.59.66.64 192.59.66.65 - 192.59.66.78
192.59.66.79 - 192.59.66.80 192.59.66.81 - 192.59.66.94
192.59.66.95 - 192.59.66.96 192.59.66.97 - 192.59.66.110
192.59.66.111 - 192.59.66.112 192.59.66.113 - 192.59.66.126
192.59.66.127 - 192.59.66.128 192.59.66.129 - 192.59.66.142
192.59.66.143 - 192.59.66.144 192.59.66.145 - 192.59.66.158
192.59.66.159 - 192.59.66.160 192.59.66.161 - 192.59.66.174
192.59.66.175 - 192.59.66.176 192.59.66.177 - 192.59.66.190
192.59.66.191 - 192.59.66.192 192.59.66.193 - 192.59.66.206
192.59.66.207 - 192.59.66.208 192.59.66.209 - 192.59.66.222
192.59.66.223 - 192.59.66.224 192.59.66.225 - 192.59.66.238
192.59.66.239 - 192.59.66.255  

A oto drugi przykład wyliczania dopuszczalnych adresów:

Mamy adres o ID sieci: 192.168.0.0 i dzielimy go na dwie podsieci za pomocą maski 255.255.255.192. Binarny zapis ostatniego oktetu tej maski to 11000000, zatem skrajna prawa jedynka to liczba 64. Niedopuszczalne będą adresy od 0-64, wielokrotności tej liczby, czyli 64, 128, 192, liczby od nich o jeden mniejsze, czyli 63, 127 i 191, a także końcówka, od 192-255. Zostają dwie podsieci z numerami komputerów od 65-126 oraz 129-190.

Nieważne adresy

Zakres dopuszczalnych adresów

192.168.0.0 - 192.168.0.64 192.168.0.65 - 192.168.0.126
192.168.0.127 - 192.168.0.128 192.168.0.129 - 192.168.0.190
192.168.0.191 - 192.168.0.255  

A oto trzeci przykład wyliczania dopuszczalnych adresów:

Zastosujemy maskę 255.255.255.224. Jej ostatni oktet w zapisie binarnym to: 11100000, czyli skrajna prawa jedynka jest liczbą 32. Niedopuszczalne będą 0-32, 32, 64, 96, 128, 160, 192, 224, 224-255 oraz 31, 63, 95, 127, 160, 191, 223. Natomiast dopuszczalnymi będą adresy: 33-62; 65-94; 97-126; 129-158; 161-190; 193-222. Daje to 6 podsieci z 30 węzłami w każdej, czyli razem 180 komputerów w tej sieci (co zgadza się z pierwszą tabelką).