miércoles, 16 de noviembre de 2016

5.4.5 ESTUDIO DE VARIAS PROPUESTAS PARA MEJORAR EL COMPORTAMIENTO DE TCP EN REDES MÓVILES.




Existen varios estudios dedicados al análisis de aspectos relacionados con el comportamiento de TCP en los entornos móviles En ellos se pone de manifiesto el bajo rendimiento del protocolo en diferentes entornos inalámbricos y se proponen estrategias para mejorarlo. A continuación, se resumen algunos protocolos que se han propuesto para mejorar el comportamiento del protocolo TCP en enlaces inalámbricos.

Protocolos de Nivel de Enlace: Aparecen varias propuestas en la bibliografía de protocolos para dar fiabilidad al nivel de enlace. Éstos utilizan básicamente dos técnicas: la corrección de errores utilizando técnicas tipo Forward Error Correction (FEC); y la retransmisión como respuesta a mensajes tipo Automatic Request Repeat (ARQ). Entre estas soluciones se encuentra CDMA, TDMA y AIRMAIL. Estos protocolos intentan esconder las pérdidas a TCP, no obstante, estas soluciones no aseguran que se resuelvan los errores satisfactoriamente. Por lo tanto, pueden interaccionar los mecanismos propios de TCP con los de recuperación a nivel de enlace (tales como temporizadores de retransmisión y reconocimientos duplicados), produciéndose retransmisiones a nivel de transporte de paquetes que pueden haber sido retransmitidos previamente por los mecanismos de nivel de enlace.


                                         Mecanismos de Solución:


Protocolos con conexión partida: Son aquellos que dividen en dos partes la conexión TCP establecida, independizando la parte fija de la parte móvil. En estas soluciones se rompe la semántica extrema a extremo de TCP. En la parte móvil se define un protocolo específico. En [YaB94] se proponen dos protocolos, en uno se usa TCP y en el otro se usa un protocolo de repetición selectiva sobre UDP. El estudio del impacto de traspasos en ambas soluciones concluye en que no se obtiene mejora en el segundo de los casos. Otro estudio [BPS97] presenta una optimización de retransmisión selectiva en TCP con el que sí que se obtienen mejoras significativas en entornos erróneos. En [BaB95, BaB97] se presenta el protocolo Indirect-TCP. Éste utiliza el protocolo TCP estándar en ambas conexiones (la de la parte fija y la de la parte móvil).
Los inconvenientes de esta solución son los inherentes al propio protocolo TCP en entornos móviles, ya que la interacción de los mecanismos contra la congestión interfiere de la misma forma. Finalmente, M-TCP, presentado en [BrS97] divide la conexión fija y móvil sin perder la semántica extrema a extremo de TCP. Esta propuesta es adecuada para solucionar los problemas de las desconexiones temporales debido a la movilidad, más que al efecto de los errores.


Protocolo “snoop” [BSK95]: Ésta es una solución híbrida entre las dos anteriores. Está diseñado para mejorar el comportamiento del protocolo en los casos de transferencia de datos de fijo a móvil (para el caso inverso deben añadirse mecanismos de reconocimiento negativo). Este protocolo introduce un módulo en la estación base, de forma que monitoriza la conexión TCP en ambas direcciones y guarda en “cache” los segmentos que han sido enviados y que no han sido reconocidos todavía. Si el agente detecta reconocimientos duplicados, éste los elimina y retransmite el paquete. De esta forma, la fuente TCP no detecta la pérdida del segmento.
Algunos inconvenientes de este protocolo son la memoria necesaria para el almacenaje de los paquetes y la complicación de la gestión de traspasos. No obstante, los más importantes son, por una parte, el hecho de que los reconocimientos deben seguir el mismo camino que los datos (sería el caso de varios enlaces móviles en la topología de la red o en topologías asimétricas).


Protocolos de Notificación explícita: Basado en diferenciar las pérdidas debidas a congestión o a errores. Una vez diferenciadas, se notifica al emisor que las pérdidas son debidas a una causa o a la otra, y se actúa en consecuencia. En [BKV97] se presenta el esquema Explicit Bad State Notification (EBSN), que se basa en la notificación de estados de error en caso de que no se reciban reconocimientos durante un cierto tiempo. Con este método se evitan, básicamente, los inconvenientes del algoritmo debackoff exponencial tras periodos de desconexión o altas tasas de error.


5.4.4 Control de flujo en TCP

5.4.4 Control de flujo en TCP

TCP usa control de flujo para evitar que un emisor envié datos de forma más rápida de la que el receptor puede recibirlos y procesarlos. El control de flujo es un mecanismo esencial en redes en las que se comunican computadoras con distintas velocidades de transferencia. Por ejemplo, si una PC envía datos a un dispositivo móvil que procesa los datos de forma lenta, el dispositivo móvil debe regular el flujo de datos.

TCP usa una ventana deslizante para el control de flujo. En cada segmento TCP, el receptor especifica en el campo receive window la cantidad de bytes que puede almacenar en el buffer para esa conexión. El emisor puede enviar datos hasta esa cantidad. Para poder enviar más datos debe esperar que el receptor le envié un ACK con un nuevo valor de ventana.

Receptor lee más despacio que lo que recibe (. . .)
Buffer se desbordaría

Receptor informa a emisor del espacio libre



Comunicación full-duplex
Por simplicidad hablaremos solo de un sentido



Buffers de emisión y recepción

Buffer circular (…)
Protocolo de Ventana Deslizante
Se confirma el último dato consecutivo recibido


Ventana deslizante en TCP

Por simplicidad analicemos solo un sentido



Por simplicidad analicemos solo un sentido
La aplicación receptora lee bytes del stream
            – La ventana se abre en el emisor
            – Se desliza en el receptor

5.4.3 CONTROL DE CONGESTIÓN EN TCP

5.4.3   CONTROL DE CONGESTIÓN EN TCP 

El método utilizado por TCP para control de la congestión es el basado en la regulación del tráfico inyectado a la red. Esto supone que implementa funciones que le permiten estudiar cuándo es posible enviar más tráfico por el enlace, y cuándo se ha superado la capacidad del mismo y se debe disminuir la carga.
TCP emplea 4 algoritmos relacionados entre sí a los efectos de efectuar el control de congestión. Ellos son conocidos con slow start, congestion avoidance, fast retransmit y fast recovery.

Slow-start es un algoritmo de control de congestión del protocolo TCP.Ni el emisor ni el receptor tienen forma de saber cuál es el máximo volumen de datos que puede transmitir la red, ninguno tiene información sobre los elementos de red que transmitirán la información. Si la red se satura comenzará a descartar paquetes, que tendrán que ser retransmitidos, lo cual puede incrementar aún más la saturación de la red. La solución que plantea este algoritmo, consiste en comenzar enviando un volumen de datos pequeño, que se irá aumentando hasta que la red se sature, en cuyo caso se reducirá la tasa de envío para reducir la saturación.


Para esto se cuenta con tres variables de estado del protocolo. Estas son cwnd (congestión window), que controla del lado de la fuente la cantidad de datos que se puede enviar sin haber recibido un ACK, rwnd (receiver’s advertised window) que indica la cantidad de datos que puede recibir el destino y ssthresh (slow start threshold) que indica en qué fase de control de congestión se encuentra el transmisor (slow start si es mayor que cwnd o congestion avoidance si es menor; de ser iguales, se puede utilizar cualquiera de los dos algoritmos).
El mínimo de cwnd y rwnd gobierna la transmisión.
El algoritmo slow start es utilizado al comienzo de una transmisión a los efectos de que TCP pueda testear la red y conocer su capacidad evitando congestionarla. También es utilizado en el momento de recuperación ante la pérdida de algún segmento, indicada por timeout. Luego del three-way handshake, el tamaño de la ventana inicial de envío (IW: initial window) debe ser menor o igual que 2 x SMSS1  bytes y no mayor a dos segmentos.
El valor de ssthresh debería ser lo más alto posible al comienzo y deberá reducirse en caso de congestión. Durante la fase slow start se aumenta cwnd en a lo sumo SMSS bytes por cada ACK recibido de datos nuevos entregados al receptor. Esta fase culmina cuando cwnd alcanza a ssthresh o cuando se detecta congestión.

5.4.2 El problema de movilidad con TCP



5.4.2 El problema de movilidad con TCP
Los problemas existentes se basan en la incapacidad de TCP de discriminar cuándo la performance de la conexión ha disminuido debido a pérdidas en el enlace, común en las tecnologías wireless, y cuándo es debida a congestión en la red. El problema radica en que el transmisor no puede determinar con cierto grado de certeza qué ha motivado la pérdida de un segmento.


Cuatro aspectos inherentes a redes wireless pueden afectar decisivamente la performance de TCP. Por un lado, el bit error rate (BER) del medio físico, que como ya mencionamos, puede ser del orden de 1x10-6 o peor. En segundo lugar, debemos considerar que el ancho de banda disponible es en general menor al disponible en medio cableados. Una tercera componente es la posible movilidad de los componentes de la red lo que puede implicar cambios importantes en los tiempos de entrega de los segmentos. Finalmente, es común que el protocolo de capa de Enlace y en particular de la sub-capa MAC así como el protocolo de enrutamiento utilizado implique necesariamente tener un overhead asociado a la movilidad y al aumento en la probabilidad de pérdida de tramas o paquetes.
A los efectos de fijar ideas podemos considerar como ejemplo de protocolo de sub-capa MAC a la familia de estándares de IEEE para Wireless Local Area Network (WLAN). En ellos se especifica que para el envío de cada trama de datos en el modo de operación Distributed Coordination Function (DCF) se emplee un método de control de acceso al mediom denominado carrier sense multiple access with collision avoidance (CSMA/CA), protocolo que busca reducir la probabilidad de colisiones entre múltiples estaciones a través del evitado de las mismas.


A los efectos de detectar portadora, además del mecanismo clásico de “escucha del medio” (detección física de portadora) se realiza una detección virtual de portadora utilizando four-way handshake, donde con dos tramas de control (RTS: Request To Send y CTS: Clear To Send) se reserva el medio, luego se envía la trama conteniendo los datos y posteriormente se espera una trama de control ACK que confirma su recepción. Lo anterior es una muestra clara del overhead involucrado, pero hasta aquí no hemos considerado la movilidad de las estaciones. Durante la misma, una estación móvil puede estar asociada a una estación base (BS) a través de la cual recibe las tramas que provienen por ejemplo de la red cableada y unos milisegundos después, deberá estar asociada a otra estación base a la cual la primera deberá enviar las tramas que tuviera almacenadas para dicha estación.

martes, 15 de noviembre de 2016

5.4.1 El protocolo TCP/IP


El modelo TCP/IP es un modelo de descripción de protocolos de red desarrollado en los años 70 por Vinton Cerf y Robert E. Kahn. Fue implantado en la red ARPANET, la primera red de área amplia, desarrollada por encargo de DARPA, una agencia del Departamento de Defensa de los Estados Unidos, y predecesora de la actual red 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 guías generales de diseño e implementación de protocolos de red específicos para permitir que un equipo pueda comunicarse en una red. TCP/IP provee conectividad de extremo a extremo especificando cómo los datos deberían ser formateados, direccionados, transmitidos, enrutados y recibidos por el destinatario. Existen protocolos para los diferentes tipos de servicios de comunicación entre equipos.


TCP/IP tiene cuatro capas de abstracción según se define en el RFC 1122. Esta arquitectura de capas a menudo es comparada con el Modelo OSI de siete capas.
El modelo TCP/IP y los protocolos relacionados son mantenidos por la Internet Engineering Task Force (IETF).


Para conseguir un intercambio fiable de datos entre dos equipos, se deben llevar a cabo muchos procedimientos separados.
El resultado es que el software de comunicaciones es complejo. Con un modelo en capas o niveles resulta más sencillo agrupar funciones relacionadas e implementar el software de comunicaciones modular.

Las capas están jerarquizadas. Cada capa se construye sobre su predecesora. El número de capas y, en cada una de ellas, sus servicios y funciones son variables con cada tipo de red. Sin embargo, en cualquier red, la misión de cada capa es proveer servicios a las capas superiores haciéndoles transparentes el modo en que esos servicios se llevan a cabo. De esta manera, cada capa debe ocuparse exclusivamente de su nivel inmediatamente inferior, a quien solicita servicios, y del nivel inmediatamente superior, a quien devuelve resultados.

  • Capa 4 o capa de aplicación: Aplicación, asimilable a las capas 5 (sesión), 6 (presentación) y 7 (aplicación) del modelo OSI. La capa de aplicación debía incluir los detalles de las capas de sesión y presentación OSI. Crearon una capa de aplicación que maneja aspectos de representación, codificación y control de diálogo.
  • Capa 3 o capa de transporte: Transporte, asimilable a la capa 4 (transporte) del modelo OSI.
  • Capa 2 o capa de internet: Internet, asimilable a la capa 3 (red) del modelo OSI.
  • Capa 1 o capa de acceso al medio: Acceso al Medio, asimilable a la capa 2 (enlace de datos) y a la capa 1 (física) del modelo OSI.

5.4 4G (micro movilidad)



En telecomunicaciones, 4G son las siglas utilizadas para referirse a la cuarta generación de tecnologías de telefonía móvil. Es la sucesora de las tecnologías 2G y 3G, y que precede a la próxima generación, la 5G.
Al igual que en otras generaciones la Unión Internacional de Telecomunicaciones (UIT) creó un comité para definir las generaciones. Este comité es el IMT-Advanced y en él se definen los requisitos necesarios para que un estándar sea considerado de la generación 4G. Entre los requisitos técnicos que se incluyen hay uno muy claro, las velocidades máximas de transmisión de datos que debe estar entre 100 Mbit/s para una movilidad alta y 1 Gbit/s para movilidad baja. De aquí se empezó a estudiar qué tecnologías eran las candidatas para llevar la “etiqueta 4G”. Hay que resaltar que los grupos de trabajo de la UIT no son puramente teóricos, sino la industria forma parte de ellos y estudian tecnologías reales existentes en dichos momentos. Por esto, el estándar LTE (Long Term Evolution) de la norma 3GPP, no es 4G porque no cumple los requisitos definidos por la IMT-Advanced en características de velocidades pico de transmisión y eficiencia espectral. Aun así la UIT declaró en 2010 que los candidatos a 4G, como era éste, podían publicitarse como 4G.
La 4G está basada completamente en el protocolo IP, siendo un sistema y una red, que se alcanza gracias a la convergencia entre las redes de cables e inalámbricas. Esta tecnología podrá ser usada por módems inalámbricos, móviles inteligentes y otros dispositivos móviles. La principal diferencia con las generaciones predecesoras será la capacidad para proveer velocidades de acceso mayores de 100 Mbit/s en movimiento y 1 Gbit/s en reposo, manteniendo una calidad de servicio (QoS) de punta a punta de alta seguridad que permitirá ofrecer servicios de cualquier clase en cualquier momento, en cualquier lugar, con el mínimo coste posible.


El WWRF (Wireless World Research Forum) pretende que 4G sea una fusión de tecnologías y protocolos, no sólo un único estándar, similar a 3G, que actualmente incluye tecnologías como lo son GSM y CDMA.


La empresa NTT DoCoMo en Japón, fue la primera en realizar experimentos con las tecnologías de cuarta generación, alcanzando 100 Mbit/s en un vehículo a 200 km/h. La firma lanzó los primeros servicios 4G basados en tecnología LTE en diciembre de 2010 en Tokio, Nagoya y Osaka.



Características técnicas

El concepto de 4G trae unas velocidades mayores a las de 301 Mbit/s con un radio de 8 MHz; entre otras, incluye técnicas de avanzado rendimiento radio como MIMO y OFDM. Dos de los términos que definen la evolución de 3G, siguiendo la estandarización del 3GPP, serán LTE para el acceso radio, y SAE (Service Architecture Evolution) para la parte núcleo de la red.
Los requisitos UIT y estándares 4G indican las siguientes características:
  • Para el acceso radio abandona el acceso tipo CDMA característico de UMTS.
  • Uso de SDR (Software Defined Radios) para optimizar el acceso radio.
  • La red completa prevista es todo IP.
  • Las tasas de pico máximas previstas son de 100 Mbit/s en enlace descendente y 50 Mbit/s en enlace ascendente (con un ancho de banda en ambos sentidos de 20 MHz)

5.3.4 Clases de servicio


ATM puede transportar cualquier tipo de información, y por lo tanto cuenta con mecanismos que le permiten manejar de manera diferente cada tipo de comunicación que viaja a través de su red.

El mecanismo con que cuenta ATM Para diferenciar los tipos de información que transporta es la calidad de servicio (Q o S), el cual se ha dividido por la ITU-T en cuatro clases denominadas A, B, C y D. Existe todo un compendio acerca de estas clases de servicios por lo tanto solo mencionare algunos detalles de cada uno de ellos como son:

Los controladores de entrada (IC), el conmutador principal (SF) y los controladores de salida (OC) se encargan de ejecutar en hardware todas las funciones de procesamiento para cada celda.
El procesador de control (CP) se necesita únicamente para funciones de alto nivel, como: establecer y liberar una conexión, distribuir el ancho de banda, mantenimiento y administración. Todas las entradas de los controladores están generalmente sincronizadas; así, todas las celdas entran por el SF alimentando sus encabezados. El SF opera sincrónicamente y típicamente durante cada ranura de tiempo; se puede transmitir una celda a través del SF desde cada controlador de entrada.

En los controladores de entrada se analiza el encabezado para determinar el puerto de salida, utilizando la tabla de enrutamiento. En algunas construcciones, en esta etapa se agrega a la celda una etiqueta. En los controladores de entrada, de salida y en el conmutador principal (matriz de conmutación) se puede almacenar temporalmente las celdas. Dependiendo de donde se encuentre el almacenamiento principal, se cuenta con conmutadores de almacenamiento de entrada, de matriz o de salida. Aun cuando las interfaces del conmutador deber ser entandares, la arquitectura interna de este es un diseño libre para el fabricante, es decir, es de arquitectura propia.
  • Clase A: Servicio de tasa constante orientado a conexión, con señal de reloj de extremo a extremo.
  • Clase B: Servicio de tasa variable orientado a conexión con señal de reloj de extremo a extremo.
  • Clase C: Servicio de tasa variable orientado a conexión pero sin necesidad de señal de reloj.
  • Clase D: Servicio de tasa variable orientado a no conexión, sin la necesidad de señal de reloj.