TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Redes de Computadores“Introduccion a las Redes”
Raquel Pezoa Rivera
Redes de ComputadoresDepartamento de Informatica
Universidad Tecnica Federico Santa Marıa
Valparaıso, Marzo de 2006
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
1 Introduccion
2 Requerimientos de una Red
3 Conectividad
4 Canales Abstractos
5 Arquitecturas de Redes
6 Arquitectura OSI
7 Arquitectura Internet (TCP/IP)
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Red de Computadores
¿Que es una Red de Computadores?Sistema de comunicacion entre computadores.Conjunto de computadores autonomos conectados por enlacesde comunicacion.Se caracteriza por su generalidad. No esta optimizada paraninguna aplicacion en particular.
Algunas aplicaciones:Aplicaciones cliente/servidor, Acceso a informacion remota (ftp),entretenimiento, comercio electronicovideo conferencia, www, . . .Ciencia: cluster, grid (SETI@home)
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Crecimiento
Fecha No Usuarios % Poblacion MundialDiciembre, 1995 16 millions 0.4Diciembre, 1996 36 millions 0.9Diciembre, 1997 70 millions 1.7Diciembre, 1998 147 millions 3.6Diciembre, 1999 248 millions 4.1
March, 2000 304 millions 5.0. . . . . . . . .
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Crecimiento
Fecha No Usuarios % Poblacion MundialFebrero, 2004 745 millions 11.5Mayo, 2004 757 millions 11.7
Octubre, 2004 812 millions 12.7Diciembre, 2004 817 millions 12.7
Marzo, 2005 888 millions 13.9Junio, 2005 938 millions 14.6
Septiembre, 2005 957 millions 14.9Noviembre, 2005 972 millions 15.2
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Requerimientos para el Diseno de una Red
Diferenes perspectivas:
Programador de Aplicaciones: Requiere servicios que lasaplicaciones necesitan, por ejemplo, garantizar que cadamensaje que se envıa en la aplicacion sea entregado sin error enun tiempo determinado.Disenador de la red: Requiere realizar un diseno costo/efectivoProveedor de red: Requiere facilidad de administracion yaislamiento de fallas.
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Requerimiento de Conectividad
Una Red de Computadores debe proveer conectividades entrecomputadores. Esto puede ir de unos pocos computadores(razones de privacidad y seguridad) hasta todos losComputadores del mundo.Escalabilidad: Es la propiedad de una red de crecer hasta untamano arbitrario.Un ejemplo de escalabilidad es Internet
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Conectividad
La conectividad se produce en varios niveles:
Los links pueden ser:Punto a puntoDe Acceso Multiple (presentan limitaciones de escalabilidad)
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Redes de Conexion Indirecta
Se produce en las llamadas Redes de Packet Switching.
Switched NetworkExisten muchos tipos, pero las mas comunes:
Circuit SwitchedPacket Switched
Las unidades de informacion que se transmiten por estas redes sedenominan paquetes o mensajes.
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Store and Forward
Store and ForwardLas Redes Packet switchedutilizan tecnica de Store &Forward.Cada nodo recibe unpaquete completo a travesdel link, lo almacena en sumemoria interna, y luego lodespacha al siguientenodo.
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Interconexion de Redes: Internetwork
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Interconexion de Redes: Internetwork
Un conjunto de redes independientes (nubes) se interconectanpara formar una internetwork.Un nodo que esta conectado a dos o mas redes se denominarouter o gateway.En una red, cada nodo tiene una direccion, y es a traves delproceso de routing que se determina sistematicamente comodespachar mensajes hacia el nodo destino.
Conceptos:Unicast, multicast, broadcast.
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Definicion de Red Recursiva
Definicion de RedUna Red de Computadores es un conjunto de dos o mas nodosautonomos, conectados por un link fısico o dos o mas Redesconectadas por uno o mas nodos. (Computer Networks, A SystemApproach. Peterson & Davie.)
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Redes segun tamano
LAN (Local Area Network): Redes que cubren distanciasrelativamente cortas, por ejemplo casa, oficina o colegio.WAN (Wide Area Network): Redes que abarca grandesdistancias, por ejemplo Internet.MAN (Metrop olitan Area Network): Redes que cubren mas queuna LAN, pero menos que una WAN, por ejemplo campusuniversitarios grandes o una ciudad.
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Recursos Compartidos: Multiplexing
MultiplexingRecurso de un sistema escompartido entre diferentesusuarios.MUX-DEMUXMetodos de multiplexion
STDM: Division del tiempo enquantos iguales (round robin).FDM: Transmision de datos endiferentes frecuencias.
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Comunicacion de Procesos a traves de Canales Abstractos
Procesos sobre canales abstractosSe puede ver la red como unaproveedora de canalesabstractos, a traves de los cualeslos procesos de las aplicacionespueden comunicarse.Los canales son como una“tuberıa” que conecta dosaplicaciones.
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Canales Abstractos
Existen distintos tipos de aplicaciones sobre las redes. Cada tipo deaplicacion, define un determinado canal abstracto en la red. Estoscanales estan manejados por protocolos.Protocolos de canales abstractos son:
Request/ReplyMessage Stream
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Request Replay
Request ReplaySe caracterizan por mensajes de consultas cortos y respuestasgrandes.Cada mensaje despachado debe ser recibido, es decir, no seaceptan perdidas de paquetes.El protocolo busca proteger privacidad e integridadEjemplos de Aplicaciones: ftp, Bibliotecas Digitales, www
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Message Stream
Message StreamCorresponde a trafico HDX o FDX con retardos controlados.En las aplicaciones Message Stream, no es necesario que todoslos mensajes sean recibidosSe debe garantizar el orden de los mensajesEjemplo de aplicaciones:Video bajo demanda, NV (NetworkVideo), teleconferencias
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Arquitecturas de Redes
Arquitectura de RedesLa arquitectura de redes corresponde a los principios de disenos,configuraciones fısicas, organizacion de las funcionalidades,procedimientos operacionales y formatos de datos usados comobases de diseno, construccion, modificacion y operacion de unred de comunicaciones. En sıntesis, son los documentos queguıan el diseno e implementacion de las redes.La necesidad de definir una Arquitectura es pasar de sistemascomplejos, a una abstraccion.¿Por que usar abstraccion?
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Capas
Entender, disenar y construir una red de computadores es unatarea compleja que requiere devidir el problema en tareas maspequenas.Tradicionalmente se divide el problema en varias capas. Cadacapa es responsible de proveer un servicio a la capa superiorutilizando algun servicio de la capa inferiorCada capa se comunica con su capa “par” en otro nodoutilizando un protocolo.
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Niveles en una Arquitectura de Redes
PROGRAMAS DE APLICACIONCONEXION PROCESO - PROCESO
CONEXION HOST - HOSTHW
ArquitecturaRepresentacion abstracta de una Arquitectura de Redes.
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Arquitectura de Redes
APLICACIONESREQUEST REPLAY CHANEL MESSAGE STREAM CHANEL
HOST - HOSTHW
En la realidad las arquitecturas son mas complejas que una secuencialineal de niveles. A veces un nivel provee multiples abstracciones (porej. el protocolo RPC: BLAST, CHAN, SELECT).
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Protocolos
ProtocolosLos objetos abstractos a traves de las cuales se construyen losdistintos niveles se denominan protocolos.Un protocolo provee un servicio de comunicacion que los nivelessuperiores utilizan para intercambiar mensajes.La especificacion de un protocolo provee las reglas que permiteimplementtar el protocolo.
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Interfaces de Protocolos
Un protocolo define 2 interfaces diferentes:Service Interface: en el mismo computador que desea usar losservicios de comunicacion. Define las operaciones que losobjetos locales pueden hacer sobre el protocolo.Peer interface: define la forma y el sentido de los mensajes quese intercambian entre las maquinas.
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Interfaces de Protocolo
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Grafo de Protocolos
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Encapsulacion
En cada nivel de protocolo se realiza encapsulacion, agregandoa los datos un header que permite a su protocolo par, recibir elpaquete.Uso de DEMUX KEY.
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Encapsulacion
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Estandares de Arquitecturas
Existen estandarizaciones que fijan marcas para las arquitecturas:ISO (International Standards Organization)IETF (Internet Engineering Task Force)
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Arquitectura OSI
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Capas ISO OSI
Capa FısicaTransmitir BITS sin estructura sobre un enlace decomunicaciones.Problemas que resuelve: tamano y forma de conectores,convertir bits en senales electricas.En una red pueden existir diversos tipos de capas fısicas.
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Capas ISO OSI
Capa de DatosTransmitir pedazos de informacion (FRAMES) a traves de unenlaceProblemas que resuelve: Deteccion de corrupcion de datosCoordinacion de uso de medios fısicos compartidos.Es comun que diferentes enlaces de datos implementandiferentes capas de enlace de datos
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Capas ISO OSI
Capa de DatosPermite que cualquier par de Host en la red se puedancomunicar entre si. (Servicio Host a Host).La capa de red es responsable de encontrar un camino entre doshost a traves de un conjunto de nodosProblemas que resuelve: Calculo de ruta, fragmentacion yreensamblado de paquetes
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Capas ISO OSI
Capa de TransporteEstablece un canal abstracto Proceso a proceso (MENSAJES).Problemas que resuelve: Errores que se cometen en la capa dered tales como: Perdida de paquetes, paquetes duplicados,reordenamiento de paquetes.Los protocolos de esta capa y de las capas superiores corren enlos host y no en los nodos intermedios
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Capas ISO OSI
Capa de SesionOfrece servicios sobre un flujo full-duplex confiableproporcionado por el nivel de transporte. Permite el manejo depotencialmente diferentes flujos de transporte que son parte deuna misma aplicacion.Por ejemplo: stream de audio y video que se combinan para unavideo conferencia, control de dialogo, chaining (combinar gruposde paquetes o todos o ninguno se despacha).
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Capas ISO OSI
Capa de PresentacionRelacionada con el formato de los datos intercambiados, por ejemplo:
XDR ( Big endian- little endian)Numero de bits (16, 32, 64)
Capa de AplicacionFTAMVT virtual terminal services
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Arquitectura Internet
Historia: Arpanet proyectos financiados por ARPA (Advanced InternetResearch Projects Agency)
Las aplicaciones son libres parautilizar los protocolos que quieran
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Grafo de Protocolos
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Aspectos Importantes
Filosofıa central: cualquiera puede proponer un protocolo, perose debe entregar:
especificacion de protocolouno o dos implantaciones representativas
Diferencia entre un protocolo de la capa de aplicacion y unaaplicacion.
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
¿Como construir una aplicacion de red?
El punto de partida es la interfaz que exporta la red.La mayorıa de los sistemas operativos implementan losprotocolos de red como parte del nucleo, es decir la interfaz queexporta la red es la llamada API (Application ProgrammingInterface).Si bien cada s.o. es libre para definir sus propias API de red, conel tiempo algunas han sido ampliamente soportadas, como es elcaso de los sockets de UNIX.Con esto se logra portar aplicaciones entre distintos sistemasoperativos.
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Sockets en Python
Python provee el modulo socket
# Programa de l Serv idorfrom socket impor t ∗#Parametroshost = ” l o c a l h o s t ”po r t = 21567buf = 1024addr = ( host , po r t )# Crea e l socket y l o asocia a l a d i r ecc ionUDPSock = socket ( AF INET ,SOCK DGRAM)UDPSock. bind ( addr )
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
Sockets en Python . . . continuacion
whi le 1 :data , addr = UDPSock . recvfrom ( buf )i f not data :
p r i n t ” C l i en te desconectado ”break
else :p r i n t ”\n Mensaje r e c i b i d o : ’ ” , data , ” ’ ”
#Cerrar socketUDPSock. c lose ( )
Pezoa Redes de Computadores “Introduccion a las Redes”
TemarioIntroduccion
Requerimientos de una RedConectividad
Canales AbstractosArquitecturas de Redes
Arquitectura OSIArquitectura Internet
RPR/LATEX 2ε
Pezoa Redes de Computadores “Introduccion a las Redes”