Protocolo TCP

25
Protocolo TCP Las características del protocolo TCP TCP (que significa Protocolo de Control de Transmisión) es uno de los principales protocolos de la capa de transporte del modelo TCP/IP. En el nivel de aplicación, posibilita la administración de datos que vienen del nivel más 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 anticipación que el protocolo es TCP). TCP es un protocolo orientado a conexión, es decir, que permite que dos máquinas que están comunicadas controlen el estado de la transmisión. Las principales características 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 saturación de la red. TCP permite que los datos se formen en segmentos de longitud variada para "entregarlos" al protocolo IP.

description

tcp

Transcript of Protocolo TCP

Protocolo TCPLas 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 Cliente-Servidor.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.

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.El formato de los datos en TCPUn segmento TCP est formado de la siguiente manera:URG ACK PSH RST SYN FIN

Significado de los diferentes campos:

Puerto de origen (16 bits): Puerto relacionado con la aplicacin en curso en la mquina origenPuerto de destino (16 bits): Puerto relacionado con la aplicacin en curso en la mquina destinoNmero de secuencia (32 bits): Cuando el indicador SYN est fijado en 0, el nmero de secuencia es el de la primera palabra del segmento actual. Cuando SYN est fijado en 1, el nmero de secuencia es igual al nmero de secuencia inicial utilizado para sincronizar los nmeros de secuencia (ISN).Nmero de acuse de recibo (32 bits): El nmero de acuse de recibo, tambin llamado nmero de descargo se relaciona con el nmero (secuencia) del ltimo segmento esperado y no el nmero del ltimo segmento recibido.Margen de datos (4 bits): Esto permite ubicar el inicio de los datos en el paquete. Aqu, el margen es fundamental porque el campo opcin es de tamao variable.Reservado (6 bits): Un campo que actualmente no est en uso pero se proporciona para el uso futuro.Indicadores (6x1 bit): Los indicadores representan informacin adicional:URG: Si este indicador est fijado en 1, el paquete se debe procesar en forma urgente.ACK: Si este indicador est fijado en 1, el paquete es un acuse de recibo.PSH (PUSH): Si este indicador est fijado en 1, el paquete opera de acuerdo con el mtodo PUSH.RST: Si este indicador est fijado en 1, se restablece la conexin.SYN: El indicador SYN de TCP indica un pedido para establecer una conexin.FIN: Si este indicador est fijado en 1, se interrumpe la conexin.Ventana (16 bits): Campo que permite saber la cantidad de bytes que el receptor desea recibir sin acuse de recibo.Suma de control (CRC): La suma de control se realiza tomando la suma del campo de datos del encabezado para poder verificar la integridad del encabezado.Puntero urgente (16 bits): Indica el nmero de secuencia despus del cual la informacin se torna urgente.Opciones (tamao variable): Diversas opcionesRelleno: Espacio restante despus de que las opciones se rellenan con ceros para tener una longitud que sea mltiplo de 32 bits.

Confiabilidad de las transferencias

El protocolo TCP permite garantizar la transferencia de datos confiable, a pesar de que usa el protocolo IP, que no incluye ningn monitoreo de la entrega de datagramas.De hecho, el protocolo TCP tiene un sistema de acuse de recibo que permite al cliente y al servidor garantizar la recepcin mutua de datos. Cuando se emite un segmento, se lo vincula a un nmero de secuencia. Con la recepcin de un segmento de datos, la mquina receptora devolver un segmento de datos donde el indicador ACK est fijado en 1 (para poder indicar que es un acuse de recibo) acompaado por un nmero de acuse de recibo que equivale al nmero de secuencia anterior.

Adems, usando un temporizador que comienza con la recepcin del segmento en el nivel de la mquina originadora, el segmento se reenva cuando ha transcurrido el tiempo permitido, ya que en este caso la mquina originadora considera que el segmento est perdido.

Sin embargo, si el segmento no est perdido y llega a destino, la mquina receptora lo sabr, gracias al nmero de secuencia, que es un duplicado, y slo retendr el ltimo segmento que lleg a destino

Cmo establecer una conexin

Considerando que este proceso de comunicacin, que se produce con la transmisin y el acuse de recibo de datos, se basa en un nmero de secuencia, las mquinas originadora y receptora (cliente y servidor) deben conocer el nmero de secuencia inicial de la otra mquina.La conexin establecida entre las dos aplicaciones a menudo se realiza siguiendo el siguiente esquema:Los puertos TCP deben estar abiertos.La aplicacin en el servidor es pasiva, es decir, que la aplicacin escucha y espera una conexin.La aplicacin del cliente realiza un pedido de conexin al servidor en el lugar donde la aplicacin es abierta pasiva. La aplicacin del cliente se considera "abierta activa".Las dos mquinas deben sincronizar sus secuencias usando un mecanismo comnmente llamado negociacin en tres pasos que tambin se encuentra durante el cierre de la sesin.Este dilogo posibilita el inicio de la comunicacin porque se realiza en tres etapas, como su nombre lo indica:En la primera etapa, la mquina originadora (el cliente) transmite un segmento donde el indicador SYN est fijado en 1 (para indicar que es un segmento de sincronizacin), con nmero de secuencia N llamado nmero de secuencia inicial del cliente.En la segunda etapa, la mquina receptora (el servidor) recibe el segmento inicial que viene del cliente y luego le enva un acuse de recibo, que es un segmento en el que el indicador ACK est fijado en 1 y el indicador SYN est fijado en 1 (porque es nuevamente una sincronizacin). Este segmento incluye el nmero de secuencia de esta mquina (el servidor), que es el nmero de secuencia inicial para el cliente. El campo ms importante en este segmento es el de acuse de recibo que contiene el nmero de secuencia inicial del cliente incrementado en 1.Por ltimo, el cliente transmite un acuse de recibo, que es un segmento en el que el indicador ACK est fijado en 1 y el indicador SYN est fijado en 0 (ya no es un segmento de sincronizacin). Su nmero de secuencia est incrementado y el acuse de recibo representa el nmero de secuencia inicial del servidor incrementado en 1.

Despus de esta secuencia con tres intercambios, las dos mquinas estn sincronizadas y la comunicacin puede comenzar.Existe una tcnica de piratera llamada falsificacin de IP, que permite corromper este enlace de aprobacin con fines maliciososMtodo de ventana corrediza

En muchos casos, es posible limitar la cantidad de acuses de recibo con el fin de aliviar el trfico en la red. Esto se logra fijando un nmero de secuencia despus del cual se requiera un acuse de recibo. Este nmero en realidad se guarda en el campo ventana del encabezado TCP/IP.Este mtodo se llama efectivamente el "el mtodo de la ventana corrediza" porque, en cierta medida, se define una serie de secuencias que no necesitan acuses de recibo y que se desplaza a medida que se reciben los acuses de recibo.

Adems, el tamao de esta ventana no es fijo. De hecho, el servidor puede incluir el tamao de la ventana que considera ms apropiado en sus acuses de recibo guardndolo en el campo ventana. De este modo, cuando el acuse de recibo indica un pedido para aumentar la ventana, el cliente se desplazar al borde derecho de la ventana.

Por el contrario, en el caso de una reduccin, el cliente no desplazar el borde derecho de la ventana hacia la izquierda sino que esperar que avance el borde izquierdo (al llegar los acuses de recibo).

Cmo terminar una conexin

El cliente puede pedir que se termine una conexin del mismo modo que el servidor. Para terminar una conexin se procede de la siguiente manera:Una de las mquinas enva un segmento con el indicador FIN fijado en 1, y la aplicacin se autocoloca en estado de espera, es decir que deja de recibir el segmento actual e ignora los siguientes.Despus de recibir este segmento, la otra mquina enva un acuse de recibo con el indicador FIN fijado en 1 y sigue enviando los segmentos en curso. Despus de esto, la mquina informa a la aplicacin que se ha recibido un segmento FIN y luego enva un segmento FIN a la otra mquina, que cierra la conexin.Protocolo XOT / X25XOT es un protocolo que permite la transmisin transparente de paquetes X.25 sobre redes TCP/IP, por medio de la encapsulacin de los mismos en paquetes TCP. Desarrollado inicialmente por Cisco Systems, el protocolo XOT fue estandarizado ms tarde bajo la RFC1613.

Ventajas de XOT Son muchos los clientes actuales de servicios de comunicacin X.25: bancos, compaas de servicios financieros, agencias de viajes, aeropuertos, loteras, operadores de telecomunicaciones Todos ellos han realizado una gran inversin en la base instalada de equipos y dispositivos X.25. Estos clientes son estratgicos para los proveedores de servicios de telecomunicaciones, por cuanto estn dispuestos a pagar un sobrecoste para asegurarse una alta disponibilidad y prestaciones del servicio. Sin embargo, X.25 es ya una tecnologa antigua, por lo que muchos proveedores estn dejando de fabricar dispositivos que la soporten, lo cual conlleva que cada vez sea ms difcil y ms caro disponer de los correspondientes repuestos y servicios de mantenimiento. Esto hace que cada vez sea ms difcil para los mismos proveedores de servicios mantener la red X.25 y sobre todo los niveles de soporte que normalmente requieren sus clientes estratgicos, y en consecuencia, que estos ltimos tengan que pagar cada vez un precio ms alto por los servicios de comunicacin X.25.

Una solucin podra ser utilizar una red de comunicaciones alternativa, como podra ser una red MPLS, pero no resulta beneficiosa ni para los clientes ni para los proveedores del servicio. Para los primeros, representara iniciar una fase de migracin que supondra muchos cortes y por lo tanto muchas indisponibilidades de los servicios finales. Para los segundos, porque el aspecto anterior podra ser aprovechado por sus clientes para buscar proveedores alternativos. Adems, no siempre es totalmente factible la migracin, por cuanto determinados elementos de red o sistemas no pueden ser migrados a otros tipos de comunicaciones ya que sus proveedores no lo soportan.La solucin ideal sera entonces aquella que permitiese que, respetando la base instalada de equipos terminales de los clientes, se soportase el servicio de comunicaciones entre ellos en las redes de banda ancha IP ampliamente desplegadas, de manera totalmente transparente a los clientes. Esta solucin sera tambin ms efectiva en coste para los proveedores de servicios, pues abaratara los costes de mantenimiento y homogeneizara sus servicios de comunicaciones. El protocolo XOT lo hace posible.Norma x.25X.25 es un estndar ITU-T para redes de rea amplia de conmutacin de paquetes. Su protocolo de enlace, LAPB, est basado en el protocolo HDLC (publicado por ISO, y el cual a su vez es una evolucin del protocolo SDLC de IBM). Establece mecanismos de direccionamiento entre usuarios, negociacin de caractersticas de comunicacin, tcnicas de recuperacin de errores. Los servicios pblicos de conmutacin de paquetes admiten numerosos tipos de estaciones de distintos fabricantes. Por lo tanto, es de la mayor importancia definir la interfaz entre el equipo del usuario final y la red. X.25 est orientado a la conexin y trabaja con circuitos virtuales tanto conmutados como permanentes. En la actualidad se trata de una norma obsoleta con utilidad puramente acadmica.La norma X.25 es el estndar para redes de paquetes recomendado por CCITT, el cual emiti el primer borrador en 1974. Este original fue en 1976, en 1978, en 1980 y en 1984, para dar lugar al texto definitivo publicado en 1985. El documento inicial inclua una serie de propuestas sugeridas por Datapac, Telenet y Tymnet, tres nuevas redes de conmutacin de paquetes.

La X.25 se define como la interfaz entre equipos terminales de datos y equipos de terminacin del circuito de datos para terminales que trabajan en modo paquete sobre redes de datos pblicas. Las redes utilizan la norma X.25 para establecer los procedimientos mediante los cuales dos ETD que trabajan en modo paquete se comunican a travs de la red. Este estndar pretende proporcionar procedimientos comunes de establecimiento de sesin e intercambio de datos entre un ETD y una red de paquetes (ETCD). Entre estos procedimientos se encuentran funciones como las siguientes: identificacin de paquetes procedentes de ordenadores y terminales concretos, asentimiento de paquetes, rechazo de paquetes, recuperacin de errores y control de flujo. Adems, X.25 proporciona algunas facilidades muy tiles, como por ejemplo en la facturacin a estaciones ETD distintas de la que genera el trfico.

Dentro de la perspectiva de X.25, una red opera en gran parte como un sistema telefnico. Una red X.25 se asume como si estuviera formada por complejos conmutadores de paquetes que tienen la capacidad necesaria para el enrutamiento de paquetes. Los anfitriones no estn comunicados de manera directa a los cables de comunicacin de la red, sino que cada anfitrin se comunica con uno de los conmutadores de paquetes por medio de una lnea de comunicacin serial. En cierto sentido la comunicacin entre un anfitrin y un conmutador de paquetes X.25 es una red miniatura que consiste en un enlace serial. El anfitrin puede seguir un complicado procedimiento para transferir sus paquetes hacia la red.

El estndar X.25 no incluye algoritmos de enrutamiento, pero conviene resaltar que, aunque las interfaces ETD/ETCD de ambos extremos de la red son independientes una de otra, X.25 interviene desde un extremo hasta el otro, ya que el trfico seleccionado se enruta al final. A pesar de ello, el estndar recomendado es asimtrico, ya que slo se define un lado de la interfaz con la red (ETD/ETCD).

x.25 y su relacin con el modelo iso

El modelo de interconexin de sistemas abiertos ha sido la base para la implementacin de varios protocolos. Entre ellos, el conjunto de protocolos conocido como X.25 es probablemente el mejor conocido y el ms ampliamente utilizado. X.25 fue establecido como una recomendacin de la ITU-TS (Telecommunications Section de la International Telecommunications Union), una organizacin internacional que recomienda estndares para los servicios telefnicos internacionales. X.25 ha sido adoptado para las redes pblicas de datos y es especialmente popular en Europa. X.25 es un protocolo que se basa en las primeras tres capas del modelo OSI.Niveles de la norma x.25Nivel fsico:La recomendacin X.25 para el nivel de paquetes coincide con una de las recomendaciones del tercer nivel OSI. X.25 abarca el tercer nivel y tambin los dos niveles ms bajos. La interfaz de nivel fsico recomendado entre el ETD y el ETCD es el X.21. X.25 asume que el nivel fsico X.21 mantiene activados los circuitos T(transmisin) y R(recepcin) durante el intercambio de paquetes. Asume tambin, que el X.21 se encuentra en estado 13S(enviar datos), 13R(recibir datos) o 13(transferencia de datos). Supone tambin que los canales C(control) e I(indicacin) de X.21 estn activados. Por todo esto X.25 utiliza la interfaz X.21 que une el ETD y el ETCD como un "conducto de paquetes", en el cual los paquetes fluyen por las lneas de transmisin(T) y de recepcin(R). El nivel fsico de X.25 no desempea funciones de control significativas. Se trata ms bien de un conducto pasivo, de cuyo control se encargan los niveles de enlace y de red.

Nivel de enlace:En X.25 se supone que el nivel de enlace es LAPB. Este protocolo de lnea es un conjunto de HDLC. LAPB y X.25 interactan de la siguiente forma: En la trama LAPB, el paquete X.25 se transporta dentro del campo I(informacin). Es LAPB el que se encarga de que lleguen correctamente los paquetes X.25 que se transmiten a travs de un canal susceptible de errores, desde o hacia la interfaz ETD/ETCD. La diferencia entre paquete y trama es que los paquetes se crean en el nivel de red y se insertan dentro de una trama, la cual se crea en nivel de enlace. Para funcionar bajo el entorno X.25, LAPB utiliza informacin(I), Receptor Preparado(RR), Rechazo(REJ), Receptor No Preparado(RNR), Desconexin(DSC), Activar Modo de Respuesta Asncrono(SARM) y Activar Modo Asncrono Equilibrado(SABM). Las respuestas utilizadas son las siguientes: Receptor Preparado(RR), Rechazo(REJ), Receptor No Preparado(RNR), Asentimiento No Numerado(UA), Rechazo de Trama(FRMR) y Desconectar Modo(DM). Los datos de usuario del campo I no pueden enviarse como respuesta. De acuerdo con las reglas de direccionamiento HDLC, ello implica que las tramas I siempre contendrn la direccin de destino con lo cual se evita toda posible ambigedad en la interpretacin de la trama. X.25 exige que LAPB utilice direcciones especficas dentro del nivel de enlace. Tanto X.25 como LAPB utilizan nmeros de envo(S) y de recepcin(R) para contabilizar el trfico que atraviesan sus respectivos niveles. En LAPB los nmeros se denotan como N(S) y N(R), mientras que en X.25 la notacin de los nmeros de secuencia es P(S) y P(R). Es un protocolo de red, para la conmutacin de paquetes.Servicio de circuito vital:El servicio de circuito virtual de X.25 ofrece dos tipos de circuitos virtuales: llamadas virtuales y circuitos virtuales permanentes. Una llamada virtual es un circuito virtual que se establece dinmicamente mediante una peticin de llamada y una liberacin de llamada. Un circuito virtual permanente es un circuito virtual fijo asignado en la red. La transferencia de los datos se produce como con las llamadas virtuales, pero en este caso no se necesita realizar ni el establecimiento ni el cierre de la llamada.

Escenarios de migracin X.25 a XOT

El mdulo IAPXOT permite varios niveles de migracin, desde una migracin parcial para la eliminacin de tarjetas X.25 en un extremo, hasta una migracin completa por la eliminacin total del protocolo X.25 en las comunicaciones extremo a extremo. El nivel de migracin a elegir depende principalmente de la situacin de cada cliente. La siguiente figura muestra una situacin convencional de comunicaciones X.25.

En general, se trata de aplicaciones de tipo cliente/servidor que, por razones histricas, utilizan una red X.25 para el transporte de datos. Muchas veces el protocolo X.25 es el nico soportado por el proveedor de hardware, por tanto una migracin a redes ms modernas est limitada por el hardware/ firmware de los mismos equipos/elementos de red (esto es lo que ocurre, por ejemplo, en el sector de las Telecomunicaciones con las centrales de conmutacin de voz).Desventajas: Requiere tarjetas X.25 (hardware especfico) y software X.25 (licencias) en todos los equipos hardware que necesitan comunicarse a travs de X.25. Implica una configuracin costosa y relativamente compleja. Necesita una red X.25 (o lneas X.25 punto-a-punto). Velocidades limitadas de transmisin de datos. El punto de acceso a la red X.25 tiene que estar cerca de los servidores de las aplicaciones (el interfaz fsico admite una distancia L mxima limitada). Difcil migracin a otras plataformas hardware de mejores prestaciones y precio por la necesidad de soporte de comunicaciones X.25. Difcil soportar una alta disponibilidad (Cluster, mltiples accesos, etc.) en las comunicaciones.Escenario 1: Eliminacin de X.25 en un lado de la red Una aplicacin tpica del mdulo software IAPXOT es para la eliminacin, en un lado de la red, de la(s) tarjeta(s) y del software X.25, sin que ello implique tener que cambiar la red ni los otros elementos de red. Un escenario habitual en el que aplica esta estrategia es aquel en el que existen elementos de red de cierta antigedad que slo soportan conexiones X.25, mientras que los otros elementos de la red (sistemas de gestin, etc.) son de arquitectura ms moderna y soportan el protocolo TCP/IP.

Ventajas Se eliminan tarjetas y software X.25. No hace falta que el punto de acceso a la red X.25 est cerca de los servidores de las aplicaciones. Posibilidad de compartir una lnea X.25 por varios servidores. Fcil migracin a otras plataformas hardware de mejores prestaciones y precio por no depender de un soporte de comunicaciones X.25. Mayor posibilidad de alta disponibilidad en las comunicaciones.Escenario 2: Eliminacin de la red X.25 En esta situacin, slo se mantiene X.25 en los elementos de red que nicamente soportan conexiones con dicho protocolo, en el resto de los elementos se eliminan las tarjetas X.25 y su correspondiente software, y se aade el mdulo software IAPXOT. Adems se cambia la red X.25 por una red TCP/IP

Un ejemplo tpico es el de proveedores de servicio de conmutacin de voz que poseen centrales de conmutacin con cierta antigedad que slo ofrecen conexiones X.25 y que optan por eliminar el protocolo X.25 y la necesidad de una red X.25.Ventajas Las mismas que en el caso anterior, y adems: Reduccin considerable de gastos de alquiler de lneas X.25 por la eliminacin de la red X.25. Simplificacin y mayor flexibilidad en la red de transporte de datos. Reduccin en gastos de mantenimiento. Posible incremento en la velocidad de transmisin de datos.Escenario 3:Eliminacin completa de X.25 Es el caso en que todos los elementos de la red soportan el protocolo TCP/IP y por tanto se pueden eliminar el protocolo y los accesos X.25 por completo, introduciendo el mdulo IAPXOT en todos los sistemas sin necesidad de realizar cambios importantes en el software de los mismos.

Ventajas Las mismas ventajas que en las situaciones anteriores, y adems: No hacen falta routers XOT. Mayor simplificacin y flexibilidad de la red de transporte de datos. Mayor reduccin en gastos de mantenimiento. Mayor incremento en la velocidad extremo a extremo de transmisin de datos.