Pila TCP/IP

De Viquipèdia
Dreceres ràpides: navegació, cerca
El model TCP/IP
Capa Protocol
Aplicació HTTP  · FTP  · TFTP  · SMTP  · POP3  · IMAP  · DNS  · IRC  · SSH  · Telnet  · TLS i SSL  · NFS  · NNTP  · NTP  · SMB/CIFS  · SNMP  · Gopher  · RTP  · RTCP  · SOAP  · SIP
Transport TCP  · UDP  · SCTP  · SPX  · NetBIOS
Xarxa IP (IPv4  · IPv5  · IPv6)  · ICMP  · IGMP  · AppleTalk  · IPX  · NetBEUI  · X.25
Enllaç de dades ARP  · RARP  · ATM  · DSL  · Ethernet  · Frame Relay  · HDLC  · NDP  · PPP  · SLIP  · Token Ring  · Wi-Fi
Física Cable coaxial  · Cable de fibra òptica  · Cable de parells trenats  · Microones  · Ràdio  · RS-232  · RS-485
Categoria:Xarxes informàtiques

TCP/IP és un conjunt de protocols que cobreixen els diversos nivells del model OSI. Aquests protocols són utilitzats per tots els ordinadors connectats a internet, de manera que aquests puguin comunicar-se entre si. Cal tenir en compte que en Internet es troben connectats ordinadors de classes molt diferents i amb maquinari i programari incompatibles en molts casos, a més de tots els mitjans i formes possibles de connexió. Aquí es troba un dels grans avantatges del TCP/IP, car aquest protocol s'encarregarà que la comunicació entre tots sigui possible. TCP/IP és compatible amb qualsevol sistema operatiu i amb qualsevol tipus de maquinari.

El conjunt TCP/IP està dissenyat per enrutar i té un grau molt elevat de fiabilitat, és adequat per a xarxes grans i mitjanes, així com en xarxes empresarials. S'utilitza a nivell mundial per connectar-se a Internet i als servidors web. És compatible amb les eines estàndard per analitzar el funcionament de la xarxa. S'utilitza tant en campus universitaris com en complexos empresarials, on utilitzen molts encaminadors i connexions a mainframe o ordinadors UNIX, i també en xarxes petites o domèstiques, en telèfons mòbils i en domòtica.

Els dos protocols més importants de la pila TCP/IP són el TCP (Transmission Control Protocol) i el IP (Internet Protocol), que són els que donen nom al conjunt.

Nivells de la pila TCP/IP[modifica | modifica el codi]

L'arquitectura del TCP/IP consta de quatre nivells o capes en les quals s'agrupen els protocols, i que es relacionen amb els nivells OSI de la següent manera:

Exemple d'encapsulació de dades dins un paquet UDP, el paquet UDP dins del paquet IP, i aquest dins la trama Ethernet.

Nivell d'aplicació[modifica | modifica el codi]

Es correspon amb els nivells OSI d'aplicació, presentació i sessió. El nivell d'aplicació és el nivell que els programes més habituals utilitzen per comunicar-se a través d'una xarxa amb altres programes. Els processos que tenen lloc en aquest nivell són aplicacions específiques que passen dades al nivell d'aplicació en el format que internament utilitzi el programa i és codificat posteriorment d'acord amb un protocol estàndard.

Alguns programes específics es considera que s'executen en aquest nivell. Proporcionen serveis que treballen directament amb les aplicacions d'usuari. Aquests programes i els seus corresponents protocols inclouen a HTTP (HyperText Transfer Protocol), FTP (File Transfer Protocol), SMTP, SSH, DNS entre d'altres.

Un cop les dades de l'aplicació han estat codificades en un protocol estàndard del nivell d'aplicació són transferides cap avall al següent nivell de la pila de protocols TCP/IP.

Nivell de transport[modifica | modifica el codi]

Coincideix amb el nivell de transport del model OSI. Els protocols del nivell de transport poden solucionar problemes tals com la fiabilitat i la seguretat de què les dades arriben al destí i ho fan en l'ordre correcte. En el conjunt de protocols TCP/IP, els protocols de transport també determinen a quina aplicació van destinades les dades. Els protocols d'enrutament dinàmic, els quals tècnicament encaixen en el protocol TCP/IP (atès que funcionen sobre IP), són generalment considerats part del nivell de xarxa; un exemple és OSPF (protocol IP número 89).

TCP (protocol IP número 6) és un mecanisme de transport fiable i orientat a connexió, el qual proporciona un flux fiable de bytes, assegura que les dades arribin completes, sense danys i en ordre. TCP realitza contínuament anàlisis sobre l'estat de la xarxa per evitar sobrecarregar-la amb massa tràfic. A més a més, TCP intenta enviar totes les dades correctament en la seqüència especificada. Aquesta és una de les principals diferències amb UDP i pot convertir-se en un inconvenient en fluxos a temps real (molt sensibles a la variació del retard) o en aplicacions d'enrutament amb percentatges alts de pèrdua en el nivell d'interxarxa.

UDP (protocol IP número 17) és un protocol de datagrames sense connexió. És un protocol no fiable (best effort a l'igual que IP), no perquè sigui particularment dolent, sinó perquè no verifica que els paquets arribin al seu destí ni tampoc dóna garanties de què arribin en ordre. UDP s'utilitza normalment per aplicacions de streaming on l'arribada a temps dels paquets és més important que la fiabilitat o per a aplicacions senzilles del tipus petició/resposta com el servei DNS, on la sobrecàrrega de les capçaleres que aporten fiabilitat és desproporcionada per la mida dels paquets.

TCP i UDP són utilitzats en l'actualitat per donar servei a una sèrie d'aplicacions d'alt nivell. Les aplicacions amb una adreça de xarxa donada són distingibles entre sí pel seu número de port TCP o UDP. Per convenció, els ports ben coneguts (well-known ports) estan associats a aplicacions específiques.

Nivell d'interxarxa[modifica | modifica el codi]

És el nivell de xarxa del model OSI. Tal com va ser definit originalment, el nivell de xarxa soluciona el problema de transportar paquets a través d'una xarxa senzilla. Exemples de protocols d'aquesta capa són X.25 i Host/IMP Protocol d'ARPANET.

Amb l'arribada del concepte d'interxarxa, es van afegir noves funcionalitats a aquest nivell basades en l'intercanvi de dades entre una xarxa origen i una xarxa destí. Generalment això inclou un enrutament de paquets a través d'una xarxa de xarxes coneguda com a internet.

Dins de la família de protocols d'Internet, IP realitza les tasques bàsiques per aconseguir transportar dades des d'un origen a un destí. IP pot passar les dades a un conjunt de protocols superiors; cada un d'aquests és identificat com un únic Número de protocol IP. Per exemple, ICMP i IGMP són els protocols 1 i 2, respectivament.

Alguns dels protocols que es troben per sobre d'IP, com ara ICMP (utilitzat per transmetre informació de diagnòstic i control d'error sobre transmissions IP) i IGMP (usat per dirigir el tràfic multicast), tot i trobar-se en nivells superiors, realitzen funcions de nivell de xarxa, cosa que mostra una certa incompatibilitat entre els models d'Internet i el model OSI. Tots els protocols d'enrutament (com ara BGP, OSPF i RIP) també formen part del nivell de xarxa, tot i que ells pertanyen a nivells encara més alts a la pila.

Nivell d'enllaç[modifica | modifica el codi]

La capa d'enllaç no forma part realment de la pila TCP/IP però és el mètode utilitzat per passar paquets de la capa Internet d'un dispositiu a la capa Internet d'un altre. Aquest procés pot ser controlat tant per programari com per maquinari (hardware). D'aquesta manera es realitzen funcions d'enllaç de dades tals com afegir una capçalera al paquet per preparar-lo per a la seva transmissió i enviar-lo posteriorment per un mitjà físic. D'altra banda, la capa d'enllaç s'encarrega de rebre trames de dades, extreure les capçaleres d'aquestes i entregar els paquets rebuts a la capa d'Internet.

Funcionament del TCP/IP[modifica | modifica el codi]

Atès que en un sistema TCP/IP les dades transmeses es divideixen en petits paquets, aquests ressalten una sèrie de característiques.

La tasca de IP és dur els paquets d'un lloc a un altre. Les computadores que troben les vies per a dur les dades d'una xarxa a una altra (denominades enrutadores) utilitzen IP per a traslladar les dades. En resum IP mou els paquets de dades entre les màquines, mentre que TCP s'encarrega del flux de dades i assegura que les dades estiguin correctes.

Mitjançant la pila TCP/IP, es poden compartir els canals de comunicació entre diversos usuaris. Qualsevol tipus de paquet pot transmetre's al mateix temps, i s'ordenarà i combinarà quan arribi a la seva destinació. El funcionament és completament diferent a la manera que es transmet una conversa telefònica: una vegada que s'estableix una connexió telefònica, es reserven alguns circuits per a l'emissor i no podran ser emprats per altres trucades (encara que no s'estigui transmetent res pel telèfon) fins que no hagi acabat la connexió telefònica (és a dir, quan s'hagin penjat els respectius telèfons).

En canvi, en un sistema no orientat a connexió com el TCP/IP, les dades no han d'enviar-se directament entre dues computadores. Cada paquet passa de computadora en computadora fins a arribar a la seva destinació sense que els paquets segueixin necessàriament el mateix camí. Aquest, és clar, és el secret de com es poden enviar dades i missatges entre dues computadores encara que no estiguin connectades directament entre si. El que realment sorprèn és que només es necessiten alguns segons per a enviar un arxiu de bona grandària d'una màquina a una altra, encara que estiguin separades per milers de quilòmetres i malgrat que les dades han de passar per múltiples computadores. Una de les raons de la rapidesa és que, quan alguna cosa camina malament, només és necessari tornar a transmetre un paquet, no tot el missatge.

Com s'ha comentat anteriorment, els paquets no necessiten seguir la mateixa ruta. La xarxa pot dur cada paquet d'un lloc a un altre i usar la connexió més idònia que estigui disponible en aquest instant. No tots els paquets dels missatges han de viatjar, necessàriament, per la mateixa ruta, ni necessàriament han d'arribar tots al mateix temps. La flexibilitat del sistema fa que sigui molt fiable. Si un enllaç es perd, el sistema usa un altre. Quan s'envia un missatge, el protocol TCP divideix les dades en paquets, ordena aquests en seqüència, agrega certa informació per a control d'errors i després els llança cap a fora, i els distribueix. En l'altre extrem, el TCP rep els paquets, verifica si hi ha errors i els torna a combinar per a convertir-los en les dades originals. En cas de produir-se un error en algun punt, el programa TCP destinació envia un missatge sol·licitant que es tornin a enviar el paquet (o paquets) afectats per l'error.

Implementacions[modifica | modifica el codi]

La majoria de sistemes operatius en ús avui en dia, inclosos tots els sistemes dirigits al consumidor, inclouen una implementació de TCP / IP.

Les aplicacions minimament aceptables inclouen la implementació de (de més essencials als menys essencials) IP, ARP, ICMP, UDP, TCP i en algun moment IGMP. En principi, és per donar suport a un dels protocols de transport (és a dir, simples UDP), però es fa poques vegades, ja que limita l'ús de tota la implementació.

IPv6, més enllà de pròpia versió de l'ARP (NBP) i ICMP (ICMPv6), i IGMP (IGMPv6) tenen algunes funcionalitats addicionals requerides i, sovint s'acompanya amb una capa integrada de seguretat IPSec. Altres protocols poden ser fàcilment afegits més tard (sovint que puguin realitzar-se en la seva totalitat en l'espai d'usuari), per exemple DNS per resoldre noms de domini a adreces IP o el client DHCP per a la configuració automàtica d'interfícies de xarxa.

La majoria de les implementacions d'IP són accessibles als programadors que utilitzen l'abstracció socket (utilitzable també amb altres protocols) i API adequada per a la majoria de les operacions. Aquesta interfície es coneix com sockets BSD i va ser utilitzat inicialment al c /

implementacions úniques inclouen Lightweight TCP / IP, una pila de codi obert dissenyat per a sistemes integrats i KA9Q ENS, una pila i protocols associats per a l'aficionat sistemes de paquets de ràdio i ordinadors personals connectades a través de línies sèrie.

Alguns protocols de la pila TCP/IP[modifica | modifica el codi]

  • FTP (File Transfer Protocol). S'utilitza per a transferència d'arxius.
  • SMTP (Simple Mail Transfer Protocol). És una aplicació per al correu electrònic.
  • TELNET: Permet la connexió a una aplicació remota des d'un procés o terminal.
  • RPC (Remote Procedure Call). Permet cridades a procediments situats remotament. S'utilitzen les cridades a RPC com si fossin procediments locals.
  • SNMP (Simple Network Management Protocol). Es tracta d'una aplicació per al control de la xarxa.
  • NFS (Network File System). Permet la utilització d'arxius distribuïts pels programes de la xarxa.
  • X-Windows. És un protocol per al maneig de finestres i interfícies d'usuari

Vegeu també[modifica | modifica el codi]