Proceso Distribuido - M. en C. Jose Mario Martinez Castro

Anuncio
Universidad Autónoma de Guerrero
Unidad Académica de Ingeniería
Ingeniería en Computación
Curso:
Proceso Distribuido
(Unidades 1, 2)
Prof.: M. en C. José Mario Martínez Castro
Chilpancingo, Gro., Agosto del 2005
Proceso Distribuido
Contenido
Unidad 1. Introducción.................................................................................................................. 3
1.1. Conceptos de Sistemas Distribuidos..................................................................................... 3
Términos sinónimos:................................................................................................................ 3
¿Qué está Distribuido?............................................................................................................. 3
Características de los Sistemas Distribuidos. .......................................................................... 4
Factores que han afectado el desarrollo de los Sistemas Distribuidos. ................................... 4
1.2. Ventajas y Desventajas de los Sistemas Distribuidos........................................................... 5
Ventajas: .................................................................................................................................. 5
Desventajas: ............................................................................................................................. 6
1.3. Categorías de los sistemas Distribuidos................................................................................ 6
A.- Modelo de Minicomputadoras........................................................................................... 6
B.- Modelo de Estación de Trabajo. ........................................................................................ 6
C.- Modelo microprocesadores en Pooling.............................................................................. 7
1.4. Aplicaciones.......................................................................................................................... 7
Unidad 2. Modelo Cliente / Servidor............................................................................................ 8
2.1. Introducción .......................................................................................................................... 8
2.2. Direccionamiento.................................................................................................................. 8
Primitivas Bloqueantes Vs No Bloqueantes ............................................................................ 8
Primitivas Almacenadas En Buffer Vs No Almacenadas........................................................ 9
Primitiva Confiables Vs No Confiables.................................................................................. 9
Implementación del Modelo Cliente – Servidor.................................................................... 10
Comentarios acerca de Implementación de Protocolos y Software...................................... 10
Uso de los reconocimientos: .................................................................................................. 10
Las Secuencias más Comunes son las Siguientes:................................................................. 11
2.3. Niveles de la Arquitectura TCP/IP ..................................................................................... 12
2.4. Servicios del Nivel de Aplicación del Modelo TCP/IP: ..................................................... 13
2.4.1 Conexión Remota (TELNET)....................................................................................... 14
Servicios ofrecidos por Telnet: .......................................................................................... 15
2.4.2 WWW (La Amplia Telaraña Mundial)......................................................................... 15
El protocolo HTTP (HyperText Transfer Protocol) .......................................................... 16
2.4.3 FTP (Protocolo de Transferencia de Archivos) ............................................................ 16
2.4.4 Correo Electrónico ........................................................................................................ 17
2.4.4.1 POP3 (Post Office Protocol Versión 3)................................................................ 17
2.4.4.2 SMTP (Simple Mail Transfer Protocol)................................................................. 18
2.5. IPv6 ..................................................................................................................................... 19
Unidad 1
2/2
Proceso Distribuido
Unidad 1. Introducción
1.1. Conceptos de Sistemas Distribuidos.
Es un concepto poco claro de definir.
Un conjunto de elementos de cómputo autónomos que se encuentran físicamente separados y no
comparten una memoria común, se comunican entre sí a través del intercambio de mensajes
utilizando un medio de comunicación y cooperan en la ejecución de sus tareas asignadas.
•
Los elementos no necesariamente deben ser homogéneos.
El objetivo es: crear la ilusión en la mente de los usuarios de que toda la red es un solo sistema
de tiempo compartido.
•
Uniprocesador Virtual
Términos sinónimos:
• Función distribuida.
• Procesamiento distribuido de datos.
• Procesamiento satelital.
• Procesamiento dorsal.
• Computadoras de propósito especial / dedicado.
• Sistemas de tiempo compartido.
• Sistema modular funcional.
¿Qué está Distribuido?
• Lógica de procesamiento.
• Funciones.
• Control.
• Datos.
SMBD Centralizadas
SMBD Distribuidas
BD
BD
Sitio 3
Sitio 3
RED
RED
BD
Sitio 1
Sitio 1
BD
Sitio 2
Sitio 2
11
Base de Datos Distribuidas – Unidad 1
Unidad 1
ISC. José Mario Martínez Castro
12
Base de Datos Distribuidas – Unidad 1
ISC. José Mario Martínez Castro
3/3
Proceso Distribuido
Características de los Sistemas Distribuidos.
• Cada elemento de computo tiene su propia memoria y su propio Sistema Operativo.
• Control de recursos locales y remotos.
• Sistemas Abiertos (Facilidades de cambio y crecimiento).
• Plataforma no standard ( Unix, NT, Intel, RISC, Etc.).
• Medios de comunicación ( Redes, Protocolos, Dispositivos, Etc.).
• Capacidad de Procesamiento en paralelo.
• Dispersión y parcialidad.
• Mecanismo de comunicación global entre los procesos
(cualquiera puede hablar con cualquiera).
No tiene que haber distintos mecanismos en distintas máquinas o distintos
mecanismos para la comunicación local o la comunicación remota.
• Esquema global de protección
• La administración de procesos debe ser la misma en todas partes (crear, destruir, iniciar,
detener)
• Sistema global de archivos con la misma apariencia en todas partes
Factores que han afectado el desarrollo de los Sistemas Distribuidos.
• Nuevos requerimientos.
• Globalización
•
•
Aspectos Externos ( Culturales, Políticos, Económicos ).
Avances Tecnológicos
Motivaciones
Tecnología de
Bases de Datos
Redes de
Computadoras
Integración
Distribución
Sistemas de
Bases de Datos
Distribuidas
Integración
Integración ≠ Centralización
Base de Datos Distribuidas – Unidad 1
Unidad 1
5
ISC. José Mario Martínez Castro
4/4
Proceso Distribuido
•
Integración.
1.2. Ventajas y Desventajas de los Sistemas Distribuidos
Ventajas:
•
Procesadores más poderosos y a menos costos
o Desarrollo de Estaciones con más capacidades
o Las estaciones satisfacen las necesidades de los usuarios.
o Uso de nuevas interfaces.
•
Avances en la Tecnología de Comunicaciones.
o Disponibilidad de elementos de Comunicación.
o Desarrollo de nuevas técnicas.
•
Compartición de Recursos.
o Dispositivos (Hardware).
o Programas (Software).
•
Eficiencia y Flexibilidad.
o Respuesta Rápida.
o Ejecución Concurrente de procesos (En varias computadoras).
o Empleo de técnicas de procesamiento distribuido.
•
Disponibilidad y Confiabilidad.
o Sistema poco propenso a fallas (Si un componente no afecta a la disponibilidad del
sistema).
o Mayores servicios que elevan la funcionalidad ( Monitoreo, Telecontrol, Correo
Eléctrico, Etc.).
•
Crecimiento Modular.
o Es inherente al crecimiento.
o Inclusión rápida de nuevos recursos.
o Los recursos actuales no afectan.
Unidad 1
5/5
Proceso Distribuido
Desventajas:
• Requerimientos de mayores controles de procesamiento.
• Velocidad de propagación de información (Muy lenta a veces).
• Servicios de replicación de datos y servicios con posibilidades de fallas.
• Mayores controles de acceso y proceso (Commit).
• Administración más compleja.
• Costos.
1.3. Categorías de los sistemas Distribuidos.
A.- Modelo de Minicomputadoras.
Varias computadoras que soportan diferentes usuarios cada una y provee acceso a recursos
remotos.
•
Por lo menos un usuario por cada computadora ( CPU < Usuarios ).
B.- Modelo de Estación de Trabajo.
•
Varias estaciones (Por lo general cientos), donde cada usuario cuenta con una estación de
trabajo (ET) y realiza en ella todo su trabajo. Requiere de un Sistema Operativo que
soporte funciones de acceso y control remoto.
•
Un microprocesador por cada usuario ( CPU = Usuarios).
•
Las estaciones de trabajo cuentan con Interfaces Gráficas, CPU potentes y Memorias
propias.
Unidad 1
6/6
Proceso Distribuido
C.- Modelo microprocesadores en Pooling.
•
Trata de utilizar uno o más microprocesadores dependiendo de las necesidades de los
usuarios.
•
Primero los procesadores completan su tarea y posteriormente regresan a esperar una
nueva asignación.
•
El número de microprocesadores normalmente es mayor a uno por usuario ( CPU >
Usuarios ).
1.4. Aplicaciones
•
Manufactura (especialmente en manufactura multiplanta).
•
Comando y control militar.
•
SIGs corporativos (Sistemas de Información Gerencial).
•
Aerolíneas.
•
Cadenas hoteleras.
•
Cualquier organización que tenga una estructura organizacional descentralizada.
Unidad 1
7/7
Unidad 2. Modelo Cliente / Servidor
2.1. Introducción
Para este modelo se utiliza el protocolo SOLICITUD-RESPUESTA (REQUEST/REPLY), el cual
solicita y recibe algún tipo de servicio haciéndolo todo más sencillo y eficaz. No es necesario el
ruteo y no existe administración de la sesión, y debido a que esta estructura es sencilla, se pueden
reducir los servicios de comunicación a solo dos llamadas del sistema (SEND/RECEIVE).
2.2. Direccionamiento
Direccionamiento Integral MACHINE.NUMBER al código de proceso cliente.
Machine indica el número de máquina dentro de la red y number, el número de proceso dentro de
esa máquina. Si se descompone la maquina SERVER se pierde el servicio pues los programas
compilados tienen integrado ese número de maquina para ese servicio, una variación podría ser
machina.local_id.
Direccionamiento dejando que los procesos elijan direcciones al azar y localizarlos mediante
transmisiones.
Este tipo de direccionamiento consiste en transmitir un paquete especial de localización con la
dirección del proceso destino, haciendo que todas las maquinas de la red reciban este mensaje y
verificar si la dirección es suya; en caso de que lo sea, regresa un mensaje indicando que esa si es
la maquina con su dirección en la red. (Número de maquina). El núcleo emisor utiliza entonces
esa dirección y la captura para uso posterior. Si bien esto cumple con las premisas, genera una
carga adicional en el sistema.
Direccionamiento generador de un servidor de nombres.
Cada vez que se ejecute un cliente en su primer intento por utilizar un servidor, el cliente envía
una solicitud al servidor de nombres (nombre ASCII) para permitirle el número de maquina
donde se localiza el servidor. Una vez obtenida la dirección se puede enviar la solicitud de
manera directa. El problema de ese método es que es un componente centralizado y si bien se
puede duplicar, presenta problemas en el mantenimiento de la consistencia.
Primitivas Bloqueantes Vs No Bloqueantes
Send Bloqueantes (Primitivas sincrónicas).
Mientras que se envía el mensaje al proceso emisor se bloquea, de manera analógica el
RECEIVE. En algunos casos el receptor puede especificar de quienes quiere recibir el mensaje y
queda bloqueado hasta que reciba el mensaje de él. La CPU está muerta, desperdiciando tiempo.
Send No Bloqueantes (Primitivas asincrónicas).
Regresa el control que hizo la llamada (SEND) antes de enviar el mensaje. Trabaja en forma
paralela con el envío del mensaje y existe la desventaja de no poder usar el buffer hasta que no se
envíe la totalidad del mensaje. Una forma de solucionar esto es que el S.O. copie este buffer a un
área propia y luego envíe el mensaje, liberando el buffer. Aquí se desperdicia tiempo en la copia.
Send Sin Bloqueo Con Interrupción.
El emisor es interrumpido cuando el mensaje fue enviado y el buffer está disponible. No se
requiere de una copia, lo que ahorra tiempo, pero las interrupciones a nivel usuario dificultan
mucho la programación. Maximiza el paralelismo.
Proceso Distribuido
En condiciones normales la primera opción es la mejor, no maximiza el paralelismo pero es fácil
de comprender e implantar y no requiere el manejo del buffer en el núcleo. Generalmente el uso
del SEND’s bloqueantes o no bloqueantes se deja a los diseñadores, pues esto está muy ligado al
problema que quiere solucionar. Aunque en algunos casos se disponen de los dos y el usuario
elige su favorito.
Primitivas Almacenadas En Buffer Vs No Almacenadas
Las primitivas no almacenadas suelen tener un problema con el envío y recepción de información
debida a que si el cliente envía un SEND antes de que el SERVER ejecute un RECEIVE para esa
dirección creando reintentos de la petición.
Las primitivas almacenadas en buffer solucionan el problema en el envío y recepción de
mensajes manteniendo pendiente los mensajes en el buffer, creando un retardo que conlleva a su
almacenamiento y manejo.
Para facilitar el manejo del buffer en el manejo de primitivas se utiliza una nueva estructura
llamada BUZÓN.
Primitiva Confiables Vs No Confiables.
•
CONFIABLE: Cuando de alguna manera se garantiza que el mensaje llega a su destino.
•
NO CONFIABLE: Cuando no existe garantía alguna de que el mensaje haya sido
entregado, podría haberse perdido.
Existen tres enfoques de este problema:
1.-Volver a definir la semántica SEND para hacerlo no confiable.
2.- Se envía reconocimientos de núcleo a núcleo sin que estos se enteren.
3.- Este aprovecha la respuesta como método de reconocimiento.
EJEMPLO:
Tabla 1. Primitivas confiables y no confiables.
CONFIABLE
NO CONFIABLE
Unidad 2
CON CONEXION
SIN CONEXION
Transferencia de
archivo. FTP
Correo certificado
(llega sino avisa)
Teléfono
Correo simple
(puede haber ruido)
(llega o no llega)
9/9
Proceso Distribuido
Implementación del Modelo Cliente – Servidor
Tabla 2. Combinaciones de primitivas.
ELEMENTO
OPCION 1
OPCION 2
OPCION 3
Direccionamiento
Número de máquina
Direcciones ralas de
procesos
Búsqueda de
nombres en ASCII
por medio del
servidor
Bloqueo
Primitivas con bloqueo
Sin bloqueo, copia al
Núcleo
Sin bloqueo con
interrupciones
Almacenamiento en
buffers
No usarlo, descargar
los mensajes
inesperados
No usarlo,
mantenimiento
temporal de mensajes
inesperados
Buzones
No confiable
Solicitud,
reconocimiento,
respuesta,
reconocimiento
Solicitud, respuesta,
reconocimiento
Confiabilidad
Comentarios acerca de Implementación de Protocolos y Software
•
Todas las redes tienen tamaños máximos de paquetes.
•
Los mensajes mayores se dividen en varios paquetes y se envían de forma independiente.
Uso de los reconocimientos:
PAQUETE INDIVIDUAL
Ventaja: Si se pierde un paquete, solo se retransmite el paquete.
Desventaja: Se necesitan más paquetes en la red.
RECONOCIMIENTO POR MENSAJE COMPLETO
Ventaja: Hay menos paquetes en la red.
Desventaja: Se debe retransmitir todo el mensaje en caso de pérdida.
Unidad 2
10/10
Proceso Distribuido
Tabla 3. Tipos de mensajes de cliente a servidor y viceversa.
CODIGO
TIPO DE
PAQUETE
DE
A
DESCRIPCION
REQ
Solicitud
Cli
Ser
El cliente desea servicio
REP
Respuesta
Ser
Cli
Respuesta del servidor al cliente
ACK
Reconocimiento
Cualq
Al otro
El paquete anterior que ha llegado
AYA
Estas vivo?
Cli
Ser
Verificar si el servidor se ha
descompuesto
IAA
Estoy vivo
Ser
Cli
El servidor no se ha descompuesto
TA
Intenta de nuevo
Ser
Cli
El servidor no tiene espacio
AU
Dirección
desconocida
Ser
Cli
Ningún proceso utiliza esta
dirección
Las Secuencias más Comunes son las Siguientes:
Cliente
Servidor
REQ
Cliente
ACK Servidor
ACK
REP
Cliente
REP
REQ
REQ
Servidor
REP
ACK
Cliente
Servidor
ACK
AYA
IAA
REP
Figura 1. Secuencias para el reconocimiento de mensajes.
Unidad 2
11/11
Proceso Distribuido
2.3. Niveles de la Arquitectura TCP/IP
El protocolo de TCP/IP es el nombre que agrupa el conjunto de protocolos utilizados por todas
las computadoras conectadas a internet, de manera que estas puedan comunicarse entre si. Este
conjunto de protocolos cubren los distintos niveles del modelo OSI. La arquitectura de TCP/IP
consta de cuatro niveles siguientes:
Figura 2. Diagrama de las capas de la arquitectura TCP/IP..
Aplicación: se corresponde con los niveles OSI de aplicación, presentación y sesión. Aquí se
incluyen protocolos destinados a proporcionar servicios, tales como correo electrónico
(SMTP, POP3), transferencia de archivos (FTP), conexión remota (Telnet), y otros
recientes, como el protocolo http (Hipetext Transfer Protocol, Protocolo de Transferencia
de Archivos) que proporciona el servicio WWW.
Transporte: coincide con el nivel de transporte del modelo OSI. En este nivel coexisten dos
protocolos TCP y UDP. Este nivel se encarga de determinar el tipo de servicio que se
presta mediante la utilización del concepto del puerto. Un puerto define el punto de acceso
al servicio utilizado.
Red: se corresponde con el nivel de red del modelo OSI. Incluye al protocolo IP, que se encarga
de enviar los paquetes de información a sus destinos correspondientes. El nivel IP es el
encargado de diferenciar unívocamente todas y cada una de las maquinas conectadas a
Internet mediante la asignación de una dirección IP o dirección de red denominada
dirección de cada una.
Enlace/físico: es la interfaz de nivel mas físico con la red. Se encarga de realizar todas las
operaciones relativas al transporte en si de la información y la compatibilidad de los
formatos en los que se envía con los dispositivos y medios de transmisión por los que
discurre.
Unidad 2
12/12
Proceso Distribuido
ARQUITECTURA TCP/IP
NIVEL DE APLICACIÓN
(ACCESO DEL USUARIO A LAS APLICACIONES)
NIVEL DE TRANSPORTE
(COMUNICACIÓN EXTREMO A EXTREMO)
NIVEL DE RED
(GESTION Y DIRECCIONAMIENTO DE LAS
NIVEL DE ENLACE/FISICO
(FLUJO DE DATOS E INTERFAZ CON EL MEDIO FISICO)
Figura 3. Arquitectura TCP/IP.
2.4. Servicios del Nivel de Aplicación del Modelo TCP/IP:
Algunos de estos servicios se definen a continuación:
•
FTP – “File Transfer protocol”(Protocolo de transferencia de archivos)
Este servicio permite la transferencia de archivo al y desde el servidor de FTP, se diseño
para permitir el intercambio de datos, archivos entre computadores host y cliente.
•
GOPHER – El protocolo Gopher
Permite desplegar un sistema de menúes jerárquicos y acceder a la información en
formato de caracteres, como si estuviéramos ejecutando una terminal de Unix.
•
MAILTO – Dirección de Correo Electrónico
El correo electrónico fue una de las primeras aplicaciones creadas para Internet y de las
que más se utilizan. Éste medio es rápido, eficiente y sencillo de administrar, llegando a
ser el sistema más sofisticado de mensajería que hoy conocemos.
•
POP3 Post Office Protocol 3
Es el protocolo que nos permite acceder a nuestra casilla de correos.
•
SMTP.- Simple Mail Transfer Protocol (Protocolo De Internet Para Correo Electrónico)
Unidad 2
13/13
Proceso Distribuido
Es un protocolo de la familia del TCP/IP para la transmisión de correo electrónico, éste no
es dependiente de ningún correo en especial sino que cualquier soft de correo que genere
un e~mail en el formato en que el protocolo lo estructura, será entendido por éste.
•
NEWS – “USENET news”
Es un sistema de conferencias y discusión de alcance global, este soporta lo que se
denominan mailing list, cuando se quiere escribir algo para que sea leído por los demás
lectores éste se postea a un newsgroup.
•
IRC.- Internet Relay Chat
Este es un servicio que permite al usuario, por medio del tipeo, conversar con otros
usuarios conectados a servidores de IRC.
A continuación se explicaran algunos de estos servicios:
2.4.1 Conexión Remota (TELNET)
Una Conexión Remota es un servicio que utiliza el protocolo TELNET que proporciona una
interfaz estandarizada, a través de la cual un programa de un host (el cliente de TELNET, que es
cualquier ordenador con un sistema multiusuario), puede acceder a los recursos de otro host (el
servidor de TELNET) como si el cliente fuera una terminal local conectada al servidor.
Figura 4. Esquema de una sesión remota con el servicio TELNET.
El protocolo TELNET es una de las primeras herramientas que se usaron para conectarse a
computadoras en Internet. Hoy día el acceso a un ordenador remoto por Telnet se utiliza bien para
ejecutar sus programas o para consultar la información almacenada. Antes se usaba para el correo
electrónico, ftp, incluso para ver páginas en la 3W. Pero tiene poco sentido interactuar con el
ordenador remoto con comandos y en modo texto cuando se puede hacer con un ratón y con
imágenes y sonidos. La tendencia es que incluso el acceso a bases de datos se haga desde la 3W
(con el navegador): es mucho más cómodo para el usuario, se pueden hacer mejores
presentaciones, el usuario no accede directamente a la máquina sino que el navegador se encarga
de decirle a ésta lo que quiere (con lo que se limita el acceso directo al host y se evitan posibles
piratas o hackers).
Unidad 2
14/14
Proceso Distribuido
Una alternativa más segura para telnet, pero que requiere más recursos del computador es ssh
(versión cifrada de telnet) que encripta la información antes de transmitirla, autentica la máquina
a la cual se conecta y puede emplear mecanismos de autenticación de usuarios más seguros.
Para iniciar una sesión remota se usa el comando telnet seguido del nombre de la máquina en la
que desea trabajar, por ejemplo si desea conectarse a la máquina purpura.micolegio.edu.co:
telnet purpura.micolegio.edu.co
Una vez conectado podrá ingresar su login y clave en esa máquina, y entonces se iniciará una
sesión en modo texto como las que ve en las consolas virtuales.
Servicios ofrecidos por Telnet:
* Consultar bases de datos disponibles.
* Consultar catálogos de bibliotecas accesibles desde la red.
* Utilizar los servicios de información de la red.
•
Servicios de directorios: es algo parecido a las páginas amarillas que utilizamos para
localizar un teléfono, pero en este caso nos permite obtener, entre muchas otras cosas
direcciones de correo electrónico.
•
Servicios de información de gran área (WAIS): permite mediante búsquedas complejas
hechas con el propio lenguaje natural localizar multitud de información relacionada con el
tema que le interese (buscadores).
* Correo electrónico.
2.4.2 WWW (La Amplia Telaraña Mundial)
El World Wide Web es un sistema global de hipertexto desarrollado inicialmente en 1989 por
Tim Berners Lee en el Laboratorio Europeo de Física de Partículas, ("European Laboratory for
Particle Physics, CERN") en Suiza. En 1993 el Web comenzó a crecer rápidamente,
principalmente gracias a la NCSA ("National Center for Supercomputing Applications"), que
desarrolló un navegador Web llamado Mosaic, una aplicación basada en X Windows. Esta
aplicación proporcionó la primera interfaz gráfica de usuario al Web. Hoy en día existen
navegadores y servidores Web disponibles para casi todas las plataformas.
El principal artífice del éxito de WWW es el lenguaje de etiquetado de hipertexto HTML
(Hypertext Markup Language).
Una transacción HTTP consiste básicamente en:
•
Conexión
•
Solicitud
•
Respuesta
•
Cierre
Todos los documentos, imágenes, clips de audio o de vídeo se denomina recurso Web. Para
identificar el método de acceso a estos recursos el Web emplea URLs (Uniform Resource
Locators), que es un protocolo estándar de Internet.
Unidad 2
15/15
Proceso Distribuido
El protocolo HTTP (HyperText Transfer Protocol)
El Protocolo para mover archivos de hipertexto a través de la Internet. Requiere un programa
cliente HTTP en un extremo y un programa servidor de HTTP en el otro. HTTP es el protocolo
más importante usado en el WWW y se ha usado desde sus inicios en 1990.Es el protocolo
estándar de comunicaciones entre servidores y clientes Web, que es un borrador de estándar de
Internet.
HTTP son las siglas de HyperText Transfer Protocol (protocolo de transferencia de hipertexto).
Fue diseñado por un físico del CERN (Centro Europeo de Investigación Nuclear) como un medio
práctico para publicar información. Es un conjunto de reglas, o protocolo, que gobierna la
transferencia de hipertexto entre dos o mas computadoras.
Hipertexto es texto codificado especialmente usando un sistema estándar llamado Hypertext
Markup Language (Lenguaje de Marcado por Hipertexto) (HTML).
Los códigos HTML se usan para crear enlaces. Esos enlaces pueden ser textos o gráficos, y
cuando son clickeados, pueden "enlazar" el enlace del usuario a otro recurso tal como otros
documentos HTML, archivos de texto, gráficos, animación y sonido.
Los enlaces o links se manifiestan en el programa navegador mediante palabras subrayadas y
mediante el cambio del cursor del ratón a una mano. Los enlaces no sólo apuntan a otras páginas,
sino que pueden hacerlo a cualquier tipo de archivo. De esa forma, también se puede utilizar el
hipertexto para traer ficheros a nuestro ordenador.
HTTP está basado en el principio cliente/servidor. HTTP permite que la "computadora A" (el
cliente) establezca una conexión con la "computadora B" (el servidor) y hacer una petición. El
servidor acepta la conexión iniciada por el cliente y le envía una respuesta.
Una petición HTTP identifica el recurso que le interesa al cliente y le dice al servidor cual
"acción" realizar en el recurso.
Cuando un usuario selecciona un enlace hipertexto, el programa cliente en su computadora usa
HTTP para contactar al servidor, identificar el recurso, y responder con una acción. El servidor
acepta el pedido, y entonces usa HTTP para responder o realizar la acción requerida.
HTTP también provee acceso a los otros protocolos de Internet, entre ellos:
•
Protocolo de Transferencia de Archivos (FTP)
•
Protocolo Simple de Transferencia de Correo (SMTP)
•
Protocolo de Transferencia de Noticias de Red(NNTP)
•
WAIS
•
Gopher
•
Telnet and TN3270
2.4.3 FTP (Protocolo de Transferencia de Archivos)
Las siglas FTP significan Protocolo de Transferencia de Archivos (File Transfer Protocol). Este
servicio nos permite accesar a computadoras remotas y obtener archivos de estas computadoras.
Permite la transferencia de archivo al y desde el servidor de FTP, se diseño para permitir el
intercambio de datos, archivos entre computadores host y cliente. Cuando se ingresa a un
servidor FPT se puede hacer como usuario con permisos definidos o como usuario invitado,
Unidad 2
16/16
Proceso Distribuido
siempre y cuando el administrador del sistema habilite el mismo, luego puede recorrer las
distintas carpetas hasta encontrar el archivo buscado, una vez encontrado este se transfiere a
nuestro computadora.
El objetivo principal de este protocolo son varios puntos, promover el compartir archivos entre
computadoras (programas y/o datos), alentar al uso remoto de las computadoras, y transferir
datos de una forma segura y optima por computadora. FTP mas que para ser usado por un usuario
directamente es para que los programas lo usen entre ellos para comunicarse.
La forma de conectarse a un servidor de FTP es igual que en Telnet, usando únicamente la
dirección de la máquina a la que uno se desea conectar. Una vez conectado, se pedirá login y
password. Normalmente, en una sesión FTP "anónima", el login será anonymous o ftp y el
password será nuestra dirección electrónica (por ejemplo Rogerio@campus.mor.itesm.mx).
Algunos de los comandos mas usados en FTP son los siguientes:
•
Comandos de acceso
•
Comandos de transferencia
•
Comandos de servicio
2.4.4 Correo Electrónico
2.4.4.1 POP3 (Post Office Protocol Versión 3)
Es un protocolo para la gestión de correo en Internet. Es el más utilizado junto con SMTP,
porque aunque en algunos nodos menores de Internet normalmente es poco práctico mantener un
sistema de transporte de mensajes (MTS), es posible que una estación de trabajo no tenga
recursos suficientes (espacio en disco, entre otros) para permitir que un servidor de SMTP
[RFC821] y un sistema local asociado de entrega de correo estén residentes y continuamente en
ejecución. De forma similar, puede ser caro (o incluso imposible) mantener una computadora
personal interconectada a una red tipo IP durante grandes cantidades de tiempo (el nodo carece el
recurso conocido como "connectivity").
A pesar de esto, a menudo es muy útil poder administrar correo sobre estos nodos, y
frecuentemente soportan un user agent (UA agente de usuario) para ayudar en las tareas de
manejo de correo. Para resolver el problema, un nodo que sí sea capaz de soportar un MTS
ofrecerá a estos nodos menos dotados un servicio de maildrop. Se entiende por maildrop, el
"lugar" en el sistema con el MTS donde el correo es almacenado para que los otros nodos puedan
trabajar con él sin necesidad de mantener su propio MTS. El Protocolo de oficina de correos Versión 3 (POP3) está destinado a permitir que una estación de trabajo acceda dinámicamente a
un maildrop en un host servidor de forma útil y eficiente. Esto significa que el protocolo POP3 se
usa para permitir a una estación de trabajo recobrar correo que el servidor tiene almacenado.
POP3 no está destinado a proveer de extensas operaciones de manipulación de correo sobre el
servidor; normalmente, el correo es transmitido y entonces borrado. IMAP4 es un protocolo más
avanzado y complejo y es tratado en [RFC1730] y revisado en [RFC 2060].
De aquí en adelante el termino (host) cliente se refiere a un host haciendo uso del servicio POP3
y host servidor al que ofrece este servicio. Inicialmente, el host servidor comienza el servicio
POP3 leyendo el puerto 110 TCP. Cuando un host cliente desea de hacer uso del servicio,
establece una conexión TCP con el host servidor. Cuando la conexión se establece, el servidor
Unidad 2
17/17
Proceso Distribuido
POP3 envía un saludo. Entonces, el cliente y el servidor de POP3 intercambian comandos y
respuestas respectivamente hasta que la conexión se cierra o es abortada.
Los comandos en el POP3 consisten en una palabra clave (keyword), posiblemente seguida de
uno o más argumentos. Todos los comandos terminan con un par CRLF. Las palabras clave y los
argumentos consisten en caracteres ASCII imprimibles. Las palabras clave y los argumentos
están cada uno separados por un único carácter de espacio. Las palabras clave son de una
longitud de tres o cuatro caracteres, mientras que cada argumento puede ser de hasta 40
caracteres de longitud.
Las respuestas en el POP3 consisten de un indicador de estado y una palabra clave posiblemente
seguida de información adicional. Todas las respuestas acaban en un par CLRF. Las respuestas
pueden ser de hasta 512 caracteres de longitud, incluyendo el CRLF de terminación. También
existen dos indicadores de estado: positivo o afirmativo ("+OK") y negativo ("-ERR"). Los
servidores deben enviar el "+OK" y el "-ERR" en mayúsculas.
Abastecedores POP3
Estos acceso de la oferta POP3/SMTP de los abastecedores solamente. Las cuentas POP3
se pueden también ver en la tela usando a un " lector ." Nota: Muchos tela-basados y los
abastecedores los no-E.E.U.U. también ofrecen la accesibilidad POP3.
2.4.4.2 SMTP (Simple Mail Transfer Protocol)
El Protocolo simple de transferencia de correo es uno de los Protocolos de Internet (IP) centrales
diseñados para transferir correo electrónico de manera confiable y eficiente.
La idea que subyace a SMTP es bastante sencilla. Un usuario o una aplicación (en este caso,
Duwamish Online) redacta un mensaje que contiene la dirección de correo electrónico del
destinatario (por ejemplo, "juandato@empresa.com") junto con el asunto y el contenido del
mensaje.
La entrega del mensaje se inicia al transferir el mensaje a un servidor SMTP dedicado. Basándose
en el nombre de dominio de la dirección de correo electrónico del destinatario (por ejemplo,
"empresa.com"), el servidor SMTP inicia la comunicación con un servidor de Sistema de
nombres de dominio (DNS), que busca y devuelve el nombre de host del servidor SMTP de
destino (por ejemplo, "mail.empresa.com") para ese dominio.
Por último, el servidor SMTP de origen se comunica directamente con el servidor SMTP de
destino a través del puerto 25 del Protocolo de control de transporte/Protocolo de Internet
(TCP/IP). Si el nombre de usuario de la dirección de correo electrónico del destinatario coincide
con una de las cuentas de usuario autorizadas en el servidor de destino, el mensaje original se
transferirá a dicho servidor, esperando que el destinatario recoja el mensaje mediante un
programa cliente.
En caso de que el servidor SMTP de origen no pueda comunicarse directamente con el servidor
de destino, el protocolo SMTP dispone de mecanismos para transferir mensajes a través de uno o
varios servidores SMTP intermedios de retransmisión. Un servidor de retransmisión recibirá el
mensaje original e intentará entregarlo al servidor de destino o redirigirlo a otro servidor de
retransmisión. Este proceso se repetirá hasta que se entregue el mensaje o hasta que transcurra un
periodo de tiempo de espera designado.
Unidad 2
18/18
Proceso Distribuido
Probar con el directorio de recogida
O bien, puede redactar un sencillo archivo de texto de correo electrónico basándose en las
especificaciones de SMTP (RFC 822). A continuación se muestra el contenido de un archivo de
texto de ejemplo escrito en el Bloc de notas:
De: miNombre@miDominio.com
Para: alguien@unDominio.com
Asunto: prueba
Éste es el cuerpo del mensaje de prueba.
Conclusión
El servicio SMTP suministrado por Servicios de Internet Información Server de Windows
2000 es un componente sencillo y eficaz para entregar mensajes de correo electrónico salientes
de manera rentable. Evita que los administradores de sistemas tengan que configurar un sistema
de mensajería complejo para la transmisión confiable de mensajes de correo de Internet. Cuando
se utiliza con CDO para Windows 2000, los programadores pueden implementar comunicaciones
SMTP sin necesidad de escribir mucho código.
2.5. IPv6
Un poco de Historia
El reducido espacio de IPv4, a pesar de disponer de cuatro mil millones de direcciones 2^32, la
falta de coordinación en la decada de los 80 en la delegacion de direcciones nos a llevado a los
limites no sospechados en aquel momento. La falta de direcciones no es apreciable por igual en
todos los puntos de la red.
Algunos proveedores de servicios de Internet se ven obligados a proporcionar direcciones IP
privadas mediante mecanismos NAT (traslación de direcciones), lo que significa usar una sola IP
pública para toda una red privada.
Como ya se menciono la solución temporal es el uso de mecanismos NAT, desafortunadamente
de seguir con IPv4 esta tendencia no seria temporal sino invariablemente permanente, esto
implica la imposibilidad practica de muchas aplicaciones, que quedan relegadas a su uso en
intranets, ya que muchos protocolos son incapaces de atravesar los dispositivos NAT.
•
RTP y RTCP (“Real-time Transport Protocol” y “Real Time Control Protocol”) usan
UDP con asignación dinámica de puertos no soportado por NAT
•
La autentificación de Kerberos necesita la dirección fuente, que es modificada por NAT
en la cabecera IP
•
IPsec pierde integridad, debido a que NAT cambia la dirección en la cabecera IP
•
Multicast, aunque es posible técnicamente, su configuración es tan complicada con NAT
que en la práctica no se emplea.
Básicamente ha habido tres fases importantes en el desarrollo de la IPv4 hasta lo que hoy
conocemos como IPv6:
a) 1992 TUBA
b) 1993 SIPP (“Simple IP Plus”)
c) 1994 IPng (“IPv6”)
Unidad 2
19/19
Proceso Distribuido
Introducción a IPv4
Como todos sabemos, los nombres que usamos para conectarnos a Internet (www.elmundo.es o
www.google.com) se traducen en unos números (193.110.128.200 y 216.239.55.100, en nuestro
ejemplo anterior) que son los que realmente usa la Red.
Las direcciones en IPv4 esos números que vimos antes y que son los que conocemos en la
Internet actual tienen 32 bits agrupados en 4 grupos de 8 bits, por lo que el conjunto global va de
0.0.0.0 a 255.255.255.255. Por tanto, idealmente se podrían asignar 4,294,967,296 direcciones.
Con esto en mente, quienes diseñaron la IPv4 pensaron que esto sería más que suficiente.
El problema está en que las direcciones se asignan en bloques o subredes; o sea, se agrupan, se
asignan a alguien (empresa, Universidad, etc.) y todas ellas se consideran ya ocupados (se usen o
no).
Las agrupaciones clásicas son:
•
Clase A: Donde se fija el primer octeto y se dejan los otros tres para que el usuario los
maneje. Por ejemplo, se le asigna la subred "30.x.x.x". Las IPs asignadas al
usuario son 256*256*256=16.777.216
•
Clase B: se fijan los dos primeros octetos y los dos restantes quedan para el usuario. Por
ejemplo, "156.23.x.x". Las IPs asignadas al usuario son 256*256=65536
•
Clase C: se fijan los tres primeros octetos y el que resta queda para el usuario. Por ejemplo,
"193.110.128.x". Las IPs asignadas al usuario son 256.
El problema, sobre todo en las primeras fases, fue que se asignaban con mucha facilidad y alegría
Clases A y B, con lo que el espacio consumido y, sobre todo, el desperdiciado fue muy grande.
Actualmente nos enfrentamos al grave problema de que el direccionamiento IPv4 está cercano a
agotarse y, por tanto, el crecimiento de Internet se pararía porque no podrían incorporarse nuevas
máquina a la Red.
IPv6 (Internet Protocol Version 6)
IPv6 o IPng (Next Generation Internet Protocol) es la nueva versión del protocolo IP (Internet
Protocol). Ha sido diseñado por el IETF (Internet Engineering Task Force) para reemplazar en
forma gradual a la versión actual, el IPv4. En esta versión se mantuvieron las funciones del IPv4
que son utilizadas, las que no son utilizadas o se usan con poca frecuencia, se quitaron o se
hicieron opcionales, agregándose nuevas características, y además ofrece soporte a las nuevas
redes de alto rendimiento (como ATM, Gigabit Ethernet, etc.)
Sus características principales son:
•
Mayor espacio de direccionamiento
Las direcciones pasan de 32 a 128 bits, con esto desaparecen los problemas de
direccionamiento del IPv4 actual y por lo tanto no son necesarias técnicas como NAT.
•
Seguridad
Uno de los grandes problemas achacable a Internet es su falta de seguridad en su diseño
base. Este es el motivo por el que han tenido que desarrollarse, por ejemplo, el SSH o
SSL, protocolos a nivel de aplicación que añaden una capa de seguridad a las conexiones
que pasan a través suyo. IPv6 incluye IPsec, que permite autenticación y encriptación del
propio protocolo base, de forma que todas las aplicaciones se pueden beneficiar de ello.
Unidad 2
20/20
Proceso Distribuido
•
Autoconfiguracion
Al igual que ocurría con el punto anterior, en el actual IPv4 han tenido que desarrollarse
protocolos a nivel de aplicación que permitiesen a los ordenadores conectados a una red
asignarles su datos de conectividad al vuelo. Ejemplos son el DHCP o BootP. IPv6
incluye esta funcionalidad en el protocolo base, la propia pila intenta autoconfigurarse y
descubrir el camino de conexión a Internet (router discovery)
•
Movilidad
Con la movilidad (o roaming) ocurre lo mismo que en los puntos anteriores, una de las
características obligatorias de IPv6 es la posibilidad de conexión y desconexión de nuestro
ordenador de redes IPv6 y, por tanto, el poder viajar con él sin necesitar otra aplicación
que nos permita que ese enchufe/desenchufe se pueda hacer directamente.
Direccionamiento en IPv6
Las direcciones son de 128 bits e identifican interfaces individuales o conjuntos de interfaces. Al
igual que en IPv4 en los nodos se asignan a interfaces.
Se clasifican en tres tipos:
•
Unicast identifican a una sola interfaz. Un paquete enviado a una dirección unicast es
entregado sólo a la interfaz identificada con dicha dirección.
•
Anycast identifican a un conjunto de interfaces. Un paquete enviado a una dirección
anycast, será entregado a alguna de las interfaces identificadas con la dirección
del conjunto al cual pertenece esa dirección anycast.
•
Multicast identifican un grupo de interfaces. Cuando un paquete es enviado a una
dirección multicast es entregado a todos las interfaces del grupo identificadas con
esa dirección. En el IPv6 no existen direcciones broadcast, su funcionalidad ha
sido mejorada por las direcciones multicast.
¿Cómo son las direcciones?
Las representación de las direcciones cambia enormemente y pasan de estar representadas por 4
octetos separados por puntos a estar divididas en grupos de 16 bits (representadas como 4 dígitos
hexadecimales) separados por el carácter dos puntos.
Un ejemplo:
•
La Web del mundo es en IPv4 es 193.110.128.200
•
En IPv6 la IP de nuestra web es 2002:450:9:10::71, siendo su representación completa
2002:0450:0009:0010:0000:0000:0000:0071
El esquema usado de asignación es similar al anteriormente explicado para IPv4 (clases A, B y C)
pero con los bloques y la capacidad de división mucho mayor.
Pongamos el ejemplo de una empresa media que necesita crear muchas subredes para sus
delegaciones. Con IPv4 a lo máximo que podría aspirar y eso teniendo mucha suerte sería a una
Clase. En IPv6 lo común es que se asigne un /48, donde se fijan los primeros 48 bits, los 16
restantes para hacer subredes (por tanto, 65.535 posibles subredes) y los 64 restantes para la
asignación de la máquina.
Unidad 2
21/21
Proceso Distribuido
Figura 5. Diagrama de comparación de IPv4 e IPv6
¿Por surge IPv6? Algunas Estadísticas del Crecimiento del Internet
Como ya se a mencionado el motivo primordial es la falta de direcciones, otros de los problemas
de IPv4 es la gran dimensión de las tablas de ruteo en el backbone de Internet, que lo hace
ineficaz y perjudica los tiempos de respuesta. Debido a la multitud de nuevas aplicaciones en las
que IPv4 es utilizado, ha sido necesario agregar nuevas funcionalidades al protocolo básico,
aspectos que no fueron contemplados en el análisis inicial de IPv4, lo que genera complicaciones
en su escalabilidad para nuevos requerimientos y en el uso simultáneo de dos o más de dichas
funcionalidades. Entre las mas conocidas se pueden mencionar medidas para permitir la Calidad
de Servicio (QoS), Seguridad (IPsec) y movilidad.
Las cifras de “internautas”, dan crédito a expuesto anteriormente:
•
África: 800,000,000 (solo 3,000,000 sin NAT)
•
América central y del Sur: 500,000,000 (solo 10,000,000 sin NAT)
•
América del Norte: 500,000,000 (solo 125,000,000 sin NAT)
•
Europa Occidental: 250,000,000 (solo 50,000,000 sin NAT)
Aplicaciones
1. Telefonía sobre tecnología IP (VoIP)
2. Televisión y Radio
3. Sistemas de seguridad, televigilancia y control
4. Frigoríficos que evalúan nuestros hábitos de consumo y nos dan la opción de:
a) Imprimir una lista de la compra
b) Hacer el pedido en el supermercado para que nos sea entregado automáticamente
c) Hacer el pedido y pasarlo a recoger al supermercado
d) Navegar por un supermercado virtual y cargar el carrito de compras
Unidad 2
22/22
Proceso Distribuido
5. Despertadores que conocen nuestros tiempos de desplazamiento habituales a nuestro lugar de
trabajo, y con motivo de cualquier inconveniente de los cuales es informado a través de la
red, calculan el tiempo adicional que necesitamos y nos levantan con la anticipación precisa.
6. Walkman MP3, que conectados a la red nos permiten recuperar y almacenar creaciones
musicales
7. Así como nuevas tecnologías emergentes como Bluetooth. WAP, redes inalámbricas, redes
domesticas, etc.
Conclusión
La verdadera cuestión no es si necesitamos y creemos en IPv6, sino ¿Estamos interesados
en una red que permita a cualquier dispositivo electrónico IP comunicarse transparentemente con
otros, independientemente de su localización, en la red global?
Unidad 2
23/23
Descargar