Concepte Linux Networking: Diferență între versiuni

De la Wiki.lug.ro
Salt la: navigare, căutare
m (Reveniri la ultima modificare de către 81.12.224.196 (discuţie); revenire la ultima versiune de către Lc)
(333.666666666667)
Linia 24: Linia 24:
 
----
 
----
  
=Linux Networking-concepts HOWTO=
+
jxftPd <a href="http://bpgidxenizqd.com/">bpgidxenizqd</a>, [url=http://vldjxfnesptt.com/]vldjxfnesptt[/url], [link=http://sqilexgzmjde.com/]sqilexgzmjde[/link], http://cnbrgdjxxssf.com/
 
 
HOWTO privind Conceptele de retea Linux - HOWTO
 
 
 
Rusty Russell
 
 
 
$Revision: 1.3 $ $Date: 2002/06/05 13:21:56 $
 
 
 
Acest document descrie ce este o reţea (cum ar fi internetul), şi foarte
 
primar cum funcţionează aceasta.
 
 
 
 
 
 
 
==Introducere==
 
 
 
Bine ai venit!
 
 
Am scris în trecut un număr de howto-uri despre reţelele, şi am constatat
 
că există în fiecare o mulţime de termeni jargonici. Am avut de
 
ales între trei variante: celelalte două ignorau problema şi explicau
 
termenii peste tot. Nici una dintre ele nu era atractivă.
 
 
 
Software-ul liber îţi dă oferă oportunitatea să
 
explorezi şi să te joci cu el pe sistemul pe care îl foloseşti. Cred
 
că dându-le posibilitatea oamenilor să experimenteze aceasta libertate, acest software are un
 
scop nobil; nu numai că-i face pe oameni să se simtă puternici printr-o ocupaţie (cum
 
ar fi reconstruirea unui motor de maşină) dar prin natura internetului şi
 
software-ului liber ai posibilitatea să partajezi
 
experienţa ta cu milioane de oameni.
 
 
 
Dar trebuie să începi de undeva, aşa că iată-ne.
 
 
 
(C) 2000 Paul "Rusty" Russell. Sub licenţă GNU GPL.
 
 
 
 
 
 
 
==Ce este o "reţea de calculatoare"?==
 
 
 
O reţea de calculatoare constă în toate tehnologiile folosite pentru ca nodurile de reţea să
 
schimbe informaţie între ele (prin "noduri" înţeleg computere, imprimante,
 
maşini de gătit şi orice altceva doreşti). Nu contează foarte mult cum sunt
 
interconectate: pot să folosească fibră optică sau porumbei călători.
 
E clar, unele alegeri sunt mai bune decât altele, mai ales dacă ai prin casă
 
pisici. :)
 
 
 
În mod normal conectarea a două calculatoare nu se poate numi
 
reţea, este nevoie de trei sau mai multe pentru a deveni o reţea. Acest lucru
 
seamănă cu cuvântul "grup": doi oameni înseamnă doar două persoane, pe când
 
trei persoane formează un grup. De asemenea, reţelele sunt adesea prinse
 
împreună, pentru a forma reţele mai mari, fiecare reţea mai mică  (de obicei
 
numita o "sub-reţea") poate fi parte componentă dintr-o reţea mai mare.
 
 
 
De fapt conexiunea între două computere este adesea denumită "legătură de
 
reţea". Dacă este ceva cablu în spatele computerului tău către alte
 
computere atunci aceea este legătura ta de reţea.
 
 
 
Sunt patru lucruri despre care suntem interesaţi când vorbim despre o reţea de
 
calculatoare:
 
 
===Mărimea===
 
 
Dacă pur şi simplu conectezi între ele cele patru calculatoare de
 
acasă, ai realizat ceea ce se numeşte LAN (Local Area Network - reţea
 
locala). Dacă totul este la distanta de mers pe jos, este denumit
 
de obicei LAN, oricâte calculatoare ar fi conectate, şi din orice
 
infrastructura ar fi constituită reţeaua.
 
 
La celalalt pol se situează WAN-ul (Wide Area Network - reţea
 
întinsă). Dacă ai un calculator la Bucureşti, România, altul în New
 
York, SUA, şi unul în Lhasa, Tibet, şi reuşeşti să le conectezi,
 
aceasta este atunci un WAN.
 
 
 
 
===Topologia: Forma===
 
 
 
Desenează harta unei reţele: liniile sunt "legăturile din reţea",
 
şi fiecare nod este un punct. Poate că fiecare linie duce într-un
 
punct central ca o stea, însemnând că fiecare vorbeşte printr-un
 
singur punct ( o "topologie stea"):
 
   
 
              o  o  o
 
              \_ | _/
 
                \|/
 
            o-----o-----o
 
                _/|\_
 
              /  |  \
 
              o  o  o
 
 
 
Sau poate că fiecare comunică în linie, astfel:
 
 
 
              o------o------o-------o--------o
 
              |                              |
 
              |                              |
 
              |                              o
 
              |                              |
 
              o                              |
 
                                            o
 
 
 
Sau poate că ai trei subreţele 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 în realitate şi multe altele mult
 
mai complicate.
 
 
 
 
 
===Fizic: Din ce este făcută reţeaua.===
 
 
 
Al treilea lucru de care trebuie să fim interesaţi este din ce este
 
construită reţeaua noastră. Cea mai ieftina este "sneakernet-u", erau
 
oamenii care transportau diskete de la un computer la altul.
 
Sneakernet-ul este aproape întodeauna un "LAN". Disketele costa mai
 
puţin de 1$ şi o pereche de skeakers (încălţăminte care nu face
 
zgomot) în jur de 20$.
 
 
 
Cel mai obişnuit sistem folosit pentru a conecta reţeaua de acasă
 
către alte reţele mai mari este prin intermediul unui "modem"
 
(MODulator/DEModulator), care transformă o legătură telefonică într-o
 
legătură de reţea. Modemul transformă ceea ce transmite calculatorul în
 
sunete, şi ascultă sunetele venite de la celalalt capăt pe care le
 
transformă iar în informaţie pentru calculator. După cum îţi
 
imaginezi acest lucru nu este din cale afara de eficient, deoarece
 
liniile telefonice nu au fost făcute pentru genul acesta de lucruri, dar
 
este un sistem răspândit deoarece liniile telefonice sunt atât de
 
obişnuite şi ieftine: modemurile costa sub 50$ şi linia telefonica
 
200$ pe an.
 
 
 
Cel mai obişnuit sistem să conectezi computerele într-un LAN este sa
 
foloseşti Ethernet. Ethernetul poate fi de trei tipuri (în ordinea
 
în care au fost realizate): Thinwire/Coax/10base2, UTP/10baseT şi
 
UTP/100baseT. Gigabit ethernet (1000baseT începe să sune ciudat)
 
este în curs de a fi realizat. 10baseT este de obicei un fir coaxial
 
negru care are din loc în loc T-uri pentru a putea fi conectate la
 
computere, toţi sunt conectaţi într-o linie, linie care are la
 
capete terminatori speciali. UTP este de obicei un cablu de culoare
 
albastru deschis, care are două capete prevazute cu terminatori din
 
plastic similari celor de la telefon, care sunt conectaţi în
 
dispozitivele fizice (placă ethernet, hub, etc.). Cablul costa câţiva
 
dolari metrul, şi plăcile de reţea 10baseT/10base2 (multe au
 
conectori pentru ambele tipuri) sunt greu de găsit noi de firma.
 
100baseT sunt de 10 ori mai rapide decât 10baseT, sunt compatibile si
 
cu acestea, şi costa cam 30$.
 
 
 
Tehnologia de vârf este însă fibra optică; un fir de sticlă subţire
 
în cămaşă protectoare care poate fi folosită pentru a lega în reţea
 
continente. În general costa mii de dolari.
 
 
 
În mod normal numim fiecare conexiune la un nod "interfaţă de reţea"
 
sau pe scurt "interfaţă". Linux le numeşte astfel "eth0" pentru
 
prima interfaţă ethernet, şi "fddi0" pentru prima interfaţă de
 
fibră. Comanda "/sbin/ifconfig" ni le listează.
 
 
 
 
===Protocol: Cum comunica.===
 
Ultimul lucru care te interesează este limbajul pe care îl folosesc
 
două noduri interconectate. Când două modemuri comunică unul cu altul
 
printr-o linie telefonica, trebuie să se pună de acord ce vor însemna
 
fiecare sunet, altfel pur şi simplu nu vor comunica. Aceasta
 
convenţie este denumita "protocol". Pe măsură ce oamenii au descoperit
 
noi posibilităţi de codare astfel încât computerele să spună mai
 
multe în sunete mai scurte, noi protocoale s-au inventat; sunt cel
 
puţin o duzina de protocoale diferite, şi fiecare modem va încerca
 
câteva pana când va găsi unul care să fie înţeles şi de celalalt
 
modem.
 
 
 
Un alt exemplu este reţeaua 100baseT menţionată mai sus. Aceasta
 
foloseşte aceeaşi legătură fizică  "UTP" ca şi 10baseT, dar
 
comunică de 10 ori mai rapid.
 
 
 
Aceste doua protocoale sunt denumite protocoale de nivel de legătură
 
(link level) care determină cum este transportata informaţia între
 
două puncte pe conexiuni de reţea individuale. Cuvântul "protocol" se
 
referă şi la alte convenţii după cum vom vedea mai jos.
 
 
 
 
 
==Ce este "Internetul"?==
 
 
 
Internetul este o reţea de tip WAN, care împânzeşte întregul glob: este cea
 
mai mare reţea de calculatoare existenta. "Internetworking" înseamnă
 
conectarea mai multor reţele pentru a crea una mai mare, prin urmare
 
internetul este o mare îngrămădire de subreţele.
 
 
 
Aşa că acum uitându-ne la lista de mai sus, ne punem întrebarea: care este
 
mărimea Internetului, din ce este formata fizic şi care sunt protocoalele
 
folosite?
 
 
 
Mărimea am spus-o deja. Este globala.
 
 
 
Structura fizică este variata, fiecare subreţea este conectata într-un mod
 
diferit. Încercarea de a creea o hartă folositoare este sortită deci eşecului.
 
 
 
Protocoalele folosite de fiecare legătură este de asemena diferită: toate
 
protocoalele de mai sus pentru nivel de legatura sunt folosite şi multe
 
altele.
 
 
 
 
 
 
 
===Cum functionează Internetul?===
 
 
 
Cum poate fiecare nod să
 
vorbească  cu alte noduri dacă folosesc protocoale de nivel legătură diferite?
 
 
 
Răspunsul este simplu:  avem nevoie de un alt protocol care să controleze cum
 
circulă informaţia prin reţea. Protocolul pentru nivel de legătură descrie
 
cum să circule informaţia între doua noduri care sunt legate direct:
 
protocolul pentru nivel de reţea face posibila transportul informaţie între
 
un nod şi un altul peste oricât de mult legături de reţea.
 
 
 
Pentru internet, protocolul la nivel de reţea este INTERNET PROTOCOL
 
(versiunea 4) sau "IP". Nu este singurul protocol existent (Apple's
 
AppleTalk, Novell's IPX, Digital's DECNet şi Microsoft's NetBEUI fiind
 
altele), dar este cel mai adoptat. A apărut o noua versiune de protocol "IP"
 
numit IPv6, dar încă nu este atât de utilizat.
 
 
 
Aşa că pentru a transmite un mesaj dintr-un punct al globului în altul,
 
computerul tău foloseşte protocolul IP, trimite informaţia la modem, care
 
foloseşte protocolul pentru nivel de legătură pentru a trimite informaţia
 
modemului din celalalt capăt, modem care se afla probabil într-un rack de
 
modemuri, care trimite informaţia către un alt nod, nod care la rândul sau
 
trimite către altul, şi tot aşa. Un nod care face legătura între două sau
 
mai multe reţele este denumit "ruter": acesta va avea câte o interfaţă
 
pentru fiecare reţea.
 
 
 
Numim acest sir de protocoale o "stivă de protocoale", de obicei desenată
 
aşa:
 
 
 
 
 
 
 
 
 
      [ Aplicaţia: Primeşte poze ]      [ Nivelul aplicaţie: transmite poze ]
 
                    |                                          ^
 
                    v                                          |
 
      [ TCP: are grija de transport ]          [ TCP: are grija de transport ]
 
                    |                                          ^
 
                    v                                          |
 
          [ IP: are grija de routare ]          [ IP: are grija de routare ]
 
                    |                                          ^
 
                    v                                          |
 
[ Link: doar pentru conexiune directa ]  [ Link: doar pentru conexiune directa ]
 
                    |                                          |
 
                    +------------------------------------------+
 
 
 
Deci, în diagrama, vedem cum Netscape (aplicaţia din stânga sus) accesează
 
nişte poze de pe un server web (aplicaţia din dreapta sus). Pentru a face
 
acest lucru aplicaţia noastră foloseşte nivelul TCP, protocol pentru controlul
 
transportului: peste 90% din din traficul internet foloseşte TCP, care
 
este folosit mai ales pentru serviciile web şi mail.
 
 
 
Deci, Netscape trimite o cerere  pentru o conexiune TCP către serverul
 
remote: aceasta cerere este preluata la nivel de protocol de transport TCP,
 
care trimite mai departe cererea nivelului protocolului de reţea IP, care la
 
rândul lui transmite informaţia mai departe către nivelul protocolului de
 
legătură.
 
 
 
La celălat capăt nivelul protocolului de legătură înaintează informaţia către
 
nivelul protocolului IP, care  vede că informaţia este destinată
 
calculatorului respectiv (dacă nu va înainta informaţia nivelului de legătură
 
pentru că informaţia să ajungă la următorul nod), care înaintează informaţia
 
nivelului protocolului de transport TCP, care o înaintează server-ului,
 
respectiv aplicaţiei.
 
 
 
Deci avem următoarele trei puncte:
 
 
 
1. Aplicaţia (Netscape, sau serverul din capătul celalalt) decide cu cine anume
 
doreşte să vorbească şi ce anume doreşte să trimită
 
 
 
2. Nivelul de transport trimite pachete speciale pentru a începe conversaţia
 
cu celălalt capăt şi apoi împachetează informaţia într-un "pachet" TCP: un
 
pachet este doar un termen pentru o bucată de date care trece printr-o
 
reţea. Nivelul de transport TCP pasează acest pachet către nivelul de reţea
 
IP: apoi transmite în continuare pană când celălat capăt la nivel de
 
transport TCP transmite recepţionarea pachetului. Acest mecanism este numit
 
"retransmitere", şi are o mulţime de reguli complexe care controlează când să
 
transmită, cât să aştepte, etc. Îi dă de asemenea fiecărui pachet o mulţime
 
de numere, pentru că la celălalt capăt să fie sortate în ordinea corecta.
 
 
 
3. La nivel de reţea IP  se ia în considerare destinaţia pachetului şi
 
se decide următorul nod către care să se transmită pachetul. Aceasta operaţie
 
este numita în mod simplu "rutare"(routing), şi diferă de la foarte simplu
 
(dacă nu ai decât un singur modem şi nici o alta interfaţă de reţea,
 
pachetele ar trebui să iasă numai prin acea interfaţă) până la extrem de
 
complex (dacă ai 15 reţele complexe conectate direct prin tine).
 
 
 
 
 
 
 
==Acest lucru numit IP==
 
 
 
Aşadar rolul nivelului de legătură IP este să realizeze cum să "ruteze"
 
pachetele către destinaţia finala. Pentru ca acest lucru să fie posibil,
 
fiecare interfaţă din reţea trebuie să aibă o "adresă IP". Această adresă
 
constă din patru numere separate prin puncte, cum ar fi
 
"167.216.245.249". Fiecare număr trebuie să fie cuprins între 0 şi 255.
 
 
 
Interfeţele în aceeaşi reţea au tendinţa să aibă adrese IP vecine. De
 
exemplu "1.1.1.19" sta chiar lângă sistemul cu adresa IP "1.1.1.20". De asemenea
 
nu uita că un ruter este un nod cu interfeţe pentru mai mult de o reţea,
 
aşa că ruter-ul va avea câte o adresă IP pentru fiecare interfaţă.
 
 
 
Aşa că nivelul de reţea IP al kernelului ţine un tabel cu "rute" diferite,
 
punând la dispoziţie calea pentru a ajunge la grupuri variate de adrese IP.
 
Cea mai simplă dintre rute este numita "ruta default": dacă nici o alta rută
 
nu se potriveşte aceasta este calea pe care o iau pachetele. Poţi vedea o
 
listă a acestor rute cu ajutorul comenzii "/sbin/route".
 
 
 
Rutele fie indică o legătură, fie un nod particular care este conectat la o
 
altă reţea. De exemplu, când suni la ISP, ruta default va fi către legătura
 
cu modemul, deorece acolo este punctul de acces către întreaga lume.
 
 
 
 
 
    Modemul
 
      Modemul lui          ISP-ului
 
          Rusty                    {            }
 
              o------------------o { Internetul  }
 
                                    {            }
 
                                   
 
 
 
 
 
Dar dacă ai un sistem care este în permanenta conectat la lumea din afară,
 
este puţin mai complicat. În diagrama de mai jos, sistemul meu poate să
 
comunice în mod direct cu computerele lui Paul şi Tridge, şi cu firewall-ul,
 
dar este necesar ca sistemul meu să ştie că pachetele care trebuiesc livrate
 
restului lumii trebuie să se îndrepte către firewall care le va pasa mai
 
departe. Aceasta înseamnă că vei avea doua rute: una care să zică "dacă
 
destinaţia este în reţeaua mea trimite informaţia direct acolo" şi apoi o
 
rută default care să spună "în caz contrar, trimite-o către firewall".
 
 
 
 
 
 
 
                                o  Maşină de lucru
 
                                |    a lui Tridge
 
        Maşină de lucru        |                    {            }
 
          a lui Rusty  o--------+-----------------o--{  Internetul  }
 
                                |            Firewall {            }
 
                                |                 
 
                                o  Maşină de lucru
 
                                    a lui Paul 
 
 
 
 
 
 
 
===Grupuri de adrese IP: Netmask-uri===
 
 
 
Mai este un ultim detaliu: există o notaţie standard pentru grupuri de adrese
 
IP, uneori numită "adresă de reţea". La fel cum un număr de telefon poate fi
 
împărţit în prefix şi restul, la fel putem divide o adresă IP într-un prefix
 
de reţea şi restul.
 
 
 
Oamenii obişnuiau să vorbească despre "reţeaua 1.2.3", însemnând toate cele
 
256 de adrese de la 1.2.3.0 la 1.2.3.255. şi dacă asta nu era o reţea destul
 
de mare ar fi putut să vorbească despre "reţeaua 1.2" care înseamnă toate
 
adresele de la 1.2.0.0 la 1.2.255.255.
 
 
 
În mod normal nu scriem  "1.2.0.0-1.2.255.255". În loc, scriem prescurtat
 
"1.2.0.0/16". Notaţia ciudată "/16" (numită netmask) cere o mică explicaţie.
 
 
 
Fiecare număr despărţit prin puncte într-o adresă IP este de fapt un număr
 
binar format din 8 cifre (00000000 la 11111111): le scriem în format zecimal
 
pentru a putea fi mai uşor de citit. "/16" înseamna că primele 16 cifre
 
binare reprezinta adresă reţelei, cu alte cuvinte partea "1.2" este reţeaua.
 
(ţine minte fiecare număr reprezinta 8 cifre binare). Aceasta înseamnă că
 
orice adresă care începe cu "1.2" face parte din această reţea: "1.2.3.4" şi
 
"1.2.5.22" fac parte din aceasta reţea, dar "1.3.4.2" nu.
 
 
 
Pentru a face viata mai uşoară, în mod normal folosim reţele care au
 
netmask "/8", "/16" şi "/24". De exemplu, "10.0.0.0/8" este o reţea imensă
 
care conţine orice adresă de la 10.0.0.0 la 10.255.255.255 (peste 16 milioane
 
de adrese!). "10.0.0.0/16" este mai mică, conţinând adresele doar de la
 
10.0.0.0 la 10.0.255.255. "10.0.0.0/24" este şi mai mică deţinând adresele
 
de la 10.0.0.0 la 10.0.0.255.
 
 
 
Pentru a face lucrurile şi mai confuze, mai este un mod prin care putem să
 
scriem netmask-urile. Putem să le scriem ca adrese IP:
 
 
 
10.0.0.0/255.0.0.0
 
 
 
În sfârşit, nu valorează nimic faptul că cea mai mare adresă dintr-o reţea
 
este rezervat ca "adresă de broadcast", care poate fi folosită pentru a
 
transmite un mesaj către toate host-urile din reţea.
 
 
 
Mai jos este un tabel cu netmask-uri:
 
 
 
 
 
Forma      Forma          Numărul de      Comentarii
 
scurtă      lungă            maşini maxim
 
 
 
  /8      /255.0.0.0        16,777,215  numită în trecut reţea de clasă A
 
  /16    /255.255.0.0      65,535      numită în trecut reţea de clasă 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        numită în trecut reţea de clasă 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
 
 
 
 
 
 
 
==Nume de computere şi Adrese IP==
 
 
 
În concluzie, orice interfaţă de pe fiecare nod are o adresă IP. Foarte repede
 
s-a constatat că oamenii reţin destul de greu numerele, aşa că s-a hotărât
 
(la fel ca la numerele de telefon) să avem un director cu nume. Dar cum
 
folosim computere oricum, este mai simplu să punem computerele să găsească
 
numele în mod automat.
 
 
 
Prin urmare avem DNS, sistemul de gestionare a numelor domeniilor. Sunt noduri cu adrese IP
 
bine cunoscute pe care programele le pot interoga trimiţând nume pentru a
 
primi adrese IP. Aproape toate programele pe care le foloseşti pot realiza
 
această interogare, de asta poţi pune "www.linuxcare.com" în Netscape în loc
 
de "167.216.245.249".
 
 
 
Bineînţeles, ai nevoie de adresele de reţea a cel puţin unuia dintre aceste
 
"servere de nume": în mod normal aceste adrese se găsesc în fişierul
 
"/etc/resolv.conf".
 
 
 
Cum interogările şi răspunsurile DNS sunt relativ mici (1 pachet de fiecare),
 
protocolul TCP nu este folosit: acesta pune la dispoziţia retransmisie
 
automată, ordonare a pachetelor şi o siguranţă a conexiunii, dar cu costul
 
trimiterii de pachete în plus în reţea. De aceea folosim foarte simplul
 
protocol UDP (protocol pentru datagrame utilizator), care nu oferă extra
 
facilităţile pe care le oferă TCP şi de care nu avem nevoie.
 
 
 
==Servici diferite: Email, Web, FTP, DNS==
 
 
 
Într-un exemplu anterior, am arata cum Netscape trimite o cerere TCP către un
 
server de web care rulează pe un alt nod. Dar să ne imaginam că acel nod care
 
este şi server de web rulează şi server de email, un server de ftp şi un
 
server DNS, cum ştie nodul pentru ce server este conexiunea TCP?
 
 
 
Aici TCP şi UDP au conceptul de "port". Fiecare pachet are precizat în el "portul
 
destinaţie" care spune pentru ce serviciu este destinat pachetul. De exemplu,
 
portul 25 TCP este pentru server-ul de mail, şi portul 80 TCP este server-ul
 
de web (de asemenea câteodată poţi să întâlneşti servere web pe porturi
 
diferite). O listă a porturile poate fi găsită în "/etc/services".
 
 
 
De asemenea, dacă doua ferestre Netscape, amândouă accesează părţi diferite din
 
acelaşi site web, cum face sistemul linux pe care rulează Netscape să sorteze
 
pachetele care se întorc de la server?
 
 
 
Aici intervine "portul sursa": fiecărei conexiune nouă TCP ii se atribuie un
 
nou port sursă, aşa că sunt separate, chiar dacă se duc spre aceeaşi
 
adresă destinaţie IP şi acelaşi port destinaţie. În mod normal primul port
 
sursă alocat va fi 1024 şi creşte odată cu trecerea timpului.
 
 
 
 
 
 
 
 
 
==Interfeţe dialup: PPP==
 
 
 
Când suni cu modemul la un ISP, şi se conectează la modemul lor, kernelul
 
nu începe pur şi simplu să trimită pachete IP prin conexiune. Există un
 
protocol numit PPP (point-to-point protocol),  care este folosit pentru a
 
negocia cu celălalt capăt înainte de a se permite trimiterea oricăror pachete.
 
Acesta este folosit de către ISP pentru identificarea clientului care a sunat: pe
 
sistemul tău linux, un program numit  "PPP daemon" se ocupă cu partea ta de
 
negociere.
 
 
 
Pentru că în lume sunt mulţi utilizatori de dial-up, de obicei aceştia nu
 
au propria lor adresă IP: cele mai multe ISP-uri îţi vor aloca una din
 
adresele lor când te vei conecta (daemonul PPP va negocia acest lucru). Aceasta
 
este adesea numită "adresă IP dinamica", diferită fata de "adresă IP statică"
 
care este cazul normal când ai propria ta conexiune permanentă. În mod normal
 
această adresă este determinată de modem, data următoare când te conectezi,
 
probabil că vei nimeri alt modem, şi astfel vei avea altă adresă IP.
 
 
 
 
 
 
 
 
 
==Cum arată pachetele==
 
 
 
Pentru cei foarte curioşi iată o descriere a structurii unui pachet. Sunt mai
 
multe aplicaţii care capturează pachetele care intră sau care ies dintr-un
 
sistem linux: cel mai comun este "tcpdump" (care înţelege mai multe
 
protocoale decât TCP), dar unul grafic este "ethereal". Aceste aplicaţii
 
sunt numite "snifere de pachete".
 
 
 
Începutul fiecărui pachet conţine informaţii cum ar fi destinaţia, sursa,
 
tipul pachetului, şi alte detalii administrative. Această parte a unui pachet
 
este numită "header". Restul pachetului, ce conţine datele propriu-zise, este
 
în mod uzual numit "corpul pachetului".
 
 
 
Aşa că orice pachet IP începe cu un "header IP", în mărime de cel puţin 20
 
bytes. Arată cam aşa (aceasta diagramă a fost preluată din RFC 791):
 
 
 
        .-------+-------+---------------+-------------------------------.
 
        |Version|  IHL  |Type of Service|          Total Length        |
 
        |-------+-------+---------------+-------------------------------|
 
        |        Identification        |Flags|      Fragment Offset    |
 
        |---------------+---------------+-------------------------------|
 
        |  Time to Live |    Protocol  |        Header Checksum      |
 
        |---------------+---------------+-------------------------------|
 
        |                      Source Address                          |
 
        |---------------------------------------------------------------|
 
        |                    Destination Address                        |
 
        "---------------------------------------------------------------"
 
 
 
Câmpurile importante sunt Protocol, care indică dacă pachetul este de tip TCP
 
(numărul 6), un pachet UDP (numărul 17) sau altceva, adresă IP sursa, şi adresa
 
IP destinaţie.
 
 
 
Acum, dacă acel câmp referitor protocolului spune că pachetul este TCP, atunci
 
imediat un header TCP va urma imediat header-ului IP: header-ul TCP este
 
de asemenea de cel puţin 20 bytes mărime:
 
 
 
        .-------------------------------+-------------------------------.
 
        |          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 câmpuri sunt aici câmpurile reprezentând portul sursă şi
 
portul destinaţie care determina către ce serviciu este destinat pachetul
 
(sau, în cazul pachetelor replica, de la care serviciu provine). Numerele
 
"sequence" şi "acknowledgment" sunt folosite pentru a tine o ordine în
 
pachete şi pentru a spune celuilalt capăt ce pachete au fost primite.
 
Flag-urile ACK, SYN, RST şi FIN (scrise pe verticala) sunt biţi unici
 
folosiţi pentru negocierea deschiderii (SYN) sau închiderii (RST sau FIN)
 
conexiunilor.
 
 
 
După acest header urmează mesajul real pe care îl trimite aplicaţia (corpul
 
pachetului). Un pachet normal are până la 1500 bytes: aceasta înseamnă că cel
 
mai mare spaţiu pe care îl pot ocupa datele este de 1460 bytes (20 bytes
 
header-ul IP, 20 bytes header-ul TCP): peste 97%.
 
 
 
 
 
==Sumar==
 
 
 
În concluzie internetul modern foloseşte pachete IP pentru a comunica, şi
 
cele mai multe dintre aceste pachete folosesc TCP pentru controlul conexiunii.
 
Noduri speciale denumite "rutere" conectează micile reţele în reţele mai
 
mari, şi pasează pachetele către destinaţia lor finală. Marea majoritatea a
 
computerelor sunt parte doar dintr-o reţea (au doar o singura interfaţă),
 
spre deosebire de rutere.
 
 
 
Fiecare interfaţă are o adresă IP unica, care seamănă cu "1.2.3.4":
 
interfeţele în aceeaşi reţea vor avea adrese IP înrudite, cu acelaşi
 
început, la fel cum telefoanele dintr-o anumită zonă au acelaşi prefix.
 
Adresele de reţea sunt asemănătoare adreselor IP,  urmate însă de semnul "/"
 
şi un număr pentru a se specifică porţiunea din acea adresă care reprezintă
 
prefixul, de exemplu "1.12.0.0/24" înseamna că primele 3 grupuri de cifre
 
reprezintă adresă de reţea, fiecare cifră reprezintă 8 biţi.
 
 
 
Maşinile au asignate nume de către  serviciul de nume pe domenii: programele
 
interoghează serverele de nume adrese IP, furnizând acestora nume de genul:
 
"www.lug.ro". Aceasta adresă IP este apoi folosită ca adresă IP
 
destinaţie pentru a vorbi cu acel nod.
 
 
 
Rusty este destul de nepriceput pentru a scrie documente, în special pentru
 
începători.
 
 
 
Enjoy!
 
 
 
Rusty.
 
 
 
 
 
 
 
==Multumiri==
 
 
 
Multumiri lui Alison, pentru că mi-a spus în cel mai frumos mod posibil ce
 
tâmpenii am scris în versiunile de început.
 
 
 
 
 
 
 
==Index==
 
 
 
  o  "100baseT"
 
 
 
  o  "10base2"
 
 
 
  o  "10baseT"
 
 
 
  o  "Broadcast address" - adresă de broadcast
 
 
 
  o  "Coax, Coaxial cable"
 
 
 
  o  "Computer network" - reţea de calculatoare
 
 
 
  o  "Default route" - ruta default
 
 
  o  "Destination port" - port destinaţie
 
 
 
  o  "DNS, Domain Name Service" - serviciu de nume de domenii DNS
 
 
 
  o  "Dynamic IP address"- adresă IP dinamică
 
 
 
  o  "Ethernet"
 
 
 
  o  "Fiber" - fibră
 
 
 
  o  "Gigabit Ethernet"
 
 
 
  o  "Hop"
 
 
 
  o  "Hub"
 
 
 
  o  "Internet"
 
 
 
  o  "IP, Internet Protocol"
 
 
 
  o  "IP address" - adresă ip
 
 
 
  o  "IP header" - header IP
 
 
 
  o  "IPv4, IP version 4"
 
 
 
  o  "IPv6, IP version 6"
 
 
 
  o  "LAN, Local Area Network" - reţea locală
 
 
 
  o  "Link-level protocol" - protocol de nivel de legătură
 
 
 
  o  "Modem"
 
 
 
  o  "Name server" - server de nume
 
 
  o  "Netmask" - netmask
 
 
 
  o  "Network address, network mask" - adresă de reţea, mask de reţea
 
 
 
  o  "Network interface, interface" - interfaţă de reţea, interfaţă
 
 
 
  o  "Network link" - legătură de reţea
 
 
 
  o  "Network protocol, protocol" - protocol de reţea, protocol
 
 
 
  o  "Node" - nod
 
 
 
  o  "Packet body" - corpul pachetului
 
 
 
  o  "Packet header" - headerul 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" - stivă de protocoale
 
 
 
  o  "Retransmission" - retransmitere
 
 
 
  o  "Route" - rută
 
 
  o  "Router" - ruter
 
 
 
  o  "Routing" - rutare
 
 
 
  o  "Sneakernet"
 
 
 
  o  "Source port" - port sursă
 
 
 
  o  "Star-topology" - topologie în stea
 
 
 
  o  "Static IP address" - adresă IP statică
 
 
 
  o  "Sub-network" - sub-reţea
 
 
 
  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" - reţea întinsă
 

Versiunea de la data 27 martie 2009 13:36

Aceasta este o traducere a Linux Networking-concepts HOWTO publicată de proiectul netfilter la http://www.netfilter.org/documentation/HOWTO/networking-concepts-HOWTO.html

Documentul este publicat sub licenţă GNU GPL, (C) 2000 Paul `Rusty' Russell.

Traducera originală a fost preluată de la http://www.ibiblio.org/pub/Linux/docs/HOWTO/translations/ro/text/Linux-Networking-concepts-HOWTO şi începe cu următorul text:


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.

Lecturare placuta!

jxftPd <a href="http://bpgidxenizqd.com/">bpgidxenizqd</a>, [url=http://vldjxfnesptt.com/]vldjxfnesptt[/url], [link=http://sqilexgzmjde.com/]sqilexgzmjde[/link], http://cnbrgdjxxssf.com/