camscape - for excellent IT solutions itkb.ro - IT knowledge base

pentru tonti :: ce sunt subretelele sau subnet-urile

Cristian
Cristian M.
TitleCe sunt subretelele sau subnet-urile
Tagssubretele, subnet
Desc.Ce sunt subretelele sau subnet-urile
CodeKBCR0001 v1.0
Date 3 noiembrie 2012
Ce sunt subretelele? Ce sunt subnet-urile? Clase IP?

Ca sa raspund, trebuie sa o incepem cu inceputul.


Bit
 
Bitul (de la BInary digiT) este capacitatea de baza a informatiei in IT. Un bit poate avea doar doua valori: 1 sau 0.
 
De ce? Fiindca totul a inceput cu diverse echipamente care aveau diverse componente care puteau sa fie deschise sau inchise, on sau off. Poate asa e mai simplu:
 
1   da   adevarat   deschis   on
0   nu   fals       inchis    off
 
Imaginati-va un intrerupator. E inchis sau deschis. Imaginati-va un container, ori e plin (de tot) ori e gol. Ei bine, aceasta stare, reprezentarea ei, este bitul.
 
De aici lucrurile se complica. Ce facem cu bitul avand in vedere ca noi oamenii functionam cu un set de numere de la 0 la 9? Cum transformam?
 
Sa explic intai cum e cu 0 pana la 9. Adica cu Baza 10. Sa spunem ca avem numarul 3456. Reprezentarea lui in Baza 10 este:
 
3456 = 6 x 100 + 5 x 101 + 4 x 102 + 3 x 103
 
adica
 
3456 = 6 + 50 + 400 + 3000
 
Observati sistemul de reprezentare cu puterile lui 10 (fiindca suntem in Baza 10), care se aplica incepand cu 0 (nu cu 1!) de la cel mai din dreapta component, inspre stanga. La fel e si cu bitii, adica in Baza 2. Astfel, putem usor sa transformam din Baza 2 in Baza 10:
 
110 = 0 x 20 + 1 x 21 + 1 x 22
 
adica
 
110 = 0 + 2 + 4 = 6
 
In IT se mai folosesc curent inca doua baze, Baza 8 (0 - 7) si Baza 16 (0 - 9 A B C D E F).
 
Exercitiu 001: cat face FACE in Baza 10?
 
 
 
Byte
 
Byte-ul este unitatea logica de operare in IT. Adica, pe scurt, la nivel inalt, nu prea se uita nimeni la bit, toata lumea lucreaza cu bytes. Un byte este reprezentarea a 8 biti.
 
De exemplu:
 
01001110
 
Exercitiu 002: Cat inseamna byte-ul de mai sus in Baza 10?
Exercitiu 003: Cat e bitul 2 din byte-ul de mai sus?
 

 
Operatiuni la nivel de bit
 
Exista patru operatiuni specifice la nivel de bit: AND, OR, XOR si NOT. Operatiunile sunt operatiuni LOGICE si asa e cel mai simplu sa le retineti. Imaginati-va ca a si b sunt de fapt afirmatii
 
AND (SI) (a AND b = rezultat)
 
a  b  rezultat
0  0  0
1  0  0
0  1  0
1  1  1
(a = ana e blonda, b = maria e blonda, rezultat = ana si maria sunt blonde)
 
OR (SAU) (a OR b = rezultat)
 
rezultat
0
1
1
1
(a = ana e blonda, b = maria e blonda, rezultat = ana sau maria sunt blonde)
 
XOR (a XOR b = rezultat)
 
rezultat
0
1
1
0
(a = ana e blonda, b = maria e blonda, rezultat = ori ana ori maria e blonda)
 
NOT (negatie) (NOT a = rezultat)
 
rezultat
1
0
 

 
Adresa IP (v4)
 
Adresa IP identifica in mod unic intr-o retea un echipament. Adresa IPv4 se exprima prin 4 bytes:
 
X.Y.Z.W
 
Exercitiu 004: care este adresa IP pentru care suma componentelor este cea mai mica? Dar cea mai mare? De ce?
 
Adresele IP sunt in primul rand rutabile sau nerutabile, publice sau private. Clasele IP private (cf. IETF, RFC 1918):
 
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
 
Aceste adrese IP nu vor fi rutate in Internet, orice router de pe parcurs le va ignora. Ele se folosesc in retele interne.
 

 
Clase de adrese IPv4 (subnet sau subretele)
 
O adresa IPv4 (1.2.3.4 de exemplu) are existenta ei. Totusi, ea nu are inteles decat impreuna cu masca de retea. Masca de retea este un set de 4 bytes care, impreuna cu adresa IP identifica clasa din care aceasta face parte. Wow! Ce frumos :)
 
Sa explicam: masca de retea arata exact ca o adresa IPv4, cel mai des ati intalnit-o in forma 255.255.255.0 . Aceeasi masca mai poate fi exprimata in formatul CIDR (Classless Inter-Domain Routing) ca fiind /24.
 
De unde 24? Pai, avem deci 4 bytes intr-o adresa IPv4. Cati biti avea un byte? 8. 8 x 4 = 32. Adica 255.255.255.255 inseamna /32 . Daca ultimul byte din 255.255.255.0 e 0 (el contine 8 biti) atunci 32 - 8 = 24, de unde /24.
 
Ok, si la ce imi foloseste? Hai sa ii reprezentam:
 
255      255      255      0
11111111 11111111 11111111 00000000
 
Uite cei 24 de biti (da, se numara de la stanga la dreapta) ai lui 255.255.255.0.
 
Acum, sa reprezentam un IPv4 in format CIDR, de exemplu 1.2.3.4/24 :
 
00000001 00000010 00000011 00000100 IP-ul
11111111 11111111 11111111 00000000 Masca
 
Faceti un AND pe cele de mai sus, bit la bit, si rezulta:
 
00000001 00000010 00000011 00000000
 
Adica, pe limba omeneasca:
 
1.2.3.0
 
Asta e clasa din care face parte 1.2.3.4/24
 
Si totusi, la ce pana mea foloseste? La ceva extrem de important: IP-urile care se afla in aceeasi clasa pot comunica direct intre ele. Cele care se afla in clase diferite au nevoie de crearea unei rute specifice sau chiar de un router.
 
Adica:
 
Sa presupunem ca avem doua echipamente, 1 si 2, au IP-urile IP1 si IP2:
 
IP1: 1.2.3.4/29 sau 1.2.3.4/255.255.255.248
IP2: 1.2.3.10/29 sau 1.2.3.10/255.255.255.248
 
Ei bine, echipamentele NU comunica intre ele din prima, chiar daca au un cablu direct intre ele. Sa calculam:
 
IP1: 1.2.3.4/29
00000001 00000010 00000011 00000100 IP-ul
11111111 11111111 11111111 11111000 Masca
 
Rezulta reteaua:
 
00000001 00000010 00000011 00000000
 
adica 1.2.3.0/29
 
 
IP2: 1.2.3.10/29
00000001 00000010 00000011 00001010 IP-ul
11111111 11111111 11111111 11111000 Masca
 
Rezulta reteaua:
 
00000001 00000010 00000011 00001000
 
adica 1.2.3.8/29
 
 
Avem subretele diferite (1.2.3.0 este diferit de 1.2.3.8), deci LA REVEDERE, nu se vad intre ele.
 
Pe echipamentul 1, daca va uitati la rute veti vedea ca aveti ruta catre 1.2.3.0/255.255.255.248 prin placa de retea, iar pe echipamentul 2, 1.2.3.8/255.255.255.248. Daca de pe 1 dati ping la 1.2.3.10, acesta fiind inafara clasei rutate, nu merge. Nu va trebuie router, dar trebuie sa adaugati ruta de mana pe calculatorul 1:
 
Linux (presupunem placa de retea conectata eth0):
route add -net 1.2.3.8 netmask 255.255.255.248 dev eth0
 
Windows (presupunem placa de retea conectata 1):
route add 1.2.3.8 mask 255.255.255.248 if 1
 
Exercitiu 005: este de ajuns sa rulam comanda de mai sus ca avem comunicatie intre cele doua echipamente?
Exercitiu 006 (asta e exagerat la nivelul asta): cum suna comanda daca aveam un router intre echipamente?
 
 
Exista si o veste buna: puteti sa calculati mental clasele, cel putin in zona 255.255.255.0 - 255.255.255.255 . Iata un tabel si incercati sa gasiti logica:
 
Clasa             CIDR   retea pentru 1.2.3.1   hosturi posibile      broadcast
255.255.255.0     /24    1.2.3.0/24             1.2.3.1 - 1.2.3.254   1.2.3.255
255.255.255.128   /25    1.2.3.0/25             1.2.3.1 - 1.2.3.126   1.2.3.127
255.255.255.192   /26    1.2.3.0/26             1.2.3.1 - 1.2.3.62    1.2.3.63
255.255.255.224   /27    1.2.3.0/27             1.2.3.1 - 1.2.3.30    1.2.3.31
255.255.255.240   /28    1.2.3.0/28             1.2.3.1 - 1.2.3.14    1.2.3.15
255.255.255.248   /29    1.2.3.0/29             1.2.3.1 - 1.2.3.6     1.2.3.7
255.255.255.252   /30    1.2.3.0/30             1.2.3.1 - 1.2.3.2     1.2.3.3
255.255.255.254   /31    1.2.3.0/31             ?                     ?
 
Si mai exista si http://ceipam.eu/ro/ipcalculator.php :))
 
Cine e broadcast asta o sa ma intrebati. Broadcast-ul este intotdeauna ultima adresa posibila dintr-o anumita subretea. Aceasta adresa nu poate fi setata pe un echipament, ea este folosita pentru protocoale speciale (aflarea serverului DHCP, comunicatii SMB, etc).
 
La fel, nu puteti seta pe un echipament adresa subretelei. De exemplu, in subreteau 1.2.3.8/29, adresa IP 1.2.3.8 nu poate fi folosita pe nici un echipament.
 
 
Raspunsuri la exercitii:
 
001:
FACE = E x 160 + C x 161 + A x 162 + F x 163
FACE = 14 x 160 + 12 x 161 + 10 x 162 + 15 x 163
FACE = 64206
 
002:
01001110 = 78
 
003:
1. 0 e bitul 0, 1 e bitul 1, 1 e bitul 2
 
004:
0.0.0.0 cea mai mica, 255.255.255.255 cea mai mare.
Fiindca fiecare componenta e un byte, adica un numar intre 00000000 si 11111111, adica intre 0 si 255.
 
005:
Nu. Si pe echipamentul 2 trebuie sa adaugam rute specifice, altfel pachetele raspuns nu vor stii pe unde sa se intoarca.
 
006:
Linux (presupunem IP-ul routerului din partea lui 1 ca fiind 1.2.3.1):
route add -net 1.2.3.8 netmask 255.255.255.248 gw 1.2.3.1
 
Windows (presupunem IP-ul routerului din partea lui 1 ca fiind 1.2.3.1):
route add 1.2.3.8 mask 255.255.255.248 gw 1.2.3.1
 
De mentionat ca, desi in general routerul alocat unei subretele este primul IP disponibil, aceasta nu este obligatoriu. E doar o convenienta.