obrazekSieci Lokalne

Trochę teorii, nieco praktyki

Copyright © 2000, 2001 Bartosz Kiziukiewicz

W tym rozdziale

Adresy IP (IPv4)
Maska sieciowa (IPv4)
Adres sieciowy (IPv4)
IPv4 i IPv6
System nazw domen
Adres URL
NAT, PAT, IP-Masqarade i serwery Proxy
DHCP
Najważniejsze usługi internetowe

TCP/IP i Internet

Szczegóły każdego protokołu TCP/IP są przedstawione w dokumentacji RFC (Request for Comments) – poddanie pod dyskusję.

Adresy IP (IPv4)


W sieciach TCP/IP adres komputera zwany jest adresem IP. Oryginalny adres IP jest czterobajtową (32 bitową) liczbą. Przyjęła się konwencja zapisu każdego bajtu w postaci dziesiętnej i oddzielania ich kropkami. Ten sposób zapisu zwany jest notacją kropkowo-dziesiętną.

Bity w adresie IP są interpretowane jako: <adres sieciowy, adres hosta>

Można jednak niekiedy spotkać inny zapis będący dziesiętnym wyrażeniem 32 bitowej liczby binarnej. Na przykład adres 148.81.78.1 w notacji kropkowo dziesiętnej, będzie w postaci binarnej wyglądał następująco:

10010100010100010100111000000001

zaś dziesiętnie będzie to liczba 2488356353.

Określona liczba bitów 32-bitowego adresu IP jest adresem sieciowym, a reszta adresem hostowym. Adres sieciowy określa sieć LAN, zaś adres hosta konkretną stację roboczą w tej sieci.

By dopasować sieci o różnych rozmiarach (różnej liczbie komputerów), adresy IP podzielono na kilka klas. Istnieje pięć klas adresów IP: A, B, C, D oraz E, z czego tylko A, B i C są wykorzystywane do adresowania sieci i hostów, a D i E są zarezerwowane do zastosowań specjalnych.

Klasa A obsługuje 126 sieci, z których każda ma ponad 16 milionów hostów (ponieważ pomimo tego, że jest to adres 7-bitowy, to wartości 0 i 127 mają specjalne znaczenie).

Adresy klasy B są przeznaczone dla sieci o rozmiarach do 65534 hostów. Może być co najwyżej 16384 sieci w klasie B.

Adresy klasy C przeznaczone są dla małych organizacji. Każda klasa C może mieć do 254 hostów, a klas może być ponad 2 miliony.

Klasę sieci można określić na podstawie pierwszej liczby w notacji kropkowo-dziesiętnej:

Adres z samymi zerami wskazuje na lokalną sieć. Adres 0.0.0.150 wskazuje na host z numerem 150 w tej sieci klasy C.

Adres 127.xxx.xxx.xxx klasy A jest używany do testu zwrotnego (loopback) – komunikacji hosta z samym sobą. Zazwyczaj jest to adres 127.0.0.1. Proces próbujący połączyć się z innym procesem na tym samym hoście, używa adresu zwrotnego, aby uniknąć wysyłania pakietów przez sieć.

Włączenie wszystkich bitów w jakiejś części adresu oznacza komunikat sieciowy (broadcast). Na przykład adres 128.18.255.255 oznacza wszystkie hosty w sieci 128.18 klasy B. Adres 255.255.255.255 oznacza, że wszystkie węzły danej sieci otrzymają ten pakiet.

Należy jednak podkreślić, że mniej więcej od roku 1997 podział na klasy sieci jest już nieaktualny. Obecnie adresy IPv4 są przydzielane bez specjalnego zwracania uwagi na klasy sieci - wg założeń CSDIR (classless routing) - ponieważ powodowało to duże marnotrawstwo IP.

Dokument RFC 1918 („Address Allocation for Private Internets”) określa, jakie adresy IP mogą być użyte wewnątrz prywatnej sieci. Zarezerwowane są dla nich trzy grupy adresów IP:

Nie należy w sieciach lokalnych stosować dowolnych adresów IP, gdyż może przyczynić się to do różnorakich problemów mających swe źródło w dublowaniu się adresów IP w sieci lokalnej oraz w Internecie.

Maska sieciowa (IPv4)


Jest to adres IP, który ma jedynki na pozycjach bitów odpowiadających adresom sieciowym i zera na pozostałych (odpowiadających adresom hosta). Klasa adresów sieciowych wyznacza maskę sieciową.

Adresy klasy A mają maskę

1111111100000000000000000000000

czemu w zapisie kropkowo-dziesiętnym odpowiada 255.0.0.0, adresy klasy B:

11111111111111110000000000000000

(255.255.0.0) i adresy klasy C:

11111111111111111111111100000000

(255.255.255.0). Dla wygody używany jest najczęściej zapis kropkowodziesiętny. Należy jednak pamiętać, że maska (jak również adres IP) zapisana jest stricte w postaci binarnej.

Należy również zauważyć, że zaczęto nadawać maski nie będące czysto maskami wg klas adresów IP (czyli takich, w których liczba jedynek jest wielokrotnością oktetów – liczby 8), lecz zwiększając liczbę jedynek przy takiej samej liczbie bitów (32). Umożliwiło to uzyskanie maski np.

11111111111111111111111111100000

(255.255.255.224) co pozwala na objęcie podsiecią 30 hostów.

Poniższa tabela przedstawia wszystkie możliwe podsieci dla zakresu od 2 do 254 hostów:

Liczba Hostów Maska podsieci
binarnie dziesiętnie
2
6
14
30
62
126
254

11111111111111111111111111111100
11111111111111111111111111111000
11111111111111111111111111110000
11111111111111111111111111100000
11111111111111111111111111000000
11111111111111111111111110000000
11111111111111111111111100000000

255.255.255.252
255.255.255.248
255.255.255.240
255.255.255.224
255.255.255.192
255.255.255.128
255.255.255.0

Adres sieciowy (IPv4)


Adres sieciowy jest bitowym iloczynem maski sieciowej z którymkolwiek z adresów IP sieci. Jeśli 206.197.168.200 jest adresem IP systemu, a 255.255.0.0 jest maską, to 206.197.0.0 jest adresem sieciowym. Jeśli zaś 206.197.168.200 jest adresem IP (bitowo 11001110110001011010100011001000) zaś 255.255.192.0 jest maską (bitowo 11111111111111111100000000000000), to iloczyn bitowy daje 206.197.128.0 (bitowo 11001110110001011000000000000000).

Czasami można spotkać skrótowo zapisany adres sieciowy w postaci: 168.100.189.0/24 gdzie część stojąca przed znakiem „/” jest adresem IP zaś liczba 24 jest skrótowo zapisaną maską sieciową. Jest to liczba bitów ustawionych w masce sieciowej na 1, czyli przy standardowej 32 bitowej masce jest to 11111111111111111111111100000000 (255.255.255.0).

IPv4 i IPv6


Ciągły rozwój Internetu spowodował, że dotychczasowa wersja zestawu protokołów używanych w nim do transmisji, mimo swej olbrzymiej elastyczności, przestaje wystarczać. Jest to spowodowane głównie wyczerpującym się obszarem adresowym (ograniczenie 32 bitowego adresu), ale wpływają na to także i inne czynniki, jak nowe techniki komunikacyjne, nowe programy wymagające sposobów komunikacji, której dotychczasowe protokoły nie są w stanie zapewnić (np. efektywne przesyłanie obrazu i dźwięku).

Dotychczasowa wersja protokołów TCP/IP (oznaczona numerem 4) jest oznaczana potocznie IPv4 i pod takim oznaczeniem (bądź częściej po prostu IP) figuruje w opracowaniach. Nową wersję oznaczono numerem 6 (stąd oznaczenie IPv6) i dla odróżnienia od wersji poprzedniej nazwano IPng (Next Generation).

Głównymi zmianami, jakie zostały wprowadzone i które na pierwszy rzut oka są widoczne, to rozszerzenie przestrzeni adresowej z 32 do 128 bitów (z 4 do 16 oktetów) co daje liczbę adresów niewyobrażalną do wyczerpania w dającej się przewidzieć przyszłości.

Choć długie adresy rozwiązują problem niewystarczającej przestrzeni, to pojawia się inny, równie interesujący. Ludzie zajmujący się administracją sieciami muszą tymi adresami operować. Notacja kropkowo-dziesiętna używana w IPv4 nie nadaje się, gdyż adresy są za długie. Jako rozwiązanie zaproponowano używanie notacji szesnastkowej z dwukropkami co umożliwia dodatkowo także kompresję zer.

Adres kropkowo-dziesiętny dla IPv6 wyglądałby przykładowo tak:

104.230.140.100.255.255.255.255.0.0.17.128.150.10.255.255.

Adres taki można przedstawić w formie krótszej stosując zapis szesnastkowy:

68E6:8C64:FFFF:FFFF:0:1180:96A:FFFF.

Poza tym, jak wspomniano wyżej, możliwa jest tzw. kompresja zer – ciąg powtarzających się zer jest zastępowany przez parę dwukropków. Adres FF05:0:0:0:0:0:0:B3 może zostać zapisany jako FF05::B3. Aby zapewnić, że kompresja zer nie powoduje niejednoznaczności w zapisie, może być ona zastosowana tylko raz.

Poza tym notacja szesnastkowa z dwukropkami pozwala na pisanie końcówek w notacji kropkowo-dziesiętnej co planuje się wykorzystać przy przejściu z IPv4 na IPv6. Następujący adres jest więc poprawny:

0:0:0:0:0:0:128.10.2.1.

I tutaj możliwe jest oczywiście zastosowanie kompresji zer: ::128.10.2.1.

System nazw domen


Każdy hostowy komputer w sieci TCP/IP ma swój adres IP. Jednak, ponieważ trudno jest zapamiętać adresy IP nawet kilku hostów, więc powstały specjalne serwery tłumaczące adresy domenowe (postaci: it.pw.edu.pl) na adresy kropkowo-dziesiętne (148.81.78.1). Serwery te nazywane są serwerami DNS (Domain Name Server). Serwery dokonujące translacji w drugą stronę, to serwery Rev-DNS. System ten nosi nazwę systemu nazw domenowych (Domain Name System).

Nazwa domenowa tworzona jest od strony prawej do lewej. Na początku występują nazwy domen najwyższego poziomu (Top-Level Domains), następnie domeny niższych poziomów, a na końcu znajduje się nazwa hosta. Nazwy te są oddzielone od siebie kropkami.

Domeny najwyższego poziomu podzielone są na domeny geograficzne (Country Code Domains – dwuliterowe identyfikatory przyznane poszczególnym krajom np. .uk, .de, .jp, .us, itp.) oraz organizacyjne (Generic Domains – przyznawane w zależności od prowadzonej działalności np. .com, .org, .net, .edu, .gov, .mil, .int).

Więcej informacji oraz listę domen najwyższego poziomu można znaleźć pod adresem http://www.iana.org/domain-names.htm.

Adres URL


URL jest adresem lokalizującym zasób w Internecie. Składa się z trzech głównych części:

Wadą adresu URL jest jego nietrwałość. Zmiana położenia dokumentu w systemie katalogów plików powoduje utratę ważności wszystkich istniejących do niego odniesień.

NAT, PAT, IP-Masqarade i serwery Proxy


Są to technologie umożliwiające współdzielenie jednego publicznego adresu IP w celu umożliwienia dostępu do Internetu przez wiele komputerów w sieci lokalnej. Stosowane są dlatego, że liczba publicznych adresów IP (mowa tu cały czas o IPv4) jest dużo mniejsza, niż liczba komputerów podłączonych do Internetu.

Chcąc umożliwić dostęp wielu komputerom w sieci lokalnej do Internetu przy pomocy tylko jednego adresu IP należy zastosować urządzenie (najczęściej jest to po prostu komputer) podłączone z Internetem pełniące funkcję tzw. bramy z przydzielonym publicznym adresem IP i połączonym z siecią lokalną. Komputerom w sieci lokalnej przydziela się adresy z prywatnej puli adresów IP (takie, które nie występują już w Internecie – określone odpowiednimi, wspomnianymi wcześniej normami i zwane adresami prywatnymi lub czasem nieroutowalnymi). Dzięki takiemu rozwiązaniu każdy komputer w danej sieci lokalnej ma możliwość dostępu do Internetu, zaś z zewnątrz cała sieć lokalna jest widziana jako jeden host.

Technologia NAT (Network Address Translation) polega na mapowaniu adresów zewnętrznych IP do jednego lub więcej adresów IP hostów wewnętrznych.

Technologie PAT (Port Address Translation) oraz IP-Masqarade polegają na tym, że komputer pełniący funkcję bramy zajmuje się takim modyfikowaniem ramek pakietów wchodzących i wychodzących z sieci lokalnej, aby możliwy był dostęp poprzez pojedynczy publiczny adres IP, a pakiety przychodzące docierały do właściwych komputerów w sieci lokalnej.

Nieco inna jest filozofia działania proxy serwerów. Są to dodatkowe serwery pośredniczące pomiędzy klientem (np. przeglądarką WWW) a serwerem docelowym. Serwer taki posiada własny cache w którym przechowuje pliki pobrane wcześniej przez użytkowników, co pozwala na szybszy dostęp do odwiedzonych wcześniej stron.

DHCP


DHCP jest usługą umożliwiającą dynamiczne przydzielanie adresów IP (z zadanej puli) komputerom w sieci LAN podczas konfiguracji w tych komputerach stosu TCP/IP przez jądro systemu lub skrypty startowe (czyli praktycznie przy każdym uruchomieniu komputera). Zajmuje się tym komputer noszący nazwę serwera DHCP. Umożliwia to zwolnienie administratora sieci od przydzielania ręcznie adresów statycznych IP każdemu z komputerów z osobna.

Takie działanie nie wyklucza jednak przydzielania adresów statycznych (również tych rozdzielanych przez serwer – co oznacza, że komputerowi przydzielany jest zawsze taki sam, z góry określony adres IP).

Najważniejsze usługi internetowe


Finger – usługa umożliwiająca zdobywanie informacji o użytkowniku mającym konto na zdalnym serwerze. Ze względu jednak na to, że zdobyte w ten sposób dane mogą zostać wykorzystane przez hackerów, obecnie większość maszyn w Internecie ma wyłączoną tą usługę

FTP (File Transfer Protocol) – protokół transmisji plików umożliwiający obustronną ich transmisję pomiędzy systemem lokalnym i zdalnym

Gopher – po polsku „świstak”. Obecnie odchodzący w zapomnienie i zastępowany przez WWW, wykorzystywany do wyszukiwania i udostępniania informacji w Internecie dzięki stosowaniu hierarchii menu i plików

HTTP (Hypertext Transfer Protocol) – protokół przesyłania hipertekstu odpowiedzialny za transmisję stron WWW

IRC (Internet Relay Chat) – protokół służący do prowadzenia rozmów za pomocą terminala tekstowego

NNTP (Usenet News Transfer Protocol) – protokół transmisji używany do wymiany wiadomości z serwerami grup dyskusyjnych

POP (Post Office Protocol) – protokół pocztowy służący do odbioru poczty z serwera i transmisję jej do maszyny lokalnej

SMTP (Simple Mail Transfer Protocol) – podstawowy protokół transmisji poczty stosowany do wysyłania poczty z maszyny lokalnej na serwer

SNMP (Simple Network Managament Protocol) – protokół zarządzania siecią. Służy do zdalnej administracji urządzeniami sieciowymi, które udostępniają tą usługę

SSH (Secure Shell) – bezpieczny protokół terminala sieciowego udostępniający funkcję szyfrowania przesyłanych danych. Jest zalecany do wykorzystania zamiast Telnetu.

Telnet – protokół terminala sieciowego umożliwiający logowanie się oraz zdalną pracę na odległym komputerze przy wykorzystaniu terminala tekstowego. Cechą charakterystyczną jest transmisja otwartym tekstem, a więc możliwość łatwego podsłuchania tejże transmisji.


Strona główna | WstępProtokoły sieciowe | Instalacja sieci lokalnej | Źródła |

Opracowanie umieszczone w serwisie edukacyjnym I LO za zgodą autora, Bartosza Kiziukiewicza.
Konwersji na format HTML dokonał mgr Jerzy Wałaszek.