descentralizarea în sistemele distribuite, o abordare informală
duminică, 1 apr. 2012, 20:52
Voi începe ca de obicei prin a explica toți termenii din titlu care sunt legați direct de subiect, pentru a nu da impresia profund greșită că am înșirat cuvinte doar de dragul de a face tech blabber. Termenii la care mă refer sunt „descentralizare” și „sistem distribuit”, și voi începe cu cel din urmă pentru a-l putea explica apoi pe cel dintâi.
Sistemul distribuit este abstractizarea la nivel (formal) computațional a rețelei de calculatoare. Într-un sens mai larg, orice entitate formată din subentități abstracte care execută calcule spre rezolvarea unei probleme – care problemă e cea definită prin entitatea-mamă, abordarea fiind astfel una top-down – este un sistem distribuit. În acest sens mai larg mai multe procesoare sau core-uri, elemente periferice și una sau mai multe magistrale care le interconectează pe toate acestea formează un sistem distribuit pe care noi îl numim calculator.
Tanenbaum și Van Steen definesc sistemul distribuit ca pe un sistem software care face ca mai multe calculatoare să apară pentru utilizator drept o entitate singulară, aceasta fiind o definiție care are mai mult sens în contextul ingineriei calculatoarelor. Astfel Internetul e un mare sistem distribuit, Twitter e un altul, World of Warcraft e la rândul său un sistem distribuit și așa mai departe. Definiția e foarte generală, astfel că în particular are sens să ne întrebăm cum sunt organizate unitățile de calcul dintr-un astfel de sistem, ce protocoale folosesc ele pentru a comunica, care model e mai potrivit în ce situație și așa mai departe, cu toate astea ocupându-se domeniul sistemelor distribuite. (mai mult…)
de ce nat-ul e o idee proastă
sâmbătă, 25 feb. 2012, 11:53
În ciuda faptului că e în uz de circa douăzeci de ani și în pofida aceluia că cea mai mare parte a Internetului îl folosește în cadrul rețelelor sale (de obicei locale), NAT-ul e o idee proastă. Invers, deși folosirea NAT pe scară largă e o idee teribil de proastă, cea mai mare parte a Internetului îl implementează [i] sub semnul unei ignoranțe crase.
Network Address Translation e un mecanism prezent în majoritatea routerelor din comerț, mecanism ce prelucrează adresele sursă și/sau destinație într-o comunicație între două entități, spre a le „deghiza” [ii] în raport cu entitatea-partener, care poate fi sursa în cazul adresei destinație și vice-versa în celălalt caz. În practică este mai des întâlnit cazul translatării adresei sursă pentru date care pleacă dintr-o rețea formată din mai multe entități ce partajează o singură adresă publică, cazul invers fiind cunoscut sub numele de port forwarding. (mai mult…)
- A se nota că folosesc termenul de NAT, deși mă refer în egală măsură și la omologul său PAT folosit peste TCP. [↩]
- Termenul corect este „masquerading”. [↩]