luni, 11 aprilie 2011

Ce este o retea de calculatore si cum functioneaza internetul

traducere ver. 0.4 de catre Riddl

Multumiri tuturor celor care m-au ajutat, in special lui Gushterul.
Observatie f importanta: probabil ca exista unele greseli in acest document.
Am tradus si eu cum m-am priceput mai bine, daca descoperiti greseli de
traducere si pentru observatii pertinente trimiteti-mi mail pentru Riddl la
"discutzii at gmx dot net". Nu uitati sa precizati numele documentului.
Multumesc anticipat.
Aceasta versiune este putin modificata fata de original, deorece unii termeni
sunau foarte ciudat in ro.
Pentru ultima versiune a acestui document verifica
<http://www.securityorg.net/docs/>.

Lecturare placuta!

______________________________________________________________________

Linux Networking-concepts HOWTO
HOWTO privind conceptele de retea linux
Rusty Russell
$Revision: 1.3 $ $Date: 2002/06/05 13:21:56 $

Acest document descrie ce este acea o retea (cum ar fi internetul), si foarte
primar cum functioneaza acesta.

______________________________________________________________________

Cuprins

1. Introducere
2. Ce este aceea o "retea de calculatoare"?
3. Ce este "Internetul"?
3.1. Cum functioneaza Internetul?
4. Aceast lucru numit IP
4.1. Grupuri de adrese IP: Netmask-uri
5. Nume de computere si Adrese IP
6. Servici diferite: Email, Web, FTP, DNS
7. Interfete dialup: PPP
8. Cum arata pachetele
9. Sumar
10. Multumiri
11. Index
______________________________________________________________________



1. Introducere

Bine ai venit!
Am scris in trecut un numar de howto-uri in ceea ce privesc retelele, si mi-a
venit in minte ca sunt in fiecare o multime de termeni jargonici. Am avut de
ales intre trei variante: celelalte doua ignorau problema si explicau
termenii peste tot. Nici una dintre ele nu era atractiva.

Scopul software-ului liber este faptul ca ar trebui sa ai libertatea sa
explorezi si sa te joci cu software-ul sistemului pe care il folosesti. Cred
ca dandu-le posibilitatea oamenilor sa experimenteze aceasta libertate este un
scop nobil; nu numai fac pe oameni sa se simt puternici printr-o ocupatie (cum
ar fi reconstruirea unui motor de masina) dar prin natura internetului si
software-ului liber ti se pune la dispozitie posibilitatea sa partajezi
experienta ta cu milioane de oameni.

Dar trebuie sa incepi de undeva, asa ca iata-ne.

(C) 2000 Paul "Rusty" Russell. Sub licenta GNU GPL.



2. Ce este aceea o "retea de calculatoare"?

O retea de calculatoare sunt mai multe materiale folosite pentru ca nodurile sa
schimbe informatie intre ele (prin "noduri" inteleg computere, imprimante,
masini de gatit si orice alceva doresti). Nu conteaza foarte mult cum sunt
interconectate: pot sa foloseasca fibra optica sau porumbei calatori.
E clar, unele alegeri sunt mai bune decat altele, mai ales daca ai prin casa
pisici. :)

In mod normal conectarea a doua calculatoare impreuna nu se poate numi
retea, este nevoie de trei sau mai multe pentru a deveni retea. Acest lucru
seamana cu cuvantul "grup": doi oameni inseamna doar doua persoane, pe cand
trei persoane formeaza un grup. Deasemenea, retelele sunt adesea prinse
impreuna, pentru a forma retele mai mari, fiecare retea mai mica (deobicei
numita o "sub-retea") poate fi parte dintr-o retea mai mare.

De fapt conexiunea intre doua computere este adesea denumita "legatura de
retea". Daca este ceva cablu in spatele computer-ului tau catre alte
computere atunci aceea este legatura ta de retea.

Sunt patru lucruri despre care suntem interesati cand vorbim despre o retea de
calculatoare:


Marimea

Daca pur si simplu conectezi intre ele cele patru calculatoare de
acasa, ai realizat ceea ce se numeste LAN (Local Area Network - retea
locala). Daca totul este la distanta de mers pe jos, este denumit
deobicei LAN, oricate masini ar fi conectate, si din orice
infrastructura ar fi contruita reteaua.

La celalalt pol se situeaza WAN-ul (Wide Area Network - retea
intinsa). Daca ai un computer la Bucuresti, Romania, altul in New
York, SUA, si unul in Lhasa, Tibet, si reusesti sa le conectezi,
aceasta este atunci un WAN.


Topologia: Forma

Deseneaza harta unei retele: linile sunt "legaturile din retea",
si fiecare nod este un punct. Poate ca fiecare linie duce intr-un
punct central ca o stea, insemnand ca fiecare vorbeste printr-un
singur punct ( o "topologie stea"):

o o o
\_ | _/
\|/
o-----o-----o
_/|\_
/ | \
o o o

Sau poate ca fiecare comunica in linie, astfel:

o------o------o-------o--------o
| |
| |
| o
| |
o |
o

Sau poate ca ai trei subretele conectate printr-un singur nod:

o
o | o--o--o
| | |
o--o--o--o--o o
\ |
o------o
/ |
o--o--o--o--o o
| | |
o | o--o
o


Vei vedea multe topologii ca acestea in realitate si multe altele mult
mai complicate.


Fizic: Din ce este facuta reteaua.

Al treilea lucru de care trebuie sa fim interesati este din ce este
constuita reteaua noastra. Cea mai ieftina este "sneakernet-u", erau
oamenii care transportau diskete de la un computer la altul.
Sneakernet-ul este aproape intodeauna un "LAN". Disketele costa mai
putin de 1$ si o pereche de skeakers (incaltaminte care nu face
zgomot) in jur de 20$.

Cel mai obisnuit sistem folosit pentru a conecta reteaua de acasa
catre alte retele mai mari este numit "modem"
(MODulator/DEModulator), care transforma o legatura telefonica intr-o
legatura de retea. Transforma ceea ce transmite calculatorul in
sunete, si asculta sunetele venite de la celalalt capat pe care le
transforma iar in informatie pentru calculator. Dupa cum iti
imaginezi acest lucru nu este din cale afara de eficient, deoarece
liniile telefonice nu au fost facute pentru genul acesta de lucruri, dar
este un sistem raspandit deoarece liniile telefonice sunt atat de
obisnuite si ieftine: modemurile costa sub 50$ si linia telefonica
200$ pe an.

Cel mai obisnuit sistem sa conectezi computerele intr-un LAN este sa
folosesti Ethernet. Ethernetul poate fi de trei tipuri (in ordinea
in care au fost realizate): Thinwire/Coax/10base2, UTP/10baseT si
UTP/100baseT. Gigabit ethernet (1000baseT incepe sa sune ciudat)
este in curs de a fi realizat. 10baseT este deobicei un fir coaxial
negru care are din loc in loc T-uri pentru a putea fi conectate la
computere, toti sunt conectati intr-o linie, linie care are la
capete terminatori speciali. UTP este deobicei un cablu de culoare
albastru deschis, care au doua capete prevazute cu terminatori din
plastic similari celor de la telefon, care sunt conectate in
dispozitivele fizice (placa ethernet, hub, etc.). Cablul costa cativa
dolari metrul, si placile de retea 10baseT/10base2 (multe au
connectori pentru ambele tipuri) sunt greu de gasit noi de firma.
100baseT sunt de 10 ori mai rapide decat 10baseT, sunt compatibile si
cu acestea, si costa cam 30$.

Tehnologia de varf este insa fibra optica; un fir de sticla subtire
in camasa protectoare care poate fi folosita pentru a lega in retea
continente. In general costa mii de dolari.

In mod normal numim fiecare conexiune la un nod "interfata de retea"
sau pe scurt "interfata". Linux le numeste astfel "eth0" pentru
prima interfata ethernet, si "fddi0" pentru prima interfata de
fibra. Comanda "/sbin/ifconfig" ni le listeaza.


Protocol: Cum comunica.
Ultimul lucru care te intereseaza este limbajul pe care il folosesc
doua noduri interconectate. Cand doua modemuri comunica unul cu altul
printr-o linie telefonica, trebuie sa se puna de acord ce vor insemna
fiecare sunet, astfel pur si simplu nu vor comunica. Aceasta
conventie este denumita "protocol". Pe masura ce oamenii au descoperit
noi posibilitati de codare astfel incat computerele sa spuna mai
multe in sunete mai scurte, noi protocoale s-au inventat; sunt cel
putin o duzina de protocoale diferite, si fiecare modem va incerca
cateva pana cand va gasi unul care sa fie inteles si de celalalt
modem.

Un alt exemplu este reteaua 100baseT mentionata mai sus. Aceasta
foloseste aceeasi legatura fizica "UTP" ca si 10baseT, dar
comunica de 10 ori mai rapid.

Aceste doua protocoale sunt denumite protocoale de nivel de legatura
(link level); care determina cum este transportata informatia intre
doua puncte pe conexiuni de retea individuale. Cuvantul "protocol" se
refera si la alte conventii dupa cum vom vedea mai jos.



3. Ce este "Internetul"?

Internetul este o retea de tip WAN, care impanzeste intre globul: este cea
mai mare retea de calculatorea existenta. "Internetworking" inseamna
conectarea mai multor retele pentru a crea una mai mare, prin urmare
internetul este connectarea a o mare ingramadire de subretele.

Asa ca acum uitandu-ne la lista de mai sus, ne punem intrebarea: care este
marimea Internetului, din ce este formata fizic si care sunt protocoalele
folosite?

Marimea am spus-o deja. Este globala.

Structura fizica este variata, fiecare subretea este conectata intr-un mod
diferit. Incercarea de a creea o harta folositoare este sortita deci esecului.

Protocoalele folosite de fiecare legatura este deasemnea diferita: toate
protocoalele de mai sus pentru nivel de legatura sunt folosite si multe
altele.



3.1. Cum functioneaza Internetul?

Atunci aceasta intrebare se pune: cum functioneaza? Cum poate fiecare nod sa
vorbeasca altor noduri daca folosesc protocoale de nivel legatura diferite?

Raspunsul este simplu: avem nevoie de un alt protocol care sa controleze cum
circula informatia prin retea. Protocolul pentru nivel de lagatura descrie
cum sa circule informatia intre doua noduri care sunt legate direct:
protocolul pentru nivel de retea face posibila transportul informatie intre
un nod si un altul peste oricat de mult legaturi de retea.

Pentru internet, protocolul la nivel de retea este INTERNET PROTOCOL
(versiunea 4) sau "IP". Nu este singurul protocol existent (Apple"s
AppleTalk, Novell"s IPX, Digital"s DECNet and Microsoft"s NetBEUI fiind
altele), dar este cel mai adoptat. A aparut o noua versiune de protocol "IP"
numit IPv6, dar inca nu este atat de utilizat.

Asa ca pentru a transmite un mesaj dintr-un punct al globului in altul,
computerul tau foloseste protocolul IP, trimite informatia la modem, care
foloseste protocol pentru nivel de legatura pentru a trimite informatia
modemului din celalalt capat, modem care se afla probabil intr-un rack de
modemuri, care trimite informatia catre un alt nod, nod care la randul sau
trimite catre altul, si tot asa. Un nod care face lagatura intre doua sau
mai multe retele este denumit "ruter": acesta va avea cate o interfata
pentru fiecare retea.

Numim aceast sir de protocoale o "stiva de protocoale", de obicei desenata
asa:




[ Aplicatia: Primeste poze ] [ Nivelul aplicatie: transmite poze ]
| ^
v |
[ TCP: are grija de trasport ] [ TCP: are grija de trasport ]
| ^
v |
[ IP: are grija de routare ] [ IP: are grija de routare ]
| ^
v |
[ Link: doar pentru conexiune directa ] [ Link: doar pentru conexiune directa ]
| |
+------------------------------------------+

Deci, in diagrama, vedem cum netscape (aplicatia din stanga sus) acceseaza
niste poze de pe un server web (aplicatia din dreapta sus). Pentru a face
acest lucru aplicatia noastra foloseste nivelul TCP, protocol pentru controlul
transportului: peste 90% din din traficul internet foloseste TCP, deoarece
este folosit mai ales pentru serviciile web si mail.

Deci, Netscape-ul trimite o cerere pentru o conexiune TCP catre serverul
remote: aceasta cerere este preluata la nivel de protocol de transport TCP,
care trimite mai departe cererea nivelului protocolului de retea IP, care la
randul lui transmite informatia mai departe catre nivelul protocolului de
legatura.

La celalat capat nivelul protocolului de legatura inainteaza informatia catre
nivelul protocolului IP, care vede ca informatia este destinata
computer-ului respectiv (daca nu va inainta informatia nivelului de legatura
pentru ca informatia sa ajunga la urmatorul nod), care inainteaza informatia
nivelului protocolului de transport TCP, care o inainteaza server-ului,
respectiv aplicatiei.

Deci avem urmatoarele trei puncte:

1. Aplicatia (Netscape, sau serveru din capatul celalalt) decide cu cine anume
doreste sa vorbeasca si ce anume doreste sa trimita

2. Nivelul de transport trimite pachete speciale pentru a incepe conversatia
cu celalalt capat si apoi impacheteaza informatia intr-un "pachet" TCP: un
pachet este doar un termen pentru o bucata de date care trece printr-o
retea. Nivelul de transport TCP paseaza acest pachet catre nivelul de retea
IP: apoi transmite in continuare pana cand celalat capat la nivel de
transport TCP transmite receptionarea pachetului. Acest mecanism este numita
"retransmitere", si are o multime de reguli complexe care controleaza cand sa
transmita, cat sa astepte, etc. Ii da deasemenea fiecarui pachet o multime
de numere, pentru ca la celalalt capat sa fie sortate in ordinea corecta.

3. La nivel de retea IP se ia in considerare destinatia pachetului si
se decide urmatorul nod catre care sa se transmita pachetul. Aceasta operatie
este numita in mod simplu "rutare"(routing), si difera de la foarte simplu
(daca nu ai decat un singur modem si nici o alta interfata de retea,
pachetele ar trebui sa iasa numai prin acea interfata) pana la extrem de
complex (daca ai 15 retele complexe conectata direct prin tine).



4. Aceast lucru numit IP

Asadar rolul nivelului de legatura IP este sa realizeze cum sa "ruteze"
pachetele catre destinatia finala. Pentru ca acest lucru sa fie posibil,
fiecare interfata din retea trebuie sa aiba o "adresa IP". Aceast adresa
este formata din patru numere separate prin puncte, cum ar fi
"167.216.245.249". Fiecare numar trebuie sa fie cuprins intre 0 si 255.

Interfetele in aceeasi retea au tendinta sa aiba adrese Ip vecine. De
exemplu "1.1.1.19" sta chiar langa sistemul cu adresa IP "1.1.1.20". Deasemenea
nu uita ca un ruter este un nod cu interfete pentru mai mult de o retea,
asa ca ruter-ul va avea cate o adresa Ip pentru fiecare interfata.

Asa ca nivelul de retea IP al kernelului tine un tabel cu "rute" diferite,
punand la dispozitie calea pentru a ajunge la grupuri variate de adrese IP.
Cea mai simpla dintre rute este numita "ruta default": daca nici o alta ruta
nu se potriveste aceasta este calea pe care o iau pachetele. Poti vedea o
lista a acestor rute cu ajutorul comenzii "/sbin/route".

Rutele fie indica o legatura, fie un nod particular care este conectat la o
alta retea. De exemplu, cand suni la ISP, ruta default va fi catre legatura
cu modemul, deorece acolo este punctul de acces catre intreaga lume.


Modemul
Modemul lui ISP-ului ~~~~~~~~~~~~
Rusty { }
o------------------o { Internetul }
{ }
~~~~~~~~~~~~


Dar daca ai un sistem care este in permanenta conectat la lumea din afara,
este putin mai complicat. In diagrama de mai jos, sistemul meu poate sa
comunica in mod direct cu computerele lui Paul si Tridge, si cu firewall-ul,
dar este necesar ca sistemul meu sa stie ca pachetele care trebuiesc livrate
restului lumii trebuie sa se indrepte catre firewall care le va pasa mai
incolo. Aceasta inseamna ca vei avea doua rute: una care sa zica "daca
destinatia este in reteaua mea trimite informatia direct acolo" si apoi o
ruta default care sa spuna "in caz contrar, trimite-o catre firewall".



o Masina de lucru
| a lui Tridge ~~~~~~~~~~~~
Masina de lucru | { }
a lui Rusty o--------+-----------------o--{ Internetul }
| Firewall { }
| ~~~~~~~~~~~~
o Masina de lucru
a lui Paul



4.1. Grupuri de adrese IP: Netmask-uri

Mai este un ultim detaliu: exista o notatie standard pentru grupuri de adrese
IP, uneori numita "adresa de retea". La fel cum un numar de telefon poate fi
impartit in prefix si restul, la fel putem divide o adresa IP intr-un prefix
de retea si restul.

Oamenii obisnuiau sa vorbeasca despre "reteaua 1.2.3", insemnand toate cele
256 de adrese de la 1.2.3.0 la 1.2.3.255. si daca asta nu era o retea destul
de mare ar fi putut sa vorbeasca despre "reteaua 1.2" care inseamna toate
adresele de la 1.2.0.0 la 1.2.255.255.

In mod normal nu scriem "1.2.0.0-1.2.255.255". In loc scriem prescurtat
"1.2.0.0/16". Notatia ciudata "/16" (numita netmask) cere o mica explicatie.

Fiecare numar despartit prin puncte intr-o adresa IP este defapt un numar
binar format din 8 cifre (00000000 la 11111111): le scriem in format zecimal
pentru a putea fi mai usor de citit. "/16" inseamna ca primele 16 cifre
binare reprezinta adresa retelei, cu alte cuvinte partea "1.2" este reteaua.
(tine minte fiecare numar reprezinta 8 cifre binare). Aceasta inseamna ca
orice adresa care incepe cu "1.2" face parte din aceasta retea: "1.2.3.4" si
"1.2.5.22" fac parte din aceasta retea, dar "1.3.4.2" nu.

Pentru a face viata mai usoara, in mod normal folosim retele care au
netmask "/8", "/16" si "/24". De exemplu, "10.0.0.0/8" este o retea imensa
care contine orice adresa de la 10.0.0.0 la 10.255.255.255 (peste 16 milioane
de adrese!). "10.0.0.0/16" este mai mica, continand adresele doar de la
10.0.0.0 la 10.0.255.255. "10.0.0.0/24" este si mai mica detinand adresele
de la 10.0.0.0 la 10.0.0.255.

Pentru a face lucrurile si mai confuze, mai este un mod prin care putem sa
scriem netmask-urile. Putem sa le scriem ca adrese IP:

10.0.0.0/255.0.0.0

In sfarsit, nu valoreaza nimic faptul ca cea mai mare adresa dintr-o retea
este rezervat ca "adresa de broadcast", care poate fi folosita pentru a
transmite un mesaj catre toate host-urile din retea.

Mai jos este un tabel cu netmask-uri:


Forma Forma Numarul de Comentarii
scurta lunga masini maxim

/8 /255.0.0.0 16,777,215 numita in trecut retea de clasa A
/16 /255.255.0.0 65,535 numita in trecut retea de clasa B
/17 /255.255.128.0 32,767
/18 /255.255.192.0 16,383
/19 /255.255.224.0 8,191
/20 /255.255.240.0 4,095
/21 /255.255.248.0 2,047
/22 /255.255.252.0 1,023
/23 /255.255.254.0 511
/24 /255.255.255.0 255 numita in trecut retea de clasa C
/25 /255.255.255.128 127
/26 /255.255.255.192 63
/27 /255.255.255.224 31
/28 /255.255.255.240 15
/29 /255.255.255.248 7
/30 /255.255.255.252 3



5. Nume de computere si Adrese IP

In concluzie orice interfata de pe fiecare nod are o adresa IP. Foarte repede
s-a constatat ca oamenii retin destul de greu numerele, asa ca s-a hotarat
(la fel ca la numerele de telefon) sa avem un director cu nume. Dar cum
folosim computere oricum, este mai simplu sa punem computerele sa gaseasca
numele in mod automat.

Prin urmare avem DNS, sistemul de nume al domeniilor. Sunt noduri cu adrese IP
bine cunoscute pe care programele le pot interoga trimitand nume pentru a
primi adrese IP. Aproape toate programele pe care le folosesti pot realiza
aceasta interogare, de asta poti pune "www.linuxcare.com" in Netscape in loc
de "167.216.245.249".

Bineinteles, ai nevoie de adresele de retea a cel putin unuia dintre aceste
"servere de nume": in mod normal aceste adrese se gasesc in fisierul
"/etc/resolv.conf".

Cum interogarile si raspunsurile DNS sunt relativ mici (1 pachet de fiecare),
protocolul TCP nu este folosit: acesta pune la dispozitia retransmisie
automata, ordonare a pachetelor si o siguranta a conexiunii, dar cu costul
trimiterii de pachete in plus in retea. De aceea folosim foarte simplul
protocol UDP (protocol pentru datagrame utilizator), care nu ofera extra
facilitatile pe care le ofera TCP si de care nu avem nevoie.

6. Servici diferite: Email, Web, FTP, DNS

Intr-un exemplu anterior, am arata cum Netscape trimite o cerere TCP catre un
server de web care ruleaza pe un alt nod. Dar sa ne imaginam ca acel nod care
este si server de web ruleaza si server de email, un server de ftp si un
server DNS, cum stie nodul pentru ce server este conexiunea TCP?

Aici TCP si UDP au conceptul de "port". Fiecare pachet precizat in el "portul
destinatie" care spune pentru ce serviciu este destinat pachetul. De exemplu,
portul 25 TCP este pentru server-ul de mail, si portul 80 TCP este server-ul
de web (deasemenea cateodata poti sa intalnesti servere web pe porturi
diferite). O lista a porturile poate fi gasita in "/etc/services".

Deasemenea, daca doua ferestre Netscape, amandoua acceseaza parti diferite din
acelasi site web, cum face sistemul linux pe care ruleaza Netscape sa sorteze
pachetele care se intorc de la server?

Aici intervine "portul sursa": fiecarei conexiune noua TCP ii se atribuie un
nou port sursa, asa ca sunt separate, chiar daca se duc spre aceeasi
adresa destinatie IP si acelasi port destinatie. In mod normal primul port
sursa alocat va fi 1024 si creste odata cu trecerea timpului.




7. Interfete dialup: PPP

Cand suni cu modemul tau la un ISP, si se conecteaza la modemul lor, kernelul
nu incepe pur si simplu sa trimita pachete IP prin conexiune. Exista un
protocol numit PPP (point-to-point protocol), care este folosit pentru a
negocia cu celalalt capat inainte de a se permite trimiterea oricaror pachete.
Acesta este folosit de catre ISP pentru identificarea celui care a sunat: pe
sistemul tau linux, un program numit "daemon PPP" se ocupa cu partea ta de
negociere.

Pentru ca in lume sunt atatia utilizatori de dial-up, de obicei acestia nu
au propria lor adresa IP: cele mai multe ISP-uri iti vor aloca una din
adresele lor cand te vei conecta (daemonul PPP va negocia acest lucru). Aceasta
este adesea numita "adresa IP dinamica", diferita fata de "adresa IP statica"
care este cazul normal cand ai propria ta conexiune permanenta. In mod normal
aceasta adresa este determinata de modem, data urmatoare cand te conectezi,
probabil ca vei nimeri alt modem, si astfel vei avea alta adresa IP.




8. Cum arata pachetele

Pentru cei foarte curiosi iata o descriere a structurii unui pachet. Sunt mai
multe aplicatii care captureaza pachetele care intra sau care ies dintr-un
sistem linux: cel mai comun este "tcpdump" (care intelege mai multe
protocoale decat TCP), dar unul mai fain este "ethereal". Aceste aplicatii
sunt numite "snifere de pachete".

Inceputul fiecarui pachet contine informatii cum ar fi destinatia, sursa,
tipul pachetului, si alte detalii administrative. Aceasta parte a unui pachet
este numita "header". Restul pachetului, ce contine datele propriu-zise, este
in mod uzual numit "corpul pachetului".

Asa ca orice pachet IP incepe cu un "header IP": in marime de cel putin 20
bytes. Arata cam asa (aceasta diagrama fu furata cu nerusinare din RFC 791
(nu de catre traducator:))):

.-------+-------+---------------+-------------------------------.
|Version| IHL |Type of Service| Total Length |
|-------+-------+---------------+-------------------------------|
| Identification |Flags| Fragment Offset |
|---------------+---------------+-------------------------------|
| Time to Live | Protocol | Header Checksum |
|---------------+---------------+-------------------------------|
| Source Address |
|---------------------------------------------------------------|
| Destination Address |
"---------------------------------------------------------------"

Campurile importante sunt Protocol, care indica daca pachetul este de tip TCP
(numarul 6), un pachet UDP (numar 17) sau alceva, adresa IP sursa, si adresa
IP destinatie.

Acum, daca acel camp referitor protocolului spune ca pachetul este TCP, atunci
imediat un header TCP va urma imediat header-ului IP: header-ul TCP este
deasemenea de cel putin 20 bytes marime:

.-------------------------------+-------------------------------.
| Source Port | Destination Port |
|-------------------------------+-------------------------------|
| Sequence Number |
|---------------------------------------------------------------|
| Acknowledgment Number |
|-------------------+-+-+-+-+-+-+-------------------------------|
| Data | |U|A|P|R|S|F| |
| Offset| Reserved |R|C|S|S|Y|I| Window |
| | |G|K|H|T|N|N| |
|-------+-----------+-+-+-+-+-+-+-------------------------------|
| Checksum | Urgent Pointer |
"---------------------------------------------------------------"

Cele mai importante campuri sunt aici campurile reprezentand portul sursa si
portul destinatie care determina catre ce serviciu este destinat pachetul
(sau, in cazul pachetelor replica, de la care serviciu provine). Numerele
"sequence" si "acknowledgment" sunt folosite pentru a tine o ordine in
pachete si pentru a spune celuilalt capat ce pachete au fost primite.
Flag-urile ACK, SYN, RST si FIN (scrise pe verticala) sunt biti unici
folositi pentru negocierea deschiderii (SYN) sau inchiderii (RST sau FIN)
conexiunilor.

Dupa acest header urmeaza mesajul real pe care il trimite aplicatia (corpul
pachetului). Un pachet normal are pana la 1500 bytes: aceasta inseamna ca cel
mai mare spatiu pe care il poate ocupa datele este de 1460 bytes (20 bytes
header-ul IP, 20 bytes header-ul TCP): peste 97%.


9. Sumar

In concluzie internetul modern foloseste pachete IP pentru a comunica, si
cele mai multe dintre aceste pachete folosesc TCP pentru controlul conexiunii.
Noduri speciale denumite "rutere" conecteaza micile retele in retele mai
mari, si paseaza pachetele catre destinatia lor finala. Marea majoritatea a
computerelor sunt parte doar dintr-o retea (au doar o singura interfata),
spre deosebire de rutere.

Fiecare interfata are o adresa IP unica, care seamana cu "1.2.3.4":
interfetele in aceeasi retea vor avea adrese IP inrudite, cu acelasi
inceput, la fel cum telefoanele dintr-o anumita zona au acelasi prefix.
Adresele de retea sunt asemanatoare adreselor IP, urmate insa de semnul "/"
si un numar pentru a se specifica portiunea din acea adresa care reprezinta
prefixul, de exemplu "1.12.0.0/24" inseamna ca primele 3 grupuri de cifre
reprezinta adresa de retea, fiecare cifra reprezinta 8 biti.

Masinile au asignate nume de catre serviciul de nume pe domenii: programele
interogheaza serverele de nume adrese IP, furnizand acestora nume de genul:
"www.lug.ro". Aceasta adresa IP este apoi folosita ca adresa IP
destinatie pentru a vorbi cu acel nod.

Rusty este destul de nepriceput pentru a scrie documente, in special pentru
incepatori.

Enjoy!

Rusty.



10. Multumiri

Multumiri lui Alison, pentru ca mi-a spus in cel mai frumos mod posibil ce
tampenii am scris in versiunile de inceput.



11. Index

o "100baseT"

o "10base2"

o "10baseT"

o "Broadcast address" - adresa de broadcast

o "Coax, Coaxial cable"

o "Computer network" - retea de computere

o "Default route" - ruta default

o "Destination port" - port destinatie

o "DNS, Domain Name Service" - serviciu de nume pe domenii DNS

o "Dynamic IP address"- adresa IP dinamica

o "Ethernet"

o "Fiber" - fibra

o "Gigabit Ethernet"

o "Hop"

o "Hub"

o "Internet"

o "IP, Internet Protocol"

o "IP address" - adresa ip

o "IP header" - header IP

o "IPv4, IP version 4"

o "IPv6, IP version 6"

o "LAN, Local Area Network" - retea locala

o "Link-level protocol" - protocol de nivel de legatura

o "Modem"

o "Name server" - server de nume

o "Netmask" - netmask

o "Network address, network mask" - adresa de retea, mask de retea

o "Network interface, interface" - interfata de retea, interfata

o "Network link" - legatura de retea

o "Network protocol, protocol" - protocol de retea, protocol

o "Node" - nod

o "Packet body" - corp al pachetului

o "Packet header" - header al pachetului

o "Packet sniffer" - snifer de pachete

o "Packet" - pachet

o "Port, TCP port, UDP port" - port, port TCP, port UDP

o "PPP, Point-to-Point Protocol"

o "PPP daemon" - daemon PPP

o "Protocol stack" - stiva de protocoale

o "Retransmission" - retransmitere

o "Route" - ruta

o "Router" - ruter

o "Routing" - rutare

o "Sneakernet"

o "Source port" - port sursa

o "Star-topology" - topologie in stea

o "Static IP address" - adresa IP statica

o "Sub-network" - sub-retea

o "TCP, Transmission Control Protocol" TCP, protocol cu controlul
transportului

o "TCP header" - header TCP

o "Terminator" - terminator

o "Topology" - topologie

o "UDP, User Datagram Protocol" - UDP, protocol pentru datagrame
utilizator

o "UTP, Unshielded Twisted Pair"

o "WAN, Wide Area Network" - retea intinsa

Niciun comentariu:

Trimiteți un comentariu