Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccion A Las Redes
Introduccion A Las Redes
Introduccion A Las Redes
Octubre 2003
Introducci
on a las
Redes de Ordenadores
c
2003
GSyC
Redes
c
2003
GSyC
Redes: Introducci
on a las Redes de Ordenadores
c
2003
GSyC
Redes: Introducci
on a las Redes de Ordenadores
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
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
Maquina A
Nivel 4
Maquina B
Protocolo del Nivel 4
Nivel 4
interfaz 3/4
Nivel 3
Nivel 3
interfaz 2/3
Nivel 2
Nivel 2
interfaz 1/2
Nivel 1
Nivel 1
Medio de transmision
c
2003
GSyC
Redes: Introducci
on a las Redes de Ordenadores
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
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
11
Protocolo Nivel N
c
2003
GSyC
Redes: Introducci
on a las Redes de Ordenadores
12
Protocolo Nivel N
c
2003
GSyC
Redes: Introducci
on a las Redes de Ordenadores
13
Protocolo Nivel N
c
2003
GSyC
Redes: Introducci
on a las Redes de Ordenadores
14
Protocolo Nivel N
c
2003
GSyC
Redes: Introducci
on a las Redes de Ordenadores
15
Protocolo Nivel N
c
2003
GSyC
Redes: Introducci
on a las Redes de Ordenadores
16
Protocolo Nivel N
c
2003
GSyC
Redes: Introducci
on a las Redes de Ordenadores
17
Protocolo Nivel N
c
2003
GSyC
Redes: Introducci
on a las Redes de Ordenadores
18
Protocolo Nivel N
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
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
Aplicacion
Presentacion
Sesion
Transporte
Red
Enlace
Fisico
Medio de transmision
c
2003
GSyC
Redes: Introducci
on a las Redes de Ordenadores
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
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
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
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
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
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
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
29
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
31
La pila TCP/IP
Nivel de Aplicaci
on
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
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
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
c
2003
GSyC
Redes: Nivel F
sico
Medios de Transmisi
on (cont.)
39
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
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
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
c
2003
GSyC
48
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
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
51
c
2003
GSyC
52
c
2003
GSyC
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
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
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
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
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
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
59
c
2003
GSyC
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
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
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
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
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
Detecci
on de errores y retransmisi
on (cont.)
65
c
2003
GSyC
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
Recuperaci
on de p
erdidas y/o duplicados (cont.)
67
c
2003
GSyC
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
Recuperaci
on de p
erdidas y/o duplicados (cont.)
Emisor
tiempo
69
Receptor
dato-1
Plazo
dato-1
Plazo
ACK
c
2003
GSyC
Recuperaci
on de p
erdidas y/o duplicados (cont.)
70
c
2003
GSyC
Recuperaci
on de p
erdidas y/o duplicados (cont.)
Emisor
71
Receptor
tiempo
dato-1
Plazo
ACK
dato-1
Plazo
ACK
c
2003
GSyC
Recuperaci
on de p
erdidas y/o duplicados (cont.)
Emisor
72
Receptor
tiempo
dato-1
Plazo
ACK
dato-1
Plazo
ACK
c
2003
GSyC
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
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
dato-3
dato-4
dato-5
c
2003
GSyC
Recuperaci
on de p
erdidas y/o duplicados (cont.)
75
Receptor
dato-1
tiempo
dato-2
dato-3
dato-4
dato-5
dato-6
nack-3
dato-3
dato-7
dato-8
c
2003
GSyC
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
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
78
c
2003
GSyC
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
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
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
82
c
2003
GSyC
83
c
2003
GSyC
84
c
2003
GSyC
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
86
addr
FF
control
03
protocolo
datos
CRC
hasta 1500
c
2003
GSyC
flag
7E
1
n bytes
87
c
2003
GSyC
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
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
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
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
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
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
Dispositivos de interconexi
on de subredes (cont.)
94
Nivel de Red
c
2003
GSyC
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
96
c
2003
GSyC
97
c
2003
GSyC
98
c
2003
GSyC
99
c
2003
GSyC
100
1
3
B
3
2
1
1
1
c
2003
GSyC
101
B
3
2
1
E
3
c
2003
GSyC
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
103
c
2003
GSyC
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
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
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
Protocolo
token ring
IP
TOKEN RING
ETHERNET
c
2003
GSyC
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
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
D1
V1
D2
V2
...
...
Encaminamiento (cont.)
109
c
2003
GSyC
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
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
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.
2.
Inicialmente P s
olo contiene el nodo inicial
3.
4.
c
2003
GSyC
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
Encaminamiento (cont.)
114
2.
Cada nodo estima el retardo de sus paquetes a los nodos vecinos (enviando
peri
odicamente paquetes de sondeo).
3.
4.
c
2003
GSyC
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
(b)
Fig. 5-10. (a) A subnet. (b) Input from A, I, H, K, and the new
routing table for J.
c
2003
GSyC
Encaminamiento (cont.)
116
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)
c
2003
GSyC
Encaminamiento (cont.)
117
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.
3.
c
2003
GSyC
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
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
Encaminamiento (cont.)
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
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)
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
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
Control de Congesti
on (cont.)
123
c
2003
GSyC
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
Datagramas IP
125
Datagramas IP
4
versin
8
longitud
cabecera
16
tipo de servicio(TOS)
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
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
Datagramas IP (cont.)
127
c
2003
GSyC
Datagramas IP (cont.)
128
c
2003
GSyC
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
Direcciones IP (cont.)
130
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
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
Direcciones IP (cont.)
132
Qui
en asigna direcciones IP?
c
2003
GSyC
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
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
c
2003
GSyC
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
Encaminamiento (cont.)
136
c
2003
GSyC
Encaminamiento (cont.)
137
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
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
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
140
141
142
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
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
144
c
2003
GSyC
145
c
2003
GSyC
146
16
31
cdigo
tipo
c
2003
GSyC
147
c
2003
GSyC
tipo
c
odigo
respuesta de eco
descripci
on
destino inalcanzable: m
aquina inalcanzable
solicitud de eco
11
12
13
14
148
c
2003
GSyC
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
Congesti
on en Internet (cont.)
150
UDP:
User Datagram Protocol
c
2003
GSyC
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
Datagramas UDP
152
Datagramas UDP
0
16
31
longitud total
c
2003
GSyC
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
pseudo-cabecera
c
2003
GSyC
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
Puertos (cont.)
155
c
2003
GSyC
Puertos (cont.)
156
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
mail
timserver
timserver
http
# WorldWideWeb HTTP
# HyperText Transfer Protocol
c
2003
GSyC
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
158
159
TCP: Transmission
Control Protocol
c
2003
GSyC
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
161
c
2003
GSyC
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
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
tamao de la ventana
puntero de datos urgentes
c
2003
GSyC
164
c
2003
GSyC
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
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
N
umeros de asentimiento (cont.)
167
c
2003
GSyC
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
N
umeros de asentimiento (cont.)
169
Ejemplo:
El emisor recibe un segmento con:
N
umero de asentimiento: 5
Tama
no de ventana: 8.
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
Establecimiento de conexi
on
170
Establecimiento de conexi
on
A
c
2003
GSyC
Liberaci
on de conexi
on
171
Liberaci
on de conexi
on
A
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
Liberaci
on de conexi
on (cont.)
172
c
2003
GSyC
Liberaci
on de conexi
on (cont.)
173
c
2003
GSyC
175
Ejemplo de conexi
on
$#:$9
JF8
&
#;T
#;!$#;8=$<BU!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
;@8N
8B3
J
B $!;A
@M
$#; $$#; L
%$!A
#!
K
!B
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
* /2
/
"&$#%"!
.
.
-,+*)
$(
&"$#%!"
/
* 2
.
"&3#"!
"&%$#!"
'
"&%$#!"
"&%$#!"
"&%$#!"
/
+*)
$(
"&%$#!"
c
2003
GSyC
174
Liberaci
on de conexi
on (cont.)
Datos urgentes
No esta especificado d
onde empiezan los datos urgentes. Se deja a la
aplicaci
on.
Ejemplo de conexi
on (cont.)
176
c
2003
GSyC
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
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
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
180
Arbol
de dominios
acm ieee
urjc
escet rct
gsyc
c
2003
GSyC
181
c
2003
GSyC
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
183
c
2003
GSyC
184
c
2003
GSyC
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
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
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
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
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
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
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
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
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
194
c
2003
GSyC
195
Datos, tama
no variable:
Consultas.
Respuestas.
Autoridad.
Mas informaci
on.
c
2003
GSyC
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
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
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
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
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
c
2003
GSyC
Redes: HTTP
Interacci
on cliente-servidor en HTTP (cont.)
204
c
2003
GSyC
Redes: HTTP
Interacci
on cliente-servidor en HTTP (cont.)
205
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
c
2003
GSyC
Redes: HTTP
Interacci
on cliente-servidor en HTTP (cont.)
208
c
2003
GSyC
Redes: HTTP
Interacci
on cliente-servidor en HTTP (cont.)
209
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
c
2003
GSyC
Redes: HTTP
212
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
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
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
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
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
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
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
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
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
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
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
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
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
MIME (cont.)
231
c
2003
GSyC
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
233
c
2003
GSyC
234
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
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
Referencias (cont.)
237
c
2003
GSyC