INF 1400 Redes de Computadores Jorge Baier A. Alvaro Soto A.

Anuncio
INF 1400
Redes de Computadores
Jorge Baier A.
Alvaro Soto A.
Departamento de Ciencia de la Computación
P. Universidad Católica de Chile
[jabaier,asoto]@ing.puc.cl
Contenido
1. Introducción
2. Protocolos de bajo nivel
3. Protocolos de aplicación
4. Modelo cliente/sevidor
5. Laboratorio de modelo cliente/servidor
6. Diseño de redes y seguridad
7. Laboratorio de seguridad en redes
8. Redes inalámbricas
Introducción
1. Conceptos básicos
¿Qué es una red de computadores?
Una red de computadores es un conjunto de computadores
autónomos conectados entre sı́ y que, por lo tanto, pueden
intercambiar información.
Por autónomo se entiende a máquinas que no dependen en
forma exclusiva de otras máquinas.
Los objetivos para el uso de redes son diversos, entre ellos se
encuentra compartir recursos, ahorrar dinero y aumentar la
confiabilidad.
Otras razones: comunicación, entretenimiento.
Un ejemplo de la compartición de recursos es el esquema
cliente/servidor.
Cuales son las ventajas de una red de computadores
Permite compartir recursos (impresoras, discos, etc)
Facilita la incorporación de nuevos equipos y usuarios
Facilita la administración de licencias de software
Facilita la comunicación de información (email, web)
...
Tipos de redes
Desde el punto de vista de la tecnologı́a de transmisión
Redes de tipo broadcast: Estas redes cuentan con un canal
único de comunicación. La información enviada en paquetes
puede ser recibida por todas las máquinas que comparten el
canal. Ejemplo de estas redes son las redes Ethernet.
Redes punto a punto: La comunicación se establece a través
de una conexión directa entre pares de máquinas especı́ficas.
Para ir del origen al destino, un paquete puede tener que
visitar una o más máquinas intermedias .
Desde el punto de vista de la cobertura
Red de área local (LAN). Una red, generalmente privada, de
extensión pequeña. Cubre hasta unos pocos kilómetros en
tamaño.
Red de área metropolitana (MAN). Es esencialmente una
versión más grandes de una LAN, y normalmente usa una
tecnologı́a similar.
Red de área amplia o global (WAN). Cubre grandes áreas
geográficas: un paı́s o un continente.
Redes de área local
Más conocidas como LAN (Local Area Network ) o network
backbone.
Son usadas para conectar computadores en edificios de empresas
y universidades.
Una LAN tradicional tienen velocidad de transferencia entre los
10 Mbps hasta los 100 Mbps.
1 Mbps = 1 Mega bit por segundo, es decir 106 bits por segundo.
La implementación más común de una LAN está definida en el
estándar 802.3 de la IEEE y se denomina Ethernet.
Redes de área metropolitana
Más conocidas como MAN: Metropolitan Area Network.
Pueden cubrir un grupo de oficinas corporativas o una ciudad.
Las hay tanto públicas como privadas.
Pueden usarse para datos y voz, y estar ligadas a la televisión
por cable.
Tienen uno o dos cables, sin conmutadores.
direccion de los datos
Bus A
Computador
1
2
3
Bus B
direccion de los datos
Estándar IEEE 802.6, o DQDB: Distributed Queue Dual Bus.
Redes de área global
Más conocidas como WAN: Wide Area Network.
Comprenden a un conjunto de máquinas llamadas hosts, que se
conectan a través de una subred.
La subred lleva mensajes de un host a otro, y está compuesta
por dos tipos de componentes:
lı́neas de transmisión: que permiten enviar bits entre las
máquinas, y
elementos de interconexión: computadores especializados en
conectar dos o más lı́neas de transmisión, conocidos como
enrutadores (routers).
La comunicación entre enrutadores que no están conectados entre
sı́, debe hacerse indirectamente, a través de otros enrutadores.
Un paquete enviado entre enrutadores, se recibe por completo
en cada enrutador intermedio, y se almacena allı́ hasta que la
lı́nea de salida está desocupada; sólo entonces se reenvı́a. Esto
se conoce como una subred point-to-point, store-and-forward,
o como conmutación de paquetes (packet switching).
Las redes WAN pueden tener diversas topologı́as, según como se
interconectan los enrutadores.
Otras categorı́as
Redes inalámbricas
Se diferencian de las otras, porque la comunicación no se
realiza a través de cables.
Pueden dar conectividad a fuentes móviles.
Actualmente es sencillo instalar una LAN inalámbrica. Sin
embargo, tienen limitaciones de velocidad pues transmiten a
una velocidad de entre 1 y 2 Mbps.
Interredes
En el mundo existen múltiples redes, con distintos tipos de
hardware y software.
Las interredes utilizan computadores de enlace (gateways)
para conectar distintos tipos de redes.
El nombre en inglés para una interred es iternetwork o, más
simplemente, internet. Nótese que se utiliza minúscula para
designar el nombre.
Comunicación de datos
Comunicación en base a circuitos conmutables (circuit switched
communication): La conección se estable cuando la comunicación
comienza y el canal se mantiene reservado en forma exclusiva por
el resto de la sesión o llamada.
Comunicación en base a paquetes (packet switched communication): En este caso la información es dividida en paquetes que
son transmitidos en forma independiente.
Comunicación en base a circuitos virtuales (virtual circuit switching): Este es un caso especial de comunicación en base a paquetes,
donde todos los paquetes siguen la misma ruta.
Cuatro Aplicaciones tipicas:
Sesión interactiva en un terminal computacional
Transmisión de voz en paquetes
Transferencia de archivos
Gráficas de alta resolución
2. Arquitectura en Capas
Se han visto los distintos tipos de redes que existen y las dos
principales formas de enviar datos en la red. Interesa conocer
cómo es posible que la información sea transmitida desde un
computador a otro.
Las primeras redes se diseñaron teniendo al hardware como la
preocupación principal.
Hoy, el software de las redes es altamente estructurado. Para
reducir la complejidad del diseño de programas que permiten
usar una red, la mayor parte de ellos se organiza en capas.
La capa n de una máquina se comunica con la capa n de la otra
máquina. El conjunto de reglas y convenciones que se utiliza para
lograr la comunicación entre ellas es conocido como el protocolo
de la capa n.
Básicamente, es un acuerdo de comunicación entre capas del mismo nivel en computadores distintos. El protocolo es entre pares
(peer to peer ).
Jerarquı́a de protocolos
Un sistema con cuatro capas
Máquina A
Capa 4
Capa 3
Capa 2
Capa 1
Máquina B
Protocolo Capa 4
Protocolo Capa 3
Protocolo Capa 2
Protocolo Capa 1
Capa 4
Capa 3
Capa 2
Capa 1
Medio físico
Los datos no se transmiten directamente entre los pares.
Interfaz entre capas
Hay una interfaz entre cada par de capas adyacentes, que define
las operaciones primitivas y servicios que la capa inferior ofrece
a la superior.
Si la capa 3 de la máquina A desea comunicarse con la capa 3
de la máquina B:
La capa 3 de la máquina A pasa sus datos a la capa 2 de la
misma máquina. La capa 2 realiza ciertas transformaciones
a los datos y luego los pasa a la capa 1.
La capa 1 también realiza modificaciones de tal manera de
poder transmitir los datos a través del medio fı́sico hacia la
máquina B.
Los datos son recibidos por la capa 1 de la máquina B, y son
pasados a la capa 2 y, finalmente, a la capa 3.
Las “modificaciones” hechas por cada una de las capas son esenciales para que se puedan comunicar los datos, y consisten
principalmente en encabezados (headers) y agregados (trailers)
que se envian junto al mensaje mismo.
El modelo OSI de la ISO
Es un modelo de referencia, que fue desarrollado y propuesto
por la International Standards Organization en 1983. Se llama
modelo OSI, Open Systems Interconnection, pues se refiere a
la interconexión de sistemas abiertos.
El modelo tiene siete capas, y define una forma de organizar los
protocolos. No es una arquitectura de red en si mismo, sólo define
qué debe hacer cada capa. No especifica los servicios exactos
ni protocolos que debe usar cada una de ellas, aunque ISO ha
producido estándares para protocolos de todas las capas.
Aplicación
Presentación
Sesión
Transporte
Red
Enlace de datos
Fı́sico
Protocolos de capas inferiores
1. Nivel fı́sico
Provee el medio fı́sico para la transmisión de bits entre un
par de nodos de la red.
Ejemplo: cable coaxial, par trenzado, fibra óptica, etc.
Espectro Electromagnético
Degradación Debido a Lı́mites en
Ancho de Banda
Ejemplos de Codificacion de Mensajes
Protocolos de capas inferiores
2. Nivel de enlace de datos (DLC: data link control layer)
Se encarga de chequear que los paquetes lleguen correctamente a su destino.
En caso de detectarse errores en la Tx, esta capa se encarga
de solicitar re-transmisión.
Para verificar la correcta Tx de los paquetes, esta capa agrupa los bits en unidades llamadas marcos frames). Estos contienen información extra que permite determinar el comienzo
y fin de una Tx, asi como chequear errores.
3. Nivel de red
Enruta los paquetes desde el nodo origen al nodo destino, a
través de múltiples enlaces.
Realiza labores de control de flujo decidiendo cuando aceptar
paquetes desde el nivel de transporte y cuando transmitir
paquetes al nivel de enlace de datos.
Ejemplos: X.25 e IP.
Protocolos de capas superiores
4. Nivel de transporte
Provee entrega confiable de mensajes entre el origen y el
destino.
Divide mensaje en paquetes, y lo ensambla en el destino.
Control de flujo entre hosts.
Ejemplos: TCP y UDP.
5. Nivel de sesión
Agrega funcionalidad al nivel de transporte.
Control de diálogo, sincronización.
Poco usado.
6. Nivel de presentación
Codifica la información en formatos que son independientes
del sistema.
Se preocupa del significado de la información.
Poco usado.
7. Nivel de aplicación
Colección de protocolos para actividades comunes.
Ejemplos: TELNET, FTP, SMTP, DNS, HTTP.
El modelo TCP/IP
Este es el modelo original usado por la ARPANET. Definido
inicialmente por Cerf y Kahn en 1974.
La capa de internet
Permite que los hosts puedan comunicarse. Se define un protocolo de red conocido como Internet Protocol (IP).
La función de esta capa es llevar a los paquetes al lugar
de destino. Esta capa es la que se preocupa de enrutar los
paquetes.
La capa de transporte
Sobre la capa de internet se ubica la capa de transporte, que
permite establecer una comunicación entre dos máquinas.
Se usa dos protocolos a este nivel: TCP (Transmission
Control Protocol ), y UDP (User Datagram Protocol ).
TCP se utiliza si se desea obtener una comunicación confiable entre dos máquinas (sin errores). TCP desensambla los
mensajes en paquetes, y agrega la información necesaria para
que la máquina de destino pueda rearmar el mensaje.
UDP es no-confiable y se utiliza para aplicaciones que no
necesitan del estricto control que provee TCP, y en que una
entrega más rápida es más importante. Las aplicaciones más
comunes para este protocolo son la transmisión de sonido y
video.
Las capas de Internet
La siguiente figura muestra los protocolos de red, de transporte,
y algunos protocolos de aplicación usados en Internet.
HTTP, TELNET, FTP, SMTP, DNS, etc.
Protocolos
TCP
UDP
IP
Red
Ethernet, Token Ring, SatNet, etc
Aplicación
Transporte
Red
Enlace y fisico
La capa de enlace en Ethernet
Hoy en dı́a, la mayorı́a de las redes locales son Ethernet. Las
redes Ethernet están definidas en el estándar 802.3 de la IEEE.
Son redes de tipo broadcast, es decir, todos los computadores que
están instalados en una red de este tipo comparten, en general,
el mismo canal de comunicaciones.
Hoy, cada estación se conecta a través de un cable (par trenzado)
a un concentrador (hub).
Hub
....
Los cables pueden ser de distintos tipos: actualmente se usa el
100Base-T. Antes se usaba cables coaxiales que conectaban a las
máquinas formando un bus o un anillo.
Actualmente, las tarjetas de red Ethernet vienen hechas para
velocidades de 10 Mbps y 100 Mbps (full y half duplex).
Colisiones
Cada vez que una estación transmite, la información emitida es
enviada al hub. El hub retransmite la información por todas las
lı́neas que salen de él.
Como estas redes comparten el mismo canal de comunicación, es
posible que dos máquinas decidan transmitir al mismo tiempo.
Si comparten el mismo canal, ¿cómo es posible que aún ası́ se
sigan pudiendo comunicar?
Para que la comunicación se pueda lograr sin problemas, cada
máquina conectada a una Ethernet es capaz de detectar una
colisión. Una colisión se produce cuando dos estaciones deciden
transmitir “al mismo tiempo.”
CSMA/CD. Cuando una estación transmite a otra,
Escucha el canal de comunicaciones.
Si está ocurriendo una transmisión, espera hasta que el canal
vuelve a estar inactivo.
Inicia la transmisión.
Si antes de terminar su transmisión, se produce una colisión,
aborta la transmisión, espera un tiempo aleatorio y vuelve a
intentar.
Arquitecturas más complejas
A medida que el número de estaciones de trabajo crece, el número
de colisiones en la red también aumenta. ¿Cómo es posible tener
redes locales con muchos computadores?
La respuesta está en utilizar redes más “inteligentes.” Se puede
evitar que todas las máquinas siempre compartan el mismo canal
de comunicación. Se logra mediante el uso de switches. Un switch
se parece externamente a un hub.
Se conectan de la siguiente manera:
Switch
Ethernet
Switch
Hub A
Hub B
Hub
Hub
Hub C
Hub
Si se produce tráfico en entre dos máquinas de la red A, el switch
no reparte ese tráfico a las redes B y C. De esta forma, si hay
alto tráfico en la red A, no se ven afectadas ni la red B ni la red
C.
Si una máquina de la red A se quiere comunicar con otra de
la red B, el switch sólo transmite los datos hacia el hub B, no
viéndose afectado el hub C.
Redes ATM
El modo de transferencia ası́ncrono: Asynchronous Transfer
Mode.
Redes capaces de transmitir voz, que requiere un ancho de banda
bajo, pero constante, y de transmitir datos, que se produce en
ráfagas que requieren mucho ancho de banda por cortos perı́odos,
para luego no requerir nada.
Ni la conmutación de circuitos, usada en telefonı́a, ni tampoco
la conmutación de paquetes, usada en Internet, son adecuadas.
Se usa la conmutación de celdas (cells) sobre circuitos virtuales.
El origen establece una conexión, un circuito virtual, con el
destino. Durante el establecimiento de la conexión, se determina una ruta entre origen y destino, y se almacena información en los conmutadores intermedios.
Los paquetes se envı́an a través de esta ruta, pero trozado por
el hardware en unidades pequeñas de tamaño fijo, llamadas
celdas.
Todas las celdas de un mismo circuito siguen la ruta que
está almacenada en los conmutadores para él. Cuando el
circuito ya no se necesita, la información se elimina de los
conmutadores.
Ventajas de las redes ATM
Puede usarse la misma red para transmitir voz, datos, televisión,
cintas de video, radio y otros tipos de información, reemplazando
lo que antes eran redes separadas.
La red sólo ve celdas, sin importarle que transportan.
La conmutación de celdas es adecuada para el envı́o a muchos
destinos al mismo tiempo, necesario para televisión La conmutación
de circuitos tradicional no sirve.
La conmutación de celdas es adecuada para la transmisión punto
a punto. Medios de difusión como televisión por cable no sirven.
Las celdas, con su tamaño fijo permiten hacer conmutación muy
rápidamente, lo que es mucho más difı́cil con conmutación de
paquetes usando store-and-forward.
Se evita el problema de la demora en un paquete, porque uno
grande está usando la lı́nea. Al transmitir celdas, después de
transmitir una, se transmite otra, que no tiene por qué ser del
mismo paquete.
Las capas de ATM
Jerarquı́a propia de protocolos.
Niveles Superiores
Nivel de Adaptación
Nivel de ATM
Nivel Físico
El nivel fı́sico tiene la misma funcionalidad que el nivel 1 del
modelo OSI.
El nivel de ATM se encarga de las celdas y de su transporte,
incluyendo el enrutamiento. Cubre el nivel 2 y partes del 3. A
diferencia del nivel 2, no recupera celdas dañadas o perdidas.
El nivel de adaptación se encarga de dividir los paquetes en celdas
y ensamblarlos en el destino, que es parte del nivel 4.
El nivel de adaptación no ofrece una comunicación de origen
a destino perfectamente confiable. Hay que implementar una
conexión de transporte en las capas superiores para conseguirlo.
Por ejemplo, usando ATM para transmitir tráfico TCP/IP.
Conmutadores para ATM
Tienen puertos a los que se conectan las lı́neas de transmisión,
y que pueden usarse tanto para entrada como para salida.
Internamente, tiene lı́neas de entrada, de salida, y un entretejido
para la conmutación que las conecta.
A 155 Mbps, una celda debe ser conmutada en 3 µseg. Como
pueden llegar tantas como hay lı́neas, debe hacerse en paralelo.
Cuando llega una celda, se examina un campo de su encabezado
que indica el circuito al que pertenece, y se pone en el puerto de
salida correcto para ese circuito.
Descargar