Home > Pozostałe > Adresowanie IP v4

Adresowanie IP v4

Adresowanie IPv4


1. Czym jest adres IP?
2. Klasy adresów
3. Zabawa w router
4. Praktyczny przykład
5. Mowa końcowa :)

Adres IP to najprościej mówiąc, nasz adres logiczny w sieci, który oparty jest na
protokole sieciowym TCP/IP. Adres ten składa się 32 bitów podzielonych na 4 oktety (po 8
bitów). Możemy go podzielić na dwie części, pierwsza odpowiada za identyfikator sieci,
druga natomiast za identyfikator hosta.
Identyfikator sieci : określa segment, w którym znajduje się dany komputer, komputery w
tym samym segmencie muszą mieć ten sam identyfikator sieci ofc :>
Identyfikator hosta : określa konkretne urządzenie w danym segmencie. Identyfikator ten
musi być unikalny dla każdego urządzenia w jednej podsieci, identyfikator hosta mogą się
powtarzać wyłącznie gdy są w różnych podsieciach. :)
Adresy IP dzielą się na różne grupy, nazywamy je klasami.
Adresy IP

 

Czym charakteryzują się poszczególne klasy?

Klasa A:
W tej klasie na identyfikator sieci przeznaczony jest tylko pierwszy oktet, czyli może
istnieć 126 podsieci. Mamy dużo bitów na rezerwację identyfikatorów hostów, da nam to
ponad 16mln (2^24) hostów. Domyślna maska podsieci : 255.0.0.0.
Zakres adresów: 1.0.0.0 – 126.0.0.0.

Klasa B:
W klasie B na identyfikator sieci przeznaczone są dwa pierwsze oktety, co daję ponad
16 tysięcy podsieci i ponad 65 tysięcy hostów (2^16). Domyślna maska podsieci
255.255.0.0.
Zakres adresów: 128.1.0.0 – 191.254.0.0

Klasa C:
W tej klasie można utworzyć najwięcej podsieci, przeznaczone są na to aż trzy
pierwsze oktety (ponad 2 mln)! Natomiast zostaję nam jeden oktet na identyfikator hosta, co
daję nam 254 różnych hostów. Domyślna maska podsieci: 255.255.255.0.
Zakres adresów: 192.0.1.0 – 223.255.254.0.

 

 

Liczba 127 w pierwszym oktecie jest zarezerwowana dla tak zwanej pętli zwrotnej,
czyli starego poczciwego localhosta. Pingując do naszego adresu localhost
(127.0.0.1) możemy sprawdzić, czy karta sieciowa działa poprawnie, jeśli ping nie
odpowiada powinniśmy się martwić :D

Oprócz tych standardowych masek podsieci, występują też niestandardowe. Maski
te (niestandardowe) określa się za pomocą bitów. Na przykład maska : 255.255.0.0
jest 16 bitowa, ponieważ ma w sobie 2 oktety wypełnione po 8 bitów. Łatwiej będzie
to zrozumieć gdy zamienimy to na liczby w systemie binarnym.
8bitów+8bitów = 16 bitów.

11111111.11111111.00000000.00000000.
8bitów + 8bitów + 8bitów = 24 bity.
11111111.11111111.11111111.00000000

Maskę 28 bitową oznaczylibyśmy tak:
8bitów + 8 bitów + 8bitów + 4 bity
11111111.11111111.11111111.11110000
255.255.255.240.

Mając adres sieci i maskę podsieci możemy w prosty sposób określić, czy hosty są
dla siebie zdalne czy lokalne (występują w jednym segmencie). Wystarczy
porównać ich identyfikator sieci i maskę podsieci.
Podczas adresowania musimy pamiętać o kilku bardzo ważnych zasadach, w
pierwszym oktecie nie może znajdować się liczba 127 (zarezerwowana dla
testowania połączenia). W identyfikatorze hosta nie mogą znajdować się tylko
liczby 255, tego typu adres wykorzystuję broadcast, same 0 w identyfikatorze hosta
również są zakazane, wtedy przecież byłby adresem sieci! Ostatnią oczywistą
zasadą jest unikalność identyfikatora hosta w każdym segmencie sieci.
Mówiąć, a właściwie pisząc o adresach IP, warto wspomnieć o APIPA (ang.
Automatic Private IP Addressing), jest to adres, który przydzielany jest
automatycznie w systemach Windows, gdy serwer DHCP jest nieosiągalny. APIPA
należy do zakresu adresów: 169.254.0.1 – 169.254.255.254, z 16 bitową maską
podsieci.
Pobawmy się w router!


Router operuję na liczbach binarnych. Dokonuję operacji AND, czyli poprostu
koniunkcji. Małe przypomnienie z logiki matematycznej:

P | Q | P^Q
0 | 0  |  0
0 | 1  |  0
1 | 0  |  0
1 | 1  |  1

Przeanalizuj tabelkę, zwróc uwagę, że tylko w jednym wypadku koniunkcja zwróci
prawdę.
Wykonajmy prostę ćwiczenie dla utrwalenia wiedzy. Sprawdźmy czy adresy
172.25.1.100/20 i 172.25.100.1/20 są zdalne czy lokalne.
Zamieniamy pierwszy adres na jego binarny odpowiednik:

 

172                      25              1                100
10101100.00011001.00000001.01100100
Uwaga: Spójrz na drugi oktet, 25 binarnie to 11001 (5 cyfr), oktet musi mieć osiem,
więc dopełniamy zerami.
172.25.1.100/20 – zapis ten oznacza, że maska jest 20 bitowa, a więc
niestandardowa.
Zamieniamy naszą 20bitową maskę na bity:

255              255            240              0
11111111.11111111.11110000.00000000
Kolejnym krokiem jest zestawienie ze sobą maski i adresu IP w celu uzyskania
adresu sieci.

10101100.00011001.00000001.01100100

11111111.11111111.11110000.00000000
———————————————————- AND
10101100.00011001.00000000.00000000 = 172.25.0.0
Porównujemy ze sobą kolejne bity, proponuję to robić podpisująć jak w przykładzie
wyżej (trudniej się pomylić).
Tak więc mamy takie informację :
Adres IP: 172.25.1.100
Maska podsieci: 20 bitowa
Adres sieci: 172.25.0.0
Zajmijmy się teraz drugim adresem.

 

172                25               100            1
10101100.00011001.01100100.00000001

Teraz maska:

255              255             240               0

11111111.11111111.11110000.00000000

 

Operacja AND:
10101100.00011001.01100100.00000001
11111111.11111111.11110000.00000000
———————————————————– AND
10101100.00011001.01100000.00000000 = 172.25.96.0

 

Informację na temat drugiego adresu:
Adres IP: 172.25.100.1
Maska podsieci: 20 bitowa
Adres sieci: 172.25.96.0
Porównując ze sobą dwa adresy sieci stwierdzamy, że hosty są dla siebie zdalne
(172.25.0.0 != 172.25.96.0).
Praktyczny przykład
Wyobraźmy sobie, że dostaliśmy pracę w pewnej firmie. Dostaliśmy od szefa
polecenie zaplanowania sieci w budynku. Szef zażyczył sobie żeby na każdym
piętrze była inna podsieć, dał nam do wiadomości, że na każdym piętrze stoi nie
więcej niż 100 komputerów.
Podsumowując musimy zrobić 10 podsieci, w każdej z nich po przynajmniej 100
hostów. Mamy do dyspozycji następujący adres IP 171.15.0.0 z maską 16 bitową
(255.255.0.0).
Żeby dobrze rozplanować naszą sieć, musimy przesunąć identyfikator hosta i kilka
bitów w prawo (tak, żeby można było utworzyć przynajmniej 10 podsieci, 100
hostów). Myślę, że rozsądnie będzie przesunąć identyfikator hosta o 6 bitów w
prawo.
Zobaczmy jak to będzie wyglądało w zapisie binarnym

10101100.00001111.00000000.00000000 identyfikator sieci
11111111.11111111.11111100.00000000 maska podsieci

Mamy 6 bitów na adresy podsieci, czyli (2^6)-2 = 62 oraz 10 bitów na hosty co daje
(2^10)-2 = 1022. Spełniliśmy założenia szefa i jesteśmy przygotowani na rozrost
sieci w przyszłości.
Takim sposobem trzeba przydzielić podsieci:

10101100.00001111.000000|00.00000000 identyfikator sieci
11111111.11111111.111111|00.00000000 maska podsieci (22 bity)
10101100.00001111.000001|00.00000000 pierwsza podsieć
10101100.00001111.000010|00.00000000 druga podsieć

10101100.00001111.111110|00.00000000 ostatnia podsieć

Nasze sieci będą miały następujące adresy:
1. 171.15.4.0
2. 171.15.8.0

n. 171.15.248.0
Oczywiście nam będzie potrzebne tylko 10 adresów sieci.
Przyjrzyjmy się jak rozdzielić hosty do każdej z podsieci. Weźmy adres pierwszej z
nich.

10101100.00001111.000000|00.00000000 identyfikator sieci
11111111.11111111.111111|00.00000000 maska podsieci (22 bity)
10101100.00001111.000001|00.00000001 id. Pierwszego hosta
10101100.00001111.000001|00.00000010 id. drugiego hosta

10101100.00001111.000001|11.11111110 id. ostatniego hosta
10101100.00001111.000001|11.11111111 broadcast

Adres broadcast to adres rozgłoszeniowy, rozgłasza pakiety do wszystkich hostów
w danej podsieci. Składa się on z wyłącznie 1 w części identyfikatora hosta.

Dziesiętny zapis listy hostów:
1. 171.15.4.1/22
2. 171.15.4.2/22

Ostatni: 171.15.7.254/22
Wszystko rozplanowane, teraz trzeba trochę pobiegać po piętrach z kablem i
zaciskarką.
Dzięki za uwagę!

Kategorie:Pozostałe Tagi:, , ,
  1. Styczeń 13th, 2012 at 23:28 | #1
  2. Styczeń 13th, 2012 at 23:36 | #2

    @Adam Ziaja
    fajny tool; >
    btw, ale i tak fajnie wiedzieć jak to wszystko działa :)

  3. Styczeń 31st, 2012 at 16:29 | #3

    Lepiej się ucz IPv6.

  1. Brak jeszcze trackbacków