La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Base de Datos Distribuidas Clase 1: Sistemas Distribuidos.

Presentaciones similares


Presentación del tema: "Base de Datos Distribuidas Clase 1: Sistemas Distribuidos."— Transcripción de la presentación:

1 Base de Datos Distribuidas Clase 1: Sistemas Distribuidos

2 C1-Sistemas Distribuidos Tolerancia a Fallas Fallos en SW o HW produce resultados incorrectos. Podemos utilizar dos aproximaciones Redundancia de HW HW en standby – Costos Granularidad Fina Utilización en operaciones no-críticas cuando no hay fallas Duplicación de base de datos El server detecta errores y redirecciona a los peers Recuperaciòn de SW Datos permanentes pueden hacer rollback (Transacciones) Puntos de recuperaciòn Exepciones Red no redundate Redes tolerantes a fallas

3 C1-Sistemas Distribuidos Networking Proveen comunicación entre componentes del SD HW->circuitos, switches e interfaces. SW->Protocolos HW & SW->comunication subsystem (CS) Características del (CS) Parametros de Performance Latencia (L) Data Transfer Rate (TR) Tiempo de Transferencia de MSG=L+Length/TR Requerimientos de Performance Acceso similar al centralizado (15 ms)

4 C1-Sistemas Distribuidos Networking Características del (CS) Requerimientos de Confiabilidad Para comunicaciones Realizado por SW Tipos de Redes LAN No Routing Conecciones Directas 10 y 100 ms WAN Conectadas con HOSTS Involucran paises, continentes Packet Switching (HW dedicado)

5 C1-Sistemas Distribuidos Networking Tipos de Redes WAN Necesidad de Routing Latencia entre < 0.5 seg. Integrated Services Digital Networks (ISDN)->64 Kbits seg. Asyncronous Transfer Mode (ATM)->600 Mbits seg. Banda Ancha ISDN->150 Mbits seg. (point-to-point) packet Packets Unidad lógica de transmisión->mensaje Se subdivide en paquetes Tiene tamaño fijo Información suficiente para indentificar Receptor Emisor

6 C1-Sistemas Distribuidos Networking Internetworks SD tienen como caracteristicas la escalabilidad Necesidad de tener mas computadoras Integración de redes Varias redes se integran dando facilidades comunes de comunicación Se integran intercomunicando Routers Gateway Bridges Protocolos Tenemos una red virtual Ejemplo: Internet

7 C1-Sistemas Distribuidos Networking Transmission Control Protocol / Internet Protocol (TCP/IP) En una red TCP/IP cada nodo esta relacionado a la red mediante al menos una interfaz. Cada una de esas inerfaces esta identificada por un numero de Internet Protocol (IP). Cada interfaz esta conectada a una subred con cierta tecnologia (Ethernet, Token Ring, frame relay, etc.). Si no tenemos TCP/IP cada nodo solo puede dialogar con otras maquinas que se encuentran en la subred. Cualquier par de nodos de la red puede hacer intercambio de datagramas de acuerdo al formato definido por IP. Estos datagramas van etiquetados con las direcciones IP del emisor y receptor y un protocolo.

8 C1-Sistemas Distribuidos Networking IP El tipo de comunicaciòn basado en IP no satisface el tipo de aplicaciones en las que estamos intersados. IP puede: perder, romper, desordenar o duplicar datagramas.. No ofrece garantias de confiabilidad necesaria para las aplicaciones. Lleva datagramas de una maquina a otra, no puede determinar a que proceso dentro de la maquina. Esto es serio para una platadorma tipo UNIX en donde hay multiples procesos concurrentes. Por encima de IP se desarrollo Transmission Control Protocol (TCP) que soluciona los problemas descriptos. canal bidireccional confiable para el intercambio de bytes (no datagramas), no pierde datos y no los desordena. es capaz de atender varios procesos a la vez, manteniendo mùltiples conexiones simultaneas. Para esto utiliza el puerto.

9 C1-Sistemas Distribuidos Networking TCP Por encima de IP se desarrollo (TCP) que soluciona los problemas descriptos. canal bidireccional confiable para el intercambio de bytes (no datagramas), no pierde datos y no los desordena. es capaz de atender varios procesos a la vez, manteniendo mùltiples conexiones simultaneas. Para esto utiliza el puerto. Una conexiòn TCP se identifica con : dos direcciones IP (emisior y receptor) dos numeros de puertos Antes de utilizar TCP un proceso debe asociarse a uno de sus puertos, luego puede solicitar conexiòn.

10 C1-Sistemas Distribuidos Networking TCP TCP esta basado en el intercambio de paquetes. Esto se realiza a travès de IP, Los paquetes se encapsulan en datagramas IP TCP en el campor de protocolo de IP. Tambien se desarrollo el protocolo User Datagram Protocol (UDP) orientado a datragrama (no a conexiòn), es similar a IP solo que soporta la comunicaciòn sin conexiòn pero utilizando el concepto de puerto para comunicar procesos. UDP va encapsulado en datagramas IP pero con UDP en el campo protocolo de IP.

11 C1-Sistemas Distribuidos Networking TCP UDP IP Procesos Selección en base al protocolo Puerto de TCPPuerto de UDP

12 C1-Sistemas Distribuidos Networking TCP/IP Los puertos TCP y UDP son disjuntos. Existen una serie de operaciones para comunicarse mediante TCP o UDP. basadas en sockets (Berkley) o TSAP si se aplica TLI (System V). Si un proceso necesita comunicarse con otro utilizando UDP necesita conocer el IP y el numero de puerto de su interlocutor. Tambien necesitaria los valores suyos Se dispone de una funciòn para el envio de datagramas con al menos tres parametros (datos, IP y port del destinatario). Tambien tendremos una función para recibir datagramas. Con TCP la interacción es más complicada (orientada a conexiòn) apertura, intercamio de datos y cierre de la conexiòn.

13 C1-Sistemas Distribuidos Networking TCP/IP Un proceso debe asumir un actitud pasiva y otro una actitud activa. El pasivo queda esperando a que alguien quiera comunicarse con èl, facilitando el puerto TCP en el que espera. La parte activa utiliza una funciòn para abrir la conexiòn facilitando la direcciòn IP y el puero del extremo pasivo. El activo facilita su direcciòn IP y purto para que el activo tenga esta informaciòn. Cuando la conexión ya esta abierta se dispone de un canal bidireccional para el intercambio de bytes. Cada extremo puede leer y escribir de la conexión lo que el otro extremo haga. Cualquiera de los dos puede cortar la conexión. el extremo que corta debe dejar de enviar datos, pero puede seguir leyendo lo que quedo. El cierre no implica perdida de información.

14 C1-Sistemas Distribuidos Networking Direcciones IP En TCP se debe manejar direcciones IP y números de puertos. Hay algunos problemas con esto. Una direcciòn IP son 32 bits (long int) en formato big endian (primero el byte mas significativo). No todos los nodos representan los datos de la misma forma. Los puertos TCP o UDP son 16 bits int() en formato big endian. Para realizar codigo compatible existen funciones para traducitr numeros. u_long htonl(u_long hostlong); /* long, host to net */ u_long htons(u_short hostshort); /* short, host to net */ u_long ntosl(u_long hostlong); /* long, net to host */ u_long ntoss(u_short hostshort); /* short, net to host */ A pesar de ser direcciones representadas en 32 bits los numero IP tiene tambien una notaciòn de punto, por ejemplo 163.10.20.2

15 C1-Sistemas Distribuidos Networking Nombres Todo el software esta basado en el uso de nùmeros IP A los usuarios les he mas natural la utilizaciòn de nombres. Muchas maquinas en la red tienen asociado uno o mas nombres. por ejemplo pc10.lidi.info.unlp.edu.ar identifica la maquina pc10 del dominio lidi.info.unlp.edu.ar. No hay ninguna relaciòn con los nùmeros de IP. Existen mecanismos de traducción de nombre-IP, los mas habituales son: Utilizaciòn del fichero /etc/hosts en donde hay un conjunto de lineas con (nombre, nùmero de IP). El problema que tiene es que todas las maquinas de la red necesitan tener este archivo y es dificil de mantener. Servicio de paginas amarilas com el Network Information Service (NIS) de SUN, que consiste en una base de datos equivalente a /etc/hosts DNS que es una base de datos distribuida.

16 C1-Sistemas Distribuidos Networking Funciones que permiter manipular los nombre y direcciones int gethostname(char *name, int namelen); /* Retorna nombre de la maquina en la que se ejecuta */ unsigned long inet_addr(const char *cp); /* Traduce entre una direccion IP de punto y el orden de la red */ unsigned long inet_network(const char *cp); /*hace los mismo pero da la direccion de la red */ struct in_addr inet_makeaddr(const int net, const int lna); /* constriye a partir de una direccion de red y de computador una direccion completa de red */ int inet_lnaof(const struct in_addr in); /* separan la direccion en dos partes, red y host */ int inet_netof(const struct in_addr in); /* separan la direccion en dos partes, red y host */ char *inet_ntoa(const struct in_addre in); /* retorna la notacion en punto de la direccion pasada como parametro */ struct hostent *gethostbyname(const char name); /* */ struct hostent *gethostbyaddr(const char *addr, int len, int type);


Descargar ppt "Base de Datos Distribuidas Clase 1: Sistemas Distribuidos."

Presentaciones similares


Anuncios Google