Let's Do It Romania - 24 Septembrie 2011



   

Elogiul prostiei

   

Internetul nu înseamnă un ansamblu de echipamente şi de medii de transport. Internetul nu este un lucru, ci o înţelegere între cei care-l folosesc. Puterea Reţelei se trage din faptul că nu ştie să facă altceva decât să transporte biţi. Inteligenţa e în capetele care implementează înţelegerea.


Mircea Sârbu


După cum cu siguranţă v-aţi dat seama, subiectul major al acestei rubrici este Internetul iar ideea centrală este că acesta ne va modela viitorul. Nimic nu va mai fi ca înainte. Deja am ajuns în faza în care aproape orice subiect se discută, Reţeaua ajunge să fie invocată într-un fel sau altul. Dacă am vorbit despre babilonia din lumea informatică, am ajuns, inevitabil, la concluzia că Internetul a început să o potenţeze, să o pună în valoare, să o transforme dintr-o pacoste într-o celebrare a diversităţii. Dacă vom vorbi despre politică, vom ajunge probabil la concluzii asemănătoare - de pildă, este de neocolit analogia dintre globalizare şi Internet. Nu-mi trece prin cap nici o temă în care, astăzi, Reţeaua să nu aibă vreo implicare.

Cu toate acestea, nu prea ştim ce este şi cum este, de fapt, Internetul. De vină sunt, pe de-o parte, nenumăratele mituri care-l învăluie, iar pe de alta, faptul că refuză să se plieze unui model cunoscut. Definiţia sa ne scapă mereu, pentru simplul motiv că evoluţia sa pare să fie o continuă redefinire. Iar dacă nu putem să-l definim, singura şansă care ne rămâne este să-l explicăm folosind argumente istorice, analogii şi comparaţii. Adică să-l povestim.

Un prim fapt bizar este că preistoria Internetului începe de la Sputnik, primul satelit artificial al Pământului, care a fost lansat de Uniunea Sovietică la 4 octombrie 1957. Această ispravă a sovieticilor a născut în Statele Unite teama că progresul tehnologic al Uniunii Sovietice a fost subestimat şi, de fapt, Războiul Rece este în mare măsură o întrecere pe tărâmul tehnologiilor. Spre deosebire de sovietici, care mobilizau munca de cercetare preponderent pe tărâm militar, americanii mizau în principal pe capacităţile inovative ale lumii civile. Opinia lor - corectă, după cum s-a dovedit - era că ierarhiile militare nu reprezintă cadrul potrivit pentru cercetare, aşa că preferau să finanţeze proiecte din industrie şi din învăţământ, ceea ce reprezenta şi un impuls serios dat economiei. În acest spirit, Departamentul Apărării (DoD) a creat o agenţie specializată pe cercetări avansate, numită când ARPA, când DARPA. Această variaţie a titulaturii prin apariţia şi dispariţia literei "D" (de la Defense) este emblematică pentru împletirea caracterului civil cu cel militar.

Legenda spune că unul dintre proiectele ARPA viza realizarea unei reţele de calculatoare care să fie indestructibilă în cazul unui atac nuclear. Deşi falsă, această afirmaţie este extrem de importantă pentru că pune în evidenţă una dintre caracteristicile fundamentale ale viitorului Internet: descentralizarea. Adevărul este că ARPA avea nevoie de o tehnologie prin care să conecteze computerele pe care tot ea le furniza diferitelor echipe civile (în special din universităţi) care dezvoltau proiecte finanţate, desigur, tot de ARPA. Iar pentru că echipamentele epocii erau sensibile şi nesigure, era nevoie de o soluţie care să asigure funcţionarea reţelei în condiţiile în care oricare parte a reţelei nu funcţiona. Adică să evite existenţa unui aşa-numit "single point of failure".

Tehnic, problema era următoarea: la vremea aceea, singura metodă de interconectare a reţelelor era cea inspirată de reţeaua telefonică: comutarea de circuite. Adică închiderea printr-un releu a unui circuit care să lege, la cerere, două computere. Dar această operaţie se face de o "centrală", adică o instalaţie complexă care-şi impune propriile interfeţe, care incorporează o "inteligenţă" proprie şi care reprezintă, de fapt, tocmai acel punct nevralgic care trebuia evitat.

Din fericire, la începutul anilor 60 a fost imaginată o tehnologie de interconectare bazată pe comutare de pachete (packet switching). Ideea este cât se poate de simplă. Datele care trebuie trimise unui computer din reţea sunt fragmentate şi "împachetate" în structuri numite datagrame, fiecare dintre acestea purtând în antet o informaţii despre expeditor şi destinatar - ca în cazul scrisorilor. Aceasta a fost găselniţa care le-a permis celor de la ARPA să conecteze computerele de la UCLA (University of California, Los Angeles), SRI (Stanford Research Institute), UCSB (University of California, Santa Barbara) şi University of Utah, formând reţeaua ARPANET, strămoşul Internetului.

Ideea că Internetul este complicat este un mit. Esenţa sa tehnologică este ilustrată de modul cum a funcţionat de la bun început ARPANET. Cele patru noduri (de fapt reţele locale) erau interconectate prin linii telefonice (închiriate, dar puteau fi la fel de bine comutate). Fiecare dintre ele dispunea de un mic computer (numit router) care era răspunzător de conectarea la ARPANET, dispunând de programe care asigurau dirijarea pachetelor între computerele pe care le deserveau şi celelalte routere. Programele de dirijare implementau un protocol (numit NCP - Network Control Protocol) care descria structura datagramelor, căile de acces spre diverse destinaţii din ARPANET şi alte caracteristici tehnice, precum şi un protocol propriu, specific reţelei locale.

Aceste protocoale reprezintă inima Internetului. NSP s-a dovedit prea limitat şi a fost înlocuit de TCP/IP, care este de fapt o stivă de protocoale, în care fiecare nivel oferă servicii nivelului superior. În felul acesta se abstractizează detaliile schimbului de date. De pildă, o aplicaţie nu trebuie să se îngrijească de modul cum ajung datele la o aplicaţie rulând pe un alt computer, ci doar să furnizeze nivelului inferior adresa acestuia şi datele ce trebuie trimise. Programele ce implementează nivelul inferior se ocupă de împachetarea şi expedierea lor spre destinaţie prin intermediul altor computere conectate, din aproape în aproape. Se poate întâmpla ca unele pachete să urmeze o anumită rută, în timp ce altele să urmeze o altă rută (în funcţie de disponibilitatea "gazdelor" de pe traseu). De asemenea, se poate întâmpla ca datagramele să nu ajungă în ordinea corectă sau să sufere erori pe parcurs. Nu e nici o problemă câtă vreme protocolul este implementat la ambele capete. Receptorul va restabili ordinea şi va cere emiţătorului retransmiterea pachetelor detectate (prin mecanismele de control, stabilite de protocol) ca fiind eronate. În mod similar se abstractizează suportul fizic care asigură transmisia datelor. Pentru programele care asigură transportul pachetelor sau dirijarea acestora este indiferent dacă biţii vor circula prin cablu, fibră optică, unde radio sau cu basculanta de CD-uri. Nivelul inferior se ocupă cu asta.

Analogia pe care o face Andrew Tanenbaum cu conversaţia a doi filozofi care nu cunosc nici o limbă comună este extrem de sugestivă. Translatorii, care cunosc o limbă comună, reprezintă nivelul inferior într-o stivă de protocoale. În plus, protocoalele pot fi înlocuite sau pot fi schimbate dinamic, în funcţie de nevoile aplicaţiilor. Pentru transmisii de imagine sau voce, de exemplu, se adoptă de regulă un protocol de transport mai relaxat din punctul de vedere a corectitudinii datelor transmise.

Caracterul public al protocoalelor este o altă caracteristică definitorie a Internetului. Pe baza protocoalelor de bază TCP/IP se pot construi oricâte altele, care să răspundă unor nevoi specifice de comunicare ale diverselor aplicaţii. Cum protocolul stabileşte regulile comunicării, este clar că trebuie să fie cunoscut de toate părţile. Sugestiv este şi faptul că standardele Internetului (protocoale, formate etc.) se cheamă Request For Comments (RFC), adică o solicitare de comentarii din partea publicului.

Odată ce un standard este stabilit, oricine poate dezvolta programe care să-l implementeze şi să dezvolte aplicaţii. De pildă, HTTP este protocolul care stabileşte regulile de comunicare între serverele Web şi browsere. Însă protocolul stabileşte doar regulile comunicării nu şi la ce anume se poate folosi. Nimic nu mă împiedică să folosesc protocolul pentru a dezvolta altfel de aplicaţii sau de a dezvolta alte protocoale care se bazează pe acesta. SHTTP (Secure http) este un exemplu.

Poate e timpul să încercăm câteva concluzii. Prima dintre ele este că Internetul nu este un lucru, ci o înţelegere. Ceea ce defineşte Internetul nu sunt computerele, ruterele, firele sau undele herţiene, ci ansamblul de protocoale care fac posibilă comunicarea.

Fiind o simplă înţelegere, Reţeaua nu aparţine nimănui. Sau, mai corect, aparţine tuturor celor care convin să o respecte. Oricine o poate folosi şi, mai mult, fiecare o poate îmbunătăţi, fiecare îi poate adăuga valoare, pentru că întreaga valoare a Reţelei stă în "capetele" ei.

Pe la mijlocul anilor 90, echipa tehnică True Voice de la AT&T a fost însărcinată să găsească o metodă de a îmbunătăţi calitatea vocii transmisă prin sistemul telefonic. Unul dintre membrii echipei, David Isenberg, a remarcat că variantele cele mai simple (creşterea frecvenţei de eşantionare sau schimbarea algoritmului de codare) nu puteau fi aplicate deoarece ar fi implicat schimbarea întregii reţele telefonice, cu excepţia sârmelor. Reţeaua telefonică este exemplul tipic de reţea centralizată, în care "inteligenţa" este înglobată în reţea iar capetele reţelei, utilizatorii, dispun de terminale cu funcţionalitate extrem de limitată.

Isenberg a fost printre primii care a remarcat că inteligenţa înglobată într-o reţea o face inflexibilă. Cu cât reţeaua este mai lipsită de elemente inteligente, cu atât este mai flexibilă, mai deschisă inovaţiei şi expansiunii. Iar Internetul este prototipul reţelei "proaste", lipsită de inteligenţă, chiar opusă inteligenţei. Întreaga ei valoare este la capete, acolo unde terminale inteligente (computere, dar nu numai...) implementează o înţelegere. Reţeaua în sine nu ştie să răspunde decât unei comenzi extrem de simple: Mişcă biţii, proasto!

Sau, mai degrabă: mişcă biţii, Proasto! Pentru că prostia ei este puterea ei.


Comentariul d-lui Ion Barbălată


 

(Publicat în Ziarul Financiar - septembrie 2004)

 

Copyright © 2004 Mircea Sârbu