Documente Academic
Documente Profesional
Documente Cultură
com
Cursul 4
Protocolul IP (Internet Protocol)
RARP
1
Retele de calculatoare – Note de curs (C4) http://scdsd.bluepink.ro; Contact: info3retele20102011@gmail.com
2. Comunicarea in retelele IP
2.1. Default gateway
Comunicarea:
a. In segmentul local de retea:
Protocolul IP are ca responsabilitati determinarea posibilitatii transmiterii unui pachet in
subreteaua locala sau a directionarii acesteia catre o alta subretea.
Etapele parcurse de protocolul IP sunt urmatoarele:
1. protocolul IP primeste un cadru (frame) de la TCP destinat unei anumite adrese IP.
2
Retele de calculatoare – Note de curs (C4) http://scdsd.bluepink.ro; Contact: info3retele20102011@gmail.com
2. protocolul IP compara identificatorul de subretea din adresa IP cu cel al subretelei locale (bitii r si
s). Daca cei 2 identificatori de subretea coincid, cadrul(frame-ul) poate sa fie transmis local.
3. inainte de transmiterea cadrului in subretea protocolul IP trebuie sa determine adresa hardware
(adresa fizica - MAC) a dispozitivului care corespunde adresei IP destinatie, folosind ARP
(Address Resolution Protocol)
4. protocolul IP adauga urmatoarele informatii: adresa IP sursa, adresa IP destinatie (suntem in
subreteaua locala)
5. protocolul IP transfera pachetul cu informatiile transmise, in jos, in stiva de protocoale (pe nivelul
legatura de date noul header va contine adtesa hardware sursa si adresa hardware destinatie), catre
acele nivele care plaseaza pachetul in retea, urmand ca hostul destinatie sa il descopere si sa il
recupereze
b. Cu retele exterioare
Daca in urma compararii identificatorului de subretea din adresa IP cu cel al subretelei locale se
observa o necoincidenta a acestora, inseamna ca pachetul trebuie directionat (dirijat sau rutat) prin reteaua
numita compusa. Protocolul IP local nu efectueaza rutarea dar transmite pachetul catre un dispozitiv
care va putea face acest lucru (router pe care ruleaza protocoale specifice de rutare ex.: RIP., OSPF,
IGRP., EIGRP etc.).
Exemplu:
3
Retele de calculatoare – Note de curs (C4) http://scdsd.bluepink.ro; Contact: info3retele20102011@gmail.com
Daca gazdele sunt conectate intr-o retea compusa fiecare din acestea este configurata cu adresa IP
a unui ruter prestabilit astfel incat, in situatia in care protocolul IP “descopera” ca destinatia unui pachet
nu se afla in subreteaua locala, el adreseaza pachetul ruterului prestabilit (default) sau unui alt ruter, daca
cel prestabilit nu este disponibil. Routerul ruleaza suita de protocoale TCP/IP si eate configurat cu
protocoalele de routare specifice, fiind echipat cu adaptoare de retea pentru toate subretelele atasate
(fiecarui adaptor A ii aste atribuita o adresa IP corespunzatoare subretelei in care acesta se afla).
In experimentul prezentat se considera ca pe toate gazdele este configurata masca de retea
prestabilita pentru clasa C (255.255.255.0)
Consideram ca H1 transmite un pachet catre H7. O metoda simpla de rutare, data fiind apartenenta
routerului R1 la retele sursa si destinatie, este urmatoarea:
1. Protocolul IP de la H1 “descopera” ca H7 nu se afla in subreteaua locala, deoarece adresele
sursa si destinatie nu coincid (primii 3 octeti).
2. Deoarece pachetul trebuie directionat, protocolul IP il adreseaza cu setul de informatii Inf 1.
OBSERVATIE: In acest scop, protocolul IP de pe ruter foloseste la randul lui ARP-ul (Adress Resolution
Protocol).
5. Protocolul IP adreseaza pachetul pe baza setului de informatii Inf 2, si-l transmite
efectiv in subreteaua 197.2.2.0.
6. Cand gazda H7 examineaza pachetul, ea realizeaza ca adresa acestuia din campul
destinatie ii apartine si procedeaza la recuperarea pachetului din retea.
4
Retele de calculatoare – Note de curs (C4) http://scdsd.bluepink.ro; Contact: info3retele20102011@gmail.com
OBSERVATIE: Reamintim ca toate gazdele din subreteaua 197.2.2.0 sunt in posesia pachetului.
Concluzie: In procesul de rutare prezentat trebuiesc retinute 2 aspecte:
a) Adresele IP ale sursei si destinatiei (H1 si H7) nu se schimba in timpul directionarii
pachetului.
b) Adresele hardware sunt cele care se schimba in scopul de a indica ultima gazda ce a
transmis pachetul precum si cea care ar trebui sa-l primeasca.
3. Adresarea IP
Protocolul IP (Internet Protocol) – nivel 3 OSI - realizează transferul de date dintre două gazde
sub forma schimbului de datagrame. Fiecare datagramă este expediată către adresa IP conţinuta în
câmpul Adresa Destinaţie al antetului datagramei.
Adresa IP (Ipv4) - 32 biţi (în versiunea IPv4) (128 biti –Ipv6); conţine informaţii pentru a identifica
în mod unic o reţea/subretea sau/si o gazdă aparţinând unei reţele.
Toate dispozitivele şi protocoalele plasate pe nivelul reţea OSI (internet – TCP/IP) folosesc adrese IP.
5
Retele de calculatoare – Note de curs (C4) http://scdsd.bluepink.ro; Contact: info3retele20102011@gmail.com
Format:
a. notaţiacu punct zecimal - 4 câmpuri de câte 8 biţi fiecare, specificănd valoarea fiecarui câmp ca
un număr intreg, intre 0 si 255. Câmpurile sunt separate prin puncte.
b. notatia binara – 32 biti
138.12.43.9
Figura 3. Conversia unei adrese IP în formatul cu punct
• O adresă IP conţine un câmp/campuri care identifică reţeaua sau subreţeaua la care este ataşată
gazda identificată de către respectiva adresă şi un câmp/campuri care identifică în mod unic
fiecare gazdă din reţea.
• Pentru classfull (cu clase de adrese) - există cinci clase de adrese : A, B, C, D şi E, dintre
care numai primele trei sunt disponibile pentru adresarea reţelelor standard. Adresele de clasă
D sunt rezervate pentru adresarea la nivel de grupuri (tip multicast) în timp ce adresele
de clasă E sunt rezervate pentru scopuri experimentale (nefolosite pentru a adresa gazde
sau grupuri multicast). Numărul de biţi folosiţi pentru identificarea reţelei (câmpul NetId) şi
numărul de biţi folosiţi pentru identificarea host-ului (câmpul HostId) depind de clasa adresei.
224.0.0.0 -
D 1110xxxx 239.255.255.255 - - - -
E 1111xxxx 240.0.0.0-255.255.255.255 - - - -
• Classless – fara clase de adrese – modul default pentru IOS (Internetworking Operating
System) -urile curente
• Adresele rezervate pentru utilizări speciale, conform documentelor RFC indicate, sunt
prezentate în tabelul 2.
Numărul
Intervalul de adrese Notaţie CIDR Scop RFC Clasa
de adrese
Broadcast local, RFC
0.0.0.0 - 0.255.255.255 0.0.0.0/8 A 16,777,216
0.0.0.0 ruta default 1700
10.0.0.0 - RFC
10.0.0.0/8 Adrese IP private A 16,777,216
10.255.255.255 1918
127.0.0.0 - RFC
127.0.0.0/8 Adrese locale de buclă A 16,777,216
127.255.255.255 1700
169.254.0.0 - RFC
169.254.0.0/16 Microsoft APIPA B 65,536
169.254.255.255 3330
172.16.0.0 - RFC
172.16.0.0/12 Adrese IP private B 1,048,576
172.31.255.255 1918
Documentare şi RFC
192.0.2.0 - 192.0.2.255 192.0.2.0/24 C 256
exemple 3330
192.88.99.0 - IPv6 to IPv4 relay RFC
192.88.99.0/24 C 256
192.88.99.255 Anycast 3068
192.168.0.0 - RFC
192.168.0.0/16 Adrese IP private C 65,536
192.168.255.255 1918
198.18.0.0 - Network Device RFC
198.18.0.0/15 C 131,072
198.19.255.255 Benchmark 2544
224.0.0.0 - RFC
224.0.0.0/4 Adrese multicast D 268,435,456
239.255.255.255 3171
240.0.0.0 - RFC
240.0.0.0/4 Adrese rezervate E 268,435,456
255.255.255.255 1700
Tabelul 2. Adresele Ipv4 rezervate pentru utilizări speciale
• Adresa 0.0.0.0 cu masca de sunbretea 0.0.0.0 se numeşte rută implicită (default route) şi are
legătură cu felul în care protocolul IP rutează datagramele.
7
Retele de calculatoare – Note de curs (C4) http://scdsd.bluepink.ro; Contact: info3retele20102011@gmail.com
metric Metric : Specifies an integer cost metric (ranging from 1 to 9999) for the route, which is used when choosing among
multiple routes in the routing table that most closely match the destination address of a packet being forwarded. The route with
the lowest metric is chosen. The metric can reflect the number of hops, the speed of the path, path reliability, path throughput,
or administrative properties. http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-
us/route.mspx?mfr=true
• Adresa 127.0.0.0 se numeşte adresă loopback, ceea ce înseamnă că reţeaua 127.0.0.0
(127.0.0.1 – 127.255.255.255) este rezervată pentru traficul IP local către gazda locală. Un
mesaj transmis unei adrese IP al cărei prim octet are valoarea 127 este returnat
expeditorului. De obicei, adresa 127.0.0.1 va fi asociată unei interfeţe speciale, numită
interfaţă loopback, care se comportă ca un circuit închis. Orice pachet IP trimis prin această
interfaţă, va fi returnat ca şi cum ar fi venit de la o maşină din reţea. Acesta oferă posibilitatea
să se dezvolte şi să se testeze software de reţea fară a se folosi o reţea reală sau atunci când se
doreşte folosirea unui software de reţea pe o maşină care nu este în reţea.
• Prima adresă dintr-o reţea este adresa reţelei, iar ultima este adresa de broadcast, care
asigură o difuzare în reţeaua respectivă. De exemplu pentru adresa de reţea 172.35.0.0
8
Retele de calculatoare – Note de curs (C4) http://scdsd.bluepink.ro; Contact: info3retele20102011@gmail.com
/16 (/16 reprezinta nr.de.biti 1 din subnet mask-ul 255.255.0.0) adresa de broadcast este
172.35.255.255 /16, cu adresele IP valide pentru host-uri: 172.35.0.1-172.35.255.254 /16
Obs:
Ipv6 (versiunea 6) sau IP Next Generation (IPng) este noua versiune a Protocolului Internet (IP).
Acesta substituie în mod progresiv versiunea IPv4 a protoculului IP responsabil în momentul de faţă
cu interconexiunile dintre rutere şi a miilor de reţele conectate la aceste componente de bază ale
reţelei internet actuale. IPv6 a fost proiectat în mod primar pentru a extinde actuala problemă a
spaţiului de adrese care devine insuficient şi pentru acomodarea creşterii în număr a reţelelor
pe glob prin cei 128 biţi lungime în reprezentare care multiplică potenţialul internet cu un
factor de 296, ducând la posibilitatea existenţei unui număr de 2128-1 de gazde. Acesta implică o
nouă structură de adresare, noi tipuri de aplicaţii etc.
• Câteva din specificaţiile îmbunătăţite dat fiind noua versiune IPv6 sunt:
¾ extinderea spaţiului alocat pentru adrese, configurare "plug-and-play”
¾ rutare mai eficientă,
¾ identificare prin "flow label" a unei conexiuni,
¾ posibilitatea de autoconfigurare a unui host TCP/IP într-o adresă IP,
¾ mecanism de securitate (autentificarea, incriptarea şi asigurarea integrităţii datelor
care, aplicate la nivel de kernel, pot asigura securitatea întregului sistem, a
aplicaţiilor care rulează în cadrul acestuia şi a pachetelor de date transmise),
¾ mobilitate,
¾ posibilitatea unei tranziţii optime de la IPv4 la IPv6.
¾ Cu IPv6 sunt rezolvate problemele cheie ale adreselor, managementului acestora şi
suportului pentru comunicaţii multimedia
• Atâta timp cât stivele de protocoale IPv6 şi IPv4 nu pot inter-opera în mod direct, au fost introduse
standarde de compatibilităţi între IPv4 şi IPv6, care se realizează prin posibilitatea de "tunelări" a
unui protocol în celălalt, astfel încât IPv6 să poată fi transportat de exemplu prin reţeaua IPv4.
Utilitare IPV6: ping6 (Masurarea timpului dus intors pana la diverse statii prin intermediul unor pachete
ICMP peste IPv6.), tracert6 (Exploreaza calea (ruterele) urmate pana la o anumita statie) etc.
Observatie:
• Prin impartirea unei retele (domeniu de broadcast) in mai multe (sub)retele (mai multe domenii de
broadcast) se obtin: o mai buna functionalitate a retelei; securitate crescuta; o mai buna
administrare a spatiului de adrese disponibile.
• Criteriile care stau la baza procesului de proiectare a subretelelor corespunzatoare unei retele mai
mari: localizare geografica; scop; proprietate
9
Retele de calculatoare – Note de curs (C4) http://scdsd.bluepink.ro; Contact: info3retele20102011@gmail.com
Binar Zecimal
0000.0000 0
1000.0000 128
B
255.255.0.255
1100.0000 192
1110.0000 224
1111.0000 240
1111.1000 248
1111.1100 252
1111.1110 254
1111.1111 255
10
Retele de calculatoare – Note de curs (C4) http://scdsd.bluepink.ro; Contact: info3retele20102011@gmail.com
Plecând de la o adresã IP ce apartine uneia din clasele A, B si C, exprimatã binar, se realizeazã un “si”
logic la nivel de bit cu masca de subretea folositã, exprimatã tot binar. Alegerea mãstii de subretea
se face din considerentul obtinerii numarului dorit de subretele, pentru fiecare din acestea
permitându-se un numãr de hosturi cerut de datele de proiectare.
205.101.55.64
Rezultă că adresa IP 205.101.55.91 AND 0 1
a gazdei aparţine subreţelei 205.101.55.64. 0 0 0
1 0 1
11
Retele de calculatoare – Note de curs (C4) http://scdsd.bluepink.ro; Contact: info3retele20102011@gmail.com
Algoritm: Imprumutarea unui nr. pozitii (nrbi) din HostID: noul NetID este nu nrbi mai mare si noul
HostID este cu nrbi mai mic.
Exemplul 1: Pentru adresa IP de reţea 205.101.55.0 /24, identificată ca fiind de clasă C, ne propunem
obţinerea unui număr nrs de 4 subreţele. Aceasta se va face prin folosirea celor nrbi pozitii din partea
nrbi
de HostID, din considerentul 2 >= nrs
Rezultă 23 = 8 subreţele, notate SR0-SR7, obţinute pentru o combinatie a celor nrbi = 3 biţi
împrumutaţi, cuprinsă în binar între 000-111.
Sunt IOS-uri care considera invalide subretelele obtinute cu cele doua combinatii (toti bitii 0 -
nrbi
000 si toti bitii 1 – 111) ca urmare, se foloseste relatia 2 -2 >= nrs
¾ Pentru gazdele de pe fiecare subreţea rămân disponibili din porţiunea HostId un număr de 8-
nrbi=5 biţi, rezultând 25-2=30 gazde pe fiecare subreţea, cu o structură a celor 5 biţi cuprinsă
în binar între 00001-11110. Cele două combinaţii excluse au următoarele semnificaţii:
00000 – permite obţinerea adresei de subreţea;
11111 – permite obţinerea adresei de broadcast.
12
Retele de calculatoare – Note de curs (C4) http://scdsd.bluepink.ro; Contact: info3retele20102011@gmail.com
¾ Cele 8 subreţele desemnate de noua masca de subreţea (acum /27) vor fi asociate următoarelor
domenii de valori ale celui de-al patrulea octet din adresa IP (primii 3 octeţi vor fi comuni
tuturor adreselor IP ale hosturilor reţelei):
¾ Adresele IP ale subreţelelor şi hosturilor, precum şi adresa de broadcast pentru fiecare subreţea
în parte sunt următoarele:
Se va folosi masca: 255.255.255.224 (/27). Din cele 8 subreţele, 4 vor fi utilizate conform cerinţei, 4
din ele rămânând ca rezervă.
14
Retele de calculatoare – Note de curs (C4) http://scdsd.bluepink.ro; Contact: info3retele20102011@gmail.com
Factori care “guverneaza” adoptarea solutiei de grupare a hosturilor in retele mai mici
(subretele): geografic; proprietate; domeniul de activitate.
Dezavantaje subnetting: “Pierderea” unui număr de adrese IP ale hosturilor. Se pot pierde clase
întregi de adrese de subreţea. Trebuiesc asigurate mecanisme de transfer atât între subreţele, cât şi
spre exterior
NS ⋅ NHS
Se poate calcula gradul de utilizare al adresei IP disponibile ca fiind grad utilizare =
NT
o NS = numarul retelelor valide
o NHS = numar de hosturi/subretea
o NT = numarul total de adrese IP de hosturi
o In exemplul 1, corespunzător celor 8 subreţele obţinute prin subalocare:
8 ⋅ 30 240
grad utilizare = = ≅ 0.944
254 254
Prin subalocarea adresei IP, fiecare subreţea beneficiază de un număr egal de adrese pentru
hosturi, situaţie ce nu corespunde întotdeauna necesităţilor practice (cerintelor organizatorice
ale unei organizatii).
15
Retele de calculatoare – Note de curs (C4) http://scdsd.bluepink.ro; Contact: info3retele20102011@gmail.com
Tabelul de adresare IP:
• O reţea împărţită în subreţele poate folosi mai multe măşti de subreţea. Fiecare mască de
subreţea poate avea dimensiune diferita. VLSM - Variable Length Subnet Masks. Reteaua este
mai intai partitionata in subretele, o parte din subretele sunt partitionate in sub-subretele, s.a.m.d.
• Permite utilizarea mai eficientă a spaţiului de adrese a unei organizaţii prin ajustarea dimensiunilor
măştilor de subreţea la cerinţele specifice fiecărei subreţele.
• Funcţionalităţi de agregare (clasele fiind relativ una in continuarea alteia - adica spatiul de
adrese se completeaza – reprezentarea apare una asemanatoare unui agregat) ; Indiferent de locaţia
de unde accesează infrastructura, utilizatorii beneficiază de un centru de acces sigur la informaţii
consistente, uşor de localizat şi organizate în funcţie de preferinţele personale ale utilizatorilor
precum şi la serviciile IT.
• Cerinte pentru implementarea VLSM:
• Protocolul de rutare (ex RIP v2) utilizat trebuie sa suporte prefixul de retea extins
(NetID+SubNetID)
• Toate ruterele trebuie sa suporte un algoritm de rutare care implementeaza dirijarea bazata pe
“cel mai lung prefix de retea” – longest match
• Pentru agregarea rutelor, adresele trebuie asignate astfel incat sa respecte topologia retelei.
16
Retele de calculatoare – Note de curs (C4) http://scdsd.bluepink.ro; Contact: info3retele20102011@gmail.com
4.1.1 Se cere reproiectarea retelei in scopul obtinerii unui spatiu de adrese care sa raspunda
cerintelor organizatiei respective: o retea cu maxim 128 hosturi, o retea cu maxim 62 hosturi,
patru subretele cu maxim 14 hosturi.
Subnetting: VLSM:
17
Retele de calculatoare – Note de curs (C4) http://scdsd.bluepink.ro; Contact: info3retele20102011@gmail.com
4.1.2. Solutie:
18
Retele de calculatoare – Note de curs (C4) http://scdsd.bluepink.ro; Contact: info3retele20102011@gmail.com
Clasa nu are constructori, instanţele fiind obţinute prin intermediul unor metode statice:
public static InetAddress InetAddress.getByName(
String hostName) throws UnknownHostException
Toate cele trei metode se conectează la serverul local de DNS pentru a obţine informaţiile
necesare instanţierii unui obiect InetAddress.
Cea mai utilizată metodă este getByName(). Pentru a putea utiliza o metodă a clasei
InetAddress, trebuie mai intâi să se importe pachetul java.net.
InetAddress address =
InetAddress.getByName("www.univ-ovidius.ro");
Dacă metoda getByName() nu poate obţine adresa IP a unei gazde, atunci ea aruncă o excepţie de
tipul UnknownHostException. Pentru a prinde aceasta excepţie folosim un bloc try-catch
try {
InetAddress address =
InetAddress.getByName("www.univ-ovidius.ro ");
System.out.println(address);
}catch (UnknownHostException e) {
System.out.println("Gazda nu a putut fi gasita !");
}
19
Retele de calculatoare – Note de curs (C4) http://scdsd.bluepink.ro; Contact: info3retele20102011@gmail.com
• Următorul program preia de la tastatură numele unei gazde, determină IP-ul acesteia şi
îl afişează.
import java.net.*;
import java.io.*
}
}
Atunci când o gazdă are mai mult de o adresă IP, se utilizează metoda getAllByName(), care va
întoarce un array de tipul InetAddress.
import java.net.*;
public class AdreseMicrosoft {
public static void main (String[] args) {
try {
InetAddress[] addresses =
InetAddress.getAllByName("www.google.com");
for (int i = 0; i < addresses.length; i++) {
System.out.println(addresses[i]);
}
}catch (UnknownHostException e) {
System.out.println("Eroare!");}
}
}
20
Retele de calculatoare – Note de curs (C4) http://scdsd.bluepink.ro; Contact: info3retele20102011@gmail.com
Semnatura Descriere
byte [] getAddress() Întoarce un vector de octeţi corepunzător adresei
IP. Vectorul este în ordinea octeţilor adresei reţelei,
adică octetul semnificativ primul.
String getHostName() Returnează numele maşinii gazdă.
String getHostAddress() Întoarce adresa IP
String toString() Realizează conversia adresei IP într-un şir de
caractere
import java.net.*;
localIP = InetAddress.getLocalHost( );
System.out.println("Aceasta este adresa IP locala" + localIP);
}catch (UnknownHostException e) {
21
Retele de calculatoare – Note de curs (C4) http://scdsd.bluepink.ro; Contact: info3retele20102011@gmail.com
}
22