Introduccion

77
1 Redes de Computadores Programa: -1. Requerimientos de una red -2. Concepto de conectividad -3. Arquitectura de redes -4. Protocolos -5. La interfaz Socket

Transcript of Introduccion

1

Redes de ComputadoresPrograma:

-1. Requerimientos de una red-2. Concepto de conectividad-3. Arquitectura de redes-4. Protocolos-5. La interfaz Socket

2

Programa Detallado

-1. La capa “data link” y sus funcionalidades-2. Adaptadores de red-3. Señalización y codificación-4. Protocolos de transmisión confiable-5. Encapsulamiento en “tramas”-6. Detección de errores

3

Programa Detallado

-1. Propiedades físicas-2. Estándares-3. Protocolos de acceso al medio-4. Direccionamiento-5. Limitaciones

4

Programa Detallado

-1. Arquitectura-2. Estructura Física-3. La subcapa MAC-4. La capa física-5. Elementos de administración

5

Programa Detallado

-1. La capa de Red-2. El switch como elemento de despacho-3. El problema del despacho y enrutamiento-4. Modelos clásicos de despacho

6

Programa Detallado

-1. Tecnologías de conmutación-2. Conmutación de “celdas”-3. Fragmentación y reensamblado de paquetes-4. IP sobre ATM

7

1.Introducción2. Conectividad3. Servicios4. Arquitecturas de redes5. Software de red

8

1. INTRODUCCION

Las redes de computadores, al igual que Internet han tenido un explosivo crecimiento que ha permitido entregar innumerables servicios a miles de millones de usuarios.

Este crecimiento ha sido posible por la naturaleza de propósito general de las redes y a la posibilidad de agregar nuevas funcionalidades a la red escribiendo software que corre en computadores accesibles y de buen desempeño.

9

Qué es una red?

Una red de computadores es un conjunto de uno o mas nodos autónomos, conectados por un link físico, o dos o más redes conectadas por uno o más nodos.

Hay distintas miradas para las redes:

•* Programador de aplicaciones•* Diseñador de redes•* Administrador

10

DOS IDEAS

Conectividad: Una red debe proporcionar conectividad. Esta conectividad puede ser limitada, por razones de seguridad o sin límites (Internet).

Escalabilidad: Un sistema es escalable si puede crecer en forma arbitraria sin degradar sustancialmente su desempeño. Internet es un buen ejemplo de escalabilidad

11

2. Conectividad, links y nodos

Una red se puede representar por un grafo cuyos nodos son computadores y sus arcos se denominan links.

12

Redes de enlace directo LAN

Si los nodos están interconectados a través de un único medio físico, su escalabilidad se ve muy limitada, por esta razón los links de acceso múltiple sólo se utilizan en redes de área local LAN.

Otra alternativa es la llamada “FULL MESH”

13

Ejemplo de “full mesh”

Acoplamiento Completo

14

Redes de Conmutación

La conectividad entre dos nodos no necesariamente implica una conexión directa entre ellos.

Un nodo que está conectado al menos a dos links y tiene el software apropiado, puede proveer conectividad a otros nodos en forma indirecta.

15

Paquetes de Datos

Los nodos de una red envían y reciben bloques de datos discretos llamados “paquetes” o mensajes.Los paquetes de datos se pasan entre los nodos a través de una estrategia llamada: “store and forward”Una red con conectividad indirecta que despacha paquetes se denomina: red de conmutación de paquetes

16

Redes de Conmutación de paquetes

17

Switches y host

De la figura anterior podemos observar que existen dos tipos de nodos:

-Switches, nodos internos a la subred de comunicación (computadores especializados en el despacho de paquetes)

-Hosts, nodos que soportan las aplicaciones (computadores)

18

Interconexión de redes

19

Direccionamiento

Para proveer conectividad no bastan los links y nodos intermedios, es necesario asignar una dirección a cada nodo.

Una dirección es un “string” que identifica un nodo.

Los routers usan esta dirección para decidir por dónde despachar el paquete para acercarlo a su destino final.

20

Unicast, multicast Broadcast

El escenario mas común en el envío de un paquete de datos de un nodo a otro nodo (Unicast)

- Multicast : desde una fuente a un grupo de nodos- Broadcast: desde la fuente a todos los nodos- Anycast: desde la fuente a un grupo que tienen la misma dirección.

21

Economias de escala

Los criterios fundamentales que guían el diseño de las redes son dos: eficiencia y desempeño.La eficiencia nos lleva a aprovechar los recursos de la mejor forma posible, por ejemplo la estructura de la red packet switching se desprende de esa idea, no hay mejor forma de proveer conectividad a menor costo.

22

Economias de escala

Otro aspecto sobre el cual se puede intervenir pensando en la eficiencia es el uso de los links.

Una idea fundamental de la conectividad eficiente es la “multiplexión”

La multiplexión es compartir recursos. (Un ejemplo es compartir CPU en un sistema operativo multitarea)

23

Multiplexión

Los paquetes de datos enviados por diferentes usuarios se pueden multiplexar

24

Flujos de Datos

- En la figura anterior podemos ver que tres flujos de datos son multiplexados sobre un link simple y despues demultiplexados en flujos separados

-Existen distintos métodos de multiplexing, uno de ellos es el llamado STDM (multiplexión sincrónico por división de tiempo)

25

STDM

Cada flujo tiene asociado un quantum de tiempo. Si un flujo está ocioso igual ocupa ancho de banda. Por esta razón NO SE USA STDM en redes de datos.

26

Multiplexión Estadística

En este caso, los datos correspondientes a cada flujo, son transmitidos bajo demanda. Se define una cota máxima de datos a transmitir por cada flujo. Esta cota es un paquete.

27

Calidad de Servicio Q o S

- La decisión de despacho de un paquete, puede hacerse de múltiples maneras:

-FIFO-STDM

- Es posible también asegurar que determinados flujos: - Reciban una fracción del ancho de banda

- Sus paquetes no sean retardados más de un determinado tiempo.

28

Calidad de Servicio Q o S

- El multiplexing estadístico define una forma costo efectiva para que diversos flujos entre hosts puedan compartir recursos de la red (nodos y links) en una granularidad definida por paquetes.

- también permite manejar la congestión al asignar la capacidad de los links en forma justa.

29

3 Servicios de una RED

- El sentido de una red es implementar servicios distribuidos.- Los programas de aplicación que corren en los host conectados a la red deben ser capaces de comunicarse.

- En vez de partir de cero en desarrollo de aplicaciones distribuidas en una red, es mejor identificar los servicios que son comunes de todas las aplicaciones

30

Canales Abstractos

-Resulta útil ver una red como proveedora de canales sobre los cuales las aplicaciones se comunican.- En forma abstracta un canal es un “tubo” a través del cual las aplicaciones envían y reciben datos.- Los canales pueden tener funcionalidades distintas como por ejemplo: seguridad, garantía de despacho, etc.

31

Canales Abstractos

32

Servicios Comunes

Cuando un par de programas de aplicación se comunican a través de la red, no basta sólo el intercambio de mensajes sino que necesitan una coordinación compleja.Estas funcionalidades se pueden incorporar a las aplicaciones, pero como la mayoría de las aplicaciones necesitan servicios comunes, resulta más conveniente implementar estas funcionalidades como servicios proporcionados por la red.

33

...Servicios Comunes

El éxito de las redes está en ocultar la complejidad presentando a las aplicaciones un conjunto de servicios.

¿Cuál debe ser el conjunto básico de servicios?...está es un área muy dinámica para los diseñadores de redes

34

Canales Lógicos

- La red se puede ver como proveedora de canales lógicos sobre los cuales los procesos de aplicaciones se pueden comunicar.- ¿Qué funcionalidades deben los canales proveer a las aplicaciones?

¿Es necesario que los mensajes lleguen en orden?¿Pueden perderse mensajes?

35

Interacción Cliente-Servidor

Una interacción común es llamada: Cliente-Servidor

36

Clases de Aplicaciones

- Veremos conjuntos representativos de aplicaciones:-ftp,nfs: leer un archivo remoto implica enviar un pequeño mensaje al servidor. el servidor responde con un mensaje mas largo correspondiente a los datos del archivo.-www la interección es parecida a la anterior-Videoconferencia (vic) aquí importa mucho la latencia

37

Dos Canales Tipos

- Considerando las aplicaciones anteriores como muestras representativas, podemos establecer dos tipos de canales:

- Request/Reply: transferencia de archivos y bibliotecas digitales.

- Message Streams: aplicaciones de audio y video

38

Canal Request/Reply

-El requerimiento es garantizar que un mensaje despachado llegue a destino y no se generen copias de este mensaje.-También debe garantizar que el orden de envío sea el mismo que el orden de entrega de los paquetes.-Podría también requerir servicios de seguridad como privacidad e integridad.

39

Canal de Message Stream

-No requiere garantía de entrega de mensajes, pero debe soportar diferentes propiedades de retardo.

-También debe garantizar que el orden de envío sea el mismo que el orden de entrega de los paquetes.

-Debe soportar Multicast.

40

4 Arquitecturas de Redes

-Tal como se vio una red debe proporcionar conectividad a un grán número de computadores en forma general, costo efectiva, justa, robusta y con alto desempeño.- Además las redes evolucionan en el tiempo para incorporar los cambios tecnológicos y las nuevas demandas de las aplicaciones.

41

...Arquitecturas de Redes

-Para relacionarse con esta complejidad, se generan documentos llamados “arquitectura de red” que guian el diseño e implementación de las redes.

- Existen innumerables arquitecturas de redes, pero las más representativas son:

OSIINTERNET

42

Capas y Protocolos

-Complejidad Abstracción: cuando un sistema se vuelve complejo se introducen nuevos niveles de abstracción.-Por ejemplo el concepto de canal lógico abstrae muchas complejidades de la red.-La abstracción lleva naturalmente a la arquitectura en capas.

43

Capas en una Arquitectura

44

Arquitectura de Capas

-La arquitectura de capas tiene dos grandes ventajas:

-Se descompone un problema complejo en componentes más manejables.

-Se logra un diseño modular.

Lo contrario a una a un diseño de capas es la estructura monolítica.

45

...Arquitectura de Capas

-La arquitectura de capas puede tener abstracciones diferentes en un nivel.

- Por ejemplo una capa puede soportar los dos canales lógicos discutidos anteriormente.

46

...Arquitectura de Capas

47

Protocolos

- Los protocolos son objetos con los cuales se construyen capas.

- Los protocolos proporcionan servicios de comunicación que usan otros objetos tales com protocolos de mayor nivel o aplicaciones

48

Estructura de Protocolos

- Cada protocolo define dos interfaces.-De servicio: para otros objetos dentro

del mismo computador que deseen utilizar los servicios de comunicación.

-Par: es la interfaz que define a la máquina par con la cual se establece comunicación. esta interfaz define la forma y el significado de los mensajes entre protocolos pares para implementar el servicio.

49

Interfaz de Servicio

- Son funciones que proveen los protocolos que permiten utilizar sus servicios por parte de objetos de alto nivel (otros protocolos o aplicaciones)

50

Interfaz Par

-Solo en la capa de hardware esta comunicación es directa, en las demás capas es indirecta.

-Las capas pares de protocolos se comunican a través de mensajes utilizando algún protocolo de mayor nivel.

51

Interfaces de Protocolos

52

¿Qué es un protocolo?

El concepto de protocolo suele llevar a confusión. hay dos aspectos a considerar:-Operaciones definidas por la interfaz de servicio, este aspecto se denomina: especificación de protocolos (ej RFC)

-Módulo de software que implementan estas interfaces de servicio

53

Grafos de protocolos

-En cada capa de arquitectura pueden existir muchos protocolos.-Es el conjunto de todos los protocolos de una arquitectura los que ofrecen los distintos servicios de una red.-Estos protocolos no son independientes. Se relacionan unos con otros a través de un “grafo de protocolos”

54

Ejemplo de Grafos de protocolos

55

RRP y MSP

Los protocolos RRP y MSP implementan dos canales entre aplicaciones (procesos) diferentes:-RRP: protocolo Request/Reply-MSP:protocolo message/stream

Tanto RRP como MSP dependen del protocolo HHP (host a host) que provee un servicio de conectividad entre computadores.

56

Ejemplo de Grafo de Protocolos

57

El STACK de Protocolos

Se puede ver de las figuras anteriores la relación entre los distintos protocolos, por ejemplo una transferencia de archivos entre Host1 y Host2 requiere RRP y HHP. En este caso se dice que la aplicación utiliza el servicio de protocolos ofrecidos por el stack RRP/HHP.

-Un ejemplo es TCP/IP

58

ENCAPSULAMIENTO

-Todo mensaje lleva un encabezamiento llamado “header”.

-cada protocolo agrega un nuevo “header” al mensaje proporcionado por el nivel superior.

-Para un protocolo la carga útil o datos de un mensaje es solo un conjunto de bits sin estructura.

59

...ENCAPSULAMIENTO

60

...ENCAPSULAMIENTO

61

...ENCAPSULAMIENTO

-La figura anterior muestra el proceso de encapsulamiento. En cada nivel un protocolo encapsula el mensaje proveniente del nivel superior.

-En el nivel inferior, el protocolo PP (physical protocol) es el encargado de enviar el mensaje por la red a su protocolo par.

62

Multiplexion y Demultiplexión

-La misma idea que se aplica en la capa física, se aplica en el grafo de protocolo.

-Cada protocolo puede recibir mensajes de múltiples protocolos o aplicaciones.

-El encabezamiento contiene un campo normalmente llamado “protocol” que contiene un número que identifica al protocolo que pertenece el mensaje.

63

Mux y Demux en protocolos

64

Estándares en Arquitectura

Existen muchas arquitecturas de redes, entre las cuales se encuentran arquitecturas propietarias y arquitecturas abiertas.-La ISO fue la primera organización en definir formalmente una forma estándard de conectar computadores. Esta arquitectura se denomina “Open System Interconnection” o arquitectura OSI

65

Arquitectura OSI

OSI define 7 niveles:-FISICO: Se ocupa de transmitir bits sin estructura sobre un enlace de comunicaciones.

-ENLACE DE DATOS: Se ocupa de transmitir tramas con información a través de su enlace. Se ocupa también de la detección de la corrupción de datos y la coordinación de uso de medios físicos compartidos.

66

Arquitectura OSI

-RED: Permite que cualquier Par de host en la red se puedan comunicar entre si, es decir, provee un servicio Host a Host resolviendo el cálculo de ruta y la fragmentación y reensamblado de paquetes.

67

Arquitectura OSI

-TRANSPORTE: Establece un canal abstracto proceso a proceso se preocupa de la perdida de paquetes, duplicados y reordenamiento de paquetes. Los protocolos de esta capa y de las capas superiores corren en los host y no en los nodos intermedios.

68

Arquitectura OSI

-SESION: Permite el manejo de diferentes flujos de transporte que son parte de una misma aplicación. por ejemplo stream de audio y video que se combinan para una videoconferencia control de dialogo.

-PRESENTACION:Presentación de datos-APLICACION: ftp, www, etc.

69

Arquitectura OSI

70

Arquitectura TCP/IP o INTERNET

-La arquitectura llamada Internet es una evolución de la red de packet switching llamada ARPANET-En vez de 7 capas tiene 4. En el menor nivel se acepta una grán variedad de protocolos de redes de distintas tecnologías.

-El corazón de la arquitectura es el protocolo de red llamado IP

71

...Arquitectura TCP/IP o INTERNET

-La tercera capa contiene dos protocolos principales, UDP y TCP. ámbos proveen canales lógicos a las aplicaciones.

-Tanto a TCP como UDP se les denomina protocolos end to end para enfatizar su funcionalidad. Corresponden a la capa de transporte del modelo OSI.

72

...Arquitectura TCP/IP o INTERNET

-Sobre la capa de transporte existen muchos protocolos de aplicaciones tales como : ftp, tftp, smtp.

- La siguiente transparencia muestra la arquitectura y el grafo de protocolos.

73

Arquitectura y grafos de protocolos

74

5. Software de RED

¿Cómo construir una aplicación de red?-Para esto es necesario saber que:

-Los protocolos se implementan en el software.-Actualmente todos los sistemas computacionales implementan los protocolos de red como parte integral del sistema operativo.-El S.O es el que proporciona la interfaz (API)a un subsistema de red.

75

La Interfaz Socket

Si bien cada sistema es libre para proporcionar su propia API de red, con el tiempo la interfaz desarrollada en Berkeley y distribuida en UNIX llamada socket es la más popular.

-Un socket se puede ver como un punto de acceso lógico en el cual una aplicación se conecta a la red.

76

...La Interfaz Socket

La Interfaz define operacioes para:-Crear un socket-Ligar un socket a la red-Enviar y recibir mensajes a través de

un socket-Cerrar el socket

77

Fin 1a Clase