Sunteți pe pagina 1din 65

Redes de Comunicaciones

Tema Profesor Integrantes o o o o o Seccin Fecha : Nivel de Transporte TCP, UDP, SCTP

Ing. Oscar Ricardo Lpez Lpez

: 2006203394 2006127751 2001112860 1998233520 2001116623

Alegra Juscamaita, Catherine Nathalie Barraza Chenda, Estefani Montenegro Marcial , Gustavo Pezo Prez, Evelyn Madelaine Suasnabar Reyes, Jessica : 41I

19 de octubre de 2011

La Molina, 2011

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Tabla de Contenido
1. 2. 3. 4. 5. 6. 7. 7.1. 7.2. 7.3. 8. 9. 10. INTRODUCCIN ........................................................................................................................... 2 BREVE RESEA ...................................................................................................................... 3 Modelo OSI ................................................................................................................................ 3 Modelo TCP/IP .......................................................................................................................... 4 Capa de Trasporte.................................................................................................................... 5 Control de las conversaciones ............................................................................................. 12 Soporte de comunicacin confiable ..................................................................................... 14 Protocolos de la Capa de Transporte.................................................................................. 15 UDP ...................................................................................................................................... 15 TCP ....................................................................................................................................... 26 SCTP .................................................................................................................................... 45 Comparacin entre TCP-UDP-SCTP ................................................................................. 54 Similitudes entre TCP y SCTP ............................................................................................. 55 Diferencias entre TCP y SCTP ......................................................................................... 56

EN RESUMEN ................................................................................................................................ 58 CONCLUSIONES ........................................................................................................................... 59 RECOMENDACIONES.................................................................................................................. 62 BIBLIOGRAFIA ............................................................................................................................... 64

| Facultad de Ingeniera y Arquitectura 1

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

INTRODUCCIN

El objetivo de este trabajo es un estudio de las caractersticas y del desempeo del protocolo SCTP (Stream Control Transmission Protocol) y contrastarlo con los protocolos clsicos de la capa de transporte. SCTP es un protocolo que trabaja en la capa de transporte, el cual diferencia de TCP que permite crear un solo canal de transmisin, con SCTP se puede crear diversos canales de conexin que trabajan en paralelo, de esta manera la transmisin es ms rpida entre cliente y servidor. Todo el trabajo se realiza con aplicaciones existentes que funcionan bajo el entorno de Linux con el objetivo de mostrar los beneficios al usar SCTP en lugar de TCP, adems se muestran herramientas tiles para crear aplicaciones que trabajen sobre SCTP.

| Facultad de Ingeniera y Arquitectura 2

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

NIVEL DE TRANSPORTE TCP, UDP, SCTP

1. BREVE RESEA
A principios de 1980 el desarrollo de redes surgi con desorden en muchos sentidos. Se produjo un enorme crecimiento en la cantidad y tamao de las redes. A medida que las empresas tomaron conciencia de las ventajas de usar tecnologas de conexin, las redes se agregaban o expandan a casi la misma velocidad a la que se introducan las nuevas tecnologas de red. Para mediados de 1980, estas empresas comenzaron a sufrir las consecuencias de la rpida expansin. De la misma forma en que las personas que no hablan un mismo idioma tienen dificultades para comunicarse, las redes que utilizaban diferentes especificaciones e implementaciones tenan dificultades para intercambiar informacin. El mismo problema surga con las empresas que desarrollaban tecnologas de conexiones privadas o propietarias. "Propietario" significa que una sola empresa o un pequeo grupo de empresas controlan todo uso de la tecnologa. Las tecnologas de conexin que respetaban reglas propietarias en forma estricta no podan comunicarse con tecnologas que usaban reglas propietarias diferentes. Para enfrentar el problema de incompatibilidad de redes, la Organizacin Internacional para la Estandarizacin (ISO) investig modelos de conexin como la red de Digital Equipment Corporation (DECnet), la Arquitectura de Sistemas de Red (Systems Network Architecture) y TCP/IP a fin de encontrar un conjunto de reglas aplicables de forma general a todas las redes. Con base en esta investigacin, la ISO desarroll un modelo de red que ayuda a los fabricantes a crear redes que sean compatibles con otras redes.

2. Modelo OSI
Siguiendo el esquema de este modelo se crearon numerosos protocolos. El advenimiento de protocolos ms flexibles donde las capas no estn tan demarcadas

| Facultad de Ingeniera y Arquitectura 3

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

y la correspondencia con los niveles no era tan clara puso a este esquema en un segundo plano. Sin embargo es muy usado en la enseanza como una manera de mostrar cmo puede estructurarse una "pila" de protocolos de comunicaciones. El modelo especifica el protocolo que debe ser usado en cada capa, y suele hablarse de modelo de referencia ya que es usado como una gran herramienta para la enseanza de comunicacin de redes. Este modelo est dividido en siete capas:

Capa de aplicacin Capa de presentacin Capa de sesin Capa de transporte Capa de red

Capa de enlace de datos Capa fsica

3. Modelo TCP/IP
El modelo TCP/IP es un modelo de descripcin de protocolos de red creado en la dcada de 1970 por DARPA, una agencia del Departamento de Defensa de los Estados Unidos. Evolucion de ARPANET, el cual fue la primera red de rea amplia y predecesora de Internet. EL modelo TCP/IP se denomina a veces como Internet Model, Modelo DoD o Modelo DARPA. El modelo TCP/IP, describe un conjunto de guas generales de diseo e implementacin de protocolos de red especficos para permitir que una computadora pueda comunicarse en una red. TCP/IP provee conectividad de extremo a extremo especificando como los datos deberan ser formateados, direccionados, transmitidos, enrutados y recibidos por el destinatario. Existen protocolos para los diferentes tipos de servicios de comunicacin entre computadoras.

| Facultad de Ingeniera y Arquitectura 4

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

TCP/IP tiene cuatro capas de abstraccin segn se define en el RFC 1122. Capa 4 o capa de aplicacin Capa 3 o capa de transporte Capa 2 o capa de red Capa 1 o capa de enlace

4. Capa de Trasporte
El nivel de transporte o capa transporte es el cuarto nivel del modelo OSI encargado de la transferencia libre de errores de los datos entre el emisor y el receptor, aunque no estn directamente conectados, as como de mantener el flujo de la red. Es la base de toda la jerarqua de protocolo. La tarea de esta capa es proporcionar un transporte de datos confiable y econmico de la mquina de origen a la mquina destino, independientemente de la red de redes fsica en uno. Sin la capa transporte, el concepto total de los protocolos en capas tendra poco sentido. Capa encargada de efectuar el transporte de los datos (que se encuentran dentro del paquete) de la mquina origen a la de destino, independizndolo del tipo de red fsica que se est utilizando. La PDU de la capa 4 se llama Segmento o Datagrama, dependiendo de si corresponde a TCP o UDP. Sus protocolos son TCP y UDP; el primero orientado a conexin y el otro sin conexin. Trabajan, por lo tanto, con puertos lgicos y junto con la capa red dan forma a los conocidos como Sockets IP: Puerto (192.168.1.1:80).

| Facultad de Ingeniera y Arquitectura 5

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

La capa de Transporte permite la segmentacin de datos y brinda el control necesario para reensamblar las partes dentro de los distintos streams de comunicacin. Las responsabilidades principales que debe cumplir son: Seguimiento de la comunicacin individual entre aplicaciones en los hosts origen y destino. Segmentacin de datos y gestin de cada porcin. Reensamble de segmentos en flujos de datos de aplicacin. Identificacin de las diferentes aplicaciones. Seguimiento de Conversaciones individuales

Cualquier host puede tener mltiples aplicaciones que se estn comunicando a travs de la red. Cada una de estas aplicaciones se comunicar con una o ms aplicaciones en hosts remotos. Es responsabilidad de la capa de Transporte mantener los diversos streams de comunicacin entre estas aplicaciones. Segmentacin de datos

Debido a que cada aplicacin genera un stream de datos para enviar a una aplicacin remota, estos datos deben prepararse para ser enviados por los medios en partes manejables. Los protocolos de la capa de Transporte describen los servicios que segmentan estos datos de la capa de Aplicacin. Esto incluye la

| Facultad de Ingeniera y Arquitectura 6

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

encapsulacin necesaria en cada seccin de datos. Cada seccin de datos de aplicacin requiere que se agreguen encabezados en la capa de Transporte para indicar la comunicacin a la cual est asociada. Reensamble de segmentos

En el host de recepcin, cada seccin de datos puede ser direccionada a la aplicacin adecuada. Adems, estas secciones de datos individuales tambin deben reconstruirse para generar un stream completo de datos que sea til para la capa de Aplicacin. Los protocolos de la capa de Transporte describen cmo se utiliza la informacin de encabezado de dicha capa para reensamblar las secciones de datos en streams y enviarlas a la capa de Aplicacin. Identificacin de las aplicaciones

Para poder transferir los streams de datos a las aplicaciones adecuadas, la capa de Transporte debe identificar la aplicacin de destino. Para lograr esto, la capa de Transporte asigna un identificador a la aplicacin. Los protocolos TCP/IP denominan a este identificador nmero de puerto. A todos los procesos de software que requieran acceder a la red se les asigna un nmero de puerto exclusivo en ese host. Este nmero de puerto se utiliza en el encabezado de la capa de Transporte para indicar con qu aplicacin est asociada esa seccin de datos. La capa de Transporte es el enlace entre la capa de Aplicacin y las capas inferiores, que son responsables de la transmisin en la red. Esta capa acepta datos de distintas conversaciones y los transfiere a las capas inferiores como secciones manejables que puedan ser eventualmente multiplexadas a travs del medio. Las aplicaciones no necesitan conocer los detalles de operacin de la red en uso. Las aplicaciones generan datos que se envan desde una aplicacin a otra sin tener en cuenta el tipo de host destino, el tipo de medios sobre los que los datos deben viajar, el paso tomado por los datos, la congestin en un enlace o el tamao de la red. Adems, las capas inferiores no tienen conocimiento de que existen varias aplicaciones que envan datos en la red. Su responsabilidad es entregar los datos al

| Facultad de Ingeniera y Arquitectura 7

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

dispositivo adecuado. Luego la capa de Transporte ordena estas secciones antes de entregarlas a la aplicacin adecuada.

Los requerimientos de datos varan debido a que las distintas aplicaciones poseen distintos requerimientos, existen varios protocolos de la capa de Transporte. Para algunas aplicaciones, los segmentos deben llegar en una secuencia especfica de manera que puedan ser procesados en forma exitosa. En algunos casos, todos los datos deben recibirse para ser utilizados por cualquiera de las mismas. En otros casos, una aplicacin puede tolerar cierta prdida de datos durante la transmisin a travs de la red.

En las redes convergentes actuales, las aplicaciones con distintas necesidades de transporte pueden comunicarse en la misma red. Los distintos protocolos de la capa de Transporte poseen distintas reglas que permiten que los dispositivos gestionen los diversos requerimientos de datos. Algunos protocolos proporcionan slo las funciones bsicas para la entrega eficiente de las secciones de datos entre las aplicaciones adecuadas. Estos tipos de protocolos son tiles para aquellas aplicaciones cuyos datos son sensibles a las demoras.

Otros protocolos de la capa de Transporte describen procesos que brindan funciones adicionales, como asegurar la entrega confiable entre las aplicaciones. Si bien estas funciones adicionales provee una comunicacin ms slida entre aplicaciones de la capa de Transporte, representan la necesidad de utilizar recursos adicionales y generan un mayor nmero de demandas en la red.

| Facultad de Ingeniera y Arquitectura 8

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Separacin de comunicaciones mltiples; Considere una computadora conectada a una red que recibe y enva e-mails y mensajes instantneos, explora sitios Web y realiza una llamada telefnica de VoIP de manera simultnea. Cada una de estas aplicaciones enva y recibe datos en la red al mismo tiempo. Sin embargo, los datos de la llamada telefnica no se direccionan al explorador Web y el texto de un mensaje instantneo no aparece en el e-mail.

Adems, los usuarios precisan que un e-mail o una pgina Web sean recibidos y presentados de manera completa para que la informacin sea considerada til. Las demoras leves se consideran aceptables para asegurar que se reciba y presente la informacin completa. Por el contrario, la prdida ocasional de pequeas partes de una conversacin telefnica puede considerarse aceptable.

| Facultad de Ingeniera y Arquitectura 9

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Se puede inferir la parte de audio perdida del contexto de la conversacin o se puede solicitar a la otra persona que repita lo que dijo. Es preferible esto ltimo a las demoras que se produciran si se solicita a la red que gestione y vuelva a enviar los segmentos perdidos. En este ejemplo, el usuario, no la red, gestiona el reenvo o reemplazo de informacin que falta.

En la capa de Transporte, cada conjunto de secciones en particular que fluyen desde una aplicacin de origen a una de destino se conoce como conversacin. Para identificar todos los segmentos de datos, la capa de Transporte agrega un encabezado a la seccin que contiene datos binarios. Este encabezado contiene campos de bits. Son los valores de estos campos los que permiten que los distintos protocolos de la capa de Transporte lleven a cabo las diversas funciones.

| Facultad de Ingeniera y Arquitectura 10

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Las redes de datos e Internet brindan soporte a la red humana al proporcionar la comunicacin continua y confiable entre las personas, tanto de manera local como alrededor del mundo. En un nico dispositivo, las personas pueden utilizar varios servicios como e-mails, la Web y la mensajera instantnea para enviar mensajes o recuperar informacin. Las aplicaciones como clientes de correo electrnico, exploradores Web y clientes de mensajera instantnea permiten que las personas utilicen las computadoras y las redes para enviar mensajes y buscar informacin. Los datos de cada una de estas aplicaciones se empaquetan, transportan y entregan al daemon de servidor o aplicacin adecuados en el dispositivo de destino. Los procesos descritos en la capa de Transporte del modelo OSI aceptan los datos de la capa de Aplicacin y los preparan para el direccionamiento en la capa de Red. La capa de Transporte es responsable de la transferencia de extremo a extremo general de los datos de aplicacin. La capa de Transporte cuando se encapsulan los datos de aplicacin para usarse en la capa de Red. La capa de Transporte incluye tambin las siguientes funciones:

| Facultad de Ingeniera y Arquitectura 11

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Permitir mltiples aplicaciones para comunicarse a travs de la red al mismo tiempo en un solo dispositivo. Asegurar que, si se requiere, todos los datos sean recibidos de manera confiable y en orden por la aplicacin correcta, y emplear mecanismos de manejo de error.

5. Control de las conversaciones


Las funciones principales especificadas por todos los protocolos de la capa de Transporte incluyen: Segmentacin y reensamblaje: La mayora de las redes poseen una limitacin en cuanto a la cantidad de datos que pueden incluirse en una nica PDU (Unidad de datos del protocolo). La capa de Transporte divide los datos de aplicacin en bloques de datos de un tamao adecuado. En el destino, la capa de Transporte reensambla los datos antes de enviarlos a la aplicacin o servicio de destino. Multiplexacin de conversaciones: Pueden existir varias aplicaciones o servicios ejecutndose en cada host de la red. A cada una de estas aplicaciones o servicios

| Facultad de Ingeniera y Arquitectura 12

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

se les asigna una direccin conocida como puerto para que la capa de Transporte pueda determinar con qu aplicacin o servicio se identifican los datos. Adems de utilizar la informacin contenida en los encabezados para las funciones bsicas de segmentacin y reensamblaje de datos, algunos protocolos de la capa de Transporte proveen: Conversaciones orientadas a la conexin. Entrega confiable. Reconstruccin ordenada de datos. Control del flujo.

| Facultad de Ingeniera y Arquitectura 13

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

6. Soporte de comunicacin confiable


Cabe recordar que la funcin principal de la capa de Transporte es administrar los datos de aplicacin para las conversaciones entre hosts. Sin embargo, las diferentes aplicaciones tienen diferentes requerimientos para sus datos y, por lo tanto, se han desarrollado diferentes protocolos de Transporte para satisfacer estos

requerimientos. Un protocolo de la capa de Transporte puede implementar un mtodo para asegurar la entrega confiable de los datos. En trminos de redes, confiabilidad significa asegurar que cada seccin de datos que enva el origen llegue al destino. En la capa de Transporte, las tres operaciones bsicas de confiabilidad son: Seguimiento de datos transmitidos, Acuse de recibo de los datos recibidos, y Retransmisin de cualquier dato sin acuse de recibo. Esto requiere que los procesos de la capa de Transporte de origen mantengan el seguimiento de todas las porciones de datos de cada conversacin y retransmitan cualquiera de los datos que no dieron acuse de recibo por el destino. La capa de Transporte del host de recepcin tambin debe rastrear los datos a medida que se reciben y reconocer la recepcin de los datos. Estos procesos de confiabilidad generan un uso adicional de los recursos de la red debido al reconocimiento, rastreo y retransmisin. Para admitir estas operaciones de confiabilidad se intercambian ms datos de control entre los hosts emisores y receptores. Esta informacin de control est contenida en el encabezado de la Capa 4.

| Facultad de Ingeniera y Arquitectura 14

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

7. Protocolos de la Capa de Transporte


7.1. UDP

UDP es un protocolo simple que provee las funciones bsicas de la capa de Transporte. Genera mucho menos sobrecarga que TCP, ya que no es orientado a la conexin y no cuenta con los sofisticados mecanismos de retransmisin, secuenciacin y control del flujo.

Esto no significa que las aplicaciones que utilizan UDP no sean confiables. Slo quiere decir que estas funciones no son contempladas por el protocolo de la capa de Transporte y deben implementarse aparte, si fuera necesario. Pese a que es relativamente baja la cantidad total de trfico UDP que puede encontrarse en una red tpica, entre los protocolos principales de la capa de Aplicacin que utilizan UDP se incluyen: Sistema de denominacin de dominio (DNS), Protocolo simple de administracin de red (SNMP), Protocolo de configuracin dinmica de host (DHCP), Protocolo de informacin de enrutamiento (RIP), Protocolo trivial de transferencia de archivos (TFTP), y Juegos en lnea. Es uno de los protocolos mnimos del nivel de transporte basados en el intercambio de datagramas (encapsulado de capa 4 del Modelo OSI), y a orientado a mensajes

| Facultad de Ingeniera y Arquitectura 15

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

documentado en el RFC 768 de la IETF.; no tiene control en sus flujos ya que sus paquetes pueden adelantarse unos a otros, y tampoco se sabe si llegan correctamente porque no hay entrega de confirmacin de entrega o recepcin.

UDP utiliza puertos para permitir la comunicacin entre aplicaciones. Es tambin utilizado para aplicaciones de streaming (audio, voz, etc.) donde la llegada de los paquetes es ms importante que la fiabilidad. Tambin sirve para aplicaciones simples de tipo peticin / respuesta como el servicio DNS, donde la sobrecarga de las cabeceras que aportan la fiabilidad es desproporcionada para el tamao de los paquetes.

El protocolo UDP es un protocolo de transmisin de datos, pero en este caso la velocidad prima sobre la calidad de entrega, adems se trata de un protocolo no fiable porque no confirma que el receptor haya recibido la informacin.

| Facultad de Ingeniera y Arquitectura 16

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

La comunicacin con el controlador se realiza a travs del envo y recepcin de paquetes UDP. El envo de los bytes se realiza, mediante el protocolo UDP (User Data Protocol), mostrado a continuacin:

Algunas aplicaciones como los juegos en lnea o VoIP pueden tolerar algunas prdidas de datos. Si estas aplicaciones utilizaran TCP, experimentaran largas demoras, ya que TCP detecta la prdida de datos y los retransmite. Estas demoras seran ms perjudiciales para la aplicacin que las pequeas prdidas de datos. Algunas aplicaciones, como DNS, simplemente reintentan enviar la solicitud si no obtienen respuesta y, por lo tanto, no necesitan TCP para garantizar la entrega del mensaje. La baja sobrecarga de UDP lo hace deseable para dichas aplicaciones.

| Facultad de Ingeniera y Arquitectura 17

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Este protocolo est definido para hacer posible el intercambio de datagramas a travs de la red, UDP asume que se usa el protocolo IP. UDP, son las siglas de Protocolo de Datagrama de Usuario (en ingls User Datagram Protocol); un protocolo sin conexin que como TCP funciones en redes IP. Este protocolo no est orientado a conexin de la capa de transporte del modelo TCP/IP, adems este protocolo es muy simple ya que no proporciona deteccin de errores (no es un protocolo orientado a conexin). UDP provee procedimiento para que las aplicaciones puedan comunicarse entre ellos con el mnimo mecanismo de protocolo, por lo cual se dice que es un protocolo orientado a la transaccin, o haciendo un contraste con el protocolo TCP como protocolo no orientado a la conexin ya que no se garantiza los errores de duplicados, ni la entrega de los paquetes, adems UDP no usa acuses de recibos o ventanas pero sin embargo la confiabilidad puede ser suministrada por protocolos de la capa de aplicacin. User Datagram Protocol es un poco confiable .No comprobar si hay errores, o incluso para ver si los datos transmitidos se ha recibido. Sin embargo, debido a que

| Facultad de Ingeniera y Arquitectura 18

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

no ofrece estos servicios, tiene una menor carga y por lo tanto ms rpido que TCP . UDP proporcionar un mejor rendimiento en una red confiable. Servicio de nombres de dominio , de archivos Protocolo trivial de transferencia y Simple Network Management Protocol todos los UDP uso.

Por lo tanto el encabezado del segmento UDP es muy simple:

Donde el puerto de origen es el nmero de puerto usado en el host origen. Puerto de destino este campo contiene el puerto correspondiente a la aplicacin del equipo receptor al que se enva, o del host destino. La longitud este campo especifica la longitud total del segmento con el encabezado y los datos incluido que tiene de 4 x 16 bits por lo tanto la longitud del campo es necesariamente es >= a 8 bytes. Checksum es la sumatoria calculada en funcin de los campos del encabezado y de los datos que se utilizada para detectar errores. Datos en este campo se colocan los datos transportados.

PUERTOS UDP utiliza puertos para permitir la comunicacin entre aplicaciones. El campo de puerto tiene una longitud de 16 bits, por lo que el rango de valores vlidos va de 0 a 65.535. El puerto 0 est reservado, pero es un valor permitido como puerto origen si el proceso emisor no espera recibir mensajes como respuesta. Los puertos 1 a 1023 se llaman puertos "bien conocidos" y en sistemas operativos tipo Unix enlazar con uno de estos puertos requiere acceso como supe usuario.

| Facultad de Ingeniera y Arquitectura 19

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Los puertos 1024 a 49.151 son puertos registrados. Los puertos 49.152 a 65.535 son puertos efmeros y son utilizados como puertos temporales, sobre todo por los clientes al comunicarse con los servidores.

REENSAMBLAJE DE DATAGRAMAS DE UDP Ya que UDP opera sin conexin, las sesiones no se establecen antes de que se lleve a cabo la comunicacin, como sucede con TCP. Se dice que UDP es basado en transacciones. En otras palabras, cuando una aplicacin posee datos para enviar, simplemente los enva.

Muchas aplicaciones que utilizan UDP envan pequeas cantidades de datos que pueden ocupar un segmento. Sin embargo, algunas aplicaciones enviarn cantidades mayores de datos que deben dividirse en varios segmentos. La PDU de UDP se conoce como datagrama, pese a que los trminos segmento y datagrama a veces se utilizan de manera indistinta para describir una PDU de la capa de Transporte.

Cuando se envan mltiples datagramas a un destino, los mismos pueden tomar rutas distintas y llegar en el orden incorrecto. UDP no mantiene un seguimiento de los nmeros de secuencia de la manera en que lo hace TCP. UDP no puede reordenar los datagramas en el orden de la transmisin. Ver la figura. Por lo tanto, UDP simplemente reensambla los datos en el orden en que se recibieron y los enva a la aplicacin. Si la secuencia de los datos es importante para la aplicacin, la misma deber identificar la secuencia adecuada de datos y determinar cmo procesarlos.

| Facultad de Ingeniera y Arquitectura 20

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

PROCESOS Y SOLICITUDES DEL SERVIDOR UDP Al igual que las aplicaciones basadas en TCP, a las aplicaciones de servidor basadas en UDP se les asigna nmeros de puertos bien conocidos o registrados. Cuando se ejecutan estas aplicaciones o procesos, aceptan los datos que coincidan con el nmero de puerto asignado. Cuando UDP recibe un datagrama destinado a uno de esos puertos, enva los datos de aplicacin a la aplicacin adecuada en base a su nmero de puerto.

| Facultad de Ingeniera y Arquitectura 21

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

PROCESOS DEL CLIENTE UDP Como en TCP, la comunicacin cliente/servidor se inicia por una aplicacin cliente que solicita datos de un proceso del servidor. El proceso de cliente UDP selecciona al azar un nmero de puerto del rango dinmico de nmeros de puerto y lo utiliza como puerto de origen para la conversacin. El puerto de destino por lo general ser el nmero de puerto bien conocido o registrado asignado al proceso del servidor.

Los nmeros de puerto de origen seleccionados al azar colaboran con la seguridad. Si existe un patrn predecible para la seleccin del puerto de destino, un intruso puede simular el acceso a un cliente de manera ms sencilla intentando conectarse al nmero de puerto que tenga mayor posibilidad de estar abierto.

Ya que no se crean sesiones con UDP, tan pronto como los datos estn listos para ser enviados y los puertos estn identificados, UDP puede formar el datagrama y enviarlo a la capa de Red para direccionamiento y envo a la red.

| Facultad de Ingeniera y Arquitectura 22

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Cabe recordar que una vez que el cliente ha elegido los puertos de origen y destino, estos mismos puertos se utilizarn en el encabezado de todos los datagramas que se utilicen en la transaccin. Para la devolucin de datos del servidor al cliente, se invierten los nmeros de puerto de origen y destino en el encabezado del datagrama.

| Facultad de Ingeniera y Arquitectura 23

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

| Facultad de Ingeniera y Arquitectura 24

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

UDP y TCP son protocolos comunes de la capa de Transporte TCP no enva datos a la red hasta que advierte que el destino est preparado para recibirlos. Luego TCP administra el flujo de datos y reenva todos los segmentos de datos de los que recibi acuse a medida que se reciben en el destino.

TCP utiliza mecanismos de enlace, temporizadores y acuses de recibo y uso dinmico de ventanas para llevar a cabo estas funciones confiables. Sin embargo, esta confiabilidad representa cierta sobrecarga en la red en trminos de encabezados de segmentos ms grandes y mayor trfico de red entre el origen y el destino que administra el transporte de datos.

| Facultad de Ingeniera y Arquitectura 25

Redes de Comunicaciones
7.2. TCP

Nivel de Transporte TCP, UDP, SCTP

Es uno principales protocolos de la capa de transporte del modelo TCP/IP, que significa Protocolo de Control de Transmisin; es un protocolo de capa 4 orientado a la conexin es decir que permite que dos mquinas que estn comunicadas controlen el estado de la transmisin de datos full-dplex; adems es confiable.

Con el uso del protocolo TCP las aplicaciones pueden comunicarse en forma segura independiente de las capas inferiores esto significa que los routers solo tienen que enviar datos en forma de datagramas sin preocuparse con el monitoreo de datos porque esta funcin la cumple la capa de transporte. TCP forma parte de la pila del protocolo TCP/IP, se establece una conexin entre ambos extremos antes de iniciar la transferencia de informacin. Entre otras funciones de la TCP est:

La capacidad de controlar la velocidad de los datos usando su capacidad para emitir mensajes de tamao variable, estos mensajes se llaman segmentos. Brinda un circuito virtual entre las aplicaciones del usuario final.

| Facultad de Ingeniera y Arquitectura 26

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Adems es el responsable de dividir los mensajes en segmentos, reensamblar en el receptor, reenviar cualquier mensaje que no tenga un acuse de recibo y reensamblar los mensajes a partir de los mensajes recibidos.

A diferencia de UDP que enva los paquetes ni bien empieza, el protocolo TCP tiene tres frases para realizar el envo ya que la conexin debe ser previamente establecida. Entre las 3 fases en la comunicacin TCP:

Establecimiento de la conexin.- esto se debe de realizar antes de que comience la transferencia de datos, en esta etapa ambos extremos deben sincronizar sus nmeros de secuencias iniciales denominado ISN, esto se realiza a travs del intercambio de segmentos que establece la conexin al transportar el bit SYN (es el bit de control para la sincronizacin), y en la sincronizacin se intercambian los SYN y acuse de recibo ACK, as como se muestra a continuacin:

| Facultad de Ingeniera y Arquitectura 27

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

El establecimiento de la conexin TCP en programacin se hace mediante funciones llamado sockets que es similar a un sistema de telefona en el cual la funcin bind dice a las otras personas cual es nuestro nmero de telfono entonces ahora si se puede realizar llamadas. Tambin se denota la funcin connect se ejecuta el lado del cliente mientras que las funciones bind, listen y accept se ejecutan del lado del servidor. Transferencia de datos.- en esta etapa tambin se realiza el ordenamiento de los datos transferidos, liberacin de errores, la retransmisin de los paquetes perdidos, el descarte de paquetes duplicados, manejo de la congestin y control de flujo; ahora el ordenamiento de la data se hace usando los ISN ya que se incrementa por cada byte transmitido, haciendo uso de los SACK, para la liberacin de errores el protocolo TCP utiliza el algoritmo CRC el cual hace una verificacin del campo cheksum de 16 bits, ahora el manejo de la congestin y el control de flujo se hacen mediante el uso de ventanas as como se muestra a continuacin:

Termino de la conexin.- tanto el cliente como el servidor pueden terminar la conexin, si consideramos que el cliente es el que enva un flag FIN, el servidor le responde con un acuse de recibo con lo que se detiene el flujo del cliente del servidor, el servidor enva un FIN hacia el cliente y este responder con otro acuse de recibo, con lo que se detiene el flujo de datos del servidor al cliente, adems por otro lado esto se ver reflejado al llamar la funcin close en la funcin main, as como se muestra a continuacin:

| Facultad de Ingeniera y Arquitectura 28

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

ESTRUCTURA DEL PAQUETE TCP Un paquete TCP es un encapsulado por el encabezado TCP que especifica el enrutamiento, como las direcciones y destino del datagrama y consta de los campos:

Puerto de origen. Puerto de destino. Nmero de secuencia. Nmero de confirmacin. Desplazamiento de datos. Un campo reservado. Bit de control. Ventana. Suma de comprobacin. Indicador de urgencia. Opciones. Compensin.

El protocolo TCP, se utiliza para enviar y recibir datos por la red. Adems este protocolo divide el archivo que tiene que enviar en pequeos paquetes, que son enviados uno a uno.

| Facultad de Ingeniera y Arquitectura 29

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

| Facultad de Ingeniera y Arquitectura 30

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

LA DESVENTAJA DE LA ESTRATIFICACION POR CAPAS La estratificacin por capas es una idea fundamental que proporciona las bases para el diseo de protocolos. Permite al diseador dividir un problema complicado en subproblemas y resolver cada parte de manera independiente. Por desgracia, el software resultante de una estratificacin por capas estrictas puede ser muy ineficaz. Si se considera el trabajo de la capa de transporte, debe aceptar un flujo de octetos desde un programa de aplicacin, dividir el flujo en paquetes y enviar cada paquete a travs de la red de redes. Para optimizar la transferencia, la capa de transporte debe seleccionar el tamao de paquete ms grande posible que le permita a un paquete viajar en una trama de red. En particular, si la mquina de

| Facultad de Ingeniera y Arquitectura 31

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

destino est conectada a una mquina de la misma red de la fuente, solo la red fsica se ver involucrada en la transferencia, as, el emisor puede optimizar el tamao del paquete para esta red. Si el software preserva una estricta estratificacin por capas, sin embargo, la capa de transporte no podr saber como rutear l modulo de Internet l trfico o que redes estn conectadas directamente. Ms aun, la capa de transporte no comprender el datagrama o el formato de trama ni ser capaz de determinar cmo deben ser aadidos muchos octetos de encabezado a un paquete. As, una estratificacin por capas estricta impedir que la capa de transporte optimice la transferencia.

| Facultad de Ingeniera y Arquitectura 32

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

| Facultad de Ingeniera y Arquitectura 33

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Proceso de comunicacin del TCP: El modelo TCP/IP describe la funcionalidad de los protocolos que forman la suite de protocolos TCP/IP. Esos protocolos, que se implementan tanto en el host emisor como en el receptor, interactan para proporcionar la entrega de aplicaciones de extremo a extremo a travs de una red. Un proceso completo de comunicacin incluye estos pasos: 1. Creacin de datos a nivel de la capa de aplicacin del dispositivo final origen. 2. Segmentacin y encapsulacin de datos cuando pasan por la stack de protocolos en el dispositivo final de origen. 3. Generacin de los datos sobre el medio en la capa de acceso a la red de la stack. 4. Transporte de los datos a travs de la internetwork, que consiste de los medios y de cualquier dispositivo intermediario. 5. Recepcin de los datos en la capa de acceso a la red del dispositivo final de destino. 6. Desencapsulacin y rearmado de los datos cuando pasan por la stack en el dispositivo final. 7. Traspaso de estos datos a la aplicacin de destino en la capa de aplicacin del dispositivo final de destino.

| Facultad de Ingeniera y Arquitectura 34

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Procesos del servidor TCP:


Cada proceso de aplicacin que se ejecuta en el servidor es configurado por el administrador del sistema para utilizar un nmero de puerto, de forma predeterminada o manual. Un servidor individual no puede tener dos servicios asignados al mismo nmero de puerto dentro de los mismos servicios de la capa de Transporte. Un host que ejecuta una aplicacin de servidor Web y una de transferencia de archivos no puede configurar ambas para utilizar el mismo puerto (por ejemplo, el puerto TCP 8.080). Cuando una aplicacin de servidor activa se asigna a un puerto especfico, este puerto se considera "abierto" para el servidor. Esto significa que la capa de Transporte acepta y procesa segmentos direccionados a ese puerto. Toda solicitud entrante de un cliente direccionada al socket correcto es aceptada y los datos se envan a la aplicacin del servidor. Pueden existir varios puertos simultneos abiertos en un servidor, uno para cada aplicacin de servidor activa. Es comn que un servidor provea ms de un servicio, como un servidor Web y un servidor FTP, al mismo tiempo. Una manera de mejorar la seguridad en un servidor es restringir el acceso al servidor a slo aquellos puertos asociados con los servicios y aplicaciones accesibles a solicitantes autorizados.

| Facultad de Ingeniera y Arquitectura 35

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

La figura muestra la asignacin tpica de puertos de origen y destino en operaciones de cliente o servidor TCP.

| Facultad de Ingeniera y Arquitectura 36

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Para entender el proceso de enlace de tres vas, es importante observar los distintos valores que intercambian los dos hosts. Dentro del encabezado del segmento TCP, existen seis campos de 1 bit que contienen informacin de control utilizada para gestionar los procesos de TCP. Estos campos son los siguientes: URG: Urgente campo de sealizador significativo, ACK: Campo significativo de acuse de recibo,

| Facultad de Ingeniera y Arquitectura 37

Redes de Comunicaciones
PSH: Funcin de empuje,

Nivel de Transporte TCP, UDP, SCTP

RST: Reconfiguracin de la conexin, SYN: Sincronizar nmeros de secuencia, FIN: No hay ms datos desde el emisor.

A estos campos se los denomina sealadores porque el valor de uno de estos campos es slo de 1 bit, entonces tiene slo dos valores: 1 0. Si el valor del bit se establece en 1, indica la informacin de control que contiene el segmento. Si se utiliza un proceso de cuatro pasos, los sealizadores se intercambian para finalizar la conexin TCP.

| Facultad de Ingeniera y Arquitectura 38

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

| Facultad de Ingeniera y Arquitectura 39

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

| Facultad de Ingeniera y Arquitectura 40

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

| Facultad de Ingeniera y Arquitectura 41

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

El proceso de retransmisin no es especificado por RFC, sino que depende de la implementacin de TCP en particular. Para una implementacin de TCP tpica, un host puede transmitir un segmento, colocar una copia del segmento en una cola de retransmisin e iniciar un temporizador. Cuando se recibe el acuse de recibo de los datos, se elimina el segmento de la cola. Si no se recibe el acuse de recibo antes de que el temporizador venza, el segmento es retransmitido. La animacin demuestra la retransmisin de segmentos perdidos. Los hosts actuales tambin suelen emplear una funcin opcional llamada Acuses de recibo selectivos. Si ambos hosts admiten el Acuse de recibo selectivo, es posible que el destino reconozca los bytes de segmentos discontinuos y el host slo necesitar retransmitir los datos perdidos.

| Facultad de Ingeniera y Arquitectura 42

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

CONTROL DEL FLUJO TCP tambin provee mecanismos para el control del flujo. El control del flujo contribuye con la confiabilidad de la transmisin TCP ajustando la tasa efectiva de flujo de datos entre los dos servicios de la sesin. Cuando el origen advierte que se recibi la cantidad de datos especificados en los segmentos, puede continuar enviando ms datos para esta sesin.

El campo Tamao de la ventana en el encabezado TCP especifica la cantidad de datos que puede transmitirse antes de que se reciba el acuse de recibo. El tamao de la ventana inicial se determina durante el comienzo de la sesin a travs del enlace de tres vas. El mecanismo de retroalimentacin de TCP ajusta la tasa de transmisin de datos efectiva al flujo mximo que la red y el dispositivo de destino pueden soportar sin sufrir prdidas. TCP intenta gestionar la tasa de transmisin de manera que todos los datos se reciban y se reduzcan las retransmisiones.

| Facultad de Ingeniera y Arquitectura 43

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

| Facultad de Ingeniera y Arquitectura 44

Redes de Comunicaciones
7.3. SCTP

Nivel de Transporte TCP, UDP, SCTP

SCTP es un mecanismo de transporte fiable orientado hacia conexin. Est orientado tambin hacia transmisin de datos pero no est orientado hacia bytes como TCP. Provee mltiples transmisiones distribuidos sobre una misma conexin. Puede adems representar una conexin con mltiples direcciones IP de modo que si una IP falla, la conexin no se interrumpe. Se desarrollo inicialmente para aplicaciones de telefona pero se puede utilizar en otras aplicaciones.

El protocolo de transmisin de control de flujo SCTP (Stream Control Transmission Protocol) \cite{caro2003sctp} es un estndar de nivel de transporte propuesto por el IETF e implementando en varias distribuciones de Linux y versiones comerciales de UNIX. SCTP es producto de los esfuerzos orientados en sus comienzos en el desarrollo protocolo de sealizacin telefnica para redes IP \cite{robison2signaling}. Provee una conexin full-duplex confiable\footnote{Si bien existen algunas propuestas como \cite{stewart-p} para permitir comunicaciones parcialmente confiable, muy tiles en aplicaciones de audio y video.}. Dicha conexin se denomina asociacin y provee un novedoso servicio de Multihoming, que le permite a los hosts de una asociacin tener mltiples direcciones IP. Ofrece multistreaming

| Facultad de Ingeniera y Arquitectura 45

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

con lo cual se pueden tener mltiples flujos de datos independientes. SCTP provee un servicio de envo de datos orientado a mensajes a diferencia de TCP, que es orientado a bytes sin ninguna estructura de datos. Los paquetes SCTP siempre comienzan con una cabecera comn. A continuacion tenemos uno o ms Chunks, bloques concatenados que contienen informacin de datos o de control. Los Chunks de control transfieren la informacin necesaria para el funcionamiento de una asociacin, mientras que los Chunks de datos llevan informacin de la capa de aplicacin. SCTP provee un diseo flexible que permite agregar nuevos Chunks de control.

Cada Chunk contiene una cabecera que identifica su tipo, longitud y cualquier flag especial que el tipo requiera. SCTP posee la flexibilidad de concatenar diversos tipos de Chunks en un mismo paquete. Durante una transferencia de datos, se utilizan principalmente dos tipos de Chunks: a) Data Chunk, usado por el emisor, que contiene los datos. b) Sack Chunk, usado por el receptor, que contiene el acuse de la recepcin de los data Chunks. Todos los data Chunks son identificados por un nmero secuencial llamado Transmission Sequence Number (TSN). Los TSN cuentan data Chunks y no bytes enviados como lo hace el Sequence Number de TCP. Cuando un Data Chunk arriba al receptor, este ltimo debe enviar un Sack Chunk, reportando la recepcin. El Cumulative TSN Ack es utilizado de la misma manera que los Acknowledgement Number de TCP. El Ack de SCTP acusa la recepcin de todos los TSN hasta el valor del mismo, mientras que en TCP se acusa recibo de la recepcin de bytes, y no de los segmentos que los transportan.

Los campos Gap Ack Blocks son utilizados para acusar la recepcin de datos fuera de orden, ya sea porque hay Data Chunks que pueden arribar al receptor en forma desordenada, o porque pueden haberse perdido. Entonces, si un TSN cae dentro de un Gap Ack Block significa que se ha recibido correctamente y que el emisor no necesita retransmitirlo incluso si el Cumulative TSN Ack no acusa su recepcin. El

| Facultad de Ingeniera y Arquitectura 46

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Sack Chunk contiene una lista de TSN llamada Duplicate TSN. Por medio de esta lista, el receptor informa al emisor sobre la recepcin de TSN duplicados. SCTP es un protocolo de ventana deslizante que regula la tasa de transmisin de datos de la misma manera que lo hace TCP. El valor Advertised Receiver Window Credit es informado por el receptor al momento de iniciar la asociacin y en cada Sack Chunk transmitido.

Para realizar control de congestin SCTP utiliza los mismos mecanismos de TCP: Slow Start, Congestion Avoidance, Fast Retransmit y Fast Recovery

\cite{allman1999rfc2581}. SCTP realiza Slow Start cuando el Cwnd es menor o igual que el SSThresh, a diferencia de las implementaciones de TCP que pueden elegir entre Slow Start o Congestion Avoidance cuando el Cwnd es igual que el SSThresh. Durante Slow Start, el Cwnd es incrementado nicamente si se cumplen las siguientes condiciones: 1) que el Ack recibido asiente nuevos datos, 2) que todo el Cwnd este en uso antes de que el Ack arribe. Al cumplirse la condicin especificada, el Cwnd es incrementado por el mnimo entre la cantidad de datos asentidos y el MTU (unidad mxima de

transferencia)\footnote{En TCP se utiliza el Sender Maximum Segment Size (Smss) que es el mximo tamao que el emisor de un segmento puede enviar en un momento dado. Este valor puede estar acotado en el MTU (mxima unidad de transmisin) del enlace de salida desde el host, el resultado del Path MTU Discovery Algorithm , Rmss u otros factores. Este tamao no incluye los encabezados TCP e IP.}. Las variables de Cwnd y SSThresh deben mantenerse por cada una de las direcciones destino presentes en una asociacin, con lo cual, los algoritmos de control de congestin deben ejecutarse por cada una de ellas. Esto se debe a que distintas direcciones destinos generalmente implican diferentes caminos con sus respectivos estados de congestin y latencia.

| Facultad de Ingeniera y Arquitectura 47

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Ante la ocurrencia de un Timeout, el emisor retransmite todos los Data Chunk que no hayan sido asentidos. Todos los Data Chunks que fueron asentidos por medio de Gap Ack Block no sern retransmitidos, evitando la retransmisin de los Data Chunks que fueron recibidos fuera de orden.

El clculo del Timeout de retransmisin (RTO) se realiza con el mismo algoritmo utilizado en TCP \cite{jacobson1988congestion}. El mismo debe realizarse por cada destino que interviene en la asociacin.

Al igual que TCP, SCTP tiene un mecanismo de Fast Retransmit el cual consiste en optimizar el rendimiento ante prdidas aisladas. El mecanismo que utiliza el receptor para informa EL FORMATO DEL PAQUETE SCTP: Consiste de cabecera SCTP comn seguida de una pila de bloques llamados chunks, que estar limitado por el MTU (Maximun Transfer Unit), estos chunks puede contener datos de control o la data en s que se desea enviar. La cabecera comn consta de: La direccin del puerto de origen. La direccin del puerto de destino. El tag de verificacin. El campo cheksum del paquete.

El puerto de origen es usado por el receptor para identificar la asociacin a la que pertenece el paquete SCTP, el puerto de destino es el puerto a donde el paquete est destinado. Ambos extremos asignan un valor de identificacin de 32 bits (verification tag), este campo es negociado al inicio de la asociacin.

| Facultad de Ingeniera y Arquitectura 48

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

El checksum, es una herramienta utilizada para verificar la integridad de cada paquete SCTP, el cual usa el algoritmo Alder-32; el cual realiza una suma usando 32 bits de esta manera se pueden detectar errores. Todo tipo de chunk tiene los campos: Type.- Identifica el tipo de chunk que se est transmitiendo. Flag.- Especifica que bits se van a usar en la asociacin, depende del tipo de chunk que se va a enviar. Length.- Determina el tamao total del chunk en bytes. Chunk data.- Incluye la carga de datos que est llevando el chunk.

En esta figura se observa a un paquete que puede tener N chunks, es ah que el SCTP permite que los chunks sean multiplexados utilizando la total

| Facultad de Ingeniera y Arquitectura 49

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

capacidad de MTU, con la excepcin de que necesita los mensajes: INIT e INIT-ACK.

EL DESEMPEO DEL SCTP Por qu necesitamos otro protocolo de transporte? TCP: flujo fiable de bytes UDP: datagramas no fiables No hay transmisin de mensajes fiables No hay grados variables de fiabilidad (todo o nada) Varios canales en una conexin.

HISTORIA DEL PROTOCOLO SCTP El comit SIGTRAN quera un protocolo de transporte SS7. MDTP (Protocolo de Datagramas de Transmision MultiNetwork), hizo lo que quera SIGTRAN pero pas por encima de UDP. MDTP a evolucionado hasta convertirse en SCTP, que es un protocolo de transporte.

| Facultad de Ingeniera y Arquitectura 50

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

ASOCIACIONES Y STREAMS Asociacin SCTP: similar a conexin TCP. Streams: los canales para la transmisin unidireccional de mensajes (hasta 2^ 16 por direccin) Numero de flujos de negociacin en el inicion de la conexin.

APLICACIONES SOBRE SCTP: Streaming de video mediante JMF (Java Media Framework)

SCTP, es un protocolo de nivel de transporte orientado a conexin, que a diferencia de TCP y su concepto de conexin introduce una nueva forma de comunicacin entre sistemas denominado asociacin. Las principales caractersticas de SCTP son las siguientes: Es un protocolo punto a punto, donde se establece el intercambio de datos entre dos extremos conocidos. Proporciona transporte fiable de datos de usuario, detectando y reparando los datos errneos o fuera de secuencia. Se adapta a la tasa de transferencia, disminuyendo la velocidad de envo de datos en caso de congestin en la red.

| Facultad de Ingeniera y Arquitectura 51

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Multi-horming: permite establecer asociaciones robustas entre dos extremos cada uno de los cuales puede ser alcanzado mediante ms de una direccin de red. Hacia cada una de ellas se encaminan los mensajes de forma independiente de manera que, si una de las interfaces de red queda fuera de servicio, la comunicacin no se ve afectada ya que el flujo de datos se redirige por una de las otras si las hay. Cada asociacin puede contener uno o ms streams que permiten el envo de datos de forma independiente entre cada uno de ellos.

STREAMING DE VIDEO MEDIANTE SCTP / JMF: Porque utilizamos SCTP, ya que es un protocolo de transporte que sirve para el intercambio de datos en tiempo real, y que tambin nos permite tener uno o mas interfaces de red que se puedan utilizar como backup para que no haya cortes en la transmisin en caso de cada de las interfaces principales. Ahora se utiliza JMF porque ofrece todo lo necesario para implementar una aplicacin multimedia y adems nos permite sustituir el protocolo de transporte utilizado, en este caso se ha utilizado SCTP en vez de TCP o UDP. Para eso se consigui realizar una aplicacin cliente/servidor multimedia mediante el API que ofrece JMF que utiliza RTP para realizar el streaming de datos, RCTP lleva la informacin de control de flujo RTP y SCTP como nivel de transporte, que tambin se puede construir un sistema de videovigilancia mediante cmaras IP.

| Facultad de Ingeniera y Arquitectura 52

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Ahora no es muy costoso de realizar esta aplicacin sino tener bastante claro el orden en la pila de protocolos para todos los pasos que hay que realizar. Los datos podrn ser presentados por pantalla mediante una interfaz grafica, almacenados en un fichero o enviados a travs de la red, asi como se presenta en este modelo fundamental:

| Facultad de Ingeniera y Arquitectura 53

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Cada uno de estos apartados que presenta el esquema, el API ofrece una serie de clases e interfaces que permiten al programador realizar una aplicacin a medida respondiendo a sus necesidades. Tanto TCP como UDP, brindan servicios a una serie de aplicaciones de alto nivel.

8. Comparacin entre TCP-UDP-SCTP


UDP ofrece los servicios mnimos de la capa de transporte; no ofrece transferencia confiable ni ordenada; tampoco ofrece un control de flujo, por lo que una aplicacin puede desbordar el buffer de recepcin del destinatario. Tampoco ofrece control de congestin.

Por estas limitaciones, UDP no ofrece un nivel de confiabilidad necesario para algunas aplicaciones; por ejemplo, si se utiliza UDP, pero se necesita cierto nivel de confiabilidad, se deber implementar de forma externa los mecanismos de control, de retransmisin de paquetes, de deteccin y correccin de congestin en la red, entre otros.

En cambio, TCP ofrece todos estos servicios. Sin embargo, algunos servicios que entrega, por ejemplo, la entrega ordenada de paquetes, puede provocar importantes retardos. TCP no tiene soporte para hosts con mltiples interfaces.

SCTP fue creado para solucionar algunas limitaciones que tienen los protocolos TCP y UDP. A continuacin se muestra una figura que compara trminos entre los 3 protocolos.

| Facultad de Ingeniera y Arquitectura 54

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Figura: Comparacin entre los distintos protocolos.

A pesar de estas diferencias, se puede decir que tienen muchas cosas similares; por ejemplo, el inicio de conexin/asociacin requiere un intercambio de mensajes para su inicio, ambos ofrecen envo confiable de datos, control de congestin, y un mecanismo de intercambio de mensajes para finalizar una comunicacin.

De la figura anterior, se puede notar que existe una similitud mayor entre SCTP y TCP que entre SCTP y UDP. Se profundizar sobre la relacin SCTP/TCP.

9. Similitudes entre TCP y SCTP

Inicio de comunicacin: requiere intercambio de informacin antes de establecer una comunicacin.

Confiabilidad: ambos protocolos ofrecen mecanismos para envo confiable de datos.

Orden: ambos envan mensajes en orden.

| Facultad de Ingeniera y Arquitectura 55

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Control de congestin: ambos ofrecen el mismo sistema de control ante congestin (Additive Increase/Multiplicative Decrease),

garantizando una competencia justa por el ancho de banda.

Fin de comunicacin: ambos intercambian mensajes para indicar el fin de una comunicacin.

10. Diferencias entre TCP y SCTP

Inicio de comunicacin: existe una diferencia en la implementacin. TCP usa 3-way-handshake, SCTP utiliza 4 mensajes, de forma de prevenir ataques del tipo SYN-Flooding.

Head-of-Line Blocking (HOL): el protocolo SCTP evita el HOL. Se produce debido a que TCP enva datos de forma ordenada, en un solo flujo de comunicacin. SI se produce una prdida, los datos ya enviados y recibidos correctamente, se mantienen en el buffer a la espera de la llegada del dato perdido.

Figura: Head-of-Line Blocking en los distintos protocolos.

| Facultad de Ingeniera y Arquitectura 56

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Para ejemplificar, se muestra en la figura anterior el envo de varios archivos por la misma conexin TCP. Si se produce una prdida del primer paquete, el resto de los paquetes (2-6) debern esperar a que llegue el paquete 1 retransimitido. En este caso si los paquetes de color son archivos independientes, se retrasa la llegada de stos a la capa de aplicacin. Una solucin, utilizando TCP para el mismo problema, es enviar los distintos datos a travs de distintas conexiones TCP, en paralelo (como HTTP). As, considerando el mismo ejemplo anterior, solo se retrasaran los datos de la conexin relacionada al paquete perdido, y no todos los datos de las otras conexiones. La desventaja de este tipo de conexin es la prdida de tiempo al iniciar/terminar una conexin, y el mal uso de recursos al tener varias conexiones TCP abiertas entre 2 hosts.

Debido a las caractersticas de SCTP, este problema no se da. Si se tiene solo una asociacin, y un stream, una prdida del paquete 1 no retrasa el paso de los datos de los paquetes 3-6 a la capa de aplicacin. Lo mismo pasa si se realiza el envo de datos distintos en flujos distintos. La diferencia en este caso, y ventaja, es que las distintas conexiones TCP no deben iniciarse desde capa de aplicacin, sino que la capa de transporte se encarga de dividir la informacin en distintos flujos, en una misma asociacin.

Ataques SYN: Un ataque SYN tcnica utilizada para provocar denegacin de servicio en un servidor web.

Fin de comunicacin: SCTP no tiene el estado HALF-CLOSED de TCP, en el cual uno de los extremos puede continuar enviando datos.

Multi-Homing/Multi-Streaming.

| Facultad de Ingeniera y Arquitectura 57

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP


EN RESUMEN

Los protocolos ms populares son el TCP y el UDP, el protocolo TCP es ms confiable y garantiza el envo y la recepcin ordenada de los segmentos y maneja la congestin de la red, mientras que la UDP es un protocolo no orientado a la conexin o tambin se le puede decir orientado a la transmisin por lo que no garantiza el envo y la recepcin ordenada ni la congestin de la red, sino que solo le importa transmitir los mensajes sin importar si todos los paquetes llegaron o no. Sin embargo UDP es un protocolo rpido y preserva los limites de los mensajes que transportan es decir enva los mensajes tal cual los recibos de la capa de aplicacin, a diferencia de TCP se reacomoda los paquetes de acuerdo al tamao de la ventana de transmisin. Las funciones de SCTP, tambin provee confiabilidad y envo ordenado de los mensajes as como TCP, pero opera de manera similar a UDP, preservando los limites de los mensajes y provee adicionalmente los siguientes servicio: multi-homig, multi_streaming, Initiation protecction, message framing, graceful shutdown, etc. El protocolo SCTP monitoriza el camino que esta fuera de servicio usando un heartbeat, entonces el mensaje se enva peridicamente, SCTP permite configurar de modo que usen todas las interfaces en conjunto. Tambin SCTP soporta mltiples streams en una misma asociacin, tambin garantiza que el tamao del paquete enviado ser el mismo que el paquete ledo al otro extremo.

| Facultad de Ingeniera y Arquitectura 58

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

CONCLUSIONES

El protocolo SCTP ofrece la posibilidad de multi-streaming, sin embargo se debe de tener cuidado en la seleccin de la cantidad de streams a usar, mientras se enven una mayor cantidad de mensajes en un tiempo dado ser mejor usar una mayor cantidad de flujos, pero no en exceso ya que se puede producir un overhead. TCP brinda un circuito virtual entre las aplicaciones del usuario final, adems es el responsable de dividir los mensajes en segmentos, reensamblar en el receptor, reenviar cualquier mensaje que no tenga acuse de recibo y reensamblar los mensajes a partir de los mensajes recibidos. El protocolo de transporte TCP incorpora ciertos mecanismos para actuar contra la congestin. Los protocolos orientados a cadenas se disean para enviar caracteres separados y no bloques, tramas, datagramas, etc. Los datos son enviados por un protocolo de nivel superior en forma de cadenas, byte a byte. Cuando llegan al nivel TCP, los bytes son agrupados para formar segmentos TCP. Dichos segmentos se transfieren a IP. El protocolo SCTP puede ofrecer mensajes de sealizacin a la aplicacin tan pronto como llegar al utilizar el servicio de orden porque la prdida de un mensaje de sealizacin no afecta a la entrega del resto de los mensajes y esto evita la lnea de bloqueo en el TCP, que se produce cuando mltiples capas superiores son multiplexadas dentro de una nica conexin TCP. UDP es generalmente el protocolo usado en la transmisin de vdeo y voz a travs de una red. Esto es porque no hay tiempo para enviar de nuevo

| Facultad de Ingeniera y Arquitectura 59

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

paquetes perdidos cuando se est escuchando a alguien o viendo un vdeo en tiempo real. En la familia de protocolos de Internet UDP proporciona una sencilla interfaz entre la capa de red y la capa de aplicacin. UDP no otorga garantas para la entrega de sus mensajes y el origen UDP no retiene estados de los mensajes UDP que han sido enviados a la red. UDP slo aade multiplexado de aplicacin y suma de verificacin de la cabecera y la carga til. TCP da soporte a muchas de las aplicaciones ms populares de Internet, incluidas HTTP, SMTP, SSH y FTP.

UDP ofrece los servicios mnimos de la capa de transporte; no ofrece transferencia confiable ni ordenada; tampoco ofrece un control de flujo, por lo que una aplicacin puede desbordar el buffer de recepcin del destinatario. Tampoco ofrece control de congestin. UDP no ofrece un nivel de confiabilidad necesario para algunas aplicaciones; por ejemplo, si se utiliza UDP, pero se necesita cierto nivel de confiabilidad, se deber implementar de forma externa los mecanismos de control, de retransmisin de paquetes, de deteccin y correccin de congestin en la red, entre otros. TCP ofrece todos estos servicios. Sin embargo, algunos servicios que entrega, por ejemplo, la entrega ordenada de paquetes, puede provocar importantes retardos. TCP no tiene soporte para hosts con mltiples interfaces.

El protocolo TCP enva un flujo de informacin no estructurado. Esto significa


que los datos no tienen ningn formato, son nicamente los bytes que una aplicacin enva a otra.

| Facultad de Ingeniera y Arquitectura 60

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

UDP utiliza el protocolo IP para transportar sus mensajes. Como vemos, no


aade ninguna mejora en la calidad de la transferencia; aunque s incorpora los puertos origen y destino en su formato de mensaje. El UDP se usa cuando no se necesita correccin de errores o al intercambiar mensajes de pregunta/respuesta entre dos protocolos de aplicacin. Hay herramientas que comparan el performance entre SCTP y TCP, y no as un versus UDP ya que no ofrece confiabilidad, y por lo tanto, tiene mayor throughput. En UDP la tarea de control suele ser delegada a la capa de aplicacin.

| Facultad de Ingeniera y Arquitectura 61

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP


RECOMENDACIONES

Con SCTP se puede crear diversos canales de conexin que trabajan en paralelo, de esta manera la transmisin entre cliente y servidor. TCP siempre ofrece un flujo ordenado de bytes a la aplicacin. Cabe sealar que SCTP no sea tan rpido como TCP si se utiliza como un buscar y reemplazar, aunque actualmente se demuestran casos en los que SCTP se puede utilizar para navegar por la web. Considerando los costes de gestin de hoy en da, las soluciones de gestin integrada para entregar servicios extremos a extremo eficientemente en un ambiente de mltiples capas heterogneos de la red constituyen un factor dominante para la introduccin de las nuevas arquitecturas de red, tecnologas, y servicios. Si la conexin se hace entre dos host muy diferentes en cuanto a velocidad, se puede llegar a una congestin. Cuando esto ocurre, es difcil recuperarse. Por eso hay que estudiar muy bien el mecanismo de control de flujo. Los segmentos TCP tiene una cabecera con una serie de campos de control y luego los datos. Para comenzar una sesin TCP hay que conectarse al receptor, cuando se ha confirmado la conexin ya se puede enviar datos en ambas direcciones. Cuando se cierra la conexin, el receptor ya no acepta datos pero el emisor los acepta hasta que termina de llegar la aceptacin de cierre del receptor. En el ao 2006 sali un protocolo Datagram Congestion Control Protocol (DCCP), Protocolo de Control de Congestin de Datagramas, DCCP es un nuevo protocolo de nivel de transporte orientado a los mensajes, se recomienda hacer un estudio de comparacin con el protocolo SCTP.

| Facultad de Ingeniera y Arquitectura 62

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP

Hacer un estudio ms profundo sobre los avances de SCTP sobre Windows y sobre las libreras que estn en desarrollo para Java. Realizar un estudio de aplicacin del protocolo SCTP en conjunto con el protocolo IPv6 a las redes celulares, SCTP/IPv6 mbil en lugar de TCP/IP.

| Facultad de Ingeniera y Arquitectura 63

Redes de Comunicaciones

Nivel de Transporte TCP, UDP, SCTP


BIBLIOGRAFIA

http://www.mailxmail.com/curso-redes-comunicaciones-internet-3/protocolos-niveltransporte-tcp-udp http://es.wikibooks.org/wiki/Redes_inform%C3%A1ticas/Protocolos_TCP_y_UDP_en _el_nivel_de_transporte http://consultasccna.comoj.com/informacion/tcpip/modelo/transudp.php http://es.wikibooks.org/wiki/Redes_inform%C3%A1ticas/Protocolos_TCP_y_UDP_en _el_nivel_de_transporte http://profesores.elo.utfsm.cl/~agv/elo323/2s10/projects/CaponaAhumada/comparaci on.html http://rr-sctp.googlecode.com/svn/trunk/paper/sctp.tex http://docencia.etsit.urjc.es/moodle/file.php/15/Curso_2010_2011/Teoria/4-transportenat-udp.pdf http://www.mfbarcell.es/docencia_uned/redes/tema_02/redes_cap_02.pdf http://dis.um.es/~lopezquesada/documentos/IES_0506/RAL_0506/doc/UT10.pdf http://growitsol.com/support/UABCS/RedesII/UnidadIII/Unidad-III.pdf

| Facultad de Ingeniera y Arquitectura 64

S-ar putea să vă placă și