Protokół TCP/IP

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.

TCP/IP: Wiadomości wstępne

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).

TCP/IP: Wiadomości wstępne

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.

TCP/IP: Wiadomości wstępne

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ą.

TCP/IP: Wiadomości wstępne

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.