Search for in Google by Dino

Google Custom Search

viernes, 1 de diciembre de 2006

ADMINISTRACION DE REDES III

H0l@ amigos,

Les entrego la III parte del curso de Administracion de redes. Ahi si me van a perdonar pero luego lo Organizo, adelantenle una miradita!!! XD


Protocolos de Nivel de Enlace en redes
TCP/IP
Los m´as habituales:
Ethernet
Fast Ethernet
PPP
c

Protocolos de Nivel de Enlace en redes TCP/IP (cont.) 71
Ethernet
Norma originalmente establecida por Xerox, DEC e Intel.
Pensada para medios compartidos con acceso mediante CSMA/CD
Hasta 10 Mbps
Medios f´ısicos:
• Cable coaxial grueso (Thicknet): 10Base5, topolog´ıa en bus.
• Cable coaxial fino (Thinnet): 10Base2, topolog´ıa en bus.
• Par trenzado: 10Base-T, topolog´ıa en estrella.
• Fibra ´optica: 10Base-F, topolog´ıa en estrella
Nivel F´ısico: C´odigo Machester, niveles de +0.85V y –0.85V.
Acceso al Medio: CSMA/CD
c

Protocolos de Nivel de Enlace en redes TCP/IP (cont.) 72
10BaseT:
Cable UTP-3 ´o UTP-5 (Unshielded Twisted Pair ): 4 Pares trenzados,
no blindados, categor´ıa 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 dem´as. 10 Mbps entre todas las bocas.
A veces se usa un conmutador (switch): Reenv´ıa s´olo a la boca a la
que se conecta el destinatario. 10 Mbps por boca y sentido, varias
transmisiones a la vez.
Longitud m´axima hasta el concentrador: 100 metros



Direcciones destino y origen 6 bytes.
Si todos los bits de destino son 1, la trama ser´a entregada a todas
las estaciones de la subred (omnienv´ıo 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 m´aquinas (multienv´ıo o multicast).
Si el bit 46 de una direcci´on est´a a 1, la direcci´on es de ´ambito
mundial, asignada de forma ´unica. Si est´a a 0, es de ´ambito local,
relativo a esa subred. En ambos casos son direcciones unienv´ıo o
unicast.
La direcci´on de destino va delante para que una estaci´on sepa
r´apidamente si una trama es para ella o no.
c

Protocolos de Nivel de Enlace en redes TCP/IP (cont.) 75
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•10−6×10•106 = 512
bits = 64 bytes.
c

Protocolos de Nivel de Enlace en redes TCP/IP (cont.) 76
CRC 32 bits de Control de Redundancia C´ıclica, 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

Protocolos de Nivel de Enlace en redes TCP/IP (cont.) 77
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

Protocolos de Nivel de Enlace en redes TCP/IP (cont.) 78
PPP: Point to Point Protocol
Es un protocolo pensado para encapsular IP (nivel de red) sobre l´ınea
serie.
Est´a dise˜nado de forma que no s´olo puede encapsular IP, sino tambi´en
otros protocolos.
Se utiliza fundamentalmente para conectarse a Internet a trav´es de la
red telef´onica b´asica mediante m´odem.
Hist´oricamente se us´o primero SLIP (Serial Line IP), pero PPP es
m´as completo. La principal diferencia de PPP con SLIP es que PPP
incluye detecci´on de errores de transmisi´on mediante CRC.



ADSL: Asymetric Digital Susbcriber Line
Una l´ınea 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 asim´etrico: se reserva m´as para recibir (256Kbps–2Mbps) que para enviar
(128Kbps–300Kbps). Ambas bandas est´an separadas.
Se transmite por modulaci´on multitono discreta (MDT).
ADSL es m´as bien un nivel f´ısico: como nivel de enlace puede utilizarse cualquier
de los usados en l´ıneas punto a punto.
c

Dispositivos de interconexi´on de subredes 80
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

Dispositivos de interconexi´on de subredes (cont.) 81
Repetidores
Copian se˜nales el´ectricas de un medio f´ısico de transmisi´on a otro
(trabajan en el nivel 1).
Permiten extender la longitud f´ısica de la subred
Aislan los fallos de diferentes segmentos de la subred
c

Dispositivos de interconexi´on de subredes (cont.) 82
Puentes
Interconectan dos LAN, pasando tramas de una a otra (trabajan en
el nivel 2).
Las m´aquinas de las dos subredes NO son conscientes de la presencia
del bridge.
c

Dispositivos de interconexi´on de subredes (cont.) 83
Encaminadores
Interconectan subredes distintas trabajando en el nivel de red. La mayor
diferencia con los bridges es que los niveles de enlace de m´aquinas
de las subredes que interconectan S´I son conscientes de su presencia.
Los estudiaremos con m´as detalle en el tema siguiente.
c

Dispositivos de interconexi´on de subredes (cont.) 84
Concentradores
Ofrecen el servicio de un bus a topolog´ıas 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, env´ıan ruido por todas las dem´as para
que la vean las tarjetas, colisionen y reintente.
Reparten el ancho de banda disponible entre todas las bocas
c

Dispositivos de interconexi´on de subredes (cont.) 85
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 reenvi´andolas por las bocas adecuadas
(trabajan en el nivel 2).
Pueden dar todo el ancho de banda a cada una de varias transmisiones
simult´aneas entre bocas.
Para tecnolog´ıas 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 ´unico canal directo e independiente de otras
transmisiones.
c

Dispositivos

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 est´en “adyacentes”
(conectados directamente al mismo medio de transmisi´on).
Esto normalmente requiere pasar a trav´es 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 m´aquinas “adyacentes”.
c
de Redes de Ordenadores: Nivel de Red
Misiones del Nivel de Red 88
Misiones del Nivel de Red
Encaminamiento de paquetes.
Asignaci´on de direcciones ´unicas a todas las m´aquinas de la red, independientes
de la tecnolog´ıa de los niveles de enlace.
Interconexi´on en una misma red de subredes con distinto nivel de
enlace.
Control de congesti´on.
c
de Redes de Ordenadores: Nivel de Red
Tipos de Nivel de Red 89
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
de Redes de Ordenadores: Nivel de Red
Tipos de Nivel de Red (cont.) 90
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 env´ıa. 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
di´alogo inicial para establecer ciertas condiciones de la transferencia
de informaci´on, que se mantienen mientras dure esta transferencia
c
de Redes de Ordenadores: Nivel de Red
Tipos de Nivel de Red (cont.) 91
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 viajar´an 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





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 (t´ıpicamente por congesti´on).
Alg´un nivel superior deber´a ser capaz de detectar y recuperarse de
estas p´erdidas, si la aplicaci´on lo requiere.
c
de Redes de Ordenadores: Nivel de Red
Tipos de Nivel de Red (cont.) 95
Todas las combinaciones de tipos de servicio de nivel de red son te´oricamente
posibles, pero no todas se dan en la pr´actica.
Las combinaciones m´as 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
de Redes de Ordenadores: Nivel de Red
Direcciones de Red 96
Direcciones de Red
Se necesita un mecanismo de identificaci´on un´ıvoca de todas las m´aquinas
de la red, independientemente de la tecnolog´ıa del nivel de enlace de cada
una.
Existen distintos m´etodos de direccionamiento seg´un el tipo de redes.
Veremos m´as adelante el formato de las direcciones del nivel de red IP.
c
de Redes de Ordenadores: Nivel de Red
Interconexi´on de subredes con distinto nivel de enlace 97
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
de Redes de Ordenadores: Nivel de Red
Interconexi´on de subredes con distinto nivel de enlace (cont.)


Encaminamiento
El proceso mediante el cu´al se encuentra un camino entre dos puntos
cualesquiera de la red
Problemas a resolver: ¿Qu´e camino escoger? ¿Existe alguno m´as corto?
¿Qu´e ocurre si un encaminador o un enlace intermedio se rompen? ...
c
de Redes de Ordenadores: Nivel de Red
Encaminamiento (cont.) 100
Algoritmo de encaminamiento: Procedimiento por el cu´al 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:



Muchas veces se utiliza el t´ermino Protocolo de Encaminamiento en vez
de Algoritmo de Encaminamiento.
c
de Redes de Ordenadores: Nivel de Red
Encaminamiento (cont.) 101
Objetivos de un algoritmo de encaminamiento
Minimizar el espacio de la tabla de encaminamiento para poder buscar
r´apidamente 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 tr´ansito, o
• camino m´as corto (en funci´on de una cierta m´etrica en funci´on de
retardo, coste de los enlaces, . . . ), o
• m´axima utilizaci´on de la capacidad de la red
c
de Redes de Ordenadores: Nivel de Red
Encaminamiento (cont.) 102
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
de Redes de Ordenadores: Nivel de Red
Encaminamiento (cont.) 103
Algoritmo de aprendizaje
Es un algoritmo simple, que mejora el de inundaci´on. Se utiliza tambi´en
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 encaminar´a por ese enlace
3. Cuando para un destino no hay entrada en la tabla, se env´ıa por
inundaci´on.
c
de Redes de Ordenadores: Nivel de Red
Encaminamiento (cont.) 104
Algoritmos basados en Vectores de Distancias
El protocolo RIP (Routing Information Protocol), utilizado en Internet,
emplea esta t´ecnica.
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 env´ıa 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 trav´es de otro de sus
vecinos, y actualiza sus tablas de encaminamiento consecuentemente
c
de Redes de Ordenadores: Nivel de Red
Encaminamiento (cont.) 105
Algoritmos basados en el Estado de Enlace
El protocolo OSPF (Open Shortest Path First), utilizado en Internet, emplea
esta t´ecnica.
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 env´ıa 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 topolog´ıa completa
de la red y calcula el mejor camino a todos sus destinos (aplicando
algoritmos matem´aticos sencillos como el algoritmo de Dijkstra).
c
de Redes de Ordenadores: Nivel de Red
Encaminamiento (cont.) 106
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
d




Control de Congesti´on
Un encaminador tiene varios enlaces de entrada y salida.
Puede ser que lleguen paquetes m´as deprisa de lo que el encaminador
sea capaz de darles salida.
Si esta situaci´on es espor´adica, se resuelva con buffers.
Los buffers son limitados: cuando se llenan se ha alcanzado la congesti
´on
Congesti´on: cuando el tr´afico deseado/originado en los extremos es mayor
del que puede encaminar el nivel de red
c
de Redes de Ordenadores: Nivel de Red
Control de Congesti´on (cont.) 109
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
de Redes de Ordenadores: Nivel de Red
Control de Congesti´on (cont.) 110
IP: Internet Protocol
c
de Redes de Ordenadores: IP: Internet Protocol
Introducci´on 111
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
de Redes de Ordenadores: IP: Internet Protocol


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
de Redes de Ordenadores: IP: Internet Protocol
Datagramas IP (cont.) 114
longitud total En bytes. Tama˜no m´aximo: 65535 bytes. Normalmente
es menor de 576 bytes. Dependiendo del nivel de enlace, cualquier
m´aquina puede necesitar fragmentar un datagrama IP al encaminarlo.
identificaci´on Diferente para cada datagrama que genera una m´aquina
(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 m´as 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 m´aximo 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, envi´andose al
originador del datagrama un mensaje ICMP.
c
de Redes de Ordenadores: IP: Internet Protocol
Datagramas IP (cont.) 115
protocolo Indica si en el campo de datos va un paquete de ICMP, IGMP,
TCP o UDP.
checksum Calculado ´unicamente sobre la cabera del datagrama.
direcciones origen y destino Valores de 32 bits.
opciones Informaci´on opcional. No todas las m´aquinas 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
de Redes de Ordenadores: IP: Internet Protocol
Direcciones IP 116
Direcciones IP
Cada interfaz f´ısico conectado a la Internet tiene asignada una direcci´on
IP que resulta ´unica 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:


Los primeros bits de una direcci´on indican cu´al es su clase.
En cada clase, es distinto el n´umero de bits de red y el de bits de m´aquina.



Tipos de direcciones IP
unicast Representan a una sola m´aquina
multicast Representan a un grupo de m´aquinas
broadcast Representan a todas las m´aquinas de una subred
c
de Redes de Ordenadores: IP: Internet Protocol
Direcciones IP (cont.) 119
¿Qui´en asigna direcciones IP?
Tres organismos regionales: ARIN (Am´erica), RIPE (Europa y ´Africa) y
APIC (Asia).
RIPE delega en organismos regionales (normalmente por pa´ıses).
En Espa˜na, el organismo es Red.es, Entidad P´ublica Empresarial adscrita
al Ministerio de Ciencia y Tecnolog´ıa.
Una organizaci´on adquiere una (o m´as) direcciones de clase, y el administrador
local de la organizaci´on reparte la direcci´on de clase entre todas
sus m´aquinas.
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
de Redes de Ordenadores: IP: Internet Protocol
Direcciones IP (cont.) 120
Subredes
En ocasiones, por razones organizativas o topol´ogicas, se utilizan algunos
bits de m´aquina 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
decidir´a si utilizar´a subredes, y el n´umero de bits de m´aquina que
utilizar´a para indicar la subred.
c
de Redes de Ordenadores: IP: Internet Protocol
Direcciones IP (cont.) 121
El n´umero de bits con el que se indica la subred se denota con una m´ascara
de subred: 32 bits, 1 para bits de red y subred, 0 para bits de m´aquina.



Normalmente en cada subred se reservan:
la primera direcci´on (bits de m´aquina a cero) como “direcci´on de la red”
la ´ultima direcci´on (bits de m´aquina a uno) como “direcci´on de broadcast”.
c
de Redes de Ordenadores: IP: Internet Protocol
Encaminamiento 122
Encaminamiento
Cualquier m´aquina IP puede est´a o no configurada como encaminador:
Si NO lo est´a los datagramas IP que recibe que no son para ella, se
tiran.
Si lo est´a, se tratan de encaminar.
c
de Redes de Ordenadores: IP: Internet Protocol
Encaminamiento (cont.) 123
Para encaminar, una m´aquina consultar´a su tabla de encaminamiento. En
ella, para enviar un datagrama a una cierta direcci´on IP destino, buscar
´a por este orden:
1. Una entrada con una direcci´on IP de m´aquina 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
de Redes de Ordenadores: IP: Internet Protocol
Encaminamiento (cont.) 124
Las tablas de encaminamiento tienen el aspecto:



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
de Redes de Ordenadores: IP: Internet Protocol
Encaminamiento (cont.) 126
Con CIDR:
No se tiene en cuenta la “clase” de las direcciones
Nueva forma de indicar direcciones y m´ascaras 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 ´ultimo byte).
Las direcciones pasan a comprarse de esta manera.
Las tablas de encaminamiento se construyen y consultan de esta manera.
c
de Redes de Ordenadores: IP: Internet Protocol
ARP (Address Resolution Protocol) 127
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 m´aquina 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
m´aquina adyacente a la que pasar el datagrama, pero para formar la
trama Ethernet se necesita conocer la direcci´on Ethernet de destino.
c
de Redes de Ordenadores: IP: Internet Protocol
ARP (Address Resolution Protocol) (cont.) 128
Para conocer la direcci´on Ethernet de una m´aquina de la misma subred,
dada su direcci´on IP, una m´aquina hace lo siguiente:
1. Env´ıa una trama Ethernet de broadcast consistente en una solicitud
ARP, conteniendo la direcci´on IP en cuesti´on.
2. Aquella m´aquina que reciba una solicitud ARP preguntando por su
propia direcci´on IP, contesta con una trama Ethernet dirigida a quien
hizo la pregunta, conteniendo una respuesta ARP indicando la direcci
´on Ethernet pedida.
Cada m´aquina 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
de Redes de Ordenadores: IP: Internet Protocol
ARP (Address Resolution Protocol) (cont.) 129
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 var´ıa.
Formato para usar ARP con IP:



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 m´aquina
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 m´aquina interrogada cambia los dos campos
((origen)) por los ((destino)), rellenando el que falta (que es su direcci´on
Ethernet pedida).
c
de Redes de Ordenadores: IP: Internet Protocol
ARP (Address Resolution Protocol) (cont.) 130
ARP gratuito: Una m´aquina 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 m´aquina destino, cuando esa m´aquina
destino es alcanzable a trav´es de dicho encaminador.
c
de Redes de Ordenadores: IP: Internet Protocol
RARP (Reverse Address Resolution Protocol) 131
RARP (Reverse Address Resolution Protocol)
En ocasiones es necesario un m´etodo para obtener la direcci´on IP de una
m´aquina 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 est´a grabada su direcci´on Ethernet.
Mecanismo de RARP:
1. La m´aquina env´ıa un broadcast de una solicitud RARP, indicando su
direcci´on Ethernet.
2. Alguna m´aquina de la subred le enviar´a una respuesta RARP indic
´andole cu´al es su direcci´on IP.
c
de Redes de Ordenadores: IP: Internet Protocol
RARP (Reverse Address Resolution Protocol) (cont.) 132
Lo habitual es tener una m´aquina 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 tomar´a s´olo
la primera respuesta RARP recibida por la m´aquina que lanzo la solicitud
RARP.
Alternativas a RARP: BOOTP (similar) y DHCP (m´as complejo).
c
de Redes de Ordenadores: IP: Internet Protocol
ICMP (Internet Control Message Protocol) 133
ICMP (Internet Control Message Protocol)
Este protocolo se utiliza para interrogar y/o comunicar condiciones de
error entre m´aquinas.
Los mensajes ICMP se transmiten encapsulados en datagramas IP. Su
formato es:





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.0–10.255.255.255
• 172.16.0.0–172.31.255.255
• 192.168.0.0–192.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 m´aquina que da salida a Internet.
Esta m´aquina utiliza NAT para que los datagramas puedan entrar/salir
de/a las m´aquinas internas. Muy resumidamente lo que hace es cambiar
las direcciones IP privadas de los datagramas por la suya p´ublica.
c
de Redes de Ordenadores: IP: Internet Protocol
Congesti´on en Internet 136
Congesti´on en Internet
El nivel de red (IP) ofrece un servicio basado en datagramas.
La principal fuente de p´erdidas 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:
ser´a labor de protocolos de niveles superiores, en su caso.
c
de Redes de Ordenadores: IP: Internet Protocol
Congesti´on en Internet (cont.) 137
UDP:
User Datagram Protocol
c
de Redes de Ordenadores: UDP: User Datagram Protocol
Introducci´on 138
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, producir´a exactamente
un datagrama UDP cada vez que la aplicaci´on quiera enviar datos.
Dicho datagrama UDP se encapsular´a en un datagrama IP.
Si ese datagrama IP va a exceder el tama˜no m´aximo de la unidad de datos
del nivel de enlace (ej: Trama Ethernet), se fragmentar´a.
c
de Redes de Ordenadores: UDP: User Datagram Protocol
Datagramas UDP 139




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 m´as una pseudo-cabecera que se
coloca delante:



Puertos
En una m´aquina multiproceso, el nivel de transporte debe preocuparse de
saber a qu´e 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 trav´es 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 m´aquina remota.
c
de Redes de Ordenadores: UDP: User Datagram Protocol
Puertos (cont.) 142
As´ı, el Nivel de Transporte TCP/IP:
multiplexa las unidades de datos que env´ıan las aplicaciones a trav´es
de los puertos, encapsul´andolas 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
de Redes de Ordenadores: UDP: User Datagram Protocol
Puertos (cont.) 143
Los puertos menores que 1024 (puertos privilegiados) est´an reservados y
asignados universalmente a aplicaciones de red conocidas.



As´ı, por ejemplo, un servidor de WWW es un proceso esperando peticiones
en el puerto 80 de una m´aquina. Un navegador desde otra m´aquina
har´a peticiones al puerto 80 del servidor, y escuchar´a 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 m´as frecuentemente utilizados) lo hace directamente el proceso involucrado.
c
de Redes de Ordenadores: UDP: User Datagram Protocol
Servicio dado por UDP 145
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 much´ısimo m´as ligero que TCP, y en una red local
(hay CRC y no hay encaminadores) puede compensar.
c
de Redes de Ordenadores: UDP: User Datagram Protocol
Servicio dado por UDP (cont.) 146
TCP: Transmission
Control Protocol
c
de Redes de Ordenadores: TCP: Transmission Control Protocol
Introducci´on 147
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
de Redes de Ordenadores: TCP: Transmission Control Protocol
Servicio Orientado a Conexi´on 148
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 simult
´aneamente.
Los datos de la aplicaci´on son troceados en segmentos del tama˜no
que TCP considera adecuado (¡diferente a UDP!).
c
de Redes de Ordenadores: TCP: Transmission Control Protocol
Servicio Fiable 149
Servicio Fiable
´Este es el primer nivel en el que se proporciona fiabilidad.
Objeto: Recuperarse de p´erdidas y desorden producido por IP.
Idea b´asica:
• 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
de Redes de Ordenadores: TCP: Transmission Control



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
de Redes de Ordenadores: TCP: Transmission Control Protocol
N´umeros de secuencia 152
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 tr´ansito procedentes de
conexiones diferentes.
c
de Redes de Ordenadores: TCP: Transmission Control Protocol
N´umeros de asentimiento 153
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, asinti´endose 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
de Redes de Ordenadores: TCP: Transmission Control Protocol
N´umeros de asentimiento (cont.) 154
Cada segmento tiene un campo para el n´umero de asentimiento: siempre
que se manda un segmento se aprovecha para asentir los datos
que est´e enviando el otro extremo:
• Si el lado que env´ıa un asentimiento tiene datos que enviar al otro
lado, puede aprovechar un segmento para las dos cosas: env´ıa el
asentimiento ((arrecucas)) de los datos (piggybacking).
• Si el lado que env´ıa un asentimiento no tienen datos que enviar al
otro lado, env´ıa 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
est´a usando el otro extremo.
c
de Redes de Ordenadores: TCP: Transmission Control Protocol
N´umeros de asentimiento (cont.) 155
Ventana Deslizante
Se usa un protocolo de ventana para coordinar el env´ıo 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
est´a dispuesto a recibir del emisor.
El emisor puede transmitir esos bytes aunque no reciba asentimientos,
pero una vez transmitidos tendr´a que parar hasta que sepa m´as del
receptor.
Seg´un el receptor va recibiendo datos, puede ir asintiendo y deslizando
la ventana para aceptar m´as.
Como ambos extremos pueden enviar datos, hay dos ventanas diferentes,
una para cada sentido.
c
de Redes de Ordenadores: TCP: Transmission Control Protocol
N´umeros de asentimiento (cont.) 156
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:



El tama˜no de la ventana es variable din´amicamente (pero deber´ıan
mantenerse las ((antiguas promesas))).
El tama˜no de la ventana permite tambi´en hacer control de flujo extremo
a extremo.
c
de Redes de Ordenadores: TCP:



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
de Redes de Ordenadores: TCP: Transmission Control Protocol



Plazos para asentimiento
Cuando se env´ıa un segmento, se arranca un temporizador para esperar
su asentimiento. Problema: ¿Qu´e plazo le ponemos?
Se utiliza un algoritmo adaptativo para optimizar lo m´as posible la transmisi
´on de datos.
Para cada segmento se calcula el tiempo de ronda (round-trip time, RTT):
tiempo entre que se env´ıa 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
de Redes de Ordenadores: TCP: Transmission Control Protocol
Liberaci´on de conexi´on (cont.) 160
Entrega de datos a la aplicaci´on
Cuando llega un segmento con la bandera PSH activada se est´a indicando
al receptor que pase esos datos a la aplicaci´on.
No s´olo se pasa ese segmento, sino tambi´en todos los datos asentidos que
el receptor tuviera pendientes de entregar a la aplicaci´on.
c
de Redes de Ordenadores: TCP: Transmission Control Protocol
Liberaci´on de conexi´on (cont.) 161
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: Env´ıo de un CTRL-C.
Se indican mediante el empleo de la bandera URG: Cuando est´a levantada,
el campo puntero a datos urgentes apunta al ´ultimo byte de datos urgentes
del segmento.
No est´a especificado d´onde empiezan los datos urgentes. Se deja a la
aplicaci´on.
c
de Redes de Ordenadores: TCP: Transmission Control Protocol



DNS: Domain Name
System
c
de Redes de Ordenadores: DNS: Domain Name System
¿Por qu´e necesitamos el DNS? 164
¿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 est´an ligados a la estructura de la red, pero eso no tiene
por qu´e reflejarse en el nombrado de m´aquinas (ej: www.debian.org,
www.de.debian.org.
Los n´umeros IP est´an ligados a m´aquinas concretas, puede ser conveniente
un nivel de abstracci´on no ligado a m´aquinas (ej: www.urjc.es
puede cambiar de m´aquina, y de IP, pero no de nombre).
Es necesario establecer una correspondencia entre nombres y direcciones
IP.
c
de Redes de Ordenadores: DNS: Domain Name System
Un poco de historia 165
Un poco de historia
Al principio (a˜nos 70), un ´unico fichero (HOSTS.TXT) con informaci
´on de todas las m´aquinas de ARPANET.
Se obten´ıa 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
de Redes de Ordenadores: DNS: Domain Name System
Estructura de nombrado 166
Estructura de nombrado
Se descentraliza el control consigui´endose una estructura jer´arquica y f´acilmente
ampliable.
Jerarqu´ıa de dominios:
Dominio ra´ız (root o “.”). Gestionado por ICANN (Internet Corporation
for Assigned Names and Numbers).
Dominios de nivel m´aximo:
• 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
de Redes de Ordenadores:



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 tambi´en 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
de Redes de Ordenadores: DNS: Domain Name System
Estructura de gesti´on 169
Estructura de gesti´on
Cada vez que se delega un subdominio se delega tambi´en su gesti´on (incluyendo
su posible subdivisi´on sucesiva).
Si el gestor del dominio es delega un subdominio urjc, el responsable
de urjc manejar´a la correspondencia de nombres y direcciones de todas
las m´aquinas 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
r´egimen de competencia.
c
de Redes de Ordenadores: DNS: Domain Name System
Consulta de una direcci´on para un nombre 170
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 m´aquina
Unix):
Consulta en un fichero (/etc/hosts).
Consulta en un servidor de DNS (su direcci´on IP est´a en /etc/resolv.conf).
c
de Redes de Ordenadores: DNS: Domain Name System
Esquema de funcionamiento del DNS 171
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
de Redes de Ordenadores: DNS: Domain Name System



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 ra´ız, que le
contestar´a 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 ´ultimo, que ya tiene en sus mapas la direcci´on
IP pedida.
(Cada servidor puede servir uno o varios dominios, o ninguno)
c
de Redes


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 jerarqu´ıa.
Siempre que pueden, los servidores usan datos de su cache.
c
de Redes de Ordenadores: DNS: Domain Name System
Tipos de servidores 176
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 ra´ız.
Esclavo. Utilizados por servidores en lugar del resto del DNS (por
ejemplo, si hay cortafuegos).
c
de Redes de Ordenadores: DNS: Domain Name System
Tipos de servidores (cont.) 177
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
de Redes de Ordenadores: DNS: Domain Name System
Mapas de dominio 178
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 cach´es.
• Clase. En Internet siempre IN.
• Tipo. Define el tipo del registro.
• Valor. Contenido que depende del campo tipo.
c
de Redes de Ordenadores: DNS: Domain Name System
Mapas de dominio (cont.) 179
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 m´aquina y sistema operativo.
TXT: Da informaci´on del dominio.
c
de Redes de Ordenadores: DNS: Domain Name System



100 de 106Formato de menaje DNS

HTTP 1.1
Es una evoluci´on de HTTP 1.0.
Facilidades espec´ıficas para m´aquinas virtuales (virtual hosts).
Codificaci´on por racimos, para respuestas din´amicas (env´ıo antes de
saber el tama˜no total).
Uso de conexiones persistentes que permiten varias transacciones sucesivas
(se evitan establecimientos de conexi´on).
Facilidades espec´ıficas para caches (“If-Modified-Since”, “If-Unmodified-
Since”).
c
de Redes de Ordenadores: HTTP
HTTP 1.1 (cont.) 201
Virtual hosts
Para tener virtual hosts es preciso indicar en cada petici´on a cu´al 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 tambi´en han de aceptar primeras l´ıneas de petici´on con
URLs completas, en lugar de caminos (ser´a lo habitual en versiones
futuras).
Ejemplo de petici´on “m´ınima”:
GET /dir/index.html HTTP/1.1\r\n
Host: gsyc.escet.urjc.es\r\n
\r\n
c
de Redes de Ordenadores: HTTP
HTTP 1.1 (cont.) 202
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 “;”, quiz´as algo m´as, y CRLF.
• Los datos, terminados por CRLF.
• Terminado por una l´ınea con “0CRLF”.
• Seguido de “footers” (como cabeceras).
• Terminado en una l´ınea en blanco (CRLF).
c
de Redes de Ordenadores: HTTP
HTTP 1.1 (cont.) 203
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
de Redes de Ordenadores: HTTP
HTTP 1.1 (cont.) 204
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 env´ıa la cabecera “Connection: close”, el servidor cerrar´a la
conexi´on despu´es de cada respuesta.
Un servidor puede cerrar la conexi´on antes de enviar todas las respuestas.
El servidor cerrar´a las conexiones inactivas pasado un plazo (ej: 10
segundos).
c
de Redes de Ordenadores: HTTP
HTTP 1.1 (cont.) 205
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-Unmodified-
Since” (los clientes pueden usarlos).
Respuesta a “If-Modified-Since”: “304 Not Modified”.
Respuesta a “If-Unmodified-Since”: “412 Precondition Failed”.
c
de Redes de Ordenadores: HTTP
HTTPS 206
HTTPS
HTTP sobre SSL (secure socket layer).
La conexi´on TCP est´a 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
de Redes de Ordenadores: HTTP
Galletitas (cookies) 207
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
de Redes de Ordenadores: HTTP
Galletitas (cookies) (cont.) 208
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
m´as tarde si se env´ıa una galletita o no.
• “secure”: si est´a marcada as´ı, s´olo se transmitir´a 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
de Redes de Ordenadores: HTTP
Galletitas (cookies) (cont.) 209
Cabecera “Cookie”
Cuando un cliente pide una URL, buscar´a en su lista de galletitas si
hay alguna que tenga que enviar (mirando su “domain” por la cola,
y su “path” por su cabeza).
Enviar´a todas las galletitas en una ´unica cabecera (“Cookie”).
Dentro de esta cabecera, las galletitas se ordenar´an de m´as a menos
espec´ıficas (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
de Redes de Ordenadores: HTTP
Referencias 210
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
de Redes de Ordenadores: HTTP
Referencias 211
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
de Redes de Ordenadores: HTTP

No hay comentarios.: