Vous êtes sur la page 1sur 8

Protocolo TCP

Artculo Tabla de contenidos

Las caractersticas del protocolo TCP


TCP (que significa Protocolo de Control de Transmisin) es uno de los principales
protocolos de la capa de transporte del modelo TCP/IP. En el nivel de aplicacin, posibilita
la administracin de datos que vienen del nivel ms bajo del modelo, o van hacia l, (es
decir, el protocolo IP). Cuando se proporcionan los datos al protocolo IP, los agrupa en
datagramas IP, fijando el campo del protocolo en 6 (para que sepa con anticipacin que el
protocolo es TCP). TCP es un protocolo orientado a conexin, es decir, que permite que dos
mquinas que estn comunicadas controlen el estado de la transmisin.
Las principales caractersticas del protocolo TCP son las siguientes:

TCP permite colocar los datagramas nuevamente en orden cuando vienen del
protocolo IP.
TCP permite que el monitoreo del flujo de los datos y as evita la saturacin de la
red.

TCP permite que los datos se formen en segmentos de longitud variada para
"entregarlos" al protocolo IP.

TCP permite multiplexar los datos, es decir, que la informacin que viene de
diferentes fuentes (por ejemplo, aplicaciones) en la misma lnea pueda circular
simultneamente.

Por ltimo, TCP permite comenzar y finalizar la comunicacin amablemente.

El objetivo de TCP
Con el uso del protocolo TCP, las aplicaciones pueden comunicarse en forma segura
(gracias al sistema de acuse de recibo del protocolo TCP) independientemente de las capas
inferiores. Esto significa que los routers (que funcionan en la capa de Internet) slo tienen
que enviar los datos en forma de datagramas, sin preocuparse con el monitoreo de datos
porque esta funcin la cumple la capa de transporte (o ms especficamente el protocolo
TCP).
Durante una comunicacin usando el protocolo TCP, las dos mquinas deben establecer una
conexin. La mquina emisora (la que solicita la conexin) se llama cliente, y la mquina
receptora se llama servidor. Por eso es que decimos que estamos en un entorno ClienteServidor.
Las mquinas de dicho entorno se comunican en modo en lnea, es decir, que la
comunicacin se realiza en ambas direcciones.

Para posibilitar la comunicacin y que funcionen bien todos los controles que la
acompaan, los datos se agrupan; es decir, que se agrega un encabezado a los paquetes de
datos que permitirn sincronizar las transmisiones y garantizar su recepcin.
Otra funcin del TCP es la capacidad de controlar la velocidad de los datos usando su
capacidad para emitir mensajes de tamao variable. Estos mensajes se llaman segmentos.

Ventajas e inconvenientes [editar]


El conjunto TCP/IP est diseado para enrutar y tiene un grado muy elevado de fiabilidad,
es adecuado para redes grandes y medianas, as como en redes empresariales. Se utiliza a
nivel mundial para conectarse a Internet y a los servidores web. Es compatible con las
herramientas estndar para analizar el funcionamiento de la red.
Un inconveniente de TCP/IP es que es ms difcil de configurar y de mantener que
NetBEUI o IPX/SPX; adems es algo ms lento en redes con un volumen de trfico medio
bajo. Sin embargo, puede ser ms rpido en redes con un volumen de trfico grande donde
haya que enrutar un gran nmero de tramas.
El conjunto TCP/IP se utiliza tanto en redes empresariales como por ejemplo en campus
universitarios o en complejos empresariales, en donde utilizan muchos enrutadores y
conexiones a mainframe o a ordenadores UNIX, como as tambin en redes pequeas o
domsticas, y hasta en telfonos mviles y en domtica.

La funcin multiplexin
TCP posibilita la realizacin de una tarea importante: multiplexar/demultiplexar; es decir
transmitir datos desde diversas aplicaciones en la misma lnea o, en otras palabras, ordenar
la informacin que llega en paralelo.

Estas operaciones se realizan empleando el concepto de puertos (o conexiones), es decir, un


nmero vinculado a un tipo de aplicacin que, cuando se combina con una direccin de IP,
permite determinar en forma exclusiva una aplicacin que se ejecuta en una mquina
determinada.

Capa de Acceso a la Red


Los protocolos de esta capa proporcionan al sistema los medios para enviar los datos a
otros dispositivos conectados a la red. Es en esta capa donde se define como usar la red
para enviar un datagrama. Es la nica capa de la pila cuyos protocolos deben conocer los
detalles de la red fsica. Este conocimiento es necesario pues son estos protocolos los que
han de dar un formato correcto a los datos a transmitir, de acuerdo con las restricciones que
nos imponga, fsicamente, la red.
Las principales funciones de los protocolos definidos en esta capa son:

Encapsulacin de los datagramas dentro de los marcos a transmitir por


la red.
Traduccin de las direcciones IP a las direcciones fsicas de la red.

Capa de Internet
El protocolo mas importante de esta capa y piedra base de toda la Internet es el IP. Este
protocolo proporciona los servicios bsicos de transmisin de paquetes sobre los cuales se
construyen todas las redes TCP/IP. Las funciones de este protocolo incluyen:

Definir del datagrama, que es la unidad bsica de transmisin en


Internet.
Definir el esquema de direccionamiento de Internet.

Mover los datos entre la capa de acceso a red y la capa de transporte.

Encauzar los datagramas hacia sistemas remotos. (Routing)

Realizar la fragmentacin y re-ensamblaje de los datagramas.

El protocolo IP es un "protocolo sin conexin", es decir, no intercambia informacin de


control para establecer una conexin antes de enviar los datos. En caso de que dicha
conexin fuese necesaria, el IP delegar tal labor en protocolos de otras capas.
Este protocolo tampoco realiza deteccin de errores o recuperacin de datos ante los
mismos.
Los protocolos TCP/IP fueron diseados para el intercambio de datos en ARPANET, que
era una red de intercambio de paquetes. Un paquete es un bloque de datos que lleva consigo
la informacin necesaria para enviarlo. Para aclarar esto podramos comparar un paquete
con una tarjeta postal, en la que no solo escribimos un mensaje sino que adems aadimos
los datos pertinentes para que llegue a su destinatario, nombre, direccin, etc.

Una red de intercambio de paquetes usa esta informacin para cambiar los paquetes de una
red a otra movindolos hacia su destino final. Cada paquete navega por la red
independientemente de cualquier otro paquete.
El datagrama es el formato del paquete que define el IP. Un datagrama consta de dos partes,
la cabecera y los datos.
Estructura de un paquete IPv4
Bits 0 - 3

4-7

Longitud
Versin Encabeza
do IP

8 - 15

16 - 18

Tipo de servicio

Identificacin
Tiempo de vida

Longitud Total

Flags

Protocolo

19 - 31

Offset del
fragmento

Chequeo de cabecera

Direccin de origen
Direccin de destino
Opciones

Datos

A la hora de enviar un datagrama, el IP comprueba la direccin de destino. Aqu nos surgen


dos posibilidades:
1. Que el destino sea una maquina de la red local. En este caso se enva el
datagrama directamente a dicha maquina y listo.
2. Que el destino sea una maquina perteneciente a otra red fsica. En este
caso el IP encauzara el datagrama a travs de gateways hacia su
destino. El termino ingles de este encauzamineto, normalmente mas
usado que el espaol, es routing.

Con la segunda posibilidad surge un problema ms. Puesto que el datagrama va a atravesar
distintas redes fsicas, puede darse el caso de que su tamao no sea adecuado para la
transmisin a travs de estas redes, pues cada tipo de red define un tamao mximo para los
paquetes que pueden circular por ella.
En este caso, cuando llegue al gateway, el IP fragmentar el datagrama en piezas mas
pequeas, y a efectos de facilitar su ensamblaje posterior en la cabecera de cada pieza

resultante se especificar a que datagrama pertenece y que posicin tiene la pieza dentro del
datagrama. Para el ensamblaje de las piezas se comprueban estos campos de la cabecera y
otro mas en el que se indica si hay mas fragmentos que ensamblar o no.
Una vez que el datagrama llega a la maquina de destino, y en concreto a la capa de Internet,
el IP habr de enviarlo al protocolo correspondiente de la capa de transporte. Los
protocolos de dicha capa tienen asignados unos nmeros que los identifican y que quedan
registrados en la cabecera del datagrama.
Otro protocolo definido en la capa de Internet es el ICMP, protocolo de control de mensajes
en Internet. Dicho protocolo usa el sistema de envo de mensajes del IP para enviar sus
propios mensajes.
Los mensajes enviados por este protocolo realizan las siguientes funciones:

Control de flujo: Cuando los datagramas llegan demasiado rpido a una


maquina, de forma que esta no tiene tiempo para procesarlos, el ICMP
de dicha maquina enviar al emisor de los datagramas un mensaje para
que detenga el envo temporalmente.
Deteccin de destinos inalcanzables: Cuando no se puede alcanzar la
direccin de destino de un datagrama, la mquina que detecta el
problema enva a la direccin de origen de ese datagrama un mensaje
notificando dicha situacin.

Redireccion de rutas: Cuando a un gateway, le llega un datagrama a


enviar a una mquina, y existe otro gateway que resulta ser una opcin
mejor para enviar dicho datagrama, el primer gateway enva al emisor
un mensaje comunicndole dicha situacin para que el envo se haga a
travs del segundo gateway.

Chequeo de sistemas remotos: Una mquina que necesite saber si otra


mquina de otra red est conectada y operacional le enviara un
mensaje, llamado echo, que la otra mquina devolver si est conectada
y operacional. El comando ping de Unix utiliza este protocolo.

Capa de transporte
Los dos protocolos ms importantes de esta capa son el TCP y el UDP. El primero se
encarga de los servicios de envo de datos con deteccin y correccin de errores. El UDP
proporciona servicios de envo de datagramas sin conexin.
El protocolo UDP proporciona a los programas de aplicacin acceso directo al envo de
datagramas, parecido al servicio que proporciona el IP. Este permite a las aplicaciones
intercambiar mensajes con un mnimo de supervisin por parte del protocolo.
Este protocolo se usa principalmente en:

Envo de pequeas cantidades de datos, pues seria mas costoso


supervisar el establecimiento de conexiones y asegurar un envo
fidedigno que retransmitir el conjunto de datos completo.
Aplicaciones que se ajustan al modelo "pregunta-respuesta". La
respuesta se puede usar como una confirmacin a la pregunta. Si no se
recibe respuesta, en un cierto periodo de tiempo, la aplicacin,
simplemente, vuelve a enviar la pregunta.
Aplicaciones que tienen su propio sistema de verificar que el envo de
datos ha sido fidedigno y no requieren este servicio de los protocolos de
la capa de transporte.

Las aplicaciones que requieren de la capa de transporte un servicio de transmisin de datos


fidedigno, usan el protocolo TCP. Este protocolo verifica que los datos se enven a travs de
la red adecuadamente y en la secuencia apropiada. Las caractersticas de este protocolo son:

Fiabilidad.
Orientado a la conexin y al flujo de datos.

Para lograr la fiabilidad, el TCP, se basa en un mecanismo de confirmacin positiva con


retransmisin (PAR, del ingls, Positive Acknowledgement with Retransmision).
Bsicamente, este mecanismo consiste en que el emisor enve los datos una y otra vez,
hasta que reciba una confirmacin de la llegada de los datos en perfecto estado.
Cada segmento de datos contiene un campo de chequeo que el sistema receptor usa para
verificar la integridad de los datos. Para cada segmento recibido correctamente se enva una
confirmacin. Los segmentos daados se eliminan. Tras un cierto periodo de tiempo, el
emisor, volver a enviar todos aquellos segmentos para los que no ha recibido
confirmacin.
El protocolo TCP es un protocolo orientado a la conexin. Este protocolo establece una
conexin entre las dos mquinas que se comunican. Se intercambia informacin de control
antes y despus de la transmisin de los datos.
El TCP ve los datos que enva como un flujo continuo de bytes, no como paquetes
independientes. Debido a esto, es necesario enviarlos en la secuencia adecuada. El TCP, se
cuida de mantener esta secuencia mediante los campos de nmero de secuencia y nmero
de confirmacin de la cabecera de segmento.
En el paso, de informacin de control, que realiza el TCP, antes de establecer la conexin,
se intercambian tres paquetes. Dicho intercambio se denomina "apretn a tres vas".
En el primer segmento, el emisor comunica al receptor, el nmero inicial de su secuencia.
Esto se realiza poniendo este nmero en el campo nmero de secuencia de la cabecera del
segmento, y activando el bit de sincronizacin de nmeros de secuencia.

Cuando este segmento llega al receptor este contesta enviando:

Su propio nmero inicial de secuencia, en el campo de nmero de


secuencia y activando el bit de sincronizacin.
La confirmacin de recepcin, indicando en el campo de confirmacin el
nmero inicial de secuencia del emisor y activando el bit de
confirmacin.

Cuando este segundo segmento llega al emisor este confirma la recepcin del mismo
enviando un tercer segmento con el nmero de inicio de secuencia del receptor en el campo
de nmero de confirmacin y el bit de confirmacin activado.
En este momento, el emisor tiene plena conciencia de que la maquina receptora esta
operacional y lista para recibir sus datos, as pues se inicia el envo de los mismos.
Segn se van recibiendo datos, el receptor ir indicando al emisor la correcta recepcin de
los mismos. Esto se realiza peridicamente, enviando al emisor un segmento con el bit de
confirmacin activado y el nmero de secuencia del ultimo byte recibido correctamente. De
esta forma nos evitamos el tener que enviar una confirmacin con cada byte recibido.
En el campo de ventana de la cabecera de este mismo segmento se indica el nmero de
bytes que el receptor es capaz de aceptar. Este nmero indica al emisor que puede continuar
enviando segmentos siempre y cuando la longitud en bytes de estos sea inferior al tamao
de la ventana. Un tamao de ventana cero indicar al emisor que detenga el envo de
segmentos hasta recibir un segmento con tamao de ventana mayor que cero.
Cuando el emisor termina de enviar los datos se establece otro "apretn a tres vas" que
difiere del que ha tenido lugar como inicio de la conexin nicamente, en que en vez de
llevar activado el bit de sincronizacin, los segmentos llevaran activado el bit de fin de
transmisin de datos.
El TCP es tambin responsable de enviar los datos recibidos a la aplicacin correcta. La
aplicacin a la que se destina los datos esta identificada por un nmero de 16 bits llamado
nmero de puerto. El nmero de puerto, tanto del origen como del destino, se especifica en
la cabecera de cada segmento.

Capa de aplicacin
En esta capa se incluyen los procesos que usan los protocolos de la capa de transporte. Hay
muchos protocolos de aplicacin La mayor parte proporcionan servicios de usuario y
constantemente se aaden nuevos servicios. Algunos de los protocolos mas conocidos de
esta capa son:

Telnet: Protocolo que permite la conexin remota de terminales.


FTP: Utilizado para efectuar transferencias interactivas de ficheros.

SMTP: Este es el protocolo que nos permite enviar correo a travs de la


red.

Estos tres protocolos hacen uso de los servicios orientados a la conexin del TCP.
Algunos protocolos que, en cambio, usan los servicios del UDP son:

DNS: Protocolo que traduce en direcciones IP los nombres asignados a


los dispositivos de la red.
NFS: Protocolo que permite la comparticin de ficheros por distintas
maquinas de una red.
RIP: Utilizado por los dispositivos de la red para intercambiar
informacin relativa a las rutas a seguir por los paquetes.

Anexos
http://www.mice.cs.ucl.ac.uk/multimedia/software/vic/

http://www.faqs.org/rfcs/rfc1889.html

http://www.advanced.org/IPPM/

http://www.cse.ohio-state.edu/~jain/cis788-99/ftp/ip_dwdm/