Published using Google Docs
Determinare clasa IP
Updated automatically every 5 minutes

Enunt

Vrem sa construim o retea locala LAN cu n calculatoare care sa contina o adresa IP (aleasa la intamplare) a.b.c.d

Sa se determine un netmask potrivit pentru reteaua de n calculatoare, adresa de inceput si de sfarsit a retelei.

Exemple de rezolvare 

  1. Teorie si cazul general:

Daca vrem sa legam in retea n  calculatoare, avem nevoie de n adrese IP. Dar in orice clasa de IP-uri primul (IP-ul retelei) si ultimul (IP-ul de broadcast) nu pot fi folosite la calculatoare, deci avem de voie de o clasa de cel putin n+2 IP-uri.

Dimensiunea unei clase de IP-uri este data de nr. de 0-uri din netmask mai precis, un netmask cu x 0-uri va contine 2^x IP-uri. Deci clasele de IP-uri au intotdeauna dimensiunea egala cu o putere a lui 2.

Pentru cazul nostru trebuie deci sa gasim o putere x a lui 2, astfel incat n+2<=2^x.

Prin urmare, netmaskul cautat va contine 32-x de 1 si x de 0 (sa zicem reprezentata in baza 10 ca fiind e.f.g.h).

Alegem o adresa ip a.b.c.d 

Pentru a determina adresa de inceput a retelei,  vom face AND logic intre adresa IP si netmask

Pentru a determina adresa de sfarsit a retelei,  vom face OR logic intre adresa IP si NOT netmask

  1. Exemplul 1, n=10

Pentru 10 calculatoare avem nevoie de o clasa de cel putin 12 IP-uri.

12<16=2^4 deci x=4

Adica netmaskul va avea 4 zerouri la final si 28 de 1

11111111.11111111.11111111.11110000 sau scris in zecimal

255.255.255.240 echivalent cu notatia /28 (pt ca are 28 de 1)

Acum alegem o adresa IP random, sa zicem 20.30.40.50 si calculam adresa de inceput a retelei:

  20.  30.  40.  50  AND

255.255.255.240                                       240=11110000

  20.  30.  40.  48                                         50=00110010

                                                                    =0011000=48

Calculam adresa de sfarsit (broadcast) a retelei

NOT 255.255.255.240=0.0.0.15

 20. 30. 40. 50        OR                              50=00110010

   0.   0.   0. 15                                15=00001111

 20. 30. 40. 63                                            =00111111=63        

  1. Exemplul 2, n=100.000

Pentru 100000 de calculatoare avem nevoie de o clasa de cel putin 100002 IP-uri

Avem nevoie de cea mai mica putere a lui 2 mai mare ca 100002

100002<2^17=131,072

Adica netmaskul va avea 17 zerouri la final si 32-17=15 de 1

11111111.11111110.00000000.00000000 adica

        255.        254.              0.               0 echivalent cu /15

Alegem o adresa IP random sa zicem 1.2.3.4

Calculam adresa de inceput a retelei facand AND logic intre IP si netmask

1.2.3.4 AND                 2=00000010

255.254.0.0                          254=11111110            

       1.2.0.0

Calculam adresa de sfarsit a clasei facand OR logic cu NOT netmaskul

NOT 255.254.0.0=0.1.255.255

1.2.3.4 OR                                  2=00000010 OR

0.1.255.255                         1=00000001

1.3.255.255                           =00000011=3