sábado, 22 de febrero de 2014

Capa de Sesión del modelo OSI

Capa de Sesión del modelo OSI.-

La capa de Sesión, también conocida como la capa 5 del modelo OSI, podría verse como un conjunto de herramientas al servicio de los programadores que, permite enriquecer y estructurar el diálogo entre procesos de aplicación.

Algunos de los servicios que proporciona esta capa son:
  • Establecimiento, mantenimiento y finalización de las sesiones.
  • La gestión del diálogo y las actividades.
  • La sincronización y recuperación de la comunicación.
  • La gestión de permisos para realizar acciones o comunicaciones (tokens).
La capa de Sesión permite que los usuarios de diferentes dispositivos establezcan sesiones entre ellos, mediante las cuales puedan llevarse a cabo un transporte de datos ordinario, de la misma forma que lo haría la capa de Transporte, pero de una manera más refinada, mejorando el servicio de esta última. Por otro lado, cabe decir que la capa de Sesión no es imprescindible, porque muchas aplicaciones no llegan a necesitar de sus servicios.

Para entender esto, podríamos comparar la capa de Transporte como el puente que permite cruzar un río, y que además te da la opción de cruzar el puente andando o en coche, pero sin un flujo continuo, totalmente descontrolado. En este ejemplo, podríamos decir que la capa de Sesión, se correspondería con una línea de autobús que atraviesa el puente de forma regular en el tiempo, siguiendo unas normas y unos horarios establecidos es decir, con un control relativo. El autobús no es necesario, pero es un medio de transporte del que se dispone de forma opcional para todo aquel que no disponga de los medios para atravesar el puente.

De lo anterior, sacamos como conclusión importante, que toda conexión de la capa de Sesión en la que se produzca un intercambio de datos, necesita de la existencia de una conexión entre las capas de Transporte de los diferentes dispositivos, pero esto no quiere decir que la una conexión de Sesión no se pueda prolongar más allá de una conexión de transporte. ¡ Menudo lio mental que tenemos ahora! ¿verdad?. Veamos el siguiente gráfico para comprenderlo.
Formas de correlacionar sesiones sobre conexiones de transporte.

En el apartado a), se puede apreciar como a lo largo de la línea del tiempo, tanto la conexión de Transporte como la conexión de Sesión tienen la misma duración de tiempo, mientras en el apartado b), tenemos dos conexiones de Sesión en una sola conexión de Transporte y, finalmente vemos el último caso en el que a lo largo de la línea de tiempo se producen dos conexiones de Transporte mientras que la conexión de Sesión no se ha interrumpido en ningún momento.

Una de las principales características del modelo OSI es, que todas las comunicaciones son full-dúplex, es deir, que las PDU (Unidad de Datos de Protocolo) se pueden mover en ambas direcciones sobre la misma conexión.
Partiendo de la premisa anterior, una conexión de transporte se define como una conexión full-dúplex, a partir de aquí podemos tratar una de las características de la capa de Sesión, la cuál permite que una Sesión puede estructurarse como half-dúplex, pudiendo haber comunicación en ambos sentidos pero no al mismo tiempo, sino teniendo que establecerse turnos en la transmisión o que, en un momento dado, sólo uno de los extremos de la sesión está facultado para enviar datos. Para ello, la capa de sesión ofrece la posibilidad de usar un testigo (Token) de transmisión que se posee, se pide y se cede por parte de ambos extremos.
Otra de las características de la capa de sesión, es que ofrece mecanismos para sincronizar o "marcar" el diálogo entre sus ususarios a través de la inserción de puntos de sincronización de los que esisten dos tipos: mayores (major sync point) y menores (minor sync point). Esto permite que si durante una comunicación se pierde la conexión, sea posible volver a un estado anterior que sea conocido, lo cual es conocido como resincronización.Como mucho se puede retroceder no más allá del punto de sincronización mayor anterior. El uso de la resincronización depende del proceso de aplicación. Podría servir para recuperar una situación de error originada por la aplicación y no por un error de comunicación, ya que este sería solventado por la capa de transporte.
Como ejemplo, podríamos imaginar la impresión de un libro en un impresora remota, para ello la sesión se debe de estructurar con puntos de sincronización menor para cada página y puntos de sincronización mayor para cada capítulo; imaginemos que en un momento determinado, la impresora se queda sin tinta imprimiendose varías páginas defectuosas o en blanco antes de ser sustituido el cartucho.
Ante esta situación, la capa de transporte, no puede resolver este problema originado por el proceso de aplicación. Las funciones de resincronización de la capa de sesión, permitirá reanudar el proceso de impresión a partir del punto donde se inició el fallo.




jueves, 13 de febrero de 2014

Capa de Presentación del modelo OSI

La capa de presentación del modelo OSI.-

La capa de presentación, está íntimamente relacionada con el significado y el formato de los datos intercambiados entre aplicaciones ejecutadas entre diferentes dispositivos. Esta capa ofrece un servicio de intercambio de información, es decir, no sólo se limita al simple intercambio de grupos de bytes, sino algo con significado (textos, vectores, matrices de números enteros o reales, sonidos, imágenes, etc.).
La principal misión del modelo OSI, era la interconexión de sistema abierto, con lo que se debía resolver el problema de los diferentes formatos con los que cada sistema representaba localmente su información (dependiente del fabricante del sistema, del hardware y del sistema operativo). Ahí es donde interviene realmente la capa de presentación.

Funciones de la capa de presentación.

En el modelo OSI, la capa de presentación tienen tres funciones:
  • La representación común de la información (formatos, conversiones).
  • Seguridad en el intercambio de la información (privacidad, protección y autenticación).
  • Compresión de la información.
Examinemos un poco más en profundidad estas tres funciones de la capa de presentación.

La representación común de la información.

Con el siguiente ejemplo, comprenderemos el porqué de una representación común.
Como ya sabemos, los sistemas informáticos no entienden de textos, letras, número, imágenes ni sonidos. Estos sistemas, sólo entienden el lenguaje del sistema binario agrupado en bytes (conjunto de 8 bits), todo lo demás, para ellos es una simple representación gráfica basada en un conjunto de bits.
La interpretación de ese conjunto de bits, depende del código utilizado y, entre los más usados son EBCDIC (Extended Binary Coded Decimal Interchange Code) y ASCII (American Standard Code for Information Interchange).
El código EBCDIC, era el utilizado por los sistemas de la marca IBM para la representación de la información textual, mientras que la mayor parte de los demás, usan el código ASCII. Como se podrá ver en las imágenes de las tablas que os proporciono al final de esta entrada, existen algunas diferencias entre las equivalencias de los bytes y la representación de estos. En esta situación, es evidente que, si un sistema IBM intercambia un texto con otro sistema, se perdería completamente su significado. También cabe destacar que algunos sistemas almacenan los número enteros en su memoria o disco con el bit más significativo en primer lugar, mientras que otros lo hacen en el bit menos significativo en primer lugar; sin entrar en la manera en la que cada sistema representa a los número reales (¿Cuántos bits para la mantisa? ¿Cuántos para el exponente? ¿En que formato?).
Cuando se plantea el problema de cómo intercambiar información de manera transparente entre sistemas por parte de la capa de presentación cabe plantearse tres alternativas:
  • Conversión del formato de origen al formato del sistema destino (Una vez recibida la información).
  • Conversión del formato de origen al formato del sistema destino (Antes de mandar la información).
  • Conversión a un formato común (Antes de mandar la información) y conversión al formato de destino (Una vez recibida la información).
La capa de Presentación optó por la última opción, convirtiendo la información a un formato común antes de mandar la información, y el sistema destino se encarga de convertir, una vez recibida la información a su propio formato.
Se desecharon las dos primeras opciones puesto que, para que estos sistemas fueran efectivos, era necesario que cada sistema tuviera algoritmos de traducción a/de cada uno de todos los posibles formatos que pudiera utilizar cualquier sistema de cualquier fabricante y esa cantidad de algoritmos crecería de manera exponencial, algo que sería insostenible.

La seguridad en el intercambio de la información.

Otra de las funciones importantes en la capa de Presentación y que cada día cobra más importancia, es la privacidad, protección y autenticación de los mensajes que circulan por una red insegura como Internet.
Se entiende por privacidad, en este caso, el hecho de que un mensaje (M) con origen en un "Usuario A" destinado al "Usuario B", no pueda ser leído por un tercer "Usuario C" que haya podido interceptar el mensaje en la red.
Esto se logra mediante la criptografía de "Clave pública o cifrado asimétrico". Cada usuario que desee intervenir en un intercambio seguro de información, debe de poseer una clave de dos partes: una Clave Pública Kp y una Clave Secreta Ks. La clave pública (Kp), se deposita en una base de datos al alcance de cualquier otro usuario, mientras que la clave secreta (Ks), es mantenida en secreto por su usuario y nunca viajará por la red.
El siguiente ejemplo, servirá para entender cómo funciona el procedimiento de cifrado/descifrado asimétrico:
Un usuario A, se dispone a mandar un mensaje cifrado a un usuario B:
  • El usuario A, redacta en mensaje de texto en claro (M).
  • La capa de presentación del usuario A, aplicará el "algoritmo de cifrado (EA)" utilizando la clave pública del usuario B o de destino (KpB), que como decíamos, está al alcance de cualquier usuario.
  • Tras aplicar el algoritmo de cifrado, el mensaje en claro (M), se habrá convertido en un mensaje cifrado (X) que viajará por un canal inseguro (Internet), hasta llegar al usuario B.
  • Ahora, será la capa de Presentación del usuario B la que se encargue de descifrar el mensaje cifrado (X), aplicando el algoritmo de descifrado (AE) mediante la clave secreta del usuario B (KsB).
  • El resultado del paso anterior, será el mensaje en claro (M).


Proceso de cifrado de mensaje
En la actualidad, los mensajes no sólo se pueden enviar de forma segura proporcionando privacidad y protección, sino que también se pueden firmar digitalmente, de forma que el receptor del mensaje, tenga la seguridad de quien ha sido el originador de este. Esto se conoce como el principio de "no repudio", es decir, el emisor no puede retractarse de haber generado el mensaje.
A continuación, explicamos cual es el proceso que se sigue para el caso de un usuario A que desea enviar un mensaje firmado digitalmente y cifrado, a un usuario B:
  • El usuario A, redacta el mensaje de texto en claro (M).
  • La capa de Presentación aplicará el "algoritmo de cifrado (EA)" utilizando la clave secreta del usuario A (KaA), quedando el mensaje firmado digitalmente (F).
  •  La capa de Presentación aplicará el algoritmo de cifrado (EA) al mensaje firmado (F), pero esta vez utilizará la clave pública del usuario B (KpB), dando como resultado un mensaje cifrado y firmado digitalmente (XF), dispuesto para enviarse a través del canal inseguro (Internet).
  • Ahora, será la capa de Presentación del usuario B quien se encargue de descifrar el mensaje (XF) aplicando el algoritmo  de descifrado (EA), utilizando inicialmente la clave secreta del usuario B (KsB), dando como resultado el mensaje (F)
  • Sobre el mensaje (F), la capa de presentación aplicará nuevamente el algoritmo de descifrado con la clave pública del usuario A (KpA), obteniendo como resultado el mensaje original (M).
 
Proceso de Firma digital y cifrado.
  

Compresión de la información.

La última función de la capa de presentación, es la compresión de la información, cuya finalidad es la de reducir el número de octetos (bytes) con el que se representa la información. Sus ventajas son principalmente, la reducción de los costes del uso de las redes, el aumento del rendimiento (mayor velocidad de transferencia en redes lentas, mejor aprovechamiento del ancho de banda disponible) y la reducción de los errores al tener que transmitir una menor cantidad de bytes.
La compresión, puede ser:
  • Con perdidas: Donde la información que se recuperó tras someterse al proceso de compresión, no es idéntica a la original, pero si suficiente para los propósitos establecidos. Este tipo de compresión, se utiliza para los ficheros de sonido e imágenes fijas o en movimiento. Algunos ejemplos para este tipo, son: los algoritmos de GIF, JPEG, MPEG para imágenes y video, y GSM, MP3 o MP4 para ficheros de sonido.
  • Sin pérdidas: Donde la información recuperada tras el proceso de compresión, es exactamente igual a la original. Se suele utilizar para la compresión de textos, códigos ejecutables, etc. Algunos ejemplos para este tipo, son: los conocidos ficheros .ZIP o .RAR.

Tablas de código ASCII y EBCDIC:

Tabla 1

Tabla 2

Tabla 3

Tabla 4

Tabla 5

Tabla 6

Tabla 7

Tabla 8
En las anteriores tablas, podemos consultar las equivalencias de las diferentes representaciones de simbolos con el lenguaje binario, decimal y hexadecimal. Si alguno de los símbolos aqui representados no los viesemos en el teclado de nuestra computadora, podemos lograr que el sistema lo represente mediante la combinacion de la tecla "alt + [nº decimal de la tabla]", para comprobarlo, se puede abrir un editor de texto (bloc de notas, word, ... ) y como ejemplo intentar representar el símbolo "$" mediante la siguiente combinacion de la tabla 2,  mantener pulsada la tecla alt mientras tecleamos el número 36, seguidamente soltamos la tecla alt y el resultado será $.

sábado, 8 de febrero de 2014

Capa de Aplicacion del Modelo OSI

En la anterior entrada, habíamos hecho una pequeña introducción al estudio de las capas y al modelo de referencia OSI.
En el estudio de las redes informáticas, siempre se pasa de puntillas por las capa de aplicación, presentación y sesión, así que para no caer en este error, he decidido hacer una pequeña exposición sobre ellas, de manera que no sean las grandes desconocidas del modelo OSI.

LA CAPA DE APLICACIÓN.-

La capa de aplicación, es la intermediaria o también conocido como interfaz, entre las aplicaciones o programas que utilizamos para comunicarnos y la red en la que se trasmiten los mensajes, entendiendo "mensajes" como el conjunto de datos que trasmitimos.

La capa de aplicación, está compuesta por:
  • Aplicaciones.
  • Servicios.
  • Protocolos.
Dentro de la capa de aplicación, podemos encontrar dos tipos de programas o aplicaciones:
  • Aplicaciones de red.
  • Servicios de la capa de aplicación.

Aplicaciones de red.

Las aplicaciones, son aquellos programas que utiliza el usuario para comunicarse en la red, ya sean programas de mensajería, navegadores web, clientes de correo electrónico (Outlook, Lotus notes,...) etc.

Servicios.

Los servicios, son los programas que el usuario no ve, pero se están ejecutando para que las aplicaciones funciones correctamente. Estos servicios, son por ejemplo, la transferencia de archivos, funciones de prioridades en red, colas de impresión en red, etc.
Los servicios, deben implementar varios protocolos, ya que son muchas las aplicaciones que se comunican en la red.

Protocolos.

Los protocolos de la capa de aplicación son aquellos que se utilizan para intercambiar los datos entre los programas que se están ejecutando en el origen y el destino.
Algunos de los protocolos utilizados en esta capa de aplicación son:
  • Protocolo de Servicio de Nombres de Dominio. (DNS, Domain Name Services).
  • Protocolo de Transferencia de Hipertexto. (HTTP, Hypertext Transfer Protocol).
  • Protocolo de Seguro de Transferencia de Hipertexto.( HTTPS, Hypertext Transfer Protocol Secure).
  • Protocolo Simple de Transferencia de Correo. (SMTP, Simple Mail Transfer Protocol).
  • Protocolo de emulación de Terminal (TELNET, TELecommunication NETwork).
  • Protocolo de Transferencia de Ficheros. (FTP, File Transfer Protocol).
Todos estos protocolos, proporcionan la información de control y su formato necesario para las funciones de comunicación más comunes dentro de Internet.

Funciones de los protocolos.

Como se había comentado en otra de mis entradas, los protocolos establecen reglas para el intercambio de datos entre las diferentes aplicaciones y servicios instalados en los dispositivos de origen y destino dentro de una red.
Además se encargan de estructurar los mensajes que se envían entre origen y destino.
Cada protocolo, realiza una acción específica y que por este motivo son muchísimos protocolos existentes hoy en día.
Para que la comunicación sea exitosa, tenemos que tener implementados tanto en el origen como en el destino los mismos protocolos.

Con esta entrada, ya debería quedar un poquito más claro cuales son las funciones de la capa de aplicación, al menos espero haber logrado esto.

domingo, 24 de noviembre de 2013

Comunicación a través de la Red. Modelo de capas.

Estudiar el funcionamiento de una red como un solo conjunto, se hace complicado, tanto de explicar como de comprender. Existen muchos protocolos / reglas y factores que intervienen en la transmisión de un mensaje mediante una red informática y, es por este motivo por el que se ha optado por el "divide y vencerás".

Aunque en principio, esta entrada parece un tanto pesada, os puedo asegurar que es de las más importantes para poder seguir el hilo de las comunicaciones a través de la gran red de Internet.

En la entrada del 2 de noviembre de 2013, "Elementos de una red", ya habíamos hablado de forma muy vaga de los "protocolos de comunicación", en donde se decía que se trataban de reglas que se establecían para que una comunicación fuera exitosa.

Cuando mantenemos una conversación de viva voz entre dos personas, también utilizamos protocolos, aunque no seamos conscientes de ellos. Uno de esos protocolos, consiste en que las personas que intervienen en la conversación se turnen para hablar, de forma que no se interrumpan los unos a los otros y pueda haber un entendimiento, es decir, mientras uno habla, el resto se mantiene a la escucha.

Otro protocolo es el idioma que se utilizará. Si el interlocutor habla en inglés pero el resto de oyentes no conocen el idioma, no existirá comunicación entre ellos, con lo que han de buscar un lenguaje común a todos los intervinientes en la conversación.

Otro protocolo a establecer, será para la comprobación de errores en la comunicación. Es posible que en un momento determinado, no se haya entendido lo que el interlocutor ha querido decir, para lo cual, el oyente ha de solicitar que se repita el mensaje.

Todos estos protocolos, son independientes entre sí, pero deben trabajar como uno solo, como un conjunto, suite o stack a lo largo de la comunicación.

En informática, ocurre lo mismo que en lo explicado anteriormente. Tomemos como ejemplo la interacción entre un servidor web y un explorador web. Para que un explorador web como "Internet Explorer" o "Firefox" puedan visualizar una página web del servidor, se utilizan varios protocolos y estándares en el proceso de intercambio de información entre ellos. Los distintos protocolos, aunque independientes, trabajarán en conjunto para asegurar que ambas partes se reciben y entienden los mensajes. Algunos de los protocolos que intervienen en este ejemplo son:

Protocolo de transferencia de hipertexto (http), define el contenido y el formato de las solicitudes y respuestas intercambiadas entre el cliente y el servidor. En algunas comunicaciones con un servidor web, es necesario establecer una comunicación más segura, con lo que el protocolo a utilizar podrá ser el protocolo de transferencia de hipertexto seguro (https).
En cualquier caso, tanto "http" como "https" se basan en otros protocolos para regir la manera en que se transportan los mensajes entre el cliente y el servidor.

Protocolo de control de transmisión (TCP). Es el encargado de dividir los mensajes "http" en pequeñas partes llamadas segmentos, para enviarlas al cliente destino, también es responsable de controlar el tamaño y los intervalos a los que se intercambian los mensajes entre servidor y cliente.

Protocolo de Internet (IP). Es el responsable de utilizar los segmentos del protocolo de transporte y encapsularlos en paquetes, asignarles direcciones correctas y seleccionar la mejor ruta hacia el destino.

Protocolos de acceso a la red. Tiene dos funciones: la administración del enlace de datos y la transmisión física de los datos en los medios. La administración de enlace, coge los paquetes IP y les da formato para transmitirlo por los medios. La función de transmisión física, se encarga de buscar la manera en la que se envían las señales por los medios, es decir, si serán señales eléctricas, luminosas o señales radio frecuencia.

LOS MODELOS DE CAPAS
 
 En estas líneas anteriores, hemos visto como interactúan varios protocolos en una misma comunicación. Mediante un modelo de capas, podremos situar los protocolos de forma independiente. Se trata de seccionar esa comunicación y ver que protocolos intervienen en cada fase o capa.

La comunicación en capas, no sólo facilita su estudio, también fomenta la competencia, ya que los productos de diferentes proveedores podrán trabajar en conjunto, siendo compatibles entre sí, al mismo tiempo proporciona un lenguaje común para describir las funciones y capacidades de red, al igual que evita que los cambios en las tecnologías o en las capacidades de una capa afecten a otras.

Los modelos de capas en networking, se pueden resumir en dos tipos básicos: modelos de protocolos y modelos de referencia.

Modelos de protocolo:

El modelo de protocolo por excelencia y, más conocido es el de Internet, también conocido como TCP/IP. Un modelo de protocolo, es aquel que coincide fielmente con la estructura de una suite, stack o conjunto de protocolos en particular. El modelo Internet, consta de cuatro capas ordenadas:

Modelo TCP/IP
Modelo de referencia:

Un modelo de referencia, es una guía común para mantener consistencia en todos los tipos de protocolos y servicios de red. Su principal propósito es, asistir en la comprensión más clara de las funciones y los procesos involucrados en la comunicación.

El modelo de referencia más extendido por su uso es el "Sistema Abierto de Interconexión, del inglés Open System Interconexion (OSI)". Este modelo, está estructurado en 7 capas:

Modelo OSI
Modelo de protocolo TCP/IP:

El modelo de protocolo TCP/IP, describe la función de los protocolos que forman el conjunto de protocolos TCP/IP. Estos protocolos se implementan tanto en el dispositivo emisor como en el dispositivo receptor.

En el proceso de comunicación, los datos irán bajando al stack de protocolos hasta que se transmitan por los medios de la red. A lo largo del stack, los diferentes protocolos irán agregando información en cada capa, esto se conoce como proceso de encapsulación.

La forma que adopta una sección de datos en cualquier capa, se denomina Unidad de Datos del Protocolo (PDU). Durante la encapsulación, cada capa encapsula las PDU que recibe de la capa superior. En cada capa, las PDU,s reciben un nuevo nombre.
  • capa de aplicación. Las PDU,s reciben el nombre de Datos.
  • capa de transporte. Las PDU,s reciben el nombre de Segmentos.
  • capa de Internet. Las PDU,s reciben el nombre de Paquetes.
  • capa de acceso a la red. Las PDU,s reciben el nombre de Tramas.
Para explicar el proceso de comunicación mediante el modelo TCP/IP, utilizaremos como ejemplo el envío de un e-mail.
  1. Capa de aplicación. En esta capa, es donde se generan los datos, que en este caso se generan con una aplicación de correo como puede ser "Outlook" o "Lotus Notes". Cuando los datos hayan sido generados, se pasarán a la capa de transporte.
  2. Capa de transporte. Cuando reciba los datos, lo primero que hace es dividirlos en porciones más pequeñas. A cada porción le va a añadir una etiqueta que se denomina encabezado TCP, el cual contiene información sobre qué procesos se deben de ejecutar en la computadora destino para reensamblar nuevamente os datos a su formato original. Todo esto lo encapsulará y es lo que se denomina segmentos.Una vez acabado este proceso, los segmentos seguirán bajando por el stack de protocolos hacia la capa de Internet.
  3. Capa de Internet. Recibirá los segmentos generados por la capa de transporte y aquí el protocolo IP les agregará una etiqueta denominada encabezado IP, que contendrá las direcciones IP o direcciones lógicas del dispositivo origen y destino. Todo ello lo encapsulará, generando las PDU,s denominadas paquetes y, los pasará a la capa de acceso a la red.
  4. Capa de acceso a la red. Recibe los paquetes de la capa de Internet. Aquí añade la etiqueta de encabezado de trama que contiene las direcciones físicas (MAC) del dispositivo origen y destino y, además se añade un trailer, que contiene información de verificación de errores. Finalmente, los bits se codifican en el medio Ethernet mediante la tarjeta de red del dispositivo.
**Todo este proceso, se invierte en el dispositivo final. Los datos se irán desencapsulando mientras suben el stack hacia la aplicación del usuario final.
 
Proceso de envio/recepción a través del Modelo Internet
 Modelo de referencia OSI:
 
Como modelo de referencia, OSI proporciona una amplia lista de funciones y servicios que pueden producirse en cada capa. También describe la interacción de cada capa con la capa inmediatamente superior e inferior.
Cuando se habla de las capas del modelo OSI, al contrario que en TCP/IP que se utilizan los nombres de cada capa para referirse a ellas, en OSI sólo se hace referencia al número de capa y no al nombre.
 
Si comparamos los modelos OSI y TCP/IP, encontramos ciertas similitudes que inicialmente se ven en la imagen.
Similitudes entre OSI y TCP/IP
 En el modelo OSI, la capa de aplicación y de acceso a la red del modelo TCP/IP, están subdivididas para describir funciones discretas que deben de producirse en estas capas.
 
Las capas 7, 6, y 5 del modelo OSI, se utilizan como referencias para proveedores y programadores de software de aplicaciones para fabricar productos que necesitan acceder a las redes para establecer comunicaciones.
 
La capa 4, se utiliza para describir servicios o funciones generales que administran conversaciones individuales entre el dispositivo origen y destino. Entre estas funciones están los acuses de recibo, recuperación de errores y secuenciamiento para reconstrucción de los datos.
 
La capa 3 se utiliza para analizar y documentar el rango de los procesos que se producen en todas las redes de datos para direccionar y enrutar mensajes a través de una internetwork. Direccionamiento lógico.
 
Las capas 2 y 1, analizan los procedimientos necesarios para tener acceso a los medios físicos y medios para enviar datos por una red. Direccionamiento físico (MAC).
 

lunes, 18 de noviembre de 2013

Arquitectura de Internet




Uno de los requisitos de Internet, es la capacidad de admitir una gran variedad de aplicaciones, servicios y protocolos a través de toda la maraña de conectividad de la red. Esto es lo que se considera una red convergente, capaz de permitir la convivencia de los mensajes telefónicos, imagen, televisión y datos. Existen cuatro características básicas para cumplir con las exigencias de los usuarios:

  • La tolerancia a fallos.
  • Escalabilidad de la red.
  • Calidad de servicio (QoS).
  • La seguridad.
La tolerancia a fallos, consiste en limitar el impacto de un fallo de software o de hardware y recuperarse rápidamente cuando se produce el fallo. Las redes, dependen de enlaces o rutas redundantes entre el origen y el destino. Si un enlace falla, los procesos se encargan de garantizar que los mensajes pueden enviarse de forma instantánea hacia otro enlace de manera transparente para los usuarios.
La escalabilidad, consiste en permitir que una red se expanda rápidamente para admitir nuevos usuarios y aplicaciones sin afectar al rendimiento. Esta característica, depende de un diseño jerárquico en capas para la infraestructura física y la arquitectura lógica.
Calidad de Servicio (QoS), Internet es una red convergente, es decir, permite el tráfico de datos, voz, vídeo en vivo, cada uno de estos tipos de mensajes tienen protocolos y requisitos diferentes. Tanto voz como video, requieren de un nivel de calidad consistente y un envío ininterrumpido que permita la calidad en la recepción para evitar retardos típicos, como son el retardo de la imagen con respecto al sonido cuando realizamos una videoconferencia. Estos requisitos no eran necesarios para mensajes de datos o correos, que si permiten un cierto retardo. La calidad de servicio, se administra en el router, garantizando que las prioridades coincidan con el tipo de comunicación y su importancia dentro de la organización, dando prioridad a los mensajes de voz y video, y quitando prioridad a la navegación web.

En cuestión de seguridad, Internet ha ido evolucionando desde una red únicamente educativa y gubernamental estrechamente controlada hacia un medio accesible para la transmisión de comunicaciones empresariales y personal que requerían de un mayor nivel de seguridad para mantener la confidencialidad de los mensajes. Para ello, se han ido implementando muchas herramientas y procedimientos para combatir los defectos de seguridad en la arquitectura de red.
 
Tolerancia a fallos:


Uno de los objetivos del Departamento de Defensa de los EEUU, en los principios del Internet, era tener un medio de comunicación  que pudiera soportar la destrucción de numerosas instalaciones de transmisión sin que se interrumpiera el servicio, es decir, la tolerancia a fallos era el objetivo principal del diseño del internetwork.
Se tomó como punto de partida, la red de telefonía, una red orientada a la conexión conmutada por circuitos, a partir de la cual, estudiarían que se podría hacer para mejorar el nivel de tolerancia a fallos.
 
Red orientada a la conexión conmutada por circuitos.
 
 
Como se ha podido ver en el vídeo, cuando una persona inicia una llamada con un teléfono tradicional, las centrales comienzan un proceso de configuración en el que se identifican todas las conmutaciones entre el origen de la llamada y el abonado destino de la llamada. En este proceso, se establece una ruta temporal de extremo a extremo, que se mantendrá durante el tiempo que dure la comunicación.
 
El problema, se plantea en el momento en que falle uno de los dispositivos intervinientes en el circuito temporal, en ese instante, la llamada se cae. Para volver a recuperar la comunicación, se ha de realizar una nueva llamada, creándose un nuevo circuito.
 
La solución a este problema, fueron las redes sin conexión conmutadas por paquetes. La filosofía para este tipo de redes, parte de que un mensaje puede dividirse en múltiples bloques de mensajes más pequeños denominados paquetes. En cada uno de estos paquetes, se incluye la información de direccionamiento origen y destino final y un número de secuencia para el ensamblaje del mensaje. De esta forma, se pueden enviar por la red a través de diversas rutas esos paquetes y que al llegar al destino, en el orden en el que lleguen, se puede volver a rearmar el mensaje original.
 
En una red sin conexión conmutada por paquetes, no existe la necesidad de establecer un circuito reservado y simple de extremo a extremo, pudiendo enviar los paquetes a través de cualquier ruta disponible, es decir, todos los recursos disponibles pueden utilizarse en cualquier momento para el envío del paquete.
 
Red sin conexión conmutada por paquetes  
 
 
Escalabilidad:

Internet, se ha expandido a pasos agigantados sin que los usuarios se hayan visto seriamente afectados, esto se debe al diseño de los protocolos y las tecnologías sobre las que se construye, y por supuesto a la estructura jerárquica de capas o de nivel, que ha mantenido en su desarrollo y crecimiento.
En el extremo más alto de la jerarquía hay un número relativamente pequeño de los llamados ISP (Proveedores de Servcios de Internet) de nivel 1 (Tier 1). Un ISP de nivel 1 es lo mismo que cualquier red: tiene enlaces y routers, y está conectado a otras redes. Sus routers deben ser capaces de transmitir una cantidad muy elevada de datos al mismo tiempo. Los ISP de nivel 1 (Tier 1) están caracterizados por:

·         Estar conectados directamente a cada uno de los demás ISP de nivel 1.
·         Estar conectados a un gran número de ISP de nivel 2 y otras redes de usuario.
·         Tener cobertura internacional.
 Conexión ISP nivel 1


Entre los ISP de nivel 1, conocidos también como troncales de internet, se encuentran: AT&T (American Telephone and Telegraph Corporation), Verizon Business, NTT (Nippon Telegraph and Telephone Corporation), Level3, Telefónica International Wholesale Service (TIWS).  
Como se puede deducir, se trata de organizaciones muy grandes que conectan entre sí países y continentes y que disponen de dispositivos y medios para manejar todo el tráfico de internet, incluso con cables submarinos para cruzar los océanos.
 
 Enlaces conocidos de Level3 Corporation
 
En la siguiente escala de la jerarquía, están los ISP de nivel 2. Son organizaciones mas pequeñas que las anteriores y, generalmente proporcionan un servicio regional, incluso pueden abarcar varios países.
 
Se conectan a los ISP de nivel 1 mediante un alquiler para utilizar sus redes y conectarse así a los troncales de internet, al igual que aprovechan a conectarse a los peers públicos que agrupan muchos ISP que acceden a una red utilizando una conexión compartida.
 

 Enlaces de los ISP de nivel 2
Finalmente, los ISP de nivel 3, también conocidos como ISP locales. Son las organizaciones más pequeñas de las telecomunicaciones que pagan a los ISP de nivel 2 para que le ofrezcan acceso a internet. Estos a su vez, se encargan de proporcionar conectividad a clientes, en grandes ciudades o núcleos urbanos.
 Enlace de los ISP locales o de nivel 3
Calidad de Servicio (QoS):
La arquitectura de red conmutada por paquetes no garantiza que todos los paquetes que conforman un mensaje en particular lleguen a tiempo, en el orden correcto, ni aún garantizar la llegada.
Las redes, también necesitan mecanismos para la administración del tráfico de redes congestionado. La congestión se produce cuando la demanda de recursos de red supera la capacidad disponible.
 
En las redes, existen restricciones en recursos que no pueden evitarse, entre ellas, se incluyen limitaciones tecnológicas, disponibilidad local del servicio de ancho de banda y costos.
 
Cuando se producen intentos de comunicaciones simultáneas en la red, la demanda de ancho de banda puede exceder su disponibilidad. La solución sería aumentar la cantidad de ancho de banda, pero debido  las restricciones anteriores, esto no siempre es posible.
 
La mayoría de las veces, cuando la cantidad de paquetes es mayor de lo que se puede transportar en la red, los dispositivos colocan los paquetes en la cola de la memoria hasta que haya recursos disponibles. Si el numero de paquetes en cola siguen aumentando, la memoria se llena y los paquetes se descartan.
 
La solución a este problema, está en lograr la calidad de servicio administrando los parámetros de pérdida de paquetes o retraso en la red. Para mantener una buena calidad de servicio, es necesario priorizar los tipos de paquetes de datos que se deben enviar a expensas de otros tipos de paquetes que pueden retrasarse o descartarse. Esto se realiza, indicándole al router, como debe de inyectar los paquetes en la red, por ejemplo, si los paquetes de voz son mas importantes que la navegación web, le indicaremos que cada 5 paquetes de voz inyecte 1 de datos web.
 
Priorización de paquetes
 


Existen dos parámetros fundamentales para aplicar la calidad de servicio: clasificación y prioridades. El primero de los parámetros, consiste en clasificar las aplicaciones en categorías según la calidad específica de requisitos de servicio, es decir, la comunicación sensible al tiempo (imagen en vivo) o importante debería clasificarse en forma diferente de la comunicación que puede esperar o es de menor importancia. El segundo parámetro, las prioridades; estas serán determinadas por el administrador de una red. Si en una red conviven datos, voz sobre IP, e-mails, stream de vídeos, será el encargado del funcionamiento de la red quien decida dar mayor o menor prioridad al tipo de mensajes, dependiendo de que se considera más importante para la red.
 
Seguridad:
Hay dos cuestiones de seguridad de la red a tener en cuenta para evitar serias consecuencias: seguridad de la infraestructura de la red y seguridad del contenido.
 
Asegurar la infraestructura de la red incluye la protección física de los dispositivos que proporcionan conectividad de red y evitan el acceso no autorizado al software de administración que reside en ellos.
 
La seguridad del contenido se refiere a la protección de la información contenida en los paquetes que se transmiten en la red y la información almacenada en los dispositivos conectados a esta. Se deben implementar herramientas para proporcionar seguridad al contenido de los mensajes sobre los protocolos que rigen la forma en que los paquetes se formatean, direccionan y envían.
 
En una red, se deben de tomar las siguientes medidas de seguridad:
  • Evitar la divulgación no autorizada o el robo de información.
  • Evitar la modificación no autorizada de información.
  • Evitar la denegación de servicio.
Todo lo anterior, se logra mediante:
  • Confidencialidad.
  • Integridad de la comunicación
  • Disponibilidad.
Confidencialidad:
            Esto se logra mediante un sistema de autenticación de usuarios con contraseñas difíciles que se cambien frecuentemente, que permitan que los datos sean accesibles sólo por personal autorizado y designado. La encriptación del contenido reduce las posibilidades de divulgación no autorizada o robo de la información.

 

Integridad de la comunicación:
            Se trata de asegurar que la información desde que sale del origen hasta que llega al destino, no ha sido alterada de forma accidental o intencionada. Para ello, se utilizan las firmas digitales, los algoritmos de hash y los mecanismos de cheksum o comprobación.

 
Disponibilidad:
            Los recursos pueden no estar disponibles durante un ataque de Denegación de servicio (DoS) o por propagación de un virus de computadoras. Los Firewall de red, junto con los software antivirus, sirven para repeler y resolver esos ataques.