Llamada Procedimientos Remoto

download Llamada Procedimientos Remoto

of 13

description

llamadas para servidor

Transcript of Llamada Procedimientos Remoto

  • Tema: Llamadas de procedimiento remoto.

    Introduccin

    En el rea de la Informtica es importante saber y reconocer los diferentes factores y variables que se ven involucradas. Actualmente avanzamos a pasas agigantados y es necesario manipular todas las herramientas que estn a nuestro alcance, en este caso las Tecnologas de la Informacin que en resumen son un conjunto de servicios, redes, software y aparatos que tienen como fin la mejora de la calidad de vida de las personas dentro de un entorno, y que se integran a un sistema de informacin interconectado y complementario. Esta innovacin servir para romper las barreras que existen entre cada uno de ellos. Las Tecnologas que trabajaremos nos permiten contribuir a la sociedad en diferentes sectores principalmente por la radio, la televisin y la telefona convencional, redes, servicio entre muchos otros, caracterizadas por la digitalizacin de las tecnologas de registros de contenidos. Estas herramientas tericas y prcticas, soportes y canales que procesan, tienen la capacidad de almacenan, sintetizan, recuperan y presentan informacin de la forma ms variada. Los soportes han evolucionado en el transcurso del tiempo, ahora en sta era podemos hablar de la computadora y de la Internet.

  • Marco terico

    Llamada a Procedimiento Remoto El mecanismo general para las aplicaciones cliente-servidor se proporciona por el paquete Remote Procedure Call (RPC). RPC fue desarrollado por Sun Microsystems y es una coleccin de herramientas y funciones de biblioteca. Aplicaciones importantes construidas sobre RPC son NIS, Sistema de Informacin de Red, y NFS, Sistema de Ficheros de Red, ambos se describen en este libro. Un servidor RPC consiste en una coleccin de procedimientos que un cliente puede solicitar por el envo de una peticin RPC al servidor junto con los parmetros del procedimiento. El servidor invocar el procedimiento indicado en nombre del cliente, entregando el valor de retorno, si hay alguno. Para ser independiente de la mquina, todos los datos intercambiados entre el cliente y el servidor se convierten al formato External Data Representation [3] (XDR) por el emisor, y son reconvertidos a la representacin local por el receptor. RPC confa en sockets estandard UDP y TCP para transportar los datos en formato XDR hacia el host remoto. Sun amablemente ha puesto RPC en el dominio pblico; se describe en una serie de RFCs. A veces las mejoras en una aplicacin RPC introducen cambios incompatibles con la interfaz de llamada a procedimientos. Por supuesto, simplemente cambiando el servidor har que no funcionen todas las aplicaciones que todava esperen el comportamiento original. Por lo tanto, los programas RPC tienen nmeros de versin asignados, casi siempre empezando por 1, y con cada nueva versin de la interfaz RPC, este contador se incrementa. A menudo, un servidor puede ofrecer varias versiones simultneamente; entonces los clientes indican a travs del nmero de versin en la peticin que implementacin del servicio quieren usar. La comunicacin entre servidores RPC y clientes es un tanto peculiar. Un servidor RPC ofrece una o ms colecciones de procedimientos; cada conjunto se llama un programa y es identificado de forma nica por un nmero de programa. Una lista que relaciona nombres de servicio con nmeros de programa se mantiene usualmente en /etc/rpc, un extracto del cual es, ejemplo.

    Una muestra de fichero /etc/rpc

    #

    # /etc/rpc - servicin miscalneos basados en RPC

    #

    portmapper 100000 portmap sunrpc

    rstatd 100001 rstat rstat_svc rup perfmeter

    rusersd 100002 rusers

    nfs 100003 nfsprog

    ypserv 100004 ypprog

    mountd 100005 mount showmount

  • ypbind 100007

    walld 100008 rwall shutdown

    yppasswdd 100009 yppasswd

    bootparam 100026

    ypupdated 100028 ypupdate

    En redes TCP/IP , los autores de RPC se enfrentan al problema del mapeo de nmeros de programa con servicios genricos de red. Disearon cada servidor para proveer ambos puertos TCP y UDP para cada programa y cada versin. Generalmente, las aplicaciones RPC usan UDP cuando envan datos, y vuelven a TCP slo cuando los datos a transferir no caben en un solo datagrama UDP. Por supuesto, los programas cliente necesitan averiguar a qu puerto se refiere un nmero de programa. Usar un fichero de configuracin para esto podra ser demasiado inflexible; debido a que las aplicaciones RPC no usan puertos reservados, no hay garanta de que un puerto originalmente usado por nuestra aplicacin de base de datos, no haya sido tomado por cualquier otro proceso. Por lo tanto, las aplicaciones RPC toman cualquier puerto que puedan obtener y lo registran con un programa especial llamado el demonio portmapper. El mapeador de puertos acta como un intermediario para todos los servidores RPC ejecutndose en su mquina. Un cliente que desea contactar con un servicio con un nmero de programa dado primero pregunta al mapeador de puertos en el host del servidor, el cul devuelve el nmero de puerto TCP y UDP en donde el servicio puede ser alcanzado.

    NFS: Las siglas NFS significan Sistema de Archivos de Red (del ingls Network File System) y fue desarrollado por SUN Microsystems en 1984. Su funcin en una red es permitir que un equipo GNU/Linux pueda montar y trabajar con un sistema de archivos de otro equipo de la red como si fuera local. Cuando hablamos de sistema de archivos nos estamos refiriendo a las diferentes formas de que disponen los sistemas operativos de estructurar su informacin sobre los dispositivos fsicos. Por ejemplo, en GNU/Linux es normal hablar de sistemas de archivos ext3, XFS, ReiserFS. En Windows son sistemas de archivos tpicos fat16, fat32, NTFS, etc. En el artculo hablaremos tanto de sistemas de archivos compartidos como de directorios compartidos. En realidad los sistemas de archivos utilizan los directorios para organizar los archivos. En este sentido NFS no es realmente un sistema de archivos fsico, sino que constituye una capa de abstraccin que, aplicada sobre cualquier sistema de archivos fsico, permite su utilizacin de forma remota por otros equipos/usuarios.

  • El servicio NFS utiliza las llamadas a procedimientos remotos que permite desde un equipo (cliente) ejecutar cdigo ubicado en otro equipo remoto (servidor) mediante el establecimiento de sockets (IP+puerto) entre ambas. NFS es un protocolo sin memoria (state-less) en algunas de sus versiones. Es decir, el servidor no recuerda las solicitudes anteriores. Por tanto, cada llamada a un procedimiento contiene toda la informacin necesaria para su finalizacin. Si el servidor NFS falla, el sistema cliente repetir las solicitudes de NFS hasta que obtenga una respuesta. Adems, el servidor no realiza tareas de recuperacin frente a fallos. Cundo necesitamos NFS? Realmente los diferentes escenarios en los que se hace necesaria la comparticin de archivos son muy amplia. Por ejemplo y dentro del mbito del aula:

    1. El profesor quiere compartir con sus alumnos en modo lectura los ejercicios que deben realizar sus alumnos. NFS puede incluir los archivos correspondientes en un directorio que exportar con permiso de lectura y al que los alumnos podrn acceder.

    2. Un grupo de alumnos est realizando un trabajo y deben compartir una serie

    de archivos y trabajar sobre ellos. NFS permite crear un directorio en el servidor y se exporta a todas las mquinas/usuarios que colaboran en el trabajo.

    3. Estamos en un entorno de aula en el que las mquinas de los alumnos disponen de poca capacidad y necesitan trabajar con aplicaciones que 'no caben' localmente. NFS permite exportar los directorios que contienen estas aplicaciones desde el servidor y los alumnos podrn ejecutarlas en sus mquinas.

    4. El administrador del aula necesita que en su aula todas las mquinas tengan el mismo software y con idntica configuracin. NFS permite exportar del servidor el directorio que contiene el software requerido (por ejemplo, /usr) y el directorio que contiene las configuraciones correspondientes (por ejemplo, /etc). Esto mismo puede servir para hacer instalaciones completas de sistemas operativos por la red si los equipos carecen de unidades de CD-ROM/DVD.

  • LDAP: LDAP son las siglas de Lightweight Directory Access Protocol (en espaol Protocolo Ligero/Simplificado de Acceso a Directorios) que hacen referencia a un protocolo a nivel de aplicacin que permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa informacin en un entorno de red. LDAP tambin se considera una base de datos (aunque su sistema de almacenamiento puede ser diferente) a la que pueden realizarse consultas. Un directorio es un conjunto de objetos con atributos organizados en una manera lgica y jerrquica. El ejemplo ms comn es el directorio telefnico, que consiste en una serie de nombres (personas u organizaciones) que estn ordenados alfabticamente, con cada nombre teniendo una direccin y un nmero de telfono adjuntos. Para entender mejor, es un libro o carpeta, en la cual se escriben nombres de personas, telfonos y direcciones, y se ordena alfabticamente. Un rbol de directorio LDAP a veces refleja varios lmites polticos, geogrficos u organizacionales, dependiendo del modelo elegido. Los despliegues actuales de LDAP tienden a usar nombres de Sistema de Nombres de Dominio, para estructurar los niveles ms altos de la jerarqua. Conforme se desciende en el directorio pueden aparecer entradas que representan personas, unidades organizacionales, impresoras, documentos, grupos de personas o cualquier cosa que representa una entrada dada en el rbol (o mltiples entradas). Habitualmente, almacena la informacin de autenticacin (usuario y contrasea) y es utilizado para autenticarse aunque es posible almacenar otra informacin (datos de contacto del usuario, ubicacin de diversos recursos de la red, permisos, certificados, etc). A manera de sntesis, LDAP es un protocolo de acceso unificado a un conjunto de informacin sobre una red. El protocolo LDAP define el mtodo para acceder a datos en el servidor a nivel cliente pero no la manera en la que se almacena la informacin. El protocolo LDAP actualmente se encuentra en su 3era versin y el IETF (Grupo de Trabajo de Ingeniera de Internet) lo ha estandarizado. Por lo tanto, existe una RFC (peticin de comentarios) para cada versin de LDAP que constituye un documento de referencia: RFC 1777 para LDAP v.2 RFC 2251 para LDAP v.3 LDAP le brinda al usuario mtodos que le permiten:

    conectarse

    desconectarse

    buscar informacin

    comparar informacin

  • insertar entradas

    cambiar entradas

    eliminar entradas

    Estructura de rbol de la informacin (DIT) LDAP presenta la informacin bajo la forma de una estructura jerrquica de rbol denominada DIT (rbol de informacin de directorio), en la cual la informacin, denominada entradas (o incluso DSE, Directory Service Entry), es representada por bifurcaciones. Una bifurcacin ubicada en la raz de una bifurcacin se denomina entrada raz. Cada entrada en el directorio LDAP corresponde a un objeto abstracto o real (por ejemplo, una persona, un objeto material, parmetros, etc.). Cada entrada est conformada por un conjunto de pares clave/valor denominados atributos.

  • Desarrollo Realizar la implementacin y configuracin de un servicio de directorio LDAP con dos servidores en replica y un repositorio de datos comn con NFS. OpenLDAP Es una implementacin libre y de cdigo abierto del protocolo Lightweight Directory Access Protocol (LDAP) desarrollada por el proyecto OpenLDAP. Est liberada bajo su propia licencia OpenLDAP Public License. LDAP es un protocolo de comunicacin independiente de la plataforma. Muchas distribuciones GNU/Linux incluyen el software OpenLDAP para el soporte LDAP. Este software tambin corre en plataformas BSD, AIX, HP-UX, Mac OS X, Solaris, Microsoft Windows (NT y derivados, incluyendo 2000, XP, Vista), y z/OS.

    Imagen 1: Instalacin de paquetes slapd.

    Imagen 2: Contrasea de administracin para la entrada al directorio LDAP, en mi caso 123456.

  • Imagen 3: Comando para configurar servidor LDAP.

    Imagen 4: Configuracin de servidor SLAPD, las siguientes opciones resumen el proceso realizado. Desea omitir la configuracin del servidor OpenLDAP? DNS Domain Name: gus.com Organization Name: gus.com Database: BDB Desea que se borre la base de datos cuando se purgue el paquete slapd?: NO Desea mover la base de datos antigua? SI Contrasea del administrador: 123456 Verificar la contrasea: 123456 Allow LDAPv2 protocol?: NO

  • Imagen 5: instalacin de interfaz web para LDAP.

    Imagen 6: Autentificacin al servidor de LDAP.

    Imagen 7: Se debe cambiar los datos de autentificacin del archivo config de phpldapadmin para no tener problemas de ingreso.

  • Imagen 8: en la ruta /etc/ldap/slapd.conf se debe fijar el directorio para general todo tipo de cambios.

    Imagen 9: Copia de configuracin del archivo slapd.conf.

    Imagen 10: Reiniciamos los servicios para saber si todos los cambios realizados estn correctos.

  • Imagen 11: Editamos el archivo slapd.com para asignar los datos del otro servidor con la IP definida. Se deben hacer los mismos pasos para el LDAP 2 con la nica diferencia que la IP debe ser la contraria.

  • Conclusin

    Esta actividad nos permite identificar las diferentes herramientas que son utilizadas en la actualidad y conocer las ltimas tendencias de uso en las diferentes plataformas. Tambin podemos resaltar que cuando se implementa estas herramientas y estructura (LDAP, NFS) no importa en qu sistema operativo se est realizando ya que no cambia la forma de cmo desarrollar la configuracin. A travs de LDAP nos permite tener un orden entre los procesos y permiso El ejemplo ms comn es el directorio telefnico, que consiste en una serie de nombres (personas u organizaciones) que estn ordenados alfabticamente, con cada nombre teniendo una direccin y un nmero de telfono adjuntos. En casos ms general la utilizacin de NFS nos permite compartir archivos entre los usuarios de la red, a travs de esto nos permite crear un directorio en el servidor y se exporta a todas las mquinas/usuarios que colaboran en el trabajo.

  • Referencias

    OPENldap. (2005). Backends. 2007, de 2009 Sitio web: OpenLDAP Software 2.4 Administrator's Guide: Backends. Consultado el 2009. Gua de Administracin de Redes con Linux. (2010). Llamada a Procedimiento Remoto. 2015, de RPC Sitio web: http://es.tldp.org/Manuales-LuCAS/GARL2/garl2/x-087-2-appl.rpc.html

    IBM Knowledge Center. (2013). Protocolo de llamada a procedimiento remoto. 2015, de IBM Sitio web: http://www-01.ibm.com/support/knowledgecenter/ssw_aix_53/com.ibm.aix.commadmn/doc/commadmndita/nfs_rpc_protocol.htm?cp=ssw_aix_53%2F1-6-4-5-14&lang=es