martes, 24 de mayo de 2016

Servicios de nombre (DNS)


servidor de nombres es un servidor de hardware o software que implementa un servicio de red para proveer respuestas a las consultas en un servicio de directorio. Traduce un identificador basado en texto a una identificación numérica o componente de direccionamiento interno de sistema. Este servicio es realizado por el servidor en respuesta a una petición de protocolo de servicio.1
Un ejemplo de un servidor de nombres es el componente de servidor del Sistema de Nombres de Dominio (DNS), uno de los dos espacios de nombre principales del Internet. La función más importante de los servidores DNS es la traducción (resolución) de los nombres de dominios y nombres de host identificables por los humanos en sus direcciones numéricas del Protocolo de Internet (IP) correspondientes, el segundo principal espacio de nombres del Internet, que es usado para identificar y localizar a las computadoras y recursos en Internet.


Objetos distribuidos


En los sistemas Cliente/Servidor, un objeto distribuido es aquel que esta gestionado por un servidor y sus clientes invocan sus métodos utilizando un “método de invocación remota”. El cliente
invoca el método mediante un mensaje al servidor que gestiona el objeto, se ejecuta el método del
objeto en el servidor y el resultado se devuelve al cliente en otro mensaje.
Tecnologías orientadas a los objetos distribuidos:
Las tres tecnologías importantes y más usadas en este ámbito son:

  • RMI.- Remote Invocation Method.- Fue el primer framework para crear sistemas distribuidos de Java. El sistema de Invocación Remota de Métodos (RMI) de Java permite, a un objeto que se está ejecutando en una Máquina Virtual Java (VM), llamar a métodos de otro objeto que está en otra VM diferente. Esta tecnología está asociada al lenguaje de programación Java, es decir, que permite la comunicación entre objetos creados en este lenguaje.
  • DCOM.- Distributed Component Object Model.- El Modelo de Objeto ComponenteDistribuido, esta incluido en los sistemas operativos de Microsoft. Es un juego deconceptos e interfaces de programa, en el cual los objetos de programa del cliente, pueden solicitar servicios de objetos de programa servidores en otras computadoras dentro de una red. Esta tecnología esta asociada a la plataforma de productos Microsoft.
  • CORBA.- Common Object Request Broker Architecture.- Tecnología introducida por el Grupo de Administración de Objetos OMG, creada para establecer una plataforma para la gestión de objetos remotos independiente del lenguaje de programación.

Ventajas de las Base de Datos Distribuidas

• Descentralización.- En un sistema centralizado/distribuido, existe un administrador que controla toda la base de datos, por el contrario en un sistema distribuido existe un administrador global que lleva una política general y delega algunas funciones a administradores de cada localidad para que establezcan políticas locales y así un trabajo eficiente.
• Economía: Existen dos aspectos a tener en cuenta.
  • El primero son los costes de comunicación; si las bases de datos están muy dispersas y las aplicaciones hacen amplio uso de los datos puede resultar más económico dividir la aplicación y realizarla localmente.
  •  El segundo aspecto es que cuesta menos crear un sistema de pequeñas computadoras con la misma potencia que un único computador.


 Mejora de rendimiento: Pues los datos serán almacenados y usados donde son generados, lo cual permitirá distribuir la complejidad del sistema en los diferentes sitios de la red, optimizando la labor.
• Mejora de fiabilidad y disponibilidad: La falla de uno o varios lugares o el de un enlace de comunicación no implica la inoperatividad total del sistema, incluso si tenemos datos duplicados puede que exista una disponibilidad total de los servicios.

• Crecimiento: Es más fácil acomodar el incremento del tamaño en un sistema distribuido, por que la expansión se lleva a cabo añadiendo poder de procesamiento y almacenamiento en la red, al añadir un nuevo nodo.
• Flexibilidad: Permite acceso local y remoto de forma transparente.
• Disponibilidad: Pueden estar los datos duplicados con lo que varias personas pueden acceder simultáneamente de forma eficiente. El inconveniente, el sistema administrador de base de datos debe preocuparse de la consistencia de los mismos.
• Control de Concurrencia: El sistema administrador de base de datos local se encarga de manejar la concurrencia de manera eficiente.


Computacion en la Nube


En este tipo de computación todo lo que puede ofrecer un sistema informático se ofrece como servicio, de modo que los usuarios puedan acceder a los servicios disponibles "en la nube de Internet" sin conocimientos (o, al menos sin ser expertos) en la gestión de los recursos que usan. Según el IEEE Computer Society, es un paradigma en el que la información se almacena de manera permanente en servidores de Internet y se envía a cachés La computación en la nube son servidores desde Internet encargados de atender las peticiones en cualquier momento. Se puede tener acceso a su información o servicio, mediante una conexión a internet desde cualquier dispositivo móvil o fijo ubicado en cualquier lugar. Sirven a sus usuarios desde varios proveedores de alojamiento repartidos frecuentemente por todo el mundo. Esta medida reduce los costos, garantiza un mejor tiempo de actividad y que los sitios web sean invulnerables a los delincuentes informáticos, a los gobiernos locales y a sus redadas policiales.


RMI


RMI es un paquete de JAVA que permite manejar objetos (y sus respectivos metodos) de manera remota, para utilizar los recursos de un servidor de manera transparente para el usuario local.

La manera en que RMI (y RPC en general) logra hacer esto, es por medio de lo que se conoce como STUBs. En el caso del STUB servidor, se conoce como SKELETON. Estos Stubs y Skeletons permiten que al momento de ser invocada la función remota esta pueda ser "simulada localmente"





Para la comunicación entre el servidor y el cliente, se trabaja con interfaces, que deben ser implementadas por el servidor y/o cliente, para que los STUBs puedan realizar la transparencia para ambos. Además esto evita que deba existir una definición local real de la clase remota, vale decir, en el cliente solo debe estar definida la interface, no la clase remota. 

Otro punto importante en RMI, es el como se produce la conectividad entre el cliente y servidor. Para esto se ocupa una herramienta de JAVA, llamada RMI Registry.
El RMI Registry puede estar localizado en un lugar distinto al servidor, y se encarga de registrar un determinado objeto y asignarle un servidor que se encargará de procesar dicho objeto.

El funcionamiento general es:



  • Se ejecuta el RMI Registry, en algún lugar de la red.
  • El servidor que desea manejar un objeto, se registra en dicho servidor,
  • El RMI Registry registra el par: OBJETO/SERVIDOR
  • El cliente que necesita utilizar un determinado objeto, hace una consulta al RMI Registry, quien devuelve el STUB listo para la comunicación


  • Esto es, a grandes rasgos, lo mas indispensable que se debe saber a la hora de utilizar RMI. Se puede profundizar mucho mas sobre el tema, en la página oficial de JAVA, en donde se pueden encontrar mas ejemplos sobre el tema, en la API se encuentran todos los metodos y clases del paquete RMI, y en Internet.

    Kleopatra


    Kleopatra. Es la herramienta de KDE para manejar certificados X 509 y OpenPGP y almacenes de certificados GPG y para recuperar certificados de servidores LDAP y otros servidores de certificados.

    Características

    Kleopatra se puede iniciar desde el menú Herramientas! Gestor de certificadosde KMail, así como desde la línea de órdenes. El ejecutable de Kleopatrase llama kleopatra. Existe un equivalente de la aplicación en GNOME llamada Gnome-screenshot.

    Funciones principales

    La función principal de Kleopatra es mostrar y editar el contenido de la caja de claves local, que es similar al concepto de los anillos de claves de GPG, aunque no se ajuste demasiado a esta analogía.

    • Buscar e importar certificados: La mayoría de las veces, adquirirá los certificados nuevos al verificar las firmas de los correos electrónicos, porque los certificados están empotrados en las firmas que se hacen al usarlos.
    • Crear un nuevo par de claves: Los pares de claves OpenPGP se crear localmente y se certifican por sus amigos y conocidos. No hay una autoridad central de certificación, en su lugar, cada individuo crea una red de confianza certificando otros pares de claves de usuario con su propio certificado. Usted tiene que introducir un Nombre, Correo y opcionalmente Comentario.
    • Crear un par de claves personales X.509 y una solicitud de certificación: Los pares de claves X.509 son creadas localmente, pero certificados centralizada-mente por una autoridad de certificación (CA). Unas CA pueden certificar otras CA, creando una cadena de confianza central y jerárquica.


    Aplicación de correo Thunderbird


    Mozilla Thunderbird es un cliente de correo electrónico de la Fundación Mozilla. Su objetivo es desarrollar un Mozilla más liviano y rápido mediante la extracción y rediseño del gestor de correo del Mozilla oficial. Es multiplataforma, utiliza el lenguaje de interfaz XUL y es software libre.



    Criptografia

    La criptografía es la técnica que protege documentos y datos. Funciona a través de la utilización de cifras o códigos para escribir algo secreto en documentos y datos confidenciales que circulan en redes locales o en internet. Su utilización es tan antigua como la escritura. Los romanos usaban códigos para ocultar sus proyectos de guerra de aquellos que no debían conocerlos, con el fin de que sólo las personas que conocían el significado de estos códigos descifren el mensaje oculto. 


    A partir de la evolución de las computadoras, la criptografía fue ampliamente divulgada, empleada y modificada, y se constituyó luego con algoritmos matemáticos.Además de mantener la seguridad del usuario, la criptografía preserva la integridad de la web, la autenticación del usuario así como también la del remitente, el destinatario y de la actualidad del mensaje o del acceso. 


    Las llaves pueden ser:


    Simétricas: Es la utilización de determinados algoritmos para descifrar y encriptar(ocultar) documentos. Son grupos de algoritmos distintos que se relacionan unos con otros para mantener la conexión confidencial de la información. 

    Asimétrica: Es una fórmula matemática que utiliza dos llaves, una pública y la otra privada. La llave pública es aquella a la que cualquier persona puede tener acceso, mientras que la llave privada es aquella que sólo la persona que la recibe es capaz de descifrar. 

    Ventajas de los Sistemas Distribuidos


    En general, los sistemas distribuidos exhiben algunas ventajas sobre los sistemas centralizados. Las principales se describen enseguida:

    • Economía: El cociente precio/desempeño de la suma del poder de los procesadores separados contra el poder de uno solo centralizado es mejor cuando están distribuidos.
    • Velocidad: Relacionado con el punto anterior, la velocidad sumada es muy superior.
    • Confiabilidad: Si una sola máquina falla, el sistema total sigue funcionando.
    • Crecimiento: El poder total del sistema puede irse incrementando al añadir pequeños sistemas, lo cual es mucho más difícil en un sistema centralizado y caro.
    • Distribución: Algunas aplicaciones requieren de por sí una distribución física.

    Por otro lado, los sistemas distribuidos también exhiben algunas ventajas sobre sistemas aislados. Estas ventajas son:



    • Compartir datos: Un sistema distribuido permite compartir datos más fácilmente que los sistemas aislados, que tendrían que duplicarlos en cada nodo para lograrlo.
    • Compartir dispositivos: Un sistema distribuido permite acceder dispositivos desde cualquier nodo en forma transparente, lo cual es imposible con los sistemas aislados. El sistema distribuido logra un efecto sinergético.
    • Comunicaciones: La comunicación persona a persona es factible en los sistemas distribuidos, en los sistemas aislados no.
    • Flexibilidad: La distribución de las cargas de trabajo es factible en el sistema distribuido, se puede incrementar el poder de cómputo.

    Así como los sistemas distribuidos exhiben grandes ventajas, también se pueden identificar algunas desventajas, algunas de ellas tan serias que han frenado la producción comercial de sistemas operativos en la actualidad. El problema más importante en la creación de sistemas distribuidos es el software; los problemas de compartición de datos y recursos son tan complejos que los mecanismos de solución generan mucha sobrecarga al sistema haciéndolo ineficiente. El revisar y validar, por ejemplo, quiénes tienen acceso a algunos recursos y quiénes no, el aplicar los mecanismos de protección y registro de permisos consume demasiados recursos. En general, las soluciones presentes para estos problemas están aún en sus comienzos.