Si bien hemos hablado de conceptos básicos, es importante entender en donde estamos situados con nuestras aplicaciones, y como punto de referencia utilizaremos el modelo OSI. Por lo que este post es un intermedio hacia nuestro inevitable avance a la codificación.
El modelo OSI fue diseñado por la Organización Internacional para la Estandarización (ISO, International Organization for Standardization) para proporcionar un marco sobre el cual crear una suite de protocolos de sistemas abiertos. La visión era que este conjunto de protocolos se utilizara para desarrollar una red internacional que no dependiera de sistemas propietarios. Como los de Apple antes de 2003 o 2004.
Lamentablemente, la velocidad a la que fue adoptada la Internet basada en TCP/IP y la proporción en la que se expandió ocasionaron que el desarrollo y la aceptación de la suite de protocolos OSI quedaran atrás. Sin embargo este modelo sigue siendo usado como referencia obligada en tópicos de programación y redes.
El modelo OSI cuenta con 7 capas que son:
Para poder recordarlas basta con recordar APSTREF, aunque para hacer referencia a una de ellas se usa su numero y no el nombre.
Pero porque nos importa este modelo, pues según la capa encontraremos los siguientes ejemplos:
1.- Capa Física:
Aquí están los ceros y los unos, es decir los elementos físicos:
Cables de red, adaptadores inalámbricos, tarjetas de red y modems, conmutadores, enrutadores, entre otros.
2. Capa de Enlace de Datos.
Al igual que una huella digital, cualquier cosa que se conecta a una red o internet posee una dirección física o de hardware (Mac Adress). Por ejemplo:
En la que los primeros 3 pares de números y letras corresponden al fabricante y los otros tres pares al dispositivo. Si tuviésemos dos maquinas del mismo modelo y fabricante podríamos ver la diferencia.
3.- Capa de Red.
Para conectarnos a una red necesitamos una dirección lógica o de IP (Internet Protocol), mediante ella nuestra PC podrán intercambiar datos, entre los que se incluyen archivos, paginas web o hasta voz sobre IP (VoIP) como lo que hace Skype. Una dirección IP tipica es como esta:
Es importante decir que existen dos tipos de direcciones IP, la privadas que usamos en nuestra red local y las publicas, que nos proporciona nuestro ISP (Internet Service Provider) o Proveedor de Servicio de Internet.
4.- Capa de Transporte.
Esta capa es la encargada de determinar que tipo de servicio estamos solicitando o proveyendo, si somo clientes o servidores. Esto se conoce a través de un puerto, por ejemplo:
192.169.1.45:80 <——- Servicio Web, puede ser petición o envió.
192.169.1.45:21 <——- Servicio FTP o de transferencia de archivos.
Peticion o envio, operaciones de lectura o escritura, permisos, y listado de directorios.
user@192.169.1.45:22 <—— Servicio SSH, o de terminal, consola o shell segura para administración remota.
5.- Sesión, 6.-Presentación, 7.-Aplicación.
La capa de 5 se encarga de llevar paquetes que informan sobre donde y cuando estamos conectados. Es decir se encarga de informarnos cuando un paquete de datos llego a su destino o si no se pudo entregar.
En la capa 6 tendríamos los formatos que utilizamos para ver videos o imagenes, como el mpeg y jpeg, entre otros.
En la capa 7 tenemos los protocolos de aplicación:
http:// <—— Web
ftp:// <——– Ftp
ssh:// <——– SSH
Estos son solo tres protocolos de aplicación, existen mas como el IMAP, POP3, SMTP, NFS, etc. Nuestros exploradores Web a diario usan estas capas. Como lo muestra la siguiente imagen:
Al proceso de enviar y recibir la información para que nos sea mostrada en nuestro explorador se llama encapsulamiento. Sin importar lo que pase, cuando enviamos un correo en nuestro explorador o aplicación favorita, primero pasa por APSTREF y despues por FERTSAP es decir:
Envio Correo ——> A
P
S
T
R
E
F —- pasa a mi remitente —-> F
E
R
T
S
P
A
En fin, el modelo garantiza que la información llegue al destino, el como lo hace es otra historia :p
Nos vemos la próxima.