Tema 2
Redes e interconexión
Objetivo y bibliografía
Objetivos
:
Repasar los principales conceptos sobre protocolos y
redes de
computadores
Analizar algunas cuestiones sobre
fiabilidad
y
prestaciones
en
redes
Bibliografía
básica:
Bibliografía
básica:
Stallings, William.
Comunicaciones y redes de
computadores.
Ed. Prentice Hall.
Contenido
Conceptos básicos sobre redes
Propiedades de los sistemas de comunicación
Tipos de redes de computadores
Interconexión de redes
Dispositivos de conexión de redes
Pilas de protocolos
Pilas de protocolos
Modelo
de referencia
OSI
Protocolo
TCP/IP
Papel del sistema operativo en los protocolos de
comunicación
Conceptos básicos
Subsistema de comunicación:
conjunto de
componentes HW y SW
que
proporcionan
servicios de comunicación
en un sistema distribuido
Red de computadores:
conjunto
de computadores conectados
por
medio
de
una
red
Un
host
es un computador u otros dispositivo que usan la red para propósitos de
comunicación
.
Protocolo:
conjunto de
reglas e instrucciones
que gobiernan el intercambio de
paquetes y mensajes
Mensaje:
objeto lógico
que se intercambian entre dos o más
procesos
Su tamaño puede ser bastante grande
Un mensaje se descompone en paquetes
Paquete:
tipo de mensaje
que se intercambia entre dos dispositivos de
comunicación
Propiedades de un subsistema
de comunicación
Tasa de transferencia:
velocidad de transferencia de los datos
Medida en bits por segundo
Latencia
:
tiempo necesario para transferir un mensaje vacío
Tiempo de transferencia:
latencia + (tamaño datos /tasa de trasferencia)
Paquetes/segundo
(rendimiento o
throughput
):
Número de paquetes enviados/recibidos en un segundo
Capacidad de crecimiento
(
escalabilidad
):
Medida de:
efectividad vs. nº nodos/nº recursos
Calidad de servicio (QoS):
Importante en
aplicaciones multimedia
y de
tiempo real
Fiabilidad del subsistema
Mecanismos de
detección de errores
Tipos de redes de computadores
Redes de área local
(LAN,
Local Area Network
)
Redes que enlazan sistemas cercanos
Posibilidad de difusión de mensajes (
broadcast
)
Personal Area Networks (PANs) son un tipo de LAN
Redes de área metropolitana
(MAN, Metropolitan Area Network)
Redes de área extensa
(WAN,
Wide Area Network
)
Menor ancho de banda
Menor ancho de banda
Mayor latencia
Redes telefónicas, redes públicas de datos, fibra óptica RDSI, B-RDSI, ATM
Redes de área local inalámbricas
(WLAN,
Wireless LAN
)
Eliminan la necesidad de infraestructura cableada para conectar dispositivos
Ejemplo:
IEEE 802.11 (WiFi)
Clusters
y arquitecturas paralelas
Arquitecturas distribuidas
enfocadas a la ejecución de
aplicaciones paralelas
Objetivo:
reducir el tiempo de ejecución
Los
clusters
utilizan
redes de alta velocidad
y
baja latencia
ATM ,
fast ehternet
,
Gigabit ethernet
,
Autonet, Myrinet, HiPPI
, SCI
Autonet, Myrinet, HiPPI
, SCI
Arquitecturas más cerradas y optimizadas donde la detección
de fallos se puede realizar de forma mucho más rápida
Interconexión de redes
Una
interred
o
internet
es un conjunto de redes
interconectadas
Dispositivos de Conexión
Protocolos y arquitecturas
Un
protocolo
es un
conjunto de reglas
y
formatos
que permiten la
comunicación entre procesos
La definición de un protocolo tiene dos partes:
Especificación de la secuencia de mensajes que deben intercambiarse
Especificación del formato de mensajes
La
arquitectura de un sistema
define su estructura en términos de
La
arquitectura de un sistema
define su estructura en términos de
componentes independientes
Una
arquitectura de software
es la organización del software como
capas o módulos
de un único sistema o computador
Funciones de una pila de protocolos (I)
Una
pila de protocolos
es el conjunto completo de capas de protocolos
Ejemplo:
Modelo de referencia OSI
Segmentación y ensamblado
de los mensajes
Segmentación
: fragmentación de los mensajes en paquetes más pequeños de acuerdo al
MTU
Ensamblado
: composición del mensaje original a partir de los fragmentos del mensaje en la
máquina destino
Encapsulado:
incorporación de información de control a los datos
Encapsulado:
incorporación de información de control a los datos
Dirección del emisor y receptor
Código de detección de errores
Control de conexión
Protocolos orientados a conexión
Protocolos no orientados a conexión
No se asegura el orden secuencial de los datos transmitidos
Control de congestión o flujo:
función realizada en el receptor para limitar
la cantidad o tasa de datos que envía el emisor
Tamaño de ventana indica la cantidad de datos que el emisor puede enviar antes del
siguiente ACK
Control de errores:
se basan en el uso de una secuencia de comprobación
y reenvío
Direccionamiento
: entrega de los mensajes al receptor
Cada host se identifica mediante una dirección de red y un número de puerto
Funciones de una pila de protocolos (II)
Cada host se identifica mediante una dirección de red y un número de puerto
Multiplexación:
necesario para un uso más eficiente de los servicios
Servicios de transmisión
:
Prioridad
Calidad de servicio
Ejemplos de protocolos
Protocolos
Internet
:
Originados por el trabajo de
DARPA
en los años
70
Muy utilizados en la actualidad
Gran crecimiento durante los años
90
debido al uso del Web
Protocolos OSI
(
Open System Interconnection
)
Estándar desarrollado por ISO
Estándar desarrollado por ISO
Modelo de referencia
Estándares
propietarios
SNA de IBM (años
70
)
DECnet desarrollado por DEC
Modelo de referencia OSI
Modelo de referencia OSI
Sesión
Transporte
Presentación
Aplicación
Mensaje
enviado
Mensaje
recibido
Transporte
Red
Enlace
Receptor
Los 7 niveles OSI
Físico
: circuitos y HW de red necesarios para transmitir secuencias de bits
mediantes señales analógicas (
Ethernet
)
Enlace de datos
: responsable de la transmisión de paquetes libres de
errores entre computadores directamente conectados a través de un enlace
(
HDLC, CSMA/CD
)
Red
: transfiere y encamina paquetes entre distintas red (
X25, IP
)
Transporte
:
es el nivel más bajo que trabaja con mensajes. (por debajo, se
Transporte
:
es el nivel más bajo que trabaja con mensajes. (por debajo, se
usan paquetes). Se encarga del intercambio de mensajes entre dos procesos
(
TCP, UDP
)
Sesión
:
Comunicación entre procesos de manera fiable. Se encarga de
organizar y sincronizar el dialogo y controlar el intercambio. Control de flujo
Presentación
:
transmisión de datos usando una representación que es
independiente de la usada por los computadores individuales (
XDR
,
Comunicación en el modelo OSI
Nivel Físico
Encargado de
transformar
una
secuencia de bits
en
señales eléctricas
Ejemplo
: 1 cuando en un punto del medio físico se
miden “5 voltios” y 0 cuando se miden “0 voltios”
Algunas de sus funciones son:
Envío bit a bit
entre un par de nodos
Proporcionar una
interfaz estandarizada
para los
medios de transmisión
físicos
físicos
Modulación
Sincronización
de bits en comunicación serie síncrona y delimitación de
las tramas en comunicación serie asíncrona
Modo de transmisión simplex, half duplex, full duplex
Intercambio de datos
Nivel de enlace de datos
Nivel de red
Encaminamiento
de mensajes entre el nodo origen y el destino cuando
entre ellos hay una distancia de
n saltos
(
n>1
)
Ejemplo
: envío de datos de un nodo con dirección de red A (dirección física
10) al nodo con dirección de red P (dirección física 95)
Red1
Red3
A
P
Red2
Ejemplo: Encaminamiento (I)
Objetivo
: entrega del paquete desde el nodo A (dir.
10) hasta el nodo P (dir. 20)
El paquete es transmitido a través de varias redes
atravesando varios
routers
Un router es un
dispositivo de conexión
que
permite interconectar distintas redes
La ruta entre A y P es responsabilidad colectiva de
routers
localizados en cada una de las redes que los
paquetes atraviesan
La determinación de las rutas es responsabilidad
del
The McGraw-Hill
La determinación de las rutas es responsabilidad
del
algoritmo de enrutamiento
Ejemplo Encaminamiento (II)
Conceptos sobre encaminamiento
Tipos
de encaminamiento
Estático
Dinámico
Tiempo de vida de un paquete (contador de saltos)
Ejemplos
de algoritmos
Ejemplos
de algoritmos
Nivel de transporte
Sesión
Transporte
Red
Red
Transporte
Sesión
Servicios del nivel de transporte
Entrega
extremo a extremo
(proceso a proceso)
Entrega
fiable
Control de errores
Control de secuencia
Control de pérdida
Control de duplicación
Control de duplicación
Multiplexación
Hacia arriba (nivel de sesión)
Hacia abajo (nivel de red)
Comunicación
Orientado a conexión
Dispositivos de conexión de redes
Dispositivos de red
Repetidores
Puentes
(
bridge)
Dispositivos de interconexión
Encaminadores (
router
)
Pasarelas (
gateway
)
Otros
dispositivos
Dispositivos de conexión en el modelo OSI
Repetidor
Un repetidor es un regenerador de la señal (no un amplificador)
Opera en el nivel físico
Puentes (
bridges
)
Dividen una red grande en segmentos
Funcionamiento de un puente
Encaminadores (
routers
)
Pasarelas (
gateways
)
Otros dispositivos
Concentrador (
hub
)
Conmutador (
switch
)
Hub
Nivel de Sesión
Encargado de proporcionar los mecanismos para
controlar el diálogo
de las
aplicaciones de los sistemas finales
Los usuarios de distintas máquinas establecen una
sesión
Una
sesión
proporciona
servicios adicionales
a la capa de transporte
Algunas de sus
funciones
:
Algunas de sus
funciones
:
Control del diálogo (organización, sincronización, intercambio de catos)
Agrupamiento
Detección de fallos y recuperación automática
Nivel de Presentación
Objetivo:
“cómo se representa la información” más que “cómo se
transmite”
Encargado de la
representación de los datos
que intercambian dos
máquinas
origen-destino (posiblemente
heterogéneas
) usando una
representación de red
independiente:
Caracteres (ASCII, Unicode, EBCDIC)
Números (Little-endian, Big-endian)
Números (Little-endian, Big-endian)
Algunas de sus
funciones
:
Formateo de los datos
Cifrado de los datos
Compresión de los datos
Ordenamiento de los bytes
… 0x0 0x1 0x2
Little-endian
(Dirección ‘pequeña’ termina la palabra…)
Dos tipos de ordenamiento: Little-endian y Big-endian
…
… 0x0 0x1 0x2
Big Endian
1
Ejemplo: Representación del 1
0
0
0
n
n+1 n+2
n+3
Direcciones:
LSB
MSB
Little Endian
0
1
0
0
MSB
LSB
Dirección de crecimiento
n
n+1 n+2
n+3
Representación de datos
Empaquetamiento de datos
(
marshalling
):
Serialización de las estructuras de datos y conversión de los valores de los datos
a su
representación externa
-1.5
“Esto es una cadena”
1.2
7.3
Desempaquetamiento de datos
(
unmarshalling
)
Conversión de los datos a su
representación interna
…10010111…0110010…
-1.5
“Esto es una cadena”
1.2
7.3
Representación en el computador A
Nivel de Aplicación
Protocolos
de
alto nivel
diseñados para satisfacer los
requisitos de las
aplicaciones
Definen la interfaz de acceso a un servicio
Ejemplos:
FTP
(
File Transfer Protocol
- Protocolo de transferencia de archivos) para transferencia de
archivos
DNS
DNS
(
(
Domain Name System
- Servicio de nombres de dominio)
- Servicio de nombres de dominio)
DHCP
(
Dynamic Host Configuration P
rotocol
- Protocolo de configuración dinámica de
anfitrión).
HTTP
(
HyperText Transfer Protocol
) para acceso a páginas web
NAT
(
Network Address Translation
- Traducción de dirección de red)
POP
(
Post Office Protocol
) para correo electrónico
SMTP
(
Simple Mail Transport Protocol
)
SSH
(
Secure SHell
)
Ejemplo: HTTP
Navegador
www.uc3m.es
1) Petición
2) Respuesta
1)
Petición:
2)
Respuesta:
1)
Petición:
GET
/index.html HTTP/1.1
Host: www.example.com
User-Agent: nombre-cliente
[Línea en blanco]
2)
Respuesta:
HTTP/1.1 200 OK
Date: Fri, 31 Dec 2003 23:59:59 GMT
Content-Type: text/html
Content-Length: 1221
<html>
<body>
<h1>Página www.uc3m.es</h1>
(Contenido) . . .
Protocolos TCP/IP
Resultado de dos décadas de investigación y desarrollo
llevados a cabo en la red
ARPANET
(financiada por
DARPA
)
en los años
70
Familia de protocolos utilizados en
Internet
En los años
90
se ha establecido como la
arquitectura
comercial dominante
:
Se especificaron y utilizaron antes que OSI
Independiente de la tecnología de red utilizada
Historia
Internet nació en
1969
a partir de un proyecto del Ministerio de Defensa
de los EEUU (DARPA) denominado
ARPANET
Objetivo:
intercambiar información entre investigadores, científicos y
militares
En octubre de
1969
se realizó el
primer intercambio de información
entre
la Universidad de Los Ángeles y la Universidad de Standford
El mensaje que se envío fue: “
log in
”
Se recibió “
lo
”: el
primer mensaje enviado por Internet
En
1972
ya había 40 computadores conectados
Inicialmente se desarrollaron varios
protocolos,
los cuales no eran
compatibles entre sí
Protocolos TCP/IP
Aplicación
Transporte
Internet
Mensaje
recibido
Mensaje
enviado
Físico
Interfaz de red
Internet
TCP/IP y el modelo OSI
Aplicación
Presentación
Transporte
Sesión
TCP y UDP
Aplicación
46
Red
Transporte
Físico
Interfaz de red
IP
TCP y UDP
Físico
Interfaz de red
TCP/IP y el modelo OSI
Conceptos de interconexión entre redes
Red de comunicación
Sistema que proporciona servicio de transferencia entre
estaciones conectadas a una red
Internet
Conjunto de redes interconectadas por puentes o dispositivos de
encaminamiento
Subred
Subred
Red constituyente de internet
Sistema final
Dispositivo conectado a una de las subredes que se utiliza para
Protocolo Internet (nivel IP)
Responsable de la
transmisión de paquetes
(
datagramas IP
) de tamaño
variable (
máximo 64 KB
) con cabecera de
20 bytes
(dirección IP origen y
destino)
Si length(datagrama) > MTU de la red subyacente
Fragmentar
Ejemplo: MTU de Ethernet es 1500 bytes
Se corresponde con el
nivel de red
del modelo OSI
Protocolo
no orientado a conexión
Protocolo
no orientado a conexión
El encaminamiento se realiza mediante
tablas de encaminamiento
Estáticas (las más usadas) o dinámicas
Si se utiliza encaminamiento dinámico un datagrama podría viajar de forma
indefinida
Protocolo Internet (nivel IP)
Semántica
best-effort
Transmisión
no fiable
No
hay
garantía de entrega
Mecanismo de comprobación de errores basado en
checksum
de la cabecera
Los paquetes se pueden descartar por:
Expiración del tiempo de vida (TTL), Congestión, Error en
la suma de comprobación (
checksum
)
Control de flujo
muy limitado
Calidad de servicio
muy limitado
“En
los
próximos
años
se
planea
la
Calidad de servicio
muy limitado
Seguridad, Rendimiento : normal o alto
Retardo: normal o bajo
Dos implementaciones:
IPv4
: la versión de IP en uso más extendido desde
enero de 1984
IPv6:
motivado por el enorme crecimiento de Internet para solucionar el problema de
las limitaciones del esquema de direcciones de IPv4 y añadir nuevas características (ej.
calidad de servicio)
años
se
planea
la
migración gradual
desde IPv4 a IPv6”
Direcciones IPv4
Cada computador tiene una
dirección IP
(
32 bits
) que le
identifica de forma única
2 hosts direccionables
Dir de red
Clase A:
0
Dir de máquina
7
24
32
Clase B:
Clase D:
1 1 0
Dir de red
Dir de máquina
1
14
16
21
8
28
Dirección IP en notación decimal
Una
dirección IPv4
se expresa como una secuencia de 4
bytes separados por puntos.
Subredes
La técnica de
subnetting
permite que una red pueda dividirse en redes más
pequeñas denominadas
subredes
Para ello, se toman
x bits
del identificador de host que serán destinados a
identificar la subred (
2^x subredes
) dentro de la red
Enmascaramiento
Protocolo ARP
(
Address Resolution Protocol)
Protocolo de resolución de direcciones
Asocia una
dirección IP
con una
dirección física (ej. Ethernet)
Se trata de un protocolo
específico de la
tecnología de red
Ejemplo
: traducción de una dirección IPv4
(32 bits) en una dirección Ethernet (48 bits)
The McGraw-Hill
(32 bits) en una dirección Ethernet (48 bits)
Mantiene una caché con:
(
dirección IP
,dirección Física)
2 tipos de mensajes:
dirección Ethernet
1) ARP request
: mensaje
broadcast
indicando la dirección IP que se busca
2) ARP reply
: sólo responde el ordenador
cuya dirección IP es la dirección de búsqueda.
Se responde con la dirección Ethernet
IP de nueva generación: IPv6
La versión
IPv4
del protocolo IP está alcanzando el fin de su
vida:
Direcciones de 32 bits limitan el número de direcciones posibles
IETF notificó en 1990 los problemas potenciales del direccionamiento en IPv4
El rápido crecimiento de Internet
Mayor protagonismo de redes inalámbricas
Mayor protagonismo de redes inalámbricas
Necesidad de un incremento en el espacio de direcciones
Necesidad de nuevos requisitos en el protocolo
Calidad de servicio
Aplicaciones de tiempo real y multimedia
Mejoras que incluye IPv6
Espacio de direcciones
ampliado:
Direcciones de
128 bits
7x10^23 direcciones IP por metro cuadrado de la superficie total de la Tierra
[Tanenbaum]
Cabeceras
de paquetes
más pequeñas
:
Objetivo:
acelerar el proceso de encaminamiento
Facilidad para la asignación de recursos:
Facilidad para la asignación de recursos:
Permite
el etiquetado de paquetes
como pertenecientes a un flujo de tráfico
particular (ej. “
traffic class
”, “
flow level
”)
Asegura calidad de servicio
Capacidades de seguridad mediante extensiones de tipos de cabecera:
Transición de IPv4 a IPv6
Traducción de cabeceras
Puertos
Las
direcciones IP
identifican de forma única una máquina
Un
puerto
es un
número de 16 bits
que identifica de forma única a un proceso en
una máquina
Uso de los puertos
:
Permitir a los protocolos de transporte comunicación proceso a proceso
Una aplicación que quiere recibir un mensaje debe abrir un puerto
Un aplicación que quiere enviar un mensaje a otra debe conocer la
dirección IP
Un aplicación que quiere enviar un mensaje a otra debe conocer la
dirección IP
de la máquina donde ejecuta y el
puerto
asociado
Los
servicios
de
Internet
well-known
usan puertos predefinidos
(0..1023)
que no
pueden ser usados por ningún otro proceso
La autoridad central encargada de registrar puertos a servicios es la
IANA
Los puertos por encima de 1023 están disponibles para uso privado
Protocolos de transporte
Protocolo TCP
(Transport Control Protocol):
Orientado a conexión
Garantiza que los datos se entregan en el
mismo orden
en el que se envían
Las
conexiones TCP
se ven como un
flujo de bytes
El flujo de bytes se fragmenta en
segmentos de datos
y se transfieren como paquetes IP
La transmisión se considera “
fiable
”.
Números de secuencia para ordenar los segmentos recibidos en el destino
Control de flujo
Control de flujo
Retransmisiones (ACKs)
Buffering
Checksum
sobre los datos del segmento
Cuando los mensajes son muy pequeños, TCP los retrasa hasta conseguir uno más grande
Esta opción debe desactivarse si es necesario
Protocolos de transporte
Protocolo UDP
(User Datagram Protocol):
Protocolo de datagramas
no orientado a conexión
Protocolo
no fiable
Los paquetes se pueden perder, duplicar, recibir en orden distinto al
enviado
Tamaño máximo del mensaj
e:
64 KB
Tamaño máximo del mensaj
e:
64 KB
Papel del sistema operativo (I)
Los sistemas operativos proporcionan implementaciones de los
protocolos
de comunicaciones
El SW de comunicación de un sistema operativo se organiza como un
conjunto de componentes
con tareas concretas
Subsistema de almacenamiento:
buffers
donde almacenar los paquetes que llegan
y se envían (limitado)
En implementaciones UNIX típicas:
TCP
reserva para cada
puerto
(socket) un
buffer de 8 KB
y
UDP
reserva
2
buffers de 8KB
. El tamaño se puede incrementar hasta 64 KB
Los mensajes a enviar se copian a estos buffers
El
contenido de estos buffers se fragmenta
y se copian a nuevos bloques de
memoria a utilizar por IP
Papel del sistema operativo (II)
Un sistema operativo
puede perder paquetes
cuando la
tasa de envíos y de recepción es muy grande
En sistemas operativos multiusuario la
pérdida de
paquetes suele producirse a ráfagas
debido a los
algoritmos de planificación
La
latencia del SO
La
latencia del SO
ha crecido en términos
relativos
0 5 10 15 20 25 30 35 40¿Dónde se pierde el tiempo?
Códigos de corrección
(
checksum
)
Sobre los datos TCP y UDP
Sobre las cabeceras IP
Copias de datos
Entre usuario y kernel
Estructura de datos
Gestión de los buffers
Colas de desfragmentación de paquetes IP
Sistema Operativo
Problemas de fiabilidad (I)
Pérdida de datagramas
entre dos
procesos
que
ejecutan
en la misma máquina
(biprocesador Pentium con Linux,
200 MHz
). Intercambio de 100000 datagramas.
Mensaje (bytes) % datagramas
perdidos
longitud de la
ráfaga máxima
perdidos
ráfaga máxima
64
27.80
3848
128
0.58
89
256
15.44
4734
512
9.89
3403
1024
28.15
3043
2048
26.08
2639
4096
22.80
742
Problemas de fiabilidad (II)
Pérdida de datagramas
entre dos procesos que ejecutan en
dos máquinas (biprocesador Pentium con Linux,
200 MHz
).
Intercambio de 100000 datagramas
Fast-Ethernet
Mensaje (bytes) % datagramas
Longitud de la
Mensaje (bytes) % datagramas
perdidos
Longitud de la
ráfaga máxima
64
6.2
673
128
4.18
2517
256
27.4
2904
512
12.76
2919
1024
12.2
871
2048
9.15
795
Problemas de fiabilidad (III)
Pérdida de datagramas
entre
dos procesos que ejecutan
en la misma máquina
(biprocesador Pentium con Linux,
1GHz
). Intercambio de 100000 datagramas.
Mensaje (bytes) % datagramas
perdidos
longitud de la
ráfaga máxima
perdidos
ráfaga máxima
64
0
0
128
0
0
256
0
0
512
0
0
1024
0
0
2048
12,85
5
4096
30,9
5
Problemas de fiabilidad (IV)
Pérdida de datagramas
entre dos procesos que ejecutan
en dos máquinas (biprocesador Pentium con Linux,
1GHz
). Intercambio de 100000 datagramas.
Fast-Ethernet
Mensaje (bytes) % datagramas
Longitud de la
Mensaje (bytes) % datagramas
perdidos
Longitud de la
ráfaga máxima
64
0
0
128
73,81
58
256
84
98
512
0
0
1024
0
0
2048
0
0
Problemas de fiabilidad (V)
Pérdida de datagramas
entre dos
procesos que ejecutan
en la misma máquina
(biprocesador Pentium con Linux,
1GHz
). Intercambio de 100000 datagramas.
Mensaje (bytes) % datagramas
perdidos
longitud de la
ráfaga máxima
perdidos
ráfaga máxima
64
0
0
128
0
0
256
0
0
512
0
0
1024
0
0
2048
12,85
5
4096
30,9
5
Problemas de fiabilidad (VI)
Pérdida de datagramas
entre dos procesos que ejecutan
en dos máquinas (biprocesador pentium con Linux,
1GHz
). Intercambio de 100000 datagramas.
Gigabit-Ethernet
Mensaje (bytes) % datagramas
Longitud de la
Mensaje (bytes) % datagramas
perdidos
Longitud de la
ráfaga máxima
64
19,62
38
128
15,78
28
256
6
16
512
11,34
16
1024
1
9
2048
0
0
Problemas de fiabilidad (VII)
Pérdida de datagramas
entre dos
procesos que ejecutan
en la misma máquina
(Pentium IV con Linux,
3.4 GHz
).
Intercambio de 300000 datagramas.
Mensaje (bytes) % datagramas
perdidos
longitud de la
ráfaga máxima
perdidos
ráfaga máxima
64
0.17
177
128
0.09
274
256
0.034
102
512
0.12
373
1024
0.32
959
2048
0.16
482
4096
0.18
534
Problemas de fiabilidad (VIII)
Pérdida de datagramas
entre dos procesos
que ejecutan
en dos máquinas
(Pentium IV con Linux,
3.4 GHz
).
Intercambio de 300000 datagramas.
Mensaje (bytes) % datagramas
perdidos
longitud de la
ráfaga máxima
perdidos
ráfaga máxima
64
0
128
0
256
0.08
17
512
0
1024
0.004
14
2048
0
482
Argumento
end-to-end
El
argumento end-to-end
soporta la visión de que el subsistema de comunicación
no necesita proporcionar en cada salto una comunicación libre de errores
¿Es mejor utilizar en cada par de saltos un protocolo fiable o es mejor un protocolo
más eficiente, menos fiable y que sean las aplicaciones las que se preocupen de la
fiabilidad (end-to-end)?
La arquitectura de protocolos
TCP/IP es inherentemente NO fiable
y permite que
los paquetes se pierdan en cada punto del subsistema de comunicación
los paquetes se pierdan en cada punto del subsistema de comunicación
Cuantos más saltos mayor probabilidad de fallos
TCP/IP
se ha construido pensando en el
argumento end-to-end
Según este argumento:
Los sistemas de transporte de bajo nivel deben preocuparse de la velocidad, no de la
Ejemplo: Argumento
end-to-end
Suposiciones:
Un
paquete IP
tiene que atravesar
n
saltos
hasta alcanzar el destino y
la
probabilidad
de
que un paquete se
pierda
en cada salto es
p
Si se quiere transferir un fichero de
k
registros
(un registro cabe en cada
paquete)
Preguntas:
¿Cuál es la probabilidad de transmisión de un paquete con éxito:?
¿Cuál es la probabilidad de transmisión de un paquete con éxito:?
(1-p)
n
¿Número de paquetes perdidos?
k-k*(1-p)
n
Si
p
es
pequeño
es
mejor el argumento end-to-end
El argumento
end-to-end
no siempre es adecuado
p
o
n
son grandes
Comunicaciones en sistemas
de tiempo real
Objetivo:
asegurar una transmisión de mensajes
predecible
Posibles enfoques:
Red en anillo con paso de testigo
Cuando un procesador desea transmitir un paquete espera al token.
Protocolo TDMA
Protocolo TDMA
Organiza el tráfico de marcos de tamaño fijo, cada uno con n espacios
(uno por procesador)
Cada espacio se asigna a un procesador
Un procesador puede transmitir un paquete cuando le llegue el turno
Se evitan las colisiones, se acota el retraso y se asegura una fracción
Ejemplo:
Ethernet
Ampliamente utilizada en
redes de área local
(LAN)
Estándar IEEE 802.3
Desarrollada por
Xerox PARC
en
1973
Control de acceso al medio:
CSMA/CD: Carrier Sense Multiple Access/Colision Detection
Tamaño máximo del paquete:
MTU
(Maximum Transfer Unit):
1500 bytes
Velocidades
:
Velocidades
:
Ethernet (en su implementación original):
10 Mbps
Fast ethernet
(100 Mbps)
Gigabit Ethernet
(1000 Mbps)
No
permite asegurar
calidad de servicio
Imposible garantizar la entrega de un mensaje en un plazo fijo
Soporta
broadcast
y
multicast
en HW
La comprobación de errores se realiza en cada máquina y no se asegura
Prestaciones (Fast-Ethernet)
6 8 10 12
M
B
/s
0 2 4
1 5 9 13 17 21
bytes (escala logaritmica)
M
B
Prestaciones (Fast-Ethernet)
bytes
segundos
MB/s
bytes
segundos
MB/s
1
0,000048
0,019778
2KB
0,000366
5,337129
2
0,000048
0,039844
4KB
0,000542
7,207437
4
0,000048
0,078784
8KB
0,000894
8,734762
8
0,000049
0,155989
16KB
0,001593
9,806195
16
0,00005
0,302751
32KB
0,00298
10,487845
16
0,00005
0,302751
32KB
0,00298
10,487845
32
0,000054
0,568302
64KB
0,005772
10,827957
64
0,000061
0,997137
128KB
0,011339
11,024245
128
0,000075
1,63108
256KB
0,022497
11,112437
256
0,000099
2,460223
512KB
0,044773
11,167471
512
0,000144
3,385432
1MB
0,089322
11,195481
Prestaciones (Gigabit-Ethernet)
25 30 35 40 45 50M
B
/s
0 5 10 15 20 251 4 7 10 13 16 19