Está en la página 1de 119

Redes

Grupo de Sistemas y Comunicaciones


gsyc-profes@gsyc.escet.urjc.es

Octubre 2003

Introducci
on a las
Redes de Ordenadores

c
2003
GSyC

Redes

Objetivos de las Redes de Ordenadores

Objetivos de las Redes de Ordenadores


Compartir recursos: Discos duros, impresoras, programas. . .
Compartir informaci
on: Acceso documentos remotos. . .
Mejorar la fiabilidad: Alternativas, replicaci
on. . .
Incrementar el rendimiento: Maquinas trabajando juntas. . .
Servir de medio de comunicaci
on de personas/comunidades

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Estructura de las Redes

Estructura de las Redes


Diversas maquinas (hosts) se conectan a una subred de comunicaciones
que permite el dialogo entre ellas.
Dos formas fundamentales de dise
nar la subred de comunicaciones:
mediante canales punto-a-punto
mediante canales de radiado broadcast
Normalemente hay una mezcla de muchos canales de los dos tipos.

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Topologas comunes en Redes

Topologas comunes en Redes

ESTRELLA

ANILLO

TOTALMENTE
CONECTADA

BUS

c
2003
GSyC

ARBOL

PARCIALMENTE
CONECTADA

SATELITE

ANILLO

Redes: Introducci
on a las Redes de Ordenadores

Protocolo de Comunicaciones

Protocolo de Comunicaciones
Conjunto de reglas (interfaces, algoritmos, formatos de mensajes . . . )
que conocen las entidades que intercambian datos a traves de una red de
comunicaciones.

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Jerarquas de Protocolos

Jerarquas de Protocolos
En la mayora de las redes se utilizan varios protocolos con distintos
prop
ositos.
Todos esos protocolos se organizan normalmente en niveles o capas.
cada nivel ofrece servicios al nivel superior
cada nivel se apoya en los servicios ofrecidos por el nivel inferior

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Jerarquas de Protocolos (cont.)

Principios Fundamentales
Cada nivel ofrece servicios al nivel superior, ocultandole la forma en
que realmente se implementan dichos servicios.
Cada nivel dentro de una maquina conversa con su gemelo en otra.
Las reglas que rigen esta conversaci
on forman el protocolo de dicho
nivel.
No hay transferencia fsica de datos entre niveles gemelos. La transferencia se hace en cada maquina entre niveles adyacentes, a traves
de las interfaces entre niveles: llamadas a procedimientos/funciones.

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Jerarquas de Protocolos (cont.)

Maquina A

Nivel 4

Maquina B
Protocolo del Nivel 4

Nivel 4

interfaz 3/4

Nivel 3

Protocolo del Nivel 3

Nivel 3

interfaz 2/3

Nivel 2

Protocolo del Nivel 2

Nivel 2

interfaz 1/2

Nivel 1

Protocolo del Nivel 1

Nivel 1

Medio de transmision

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Jerarquas de Protocolos (cont.)

M
aquina origen de una comunicaci
on
El mecanismo basico en cada nivel es:
tomar las unidades de datos que le ofrece el nivel superior
procesarlos (agrupando, separando, . . . ) y formar sus propias unidades
de datos (a
nadiendo informaci
on de control en cabeceras)
pasar sus unidades de datos al nivel inferior, usando sus servicios
Es esto software o hardware?

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Jerarquas de Protocolos (cont.)

10

M
aquina destino de una comunicaci
on
El mecanismo basico en cada nivel es:
tomar las unidades de datos que le ofrece el nivel inferior
identificar las cabeceras introducidas en el nivel gemelo para procesar
los datos adecuadamente (agrupando, separando, . . . )
pasar los datos al nivel superior
Es esto software o hardware?

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Jerarquas de Protocolos (cont.)

11

Protocolo Nivel N+1

Protocolo Nivel N

Protocolo Nivel N-1

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Jerarquas de Protocolos (cont.)

12

Protocolo Nivel N+1













Protocolo Nivel N




Protocolo Nivel N-1

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Jerarquas de Protocolos (cont.)

13

Protocolo Nivel N+1

Protocolo Nivel N

c
2003
GSyC







Protocolo Nivel N-1

Redes: Introducci
on a las Redes de Ordenadores

Jerarquas de Protocolos (cont.)

14

Protocolo Nivel N+1

Protocolo Nivel N

Protocolo Nivel N-1







c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Jerarquas de Protocolos (cont.)

15

Protocolo Nivel N+1

Protocolo Nivel N

Protocolo Nivel N-1

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Jerarquas de Protocolos (cont.)

16

Protocolo Nivel N+1

Protocolo Nivel N

Protocolo Nivel N-1

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Jerarquas de Protocolos (cont.)

17

Protocolo Nivel N+1

Protocolo Nivel N

Protocolo Nivel N-1

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Jerarquas de Protocolos (cont.)

18

Protocolo Nivel N+1


Protocolo Nivel N




Protocolo Nivel N-1

c
2003
GSyC
















Redes: Introducci
on a las Redes de Ordenadores

Arquitectura de Red

19

Arquitectura de Red
Conjunto de niveles y protocolos de una determinada red de ordenadores.
Las distintas arquitecturas de redes se diferencian en:
N
umero de niveles, y servicios de cada nivel
Protocolos de cada nivel

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Arquitectura OSI

20

Arquitectura OSI
En 1983 ISO (Organizaci
on de Estandares Internacionales) propone un
modelo de referencia para arquitecturas de redes:
Modelo de Referencia para la Interconexi
on de Sistemas Abiertos (ISO
OSI Reference Model).
El Modelo OSI no es estrictamente una arquitectura, sino un marco al que
deben someterse protocolos concretos para establecer una arquitectura
conforme a OSI
OSI no define los servicios y protocolos exactos para cada nivel, s
olo aquello de lo que cada nivel debe ocuparse.

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Arquitectura OSI (cont.)

21

La torre OSI
Maquina A
Aplicacion

Presentacion

Sesion

Transporte

Red

Enlace

Fisico

Maquina B
Protocolo de Aplicacion

Protocolo de Presentacion

Protocolo de Sesion

Protocolo de Transporte

Protocolo de Red

Protocolo de Enlace

Protocolo de nivel Fisico

Aplicacion

Presentacion

Sesion

Transporte

Red

Enlace

Fisico

Medio de transmision

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Arquitectura OSI (cont.)

22

El Nivel Fsico
Se ocupa de enviar y recibir bits sobre un medio fsico de transmisi
on:
Debe asegurarse que la forma de transmitir un bit a 1 es reconocida
en recepci
on como un bit a 1.
La transmisi
on puede ser electrica,
optica, . . .
Aborda los problemas electricos, electr
onicos, de establecimiento de
conexiones fsicas, . . .

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Arquitectura OSI (cont.)

23

El Nivel de Enlace
Transforma un sistema de transmisi
on crudo (lo que le ofrece el nivel
fsico) en una lnea libre de errores de transmisi
on (lo que ofrece para el
nivel de red) entre maquinas conectadas al mismo medio fsico.
Forma tramas.
Se encarga de detectar las tramas recibidas con errores de transmisi
on.
Ademas, puede
descartar las tramas con errores, y/o
corregir los errores de las tramas con errores, y/o
pedir la retransmisi
on de las tramas con errores
Se ocupa de resolver los problemas de acceso a un medio de transmisi
on compartido.

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Arquitectura OSI (cont.)

24

Nivel de Red
Se encarga de la interconexi
on de maquinas que no estan conectadas
al mismo medio de transmisi
on. Por ello su misi
on fundamental es el
encaminamiento de paquetes desde la maquina origen a la maquina de
destino.
El encaminamiento puede ser estatico o dinamico.
Gestiona las congestiones y cuellos de botella.
Puede incluir funciones de tarificaci
on.
Puede proporcionar distintos tipos de servicio: Fiable, no fiable.

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Arquitectura OSI (cont.)

25

Nivel de Transporte
Se encarga de gobernar el acceso m
ultiple a la red de los diversos
procesos de la misma maquina que quieran usarla (gestiona puertos
en maquinas multiproceso).
Puede proporcionar distintos tipos de servicio: Fiable, no fiable.
Realiza comunicaci
on extremo a extremo, no tiene en cuenta las
maquina intermedias.
Realiza control de flujo extremo a extremo (el receptor no es capaz
de recibir a la velocidad a la que transmite el emisor).

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Arquitectura OSI (cont.)

26

Nivel de Sesi
on
Permite a usuarios en distintas maquinas establecer sesiones entre ellos:
Proporciona mecanismos para controlar el dialogo: Ej: Turno, gesti
on
de tokens.
Gestiona la sincronizaci
on entre maquinas.
Ejemplo: pizarra compartida.

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Arquitectura OSI (cont.)

27

Nivel de Presentaci
on
Se ocupa de la sintaxis y semantica de la informaci
on transferida entre
maquinas:
Orden de bytes de enteros (little endian/big endian).
Representaci
on de caracteres alfabeticos.
Tama
no de los tipos de datos.
Tpicamente traduce los datos a un formato normalizado que todas las
maquinas entienden.
Tambien se suele ocupar de la compresi
on y cifrado de datos.

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Arquitectura OSI (cont.)

28

Nivel de Aplicaci
on
Contiene un conjunto de protocolos que son de utilidad directa para aplicaciones que usan la red:
Para transmisi
on de ficheros
Para correo electr
onico
Para control de trabajos remotos
...

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Arquitectura OSI (cont.)

29

Crticas al Modelo OSI


Surgi
o demasiado pronto.
Niveles de distinto grosor.
Modelo muy complejo.
Funcionalidades mal situadas: cifrado, . . .
Modelo dominado por una visi
on telef
onica de las redes de datos
Hoy la arquitectura OSI ha cado en desuso, pero se utiliza su terminologa
(fundamentalmente la denominaci
on de los niveles)

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Arquitectura TCP/IP

30

Arquitectura TCP/IP
Su desarrollo comenz
o a finales de los 60, como proyecto financiado por
el Gobierno de los Estados Unidos.
Autentico sistema abierto: Los protocolos y sus implementaciones estan
disponibles p
ublicamente.
Constituyen el armaz
on sobre el que se sit
ua Internet.
No se ajusta exactamente al modelo de referencia OSI, surgio antes y OSI
no intent
o incluirlo.
Su exito (a partir del de Internet) ha hecho que sea la arquitectura mas
importante y conocida actualmente.

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Arquitectura TCP/IP (cont.)

31

La pila TCP/IP
Nivel de Aplicaci
on

DNS, SMTP, HTTP. . .

Nivel de Transporte

TCP, UDP

Nivel de Red
Nivel de Enlace

c
2003
GSyC

IP, ICMP
Ethernet, PPP, ADSL

Redes: Introducci
on a las Redes de Ordenadores

Arquitectura TCP/IP (cont.)

32

ordenador A

ordenador B
Protocolo HTTP
Servidor HTTP

Cliente HTTP

Protocolo TCP

TCP

TCP

encaminador
IP

Driver + Tarjeta
Ethernet

Protocolo IP

Protocolo
Ethernet

Protocolo IP

IP

Driver + Tarjeta
Ethernet

Protocolo
Ethernet

Driver + Tarjeta
Ethernet

IP

Driver + Tarjeta
Ethernet

ETHERNET
ETHERNET

c
2003
GSyC

Redes: Introducci
on a las Redes de Ordenadores

Arquitectura TCP/IP (cont.)

33

Nivel Fsico

c
2003
GSyC

Redes: Nivel F
sico

Introducci
on

34

Introducci
on
El nivel fsico es el mas bajo de toda la torre OSI.
Se ocupa de c
omo se transmiten los datos a traves de los medios fsicos
de transmisi
on.
Debe ocuparse de que las entidades directamente interconectadas concuerden en la forma de usar el medio fsico, es decir, que un bit a 1
enviado no sea interpretado por el receptor como un bit a 0.

c
2003
GSyC

Redes: Nivel F
sico

Conceptos Generales

35

Conceptos Generales
Velocidad de Transmision: Bits por segundo que se transmiten (Unidades: Kbps, Mbps, Gbps). Tambien se le llama, informalmente, ancho
de banda)
Latencia o Retardo de propagaci
on: Tiempo que tarda un bit desde
que sale hasta que llega a su destino.
Transmisi
on Simplex: El canal de comunicaciones es de un solo sentido.
Transmisi
on Semi-Duplex: Canal bidireccional, pero en el que no puede transmitirse en ambos sentidos a la vez.
Transmisi
on Duplex: Canal bidireccional en el que puede transmitirse
en ambos sentidos a la vez.
c
2003
GSyC

Redes: Nivel F
sico

Medios de Transmisi
on

36

Medios de Transmisi
on
Medios Magn
eticos
Se almacenan datos en cintas magneticas que se transportan en tren o
cami
on a su destino, donde se leen.
No es broma!
Se pueden alcanzar velocidades de transferencia media de varios Gbps.
El problema es la latencia o retardo de propagaci
on: lo que tarda en llegar
el primer bit a su destino.
Los bancos siguen utilizando estos metodos.

c
2003
GSyC

Redes: Nivel F
sico

Medios de Transmisi
on (cont.)

37

Cable de Pares
Cable de pares: Dos cables de cobre de 1 mm de espesor, trenzados en
helice.
Pueden emplearse sin amplificaci
on en varios kil
ometros.
Utilizados tanto en telefona como redes Ethernet.
Pueden alcanzarse cientos de Mbps de ancho de banda.

c
2003
GSyC

Redes: Nivel F
sico

Medios de Transmisi
on (cont.)

38

Cable Coaxial de Banda Base


N
ucleo de cobre, aislante y malla conductora. 50 ohmios.
Mayor inmunidad al ruido que el cable de pares.
Con cables de 1 km se alcanzan 10 Mbps.

c
2003
GSyC

Redes: Nivel F
sico

Medios de Transmisi
on (cont.)

39

Cable Coaxial de Banda Ancha


Igual que el de Banda Base, pero de 75 ohmios.
Utilizado tradicionalmente para televisi
on.
Alcanza hasta 150 Mbps, pero necesita amplificadores intermedios que
convierten el canal en unidireccional.

c
2003
GSyC

Redes: Nivel F
sico

Medios de Transmisi
on (cont.)

40

Fibra Optica
En vez de corriente electrica se transmite luz.
Para transmisi
on digital: La presencia de luz es un 1, la ausencia un 0.
Sistema de Transmisi
on:
Emisor: Diodo laser
Medio: Fibra
optica (silicio)
Receptor: Foto-diodo
Puede transmitirse hasta a 20 Gbps en varios km. Se han alcanzado velocidades de 1 Tbps en laboratorio y el lmite te
orico esta por los 50 Tbps.

c
2003
GSyC

Redes: Nivel F
sico

Medios de Transmisi
on (cont.)

41

Transmisi
on por Aire
Se transmiten se
nales de radiofrecuencia por radiado (broadcast).
Tres escenarios en los que se utiliza:
Redes Inal
ambricas (WiFi/802.11):
Alcances en el entorno de los cientos de metros, con antenas direccionales especiales unos cuantos kil
ometros.
11 Mbps - 54 Mbps
Redes por Satelite:
Cuando no hay vis
on directa emisorreceptor: Satelites.
Cada satelite tiene varios transpondedores (canales), ofreciendo cada
uno cientos de Mbps para transmisi
on de datos.
Principal problema: retardo, tpicamente 300 ms extremo a extremo
para satelites geosincr
onicos. Pero si no hay retransmisiones, puede ser
mejor que cables.
GSM/GPRS
c
2003
GSyC

Redes: Nivel F
sico

Transmisi
on Digital

42

Transmisi
on Digital
Para medios capaces de transportar una se
nal digital directamente.
Ventaja: Menor tasa de errores (puede recrearse la se
nal original en
puntos intermedios)
Se transmite una se
nal cuadrada, en la que los distintos niveles de
tensi
on indican la transmisi
on de ceros o unos.
Hay varias formas de codificar los 0 y 1: C
odigo unipolar, NRZ, Manchester, Manchester diferencial. . .

c
2003
GSyC

Redes: Nivel F
sico

Transmisi
on Digital (cont.)

43

Ejemplo: C
odigo Manchester
V
0

Nota: No se puede transmitir una se


nal cuadrada perfecta (ancho de banda
infinito). Se transmite una suma de sinusoides que se le parece:

c
2003
GSyC

Redes: Nivel F
sico

Transmisi
on Anal
ogica

44

Transmisi
on Anal
ogica
Para medios dise
nados para transportar se
nales anal
ogicas (ej: lnea
telef
onica).
Se necesitan MOduladoresDEModuladores en los puntos de acceso
al medio.
Los modems convierten una se
nal digital en su equivalente anal
ogica
(modulan) y viceversa (demodulan).

MODEM

MODEM

Transmision
Digital
Transmision

Analogica

c
2003
GSyC

Redes: Nivel F
sico

Transmisi
on Anal
ogica (cont.)

45

Tipos de Modulaci
on
0

Se
nal digital:

Modulacion ASK:

(a)

(b)

Modulacion FSK:

(c)

Modulacion PSK:

(d)

Phase changes

Modulacion QAM:
c
2003
GSyC

Combinaci
on de ASK y PSK.
Redes: Nivel F
sico

Transmisi
on Anal
ogica (cont.)

46

Nivel de Enlace

c
2003
GSyC

Redes: Nivel de Enlace

Introducci
on

47

Introducci
on
El Nivel de Enlace suele subdividirse en dos subniveles:
Nivel de Red
LLC (Subnivel de Control del Enlace L
ogico)
MAC (Subnivel de Control de Acceso al Medio)
Nivel Fsico

MAC: gobierna el acceso a un medio de transmisi


on compartido por varias
m
aquinas
LLC: ofrece al nivel de red un servicio de transmisi
on de datos entre m
aquinas
adyacentes, encarg
andose de:
composici
on/descomposici
on de tramas.
control de flujo (opcional).
gesti
on de los errores en la transmisi
on (opcional).

c
2003
GSyC

Redes: Nivel de Enlace

El problema del acceso al medio

48

El problema del acceso al medio


C
omo y cuando asignar el canal fsico a las distintas maquinas que lo
comparten y quieren acceder a el?
Soluciones:
Asignaci
on estatica: Se reparte el canal en el tiempo (TDM) o en
frecuencia (FDM). Bueno para traficos pesados y constantes, pero
malo para rafagas (lo habitual).
Asignaci
on dinamica: No esta prefijado el reparto. Trata de aprovechar
mejor el canal en LANs.
Acceso por contienda: Las maquinas compiten por usar el medio.
Si coinciden dos o mas a la vez: colisi
on
Acceso por reserva: Las maquinas pueden hacer reservas para poder usar el canal en exclusiva durante un tiempo
c
2003
GSyC

Redes: Nivel de Enlace

Protocolo CSMA/CD

49

Protocolo CSMA/CD
CSMA/CD (Carrier Sense Multiple Access with Collision Detection): Acceso m
ultiple con deteccion de portadora.
Funcionamiento:
Cuando una estaci
on quiere transmitir escucha en el canal.
Si esta ocupado, espera a que quede libre
Si esta libre, transmite.
Mientras transmite, sigue escuchando para ver si alguien transmite a
la vez, en cuyo caso aborta la transmisi
on

c
2003
GSyC

Redes: Nivel de Enlace

Protocolo CSMA/CD (cont.)

50

C
omo se pueden producir las colisiones?
Cuando dos estaciones deciden transmitir simultaneamente al ver el
canal libre.
Cuando el canal parece libre pero no lo esta debido al retardo de
propagacion de los paquetes por la red.
Caso patol
ogico: Dos estaciones quieren transmitir y ven que el canal
esta ocupado. Esperan a que quede libre, y cuando lo esta ambas transmiten a la vez, colisionando. Y as indefinidamente.
Para evitarlo, en caso de colisi
on las estaciones esperan un tiempo aleatorio
antes de reintentar.

c
2003
GSyC

Redes: Nivel de Enlace

Protocolo CSMA/CD (cont.)

51

Tiempo que tarda en detectarse una colisi


on en el caso peor (tiempo de
reacci
on): Doble del retardo maximo de propagaci
on ( ):
Desde que A empieza a transmitir hasta que pasa , B puede empezar
a trasmitir tambien.
B se da cuenta de la colisi
on inmediatamente, pero hasta que no pasa
otro , A no se entera.
Ejemplo: Con cable coaxial de 1 km
= 5 s
tiempo de reacci
on = 10 s

c
2003
GSyC

Redes: Nivel de Enlace

Protocolos de Paso de Testigo

52

Protocolos de Paso de Testigo


Acceso al medio por reserva: Existe un testigo o token que circula por la
red. En todo momento, s
olo el poseedor del testigo puede transmitir, por
lo que desaparecen las colisiones.
Supone que las estaciones de la red se configuran como un anillo fsico o
l
ogico.
Mecanismo:
Cuando el canal esta libre, por el circula el testigo.
Cuando una estaci
on quiere transmitir:
captura el testigo
enva su trama
devuelve el testigo al anillo.

c
2003
GSyC

Redes: Nivel de Enlace

Nivel de Enlace

53

Nivel de Enlace
Recuerda: 2 partes.
MAC: Control de acceso al medio (ya visto)
LLC: Control del enlace l
ogico:
Gesti
on de tramas
Control de flujo (opcional)
Control de errores (opcional)

c
2003
GSyC

Redes: Nivel de Enlace

Gesti
on de tramas

54

Gesti
on de tramas
El nivel fsico maneja una tira de bits que recibe-del/pasa-al nivel de
enlace.
El nivel de enlace maneja unidades de datos denominadas tramas. Debe
encargarse de:
con los datos que recibe del nivel de red, formar tramas que pasa al
nivel fsico
de los bits que recibe del nivel fsico, reconocer tramas y extraer los
datos de ellas para pasarselos al nivel de red.

c
2003
GSyC

Redes: Nivel de Enlace

Gesti
on de tramas (cont.)

55

Separaci
on de tramas
Cuando el nivel de enlace toma la tira de bits del nivel fsico debe ser
capaz de identificar tramas en ella.
El metodo mas habitual es colocar patrones especiales de bits al principio
y/o al final de cada trama. Por ejemplo: 01111110.
Problema: Y si en medio bits de datos aparece justo ese patr
on especial?
Soluci
on: Bits de relleno (bit stuffing ) Si vienen 5 unos seguidos, el
emisor a
nade un 0 de relleno. El receptor, cada vez que recibe 5 unos,
descarta el 0 subsiguiente.

c
2003
GSyC

Redes: Nivel de Enlace

Control de Flujo

56

Control de Flujo
Problema: Emisor enviando mas deprisa de lo que el receptor es capaz de
recoger.
Soluci
on: Los protocolos incluyen reglas que permiten al transmisor saber
de forma implcita o explcita si puede enviar otra trama al receptor.
Ejemplo: Al establecer la conexi
on, el receptor indica que se le pueden
enviar hasta N tramas consecutivas, pero no mas hasta que el lo indique
expresamente.

c
2003
GSyC

Redes: Nivel de Enlace

Gesti
on de errores

57

Gesti
on de errores
El problema de la gesti
on de errores puede abordarse en el nivel de enlace
o en niveles superiores (normalmente nivel de transporte).
Si se hace en el nivel de enlace, se corrigen los errores en la comunicaci
on entre cada par de maquinas adyacentes que participen en la
comunicacion
Si se hace en el nivel de transporte, se corrigen los errores en las
maquinas origen y destino de la comunicaci
on.

c
2003
GSyC

Redes: Nivel de Enlace

Gesti
on de errores (cont.)

58

Problemas:
1. alg
un bit de una trama ha cambiado
2. una trama entera se ha perdido
3. una trama llega por duplicado al receptor
Normalmente, el primer problema se resuelve siempre en el nivel de enlace,
pues esos errores se dan con cierta frecuencia entre maquinas adyacentes.
Los otros dos problemas no son tan habituales entre maquinas adyacentes,
por lo que podra diferirse su soluci
on a niveles superiores.

c
2003
GSyC

Redes: Nivel de Enlace

Bits cambiados en una trama

59

Bits cambiados en una trama


Soluciones al problema:
el receptor detecta el error y lo corrige automaticamente.
el receptor detecta el error y descarta la trama incorrecta, esperando
que en alg
un momento el emisor la retransmita (ya veremos como).

c
2003
GSyC

Redes: Nivel de Enlace

Correcci
on de errores

60

Correcci
on de errores
Consiste en introducir redundancia en la informaci
on que se enva para,
en caso de error, poder suponer cual era la informaci
on original.
Idea Basica:
s
olo ciertos patrones de bits son posibles
si se recibe un patr
on imposible, se supone que el que se quera
enviar es aquel posible que mas se le parezca.
Distancia Hamming (d): N.o de diferencias entre dos patrones consecutivos.
En un patr
on pueden detectarse hasta d 1 errores, y corregirse hasta
(d 1)/2 errores.

c
2003
GSyC

Redes: Nivel de Enlace

Correcci
on de errores (cont.)

61

Ejemplo:
1. Patrones posibles: 0000000000, 0000011111, 1111100000, 1111111111
2. Se recibe: 0000000111
3. Se corrige a 0000011111
En este caso, d = 5, por lo que se pueden corregir hasta 2 errores en un
patr
on.
Si al transmitir 0000011111 hubiera habido 3 errores, y llegado 0000000011,
se hubiera corregido incorrectamente a 0000000000. Sin embargo s se
puede detectar que ha habido errores (se pueden detectar hasta 4).

c
2003
GSyC

Redes: Nivel de Enlace

Detecci
on de errores y retransmisi
on

62

Detecci
on de errores y retransmisi
on
Ahora la redundancia que se introduce es s
olo con el objeto de poder
detectar cuando una trama ha llegado con errores, sin intentar corregirlos
pues la trama sera reenviada.
Es mas eficiente detectar que corregir errores: se necesitan menos bits de
redundancia, aunque aparece la necesidad de retransmitir.
La correcci
on de errores se utiliza fundamentalmente en casos en que es
imposible retransmitir. Ejemplo: Medios de transmision simplex.

c
2003
GSyC

Redes: Nivel de Enlace

Detecci
on de errores y retransmisi
on (cont.)

63

Bit de Paridad
Consiste en a
nadir un bit al patr
on de datos que se enva.
Paridad Par: El bit a
nadido hace que el total de unos enviado sea
siempre par.
Paridad Impar: El bit a
nadido hace que el total de unos enviado sea
siempre impar.
Se puede detectar un error de 1 bit del patr
on, y hay un 50 % de probabilidades de detectar un error en mas de 1 bit a la vez.

c
2003
GSyC

Redes: Nivel de Enlace

Detecci
on de errores y retransmisi
on (cont.)

64

C
odigos de Redundancia Cclica (CRC)
Se consideran los patrones de bits como polinomios, y se realizan operaciones aritmeticas m
odulo 2 con ellos.
El calculo del CRC se implementa con circuitos hardware sencillos.

c
2003
GSyC

Redes: Nivel de Enlace

Detecci
on de errores y retransmisi
on (cont.)

65

Se demuestra que con los CRC de 16 bits se detectan:


Todos los errores simples y dobles
Todos los errores en un n
umero impar de bits
Todas las rafagas de longitud16 bits
El 99.997 % de las rafagas de 17 bits
El 99.998 % de las rafagas de longitud18 bits

c
2003
GSyC

Redes: Nivel de Enlace

Recuperaci
on de p
erdidas y/o duplicados

66

Recuperaci
on de p
erdidas y/o duplicados
Estos protocolos, ademas de permitir la recuperaci
on frente a tramas perdidas y/o duplicadas pueden utilizarse tambien para realizar el control de
flujo.
Se utilizan Timeouts y Asentimientos para implementarlos
MUY IMPORTANTE: Pueden situarse en el nivel de enlace o en niveles
superiores. En las redes TCP/IP no aparecen hasta (por lo menos) el nivel
de transporte.

c
2003
GSyC

Redes: Nivel de Enlace

Recuperaci
on de p
erdidas y/o duplicados (cont.)

67

Tres tipos principales de protocolos:


De parada y espera: El transmisor, despues de enviar una trama, espera su asentimiento por parte del receptor antes de enviar la siguiente.
De envo continuo: El transmisor va enviando tramas sucesivamente,
y el receptor le va asintiendo por su cuenta. Requiere memoria infinita.
De ventanas: El transmisor puede enviar un n
umero maximo de tramas
antes de recibir el primer asentimiento

c
2003
GSyC

Redes: Nivel de Enlace

Recuperaci
on de p
erdidas y/o duplicados (cont.)

68

Parada y Espera
Mecanismo basico:
Emisor

Receptor

tiempo
dato-1

Plazo
ACK

c
2003
GSyC

Redes: Nivel de Enlace

Recuperaci
on de p
erdidas y/o duplicados (cont.)

Emisor
tiempo

69

Receptor
dato-1

Plazo

dato-1

Plazo
ACK

c
2003
GSyC

Redes: Nivel de Enlace

Recuperaci
on de p
erdidas y/o duplicados (cont.)

70

El protocolo genera duplicados, que podran descartarse en el receptor si


los paquetes van identificados de alguna forma.

c
2003
GSyC

Redes: Nivel de Enlace

Recuperaci
on de p
erdidas y/o duplicados (cont.)

Emisor

71

Receptor

tiempo

dato-1

Plazo

ACK

dato-1

Plazo
ACK

c
2003
GSyC

Redes: Nivel de Enlace

Recuperaci
on de p
erdidas y/o duplicados (cont.)

Emisor

72

Receptor

tiempo

dato-1

Plazo

ACK
dato-1

Plazo

ACK

c
2003
GSyC

Redes: Nivel de Enlace

Recuperaci
on de p
erdidas y/o duplicados (cont.)

73

Soluci
on: Con asentimiento alternado: cada paquete de datos lleva un bit
que va alternando. Los acks tambien incluyen el bit para identificar uno u
otro paquete.
Emisor

Receptor

Emisor

Receptor
dato-1 (0)

dato-1 (0)

plazo

ack (0)

ack (0)
dato-2 (1)

dato-1 (0)

ack (1)
ack (0)
dato-3 (0)
dato-2 (1)
ack (0)
ack (1)

c
2003
GSyC

Ya no hay duplicados ni prdidas

Redes: Nivel de Enlace

Recuperaci
on de p
erdidas y/o duplicados (cont.)

74

Envo Continuo
El canal esta infrautilizado. Mejor que el emisor enve siempre que pueda.
Envo contnuo con Rechazo Simple:
Emisor
tiempo

Receptor

dato-1
dato-2
dato-3
dato-4
dato-5
dato-6

nack-3

Se asiente negativamente la trama perdida,


por lo que cada trama debe tener un identificador!!

dato-3
dato-4

El Emisor debe reenviar todas las tramas desde la perdida

dato-5

c
2003
GSyC

Redes: Nivel de Enlace

Recuperaci
on de p
erdidas y/o duplicados (cont.)

75

Envo contnuo con Rechazo Selectivo:


Emisor

Receptor

dato-1
tiempo

dato-2
dato-3
dato-4
dato-5
dato-6

nack-3

Se asiente negativamente la trama perdida

dato-3
dato-7
dato-8

c
2003
GSyC

Emisor slo retransmite las tramas indicadas,


lo que es ms eficiente

Redes: Nivel de Enlace

Recuperaci
on de p
erdidas y/o duplicados (cont.)

76

Ventanas
Parada y Espera es muy lento.
Envo Contnuo requerira memoria infinita.
Soluci
on intermedia: El Emisor, en vez de parar despues de transmitir cada
trama, para despues de transmitir n (tama
no de la ventana) tramas.
Cuando va recibiendo los ACKs de las tramas enviadas puede proseguir
enviando nuevas tramas.

c
2003
GSyC

Redes: Nivel de Enlace

Recuperaci
on de p
erdidas y/o duplicados (cont.)

Emisor
1

dato-1

1 2

dato-2

1 2

77

Receptor

dato-3
Tamao de ventana del Emisor: 3
ack-1

2 3
4 2 3
4
3
4 5 3

ack-2
dato-4
dato-5

4 5 3

c
2003
GSyC

dato-3

Redes: Nivel de Enlace

Protocolos de Nivel de Enlace en redes TCP/IP

78

Protocolos de Nivel de Enlace en redes


TCP/IP
Los mas habituales:
Ethernet
Fast Ethernet
PPP

c
2003
GSyC

Redes: Nivel de Enlace

Protocolos de Nivel de Enlace en redes TCP/IP (cont.)

79

Ethernet
Norma originalmente establecida por Xerox, DEC e Intel.
Pensada para medios compartidos con acceso mediante CSMA/CD
Hasta 10 Mbps
Medios fsicos:
Cable coaxial grueso (Thicknet): 10Base5, topologa en bus.
Cable coaxial fino (Thinnet): 10Base2, topologa en bus.
Par trenzado: 10Base-T, topologa en estrella.
Fibra
optica: 10Base-F, topologa en estrella
Nivel Fsico: C
odigo Machester, niveles de +0.85V y 0.85V.
Acceso al Medio: CSMA/CD

c
2003
GSyC

Redes: Nivel de Enlace

Protocolos de Nivel de Enlace en redes TCP/IP (cont.)

80

10BaseT:
Cable UTP-3 o UTP-5 (Unshielded Twisted Pair ): 4 Pares trenzados,
no blindados, categora 3
o 5.
Conectores RJ-45.
Se usa un par para transmitir y otro para recibir (full duplex).
Un concentrador (hub) hace de bus. Lo que recibe por una boca, lo
retransmite por todas las demas. 10 Mbps entre todas las bocas.
A veces se usa un conmutador (switch): Reenva s
olo a la boca a la
que se conecta el destinatario. 10 Mbps por boca y sentido, varias
transmisiones a la vez.
Longitud maxima hasta el concentrador: 100 metros

c
2003
GSyC

Redes: Nivel de Enlace

Protocolos de Nivel de Enlace en redes TCP/IP (cont.)

81

Formato de trama
n bytes

Prembulo

0 - 1500

0 - 46

Direccin destino

Direccin origen

Tipo

Datos

Relleno

CRC

Comienzo de trama

Pre
ambulo 10101010 (x 7 bytes). Permite al receptor sincronizar su
reloj con el del transmisor.
Comienzo de trama 10101011, indicando que a continuaci
on empieza
la trama.

c
2003
GSyC

Redes: Nivel de Enlace

Protocolos de Nivel de Enlace en redes TCP/IP (cont.)

82

Direcciones destino y origen 6 bytes.


Si todos los bits de destino son 1, la trama sera entregada a todas
las estaciones de la subred (omnienvo o broadcast).
Si el bit 47 (el de mayor peso) de la direcci
on destino es 1, la trama
va destinada a un grupo de maquinas (multienvo o multicast).
Si el bit 46 de una direcci
on esta a 1, la direcci
on es de ambito
mundial, asignada de forma u
nica. Si esta a 0, es de ambito local,
relativo a esa subred. En ambos casos son direcciones unienvo o
unicast.
La direcci
on de destino va delante para que una estaci
on sepa
rapidamente si una trama es para ella o no.

c
2003
GSyC

Redes: Nivel de Enlace

Protocolos de Nivel de Enlace en redes TCP/IP (cont.)

83

Tipo Indica el Protocolo encapsulado dentro del campo de Datos:


0x0800 datagrama IP
0x0806 paquete ARP (28 bytes de datos y 18 de relleno)
0x8035 paquete RARP (28 bytes de datos y 18 de relleno)
Datos Entre 46 y 1500 bytes.
Relleno La norma obliga a que toda trama sea 64 bytes, para poder
considerar que todas las tramas menores son resultado de transmisiones abortadas al detectar colisi
on. Por ello, si hay menos de 46 bytes
de datos, se utilizan estos bytes de relleno.
Retardo m
ax. de propagaci
on en 2,5 km, 4 repetidores: 25.6 s
Tiempo de Reacci
on: 25.6 x 2 = 51.2 s
Bits transmitidos en 51.2 s a 10 Mbps: 51,2 106 10 106 = 512
bits = 64 bytes.

c
2003
GSyC

Redes: Nivel de Enlace

Protocolos de Nivel de Enlace en redes TCP/IP (cont.)

84

CRC 32 bits de Control de Redundancia Cclica, para la detecci


on de
errores:
El transmisor calcula el CRC de los bits de datos, y lo coloca en
la trama.
El receptor calcula el CRC de los bits de datos de la trama, y comprueba que coincida con el CRC que viene en ella. Si no coincide,
los datos han sido modificados por ruido en el cable, y se descarta
la trama.

c
2003
GSyC

Redes: Nivel de Enlace

Protocolos de Nivel de Enlace en redes TCP/IP (cont.)

85

Fast Ethernet
Compatible con Ethernet (mismo formato de trama).
100 Mbps
100Base-TX: 2 pares UTP-5
100Base-T4: 4 pares UTP-3
100Base-FX: 2 fibras
opticas

c
2003
GSyC

Redes: Nivel de Enlace

Protocolos de Nivel de Enlace en redes TCP/IP (cont.)

86

PPP: Point to Point Protocol


Es un protocolo pensado para encapsular IP (nivel de red) sobre lnea
serie.
Esta dise
nado de forma que no s
olo puede encapsular IP, sino tambien
otros protocolos.
Se utiliza fundamentalmente para conectarse a Internet a traves de la
red telef
onica basica mediante m
odem.
Hist
oricamente se us
o primero SLIP (Serial Line IP), pero PPP es
mas completo. La principal diferencia de PPP con SLIP es que PPP
incluye detecci
on de errores de transmisi
on mediante CRC.
flag
7E

addr
FF

control
03

protocolo

datos

CRC

hasta 1500

c
2003
GSyC

flag
7E
1

n bytes

Redes: Nivel de Enlace

Protocolos de Nivel de Enlace en redes TCP/IP (cont.)

87

ADSL: Asymetric Digital Susbcriber Line


Una lnea telef
onica normal transmite voz: Una banda de 0-4kHz. En un par de
cobre cabe m
as, por lo que en la centralita se agrupan (multiplexan) varias
conversaciones (desplazadas en frecuencia) por un mismo cable. Las transmisiones mediante m
odem con PPP reciben el mismo trato.
Con ADSL el abonado contin
ua utilizando los primeros 4kHz para las llamadas
de voz, pero ahora ocupa m
as ancho de banda para la transmisi
on (simult
anea)
de datos. En la centralita se trata al abonado de forma diferente, separando los
4kHz por un lado y transmitiendo los datos de forma independiente.
Es asimetrico: se reserva m
as para recibir (256Kbps2Mbps) que para enviar
(128Kbps300Kbps). Ambas bandas est
an separadas.
Se transmite por modulaci
on multitono discreta (MDT).
ADSL es m
as bien un nivel fsico: como nivel de enlace puede utilizarse cualquier
de los usados en lneas punto a punto.

c
2003
GSyC

Redes: Nivel de Enlace

Dispositivos de interconexi
on de subredes

88

Dispositivos de interconexi
on de subredes
Para interconectar subredes pueden colocarse dispositivos muy diferentes
en prop
osito y funcionamiento:
repetidores (repeaters)
puentes (bridges)
encaminadores (routers)
concentradores (hubs)
conmutadores (switches)

c
2003
GSyC

Redes: Nivel de Enlace

Dispositivos de interconexi
on de subredes (cont.)

89

Repetidores
Copian se
nales electricas de un medio fsico de transmisi
on a otro
(trabajan en el nivel 1).
Permiten extender la longitud fsica de la subred
Aislan los fallos de diferentes segmentos de la subred

c
2003
GSyC

Redes: Nivel de Enlace

Dispositivos de interconexi
on de subredes (cont.)

90

Puentes
Interconectan dos LAN, pasando tramas de una a otra (trabajan en
el nivel 2).
Las maquinas de las dos subredes NO son conscientes de la presencia
del bridge.

c
2003
GSyC

Redes: Nivel de Enlace

Dispositivos de interconexi
on de subredes (cont.)

91

Encaminadores
Interconectan subredes distintas trabajando en el nivel de red. La mayor diferencia con los bridges es que los niveles de enlace de maquinas
de las subredes que interconectan SI son conscientes de su presencia.
Los estudiaremos con mas detalle en el tema siguiente.

c
2003
GSyC

Redes: Nivel de Enlace

Dispositivos de interconexi
on de subredes (cont.)

92

Concentradores
Ofrecen el servicio de un bus a topologas en estrella.
Su servicio es fundamentalmente de nivel 1: repiten la se
nal de una
boca a las otras
Puede incorporar cierta funcionalidad de nivel 2: en Ethernet, cuando
detectan se
nal por una boca, envan ruido por todas las demas para
que la vean las tarjetas, colisionen y reintente.
Reparten el ancho de banda disponible entre todas las bocas

c
2003
GSyC

Redes: Nivel de Enlace

Dispositivos de interconexi
on de subredes (cont.)

93

Conmutadores
Exteriormente muy parecidos a los concentradores, pero de comportamiento muy diferente
Almacenan internamente las tramas entrantes en buffers, del que en
paralelo van sacando tramas y reenviandolas por las bocas adecuadas
(trabajan en el nivel 2).
Pueden dar todo el ancho de banda a cada una de varias transmisiones
simultaneas entre bocas.
Para tecnologas compatibles (Ethernet/FastEthernet) pueden tener
bocas trabajando a distintas velocidades.
Reciben su nombre porque, para una transmisi
on entre dos bocas,
ofrecen un funcionamiento equivalente a conmutar para interconectarlas ofreciendo un u
nico canal directo e independiente de otras
transmisiones.
c
2003
GSyC

Redes: Nivel de Enlace

Dispositivos de interconexi
on de subredes (cont.)

94

Nivel de Red

c
2003
GSyC

Redes: Nivel de Red

Introducci
on

95

Introducci
on
El nivel de red se ocupa de que los paquetes que salen del transmisor
lleguen a su destino final, aunque el emisor y el receptor no esten adyacentes (conectados directamente al mismo medio de transmisi
on).
Esto normalmente requiere pasar a traves de nodos intermedios: encaminadores (routers). Es necesario elegir la mejor ruta a seguir.
RECORDATORIO: El nivel de enlace s
olo se ocupa de que las tramas
viajen entre maquinas adyacentes.

c
2003
GSyC

Redes: Nivel de Red

Misiones del Nivel de Red

96

Misiones del Nivel de Red


Encaminamiento de paquetes.
Asignaci
on de direcciones u
nicas a todas las maquinas de la red, independientes de la tecnologa de los niveles de enlace.
Interconexi
on en una misma red de subredes con distinto nivel de
enlace.
Control de congesti
on.

c
2003
GSyC

Redes: Nivel de Red

Tipos de Nivel de Red

97

Tipos de Nivel de Red


Seg
un haya o no conexiones de red:
No orientado a conexi
on
Orientado a conexi
on
Seg
un se encamine cada paquete por separado o no:
Basado en datagramas
Basado en ciruitos virtuales
Seg
un se ofrezca o no un servicio fiable:
Fiable
No fiable

c
2003
GSyC

Redes: Nivel de Red

Tipos de Nivel de Red (cont.)

98

Servicio No Orientado a Conexi


on
Cada vez que el nivel superior quiere enviar datos, se compone una
unidad de datos (paquete) con ellos y se enva. No hay relaci
on con
transmisiones previas o futuras al mismo destino
Servicio Orientado a Conexi
on
Antes de enviar el primer byte de datos, origen y destino mantienen un
dialogo inicial para establecer ciertas condiciones de la transferencia
de informaci
on, que se mantienen mientras dure esta transferencia

c
2003
GSyC

Redes: Nivel de Red

Tipos de Nivel de Red (cont.)

99

Servicio basado en Datagramas


La direcci
on de destino viaja en todos los paquetes de datos.
El encaminamiento de cada paquete es independiente, por lo que
varios paquetes enviados del mismo origen al mismo destino pueden
viajar por diferentes rutas (y, tal vez, llegar en desorden).
Servicio basado en Circuitos Virtuales
Al principio se establece un circuito virtual por el que viajaran todos
los paquetes de datos.
La direcci
on de destino viaja s
olo en los paquetes que establecen el
cirtuito virtual. Los paquetes con datos s
olo llevan un identificador
del circuito virtual al que pertenecen
Todos los paquetes pertenecientes a un mismo circuito virtual siguen
el mismo camino y llegan en orden.

c
2003
GSyC

Redes: Nivel de Red

Tipos de Nivel de Red (cont.)

100

Servicio basado en datagramas:


3

1
3

B
3

2
1

1
1

c
2003
GSyC

Redes: Nivel de Red

Tipos de Nivel de Red (cont.)

101

Servicio basado en circuitos virtuales:


3

B
3
2
1

E
3

c
2003
GSyC

Redes: Nivel de Red

Tipos de Nivel de Red (cont.)

102

Servicio Fiable:
Se garantiza al nivel superior que todos los paquetes llegan a su destino, y que el destino es capaz de reordenarlos si se desordenan en el
camino.
Para ello se numeran los paquetes, y se retransmiten los perdidos
Servicio No Fiable:
No se garantiza al nivel superior que todos los paquetes lleguen a su
destino: pueden perderse paquetes (tpicamente por congesti
on).
Alg
un nivel superior debera ser capaz de detectar y recuperarse de
estas perdidas, si la aplicaci
on lo requiere.

c
2003
GSyC

Redes: Nivel de Red

Tipos de Nivel de Red (cont.)

103

Todas las combinaciones de tipos de servicio de nivel de red son te


oricamente posibles, pero no todas se dan en la practica.
Las combinaciones mas frecuentes son:
Servicio Orientado a Conexi
on, basado en Circuitos Virtuales y Fiable
(ejemplo: X.25).
Servicio No Orientado a Conexi
on, basado en Datagramas y No Fiable
(ejemplo: IP).

c
2003
GSyC

Redes: Nivel de Red

Direcciones de Red

104

Direcciones de Red
Se necesita un mecanismo de identificaci
on unvoca de todas las maquinas
de la red, independientemente de la tecnologa del nivel de enlace de cada
una.
Existen distintos metodos de direccionamiento seg
un el tipo de redes.
Veremos mas adelante el formato de las direcciones del nivel de red IP.

c
2003
GSyC

Redes: Nivel de Red

Interconexi
on de subredes con distinto nivel de enlace

105

Interconexi
on de subredes con distinto nivel
de enlace
Dependiendo de la arquitectura de red que se trate, puede que se
desee integrar en una misma red a subredes con distinto nivel de
enlace.
Cuando as ocurre, es misi
on de nivel de red hacer esta integraci
on
Es necesario que el nivel de red del encaminador que une las subredes entienda los dos niveles de enlace. Puede tener que resolver
problemas de:
distintos tama
nos de las unidades de datos
distintas velocidades de las subredes

c
2003
GSyC

Redes: Nivel de Red

Interconexi
on de subredes con distinto nivel de enlace (cont.)

106

Ejemplo
Protocolo FTP
Cliente FTP

Servidor FTP

Protocolo TCP

TCP

TCP

router
IP

Driver Ethernet

Protocolo IP

Protocolo
Ethernet

Protocolo IP

IP

Driver Ethernet

Driver token ring

Protocolo
token ring

IP

Driver token ring

TOKEN RING
ETHERNET

c
2003
GSyC

Redes: Nivel de Red

Encaminamiento

107

Encaminamiento
El proceso mediante el cual se encuentra un camino entre dos puntos
cualesquiera de la red
Problemas a resolver: Que camino escoger? Existe alguno mas corto?
Que ocurre si un encaminador o un enlace intermedio se rompen? ...

c
2003
GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

108

Algoritmo de encaminamiento: Procedimiento por el cual los encaminadores (routers) alcanzan las decisiones de las mejores rutas para cada
destino.
Como parte del algoritmo de encaminamiento, normalmente los encaminadores tienen que enviarse entre s mensajes de control para conseguir
toda la informaci
on necesaria.
El resultado de los algoritmos de encaminamiento es generar en cada
encaminador su tabla de encaminamiento.
Tabla de encaminamiento: Tabla que consulta el encaminador cada vez
que recibe un paquete y tiene que encaminarlo. Esta tabla tiene esta forma:
Destino final

Encaminador vecino al que enviar el paquete

D1

V1

D2

V2

...

...

Muchas veces se utiliza el termino Protocolo de Encaminamiento en vez


de Algoritmo de Encaminamiento.
c
2003
GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

109

Objetivos de un algoritmo de encaminamiento


Minimizar el espacio de la tabla de encaminamiento para poder buscar
rapidamente y para tener menos informaci
on a intercambiar con otros
encaminadores
Minimizar el n
umero y frecuencia de mensajes de control
Robustez: evitar agujeros negros, evitar bucles, evitar oscilaciones en
las rutas
Generar caminos
optimos:
menor retardo de transito, o
camino mas corto (en funci
on de una cierta metrica en funci
on de
retardo, coste de los enlaces, . . . ), o
maxima utilizaci
on de la capacidad de la red

c
2003
GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

110

Algoritmo de inundaci
on
Es un algoritmo simple que a veces se utiliza cuando no hay ninguna informaci
on de encaminamiento disponible (al arrancar alg
un otro algoritmo):
1. Cada paquete recibido por un nodo es encaminado a todos los vecinos
(excepto al que lo envi
o).
2. Los paquetes van etiquetados y numerados.
3. Si un nodo recibe un paquete que ya ha encaminado, lo descarta.

c
2003
GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

111

Algoritmo de aprendizaje
Es un algoritmo simple, que mejora el de inundaci
on. Se utiliza tambien
en los bridges de nivel de enlace.
1. Cada nodo mantiene una tabla con entradas
(Destino, enlace por el que encamino)
que va actualizando seg
un los paquetes que va recibiendo.
2. Al recibir un paquete, se fija en el nodo origen y enlace por el que le
ha llegado, apuntando en la tabla que cuando ese nodo sea destino
de un paquete lo encaminara por ese enlace
3. Cuando para un destino no hay entrada en la tabla, se enva por
inundaci
on.

c
2003
GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

112

Algoritmo de Dijkstra
Es un algoritmo que encuentra caminos de distancia mnima de un nodo al
resto (por lo que cada nodo ejecuta el algoritmo). Requiere conocer todas las
distancias entre nodos adyacentes.
1.

Se trabaja con dos conjuntos de nodos:


P : Nodos con su encaminamiento ya resuelto (permanentes)
T : Nodos a
un no resueltos (tentativos)

2.

Inicialmente P s
olo contiene el nodo inicial

3.

Para cada nodo de T :


si no est
a directamente conectado a ning
un nodo de P , su distancia al
nodo inicial es infinta
en caso contrario, se calcula la menor entre la distancia calculada en un
paso anterior y las distancias directas entre el y los nodos de P

4.

El nodo de T de menor distancia se pasa a P . Si a


un quedan nodos en T ,
se vuelve al paso anterior.

c
2003
GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

B
2

7
2

E (, )

G (6, A)

(a)
B (2, A)

(b)
C (9, B)

E (4, B)

F (, )

B (2, A)

D (,)

H (, )

G (6, A)

F (6, E)

D (,1)

H (, )
(d)

E (4, B)
F (6, E)

H (9, G)
(e)

C (9, B)

G (5, E)

C (9, B)

G (5, E)

D (, )

H (, )

E (4, B)

(c)
B (2, A)

F (, )

4
G

C (, )

B (2, A)
3

C
3

113

B (2, A)
D (,)

C (9, B)

E (4, B)
F (6,E)

G (5, E)

D (,)

H (8, F)
(f)

Fig. 5-6. The first five steps used in computing the shortest
path from A to D. The arrows indicate the working node.
c
2003
GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

114

Algoritmos basados en Vectores de Distancias


El protocolo RIP (Routing Information Protocol), utilizado en Internet,
emplea esta tecnica.
1.

Cada nodo mantiene una tabla de encaminamiento con pares


(Destino, Nodo vecino por el que encamino), para todos los destinos de la
red.

2.

Cada nodo estima el retardo de sus paquetes a los nodos vecinos (enviando
peri
odicamente paquetes de sondeo).

3.

Cada nodo enva peri


odicamente a sus vecinos todos sus pares
(Destino, retardo estimado)

4.

Cada nodo estudia la informaci


on recibida de los vecinos para ver si puede
conseguir una ruta de menor retardo enviando a traves de otro de sus
vecinos, y actualiza sus tablas de encaminamiento consecuentemente

c
2003
GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

115

New estimated
delay from J
K
Line

Router
A

To
A
B
C
D
E
F
G
H
I
J
K
L


J
(a)

0
12
25
40
14
23
18
17
21
9
24
29
JA
delay
is
8

24
36
18
27
7
20
31
20
0
11
22
33
JI
delay
is
10

8
20
28
20
17
30
18
12
10
0
6
15


20
21
31
28
19
36
8
24
30
22
19
40
6
31
0
19
14
22
7
10
22
0
9
9
JH
JK
delay delay
is
is
12
6

A
A
I
H
I
I
H
H
I

K
K

New
routing
table
for J

Vectors received from


J's four neighbors


(b)

Fig. 5-10. (a) A subnet. (b) Input from A, I, H, K, and the new
routing table for J.
c
2003
GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

116

Problema: cuenta al infinito.


La informaci
on acerca de mejores rutas se propaga poco a poco, consiguiendose al cabo de un rato que todos los encaminadores tengan tablas
optimas

Pero las malas noticias (se cae un enlace o un encaminador) tardan en


llegar:
A

1
1
1
1

2
2
2

Initially
After 1 exchange
After 2 exchanges
After 3 exchanges
4 After 4 exchanges


3
3


(a)

B
1
3
3
5
5
7
7

2
2
4
4
6
6
8

..
.

D


3
3
3
5
5
7
7

4
4
4
4
6
6
8

Initially
After 1 exchange
After 2 exchanges
After 3 exchanges
After 4 exchanges
After 5 exchanges
After 6 exchanges

(b)

Fig. 5-11. The count-to-infinity problem.

c
2003
GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

117

Algoritmos basados en el Estado de Enlace


El protocolo OSPF (Open Shortest Path First), utilizado en Internet, emplea esta tecnica.
1.

Cada encaminador mide su distancia con cada uno de sus vecinos (enviando
paquetes de sondeo) y construye un paquete de estado de enlaces con esta
informaci
on.

2.

Cada encaminador enva perdi


odicamente el paquete de estado de enlaces a todos los encaminadores de la red. Estos mensajes se difunden por
inundaci
on.

3.

Cada encaminador, con la informaci


on recibida, conoce la topologa completa de la red y calcula el mejor camino a todos sus destinos (aplicando,
por ejemplo, el algoritmo de Dijkstra)

c
2003
GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

Link
B

2


A


4


D
1


State
C

Packets
E

F


Seq.
Age

Seq.
Age

Seq.
Age

Seq.
Age

Seq.
Age

Seq.
Age

B 4
E 5

A 4
C 2
F 6

B 2
D 3
E 1

C 3
F 7

A 5
C 1
F 8

B 6
D 7
E 8

E


118

(a)

(b)

Fig. 5-15. (a) A subnet. (b) The link state packets for this subnet.

c
2003
GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

119

Encaminamiento jer
arquico
Si la red es muy grande, las tablas de encaminamiento se hacen inmanejables:
se tarda mucho en calcular los caminos
optimos
se genera mucho tr
afico de control para conseguir difundir la informaci
on
necesaria para los algoritmos de encaminamiento
Soluci
on: Encaminamiento Jer
arquico:
Se divide la red en dominios
Dentro de cada dominio se encamina seg
un un algoritmo de los vistos
anteriormente
Los dominios est
an interconectados mediante pasarelas (gateways)
Las m
aquinas dentro de un dominio no conocen a las de otro
Los gateways s
olo conocen a otros gateways

c
2003
GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

Full table for 1A


Dest.
Region 1

Region 2

1A

Line

1B

2A 2B

1B
1C
2A
2B

1B
1C
1B
1B

1A
1C

2C

4A

3A


3B

4B

4C

5B

2D

Region 4

1B
1B
1C
1C

4A
4B
4C
5A
5B
5C
5D

1C
1C
1C
1C

5C

5A

(a)

1
1
2
3


Hierarchical table for 1A


Dest.

3
4
3
2

Line

Hops

1B
1C
1B
1C

1
1
2
2

4
5

1C
1C

1A
1B
1C
2

3
4

5D
5E
Region 5


Region 3

2C
2D
3A
3B

Hops

120

5E

3
4
4
4

1C
1B
1C

5
5
6


1C

(b)

(c)

Fig. 5-17. Hierarchical routing.


c
2003
GSyC

Redes: Nivel de Red

Control de Congesti
on

121

Control de Congesti
on
Un encaminador tiene varios enlaces de entrada y salida.
Puede ser que lleguen paquetes mas deprisa de lo que el encaminador
sea capaz de darles salida.
Si esta situacion es esporadica, se resuelva con buffers.
Los buffers son limitados: cuando se llenan se ha alcanzado la congesti
on
Congesti
on: cuando el trafico deseado/originado en los extremos es mayor
del que puede encaminar el nivel de red

c
2003
GSyC

Redes: Nivel de Red

Control de Congesti
on (cont.)

122

Medidas:
En redes basadas en circuitos virtuales, se puede hacer un control de
admisi
on: Al intentar establecer un nuevo circuito virtual, los encaminadores intermedios indican si tienen recursos (buffers) para que pase
por ellos.
En redes basadas en datagramas, los encaminadores suelen descartar
los paquetes que reciben y no les caben en sus buffers de salida.

c
2003
GSyC

Redes: Nivel de Red

Control de Congesti
on (cont.)

123

IP: Internet Protocol

c
2003
GSyC

Redes: IP: Internet Protocol

Introducci
on

124

Introducci
on
IP es un protocolo de Nivel de Red que ofrece un servicio de entrega de
mensajes (datagramas):
no orientado a conexi
on
no fiable
Dentro de un datagrama IP se encapsula una unidad de datos de uno de
los siguientes protocolos:
ICMP Internet Control Message Protocol
IGMP Internet Group Management Protocol
TCP Transmission Control Protocol
UDP User Datagram Protocol

c
2003
GSyC

Redes: IP: Internet Protocol

Datagramas IP

125

Datagramas IP
4
versin

8
longitud
cabecera

16

tipo de servicio(TOS)

tiempo de vida (TTL)

longitud total
flags
(3 bits)

identificacin

31

protocolo

offset de fragmentacin
checksum de la cabecera

direccin IP origen

cabecera

direccin IP destino
opciones (en su caso)

datos

c
2003
GSyC

Redes: IP: Internet Protocol

Datagramas IP (cont.)

126

versi
on Actualmente versi
on 4. La siguiente versi
on es IPv6.
longitud cabecera N
umero de palabras de 32 bits que ocupa la cabera.
Normalemente es 5 (20 bytes), cuando no hay opciones
TOS Se usan s
olo 4 bits para indicar tipo de servicio a ofrecer:
minimizar retardo
maximizar rendimiento
maximizar fiabilidad
minimizar coste econ
omico

c
2003
GSyC

Redes: IP: Internet Protocol

Datagramas IP (cont.)

127

longitud total En bytes. Tama


no maximo: 65535 bytes. Normalmente
es menor de 576 bytes. Dependiendo del nivel de enlace, cualquier
maquina puede necesitar fragmentar un datagrama IP al encaminarlo.
identificaci
on Diferente para cada datagrama que genera una maquina
(se va incrementando de 1 en 1). Distintos fragmentos del mismo
datagrama mantienen el mismo n
umero de identificaci
on.
flags Uno para indicar si este datagrama no puede fragmentarse, y otro
para indicar si hay mas fragmentos de este datagrama
offset de fragmentaci
on Generado al fragmentar un datagrama, le sirve al destino final para reensamblarlo.
TTL Indica el n
umero maximo de encaminadores que el datagrama puede
atravesar. Normalmente se coloca a 32
o 64. Cada encaminador lo
decrementa, y si alcanza 0 se descarta el datagrama, enviandose al
originador del datagrama un mensaje ICMP.

c
2003
GSyC

Redes: IP: Internet Protocol

Datagramas IP (cont.)

128

protocolo Indica si en el campo de datos va un paquete de ICMP, IGMP,


TCP o UDP.
checksum Calculado u
nicamente sobre la cabera del datagrama.
direcciones origen y destino Valores de 32 bits.
opciones Informaci
on opcional. No todas las maquinas y encaminadores
las soportan. El campo de opciones se rellena con ceros por la derecha
para asegurar un m
ultiplo de 32 bits. Ejemplos de opciones:
restricciones de seguridad
ruta recorrida
marca de tiempo
encaminamiento en origen

c
2003
GSyC

Redes: IP: Internet Protocol

Direcciones IP

129

Direcciones IP
Cada interfaz fsico conectado a la Internet tiene asignada una direcci
on
IP que resulta u
nica en toda la red.
Los 32 bits se suelen expresar en ((notaci
on decimal puntuada)): 212.128.4.4
El rango de direcciones se divide en 5 clases:
Clase

c
2003
GSyC

Rango

0.0.0.0 a 127.255.255.255

128.0.0.0 a 191.255.255.255

192.0.0.0 a 223.255.255.255

224.0.0.0 a 239.255.255.255

240.0.0.0 a 247.255.255.255

Redes: IP: Internet Protocol

Direcciones IP (cont.)

130

Los primeros bits de una direcci


on indican cual es su clase.
En cada clase, es distinto el n
umero de bits de red y el de bits de maquina.
7 bits
id red

Clase A

Clase B

Clase C

Clase D

Clase E

24 bits
id maquina
14 bits
id red

16 bits
id maquina
21 bits
id red

8 bits
id maquina
28 bits
id grupo multicast

27 bits
reservado para usos futuros

c
2003
GSyC

Redes: IP: Internet Protocol

Direcciones IP (cont.)

131

Tipos de direcciones IP
unicast Representan a una sola maquina
multicast Representan a un grupo de maquinas
broadcast Representan a todas las maquinas de una subred

c
2003
GSyC

Redes: IP: Internet Protocol

Direcciones IP (cont.)

132

Qui
en asigna direcciones IP?

Tres organismos regionales: ARIN (America), RIPE (Europa y Africa)


y
APIC (Asia).
RIPE delega en organismos regionales (normalmente por pases).
En Espa
na, el organismo es Red.es, Entidad P
ublica Empresarial adscrita
al Ministerio de Ciencia y Tecnologa.
Una organizaci
on adquiere una (o mas) direcciones de clase, y el administrador local de la organizaci
on reparte la direcci
on de clase entre todas
sus maquinas.
ICANN (Internet Corporation for Assigned Names and Numbers) es una
organizaci
on internacional creada en 1998 para coordinar todas las tareas
de asignaci
on de nombres y direcciones.

c
2003
GSyC

Redes: IP: Internet Protocol

Direcciones IP (cont.)

133

Subredes
En ocasiones, por razones organizativas o topol
ogicas, se utilizan algunos
bits de maquina como bits de subred.
Sobre todo con direcciones de clases A y B.
Dada una direcci
on de red otorgada a una organizaci
on, el administrador decidira si utilizara subredes, y el n
umero de bits de maquina que
utilizara para indicar la subred.

c
2003
GSyC

Redes: IP: Internet Protocol

Direcciones IP (cont.)

134

El n
umero de bits con el que se indica la subred se denota con una mascara
de subred: 32 bits, 1 para bits de red y subred, 0 para bits de maquina.
Ejemplos:
Direcci
on de clase

M
ascara

Subredes

163.117.0.0

255.255.255.0

163.117.0.0 163.117.0.255
163.117.1.0 163.117.1.255
...
163.117.254.0 163.117.254.255
163.117.255.0 163.117.255.255

193.147.71.0

255.255.255.128

193.147.71.0 193.147.71.127
193.147.71.128 193.147.71.255

Normalmente en cada subred se reservan:


la primera direcci
on (bits de m
aquina a cero) como direcci
on de la red
la u
ltima direcci
on (bits de m
aquina a uno) como direcci
on de broadcast.

c
2003
GSyC

Redes: IP: Internet Protocol

Encaminamiento

135

Encaminamiento
Cualquier maquina IP puede esta o no configurada como encaminador:
Si NO lo esta los datagramas IP que recibe que no son para ella, se
tiran.
Si lo esta, se tratan de encaminar.

c
2003
GSyC

Redes: IP: Internet Protocol

Encaminamiento (cont.)

136

Para encaminar, una maquina consultara su tabla de encaminamiento. En


ella, para enviar un datagrama a una cierta direcci
on IP destino, buscara por este orden:
1. Una entrada con una direcci
on IP de maquina igual a la buscada.
2. Una entrada con una direcci
on IP de red igual a la parte de red de la
buscada.
3. Una entrada por defecto (0.0.0.0).

c
2003
GSyC

Redes: IP: Internet Protocol

Encaminamiento (cont.)

137

Las tablas de encaminamiento tienen el aspecto:


% netstat -nr
Kernel IP routing table
Destination
Gateway
163.117.137.0
0.0.0.0
127.0.0.0
0.0.0.0
0.0.0.0
163.117.137.2

Genmask
255.255.255.0
255.0.0.0
0.0.0.0

Flags
U
U
UG

MSS
1500
3584
1500

Window
0
0
0

irtt
0
0
0

Iface
eth0
lo
eth0

U ruta utilizable
G ruta indirecta (pasarela)

c
2003
GSyC

Redes: IP: Internet Protocol

Encaminamiento (cont.)

138

CIDR
El mecanismo de las clases A, B y C se ha mostrado muy inflexible y ha
provocado:
Agotamiento de las direcciones de las clases A y B
Crecimiento enorme de las tablas de encaminamiento por el centro
de Internet
Soluci
on (mientras que se pasa a IPv6): CIDR (Classless Inter Domain
Routing ): Encaminamiento sin clases.

c
2003
GSyC

Redes: IP: Internet Protocol

Encaminamiento (cont.)

139

Con CIDR:
No se tiene en cuenta la clase de las direcciones
Nueva forma de indicar direcciones y mascaras mediante prefijos:
193.147.71.0/25
indicando que los 25 primeros bits son los significativos en la direcci
on
anterior (entra el primer bit del u
ltimo byte).
Las direcciones pasan a comprarse de esta manera.
Las tablas de encaminamiento se construyen y consultan de esta manera.

c
2003
GSyC

Redes: IP: Internet Protocol

ARP (Address Resolution Protocol)

140

ARP (Address Resolution Protocol)


El protocolo de resoluci
on de direcciones ARP proporciona una forma de
pasar de una direcci
on IP a una direcci
on Ethernet.
Cuando el nivel IP va a enviar un datagrama con una cierta direcci
on IP
de destino:
Si la direcci
on de destino es de la misma subred, esa maquina es
directamente a quien hay que enviar la trama Ethernet que contenga
el datagrama.
Si no, la tabla de encaminamiento da la direcci
on IP del siguiente
salto, que es el encaminador a quien hay que enviar la trama Ethernet
que contenga el datagrama.
En cualquiera de los dos casos, s
olo se conoce la direcci
on IP de una
maquina adyacente a la que pasar el datagrama, pero para formar la
trama Ethernet se necesita conocer la direcci
on Ethernet de destino.
c
2003
GSyC

Redes: IP: Internet Protocol

ARP (Address Resolution Protocol) (cont.)

141

Para conocer la direcci


on Ethernet de una maquina de la misma subred,
dada su direcci
on IP, una maquina hace lo siguiente:
1. Enva una trama Ethernet de broadcast consistente en una solicitud
ARP, conteniendo la direcci
on IP en cuesti
on.
2. Aquella maquina que reciba una solicitud ARP preguntando por su
propia direccion IP, contesta con una trama Ethernet dirigida a quien
hizo la pregunta, conteniendo una respuesta ARP indicando la direcci
on Ethernet pedida.
Cada maquina mantiene una cache de correspondencias direcciones IP a
direcciones Ethernet:
se guarda los resultados de las solicitudes que hace
aprende de todas las solicitudes de otras (aprovechando que las solicitudes son broadcast.
c
2003
GSyC

Redes: IP: Internet Protocol

ARP (Address Resolution Protocol) (cont.)

142

Formato del paquete de solicitud/respuesta de ARP:


ARP puede usarse en combinaci
on con otros protocolos de nivel de
red (no s
olo IP), por lo que el formato vara.
Formato para usar ARP con IP:
Solicitud/Respuesta

Eth. Or.

IP Or.

Eth. Dest.

IP Dest.

No hay que olvidar que el paquete de ARP viaja dentro de una trama
Ethernet (si es ese el nivel de enlace).
En una solicitud, los campos ((origen)) llevan los datos de la maquina
que pregunta, y de los campos ((destino)) s
olo va relleno IP Dest.,
ya que Eth. Dest. es justo lo que se pregunta
Al formar la respuesta, la maquina interrogada cambia los dos campos
((origen)) por los ((destino)), rellenando el que falta (que es su direcci
on
Ethernet pedida).

c
2003
GSyC

Redes: IP: Internet Protocol

ARP (Address Resolution Protocol) (cont.)

143

ARP gratuito: Una maquina puede enviar una solicitud ARP preguntando sobre su propia direcci
on IP. Prop
ositos:
detectar direcciones IP duplicadas
forzar a que todos actualicen la entrada de la cache correspondiente
ARP delegado (proxy ARP): Un encaminador puede contestar a una
solicitud ARP como si fuera la maquina destino, cuando esa maquina
destino es alcanzable a traves de dicho encaminador.

c
2003
GSyC

Redes: IP: Internet Protocol

RARP (Reverse Address Resolution Protocol)

144

RARP (Reverse Address Resolution Protocol)


En ocasiones es necesario un metodo para obtener la direcci
on IP de una
maquina a partir de su direcci
on Ethernet.
Ejemplo: Al arrancar una estaci
on sin disco, no puede tener en ning
un
fichero de configuraci
on su direcci
on IP. S
olo sabe que tiene una tarjeta
Ethernet en la que esta grabada su direcci
on Ethernet.
Mecanismo de RARP:
1. La maquina enva un broadcast de una solicitud RARP, indicando su
direcci
on Ethernet.
2. Alguna maquina de la subred le enviara una respuesta RARP indicandole cual es su direcci
on IP.

c
2003
GSyC

Redes: IP: Internet Protocol

RARP (Reverse Address Resolution Protocol) (cont.)

145

Lo habitual es tener una maquina en la subred que act


ue como servidor de RARP, manteniendo una tabla de correspondencias de direcciones
Ethernet a direcciones IP para todos los nodos de la subred.
Si, por razones de protecci
on frente a fallos, se colocan varios servidores
de RARP en la misma subred, el protocolo establece que se tomara s
olo
la primera respuesta RARP recibida por la maquina que lanzo la solicitud
RARP.
Alternativas a RARP: BOOTP (similar) y DHCP (mas complejo).

c
2003
GSyC

Redes: IP: Internet Protocol

ICMP (Internet Control Message Protocol)

146

ICMP (Internet Control Message Protocol)


Este protocolo se utiliza para interrogar y/o comunicar condiciones de
error entre maquinas.
Los mensajes ICMP se transmiten encapsulados en datagramas IP. Su
formato es:
0

16

31

cdigo

tipo

checksum de todo el mensaje ICMP

datos dependiendo de tipo ycdigo

c
2003
GSyC

Redes: IP: Internet Protocol

ICMP (Internet Control Message Protocol) (cont.)

147

Ejemplos de mensajes ICMP:

c
2003
GSyC

tipo

c
odigo

respuesta de eco

descripci
on

destino inalcanzable: red inalcanzable

destino inalcanzable: m
aquina inalcanzable

destino inalcanzable: puerto inalcanzable

solicitud de eco

11

tiempo excedido: TTL = 0

12

cabecera IP mal: falta una opci


on

13

solicitud de marca de tiempo

14

respuesta de marca de tiempo

Redes: IP: Internet Protocol

NAT (Network Address Translation)

148

NAT (Network Address Translation)


Existen unos rangos de direcciones IP privadas, reservadas para ambito local, y que no son utilizables globalmente en Internet:
10.0.0.010.255.255.255
172.16.0.0172.31.255.255
192.168.0.0192.168.255.255

Para paliar la escasez de direcciones, una organizaci


on puede usar
direcciones privadas internamente, y tener una sola direcci
on IP global
(p
ublica) en la maquina que da salida a Internet.
Esta maquina utiliza NAT para que los datagramas puedan entrar/salir
de/a las maquinas internas. Muy resumidamente lo que hace es cambiar las direcciones IP privadas de los datagramas por la suya p
ublica.

c
2003
GSyC

Redes: IP: Internet Protocol

Congesti
on en Internet

149

Congesti
on en Internet
El nivel de red (IP) ofrece un servicio basado en datagramas.
La principal fuente de perdidas de paquetes en Internet se debe a la congesti
on de encaminadores, que act
uan descartando paquetes.
IP no toma ninguna medida para prevenir o disminuir la congesti
on:
sera labor de protocolos de niveles superiores, en su caso.

c
2003
GSyC

Redes: IP: Internet Protocol

Congesti
on en Internet (cont.)

150

UDP:
User Datagram Protocol

c
2003
GSyC

Redes: UDP: User Datagram Protocol

Introducci
on

151

Introducci
on
UDP es un protocolo sencillo que implementa un nivel de transporte orientado a datagramas:
NO orientado a conexi
on.
NO fiable.
Los datagramas UDP se encapsulan dentro de la parte de datos de un
datagrama IP.
Una aplicaci
on que utilice UDP para transmitir datos, producira exactamente un datagrama UDP cada vez que la aplicaci
on quiera enviar datos.
Dicho datagrama UDP se encapsulara en un datagrama IP.
Si ese datagrama IP va a exceder el tama
no maximo de la unidad de datos
del nivel de enlace (ej: Trama Ethernet), se fragmentara.
c
2003
GSyC

Redes: UDP: User Datagram Protocol

Datagramas UDP

152

Datagramas UDP
0

16

31

nmero de puerto origen

nmero de puerto destino

longitud total

checksum de todo el datagrama UDP (opcional)

datos (en su caso)

La longitud del datagrama puede ser un n


umero impar de bytes.

c
2003
GSyC

Redes: UDP: User Datagram Protocol

Datagramas UDP (cont.)

153

Checksum
El checksum es sobre cabecera y datos. Es un campo opcional, aunque se
recomienda que siempre se utilice.
Se calcula sobre el datagrama UDP mas una pseudo-cabecera que se
coloca delante:
16

31

direccin IP de origen
direccin IP de destino
ceros

protocolo

longitud total (repetido)

nmero de puerto origen

nmero de puerto destino

longitud total

checksum de todo el datagrama UDP (opcional)

pseudo-cabecera

datos (en su caso)

byte de relleno (ceros)

c
2003
GSyC

Redes: UDP: User Datagram Protocol

Puertos

154

Puertos
En una maquina multiproceso, el nivel de transporte debe preocuparse de
saber a que proceso va destinado un datagrama UDP o segmento TCP
que acaba de llegar por la red.
Por ello, los procesos que usan la red lo hacen a traves de puertos.
Cada puerto del Nivel de Transporte proporciona a una aplicaci
on un punto
de acceso a la red de comunicaciones, con lo que esta puede dialogar con
otra aplicaci
on situada en un puerto de una maquina remota.

c
2003
GSyC

Redes: UDP: User Datagram Protocol

Puertos (cont.)

155

As, el Nivel de Transporte TCP/IP:


multiplexa las unidades de datos que envan las aplicaciones a traves
de los puertos, encapsulandolas en datagramas UDP o segmentos
TCP
demultiplexa los datagramas UDP y los segmentos TCP, pasando los
datos a las aplicaciones.
Los puertos se identifican por un n
umero de 16 bits. Los puertos UDP y
TCP se manejan por separado: el puerto 7 UDP y el puerto 7 TCP son
puertos distintos.

c
2003
GSyC

Redes: UDP: User Datagram Protocol

Puertos (cont.)

156

Los puertos menores que 1024 (puertos privilegiados) estan reservados y


asignados universalmente a aplicaciones de red conocidas.
En una maquina Unix esta asignaci
on esta en fichero /etc/services:
echo
echo
discard
discard
daytime
daytime
netstat
ftp-data
ftp
telnet
smtp
time
time
www
www

7/tcp
7/udp
9/tcp
9/udp
13/tcp
13/udp
15/tcp
20/tcp
21/tcp
23/tcp
25/tcp
37/tcp
37/udp
80/tcp
80/udp

sink null
sink null

# default ftp data port

mail
timserver
timserver
http
# WorldWideWeb HTTP
# HyperText Transfer Protocol

c
2003
GSyC

Redes: UDP: User Datagram Protocol

Puertos (cont.)

157

As, por ejemplo, un servidor de WWW es un proceso esperando peticiones en el puerto 80 de una maquina. Un navegador desde otra maquina
hara peticiones al puerto 80 del servidor, y escuchara las respuestas en un
puerto suyo no privilegiado.
En vez de tener un servidor escuchando en cada puerto, un s
olo proceso
(inetd) escucha en varios, y se encarga de arrancar el proceso adecuado
seg
un el puerto concreto por el que lleg
o la petici
on.
Ambos mecanismos conviven: inetd escucha en varios puertos, y en otros
(los mas frecuentemente utilizados) lo hace directamente el proceso involucrado.

c
2003
GSyC

Redes: UDP: User Datagram Protocol

Servicio dado por UDP

158

Servicio dado por UDP


El servicio ofrecido por UDP s
olo aumenta el ofrecido por IP en:
n
umeros de puerto
un checksum optativo
Por ello el servicio ofrecido es NO fiable, presentando problemas que las
aplicaciones pueden querer resolver.
pueden perderse datagramas
pueden duplicarse datagramas
pueden desordenarse datagramas
Pero es un protocolo muchsimo mas ligero que TCP, y en una red local
(hay CRC y no hay encaminadores) puede compensar.
c
2003
GSyC

Redes: UDP: User Datagram Protocol

Servicio dado por UDP (cont.)

159

TCP: Transmission
Control Protocol

c
2003
GSyC

Redes: TCP: Transmission Control Protocol

Introducci
on

160

Introducci
on
TCP (Transmission Control Protocol):
Protocolo de Transporte.
Ofrece un servicio orientado a conexi
on y fiable.
Unidad de datos: Segmento.
Se encapsula dentro de IP.
Ofrece servicio de puertos (como UDP).

c
2003
GSyC

Redes: TCP: Transmission Control Protocol

Servicio Orientado a Conexi


on

161

Servicio Orientado a Conexi


on
La transmisi
on de datos de nivel de transporte presenta las fases:
establecimiento de la conexi
on
intercambio de datos
liberaci
on de la conexi
on.
Peculiaridad: Ambos extremos pueden transmitir y recibir datos simultaneamente.
Los datos de la aplicaci
on son troceados en segmentos del tama
no
que TCP considera adecuado (diferente a UDP!).

c
2003
GSyC

Redes: TCP: Transmission Control Protocol

Servicio Fiable

162

Servicio Fiable

Este
es el primer nivel en el que se proporciona fiabilidad.
Objeto: Recuperarse de perdidas y desorden producido por IP.
Idea basica:
Los segmentos con datos llevan un n
umero de secuencia.
El receptor de los datos debe mandar asentimientos (ACKs).
Para cada segmento con datos transmitido se espera un plazo de
tiempo a que llegue su asentimiento. Si vence el plazo, se retransmite el segmento.
Para asentimientos y retransmisiones se utiliza un protocolo de
ventana.
El receptor reordena segmentos y descarta los duplicados.

c
2003
GSyC

Redes: TCP: Transmission Control Protocol

Segmentos TCP

163

Segmentos TCP
0

16
nmero de puerto origen

31
nmero de puerto destino

nmero de secuencia

longitud
cabecera

reseervado
(6 bits)

URG
ACK
PSH
RST
SYN
FIN

nmero de asentimiento

checksum de todo el segmento TCP

tamao de la ventana
puntero de datos urgentes

opciones (en su caso)

datos (en su caso)

c
2003
GSyC

Redes: TCP: Transmission Control Protocol

Segmentos TCP (cont.)

164

Puertos: TCP los asocia con la aplicaci


on origen y destino del segmento (como UDP).
Longitud cabecera: Tama
no de la cabecera en palabras de 32 bits. Lo
normal es 5 (20 bytes).
Checksum: Sobre pseudo-cabecera, cabecera y datos, calculado como
en UDP. Si no se pasa la comprobaci
on, se descarta el datagrama.

c
2003
GSyC

Redes: TCP: Transmission Control Protocol

N
umeros de secuencia

165

N
umeros de secuencia
Cada segmento con datos lleva un n
umero de secuencia
El n
umero de secuencia numera bytes, y NO segmentos: identifica el
n
umero de orden del primer byte de datos que lleva el segmento.
Al establecerse una conexi
on se elige un n
umero de secuencia inicial
para que no se confundan segmentos a
un en transito procedentes de
conexiones diferentes.

c
2003
GSyC

Redes: TCP: Transmission Control Protocol

N
umeros de asentimiento

166

N
umeros de asentimiento
El receptor de segmentos de datos tiene que asentir los que le llegan
correctamente.
NO es necesario enviar un asentimiento para cada segmento con datos
que se recibe. Se puede esperar a asentir varios segmentos de una sola
vez.
El n
umero de asentimiento indica el n
umero de secuencia del pr
oximo
byte que se espera recibir, asintiendose de esta manera hasta el byte
anterior incluido.
No hay rechazo selectivo: No hay forma en que el receptor le diga al
emisor que tiene los bytes del 300 al 700 excepto el trozo 400-500.

c
2003
GSyC

Redes: TCP: Transmission Control Protocol

N
umeros de asentimiento (cont.)

167

Cada segmento tiene un campo para el n


umero de asentimiento: siempre que se manda un segmento se aprovecha para asentir los datos
que este enviando el otro extremo:
Si el lado que enva un asentimiento tiene datos que enviar al otro
lado, puede aprovechar un segmento para las dos cosas: enva el
asentimiento ((arrecucas)) de los datos (piggybacking ).
Si el lado que enva un asentimiento no tienen datos que enviar al
otro lado, enva un segmento s
olo con la cabecera, sin datos.
Importante: Cada lado de la conexi
on utiliza sus n
umeros de secuencia (partiendo de su n
umero de secuencia inicial) y asiente los que
esta usando el otro extremo.

c
2003
GSyC

Redes: TCP: Transmission Control Protocol

N
umeros de asentimiento (cont.)

168

Ventana Deslizante
Se usa un protocolo de ventana para coordinar el envo de segmentos
y asentimientos.
El receptor indica en el campo de tama
no de ventana el n
umero
de bytes (a partir del indicado en el n
umero de asentimiento) que
esta dispuesto a recibir del emisor.
El emisor puede transmitir esos bytes aunque no reciba asentimientos,
pero una vez transmitidos tendra que parar hasta que sepa mas del
receptor.
Seg
un el receptor va recibiendo datos, puede ir asintiendo y deslizando
la ventana para aceptar mas.
Como ambos extremos pueden enviar datos, hay dos ventanas diferentes, una para cada sentido.

c
2003
GSyC

Redes: TCP: Transmission Control Protocol

N
umeros de asentimiento (cont.)

169

Ejemplo:
El emisor recibe un segmento con:
N
umero de asentimiento: 5
Tama
no de ventana: 8.

El emisor ha transmitido los bytes hasta el 9 (incluido), sin recibir


nada del receptor.
En ese momento la situaci
on es la siguiente:
ventana

enviados y
asentidos

enviados y
no asentidos

10

11

12 13 14 15 16

pendientes
para enviar

sin aceptar de
la aplicacin

El tama
no de la ventana es variable dinamicamente (pero deberan
mantenerse las ((antiguas promesas))).
El tama
no de la ventana permite tambien hacer control de flujo extremo a extremo.
c
2003
GSyC

Redes: TCP: Transmission Control Protocol

Establecimiento de conexi
on

170

Establecimiento de conexi
on
A

segmento con bit SYN


nm.secuencia = x
segmento con bit SYN
nm.secuencia = y
nm.asentimiento = x+1
segmento
nm.asentimiento = y+1

Es necesario ponerse de acuerdo en el n


umero de secuencia inicial de los dos
sentidos de transmisi
on (((triple apret
on de manos)), three-way handshake).

c
2003
GSyC

Redes: TCP: Transmission Control Protocol

Liberaci
on de conexi
on

171

Liberaci
on de conexi
on
A

segmento con bit FIN

segmento con asentimiento del FIN


segmento con bit FIN

segmento con asentimiento del FIN

Como la conexi
on permite la transmisi
on bidireccional de datos (full duplex), es
necesario cerrar cada sentido de la transmisi
on (por separado).
c
2003
GSyC

Redes: TCP: Transmission Control Protocol

Liberaci
on de conexi
on (cont.)

172

Plazos para asentimiento


Cuando se enva un segmento, se arranca un temporizador para esperar
su asentimiento. Problema: Que plazo le ponemos?
Se utiliza un algoritmo adaptativo para optimizar lo mas posible la transmisi
on de datos.
Para cada segmento se calcula el tiempo de ronda (round-trip time, RTT):
tiempo entre que se enva el segmento y se recibe el asentimiento. Se va
tomando su media en el tiempo.
Normalmente se elige un plazo de dos veces el tiempo de ronda medio,
teniendo cuidado con la varianza.

c
2003
GSyC

Redes: TCP: Transmission Control Protocol

Liberaci
on de conexi
on (cont.)

173

Entrega de datos a la aplicaci


on
Cuando llega un segmento con la bandera PSH activada se esta indicando
al receptor que pase esos datos a la aplicaci
on.
No s
olo se pasa ese segmento, sino tambien todos los datos asentidos que
el receptor tuviera pendientes de entregar a la aplicaci
on.

c
2003
GSyC

Redes: TCP: Transmission Control Protocol

175
Ejemplo de conexi
on

$#:$9
JF8
&
#;T
#;!$#;8=$<B U!3<
:$#

@! B
/C$< "&>$#;$!;A3# G&;$!A 
:K9G&

T 
M@
 6S4

C$# G&F
   3!EA 
 @

 D



@;   $$#
 C
@3#"B
=
< $!A:$#8   654

3RQ "&>3#FJF
 %$!;A
8@

M@8 P&;OM
 
;@8 N
8B3
J

B $!;A
@M
$#;   $$#; L
 %$!A 
#!

 K
 

!B

'   $:$#JF$#:$9 8I$; H?>$#


=<# 4

Ejemplo de conexi
on

HR
N8;>W3<:K9V&<
/B3<
B Q "&%>$#;8F
 %$!;A
8@

M@8 P&;:O$#8
%B

@3#!"; "?>%$#
=
< 8

  $:$#8;$#:$9
87 654

"R8 P&;O \ #3 ;&9 P&3#8


;W3<B8
N  6]4
+\ 5 * 2X  [5 2 Z* XY

* /2 

 /



   "&$#%"!
 

 
 


.


 
 


.


 
 





 -,+*)  
 




 
$(

   &"$#%!"
 



 /




 
 

* 2  
 


.
  "&3#"!
 

  




 


 



 




  "&%$#!"
 

  




 


 



 


'

  "&%$#!"
 

  




 


 



 




  "&%$#!"
 

  




 


 



 




  "&%$#!"
 



 /




 
 

+*)  
 
$(


  "&%$#!"
 

Redes: TCP: Transmission Control Protocol

c
2003
GSyC

Redes: TCP: Transmission Control Protocol


c
2003
GSyC

174
Liberaci
on de conexi
on (cont.)

Datos urgentes

Pueden enviarse datos denominados urgentes (o ((fuera de banda))), que


el receptor debe pasar inmediatamente a la aplicaci
on, lo antes posible.
Ejemplo: Envo de un CTRL-C.

Se indican mediante el empleo de la bandera URG: Cuando esta levantada,


el campo puntero a datos urgentes apunta al u
ltimo byte de datos urgentes
del segmento.

No esta especificado d
onde empiezan los datos urgentes. Se deja a la
aplicaci
on.

Ejemplo de conexi
on (cont.)

176

DNS: Domain Name


System

c
2003
GSyC

Redes: DNS: Domain Name System

Por qu
e necesitamos el DNS?

177

Por qu
e necesitamos el DNS?
Los humanos preferimos nombres a direcciones IP
(ej: cacharro.escet.urjc.es frente a 212.128.1.44)
Los n
umeros IP estan ligados a la estructura de la red, pero eso no tiene por que reflejarse en el nombrado de maquinas (ej: www.debian.org,
www.de.debian.org.
Los n
umeros IP estan ligados a maquinas concretas, puede ser conveniente un nivel de abstracci
on no ligado a maquinas (ej: www.urjc.es
puede cambiar de maquina, y de IP, pero no de nombre).
Es necesario establecer una correspondencia entre nombres y direcciones IP.

c
2003
GSyC

Redes: DNS: Domain Name System

Un poco de historia

178

Un poco de historia
Al principio (a
nos 70), un u
nico fichero (HOSTS.TXT) con informaci
on de todas las maquinas de ARPANET.
Se obtena peri
odicamente por FTP. Gesti
on completamente manual.
Con el crecimiento de ARPANET se hizo inmanejable.
1984, Paul Mockapetris: primeras RFC que describen el Domain Name
System.
Especificaciones actuales: RFC 1034 y 1035.

c
2003
GSyC

Redes: DNS: Domain Name System

Estructura de nombrado

179

Estructura de nombrado
Se descentraliza el control consiguiendose una estructura jerarquica y facilmente ampliable.
Jerarqua de dominios:
Dominio raz (root o .). Gestionado por ICANN (Internet Corporation for Assigned Names and Numbers).
Dominios de nivel maximo:
Tradicionales: com, edu, gov, mil, net, org, int, c
odigos ISO de
paises (uk, mx, ar, de, es. . . )
En negociaci
on por ICANN en noviembre de 2000: biz, info, name,
pro, aero, coop, museum
Dominios secundarios, terciarios, . . .
c
2003
GSyC

Redes: DNS: Domain Name System

Estructura de nombrado (cont.)

180

Arbol
de dominios

com edu gov mil org net es uk ...


sun mit
eng lcs
theory

acm ieee

urjc

escet rct
gsyc

c
2003
GSyC

Redes: DNS: Domain Name System

Estructura de nombrado (cont.)

181

Dominios directo e inverso


Dominio directo: proporciona para cada nombre una direcci
on IP.
Dominio inverso: proporciona para cada direcci
on IP un nombre.
El dominio inverso tambien se conoce como dominio in-addr.arpa.
Los elementos del dominio inverso son las direcciones de red construidas invirtiendo los n
umeros que la componen, y terminando en
in-addr.arpa
Ejemplo: La red 138.117.0.0 es el dominio inverso 117.138.inaddr.arpa

c
2003
GSyC

Redes: DNS: Domain Name System

Estructura de gesti
on

182

Estructura de gesti
on
Cada vez que se delega un subdominio se delega tambien su gesti
on (incluyendo su posible subdivisi
on sucesiva).
Si el gestor del dominio es delega un subdominio urjc, el responsable
de urjc manejara la correspondencia de nombres y direcciones de todas
las maquinas de su dominio.
Si el responsable de urjc lo cree conveniente, puede delegar un subdominio escet, sin que por ello tenga que informar al gestor de es.
Hay dominios (ejemplo: com, org) gestionados por varios registrars en
regimen de competencia.

c
2003
GSyC

Redes: DNS: Domain Name System

Consulta de una direcci


on para un nombre

183

Consulta de una direcci


on para un nombre
Cada aplicaci
on va enlazada con una biblioteca de consulta al DNS (resolver), con llamadas como gethostbyname().
La consulta normalmente sigue los pasos siguientes (en una maquina
Unix):
Consulta en un fichero (/etc/hosts).
Consulta en un servidor de DNS (su direcci
on IP esta en /etc/resolv.conf).

c
2003
GSyC

Redes: DNS: Domain Name System

Esquema de funcionamiento del DNS

184

Esquema de funcionamiento del DNS


Se trata de mantener la informaci
on como una base de datos distribuida.
Las consultas al DNS se realizan en modo cliente-servidor:
Cuando una aplicaci
on (cliente) quiere resolver un nombre (que no
aparece en el fichero local), pregunta a un servidor de DNS
El servidor investiga por su cuenta y devuelve la direcci
on IP pedida.

c
2003
GSyC

Redes: DNS: Domain Name System

Esquema de funcionamiento del DNS (cont.)

185

Consulta a un servidor

telnet gsyc.escet.urjc.es


Servidor DNS

gsyc.escet.urjc.es?

telnet

resolver

UDP(gsyc.escet.urjc.es?)

UDP(212.128.1.45)

212.128.1.45

c
2003
GSyC

Redes: DNS: Domain Name System

Esquema de funcionamiento del DNS (cont.)

186

Funcionamiento b
asico (sin caches)
Cuando un servidor recibe una consulta para resolver un nombre (ejemplo:
nic.funet.fi):
1. Comprueba si el nombre pertenece a alguno de los dominios que sirve
(si es que sirve alguno). Si lo encuentra busca en su mapa y devuelve
la direcci
on IP correspondiente.
2. En caso contrario pregunta a un servidor del dominio raz, que le
contestara con la direcci
on IP de un servidor del dominio fi.
3. Luego regunta a ese, obteniendo la direcci
on IP de un servidor de
funet.fi.
4. Ahora se pregunta a este u
ltimo, que ya tiene en sus mapas la direcci
on
IP pedida.
(Cada servidor puede servir uno o varios dominios, o ninguno)

c
2003
GSyC

Redes: DNS: Domain Name System

Esquema de funcionamiento del DNS (cont.)

187

gsyc.escet.urjc.es.?
pregunta a es
gsyc.escet.urjc.es.?

es
urjc
escet rct
gsyc

pregunta a urjc
gsyc.escet.urjc.es.?
pregunta a escet
gsyc.escet.urjc.es.?
212.128.1.45

212.128.1.45
gsyc.escet.urjc.es?
telnet

c
2003
GSyC

resolver

Redes: DNS: Domain Name System

Esquema de funcionamiento del DNS (cont.)

188

Consultas a un servidor
Por lo tanto, los servidores de DNS responden dos tipos de consultas:
Recursivas: Las que le hace un cliente, que obligan al servidor a hacer
las consultas necesarias para encontrar la direcci
on pedida.
Iterativas: Las que le hace otro servidor, a las que responden con la
direcci
on IP del servidor del siguiente dominio en la jerarqua.
Siempre que pueden, los servidores usan datos de su cache.

c
2003
GSyC

Redes: DNS: Domain Name System

Tipos de servidores

189

Tipos de servidores
Seg
un c
omo son utilizados:
Reenviador (forwarder). Los servidores lo usan antes de consultar al
resto del DNS. Utilizados por servidores para centralizar las consultas.
Evitan, por ejemplo, el acceso directo a servidores raz.
Esclavo. Utilizados por servidores en lugar del resto del DNS (por
ejemplo, si hay cortafuegos).

c
2003
GSyC

Redes: DNS: Domain Name System

Tipos de servidores (cont.)

190

Seg
un c
omo reciben los datos:
Primario. Tiene la informaci
on actualizada.
Secundario. Copia del primario.
Cache. Guardan datos sobre los que han consultado.
Seg
un el lugar de procedencia del dato:
Con autoridad (authoritative). Tiene el mapa original para el
dominio consultado (primario o secundario).
Sin autoridad. Tiene el dato en su cache.

c
2003
GSyC

Redes: DNS: Domain Name System

Mapas de dominio

191

Mapas de dominio
Cada mapa de dominio incluye un conjunto de registros de recurso (RR):
Son la unidad de consulta.
Cada registro de recurso tiene 5 campos:
Nombre de dominio.
Tiempo de vida. Tiempo de validez del registro en las caches.
Clase. En Internet siempre IN.
Tipo. Define el tipo del registro.
Valor. Contenido que depende del campo tipo.

c
2003
GSyC

Redes: DNS: Domain Name System

Mapas de dominio (cont.)

192

Tipos de registro
SOA: Da informaci
on de gesti
on una zona del dominio (servidor de
nombres primario, administrador, etc.).
NS: Identifica al servidor de nombres.
A: Define una direcci
on IP de la estaci
on (puede tener varias).
MX: Define el servidor de correo del dominio.
CNAME: Permite asociar un alias a un nombre de dominio.
HINFO: Da informaci
on del tipo de maquina y sistema operativo.
TXT: Da informaci
on del dominio.

c
2003
GSyC

Redes: DNS: Domain Name System

Mapas de dominio (cont.)

urjc.es.

172800

IN

172800
172800
www
172800
venus
172800
escet
172800
gsyc.escet 172800

IN
IN
IN
IN
IN
IN

c
2003
GSyC

193

Ejemplo
SOA
venus.urjc.es.
root.venus.urjc.es. (
2000030702 ; N
umero de serie
86400
; Refresco
7200
; Reintento
2592000
; Expiraci
on
172800 )
; Ttl
NS
venus.urjc.es.
MX
venus.urjc.es.
CNAME venus.urjc.es.
A
193.147.184.8
NS
gsyc.escet.urjc.es
A
212.128.1.45

Redes: DNS: Domain Name System

Formato de menaje DNS

194

Formato de menaje DNS


Paquetes iguales para consultas y respuestas.
Cabecera fija de 12 bytes:
Identificaci
on (2 bytes). Correspondencia consultas-respuestas.
Banderas (2 bytes). Consulta/respuesta, truncamiento, tipo de petici
on (directa, inversa, estado), respuesta con autoridad, petici
on recursiva, error.
N
umero de consultas (2 bytes).
N
umero de RRs de respuesta (2 bytes).
N
umero de RRs de autoridad (2 bytes).
N
umero de otros RRs (2 bytes).

c
2003
GSyC

Redes: DNS: Domain Name System

Formato de menaje DNS (cont.)

195

Datos, tama
no variable:
Consultas.
Respuestas.
Autoridad.
Mas informaci
on.

c
2003
GSyC

Redes: DNS: Domain Name System

Formato de menaje DNS (cont.)

196

Consulta
Cada consulta de un mensaje DNS (normalmente s
olo una) tiene:
Nombre de la petici
on: secuencia de etiquetas (tama
no, 1 byte, cadena, hasta 63 bytes), terminada por la etiqueta root (byte de tama
no
a 0).
Tipo de consulta (2 bytes). A, NS, PTR, etc.
Clase de consulta (2 bytes). Normalmente IN.

c
2003
GSyC

Redes: DNS: Domain Name System

Formato de menaje DNS (cont.)

197

Registro de recurso
Cada RR de un mensaje DNS tiene:
Nombre de dominio. Mismo formato que nombre de petici
on.
Tipo (2 bytes).
Clase (2 bytes).
Tiempo de vida (4 bytes).
Tama
no de los datos del recurso (2 bytes).
Datos del recurso (valor).

c
2003
GSyC

Redes: DNS: Domain Name System

UDP o TCP?

198

UDP o TCP?
Se usa el puerto 53 de TCP y UDP para el servidor de DNS.
Normalmente el resolver hace consultas usando UDP.
Normalmente el servidor responde usando el protocolo de la consulta.
Si la respuesta UDP es de mas de 512 bytes (truncada), el resolver al
repite usando TCP.
Las transferencias de zona de primario a secundario usan TCP.

c
2003
GSyC

Redes: DNS: Domain Name System

Referencias

199

Referencias
DNS: The Domain Name System, captulo 14 de TCP/IP Illustrated, Volume 1, por W. Richard Stevens, Addison Wesley, 1994.
FAQ de comp.protocols.tcp-ip.domains:
http://www.intac.com/~cdp/cptd-faq/
ICANN: http://www.icann.net/

c
2003
GSyC

Redes: DNS: Domain Name System

Referencias (cont.)

200

HTTP

c
2003
GSyC

Redes: HTTP

Qu
e es HTTP?

201

Qu
e es HTTP?
Hypertext Transfer Protocol.
Es el protocolo mas habitual para servir paginas web.
Protocolo cliente-servidor.
Normalmente funciona sobre TCP, con el servidor (normalmente) en
el puerto 80.
No olvidar que HTTP puede servir tanto contenido estatico (ficheros)
como dinamico (el resultado de ejecutar programas en el servidor).

c
2003
GSyC

Redes: HTTP

Interacci
on cliente-servidor en HTTP

202

Interacci
on cliente-servidor en HTTP
El cliente abre una conexi
on TCP con el servidor.
El cliente enva un mensaje de petici
on.
El servidor responde con un mensaje de respuesta.
El servidor cierra la conexi
on TCP.
HTTP no mantiene estado (no hay informaci
on sobre las conexiones entre
una petici
on y otra).

c
2003
GSyC

Redes: HTTP

Interacci
on cliente-servidor en HTTP (cont.)

203

Formato de los mensajes


Mensajes legibles (compuestos por lneas de texto casi en ingles):
Lnea inicial (diferente para petici
on y respuesta), terminada en CRLF.
Cero o mas lneas de cabecera, cada una terminada en CRLF:
Cabecera-X: Valor-X CRLF
Lnea en blanco (CRLF).
Cuerpo del mensaje (opcional).
Ademas de CRLF, deberan tratarse adecuadamente lneas terminadas en
LF.

c
2003
GSyC

Redes: HTTP

Interacci
on cliente-servidor en HTTP (cont.)

204

Lnea inicial (peticiones)


Especifica el recurso que se solicita, y que se quiere de el:
Nombre de metodo (GET, POST, HEAD).
Camino de acceso (path)
Versi
on de HTTP (siempre HTTP/x.x).
Ejemplo:
GET /directorio/otro/fichero.html HTTP/1.0

c
2003
GSyC

Redes: HTTP

Interacci
on cliente-servidor en HTTP (cont.)

205

Lnea inicial (respuestas)


Proporciona informaci
on de estado:
Versi
on de HTTP (siempre HTTP/x.x).
C
odigo numerico de estado.
C
odigo de estado en ingles.
C
odigos de estado:
1xx: Mensaje informativo.
2xx: Resultado exitoso (200 OK).
3xx: Redireccion del cliente a otra URL (301 Moved permanently, 303
See Other).
4xx: Error en el lado del cliente (404 Not Found).
5xx: Error en el lado del servidor (500 Server Error).
c
2003
GSyC

Redes: HTTP

Interacci
on cliente-servidor en HTTP (cont.)

206

Lneas de cabecera
Mismo formato que las cabeceras de correo y News (RFC 822, secci
on 3).
HTTP/1.0: 16 cabeceras, ninguna obligatoria.
HTTP/1.1: 46 cabeceras, Host: obligatoria en las peticiones (usada
por los virtual hosts).
Se recomienda incluir en las peticiones al menos:
From: (direcci
on de correo).
User-Agent: (ej: Mozilla/4.7).
Se recomienda incluir en las respuestas al menos:
Server: (ej: Apache/1.3).
Last-Modified: (fecha GMT, usado por las caches).

c
2003
GSyC

Redes: HTTP

Interacci
on cliente-servidor en HTTP (cont.)

207

Cuerpo del mensaje


En las respuestas contiene el recurso pedido o texto explicando un
error.
En las peticiones contiene datos de usuario o ficheros para subir.
Si hay cuerpo, normalmente hay algunas cabeceras relativas a el:
Content-Type: tipo MIME de los datos (ej: text/html, image/png).
Content-Length: n
umero de bytes en el cuerpo.

c
2003
GSyC

Redes: HTTP

Interacci
on cliente-servidor en HTTP (cont.)

208

Ejemplo (GET, petici


on)
GET /~jgb/test.html HTTP/1.0\r\n
Connection: Keep-Alive\r\n
User-Agent: Mozilla/4.07 [en] (X11; I; Linux 2.2.15 i586; Nav) ...
Host: gsyc.escet.urjc.es\r\n
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, i ...
Accept-Encoding: gzip\r\n
Accept-Language: en\r\n
Accept-Charset: iso-8859-1,*,utf-8\r\n
\r\n

c
2003
GSyC

Redes: HTTP

Interacci
on cliente-servidor en HTTP (cont.)

209

Ejemplo (GET, respuesta)


HTTP/1.1 200 OK\r\n
Date: Tue, 23 Jan 2001 12:44:27 GMT\r\n
Server: Apache/1.3.9 (Unix) Debian/GNU\r\n
Last-Modified: Tue, 23 Jan 2001 12:39:45 GMT\r\n
ETag: "19e89f-22-3a6d7b91"\r\n
Accept-Ranges: bytes\r\n
Content-Length: 34\r\n
Keep-Alive: timeout=15, max=100\r\n
Connection: Keep-Alive\r\n
Content-Type: text/html\r\n
\r\n
<html>\nEsto es una prueba\n</html>

c
2003
GSyC

>.

Redes: HTTP

Interacci
on cliente-servidor en HTTP (cont.)

210

M
etodos HEAD y POST
HEAD:
Igual que un GET, pero s
olo pide las cabeceras.
Se pueden consultar las caractersticas sin bajarse el fichero.
POST:
Hay datos en el cuerpo (que se suben al servidor).
El URI pedido es normalmente el programa que trata los datos
enviados.
Tambien se pueden enviar datos con un GET (codificandolos en el
URL pedido).

c
2003
GSyC

Redes: HTTP

Interacci
on cliente-servidor en HTTP (cont.)

211

Ejemplo (POST, petici


on)
POST /comments.pl HTTP/1.0\r\n
From: jgb@gsyc.escet.urjc.es\r\n
User-Agent: MegaNavigator/0.0\r\n
Content-Type: application/x-www-form-urlencoded\r\n
Content-Length: 18\r\n
\r\n
section=all&rank=10

c
2003
GSyC

Redes: HTTP

Representante (proxy) HTTP

212

Representante (proxy) HTTP


Intermediario entre un cliente y un servidor.
Es por lo tanto a la vez cliente y servidor.
Usos: cortafuegos, caches, etc.
Las peticiones a una proxy incluyen la URL completa en la primera
lnea del mensaje de petici
on.
Pueden encadenarse varias proxies.
Ejemplo de peticion a una proxy:
GET http://gsyc.escet.urjc.es/index.html HTTP/1.0

c
2003
GSyC

Redes: HTTP

HTTP 1.1

213

HTTP 1.1
Es una evoluci
on de HTTP 1.0.
Facilidades especficas para maquinas virtuales (virtual hosts).
Codificaci
on por racimos, para respuestas dinamicas (envo antes de
saber el tama
no total).
Uso de conexiones persistentes que permiten varias transacciones sucesivas (se evitan establecimientos de conexi
on).
Facilidades especficas para caches (If-Modified-Since, If-UnmodifiedSince).

c
2003
GSyC

Redes: HTTP

HTTP 1.1 (cont.)

214

Virtual hosts
Para tener virtual hosts es preciso indicar en cada petici
on a cual de
ellos se dirige.
Por eso es obligatorio el uso de la cabecera Host.
Si un servidor recibe una petici
on sin Host, debe devolver un mensaje de error (400 Bad Request).
Los servidores tambien han de aceptar primeras lneas de petici
on con
URLs completas, en lugar de caminos (sera lo habitual en versiones
futuras).
Ejemplo de peticion mnima:
GET /dir/index.html HTTP/1.1\r\n
Host: gsyc.escet.urjc.es\r\n
\r\n
c
2003
GSyC

Redes: HTTP

HTTP 1.1 (cont.)

215

Codificaci
on por racimos
Cabecera Transfer-Encoding: chunked.
Usada por un servidor que quiere enviar trozos que ya tiene listos
antes de tener todo.
El cuerpo de cada mensaje por racimos contiene una serie de racimos, cada uno:
Comienza por el tama
no de los datos del racimo, en hexadecimal,
seguidos por ;, quizas algo mas, y CRLF.
Los datos, terminados por CRLF.
Terminado por una lnea con 0CRLF.
Seguido de footers (como cabeceras).
Terminado en una lnea en blanco (CRLF).

c
2003
GSyC

Redes: HTTP

HTTP 1.1 (cont.)

216

Codificaci
on por racimos
HTTP/1.1 200 OK\r\n
Date: Fri, 27 Jan 2001 23:00:00 GMT\r\n
Content-Type: text/plain\r\n
Transfer-Encoding: chunked\r\n
\r\n
1b; datos que se pueden ignorar\r\n
abcdefghijklmnopqrstuvwxyz\r\n
10\r\n
1234567890abcdefg\r\n
0\r\n
a-footer: su-valor\r\n
another-footer: otro-valor\r\n
\r\n

c
2003
GSyC

Redes: HTTP

HTTP 1.1 (cont.)

217

Conexiones persistentes
Permiten que varias peticiones y respuestas sean transferidas usando
la misma conexi
on TCP.
Se usan por omisi
on en HTTP 1.1.
Si se enva la cabecera Connection: close, el servidor cerrara la
conexi
on despues de cada respuesta.
Un servidor puede cerrar la conexi
on antes de enviar todas las respuestas.
El servidor cerrara las conexiones inactivas pasado un plazo (ej: 10
segundos).

c
2003
GSyC

Redes: HTTP

HTTP 1.1 (cont.)

218

Caches
Los servidores deben responder siempre con la cabecera Date (con
la fecha actual, en GMT).
Los servidores han de entender If-Modified-Since y If-UnmodifiedSince (los clientes pueden usarlos).
Respuesta a If-Modified-Since: 304 Not Modified.
Respuesta a If-Unmodified-Since: 412 Precondition Failed.

c
2003
GSyC

Redes: HTTP

HTTPS

219

HTTPS
HTTP sobre SSL (secure socket layer).
La conexi
on TCP esta cifrada, de forma que una tercera parte no
puede conocer su contenido.
Permite enviar datos sensibles a un servidor web, y recibirlos de el.
Necesita de otros mecanismos (certificados, etc.) para ofrecer un nivel
de seguridad razonable.
Las URLs son https://.

c
2003
GSyC

Redes: HTTP

Galletitas (cookies)

220

Galletitas (cookies)
Sirven para asociar estado a un conjunto de transacciones (peticiones/respuesta).
Normalmente son datos asociados a un usuario (carro de la compra,
cuenta de usuario, etc.)
Las galletitas son generadas por los servidores, y presentadas por los
clientes en ciertas ocasiones.
Especificaci
on original de Netscape, luego propuesta como RFC 2109.

c
2003
GSyC

Redes: HTTP

Galletitas (cookies) (cont.)

221

Cabecera Set-Cookie
Cabecera puesta por un servidor cuando quiere enviar una galletita.
Formato:
Set-Cookie:
Nombre de la galletita y valor (nombre=valor).
Fecha de caducidad (expires=fecha).
Dominio, camino (domain=dominio path=camino). Para decidir mas tarde si se enva una galletita o no.
secure: si esta marcada as, s
olo se transmitira sobre canales
seguros (HTTPS).
Ejemplo:
Set-Cookie: unnombre=unvalor; expires=Mon, 30-Jan-2001 12:35:23 GMT;
path=/dir; domain=mi.dominio.com; secure
c
2003
GSyC

Redes: HTTP

Galletitas (cookies) (cont.)

222

Cabecera Cookie
Cuando un cliente pide una URL, buscara en su lista de galletitas si
hay alguna que tenga que enviar (mirando su domain por la cola,
y su path por su cabeza).
Enviara todas las galletitas en una u
nica cabecera (Cookie).
Dentro de esta cabecera, las galletitas se ordenaran de mas a menos
especficas (seg
un su path).
No se consideran las galletitas con caducidad en el pasado (de hecho,
se eliminan).
Ejemplo:
Cookie: unnombre=unvalor; otronombre=otrovalor

c
2003
GSyC

Redes: HTTP

Referencias

223

Referencias
Definition of URL/URI syntax, RFC 2396.
http://www.cis.ohio-state.edu/htbin/rfc/rfc2396.html
HTTP Made Really Easy. A Practical Guide to Writing Clients and
Servers, por James Marshall.
http://www.jmarshall.com/easy/http/
HTTP 1.0, RFC 1945.
http://www.cis.ohio-state.edu/htbin/rfc/rfc1945.html
HTTP 1.1, RFC 2068.
http://www.cis.ohio-state.edu/htbin/rfc/rfc2068.html

c
2003
GSyC

Redes: HTTP

Referencias

224

Referencias
An Overview of SHTTP, por Adam Shostack.
hturlhttp://www.homeport.org/ adam/shttp.html
Persistent Client State. HTTP Cookies, Netscape.
http://www.netscape.com/newsref/std/cookie_spec.html
HTTP State Management Mechanism, RFC 2109.
http://www.cis.ohio-state.edu/htbin/rfc/rfc2109.html

c
2003
GSyC

Redes: HTTP

Referencias (cont.)

225

Correo electr
onico

c
2003
GSyC

Redes: Correo electr


onico

Algo de terminologa

226

Algo de terminologa
Agente de usuario (UA, user agent): programa que se usa como interfaz de usuario para el correo electr
onico (leer, componer, enviar,
gestionar, etc.)
Agente de transferencia de mensajes (MTA, message transfer agent):
se encarga del encamiento y almacenamiento de los mensajes de correo hasta su destino final.
Protocolo de acceso al correo electr
onico: lo usa un UA para acceder
a un MTA, y recoger el correo para un usuario. Ejemplo: POP, IMAP.
Protocolo de envo de correo electr
onico: lo usa un MTA para enviar
correo a otro MTA (tambien puede usarlo un UA para enviarlo a un
MTA). Ejemplo: SMTP.

c
2003
GSyC

Redes: Correo electr


onico

Generalidades

227

Generalidades
Composici
on de un mensaje
Todo mensaje consta de 2 partes:
Sobre: Cabeceras estandarizadas para identificar el/los destinatarios/remitentes del mensaje...
Permiten que el mensaje llegue
Contenido: El mensaje propiamente dicho.
La RFC822 solo admite texto NVTASCII (Network Virtual Terminal ASCII ).
Para otros tipos: codificadores de binarios (uuencode) y sobre todo
extensiones al mensaje (MIME, RFC1341 )

c
2003
GSyC

Redes: Correo electr


onico

Generalidades (cont.)

228

Cabeceras
Le dicen al MTA que debe hacer con el correo.
From: Direcci
on de origen
To: Direcci
on/direcciones de destino
CC: Con copia a. . .
BCC: Con copia ciega a. . .
Subject: Tema sobre el que versa la carta
Date: Fecha en que fue enviada
Received: Por d
onde ha pasado la carta
Message-id: Identificador del mensaje

c
2003
GSyC

Redes: Correo electr


onico

Generalidades (cont.)

229

Direcciones de correo
Dan la informaci
on necesaria para enviar/recibir un mensaje.
Indican ad
ondeva/ded
ondeviene, pero no por d
onde ha de pasar.
Formato Internet:
id_usuario@m
aquina.dominio
O bien, gracias a las clausulas MX de DNS:
id_usuario@dominio

c
2003
GSyC

Redes: Correo electr


onico

MIME

230

MIME
Las RFC 2045 2049 extienden el contenido de los mensajes de correo
para que puedan adjuntarse datos genericos (attachments).
Multimedia Internet Mail Extensions define 5 cabeceras
MIME-version:
Content-Description:
Content-Id:
Content-Transfer-Encoding
Content-Type:
Hay 8 tipos: Text, Image, Audio, Video, Application, Message, Model
y Multipart.
varios subtipos: Text: html, plain o richtext; Image: gif, jpeg; . . .

c
2003
GSyC

Redes: Correo electr


onico

MIME (cont.)

231

El Content-Type se utiliza para saber c


omo tratar en el destino los datos
(con que aplicaci
on).
El Content-Transfer-Encoding se utiliza para saber c
omo codificar para
transmitir los datos por la red y descodificar los datos transmitidos.
base 64 (ASCII armor) para binarios:
grupos de 24 bits se rompen en 4x6 bits.
Cada caracter de 6 bits se cuantifica en binario y se manda en ASCII
( el 0 va como una A, el 1 como B. . . ). Se rellena con = al final.
quoted-printable-encoding para textos con acentos: codifica los caracteres por encima del 127 con un caracter = y dos dgitos hexadecimales.
7bit, 8bit, binary. . .

c
2003
GSyC

Redes: Correo electr


onico

El protocolo SMTP

232

El protocolo SMTP

usuario

agente de
usuario
(UA)

cola de correo
saliente

agente de
transferencia de
mensajes
(MTA)

remitente

conexin TCP

Puerto 25/TCP

usuario

agente de
usuario
(UA)

buzones
de los usuarios

agente de
transferencia de
mensajes
(MTA)

destinatario

c
2003
GSyC

Redes: Correo electr


onico

El protocolo SMTP (cont.)

233

Simple Mail Transfer Protocol


Define los comandos que se emplean para comunicarse con/desde un
MTA.
C
omo? Conexi
on al puerto tcp/25 y envo de
ordenes.
Los mensajes estaban limitados a 64K y haba problemas de timeouts,
por lo que la RFC 1425 define ESMTP (EHLO...)

c
2003
GSyC

Redes: Correo electr


onico

El protocolo SMTP (cont.)

234

(Telnet pantuflo.escet.urjc.es 25)


Connecting to pantuflo.escet.urjc.es (ether)...
220 pantuflo.escet.urjc.es
Sendmail SMI-8.6/SMI-SVR4 ready at Mon, 7 Sept 1998
>>> HELO a202e12.escet.urjc.es
250 pantuflo.escet.urjc.es
Hello a01-unix [192.2.3.14], pleased to meet you
>>> MAIL From:<alumno@a202e12.escet.urjc.es>
250 <alumno@a202e12.escet.urjc.es>... Sender ok
>>> RCPT To:<jcenteno@pantuflo.escet.urjc.es>
250 <jcenteno@pantuflo.escet.urjc.es>... Recipient ok
(Pueden ir varias RCPT seguidas)
>>> DATA
354 Enter mail, end with "." on a line by itself
Subject: Ejemplo
Texto del mail
.
250 MAA29247 Message accepted for delivery
>>> QUIT
221 pantuflo.escet.urjc.es closing connection
c
2003
GSyC

Redes: Correo electr


onico

Recepci
on de correo de un MTA

235

Recepci
on de correo de un MTA
Los usuarios no tienen que estar permanentemente conectados a la
red ni compartir el directorio donde el MTA almacena los mensajes.
Puede usarse un modelo cliente/servidor, siguiendo un protocolo que
permita recuperar los mensajes del buz
on (y borrarlos o dejarlos) para
que el UA pueda presentarlos en pantalla.
Hay varios protocolos para esto:
POP2, POP3: Post Office Protocol. (RFC-1725,1734,1082)
IMAP: Internet Message Access Protocol (RFC-1203; 1730 al 1733)

c
2003
GSyC

Redes: Correo electr


onico

Referencias

236

Referencias
SMTP: Simple Mail Transfer Protocol, captulo 28 de TCP/IP
Illustrated, Volume 1, por W. Richard Stevens, Addison Wesley,
1994.
SMTP. Simple Mail Transfer Protocol. A tutorial, por Ben-Dayan
Maor, Ben-Shimon Sonny, Efron Niv, Kuperman Idan y Meller Tal.
http://raddist.rad.com/networks/1998/smtp/smtp.htm
POP vs. IMAP, por Barnard College Online Tutorials.
http://www.barnard.edu/at/training/eudora/imap.html

c
2003
GSyC

Redes: Correo electr


onico

Referencias (cont.)

237

Resumen de RFCs principales


RFC821: protocolo SMTP
RFC822: formato de mensajes e interpretaci
on de cabeceras
RFC974: gesti
on de clausulas MX del DNS
RFC1425: protocolo ESMTP (Extended SMTP)
RFC1341: MIME: Multipurpose Internet Mail Extensions

c
2003
GSyC

Redes: Correo electr


onico

También podría gustarte