Ghid CCNA
Subnetting explicat pas cu pas (IPv4, CIDR, VLSM)
Subnetting-ul o sperie pe toată lumea la început, apoi devine un fel de joc de calcul mental. Nu e nevoie de matematică grea: îți trebuie puțin binar, o singură regulă (numărul magic) și exercițiu.
În ghidul ăsta pornești de la zero și ajungi să rezolvi orice întrebare de subnetting de la CCNA: adresa de rețea, broadcast-ul, primul și ultimul host, câte host-uri încap, cum împarți o rețea în N subrețele și cum faci un plan VLSM. Toate exemplele sunt rezolvate complet, iar la final ai 5 exerciții cu răspunsuri.
Ce este subnetting-ul și de ce contează
O adresă IPv4 are 32 de biți, scriși ca patru numere (octeți) între 0 și 255, de exemplu 192.168.10.77. O parte din biți spune în ce rețea se află dispozitivul (partea de rețea), iar restul spune care dispozitiv este în acea rețea (partea de host).
Subnetting înseamnă să iei o rețea și s-o împarți în rețele mai mici, numite subrețele (subnets). De ce ai face asta?
- Ordine: fiecare departament, etaj sau VLAN primește propria subrețea.
- Mai puțin broadcast: un broadcast ajunge doar în subrețeaua (VLAN-ul) lui, nu în toată rețeaua.
- Securitate: între subrețele traficul trece prin router sau firewall, unde poți pune reguli (ACL-uri).
- Adrese folosite cu cap: nu dai 254 de adrese unei legături între două routere care are nevoie de 2.
Recapitulare de binar (doar cât îți trebuie)
Fiecare octet are 8 biți. Fiecare poziție are o valoare fixă:
Poziția: bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
Valoarea: 128 64 32 16 8 4 2 1
Un număr zecimal e suma pozițiilor care au 1. De exemplu:
77 = 64 + 8 + 4 + 1 = 01001101
192 = 128 + 64 = 11000000
240 = 128 + 64 + 32 + 16 = 11110000
Pentru subnetting merită să știi pe de rost valorile pe care le poate avea un octet de mască. Sunt singurele valori posibile, pentru că biții de 1 se completează de la stânga la dreapta:
| Biți de 1 în octet | Binar | Zecimal |
|---|---|---|
| 1 | 10000000 | 128 |
| 2 | 11000000 | 192 |
| 3 | 11100000 | 224 |
| 4 | 11110000 | 240 |
| 5 | 11111000 | 248 |
| 6 | 11111100 | 252 |
| 7 | 11111110 | 254 |
| 8 | 11111111 | 255 |
Dacă recunoști instant șirul 128, 192, 224, 240, 248, 252, 254, 255, ai făcut deja jumătate din drum.
Biți de rețea, biți de host și masca de subrețea
Masca de subrețea spune care biți din adresă sunt de rețea. Regula e simplă: biții de rețea sunt 1 în mască, biții de host sunt 0. Biții de 1 sunt mereu consecutivi, în stânga.
Adresa: 192.168.10.77 11000000.10101000.00001010.01|001101
Masca: 255.255.255.192 11111111.11111111.11111111.11|000000
<---- 26 biți de rețea ----->|6 host
Masca în format zecimal vs. prefix (notația CIDR)
Aceeași mască se poate scrie în două feluri:
- zecimal:
255.255.255.192 - prefix (CIDR):
/26, adică „primii 26 de biți sunt de rețea”
Ca să treci de la prefix la mască: fiecare 8 biți fac un 255, iar restul îl citești din tabelul de mai sus. /26 = 8 + 8 + 8 + 2 → 255.255.255.192. /20 = 8 + 8 + 4 → 255.255.240.0.
Invers: numeri biții de 1. 255.255.252.0 = 8 + 8 + 6 + 0 = /22.
CIDR (Classless Inter-Domain Routing) e și regula din spatele notației: prefixul poate avea orice lungime de la /0 la /32. Vechile clase (A = /8, B = /16, C = /24) mai apar ca vocabular („o adresă de clasă B”), dar rețelele moderne nu mai sunt legate de ele.
Formulele de bază
Dacă ai h biți de host (h = 32 − prefix):
- numărul de adrese din subrețea = 2^h
- numărul de host-uri utilizabile = 2^h − 2 (scazi adresa de rețea și broadcast-ul)
Dacă împrumuți s biți pentru subrețele dintr-o rețea mai mare:
- numărul de subrețele = 2^s
Metoda numărului magic (block size)
Aici e trucul care te scapă de conversii binare la fiecare întrebare. Pașii:
- Găsește octetul interesant: octetul în care masca nu e nici 255, nici 0 (acolo se termină partea de rețea). Dacă masca are doar 255 și 0 (/8, /16, /24), granița cade exact între octeți: octeții cu 255 se copiază din adresă, iar cei cu 0 devin 0 la adresa de rețea și 255 la broadcast (echivalent: bloc de 256 în primul octet cu 0). La /32 nu e nimic de calculat: e un singur host.
- Calculează blocul (numărul magic):
256 − valoarea măștii în octetul interesant. - Găsește începutul subrețelei: cel mai mare multiplu al blocului care este ≤ valoarea adresei în octetul interesant. Asta e adresa de rețea (octeții din stânga rămân la fel, cei din dreapta devin 0).
- Broadcast-ul: începutul subrețelei următoare minus 1 (în octetul interesant), iar octeții din dreapta devin 255.
- Primul host = adresa de rețea + 1. Ultimul host = broadcast − 1.
Subrețelele „merg din bloc în bloc”: dacă blocul e 64, subrețelele încep la 0, 64, 128, 192. Cam atât. Hai să vedem metoda la lucru.
Exemple rezolvate complet
Exemplul 1: 192.168.10.77/26
Pasul 1. /26 → masca 255.255.255.192. Octetul interesant e al patrulea (192).
Pasul 2. Blocul = 256 − 192 = 64. Subrețelele încep la .0, .64, .128, .192.
Pasul 3. 77 se află între 64 și 128, deci subrețeaua începe la 64.
Verificarea în binar (operația AND între adresă și mască, doar în octetul interesant):
77 = 01001101
192 = 11000000
AND = 01000000 = 64
Pasul 4–5. Subrețeaua următoare începe la 128, deci broadcast-ul e 127.
| Ce cauți | Rezultat |
|---|---|
| Adresa de rețea | 192.168.10.64 |
| Primul host | 192.168.10.65 |
| Ultimul host | 192.168.10.126 |
| Broadcast | 192.168.10.127 |
| Host-uri utilizabile | 2^6 − 2 = 62 |
Exemplul 2: 10.20.45.200/20
Aici octetul interesant nu mai e ultimul, iar mulți se încurcă. Ia-o încet.
Pasul 1. /20 = 8 + 8 + 4 → masca 255.255.240.0. Octetul interesant e al treilea (240).
Pasul 2. Blocul = 256 − 240 = 16. În al treilea octet, subrețelele încep la 0, 16, 32, 48, 64…
Pasul 3. Valoarea adresei în al treilea octet e 45. Cel mai mare multiplu de 16 care nu depășește 45 este 32.
45 = 00101101
240 = 11110000
AND = 00100000 = 32
Octetul al patrulea e în partea de host, deci la adresa de rețea devine 0.
Pasul 4. Subrețeaua următoare începe la 10.20.48.0, deci broadcast-ul e cu o adresă mai jos: 10.20.47.255.
| Ce cauți | Rezultat |
|---|---|
| Adresa de rețea | 10.20.32.0 |
| Primul host | 10.20.32.1 |
| Ultimul host | 10.20.47.254 |
| Broadcast | 10.20.47.255 |
| Host-uri utilizabile | 2^12 − 2 = 4.094 |
Observă: când octetul interesant nu e ultimul, broadcast-ul are 255 în octeții din dreapta, iar ultimul host se termină în .254. Adrese ca 10.20.40.0 sau 10.20.40.255 sunt host-uri perfect valide în subrețeaua asta, deși „arată” a rețea sau a broadcast.
Exemplul 3: 10.1.1.9/30
/30 e masca clasică pentru legături între două routere: exact 2 adrese utilizabile.
Pasul 1. /30 → 255.255.255.252. Octetul interesant: al patrulea.
Pasul 2. Blocul = 256 − 252 = 4. Subrețelele: .0, .4, .8, .12…
Pasul 3. 9 e între 8 și 12 → subrețeaua începe la 8.
| Ce cauți | Rezultat |
|---|---|
| Adresa de rețea | 10.1.1.8 |
| Primul host | 10.1.1.9 |
| Ultimul host | 10.1.1.10 |
| Broadcast | 10.1.1.11 |
| Host-uri utilizabile | 2^2 − 2 = 2 |
Exemplul 4 (adresă de clasă B): 172.18.77.10/22
172.18.x.x e în vechiul interval de clasă B, unde masca implicită era /16. Aici rețeaua a fost împărțită: s-au împrumutat 6 biți (de la /16 la /22).
Pasul 1. /22 = 8 + 8 + 6 → 255.255.252.0. Octetul interesant: al treilea (252).
Pasul 2. Blocul = 256 − 252 = 4. În al treilea octet: 0, 4, 8… 72, 76, 80…
Pasul 3. 77 e între 76 și 80 → subrețeaua începe la 76.
77 = 01001101
252 = 11111100
AND = 01001100 = 76
| Ce cauți | Rezultat |
|---|---|
| Adresa de rețea | 172.18.76.0 |
| Primul host | 172.18.76.1 |
| Ultimul host | 172.18.79.254 |
| Broadcast | 172.18.79.255 |
| Host-uri utilizabile | 2^10 − 2 = 1.022 |
| Câte subrețele /22 încap în 172.18.0.0/16 | 2^6 = 64 |
Cum împarți o rețea în subrețele
În practică (și la examen) primești de obicei o cerință: „îmi trebuie N subrețele” sau „fiecare subrețea trebuie să aibă cel puțin H host-uri”. Ambele se rezolvă cu puteri ale lui 2.
Varianta A: ai nevoie de un anumit număr de subrețele
Cerință: ai 192.168.1.0/24 și îți trebuie 6 subrețele.
- Cel mai mic
scu 2^s ≥ 6 este s = 3 (2^3 = 8 subrețele). - Noul prefix: /24 + 3 = /27 → masca
255.255.255.224. - Blocul: 256 − 224 = 32. Fiecare subrețea are 2^5 − 2 = 30 de host-uri.
| # | Rețea | Primul host | Ultimul host | Broadcast |
|---|---|---|---|---|
| 1 | 192.168.1.0/27 | .1 | .30 | .31 |
| 2 | 192.168.1.32/27 | .33 | .62 | .63 |
| 3 | 192.168.1.64/27 | .65 | .94 | .95 |
| 4 | 192.168.1.96/27 | .97 | .126 | .127 |
| 5 | 192.168.1.128/27 | .129 | .158 | .159 |
| 6 | 192.168.1.160/27 | .161 | .190 | .191 |
| 7 | 192.168.1.192/27 | .193 | .222 | .223 |
| 8 | 192.168.1.224/27 | .225 | .254 | .255 |
Folosești 6 și păstrezi 2 pentru mai târziu.
Varianta B: ai nevoie de un anumit număr de host-uri pe subrețea
Cerință: ai 172.16.0.0/16 și fiecare subrețea trebuie să aibă cel puțin 500 de host-uri.
- Cel mai mic
hcu 2^h − 2 ≥ 500 este h = 9 (2^9 − 2 = 510). Cu h = 8 ai doar 254, prea puțin. - Prefixul: 32 − 9 = /23 → masca
255.255.254.0. - Câte subrețele obții: de la /16 la /23 ai împrumutat 7 biți → 2^7 = 128 de subrețele, fiecare cu 510 host-uri.
- Blocul e 256 − 254 = 2 în al treilea octet:
172.16.0.0/23,172.16.2.0/23,172.16.4.0/23și așa mai departe.
Regula de aur: mai mulți biți pentru subrețele = mai puține host-uri pe subrețea, și invers. Biții sunt aceiași 32; doar muți granița.
VLSM: subrețele de mărimi diferite (exemplu complet)
Cu o mască fixă pentru toate subrețelele risipești adrese: o legătură între două routere nu are nevoie de 30 de adrese. VLSM (Variable Length Subnet Masking) îți permite să dai fiecărei subrețele exact cât îi trebuie.
Cerința: ai 192.168.50.0/24 și trebuie să adresezi:
- LAN A: 100 de host-uri
- LAN B: 50 de host-uri
- LAN C: 25 de host-uri
- LAN D: 10 host-uri
- două legături WAN între routere (2 host-uri fiecare)
Regula VLSM: aloci întâi subrețeaua cea mai mare, apoi o iei în jos. Așa fiecare bloc începe pe o graniță corectă și nu rămân „găuri” inutilizabile.
Pentru fiecare cerință alegi cel mai mic bloc care încape:
- 100 de host-uri → 2^7 − 2 = 126 → /25 (bloc 128)
- 50 → 2^6 − 2 = 62 → /26 (bloc 64)
- 25 → 2^5 − 2 = 30 → /27 (bloc 32)
- 10 → 2^4 − 2 = 14 → /28 (bloc 16)
- 2 → 2^2 − 2 = 2 → /30 (bloc 4)
Apoi le pui una după alta, fiecare începând unde s-a terminat cea dinainte:
| Subrețea | Necesar | Prefix | Rețea | Interval host-uri | Broadcast | Host-uri |
|---|---|---|---|---|---|---|
| LAN A | 100 | /25 | 192.168.50.0 | .1 – .126 | .127 | 126 |
| LAN B | 50 | /26 | 192.168.50.128 | .129 – .190 | .191 | 62 |
| LAN C | 25 | /27 | 192.168.50.192 | .193 – .222 | .223 | 30 |
| LAN D | 10 | /28 | 192.168.50.224 | .225 – .238 | .239 | 14 |
| WAN 1 | 2 | /30 | 192.168.50.240 | .241 – .242 | .243 | 2 |
| WAN 2 | 2 | /30 | 192.168.50.244 | .245 – .246 | .247 | 2 |
Rămâne liber blocul 192.168.50.248/29 (.248 – .255), bun pentru încă o legătură sau două mai târziu.
Ce s-ar fi întâmplat dacă ai fi început cu legăturile WAN? Ai fi pus /30-urile la .0 și .4, iar LAN A (bloc de 128) n-ar mai fi putut începe la .8, ci abia la .128. Spațiul .8 – .127 ar fi rămas fragmentat și ar fi trebuit umplut cu grijă (aici încă încap B la .64, C la .32 și D la .16), dar într-un plan mai strâns un bloc mare poate să nu mai aibă unde să încapă. De aceea: de la mare la mic.
Greșeli frecvente (și cum le eviți)
- Uiți să scazi 2. Un /27 are 32 de adrese, dar 30 de host-uri. La întrebările „câte host-uri”, aproape mereu e nevoie de −2.
- Calculezi blocul în octetul greșit. La /20 blocul de 16 e în al treilea octet, nu în al patrulea. Găsește întâi octetul interesant.
- Rotunjești în sus la adresa de rețea. Adresa de rețea e multiplul blocului mai mic sau egal cu valoarea ta, nu următorul.
- Încurci .0 și .255 când octetul interesant nu e ultimul. La /20 ultimul host e
x.x.47.254(nu .255), darx.x.40.255e un host normal. - Alegi un bloc prea mic. 30 de host-uri încap într-un /27 (30), dar 31 nu: îți trebuie /26. Verifică mereu 2^h − 2 ≥ cerința.
- La VLSM nu ordonezi descrescător. Rezultatul sunt suprapuneri sau adrese irosite.
- Confunzi masca cu wildcard-ul. Wildcard-ul (folosit la ACL-uri și OSPF) e inversul măștii: pentru
255.255.255.192e0.0.0.63. E alt subiect; se calculează octet cu octet: 255 − mască (atenție: nu 256 −, ca la bloc).
Tabel rapid /24 – /30
Învață-l pe de rost; la examen îți economisește minute întregi.
| Prefix | Mască | Bloc (ultimul octet) | Adrese | Host-uri utilizabile |
|---|---|---|---|---|
| /24 | 255.255.255.0 | 256 | 256 | 254 |
| /25 | 255.255.255.128 | 128 | 128 | 126 |
| /26 | 255.255.255.192 | 64 | 64 | 62 |
| /27 | 255.255.255.224 | 32 | 32 | 30 |
| /28 | 255.255.255.240 | 16 | 16 | 14 |
| /29 | 255.255.255.248 | 8 | 8 | 6 |
| /30 | 255.255.255.252 | 4 | 4 | 2 |
Același șir se repetă în al treilea octet: /16–/23 au blocurile 256, 128, 64, 32, 16, 8, 4, 2, doar că acolo fiecare „pas” valorează 256 de adrese.
Două cazuri speciale bune de știut: /31 se poate folosi pe legături punct la punct (două adrese, fără rețea și broadcast, conform RFC 3021), iar /32 desemnează un singur host (de exemplu o interfață loopback sau o rută statică spre un singur dispozitiv).
Calculează și verifică pașii: pe site găsești un calculator de subnetting gratuit care îți arată nu doar rezultatul, ci și pașii (octetul interesant, blocul, AND-ul în binar). Folosește-l ca să-ți verifici exercițiile, nu ca să le sari.
Exerciții (încearcă fără calculator)
- Pentru
192.168.100.200/27: care sunt adresa de rețea, broadcast-ul, primul și ultimul host? - Pentru
172.16.99.5/21: care sunt masca, adresa de rețea, broadcast-ul și numărul de host-uri? - Ai nevoie de o subrețea cu cel puțin 300 de host-uri. Ce prefix și ce mască alegi?
- Sunt
10.10.10.62/26și10.10.10.66/26în aceeași subrețea? - Fă un plan VLSM din
192.168.20.0/24pentru: un LAN cu 60 de host-uri, unul cu 28, unul cu 12 și o legătură între două routere.
Răspunsuri
1. /27 → mască 255.255.255.224, bloc 32. Subrețelele: 0, 32, 64… 160, 192, 224. 200 e între 192 și 224.
Rețea 192.168.100.192, primul host .193, ultimul host .222, broadcast 192.168.100.223 (30 de host-uri).
2. /21 = 8 + 8 + 5 → mască 255.255.248.0, bloc 8 în al treilea octet. 99 e între 96 și 104.
Rețea 172.16.96.0, broadcast 172.16.103.255, host-uri de la 172.16.96.1 la 172.16.103.254. Număr de host-uri: 2^11 − 2 = 2.046.
3. 2^8 − 2 = 254 (prea puțin), 2^9 − 2 = 510 (ajunge). 9 biți de host → /23, mască 255.255.254.0.
4. Nu. Bloc 64: .62 e în subrețeaua 10.10.10.0/26 (.0 – .63), iar .66 e în 10.10.10.64/26 (.64 – .127). Ca să comunice, au nevoie de un router.
5. De la mare la mic:
| Subrețea | Necesar | Prefix | Rețea | Host-uri | Broadcast |
|---|---|---|---|---|---|
| LAN 1 | 60 | /26 | 192.168.20.0 | .1 – .62 | .63 |
| LAN 2 | 28 | /27 | 192.168.20.64 | .65 – .94 | .95 |
| LAN 3 | 12 | /28 | 192.168.20.96 | .97 – .110 | .111 |
| Legătură | 2 | /30 | 192.168.20.112 | .113 – .114 | .115 |
Restul, de la 192.168.20.116 în sus, rămâne liber.
Cum ajungi rapid la subnetting
Teoria o înțelegi într-o seară; viteza vine doar din repetiție. Câteva sfaturi care chiar funcționează:
- 10 minute pe zi bat 2 ore o dată pe săptămână. Fă 5–10 adrese zilnic, cu prefixe amestecate.
- Scrie tabelul de mai sus din memorie la începutul fiecărei sesiuni de studiu, până nu mai e nevoie.
- Cronometrează-te. Ținta: rețea + broadcast + interval de host-uri în sub un minut.
- Variază octetul interesant. Cei mai mulți exersează doar /24–/30 și se blochează la /19 sau /22.
Exersează subnetting în aplicația Routerel
Routerel are un antrenor de subnetting, conversii și IPv6 cu exerciții generate la nesfârșit, plus întrebări cu explicații pentru toate cele trei părți CCNA. Greșelile revin singure până le stăpânești. Abonații noi au 7 zile gratuite, cu acces la tot.
Întrebări frecvente
Ce este subnetting-ul?
Este împărțirea unei rețele IP în rețele mai mici, numite subrețele. Se face împrumutând biți din partea de host a adresei, adică mutând granița dintre rețea și host spre dreapta, prin mască.
Cum calculez repede adresa de rețea pentru o adresă IP?
Găsești octetul în care se termină masca, calculezi blocul ca 256 minus valoarea măștii în acel octet, apoi cauți cel mai mare multiplu al blocului care nu depășește valoarea adresei în acel octet. Acela e începutul subrețelei.
Câte host-uri încap într-o subrețea /26?
Un /26 lasă 6 biți pentru host-uri: 2^6 = 64 de adrese, minus adresa de rețea și broadcast-ul. Rămân 62 de adrese utilizabile.
Care e diferența dintre CIDR și VLSM?
CIDR e notația și regula prin care prefixul poate avea orice lungime (de exemplu /20), fără clase fixe. VLSM înseamnă să folosești, în aceeași rețea, subrețele cu prefixe diferite, fiecare pe măsura numărului de host-uri de care are nevoie.
De ce scădem 2 la numărul de host-uri?
Prima adresă identifică rețeaua, iar ultima e broadcast-ul; niciuna nu poate fi dată unui dispozitiv. Excepțiile sunt /31 (legături punct la punct) și /32 (un singur host).
Cât de bine trebuie să știu subnetting pentru examenul CCNA?
Foarte bine și repede. Apare direct în întrebările de adresare și indirect în cele de rutare, ACL-uri sau depanare. Ținta realistă: rețeaua, broadcast-ul și intervalul de host-uri pentru orice adresă în mai puțin de un minut, fără calculator. Vezi și ghidul despre examenul CCNA.
Routerel este o aplicație independentă și nu este afiliată, sponsorizată sau aprobată de Cisco Systems, Inc. Cisco și CCNA sunt mărci ale Cisco Systems, Inc.