oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo A 05 - INTRODUCCION A LAS BUENAS MANERAS - A A A oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo Hay que darle la importancia que se merece a las buenas maneras y de eso vamos a tratar aqui, no se puede llegar a un sitio y pegar voces esperando que asi nos entiendan mejor, hay que conocer las normas de relacion y comunicacion que tienen esos extra€os, lo que consideran educado y lo que no, hay que conocer El Protocolo. [Si sera importante que hasta la Casa Real tiene un Jefe de Protocolo] Y este conocimiento sera especialmente util para seguir alguno de los articulos que se publiquen aqui ya que por los mails recibidos parece que hay en marcha varios articulos sobre protocolos pero no sobre aquellos mas comunes como no llamar foca a la anfitriona sino sobre protocolos que solo se utilizan en zonas monta€osas de Afganistan e islas desiertas del Pacifico. Sirva pues el presente engendro como iniciacion al protocolo a todos aquellos que se sientan incapaces de seguir otros articulos por carecer de las mas elementales normas educativas. Empezaremos con el OSI como no y acabaremos no se sabe donde y posiblemente como el rosario de la aurora. Para aquellos que consideren su capacidad mental muy superior a lo explicado en este articulo, mis humildes disculpas, el mundo contiene personas que no poseen vuestro saber y que demandan explicaciones claras. Un par de aclaraciones antes del principio: Estandar, utilizaremos mucho este termino. Basicamente un grupo de pavos se reunen un largo fin de semana en una ciudad a gastos pagados, se ponen ciegos a langostinos y escuchan atentamente como el representante USA acompa€ado de varios matones de la CIA explica porque el metodo que se utiliza en los EE.UU es el mas adecuado para implantarse a nivel mundial. Tras recordar quien paga el marisco propone a votacion la propuesta que resulta aprobada por unanimidad ya que los asistentes tienen prisa por largarse unos al teatro y otros de furcias. Tenemos un estandar. Ahora mismo no me acuerdo de la segunda aclaracion que queria hacer. :-? El ISO hizo el OSI, que hizo el OSI? ************************************ International Organization for Standardization , por vagueria llamado ISO. Open Systems Interconnection , tambien por desgana abreviado como OSI. Y ahora que semos cultos pasemos a desenmascarar a los culpables. Alla a mediados de los 70, cuando el gato Isidoro no tenia u€as, las empresas que se dedicaban al cacharreo comenzaron a darse cuenta de que sus clientes mostraban un gran interes por conectar sus peque€os ordenadores para que pudiesen hablarse los unos a otros tal y como ya hacian desde hace tiempo esas grandes empresas. Ehhh!. Podemos ganar dinero con esto?. Asi que comenzaron a dise€ar protocolos y redes, para abreviar entenderemos como red la parte con la que puedes tropezar (cables, tarjetas..) y como protocolo la parte que te pone la zancadilla. Originariamente la mision de todo esto era que el ordenador A pudiese mandar informacion al ordenador B (y viceversa) si ademas la informacion llegaba completa era un exito y si el ordenador que la recibia era capaz de entenderla se entraba en la ciencia-ficcion. Pero como los tarugos de clientes y los mentecatos de ingenieros nunca estaban contentos comenzaron a complicar la historia a€adiendo "busqueda de caminos optimos", "encriptaciones", "autentificacion", "comprobacion de datos" y otras chorradas responsables de engordar los paquetitos sin aportar ni un bit mas de informacion. Como era de esperar cada compa€ia decidio que ELLOS tenian la solucion al problema de la conectividad y opto por crear sistemas que hablasen entre ellos pero no ajuntasen al resto (no te quiero le decia un Dec a un Apple), en el intento de arrimar el ascua a su sardina hubo un momento de cordura cuando los (ir)responsables de las compa€ias se dieron cuenta de que podrian pescar mas sardinas si cambiaban el cebo, el mar estaba *repleto* de sardinas! Asi que acudieron al ISO y le dijeron alla por comienzos de los 80. "Oye nos hemos metido en un jaleo del carajo, no puedes sacarte algo de la chistera para que tengamos una guia a la hora de dise€ar las redes" Y en 1.984 (de que me suena el a€o?) llego el caballero blanco, el OSI. Por supuesto siguen existiendo esos modelos de redes propietarios y otros estandares "de facto" como los de Internet pero el OSI se convirtio en el punto de referencia de todos asi que para los que no hayan tenido el placer de conocerlo hasta ahora... Mover informacion de un ordenador a otro, eso es lo que hemos dicho que (fuera parafernalias) debe hacer una red y el protocolo se encarga de los detalles 'triviales' (como llevarla y hacer que se entienda). Para esto el OSI divide la tarea en siete 'layers' llamados Layer 1 - Layer 2 - Layer 3 - Layer 4 - Layer 5 - Layer 6 y Layer ? si!! 7 Y aqui lo traducimos por: Capa 1 - Capa 2 - Capa 3 - Capa 4 - Capa 5 - Capa 6 y Capa 7. Capa 1 o Capa de Aplicacion: Al ser la ultima no da servicio a ninguna otra capa OSI sino a los programas de usuario (fuera ya del modelo OSI), chequea si hay recursos suficientes para establecer la conexion y como se van a comprobar los datos. Capa 2 o Capa de Presentacion: Se encarga de que lo que envia la capa 1 de nuestro sistema se entienda por la capa 1 del _otro_ sistema (XDR o similares). Capa 3 o Capa de Sesion: Establece, controla y finaliza el dialogo que mantiene la capa anterior y se ocupa del intercambio de datos entre las capas de presentacion. Capa 4 o Capa de Transporte: Comienza ya el trabajo sucio, determinar la fiabilidad del medio de transporte, control de flujo.. Capa 5 o Capa de Red Proporciona conectividad y establecimiento de ruta entre los dos sistemas, routing y similares. Capa 6 o Capa de Enlace Topologia de la red, direcciones fisicas, notificacion de errores.. Capa 7 o Capa Fisica Detalles como voltaje, distancias de transmision, tiempos.. son suyos. Ahora que hemos visto un poco por encima de que va cada cosa, digamos: - Cuanto mas alto es el numero de capa menos lo entiende un ser humano - Cuanto mas bajo es el numero de capa menos lo entiende el ordenador - La capa central, la 4, no la entiende nadie. ;-D Cada capa intenta comunicarse con su capa amiga del otro bicho pero OSI especifica que Norrlll!, asi que tenemos que Aplicacion pasa los datos a Presentacion, esta los mete en un formato no-propietario y se los pasa a Sesion para que negocie los detalles, Sesion cede el paquete a Transporte y a partir de aqui entre Transporte, Red, Enlace y Fisica le pegan un meneo que ya no reconoce al paquete ni su madre. Pero Aplicacion lo que quiere es que su capa amiga del otro lado lea los datos que le envia. Como se hace? Una vez que hemos atravesado todas las capas y deformado el paquete este completamente mareado llega de mala manera al destino, alli lo recoge Fisica que dice "esto trae mi nombre, paca bicho" al leer el nombre quita la etiqueta de la direccion y se lo pasa a Enlace que reconoce la escritura de su amigo Enlace en el otro ordenador, se queda la carta y le pasa el muermo a Red que lo primero que ve es un mensaje de su compa€era Red destinada en Ceuta, arranca el mensaje y se deshace del paquete dandoselo a Transporte, que se acaba de despertar de la siesta todo mosca, coge el paquete y de una patada lo manda a Sesion que lee las instrucciones de su primo Sesion exiliado en una subnet lejana, se queda con ellas para archivo y le pasa la pelota a Presentacion que reconoce la escritura de su colegui diciendole que espera haber dado formato a su mayor comodidad, Presentacion quita el polvo que ha cogido el paquete por el camino y completamente limpio y reluciente se lo entrega a Aplicacion que comprueba que efectivamente es el paquete que su suegra Aplicacion ha prometido enviarle y ya satisfecha se lo pasa al programa para que el usuario pueda borrarlo a su entera satisfaccion. Estoooo.. y no seria mas facil que Aplicacion mandase directamente el paquete a Aplicacion en el otro ordenador y evitarse 12 capas?? NO, no querras mandar al paro a 6 honradas capas? El petardo de arriba resumido: - Comunicacion entre capas hacia abajo, cuando ya no se puede bajar mas entonces se larga el paquete que es recogido por el destino (si hay suerte) y que hace el proceso inverso, pasarlo desde la ultima capa a la primera. Este es el modelo OSI en el que se basan muchos desarrollos de red aunque no todos implementen las siete capas si suelen dar equivalencias (sease, nuestro ripitoff!(tm) equivale a la capa 2 y 3 del OSI) Antes de continuar recordemos a quien podemos expresar nuestras mas sinceras felicitaciones por facilitarnos la vida: ISO, IEEE, ANSI, EIA, ITU-T. Bien hemos dicho ya un par de veces que enviamos informacion a otro ordenador pero no hemos hablado de como trata OSI las direcciones y no se puede entregar un paquete si no se conoce el destinatario. Dos diferencias basicas: En la capa de Red utilizamos direcciones "logicas o virtuales" En la capa de Enlace utilizamos direcciones "fisicas o hardware" Las direcciones logicas suelen pertenecer a estructuras jerarquicas en las cuales se llega al destinatario por sucesivas eliminaciones. Las direcciones fisicas operan en cambio en un llamado "espacio plano" donde cada conexion se identifica por una direccion que les pertenece en exclusividad (como a nosotros nos 'pertenece' nuestro numero de DNI). Es hora pues de comenzar a preguntarse como encontrar el camino a casa del destinatario. OSI Routing, the movie. Explicaremos el desarrollo de DEC para su Phase V DECnet (IS-IS) capaz de rular tanto CNLP (Connectionless Network Protocol) como IP en su version de Integrated IS-IS (tambien llamada Dual IS-IS). Brevemente se vera el ES-IS y aquel que quiera podra acordarse de la familia del tipejo/s que se dedica a inventar esta ensalada de siglas. Culpable?. El ISO como casi siempre. (ISO 10589) IS-IS (ISO 9542). ES-IS Un par de conceptos del fabuloso mundo OSI: ES significa end system o sea un punto y final. IS significa intermediate system o sea un estorbo en mitad del camino. Area significa un grupo de host-redes- lo que sea especificado como area por el inepto que lo administra. Es decir, area significa area. Dominio significa un grupo de areas conectadas, un dominio de rutado alcanza a cubrir a todos los ES que tiene por ahi dentro. Si no alcanza es su rollo. IS-IS, si ya sabeis OSPF teneis algo ganado si no pues seguro que teneis el coco mas sano y estable. IS-IS comparte con OSPF (Open Shortest Path First) las capacidades de jerarquia de rutados, division de path, autentificacion, tipo de servicio y otras bobadas semejantes. OSPF = Vete por el atajo. IS-IS esta metido en alguna parte de la Capa 2 del OSI (Enlace) y es capaz de distinguir entre routers que comunican diversas partes del area y routers que dan acceso a otras areas, 'tesnicamente avlando' Level 1 routing - ISs que saben encontrar a otros ISs de su area. Level 2 routing - ISs con mas alcances que saben encontrar a sus colegas de otras areas. (Otros ISs de nivel 2) Aqui tenemos a un ES que esta tan feliz en su cueva y que pegando el oido a la pared ha conseguido escuchar donde vive el IS mas cercano, cuando se entera de que enviar paquetes es gratis agarra y prepara uno con ropa de abrigo para su sobrino ES que vive a la orilla del rio, pega una etiqueta en la que escribe trabajosamente "Enviar a mi sobrino, el que vive a la orilla del rio" y se lo larga al IS que se encuentra con 3 opciones: Opcion 1 - El rio y el sobrino estan en la misma subred que el tio Respuesta del IS - Manda el paquete y avisa al despistado pariente de que puede enviar el paquete por ruta directa. Opcion 2 - El sobrino y el rio estan en la misma area pero en distinta subred. Respuesta del IS - El IS consulta su chuleta y vuelve a chutar la pelota. Opcion 3 - El rio ese esta mas lejos quel copon y el sobrino tambien. Respuesta del IS - El IS de nivel 1 pasa el muerto al IS de nivel 2 que busca al IS de nivel 2 encargado del area de destino, cuando el paquete alcanza ese IS 2 es pasado a ISs de nivel 1 que lo entregan en la puerta. Por el camino algun IS desaprensivo ha mangado el abrigo bueno. El tema de encontrar el mejor camino se basa en determinar el camino mas corto..... (momentos de reflexion).... Y eso se hace asignando una distancia a cada enlace (no mayor de 64 para un enlace simple) y sumando todos los enlaces que hay que hacer para llegar a destino (mo mayor de 1024) Como de costumbre para el que no tenga suficiente con lo anterior puede complicar la historia a€adiendo modificaciones a las distancias, asi: - Puede a€adir "retraso", un enlace con igual distancia pero con un mayor valor de retraso es descartado en favor de otro. - Puede a€adir "guita", si el enlace cuesta mas dinero entonces hay que usarlo menos, a€adiendole valor "guita" a su coste en distancia se le hace ser descartado en favor de otros enlaces mayores en distancia pero sin costes extra. - Puede a€adir "error", si un enlace es igual o menos largo pero a la hora de calcular distancias hay que sumarle penalizacion por poca fiabilidad este enlace sera menos usado que otro mas largo pero mas seguro. Rico, rico. Pero si queremos mandarle un paquete al IS tendremos que saber lo que este esta esperando escuchar. Verdad?. Pues el IS quiere escuchar: IS-IS hello packets - (ISHs) Link state packets - (LSPs) Sequence number packets - (SNPs) Y no solo eso sino que cada uno de ellos tiene que venir en la forma en que el IS lo espera (las reglas del protocolo, no pretendereis que saludar al Rey sea decirle "Que tal Juanqui Monarqui?") Como esto es un texto introductorio y se me da mal el dibujo no haremos aqui graficos de paquetitos pero decir que los tres comparten una misma cabecera (8 bytes) aluego una segunda parte diferente para cada paquete pero con un formato fijo y por ultimo una tercera parte diferente por paquete y de longitud variable. Va bene?. Pues el minimo comun denominador (sease la cabecera comun de los IS-packets) Identificador de protocolo - Identifica el protocolo ISS, constante Longitud de Cabecera - La longitud siempre es de 8 bytes, se incluye por?? Version - Actualmente la 1 ID lenght - Longitud de la parte ID de un NSAP (Network Service Access Point) (sippe ya se que no lo hemos explicado lo del NSAP, quiza antes de acabar el articulo meta algo) Packet-Type - Aqui decimos si es ISH, LSP o SNP Version - Por si no nos habiamos enterado. Reserved - Ignorado?. Igual a 0 Maximum Area Address - Numero de direcciones permitidas en ese area. Despues de esto, el caos. Integrated IS-IS, sois masocas?, venis por mas?. Pues toma! Para incluir mas soporte a protocolos de capa de Red que el triste CNLP se dise€o el susodicho Integrated IS-IS (I-IS-IS) cuyos paquetitos hacen lo mismo que el simple IS-IS pero incluyen info sobre: - Si las direcciones de red pueden ser alcanzadas desde otros protocolos. - Que ISs entienden que protocolos - Informacion variada para protocolos de entendimiento retardado El IDRP lo dejamos pal verano que ahora hace mucho frio. Seguimos (Esto no se acabara nunca????. Jaja, soy tu peor pesadilla!) ES-IS, la mejor manera de que ES e IS se hagan amigos y descubran las peliculas que les gustan. Si queremos que ESs e ISs se conozcan utilizamos un proceso llamado "configuracion", cada x tiempo ES manda un mensaje ESH que dice: "Estoy aqui, aqui solito" y se lo manda a todos los IS de la red, estos a su vez mandan mensajes ISH a todos los ES de la red diciendo: "pensando en ti, rompiendome la cabecita". ES-IS distingue entre tres diferentes tipos de subredes (un conde no es igual a un duque) - Subredes de punto a punto. Algo que xplicar? - Subredes de Vocerio. Un solo mensaje se transmite a todos los nodos, tambien conocido como Broadcast. - Subredes de Topologia General. Como X-25. Despues de todo lo dicho me sorprenderia mucho que alguien tuviese dudas sobre el modelo de routing OSI, estoy convencido de que mi xplicacion ha sido lo suficientemente didactica para que nadie se haya enterado de nada. :-> Protocolos del OSI, asi en plan rapido OSI ofrece soporte en capa de Red a: CLNP (ISO 8473) Connectionless Network Protocol CONS (ISO 8208) Connection-Oriented Network Service Si os leeis los ISO 8878 y 8881 pues mas y mejor. (un "par" de horas nomas) CNLP , protocolo no-orientado a conexion que lleva indicaciones, un IP pero en ignorado. CONS , Un invento pa mover datos, a cada capa de transporte le damos seis juguetes. 1 pa establecer conexion y 1 pa cortarla. Los otros 4 para enviar los datos usando las primitivas (request, indication, response 'n confirmation) El NSAP, que no se olvide el NSAP!!. Pues como ha salido por ahi arriba y en algun lugar hay que explicarlo..hmm.hmm..hmmm. Los SAP son los puntos donde cada capa le da el recado a la siguiente. El NSAP asi en simple es la frontera donde Transporte y Red se pasan los encargos, cada entidad "transportista" (lease capa) tiene un NSAP que posee una direccion individual en la maravillosa red OSI, los ES tambien tienen sus NSAPS pero en el caso de haber varios cada uno tiene una direccion para el solito. Estas direcciones del NSAP son del tipo "jerarquico" algo de lo que ya se hablo antes, una direccion NSAP es algo como: IDP - DSP AFI-IDI IDP: Initial Domain Part ==> AFI: Authority 'n Format Identifier ==> IDI: Initial Domain Identifier DSP: Domain Specific Part El DSP tambien puede ir subdividido pero pasaremos de este tema que es por demas aburrido. De vuelta a la capa de Transporte donde se cuece todo este bacalao se soportan tanto el inutil CLNP como el pesado CONS y se les ofrece cinco protocolos de transporte de los cuales solo 1 trabaja con CLNP (y CONS), los demas son exclusivos para CONS. Son TP0, TP1, TP2, TP3 y lo habeis adivinado..TP4 (el dual) TP0 es capaz de desmontar el paquete en trozos y volverlos a juntar TP1 amasamas sabe corregir errores de una manera basica TP2 coge un circuito virtual y te hace virguerias, tambien desmonta paquetes. TP3 ?? Pues facil TP3=TP2+TP1 TP4, pues a lo TCP. Sease TP3+medidas de fiabilidad del transporte. Venga vamos por el final!! Capa de Sesion, como vimos en la intro determina una serie de cosas es decir a quien le toca hablar, para ello controla los datos que le pasa la pandilla de Fisica, Enlace, Red y Transporte (vaya cuarteto) y negocia con la otra parte, la posesion de un "token" da derecho hablar y si no lo tenemos se puede pedir. Puede darse prioridad a ESs concretos para que tengan mas derecho al token. Capa Presentacion, pues nada mas que a€adir simplemente repetir lo expuesto de que convierte los datos a formato independiente de la plataforma. Capa Aplicacion... Lo finale. Proporciona ASEs (utiles para jugar a las cartas) usease Application Service Elements que permiten la comunicacion entre las aplicaciones y otras capas mas inferiores. Los ASEs mas mejores que podemos encontrar son: AS de Picas o ACSE (Association Control Service Element) Asocia nombres de aplicaciones con otras en preparacion del dialogo aplicacion-aplicacion. AS de Corazones o ROSE (Remote Operations Service Element) Un mecanismo de peticion-respuesta de manera remota. Ver RPC/NFS en SET 11 AS de Diamante o RTSE (Reliable Transfer Service Element) Sirve de interprete a la hora de explicarle a Sesion que es lo que queremos hacer. Y que aplicaciones OSI son esas?. Pues digamos CMIP (Common Management Information Protocol) DS (Directory Services) FTAM (File Transfer, Access and Management) Que aunque parezca extra€o sirven para lo que indica su nombre. Espero que despues de esta vision general de OSI podais enfrentaros con soltura a nuevos e ignotos protocolos que deben aparecer proximamente en vuestras pantallas. Eso es todo amigos.