Академический Документы
Профессиональный Документы
Культура Документы
Nombres:
Martínez Martínez Benjamín
Materia:
Desarrollo de aplicaciones para ambientes distribuidos
Profesor:
L.I. Ambrosio Cardoso Jiménez
Tema:
Servicios de arquitecturas
octubre / 2009
Servicios de arquitecturas:
Cómo funciona el correo electrónico
Correo electrónico, o en inglés e-mail (electronic mail), es un servicio de red que permite a los
usuarios enviar y recibir mensajes rápidamente (también denominados mensajes electrónicos o
cartas electrónicas) mediante sistemas de comunicación electrónicos. Principalmente se usa este
nombre para denominar al sistema que provee este servicio en Internet, mediante el protocolo
SMTP, aunque por extensión también puede verse aplicado a sistemas análogos que usen otras
tecnologías. Por medio de mensajes de correo electrónico se puede enviar, no solamente texto,
sino todo tipo de documentos digitales. Su eficiencia, conveniencia y bajo costo (con frecuencia
nulo) están logrando que el correo electrónico desplace al correo ordinario para muchos usos
habituales.
Elementos
Para que una persona pueda enviar un correo a otra, ambas han de tener una dirección de correo
electrónico. Esta dirección la tiene que dar un proveedor de correo, que son quienes ofrecen el
servicio de envío y recepción. Es posible utilizar un programa específico de correo electrónico
(cliente de correo electrónico o MUA, del inglés Mail User Agent) o una interfaz web, a la que se
ingresa con un navegador web.
Dirección de correo
Una dirección de correo electrónico es un conjunto de palabras que identifican a una persona que
puede enviar y recibir correo. Cada dirección es única y pertenece siempre a la misma persona.
Un ejemplo es persona@servicio.com, que se lee persona arroba servicio punto com. El signo @
(llamado arroba) siempre está en cada dirección de correo, y la divide en dos partes: el nombre de
usuario (persona), servidor (servicio) y el dominio en el que está (.com). La arroba también se
puede leer "en", ya que persona@servicio.com identifica al usuario persona que está en el
servidor servicio.com (indica una relación de pertenencia).
Funcionamiento
Se pueden mandar mensajes entre computadores personales o entre dos terminales de una
computadora central. Los mensajes se archivan en un buzón (una manera rápida de mandar
mensajes). Cuando una persona decide escribir un correo electrónico, su programa (o correo web)
le pedirá como mínimo tres cosas:
• Destinatario: una o varias direcciones de correo a las que ha de llegar el mensaje
• Asunto: una descripción corta que verá la persona que lo reciba antes de abrir el correo
• El propio mensaje. Puede ser sólo texto, o incluir formato, y no hay límite de tamaño
Envío
En este ejemplo ficticio, Ana (ana@a.org) envía un correo a Bea (bea@b.com). Cada persona está
en un servidor distinto (una en a.org, otra en b.com), pero éstos se pondrán en contacto para
transferir el mensaje. Por pasos:
2. El servidor SMTP ve que ha de entregar un correo a alguien del dominio b.com, pero no
sabe con qué ordenador tiene que contactar. Por eso consulta a su servidor DNS (usando el
protocolo DNS), y le pregunta quién es el encargado de gestionar el correo del dominio b.com.
Técnicamente, le está preguntando el registro MX asociado a ese dominio.
3. Como respuesta a esta petición, el servidor DNS contesta con el nombre de dominio del
servidor de correo de Bea. En este caso es mx.b.com; es un ordenador gestionado por el
proveedor de Internet de Bea.
5. Más adelante (quizás días después), Bea aprieta el botón "Recibir nuevo correo" en su
programa cliente de correo. Esto empieza una conexión, mediante el protocolo POP3 o IMAP, al
ordenador que está guardando los correos nuevos que le han llegado. Este ordenador
(pop3.b.com) es el mismo que el del paso anterior (mx.b.com), ya que se encarga tanto de recibir
correos del exterior como de entregárselos a sus usuarios. En el esquema, Bea recibe el mensaje
de Ana mediante el protocolo POP3.
Recepción
Cuando una persona recibe un mensaje de correo electrónico puede verse en la bandeja de
entrada un resumen de él:
• Remitente (De: o From: -en inglés-): esta casilla indica quién envía el mensaje. Puede
aparecer el nombre de la persona o entidad que nos lo envía (o su apodo o lo que
desee el remitente). Si quien envía el mensaje no ha configurado su programa o correo
web al respecto aparecerá su dirección de email
Asunto: en este campo se ve el tema que trata el mensaje (o lo que el remitente de él
desee). Si quien envía el mensaje ha dejado esta casilla en blanco se lee [ninguno] o
[sin asunto]. Si el mensaje es una respuesta el asunto suele empezar por RE:
(abreviatura de responder o reply -en inglés-, seguida de dos puntos). Cuando el
mensaje procede de un reenvío el asunto suele comenzar por RV: (abreviatura de
reenviar) o Fwd: (del inglés forward.
Fecha: esta casilla indica cuándo fue enviado el mensaje o cuándo ha llegado a la
bandeja de entrada del receptor.
Tipos
Circuito a nivel de pasarela: Aplica mecanismos de seguridad cuando una conexión TCP o UDP es
establecida. Una vez que la conexión se ha hecho, los paquetes pueden fluir entre los anfitriones
sin más control.
Cortafuegos de capa de red o de filtrado de paquetes: Funciona a nivel de red (nivel 3) de la pila de
protocolos (TCP/IP) como filtro de paquetes IP. A este nivel se pueden realizar filtros según los
distintos campos de los paquetes IP: dirección IP origen, dirección IP destino, etc. A menudo en
este tipo de cortafuegos se permiten filtrados según campos de nivel de transporte (nivel 4) como
el puerto origen y destino, o a nivel de enlace de datos (nivel 2) como la dirección MAC. Este es
uno de los principales tipos de cortafuegos. Se considera bastante eficaz y transparente pero difícil
de configurar.
Cortafuegos de capa de aplicación: Trabaja en el nivel de aplicación (nivel 7), de manera que los
filtrados se pueden adaptar a características propias de los protocolos de este nivel. Por ejemplo,
si se trata de tráfico HTTP, se pueden realizar filtrados según la URL a la que se está intentando
acceder. Un cortafuego a nivel 7 de tráfico HTTP suele denominarse proxy, y permite que las PC
de una organización entren a Internet de una forma controlada. Un proxy oculta de manera eficaz
las verdaderas direcciones de red.
Los Sistemas Operativos pueden organizarse de maneras diferentes, una de ellas, la más común
quizá, son los sistemas Monolíticos, que a decir verdad no exhiben una estructura bien definida,
sino que todos sus componentes se encuentran agrupados en un único programa (el Sistema
Operativo), el cual se ejecuta en un único espacio de direcciones.
El sistema operativo se escribe como un conjunto de procedimientos, cada uno de los cuales
puede llamar a cualquiera de los otros siempre que lo necesite. Cuando se emplea este esquema,
cada procedimiento tiene una interfaz bien definida en términos de parámetros y resultados, y
cada una puede llamar a cualquier otra, si la última ofrece algún cálculo que la primera necesite.
En un sistema por capas, el sistema operativo se organiza como una jerarquía de capas, donde
cada capa ofrece una interfaz clara y bien definida a la capa superior y solamente utiliza los
servicios que le ofrece la capa inferior.
En cada capa se encapsulan funciones específicas, así cada capa se encarga de una parte específica
del sistema operativo.
En este nivel, suponemos que dos computadores están comunicados directamente por un "cable"
bidireccional. Esto puede ser un circuito virtual, un cable serial, una conexión telefónica con
modems, una ethernet, una FDDI, etc.
Suponemos que podemos hacer un 'write' de algunos bytes en ese cable y al otro lado pueden
hacer un 'read'.
La idea es que el 'write' y el 'read' son llamadas al nivel físico para enviar los datos, pero lo
podemos ver como un 'pipe' bidireccional que conecta ambas máquinas. El problema es que este
'pipe' puede tener errores: puede perder bytes y puede alterar bytes.
La amplia presencia de viejos sistemas informáticos y aplicaciones en las organizaciones a las que
el proyecto va dirigido, como por ejemplo Ayuntamientos, Centros de Asistencia Sanitaria, PYME,
etc, y la necesidad de extraer información de estos sistemas heredados, hace necesario el
desarrollo de nuevas herramientas para trabajar con aplicaciones no orientadas en la red a través
de Internet. Obviamente la modernización de estos sistemas anticuados es deseable, pero muchas
veces no es muy asequible, no sólo por razones económicas sino también por razones críticas de
entrega de servicios.
Las aplicaciones Cliente/Servidor debido a la alta complejidad del problema, cada aplicación tiene
su propia lógica que debería ser reprogramada o dispuesta en un servidor intermedio para
ejecutar la lógica de la parte del cliente para todos los usuarios conectados a la aplicación
heredada, lo cual requerirá una gran anchura de banda y un ordenador muy potente para dar una
tasa baja de concurrencia, una solución que no es asequible para un número de usuarios
medio/alto.
Aplicaciones basadas en Host tienen un conjunto más estandarizado de características que nos
permitirá transformar una aplicación Host (Mainframe/Unix) a una aplicación habilitada para la
web sin reescribir el
Código original.
Las empresas invierten una gran cantidad de recursos para mantener funcionando los sistemas
que soportan sus áreas de negocio. De acuerdo con las leyes de Lehman [4], los sistemas que
resuelven un problema del mundo real deben adaptarse continuamente ya que en caso de no
hacerlo la solución que aportan será cada vez menos satisfactoria.
Al añadir código al sistema, las tareas de mantenimiento se encarecen y complican. Los cambios
en el entorno agravan este problema. Se debe decidir si se siguen utilizando tecnologías que salen
del mercado o se migra hacia otras nuevas. No es recomendable continuar utilizando una
tecnología que se ha vuelto obsoleta; las partes de hardware se vuelven escasas y es costoso
conseguirlas; el software de base de los sistemas deja de ser soportado por sus fabricantes y la
gente con habilidades para realizar ajustes y corregir problemas en él también comienza a
escasear.
Compartir la información entre los sistemas requiere de la aplicación de mucho esfuerzo manual
para transportar y convertir la información de un sistema al otro. Así mismo, es común que a cada
sistema se deban agregar nuevos reportes y consultas para satisfacer nuevas necesidades. Si se
requiere un reporte que integre la información de dos o más de estos sistemas, probablemente se
deba hacer un trabajo artesanal utilizando herramientas como hojas de cálculo y procesadores de
texto.
Se provee una distribución de aplicación y ejecución segura y protegida por medio de la provisión
de sistemas y métodos que prueban una aplicación para asegurar que la misma satisface un
criterio predeterminado, asociado con el entorno en el cual se ejecutará. Más aún, por medio del
uso de reglas y listas de permiso, de la aplicación de la eliminación de la aplicación, y de una
técnica de detección de modificación, tal como de firmas digitales, la presente provee mecanismos
para distribuir y ejecutar de manera segura aplicaciones probadas o no probadas, con el fin de
determinar si la aplicación ha sido modificada, determinando si la misma ha tenido permiso para
ejecutar en un determinado entorno de dispositivo inalámbrico, y eliminar la aplicación en el caso
de que sea deseable hacerlo.