Wiadomości wstępne
Opracował: Arkadiusz Curulak
WSIiE TWP w Olsztynie
Data aktualizacji : 17-06-2002
Pierwsza edycja : 23-04-2002
Spis treści
Protokół TCP/IP: wiadomości wstępne ...................................................................... 2
Budowa adresu IP ............................................................................................. 2
Klasy adresów IP ............................................................................................... 3
Maska podsieci .................................................................................................. 4
Podsieci (subnetting) ......................................................................................... 5
Literatura ..................................................................................................................... 6
TCP/IP: Wiadomości wstępne
2
Protokół TCP/IP: Wiadomości wstępne
Budowa adresu IP
Każdemu hostowi (urządzeniu) w sieci przyporządkowany jest unikalny adres IP.
Dzięki niemu dane docierają do właściwego odbiorcy (innego komputera w sieci).
Rys.1. Przykład sieci wykorzystującej adresowanie IP do identyfikacji hostów.
Adres IP reprezentowany jest przez 32 bitową liczbę binarną.
11000000 . 10101000 . 00000001 . 00000010
192
.
168
.
1
.
2
Każdy adres IP przedstawiany jest w postaci 4 oktetów (rozdzielonych kropkami), z czego każdy oktet może opisywać liczbę dziesiętną z zakresu <0;255>, ponieważ (00000000)2 = (0)10, natomiast (11111111)2 = (255)10.
Przykład:
192.168.1.15 - jest poprawnym adresem IP
80.100.3.113 - jest poprawnym adresem IP
135.267.1.5 - jest błędnym adresem IP ( 267 !!! )
Adres IP zawiera tzw. część sieci (Network) i część hosta (Host). Część sieci adresu IP
określa sieć, do której należy host (urządzenie). Część hosta jest jego numerem w tej sieci.
32 bity
Network (część sieci)
Host (część hosta)
192
.
168
.
1
.
2
1 oktet
2 oktet
3 oktet
4 oktet
Rozmiar (liczba bitów) części sieci i hosta zależny jest od maski podsieci, jak również od klasy, do jakiej należy adres IP.
3
Klasy adresów IP
Adresy IP, w zależności od wartości pierwszego oktetu, należą do jednej z klas: A, B, C, D lub E. W praktyce najczęściej mamy do czynienia z klasami A, B i C. To, do jakiej klasy należy adres IP, ustalamy według reguły:
• jeżeli pierwszy bit adresu (a dokładnie pierwszego oktetu) ma wartość 0, adres należy do klasy A,
• jeżeli pierwsze dwa bity adresu mają wartość 1 0, adres należy do klasy B,
• jeżeli pierwsze trzy bity adresu mają wartość 1 1 0, adres należy do klasy C.
• jeżeli pierwsze cztery bity adresu mają wartość 1 1 1 0, adres należy do klasy D,
• jeżeli pierwsze cztery bity adresu mają wartość 1 1 1 1, adres należy do klasy E.
Zgodnie z powyższymi regułami możemy przyjąć zakresy wartości, jakie mogą przyjąć pierwsze liczby (oktety) adresu w poszczególnych klasach: Zakres
Klasa
Przykład adresu:
(dopuszczalne wartości 1 oktetu)
A
0 – 126
(127 jest zarezerwowane do specjalnych celów)
10.1.12.4
B
128 – 191
134.77.1.2
C
192 – 223
212.160.150.200
Do jakiej klasy należy adres 153.7.1.5 ?
Odp.: (153)10 = (10011001)2, a skoro pierwsze dwa bity mają wartość 1 0, to adres z pewnością należy do klasy B.
Rozmiary części sieci i hosta w poszczególnych klasach:
N – (network) należy do części sieci,
H – (host) należy do części hosta.
Klasa A
N
H
H
H
Część sieci składa się z 8 bitów, część hosta z 24 bitów.
Każda sieć używająca adresów z klasy A może zawierać 224 – 2 hostów (16777214).
Klasa B
N
N
H
H
Część sieci składa się z 16 bitów, część hosta z 16 bitów.
Każda sieć używająca adresów z klasy B może zawierać 216 – 2 hostów (65534).
Klasa C
N
N
N
H
Część sieci składa się z 24 bitów, część hosta z 8 bitów.
Każda sieć używająca adresów z klasy C może zawierać 28 – 2 hostów (254).
4
Jak wyliczamy maksymalną liczbę hostów w danej sieci?
2n – 2
n – liczba bitów części hosta.
Od maksymalnej liczby możliwych do otrzymania adresów hostów odejmujemy 2
skrajne adresy zarezerwowane dla adresu sieci i adresu rozgłoszeniowego (broadcast)1.
Maska podsieci
Maska podsieci swoją budową przypomina adres IP – składa się z 32 bitów rozdzielonych na cztery oktety, gdzie każdy z oktetów może przyjąć (jako liczba dziesiętna) wartość od 0 do 255.
Zadaniem maski podsieci jest wydzielenie z adresu IP części sieci (i hosta).
Uzyskujemy to przez wykonanie operacji AND maski podsieci z danym adresem IP.
Domyślne maski podsieci:
Klasa
Domyślna maska podsieci
A
255.0.0.0
B
255.255.0.0
C
255.255.255.0
W przypadku domyślnych masek podsieci zasada jest prosta:
• wszystkie bity należące do części sieci ustawione są na 1,
• wszystkie bity należące do części hosta ustawione są na 0.
Przykładowo: Klasa B
N
N
H
H
Maska podsieci (binarnie) 11111111
11111111
00000000
00000000
Maska podsieci (dziesiętnie)
255
255
0
0
Jak odbywa się wydzielanie adresu sieci za pomocą maski podsieci?
Przykładowo, mamy adres IP hosta (jak z rys.1) 192.168.1.5. Jest to adres z klasy C, zatem domyślną maską podsieci będzie 255.255.255.0 .
11000000
10101000
00000001
00000101
adres IP
AND
11111111
11111111
11111111
00000000
maska podsieci
11000000
10101000
00000001
00000000
adres sieci
192
168
1
0
Zatem, dla adresu IP 195.168.1.5 i maski podsieci 255.255.255.0, adresem sieci będzie 192.168.1.0, natomiast adresem hosta w tej sieci będzie 5, bo (00000101)2 = (5)10.
1 Dane (datagramy) wysyłane na adres rozgłoszeniowy dotrą do każdego hosta w danej sieci.
Przykładowo: adresem rozgłoszeniowym dla sieci o adresie 192.168.1.0 jest 192.168.1.255.
5
Podsieci (subnetting)
Do tej pory, część sieci adresu IP budowana była zawsze z pełnych oktetów i zgodnie ze schematem:
• klasa A – N H H H
• klasa B – N N H H
• klasa C – N N N H
Istnieje jednak możliwość rozszerzenia części sieci przez zapożyczenie bitów z części hosta. Dzięki temu możemy utworzyć dodatkowe sieci (zwane podsieciami). Należy jednak pamiętać, że zmniejszając liczbę bitów w części hosta, zmniejszamy tym samym ich maksymalną liczbę w każdej podsieci.
Po co tworzymy podsieci? Podział na podsieci stosuje się w celu usunięcia trudności topologicznych lub organizacyjnych w strukturze sieci danej organizacji. Dzięki subnettingowi zmniejszamy również rozmiary domeny broadcastowej2.
Minimalna liczba zapożyczonych bitów (z części hosta) na potrzeby subnettingu wynosi 2. Maksymalna, to ogólna liczba bitów należących do części hosta – 2.
Podsieci definiujemy za pomocą maski podsieci. Pamiętamy bowiem, iż zadaniem maski podsieci jest wydzielenie z adresu IP części sieci i hosta.
Przykładowo:
Mamy adres 192.168.1.22. Adres należy do klasy C, zatem domyślną maską podsieci będzie 255.255.255.0, adresem sieci 192.168.1.0, natomiast adresem rozgłoszeniowym (broadcastem) 192.168.1.255.
N – (network) należy do części sieci,
H – (host) należy do części hosta.
N
.
N
.
N
.
H
Adres IP (dziesiętnie)
192
.
168
.
1
.
22
Adres IP (binarnie)
11000000 . 10101000 . 00000001 .
00010110
Maska podsieci (bin)
11111111 . 11111111
11111111
00000000
Maska podsieci (dec)
255
.
255
.
255
.
0
Z części hosta adresu 192.168.1.10, zapożyczymy 4 bity na potrzeby subnettingu.
SN – (subnet) należy do części podsieci.
N
.
N
.
N
.
SN
H
Adres IP (dziesiętnie)
192
.
168
.
1
.
22
Adres IP (binarnie)
11000000 . 10101000 . 00000001 .
0001
0110
Maska podsieci (bin)
11111111 . 11111111 . 11111111 .
1111
0000
Maska podsieci (dec)
255
.
255
.
255
.
240
Mamy zatem 4 dodatkowe bity do tworzenia podsieci oraz 4 bity do zaadresowania hostów w każdej podsieci.
2 Ruch pakietów broadcastowych obciąża całą sieć. Podzielenie całej sieci na mniejsze podsieci ogranicza ruch broadcastów do podsieci, której one (broadcasty) dotyczą.
6
Podsumujmy:
Po zastosowaniu subnettingu mamy:
• adres IP hosta: 192.168.1.22,
• maska podsieci: 255.255.255.240,
• adres sieci: 192.168.1.16 (wszystkie 4 bity z części hosta wyzerowane),
• adres rozgłoszeniowy: 192.168.1.31 (wszystkie 4 bity z części hosta ustawione na 1).
Zmieniając kombinacje bitów w części subnettingu (SN) możemy utworzyć 14
oddzielnych podsieci, w których możemy zaadresować 16 urządzeń w każdej.
Dlaczego 16 podsieci i 14 hostów ?
Wzór na wyliczenie liczby hostów już znamy: 2n – 2, gdzie n to liczba bitów części hosta. W przypadku liczby podsieci3, to po prostu liczba wszystkich możliwych kombinacji 0 i 1 w części subnettingu.
Literatura
[1] Hunt C.; “TCP/IP. Administracja sieci.”; Wydawnictwo RM; W-wa 1998
[2] Amato V., Lewis W.; „Akademia Sieci Cisco. Pierwszy rok nauki.”, Mikom, W-wa 2001
[3] RFC 1812 - Requirements for IP Version 4 Routers
[4] RFC 1878 - Variable Length Subnet Table For IPv4
3 Pierwotnie liczba podsieci była równa 2n – 2, gdzie n jest liczbą bitów części podsieci (niektóre, starsze urządzenia, mogą niepoprawnie obsługiwać adresy, gdzie wszyskie bity w części podsieci są zerami lub jedynkami). Obecnie jednak, zgodnie z RFC 1812, do dyspozycji mamy pełen zakres, czyli włącznie ze skrajnymi wartościami.