Co to jest adres IP?

Adres IP jest podstawą komunikacji sieciowej z wykorzystaniem protokołu IP. Umieszczony w bezpośrednio w pakiecie z danymi jest reprezentowany binarnie, składa się z 32 bitów i ma postać np. 00001010 00001011 00001100 00001101. W celu ułatwienia posługiwania się adresami IP ustalono, że na poziomie konfiguracji oprogramowania (systemy operacyjne, urządzenia sieciowe) będzie on reprezentowany w zapisie dziesiętnym.

Aby zapisać adres IP w postaci dziesiętnej należy pogrupować go w ośmiobitowe grupy (tak zwane oktety), zamienić otrzymane grupy bitów na liczby dziesiętne a następnie wstawić między nie kropki:

  • 00001010 to w systemie dziesiętnym 10
  • 00001011 to w systemie dziesiętnym 11
  • 00001100 to w systemie dziesiętnym 12
  • 00001101 to w systemie dziesiętnym 13

Powyższy adres IP ma postać:

10.11.12.13

Maska podsieci i adres broadcast

Adres IP składa się z części sieciowej oraz hosta. Z adresem IP w sieci ściśle wiąże się pojęcie maski podsieci (np. 255.255.255.0, 255.255.0.0). Maska, podobnie jak adres IP, ma również postać 32-bitową. Służy ona do podziału puli adresów IP na podsieci co jest równoznaczne z podziałem adresu IP na część sieciową i hosta. Podsieci to grupy adresów IP, które mogą być umieszczane w różnych lokalizacjach czyli w różnych sieciach lokalnych. Jednoznaczne określenie podsieci wymaga podania maski podsieci oraz jednego z następujących elementów: adres podsieci, dowolny adres wewnątrz podsieci, adres broadcast. Na podstawie jednego z trzech wymienionych adresów można obliczyć dwa pozostałe bitowo w następujący sposób:

  • adres sieci = dowolny adres AND maska,
  • adres rozgłoszeniowy (broadcast) = dowolny adres OR 11111111 11111111 11111111 11111111.

Maska podsieci może przyjmować TYLKO wartości zgodnie z poniższym formatem:

  • 255.255.255.xxx,
  • 255.255.xxx.0,
  • 255.xxx.0.0.

W każdej grupie xxx można umieścić następujące liczby oznaczające ilość adresów IP, która jest potęgą liczby 2:

  • 255 – 1 adres (256-255=1),
  • 252 – 4 adresy (256-252=4),
  • 248 – 8 adresów (256-248=8),
  • 240 – 16 adresów (256-16=240),
  • 224 – 32 adresy (256-224=232),
  • 192 – 64 adresy (256-192=64),
  • 128 – 128 adresów (256-128=128),
  • 0 – 256 adresów (256-0=256).

Ilość adresów dla danej maski określa się poprzez przemnożenie ilości adresów dla grupy xxx oraz pozostałych oktetów jeśli xxx nie stoi na ostatniej pozycji. Przykładowo:

  • 255.255.255.0 = 256 adresów,
  • 255.255.255.248 = 8 adresów,
  • 255.255.240.0 - 16 x 256 = 4096 adresów,
  • 255.224.0.0 – 32 x 256 x 256 = 2 097 152 adresów.

Adres podsieci (np. 192.168.1.0, 172.16.0.0) jest to pierwszy adres w danej podsieci, który nie może być przypisany do żadnego urządzenia sieciowego. Wraz z maska podsieci jest używany do określania tras od nadawcy do odbiorcy dla pakietów poprzez urządzenia pośredniczące (routery). Adres broadcast (np. 192.168.1.255, 172.16.255.255) jest to ostatni adres w danej podsieci, nazywany też adresem rozgłoszeniowym. Adres ten również nie może być przypisany do żadnego urządzenia sieciowego ale posiada taką właściwość, że każdy pakiet adresowany do niego zostanie wysłany do wszystkich adresów hostów w danej podsieci. Adres hosta jest dowolnym adresem pomiędzy adresem sieci a rozgłoszeniowym i może być przypisany do urządzeń sieciowych.

Klasy adresów IP

W początkowych czasach działania sieci Internet, ustalono podział adresów IP na klasy, który w tej chwili ma charakter już dość historyczny:

  • Klasa A – zakres 1-127.0.0.0, maska 255.0.0.0, 128 podsieci, 16 777 214 hostów w podsieci,
  • Klasa B – zakres 128-191.0.0.0, maska 255.255.0.0, 16 384 podsieci, 65 534 hostów w podsieci,
  • Klasa C – zakres 192-223.0.0.0, maska 255.255.255.0, 2 097 150 podsieci, 254 hostów w podsieci,
  • Klasa D – zakres 224-239.0.0.0, brak maski, adresy specjalne,
  • Klasa E – zakres 240-255.0.0.0, brak maski, adresy specjalne.

Podział na klasy definiuje adresy IP, które można przydzielić dla hostów (A, B, C) oraz pozostałe adresy, które mają zastosowanie specjalne (np. maska podsieci, adresy multicast, adresy automatyczne i testowe). W przypadku gdy dana organizacja, firma bądź instytucja otrzymuje pewną klasę adresów IP (np. Klasę C) a posiada łącznie 100 urządzeń sieciowych, pozostałe 124 są nieużywane czyli marnują się. W przypadku pozostałych dwóch klas (A, B) niewykorzystanych adresów było jeszcze więcej.

Technika VLSM

W celu eliminacji problemu marnowania adresów IP, opracowano mechanizm zwany VLSM (ang. Variable Lenght Subnet Mask), który umożliwia podział klas na mniejsze podsieci za pomocą maski o zmiennej długości.

Przykładowo jeśli operator otrzymał od swojego dostawcy Internetu pulę 256 adresów IP np. 195.205.27.0-255 z maską 255.255.255.0 to może on podzielić sobie ten zakres na podsieci zgodnie z zasadami VLSM, które mówią, że dany zakres można podzielić „na pół”. Po podziale „na pół” powstaną dwa zakresy adresów IP, które również można podzielić „na pół”. Operacje podziału można wykonywać do momentu otrzymania 4 adresów czyli do maski 255.255.255.252. Przykładowy efekt podziału przedstawiono poniżej:

  • 195.205.27.0-255 z maską 255.255.255.0,
  • 195.205.27.0-127 z maską 255.255.255.128,
  • 195.205.27.0-63 z maską 255.255.255.192

itd.,

  • 195.205.27.64-127 z maską 255.255.255.192

itd.,

  • 195.205.27.128-255 z maską 255.255.255.128,
  • 195.205.27.128-191 z maską 255.255.255.192

itd.,

  • 195.205.27.192-255 z maską 255.255.255.192

itd.

Technika VLSM spowolniła proces wyczerpywania się adresów IP poprzez umożliwienie dzielenia zakresów z podziału klasowego na mniejsze podsieci. Dzięki temu więksi ISP wykupują klasy adresowe (zazwyczaj klasy C, rzadziej B lub mniejsze podklasy) a następnie za pomocą VLSM dzielą je na mniejsze zakresy i sprzedają klientom. 

Prywatne adresy IP

Wśród historycznych klas A, B i C wyróżniamy specjalne adresy do zastosowań w sieciach LAN. Są to tak zwane adresy prywatne, które w odróżnieniu od pozostałych adresów (publicznych) nie powinny pojawiać się w sieci Internet. Należą do nich zakresy adresowe:

  • 10.0.0.0 – 10.255.255.255 z maską 255.0.0.0,
  • 172.16.0.0 – 172.16.31.255 z maską 255.255.248.0,
  • 192.168.0.0 – 192.168.255.255 z maską 255.255.0.0 (najpopularniejsze w sieciach LAN).

Adresy prywatne stosuje się w sieciach lokalnych, do których nie jest potrzebny bezpośredni dostęp do zasobów (np. sieć domowa, sieć firmowa). Mechanizm o nazwie NAT (ang. Network Address Translation) obecny we wszystkich współczesnych routerach, umożliwia „wyjście w świat” z sieci lokalnej (z adresów lokalnych).