Transmission Control Protocol
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 |
Transmission Control Protocol (TCP) ??s un protocol orientat a la connexi?? dintre del nivell de transport del model OSI que permet l'entrega de paquets de manera fiable, en el cas de TCP anomenats segments. Aix?? significa que abans de poder transmetre cap dada, ??s necessari establir una connexi?? entre els dos nodes que es volen comunicar. Un cop establerta la connexi??, el protocol s'encarrega de garantir que les dades arriben de manera correcta, ordenada i sense duplicats al punt de destinaci??. Un cop finalitza la transmissi?? ??s necessari tancar la connexi??. Les aplicacions que utilitzen TCP per comunicar-se no s'han de preocupar de la integritat de la informaci??, no han de fer cap tipus de control d'errors at??s que poden assumir que tot el que reben ??s correcte, el mateix protocol s'encarrega de les tasques de control de flux i d'errors.
La fiabilitat associada a aquest protocol t?? un cost en la quantitat de recursos necessaris que el fan inadequat per alguns usos, com les retransmissions en temps real de v??deo, en qu?? ??s preferible descartar un paquet que no ha arribat o que ho ha fet en mal estat at??s que per a l'emissor pot resultar dif??cil retransmetre'l i per al receptor seria un problema esperar. Per a aquests casos existeix el protocol UDP.
Bit offset | Bits 0???3 | 4???7 | 8???15 | 16???31 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Port origen | Port dest?? | ||||||||||||||||||||||||||||||
32 | N??mero de seq????ncia | |||||||||||||||||||||||||||||||
64 | N??mero d'Acknowledgment | |||||||||||||||||||||||||||||||
96 | Offset dades | Reservat | CWR | ECE | URG | ACK | PSH | RST | SYN | FIN | Finestra | |||||||||||||||||||||
128 | Checksum | Urgent pointer | ||||||||||||||||||||||||||||||
160 | Opcions (opcional) | |||||||||||||||||||||||||||||||
160/192+ | Dades |
[edita] Proc??s de connexi??
- 1.- El client envia una sol??licitud de connexi?? al servidor per mitj?? d'un datagrama amb l'indicador SYN
- 2.- Si el servidor accepta la connexi?? amb el client li envia un datagrama amb els indicadors SYN i ACK
- 3.- El client confirma la connexi?? enviat al servidor un datagrama amb l'indicador ACK.
[edita] Transmissi?? de dades
Durant la transmissi?? de dades es porta a terme un control de congesti?? de la xarxa. Per a aquest control es fan servir combinacions d'algorismes. Un d'aquests algorismes ??s Slow-Start.
[edita] Proc??s de desconnexi??
El final de la connexi?? pot ser a iniciativa del client o del servidor de manera indiferent.
- 1.- Qui desitja finalitzar la connexi?? envia a l'altre un datagrama amb els indicadors FIN i ACK.
- 2.- L'altre li retorna un datagrama amb l'indicador ACK. I tot segit li envia un altre amb els indicadors FIN i ACK.
- 3.- Qui ha iniciat la seq????ncia de desconnexi?? envia un datagrama amb l'indicador ACK.