teoría de sistemas operativos network information service (nis)

30
Teoría de Sistemas Operativos Network Information Service (NIS)

Upload: nita-jordan

Post on 23-Jan-2016

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Teoría de Sistemas Operativos Network Information Service (NIS)

Teoría de Sistemas Operativos

Network Information Service

(NIS)

Page 2: Teoría de Sistemas Operativos Network Information Service (NIS)

2

Sistemas DistribuidosNIS: Introducción

•Uno de los mayores problemas en un sistema distribuido es el mantener copias separadas de archivos de configuración en cada host, tales como passwd, group, etc. sin perder la consistencia de los archivos.

•Sistema con pocos hosts, no hay problemas.

•Pero si hay muchos ... vienen los problemas

Page 3: Teoría de Sistemas Operativos Network Information Service (NIS)

3

Sistemas DistribuidosNIS: Introducción

por ejemplo: máquina pcsecre es añadida a una red de cincuenta máquinas.

nueva entrada en archivo /etc/hosts de cada una de las 50 máquinas

Page 4: Teoría de Sistemas Operativos Network Information Service (NIS)

4

Sistemas DistribuidosNIS: Introducción

•El Network Information System (NIS) resuelve este problema:

•Es una base de datos distribuida.•“emite” copias o réplicas de archivos de configuración•Es centralizado evita tener copias de los archivos de configuración en cada host.•Fue desarrollado por SUN Microsystems.

Page 5: Teoría de Sistemas Operativos Network Information Service (NIS)

5

Sistemas DistribuidosNIS: Introducción

•Se mantiene una base de datos para cada archivo de configuración en un servidor central o maestro.

•Si se necesita realizar algún cambiose realiza en el servidor maestro .este servidor reparte esa información a los servidores

esclavos.

•Los hosts clientes del sistema toman dicha información de los servidores cuando la necesitan.

Page 6: Teoría de Sistemas Operativos Network Information Service (NIS)

6

Sistemas DistribuidosNIS: Información distribuida.

•Qué información se distribuye (entre otras):

• Login names passwords, directorios home (/etc/passwd)

• Información de grupos (etc/groups).• Información de hosts (etc/hosts).• Definición de grupos de red (etc/netgroups).• Definición de la máscara de red (etc/netmask).• . . .

•Qué información debe distribuirse:• /etc/fstab, por ejemplo.

Page 7: Teoría de Sistemas Operativos Network Information Service (NIS)

7

Sistemas DistribuidosNIS: Esquema general de un sistema NIS

NIS Master Server

NIS Slave Server

NIS Slave Server

Cliente1 Cliente2 ClienteN

Page 8: Teoría de Sistemas Operativos Network Information Service (NIS)

8

Sistemas DistribuidosNIS: Composición

•El NIS está compuesto, principalmente, de los siguientes elementos:

•Dominio•Mapas•Clientes•Demonios

Page 9: Teoría de Sistemas Operativos Network Information Service (NIS)

9

Sistemas DistribuidosNIS: Composición Dominio

•Grupo de máquinas que comparten información de configuración común,

•Están bajo un control de administración común (NIS server).

•Propiedades de un Dominio:• Posee un nombre (p.e. elo.utfsm.cl)• No corresponden necesariamente a una red física en

particular, o a un rango de direcciones IP.• Tiene sólo un servidor mantiene actualizados los

archivos como /etc/hosts, etc.

Page 10: Teoría de Sistemas Operativos Network Information Service (NIS)

10

Sistemas DistribuidosNIS: Composición Servidores

•Por definición un servidor NIS es un host que contiene los archivos de datos, llamados mapas.

•Existen dos tipos de servidores, los servidores maestros y los servidores esclavo.

Page 11: Teoría de Sistemas Operativos Network Information Service (NIS)

11

Sistemas DistribuidosNIS: Composición Servidores Maestro

•Es el que contiene los mapas y es dueño de los mismos.

•Es responsable de mantenerlos y distribuirlos a los servidores esclavos.

•Solamente en él se pueden hacer las actualizaciones.

Page 12: Teoría de Sistemas Operativos Network Information Service (NIS)

12

Sistemas DistribuidosNIS: Composición Servidores Esclavo

•Opcionalmente pueden definirse servidores esclavos en el dominio.

•Reducen la carga de trabajo del maestro.

•Proporcionan continuidad servicio si el maestro cae.

•Se recomienda al menos un servidor esclavo, aunque la red sea pequeña, ya que si sólo hay un servidor, éste no se puede deshabilitar sin afectar a todo el dominio

•El servidor maestro envía copias de los mapas a los servidores esclavos.

Page 13: Teoría de Sistemas Operativos Network Information Service (NIS)

13

Sistemas DistribuidosNIS: Composición Mapas

•Los archivos mantenidos en los servidores se compaginan en estructuras denominas MAPAS.

•Un mapa es un archivo que mantiene cierta información en forma indexada.

ValorkeyEstructura genérica de unmapa.

Page 14: Teoría de Sistemas Operativos Network Information Service (NIS)

14

Sistemas DistribuidosNIS: Composición Mapas

Pequeño problema:

•Mapa está diseñado para ser accedido sólo por un valor de llave:

Ejemplo de Solución:•/etc/hosts es usado para mapear tanto nombres como direcciones IP•Uno puede ser accesado por nombre, y el otro por dirección

dos mapas: hosts.byname y hosts.byaddr•lo mismo ocurre para otros mapas

Page 15: Teoría de Sistemas Operativos Network Information Service (NIS)

15

Sistemas DistribuidosNIS: Composición Mapas

Dicho de otro modo:

hosts

Hosts.byname Hosts.byaddr

fulano 192.168.0.100 192.168.0.100 fulano

fulano 192.168.0.100

Page 16: Teoría de Sistemas Operativos Network Information Service (NIS)

16

Sistemas DistribuidosNIS: Composición Mapas

Lugar de almacenamiento:

•Depende de la configuración del server, distribución de linux que se utilice, pero en general:

•/etc/yp•/var/yp

Page 17: Teoría de Sistemas Operativos Network Information Service (NIS)

17

Sistemas DistribuidosNIS: Composición Demonios

•El servicio de NIS es suministrado por los demonios ypserv y ypbind y es actualizadopor el demonio rpc.ypupdated.

•Clientes seleccionan dinámicamente un servidor para su dominio NIS (proceso conocido como binding) y realizado por deamon ypbind.

•ypxfrd - Transfiere entradas de mapas NIS .

Más demonios en las páginas de manual ...

Page 18: Teoría de Sistemas Operativos Network Information Service (NIS)

18

Sistemas DistribuidosNIS: Composición Esquema general de un sistema NIS

Mapa YP Archivoconfiguración

traditional e.g.

/etc/hosts

Mapa YP

Cliente

Mapa YP

ClienteCliente

Servidoresclavo Servidor

esclavo

Servidormaestro

Mapa YP Archivoconfiguración

traditional e.g.

/etc/hosts

Mapa YP

Cliente

Mapa YP

ClienteCliente

Servidoresclavo

Servidoresclavo Servidor

esclavo Servidoresclavo

Servidormaestro

Servidormaestro

Page 19: Teoría de Sistemas Operativos Network Information Service (NIS)

19

Sistemas DistribuidosNIS: El lado del servidor

•Mapas NIS son construídos a partir del comando makedbm:$makedbm infile outfile

•Cada línea en el archivo texto infile genera un registro en el mapa.

•La salida de makedbm es un par de archivos oufile.bykey y oufile.byvalue

Page 20: Teoría de Sistemas Operativos Network Information Service (NIS)

20

Sistemas DistribuidosNIS: El lado del cliente

El soporte de cliente en NIS es realizado a tres niveles:

1. Utilerías de líneas de comando para interrogar los mapas.

2. Funciones librerías llamadas resolvers, cada una diseñada para interrogar un mapa en específico.

3. Funciones de bajo nivel de propósito general para interrogación de mapas.

Page 21: Teoría de Sistemas Operativos Network Information Service (NIS)

21

Sistemas DistribuidosNIS: El lado del cliente: ejemplo

Programas ypcat y ypmatch disponibles para interrogar a los mapas

ypmatchrealiza una búsqueda por una o más llaves en un mapa específico

$ypmatch pcsecre hosts.byname

buscará el hosts pcsecre en el mapa hosts.byname,

Page 22: Teoría de Sistemas Operativos Network Information Service (NIS)

22

Sistemas DistribuidosNIS: El lado del cliente: ejemplo

Programas ypcat y ypmatch disponibles para interrogar a los mapas

ypcatusado para leer el mapa entero

$ ypcat passwd.byname

desplegará el mapa completo passwd.byname y es equivalentea teclear: cat /etc/passwd

Page 23: Teoría de Sistemas Operativos Network Information Service (NIS)

23

Sistemas Distribuidos201.1.17.4 mateo201.1.17.3 vega201.1.17.120 matrix

Archivo original/etc/hosts

mapa hosts. byaddr

makedbm

Aplicación cliente

ypserv

ypcat yppasswd llamada RPC

a ypserv

NISmáquina servidor

NIS máquina cliente

mapa hosts. byname

mateo 201.1.17.4 vega 201.1.17.3

matrix 201.1.17.120

Esquema general de un sistema NIS

201.1.17.4 mateo 201.1.17.3 vega

201.1.17.120 matrix

Page 24: Teoría de Sistemas Operativos Network Information Service (NIS)

24

Sistemas DistribuidosNIS: Limitantes

1. NIS es altamente asimétrico con respecto a la lectura y escritura de los mapas

- lectura es muy eficiente- escritura no es soportada en el protocolo NIS e involucra

muchas tareas

2. No existe un control de accesocualquier mapa NIS es accesible por cualquier cliente

Page 25: Teoría de Sistemas Operativos Network Information Service (NIS)

25

Sistemas DistribuidosNIS: Limitantes

3. No hay un seguimiento faq, (peticiones más frecuentemente hechas), del cliente- ayuda a que todos los clientes vean copias consistentes de los datos, pero-ineficiente cada vez que un resolver es llamada: tráfico red

4. Mapas NIS están centralizados Datos no están distribuido, se encuentran reunidos en un sólo sistema

Page 26: Teoría de Sistemas Operativos Network Information Service (NIS)

26

Sistemas DistribuidosNIS+:

Un nuevo servicio de información de red, que fue introducido por SunBastante complejo, sus principales ventajas son:

1. Definición de jerarquías. - En NIS un dominio representa un conjunto de máquinas

- No se puede delegar autoridad para administrar partes del dominio - NIS+ usa nombres de dominio jerárquico, similares a los de intenet

p.e. tienda puede tener dominios tienda.com y subdominiosventas.tienda.com, compras.tienda.com

Page 27: Teoría de Sistemas Operativos Network Information Service (NIS)

27

Sistemas DistribuidosNIS+:

2. Concepto de tablas- Mapas son substituidos por tablas

- Tablas cuentan con varias columnas que pueden ser usadas como llave para una búsqueda: p.e. tabla hosts puede ser accedida por nombre y por dirección

- Tablas tienen nombres dentro del espacio jerárquico de nombres, p.e. personal.ventas.cuervo.com

- Cada tabla cuenta con un esquema que describe la tabla, (#colums, llaves, etc)

Page 28: Teoría de Sistemas Operativos Network Information Service (NIS)

28

Sistemas DistribuidosNIS+:

widget.com

eng.widget.com

Dominio

Tabla Tabla Tabla Tabla

Subdominio sales .widget .com

Esquemabase datos

Tabla

Número de columnas :4Columnas a buscar :0,3 Máyusculas / Minúsculas : 0

Nombre Sitio

Linux linux.org i386 1446MacOS mac.com mac 1070Solaris sun.com sparc 0616

Plataf ID

Page 29: Teoría de Sistemas Operativos Network Information Service (NIS)

29

Sistemas DistribuidosNIS+:

3. Múltiples criterios de búsqueda - Operaciones de búsqueda pueden hacerse a partir de varias columnas

p.e. [ name=toto, pais = francia ] de personal.ventas.com

4. Seguridad

- NIS+ usa autentificación como parte del RPC para identificar al que hace la llamada

- Usando esta identificación usuario establece derechos de acceso

- Derechos accesos están a tres niveles: toda la tabla, por renglón o por columna

- Cuatro derechos de acceso: lectura, creación, modificación y destrucción

- Cuatros clases usuarios: propietario objeto, propietario grupo, el resto, y los no permitidos

Page 30: Teoría de Sistemas Operativos Network Information Service (NIS)

30

Sistemas Distribuidos