Una descripció general de la programació Socket per a xarxes d'ordinadors

Un sòcol és una de les tecnologies més fonamentals de la programació de la xarxa informàtica. Els sòcols permeten que les aplicacions de programari de xarxa es comuniquin mitjançant mecanismes estàndard incorporats al maquinari de xarxa i als sistemes operatius.

Encara que sembli una altra característica del desenvolupament de programari d'Internet, la tecnologia de socket existia molt abans de la Web. I, moltes de les aplicacions de programari de xarxa més populars actuals es basen en preses de corrent.

Què sòcols poden fer per a la vostra xarxa

Un socket representa una única connexió entre exactament dues peces de programari (una anomenada connexió punt a punt ). Més de dues peces de programari poden comunicar-se amb el client / servidor o sistemes distribuïts mitjançant múltiples preses de corrent. Per exemple, molts navegadors web es poden comunicar simultàniament amb un únic servidor web a través d'un grup de preses realitzades al servidor.

El programari basat en socket sol executar-se en dos ordinadors separats de la xarxa, però els sockets també es poden utilitzar per comunicar-se localment ( interprocessos ) en una sola computadora. Els sockets són bidireccionals , el que significa que qualsevol de les bandes de la connexió és capaç d'enviar i rebre dades. De vegades, l'única aplicació que inicia la comunicació es denomina "client" i l'altra aplicació del "servidor", però aquesta terminologia provoca confusions en xarxes entre iguals i, en general, s'ha d'evitar.

Sòquet d'API i biblioteques

Hi ha diverses biblioteques que implementen interfícies de programació d'aplicacions estàndard (API) a Internet. El primer paquet principal: la biblioteca de sockets de Berkeley continua sent àmpliament utilitzada en sistemes UNIX. Una altra API molt habitual és la biblioteca de Windows Sockets (WinSock) per als sistemes operatius de Microsoft. Pel que fa a altres tecnologies informàtiques, les API de socket són bastant madures: WinSock ha estat en ús des de 1993 i preses de presa de Berkeley des de 1982.

Les API de sòcol són relativament petites i senzilles. Moltes de les funcions són similars a les que s'utilitzen en les rutines d'entrada / sortida d'arxius com read () , write () i close () . Les crides a la funció real depenen del llenguatge de programació i de la biblioteca del sòcol escollit.

Tipus d'interfície de sockets

Les interfícies de sockets es poden dividir en tres categories:

  • Les preses de corrent, el tipus més comú, requereixen que les dues parts comunicants estableixin primerament una connexió de sòcol, després de la qual cosa es garantirà que les dades passades per aquesta connexió arribin al mateix ordre en què es va enviar, anomenada programació orientada a connexions model
  • Els sockets Datagram ofereixen semàntica "sense connexió". Amb els datagrames, les connexions són implícites més que explícites que amb els fluxos. Qualsevol de les parts simplement envia datagrames segons sigui necessari i espera que l'altre respongui; els missatges es poden perdre en la transmissió o s'han rebut sense comanda, però és responsabilitat de l'aplicació i no els enquadernadors per fer front a aquests problemes. La implementació de preses de dades pot donar a algunes aplicacions un augment de rendiment i una flexibilitat addicional en comparació amb l'ús de preses de corrent, justificant-ne l'ús en algunes situacions.
  • El tercer tipus de sòcol: el sòcol brut , evita el suport incorporat de la biblioteca per a protocols estàndard com TCP i UDP . Les preses de corrent primes s'utilitzen per al desenvolupament de protocols de baix nivell personalitzat.

Suport de sockets en els protocols de xarxa

Actualment, els connectors de xarxa moderns s'utilitzen conjuntament amb els protocols d'Internet: IP, TCP i UDP. Les biblioteques que implementen sockets per a protocol d'Internet utilitzen TCP per a les transmissions, UDP per als datagrames i la pròpia IP per als sòcols en brut.

Per comunicar-se a través d'Internet, les biblioteques de sockets IP utilitzen l' adreça IP per identificar equips específics. Moltes parts d'Internet funcionen amb serveis de nomenclatura, de manera que els usuaris i programadors de sockets poden treballar amb ordinadors per nom ( per exemple , "thiscomputer.wireless.about.com") en lloc de per adreça ( p . Ex., 208.185.127.40). Les preses de corrent i de datagrama també utilitzen els números de port IP per distingir entre les diverses aplicacions. Per exemple, els navegadors web a Internet saben utilitzar el port 80 com a predeterminat per a les comunicacions de sockets amb els servidors web.