Recordad que en primer lugar hicimos una especie de "tormenta de ideas" sobre todas las cosas que había que hacer para poder enviar datos de un punto a otro. Algunas de las tareas que identificamos eran:
- Convertir las letras en bits (formato).
- Poner esos bits en el cable.
- Indicar a qué sitio debían de ir los datos.
- Tener algún mecanismo para detectar si se produce algún error.
-...
Respecto al control de errores, un par de comentarios:
1. En primer lugar, dijimos que al enviar información binaria (ceros y unos) se producía un error cuando se alteraba el valor enviado, es decir, si quiero envío 1101 y el destinatario recibe 1111 se ha producido un error.
2. Es diferente controlar los errores en una red de área local, que en la WAN.
Salieron muchas tareas, por lo que vimos que no era una tarea sencilla el realizar el envío de datos entre dos máquinas. La solución que propuso la ISO fue dividir el proceso en partes, como una especie de "cadena de montaje" de manera que existieran diferentes "entidades" que realizaban alguna de las tareas de la lista. Podemos verlo como la cadena de montaje de un coche, en la que cada operario aporta algo a la construcción del coche: uno pone las ruedas, otro la puerta, otro el motor, ...
La propuesta de la ISO fue dividir el proceso en siete partes, lo que llamó capas o niveles (en inglés layer) y lo llamó modelo OSI. El modelo OSI se divide en las siete capas siguientes:
7 Aplicación.
6 Sesión.
5 Presentación.
4 Transporte.
3 Red.
2 Enlace.
1 Física.
Recordad que OSI es un modelo, no existe ninguna implementación real, es decir, ningún fabricante sigue esta división. TCP/IP es la arquitectura seguida en Internet, y está "inspirada" en este modelo. TCP/IP considera las capas superiores (5Presentación, 6Sesión y 7Aplicación) como una sola y por esa razón no vamos a estudiarlas en detalle.
Las funciones de cada capa serán, a groso modo, las siguientes:
- Física: está formada por todo lo que tiene que ver con los medios de transmisión. Por ejemplo los tipos de cables, que niveles de corriente representarán los 0 y los 1, el número de pines del cable, etc.
- Enlace: se encarga del direccionamiento físico del equipo (veremos más adelante que aquí estarían las direcciones MAC). Estas direcciones serán utilizadas para la identificación de máquinas dentro de una red de área local. El nivel de enlace se encarga además del control (detección y corrección) de errores en la red de área local.
- Red: Se encarga de las direcciones lógicas de los equipos (lo que más adelante llamaremos direcciones IP). Esta dirección identificará al equipo en toda la red, en Internet, no sólo en la LAN. Además, en este nivel se toman decisiones sobre el enrutamiento, es decir, se busca cual es el mejor camino para enviar los datos al destino a través de la red.
- Transporte: Toma los datos del nivel de aplicación y les añade información sobre los puertos de origen y destino de los datos. Realiza además control de errores de principio a fin, no solo en la red local.
- Aplicación: Toma los datos del usuario, realiza actividades como la codificación de los datos en algún código (ASCII, EBCDIC, ...) y añade el tipo de código usado. También las aplicaciones propiamente dichas son consideradas capa de aplicación.
La información extra que cada capa añade para poder realizar sus funciones se llama cabecera (en inglés header). Así la cabecera de enlace contendrá por ejemplo las MAC de origen y destino, la cabecera de red las direcciones IP, la cabecera de transporte los puertos, etc.
Como decía antes, tenemos que ver estos niveles como "entidades" (que pueden ser hardware o software) que existen dentro de un dispositivo de red y que trabajan a modo de "cadena de montaje" para dejar los datos listos para ser enviados al destino.
En el origen (emisor) el trabajo lo empezaría el nivel de aplicación, la cual añadiría información sobre el formato, a continuación lo pasaría a la capa de transporte, que añade información sobre los puertos origen y destino, y así hasta llegar al nivel físico, que serían el encargado de poner los datos en la red. en el destino (receptor) se seguiría el proceso contrario. Este proceso se llamaba "encapsulamiento".
En el destino (receptor) los datos son recibidos por el nivel físico, que pasará la información recibida al nivel de enlace. Este interpretará la cabecera de enlace (direcciones físicas y datos extra para control de errores) y a continuación eliminará dicha cabecera. La información resultante la enviará al nivel de red que hará lo propio y a sí hasta llegar al nivel de aplicación del receptor que lo entregará al usuario. Este proceso se llamaba "desencapsulamiento".
En este blog tenéis una imagen que lo aclara bastante.
En cada nivel existe un "protocolo" que serán las reglas que se siguen para rellenar las cabeceras correspondientes.
Cualquier comentario es bienvenido :)
No hay comentarios:
Publicar un comentario