miércoles, 6 de junio de 2012

T.P.Nº2:El modelo OSI(Open System Interconnection)

                                       T.P.Nº2:El modelo OSI(Open System Interconnection)




El modelo de referencia OSI(Open System Interconnection) describe como se transmiten los datos en una red.Se ocupa del harware,software y la transmisión de datos.
A comienzos de los años 80 se produjo un importante aumento en el tamaño de las redes.Las empresas que utilizaban computadoras advirtieron que podían ahorra dinero y ganar productividad usando la tecnología de redes.
Las primeras redes se expandieron rápidamente a medida que se introducían nuevas tecnologías y productos.
A mediados de los 80 empezaron a experimentar dificultades.Se hacía cada vez más dificultoso que redes con distintas especificaciones e implementaciones se comunicaran entre si.
Las empresas sintieron la necesidad de salir del sistema de redes "propietario",es decir,de sistemas que eran propiedad de aquellos que lo habían desarrollado y por lo tanto eran los que controlaban sus licencias y sus costos.
En computación "propietario" es lo contrario de "abierto".
Propietario significa que una compañía o un grupo de compañías controla el uso de la tecnología.Abierto significa que la tecnología está disponible para el público.
Para solucionar el problema de las redes la Organización Mundial de Estandarización(ISO) investigo los distintos esquemas de redes y como resultado creo un modelo que permitió a los proveedores crear redes compatibles entre ellas.
El modelo de referencia OSI fue publicado en 1984 y definía los estándares que aseguraban la compatibilidad e inter-operatividad entre los distintos tipos de redes producidos por las empresas alrededor del mundo.
El modelo OSI se considera como la mejor herramienta para comprender como se envían y reciben datos en una red.
El modelo OSI separa las funciones de la red en 7 categorías llamadas comúnmente capas(layers).Cada capa define una determinada función.
En síntesis,éste modelo describe como los datos viajan desde un programa de aplicación a través de la red hacia otra aplicación en otra computadora.
Las principales ventajas del modelo son:
-Reducción de la complejidad al dividir la tarea de enviar y recibir datos en partes más pequeñas y la estandarización de las interfaces lo que lleva a un sistema abierto que permite que muchos fabricantes realicen desarrollos y soportes.

Capas:
Resultaría una tarea muy complicada escribir un solo paquete de software que lleve a cabo todas las tareas requeridas para las comunicaciones.Aparte de tener que enfrentarse con distintas arquitecturas de hardware,tan solo la escritura de un código para todas las aplicaciones que uno deseara resultaría que un programa sea excesivamente grande para ejecutar o mantener.


Capa física:
La capa física se ocupa de los "medios mecánicos,eléctricos,funcionales y de procedimientos que se requieren para la transmisión de los datos" de acuerdo con la definición OSI.Algunas características como los niveles de tensión,sincronización,frecuencia,distancia máxima de transmisión,conectores físicos y otros atributos similares son definidos por esta capa

Capa de vínculos de datos:

De acuerdo con la norma OSI "proporciona el control de la capa física y detecta y corrige errores que pudieran ocurrir".En la práctica la capa de enlace de datos es responsable de la corrección de los errores de transmisión ocurridos durante la transmisión (los errores en los datos de la aplicación se manejan en la capa de transporte).Esta capa se ocupa de solucionar los problemas debido a las interferencias de las señales en los medios físicos de transmisión (cable,fibra óptica,electromagnetismo).La interferencia es común y proviene de distintas fuentes que incluyen las corrientes inducidas por campos magnéticos y los rayos cósmicos.En el modelo TCP/IP ésta capa y la anterior (física) se encuentran unidas en un solo bloque llamado acceso a la red.Los concentradores como hubs y switchs trabajan en esta capa.Esta capa define en formato de los datos para la transmision y como se accede a la capa física.


Capa de Red:
La capa de red proporciona enrutamiento físico de los datos determinando el camino entre las maquinas. La capa de red examina la topología de la red y determina cual es el mejor camino para enviar el mensaje. El crecimiento de internet a experimentado el numero de usuarios que acceden a la información alrededor del mundo y esta capa se ocupa de su conectividad. Los router se encuentran en esta capa.

Capa de Transporte:
Esta diseñada para la "Transferencia transparente de datos desde el extremo puente de un sistema abierto a extremo destino de un sistema abierto."
La capa de transporte establece, mantiene y termina la comunicación entre 2 maquinas además verifica que los datos recibidos sean los enviados y en caso de detectar un error se encarga de re enviar los datos. Esta capa segmenta los datos que envía a los datos y rearma los datos que recibe. Es decir que cuando se transmiten grandes archivos la capa de transporte los divide en pequeños segmentos a fin de que si hubiera problemas en la transmisión estos no afecten la totalidad del archivo.
La frontera entre la capa de transporte y la de sesión .Puede pensarse como el limite entre los protocolos de la aplicaciones  (sesión) y los protocolos de flujo de datos (transporte). Esta capa evita que las capas superiores deban ocuparse de los detalles de flujo de datos.

Capa de Sesión:
Esta involucrada en la coordinación de las comunicaciones entre diferentes aplicaciones. Organiza y sincroniza el intercambio de datos entre los procesos de las aplicaciones. En forma simplificada puede pensarse como una capa de controlo de flujo y sintonización. Por ejemplo en los servidores web hay muchos usuarios y por lo tanto muchos procesos de comunicación al mismo tiempo. Es importante entonces mantener el control sobre cada usuario.

Capa de presentación:
La tarea de las capas inferiores es dar el formato de datos para cada aplicación. La capa de presentación convierte los datos de la aplicación a un formato común conocido como forma canónica (canon = Norma o Ley) Es decir esta capa procesa y convierte los datos provenientes de la capa de aplicación a un formato útil para las capas inferiores. En esta capa se pierde los formatos de los archivos de la capa de aplicación e incluso los formatos de carácter (ASCII).
Esta capa hace lo inverso para los datos de llegada es decir convierte los datos de llegada  al formato especifico de cada aplicación.


Capa de Aplicación:
La capa de aplicación es la interfaz del sistema OSI con el usuario final es ahí donde reciben las aplicaciones como por ejemplo el correo electrónico, los navegadores, las redes sociales, etc. La tarea de la capa de aplicación es desplegar la información recibida y enviar los datos del usuario a las capas exteriores.


Encapsulación:


La transmisión de información en una red requiere de un proceso de conversión ya sea para enviar o recibir datos, este proceso es conocido como el proceso de encapsulación y desencapsulacion de los datos. Al encapsular los datos estos se convierten en paquetes. Este proceso consiste en "envolver" los datos con la información que requiere cada protocolo a medida que los datos se mueven a través del modelo OSI hacia abajo cada capa le agrega un encabezado (es decir información delante de los datos), en algunos casos puede agregarse un finalizador detrás.

Los encabezados contienen información de control para cada dispositivo de la red yu aseguran en correcto envío de los datos para su recepción. El proceso de encapsulación consiste en los siguientes pasos:
Primer paso: Los datos del usuario se envían a la capa de aplicación.
Segundo paso: La capa de aplicación agrega un encabezado a los datos del usuario. Capa 7 y así serán pasados abajo a la capa de presentación 
Tercer paso: la capa de presentación agrega su encabezado a los datos y estos datos pasan a la capa de sesión.
Cuarto paso: La capa de sesión agrega su encabezado y estos datos pasan a la capa de transporte.
Quinto paso: La capa de transporte agrega su encabezado y los datos pasan abajo a la capa de red.
Sexto paso: La capa de red agrega su encabezado y estos datos pasan a la capa de enlace de datos.
Séptimo paso: La capa de enlace de datos agrega su encabezado y también un finalizador (Trailer) que es usualmente información para el control de la integridad de los datos llamado FCS (Firme Check Secuence) que se usa para detectar en el receptor si los datos llegaron por errores o no.
Todo este conjunto de datos pasa a la etapa física.

Octavo paso: La capa física transmite los datos como bits por la red
Ejemplo EL proceso de encapsulación puede comparase con enviar un paquete a través del correo. El primer paso es colocar el contenido en una caja después envolverla y escribir la dirección a donde será enviada y la dirección de donde se envía (Remitente).El proceso sigue cuando se entrega la caja con los datos en el correo que se encarga del traslado hacia su destino.
Desencapsulacion.

Cuando dispositivos remotos recibe la secuencia de bits las capas físicas del mismo sube los datos a la capa de enlace de datos que realiza los siguientes pasos:

Primer paso: La capa de enlace de datos verifica la información contenida al final FCS y si encuentra un error los datos son descartados y solicita su reenvío
Segundo paso:  Si no hay error la capa de enlace de datos lee e interpreta la información de control contenida en el encabezamiento (Encabezado de la capa dos). 

Tercer paso: la capa de enlace de datos retira el encabezado y el trailer y sube los datos a la capa de red.
Este proceso es realizado en forma similar por cada una de las capas restantes.


                                                        El modelo TCP/IP:

TCP :(Transmmition Control Protocol)
IP :( Internet Protocol)


El modelo TCP/IP es la combinación de dos protocolos individuales. El protocolo TCP (Transmision control protocol) y el IP que es (Internet Protocol) al igual que el modelo OSI esta dividido en capaz cada una de las cuales cumple un a función especifica en el proceso de comunicación este modelo fue desarrollado prácticamente al mismo tiempo que el modelo OSI. 

Los componentes o capas de la pila TCP/IP son los siguientes: 

La capa de acceso a la red cubre los mismo procesos que las capas física y de enlaces de datos del modelo  TCP/IP.
La capa de Internet provee el en enrutamiento de los datos desde la fuente al destino. Define la forma de direccionar los paquetes. Efectúa el movimiento de datos entre la capa de enlace de datos y la capa de transporte. Realiza la fragmentación y desfragmentación de los paquetes de datos.
La capa de transporte es el núcleo de la arquitectura TCP/IP.  Provee los servicios de comunicación directamente a los procesos de aplicación.
Capa de aplicación realiza la transferencia de archivos y todas las actividades relativas a la red y a Internet dentro de las interfaces de aplicación (API: Application Programming Interface).

Ambos modelos TCPIP fueron desarrollados por diferentes organizaciones y existe una cierta correspondencia entre las capas de cada uno, de las siguientes formas. 
La capa del modelo TPC/IP llamada capa de acceso a la red equivale en forma aproximada a las capas de enlaces de datos y física en el modelo OSI. 

Nota: Debido a esta correspondencia es que muchas veces se modifica el modelo TCP/IP  remplazando las capas de acceso a la red por las dos capas del modelo OSI convirtiendo así al modelo TCP/IP en un modelo de 5 capas.

La capa llamada internet del modelo TCP/IP cumple las mismas funciones del modelo OSI y lo mismo sucede con la capa de transporte. La capa de aplicación del modelo TCP/IP cumple con las mismas funciones que las capas de sesión, presentación y aplicación del modelo OSI. Es de destacar que el modelo OSI sin embargo provee una organización adicional.

Capa Internet del modelo TCP/IP

Hay varios aspectos de direccionamiento  que incluyen: los cálculos para generar las dirección IP, las direcciones IP públicas y las direcciones IP privadas, las direcciones IP diseñadas para propósitos de enrutamiento especifico. 
Además tenemos 2tipos de direcciones IP: La versión 4(V4) de 32 bits y las versión (V6) de 128 bits.
La nueva versión es decir la V6 actualmente se esta imponiendo sobre la V4 y en el futuro será la mas común.



Cada sistema terminal debe tener una dirección IP que puede ser asignada de forma manual aunque este mecanismo es una barrera para el usuario común y para el mantenimiento de redes. Existe, entonces un mecanismo de asignación automática de la dirección de IP, sin intervención del usuario final.

El componente IP del protocolo TCP/IP determina la ruta por donde se enviarán los paquetes de datos basándose en su dirección de destino. El IP usa paquetes para transportar información a través de la red. Un paquete es una entidad auto contenida, independiente con los datos y la información que se enviará desde la fuente hasta el destino sin un intercambio previo. Las características del protocolo de red IP son:

El protocolo IP (Internet Protocol)
Opera en la capa 3 (red) del modelo OSI y del modelo TCP/IP.
Es un protocolo tipo "Connection Less" en el cual se puede enviar un mensaje en un solo sentido de un punto a otro sin enviar una notificación previa al destino. Además, cuando el punto de destino recibe la información no devuelve ninguna notificación al dispositivo que la envió.
Los paquetes son tratados independientemente.
El direccionamiento es jerárquico de modo tal que primero distingue la identificación de la red (calle) y luego, la computadora conectada a la red (número/casa).
Aunque el envío se realiza de la mejor manera, el IP no garantiza la correcta recepción. Un paquete puede ser perdido, enviado a la dirección incorrecta, duplicado, etcétera, sin que exista ninguna prestación de recuperación de datos.
Ejemplo: Una analogía a los servicios prestados por el IP pueden ser las siguientes: Supongamos que usted vive en Buenos Aires y su madre en Salta. Usted le escribe tres cartas separadas. Cierra cada sobre y escribe en cada uno la dirección de su madre en salta y su remitente en Buenos Aires. Luego lleva las cartas a la oficina de correo y las deja. El servicio de correo hará lo mejor que pueda para que las cartas lleguen a su madre, pero no le garantiza que las tres cartas lleguen a su destino, ni que sigan la misma ruta, ni que las entregue el mismo cartero y finalmente que lleguen en el orden que usted las envió.


Direccionamiento IP

Para facilitar el envió de los paquetes por la mejor ruta (enrutamiento) el protocolo TCP/IP usa una dirección IP. Veremos cuales son los componentes de una direccion IPV4, de 32 bits.
Una dirección IP identifica en forma inequívoca cada dispositivo en una red IP. Cada host, es decir, cada computadora, router, o periférico, debe tener una única dirección IP.
Una dirección IP contiene 2 partes: 
La porción de identificación de la red (ID network) que indica a que red pertenece. El router mantiene la información de cada red.
La porción del host, que es la host ID, que indica la dirección del host de destino (computadoras, servidores, periféricos y cualquier otro dispositivo conectado a la red.
En una dada dirección IP, una parte de los 32 bits representa a la red, y los restantes bits representan el host. Muchas computadoras pueden compartir la misma dirección de red, combinando las direcciones de red con las direcciones de host se puede identificar inequívocamente cualquier dispositivo conectado a la red.
En una dada dirección IP, una parte de los 32 bits representa a la red.
Como vemos en el siguiente cuadro la dirección IP de 32 bits se divide en 4 partes de 8 bits(1 byte)

10101100 |  00010000 |  10000000 |  00010001
10101100 |  00100000 |  10000000 |  00010001
    172      |       16      |       128     |      17


172.16.128.17

Si cada byte se escribe en decimal y se separa por pintos, se obtiene la forma normal en la que se escriben las direcciones IP.


Clases de direcciones IP 

A fin de clasificar los distintos tipos de redes, se dividen en clases. Existen 3 clases: a, b y c.

A     0XXXXXXX            HOST                   HOST                   HOST

B     10XXXXXX          NETWORK                HOST                  HOST

C     110XXXXX           NETWORK              NETWORK           NETWORK



Clase A

Las direcciones IP clase A usan solamente el primer byte para indicar la dirección de la red, los restantes bytes se usan para indicar la dirección de los hosts. El primer bit de la dirección de clase A siempre es 0, por lo tanto el número más bajo es 00000000 y el más alto es 0111111, lo que en notación decimal van del 0 al 127. Sin embargo, las redes 0 y 127 están reservadas y no pueden ser usadas como direcciones de red. Por lo tanto, todas las direcciones comprendidas entre 1 y 126, en el primer byte, son direcciones clase A

Clase B

Las direcciones clase B usan 2 byte para indicar la dirección de red. Los primeros 2 bits del primer byte siempre comienza con el numero binario 10. Esto asegura una buena separación entre las direcciones clase A y clase B. Los restantes 6 bits del primer byte pueden ser ceros o unos, por lo tanto, el numero mas bajo es 10000000(128), y el numero mas alto es 10111111(191). Cualquier dirección que comience con un valor comprendido entre 128 y 191 en el primer objeto es clase B, 

Clase C

En las direcciones clase C, los primeros 3 bytes identifican la red, y el byte restante esta reservado para los hosts. Las direcciones clase C comienzan con el numero binario 110, por lo tanto, la dirección mas alta es 223 y el mas bajo 192. Si una dirección contiene un número comprendido en el rango entre 192 y 223, es una dirección de clase C.
 
  

Direcciones IP Públicas y Privadas

Algunas redes se conectan con otras a través de internet mientras otras son privadas. Cada una de estas redes posee un rango de direcciones IP



Direcciones IP y subredes

Si tenemos dos redes clase C y clase A, cada una con 2 hosts conectadas a través de un router.

Cada dispositivo conectado a la red no puede tener como numero de host el 0.
La tabla del router contiene solamente las direcciones de red y ninguna información acerca de los hosts


Direccionamiento de los hosts:


 
 192   .   168   .    1    .     X
1100 0000.1010 1000.0000 0001. [---- ----]

                               0000 0000  =  reservado: red
                               1111 1111  =  reservado: difusión
                                [1; 254]   =  disponible




Vemos en el cuadro anterior que para una dirección IP case C se pueden asignar direcciones desde el 0 (ocho ceros) hasta 255 (ocho unos). Sin embargo, el 255 (todos unos) es una dirección de difusión (broadcast) hacia toda la red y el valor 0 significa esta red en si misma.

Si tuviéramos una red con la dirección IP  172.16.0.0 clase B podríamos tener 65.535 hosts.

Si bien es cierto que una dirección IP clase B permite una conexión de 652535 el esquema anterior es un impracticable dado el enorme dominio de colisiones que resulta. Por lo tanto a fines de lograr eficiencia es necesario dividir esta enorme red en subredes,

La solución al problema anterior es dividir la red en subredes. En el ejemplo anterior la red se dividió en 4 subredes. La red 172.16.0.0 se dividió en 4 subredes, la 172.16.1.0, la 172, De esta forma el router determina la dirección de destino usando la dirección de la subred limitando, por lo tanto, la cantidad de tráfico en los otros segmentos de la red.
Sin embargo si organizamos la red de esa manera el router seguirá usando los primeros 16 bits para direccionar la red y los siguientes 16 bits para direccionar los hosts.
Es necesario, entonces, un método para indicarle al router la dirección de la subred. Esto se consigue mediante la utilización de la mascara de subred.

Máscara de subredes

A fines de poder definir subredes se utilizan la mascara de subred,la misma esta constituida tambien por 32 bits agrupados en 4 grupos de 8 bits.
Todas las posiciones ocupados por 1 en la mascara subred determina la seccion de red y la ocupado por los hosts,por ejemplo:


                   255.255.0.0

                      11111111.11111111        .          00000000.00000000
                      \________________/                  \________________/
                                    RED                                           HOST



Para obtener la direccion de la subred se debe realizar la operacion and(y) entre la direccion ip,por ejemplo:

Ejemplo 1:

IP=172.16.2.17
Mascara de subred=255.255.0.0

IP------10101100 00010000 00000010 00010001
Mascara-11111111 11111111 00000000 00000000
Sub red-10101100 00010000 00000000 00000000
       -172.16.0.0

Ejemplo 2:

IP=172.16.2.17
Mascara de subred=255.255.0.0

IP------10101100 00010000 00000010 00010001
Mascara-11111111 11111111 11111111 00000000
Sub red-10101100 00010000 00000010 00000000
       -192.16.2.0

Ejemplo 3:

IP=172.16.2.17
Mascara de subred=255.255.255.240

                   RED                 HOST
        -------------------------------
IP------10101100 00010000 00000010 00010001
Mascara-11111111 11111111 11111111 11110000
Sub red-10101100 00010000 00000010 00010000
       -192.16.2.16


Completar:

    IP        Mascara de subred  Clase    Subred                                                     
172.16.5.33     255.255.255.0      B    172.16.5.0                                               
10.9.15.3       255.255.0.0        A    10.9.0.0                                          
199.17.23.44    255.255.0.0        C    199.17.0.0


Determinacion de rango de hosts para cada subred:
En rango de hosts para cada subred se obtiene realizando la diferencia entre la direccion de difusion (broadcast) de la red y la direccion de la subred propiamente dicha.

IP=172.16.2.17
Mascara de subred=255.255.255.0

                   RED                 HOST
        -------------------------------
IP------10101100 00010000 00000010 00010001
Mascara-11111111 11111111 11111111 00000000
Sub red-10101100 00010000 00000010 00000000
       -192.16.2.0

Broadcast 172.16.2.255          192.168.6.114
172.16.2.1--172.16.2.254        255.255.255.0
------------------------     SUB192.168.8.0
    Rango de subred          RED
                             192.168.6.1--192.168.6.254

Resolver:
Indicar la direccion de subred y el rango de hosts para la direccion ip 17.16.2.17 y la mascara de subred 255.255.255.240

IP=172.16.8.17
Mascara de subred=255.255.255.240

                   RED                 HOST
        -------------------------------
IP------10101100 00010000 00000010 00010001
Mascara-11111111 11111111 11111111 11110000
Sub red10101100 00010000 00000010 00010000
       -172.16.2.16


Broadcast 172.16.2.31
172.16.2.17--172.16.2.30
-----------------------
    Rango de host

Resolver para la direccion ip 203.200.10.60 y para la mascara de subred 255.255.255.248 indicar la clase para la direccion ip,la direccion de la subred y el rango de los hosts.


IP:------10101100.00010000.00001100.00110110
Máscara:-11111111.11111111.11111111.11110000

-----------------------------------

Subred:10101100.00010000.00001100.00110000 (172.16.12.48)

Broadcast:10101100.00010000.00001100.00111111 (172.16.12.63)


Rango de hosts: [172.16.12.49;172.16.12.62]



Metodo de averiguación de las subredes de una red dada una máscara de subred:
Para hallar las subredes de una IP de máscara de subred determinada se utiliza el siguiente método:
Se resta 256 al byte que no vale 255 al host en la máscara, y el resultado equivale la periodicidad para las distintas subredes.

El rango de host para cada subred está determinado entre la dirección de subred y la dirección de broadcast que es el número anterior a la siguiente subred.

Ejemplo: Para la máscara de subred 255.255.255.240 existe un intervalo de 16 (256-240) direcciones para cada subred.

Entonces podemos observar las subredes formadas:


Subred       Broadcast de la subred
    0                           15                              
  16                           31
  32                           47
  48                           63
  64                           79
  80                           95
  96                          111
 112                         127
 128                         143
 144                         159
 160                         175
 176                         191
 192                         207
 208                         223
 224                         239
 240                         255


Para la dirección IP 192.168.6.126 y la máscara de subred 255.255.255.200 indicar cuáles son las direcciones de subred posibles
Las direcciones de broadcast y el rango de host para cada subred.


Subred       Broadcast de la subred       Rango de subred
    0                           55                             [1-54]                    
  56                          111                           [57-110]                          
 112                         167                          [133-166]                            
 168                         223                          [169-222]                               
 224                         255                          [225-254]

Otra forma de indicar una dirección IP y su correspondiente máscara de subred es, por ejemplo:
172.16.12.62 / 26
Donde 26 es la cantidad de unos en la máscara de subred (11111111.11111111.11111111.1100000)

IP:                    192.168.6.122
Subred:             192.168.6.0
Broadcast:         192.168.6.255
Intervalo de host: [1-254]