BASH
Configurare email
Configurare software
Hardware
Linux
Linux Mint
Pentru tonti
Securitate
VMWARE
Windows
pentru tonti :: ce sunt subretelele sau subnet-urile
CAMSCAPE SERVICES Cristian M. |
Title | Ce sunt subretelele sau subnet-urile |
Tags | subretele, subnet | |
Desc. | Ce sunt subretelele sau subnet-urile | |
Code | KBCR0001 v1.0 | |
Date | 3 noiembrie 2012 |
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)
a b rezultat
0 0 0
1 0 1
0 1 1
1 1 1
(a = ana e blonda, b = maria e blonda, rezultat = ana sau maria sunt blonde)
XOR (a XOR b = rezultat)
a b rezultat
0 0 0
1 0 1
0 1 1
1 1 0
(a = ana e blonda, b = maria e blonda, rezultat = ori ana ori maria e blonda)
NOT (negatie) (NOT a = rezultat)
a rezultat
0 1
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.