Pila TCP/IP
De Viquipèdia
Capa | Protocols |
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, ARP, IPX, NetBEUI, X.25 |
Enllaç de dades | ATM, Ethernet, Frame Relay, HDLC, PPP, Token Ring, Wi-Fi |
Física | Cable coaxial, Cable de fibra òptica, Cable de parells trenats, Microones, Ràdio, RS-232 |
* segons el model TCP/IP | |
edita |
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 una dels grans avantatges del TCP/IP, doncs 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.
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 quals donen nom al conjunt.
Taula de continguts |
[edita] Nivells de la pila TCP/IP
L'arquitectura del TCP/IP consta de cinc nivells o capes en les quals s'agrupen els protocols, i que es relacionen amb els nivells OSI de la següent manera:
[edita] Nivell d'aplicació
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 d'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.
[edita] Nivell de transport
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 que 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 complertes, 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 al 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 d'streaming a 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, a 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.
[edita] Nivell d'interxarxa
És el nivell de xarxa del model OSI. Tal i 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 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 cerca 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.
[edita] Nivell d'enllaç
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.
[edita] Nivell físic
Anàleg al nivell físic del OSI.
[edita] Funcionament del TCP/IP
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.
[edita] Alguns protocols de la pila TCP/IP
- 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