Está en la página 1de 176

Módulo 1

Material Complementario

Material
Complementario
Índice
© Universidad Internacional de La Rioja (UNIR)

Temas 3
Tema 1. Redes de área local 3
Tema 2. El nivel de red en Internet 33
Tema 3. El nivel de transporte 97
Tema 4. El nivel de aplicación 138
Temas

Tema 1. Redes de área local

1.1. Introducción y objetivos

Una red LAN consiste en un medio de transmisión compartido y un conjunto de


software y hardware, para servir de interfaz entre dispositivos y el medio, regulando
el orden de acceso al mismo.

Su alcance es reducido (un laboratorio, departamento, edificio), pertenecen a una


organización que utiliza un medio privado de comunicación (no existen costes de
tarificación) y alcanzan grandes velocidades de transmisión, desde 10Mbps a más de
10 Gbps.

Los medios de transmisión más utilizados son: par trenzado, fibra óptica y medios
inalámbricos.

IEEE 802 es el estándar más aceptado, y la mayor parte de los productos existentes
en el mercado se ajusta a él.

Los aspectos tecnológicos principales que determinan la naturaleza de una red LAN
son:

 Topología.
© Universidad Internacional de La Rioja (UNIR)

 Medio de Transmisión.
 Técnica de control de acceso al medio.

Al no poder crecer ilimitadamente, es posible tener que llegar a dividir una LAN para
optimizar el tráfico, para ello es necesario el uso de puentes y conmutadores.

Material complementario
3
Temas
1.2. Arquitectura LAN

Los protocolos definidos específicamente para la transmisión en redes LAN tratan de


cuestiones relacionadas con la transmisión de bloques de datos a través de la red.

Para OSI, los niveles superiores (3-7), son independientes de la arquitectura de red,
así, el estudio de protocolos LAN está relacionado con los niveles inferiores (1-2).

La arquitectura LAN fue desarrollada por el comité IEEE 802 y ha sido adoptada por
todas las organizaciones que trabajan en estándares LAN (OSI lo acepta en 1987 como
ISO 8802).
© Universidad Internacional de La Rioja (UNIR)

Figura 1. Modelos de referencia.

Material complementario
4
Temas
Figura 2. Ejemplo de un protocolo LAN en un contexto TCP/IP.

Topologías

La topología de una red, es la distribución física de los elementos que la integran. Las
principales topologías en LAN son: bus, anillo y estrella.

Topología en estrella
© Universidad Internacional de La Rioja (UNIR)

Figura 3. Topología en estrella.

Material complementario
5
Temas
Todo el tráfico pasa a través de un nodo central que puede ser pasivo o activo. Si es
pasivo actúa como un repetidor de señales, y si es activo, almacena y retransmite
tramas en función del direccionamiento.

Ventajas:

 Fácil inserción de nuevos elementos.


 Fácil detección de nodos con fallos.
 Si el nodo central es activo permite conectar máquinas con distintas velocidades
de transmisión (10/100/1000 Mbps).

Inconvenientes:

 Alta dependencia del nodo central.


 La alta actividad del nodo central retrasa el tráfico.
 Costes por ampliación elevados

Topología en anillo
© Universidad Internacional de La Rioja (UNIR)

Figura 4. Topología en anillo.

Cada estación está unida físicamente a una anterior y a otra posterior. De la anterior
siempre recibe los mensajes, y cuando no están dirigidos a ella, los transmite sin

Material complementario
6
Temas
modificarlos a la estación siguiente. Por tanto la información circula siempre en el
mismo sentido.

Ventajas:

 El acceso a la red está asegurado en un periodo de tiempo máximo.


 Proporciona altas velocidades de transmisión, con tasas de errores mínimas y con
colisiones nulas.
 Estas redes se comportan muy bien en condiciones de tráfico intenso.

Inconvenientes:

 El fallo de una estación puede suponer el bloqueo de las comunicaciones del resto,
por tanto hay que buscar formas de puentear estaciones.
 La incorporación de nuevas estaciones es problemática si no existe un diseño de
conexión adecuado.
 Alta dependencia de la estación supervisora.

Topología en bus
© Universidad Internacional de La Rioja (UNIR)

Figura 5. Topología en bus.

Todas las estaciones se conectan a un mismo tramo de cable, y todos «escuchan» los
paquetes que se difunden por el canal de transmisión.

Material complementario
7
Temas
Ventajas

 La inserción de nuevas estaciones es sencilla.


 Se consiguen altas velocidades de transmisión (Gbps) con bajas tasas de errores.

Inconvenientes

 Al añadir un nuevo nodo al bus, puede que se interrumpa el tráfico.


 La rotura del bus, puede bloquear el tráfico de todas las estaciones.

Control de acceso al medio (MAC)

Su función principal es asignar un único canal de comunicación entre varios usuarios


que compiten por obtenerlo, y resolver los conflictos o pérdidas de tramas en las
colisiones.

Llamaremos colisión a la transmisión simultánea de dos tramas por dos estaciones.

Al enviar las tramas se pueden seguir dos ideas:

 Tiempo continuo: se puede iniciar la transmisión de las tramas cuando de desee.


 Tiempo ranurado: se determina algún mecanismo para establecer unos instantes
que son los únicos válidos para iniciar el envío de una trama.

Los dispositivos con detección de portadora están capacitados para detectar si el


canal está en uso en un momento dado.
© Universidad Internacional de La Rioja (UNIR)

Técnicas de acceso al medio

Reserva: se trata de una asignación estática del canal, donde se distribuye el medio
entre los distintos terminales usando técnicas MDF o MDT. No son nada óptimas para
redes LAN, sin embargo en WAN son bastante utilizadas.

Material complementario
8
Temas
Contienda: es una asignación dinámica de un canal y utilizada ampliamente en LAN.
Esta técnica permite que varias estaciones conectadas a un mismo medio (un cable o
un canal de radio) puedan utilizarlo cuando quieran y recuperarse de los conflictos
que aparecen cuando dos o más estaciones quieren ocupar el canal al mismo tiempo.

Existen varias técnicas: ALOHA, ALOHA ranurado, CSMA, CSMA/CD.

 ALOHA:
En 1972, la Universidad de Hawaii se inventa un nuevo método para la asignación
dinámica de un canal, a través de radioenlaces repartidos por las distintas islas.
Cada ordenador transmite lo que desea, sin preocuparse si el canal está libre o no.
Pura y simplemente retransmisión al azar.

Su eficiencia depende del número de estaciones y del tráfico existente, ya que si


dos estaciones coinciden, hay colisión y la información se pierde (se calculó una
eficiencia del 18 %).

 ALOHA ranurado:
Consiste en dividir el tiempo en intervalos discretos, denominados ranuras, y la
transmisión de la trama siempre se realiza en un instante concreto: al comienzo
de una ranura.

La sincronización entre usuarios se consigue con una estación especial, que emite
una señal al comienzo de cada intervalo. Podemos llegar a un rendimiento
aproximado del 37 % (el doble que ALOHA).

 CSMA:
© Universidad Internacional de La Rioja (UNIR)

Aparece el procedimiento CSMA (Carrier Sense Multiple Access) acceso múltiple


con detección de portadora, que además de ser de contienda (con conflictos),
escucha el canal (detector de portadora).

Material complementario
9
Temas
Las estaciones tienen capacidad de conocer el estado del canal, si creen que está
libre, transmiten, si detectan actividad, esperan.

Es un sistema sensible al retardo de propagación: puede suceder que una estación


crea que el canal está libre y lo que sucede es que la señal aún no ha llegado.

Figura 6. Retardo de propagación.

El rendimiento depende del tiempo de propagación 𝑡𝑝 (longitud del enlace). Ante


un aumento de la carga, aumenta la probabilidad de colisión y, por lo tanto, hay
más colisiones; debido a esto, la eficiencia disminuye.

Hay tres algoritmos para determinar cuándo se vuelve a intentar la transmisión


tras encontrar ocupado el canal:
© Universidad Internacional de La Rioja (UNIR)

• CSMA persistente: cuando tiene una trama lista para enviar, primero escucha
el canal y:
 Si el medio no está ocupado envía la trama.

Material complementario
10
Temas
 Si alguien está transmitiendo, escucha constantemente hasta que detecte el
canal libre, entonces, envía la trama.

Figura 7. CSMA persistente.

Escuchar antes de enviar, aumenta la eficiencia hasta el 55%.

Problema: Habrá muchas estaciones esperando a que termine la trama actual


para comenzar a transmitir. Todas ellas emitirán a la vez en cuanto el canal esté
libre, y se producirán colisiones.

• CSMA no persistente: en este protocolo se hace un esfuerzo por ser menos


egoísta que en el anterior.

Antes de enviar, escucha el canal, si nadie está transmitiendo, la estación


comienza a hacerlo. Sin embargo, si el canal está en uso, la estación no observa
© Universidad Internacional de La Rioja (UNIR)

continuamente, espera un tiempo aleatorio y repite el algoritmo.

Material complementario
11
Temas
Figura 8. CSMA no persistente.

Se obtiene una mejora del rendimiento cuando hay mucho tráfico.


 Problema: si hay poco tráfico, este procedimiento no es muy eficiente.

• CSMA p-persistente: esta técnica se aplica a canales ranurados y es un


compromiso entre reducir las colisiones (no persistente) y reducir el período de
tiempo ocioso del medio (persistente).
 Si la estación está lista para transmitir, escucha el canal. Si está libre,
transmite con probabilidad 𝑝, y retarda esta transmisión, hasta la siguiente
ranura, con una probabilidad 𝑞 = 1 − 𝑝.
 Si la siguiente ranura también está desocupada, el canal transmite o retarda
de nuevo la transmisión con una probabilidad 𝑝 y 𝑞 respectivamente.
© Universidad Internacional de La Rioja (UNIR)

Material complementario
12
Temas
Figura 9. Comparación de rendimientos de protocolos ALOHA y CSMA.

 CSMA/CD:
Cronología de Ethernet:
• 1970: Robert Metcalfe (MIT) empieza tesis en Harvard sobre la optimización de
ALOHA.
• 1972: Metcalfe llega a Xerox y se le encarga diseñar la red del laboratorio.
• 1973: Ethernet experimental (Metcalfe y David Boggs): 2,94 Mbps, 1,6 Km,

direcc. 8 bits, CRC 16 bits.


• Desarrollan el protocolo MAC basado en la técnica de contienda CSMA/CD
(Carrier Sense Multiple Access/Colision Detect)
• 1976: Metcalfe y Boggs publican artículo sobre Ethernet basado en CSMA/CD
con lo que a continuación se expone:
Detecta la colisión (CD) en el momento en que se produce y se aborta la
transmisión, es decir, no sigue enviando el resto de la trama. Esto permite
© Universidad Internacional de La Rioja (UNIR)

ahorro de tiempo y mayor rendimiento.

Por tanto, CSMA/CD consiste en ser educado y prudente:


• Oír antes de empezar a hablar (CS, Carrier Sense).
• Hablar solo cuando los demás callen.

Material complementario
13
Temas
• Si mientras hablamos oímos que otro habla, nos callamos (CD, Colision Detect).

¿Qué ocurrió después?


• 1979: Se crea DIX (Digital, Intel y Xerox) para potenciar el uso de Ethernet (10
Mb/s). Metcalfe abandona y creó 3Com.
• 1980 DIX publicó Ethernet v 1.0 y la IEEE creó el proyecto 802 para aprobar «el»
estándar de LANs.
• DIX intentó «imponer» Ethernet al IEEE 802.
• El IEEE 802 recibió tres propuestas:
 CSMA/CD (DIX) (luego sería 802.3).
 Token Bus (General Motors) que luego sería 802.4.
 Token Ring (IBM) – que luego sería 802.5.
Con el tiempo, 802.3 (Ethernet) resultó ganadora.

Este protocolo se conoce como CSMA/CD (Carrier Sense Multiple Access with
Colision Detection), y se usa ampliamente en la subcapa MAC de las LAN (en
Ethernet IEEE 802.3).

Si una estación quiere transmitir, comprueba si el canal está libre; si es así,


transmite, si detecta colisión durante la transmisión, espera un tiempo aleatorio e
iniciará el proceso de nuevo.

Este tiempo de espera aleatorio está basado en el algoritmo de retroceso


exponencial: dado que el tiempo está dividido en ranuras, en caso de colisión, la
estación esperará cero o un tiempo de ranura (21) antes de intentarlo de nuevo.
Tras la segunda colisión, esperará cero, uno, dos o tres, tiempos de ranura (22), si
ocurre una tercera colisión (23), etc.
© Universidad Internacional de La Rioja (UNIR)

Al alcanzarse 10 colisiones, el intervalo se congela en 1023 ranuras. Tras 16


colisiones, el controlador (la tarjeta de red) informa a la máquina, cediendo la
responsabilidad de la comunicación a niveles superiores.

Material complementario
14
Temas
Núm. Intento Rango Interv. Tiempo (𝝁s)

0 0 0

1 0-1 0-51,2

2 0-3 0-153,6

3 0-7 0-358,4

4 0-15 0-768,0

5 0-31 0-1587,2

6 0-63 0-3225,6

7 0-127 0-6502,4

8 0-225 0-13 056,0

9 0-511 0-26 163,2

10 0-1023 0-52 377,6

11 0-1023 0-52 377,6

12 0-1023 0-52 377,6

13 0-1023 0-52 377,6

14 0-1023 0-52 377,6

15 0-1023 0-52 377,6

16 Se descarta -

Tabla 1. Intentos de algoritmo de retroceso exponencial.

El protocolo puede estar en tres estados:


• Transmitiendo: canal ocupado.
• Contienda: termina una transmisión y las demás estaciones pueden intentarlo,
© Universidad Internacional de La Rioja (UNIR)

durante ese periodo se puede producir colisión, el detector está funcionando.


• Inactivo: ninguna estación quiere transmitir.

Material complementario
15
Temas
Figura 10. Estados del protocolo.

En 𝑇0 , una estación ha terminado de transmitir su trama y cualquier otra que tenga


alguna que enviar, ahora puede hacerlo, ahora bien, si dos o más estaciones deciden
transmitir simultáneamente, habrá colisión.

Las ranuras de contención, equivalen al tiempo que tarda en detectarse una colisión,
que en el peor de los casos es 2𝑇𝑝 (dos veces el tiempo de propagación entre las dos
estaciones más lejanas). Evidentemente, el rendimiento de una red CSMA/CD
depende de tres factores: el tamaño de la red, el tamaño de las tramas y el tráfico de
la red.

La colisión puede detectarse observando la potencia o amplitud del pulso de la señal


recibida y comparándola con la señal transmitida. Es un proceso analógico y el
hardware de la estación debe escuchar el cable mientras se transmite. Si lo que lee
es distinto a lo que puso sabrá que hubo una colisión.

De todo esto se deduce, que para que un transmisor detecte una colisión, aún no
debe haber terminado de mandar la trama, por tanto esta debe tener una longitud
mínima.
© Universidad Internacional de La Rioja (UNIR)

Material complementario
16
Temas
Figura 11. Colisión.

En 𝑇0 se produce la colisión, esta viaja hasta las máquinas transmisoras para informar
del evento.

En 𝑇1 la llegada de la colisión al equipo B se produce sin problemas, ya que esta


todavía no ha finalizado la transmisión de la trama, sin embargo, la detección de
colisión no ha podido llegar al equipo A, ya que este había terminado de enviar su
trama, por tanto esta máquina es ajena a lo sucedido. Un tamaño mínimo de tramas,
garantiza la recepción de las colisiones.

Ethernet establece un estándar de 10Mbps, con una longitud de hasta 2500 metros,
con un máximo de cuatro repetidores, y un valor de 2𝑇𝑝 de 51.2 µseg. De esto se
deduce una longitud de trama mínima de 64 bytes (512 bits).

Retardo máx. de propagación en 2.5 Kms., 4 repetidores: 25.6 µseg


Tiempo de reacción: 25.6 x 2: 51.2 µseg
Bits transmitidos en 51.2 µseg a 10 Mbps: 512 bits = 64 bytes.

Las colisiones son un evento normal en CSMA/CD. El riesgo de colisión solo se da en


los primeros 64 bytes, a partir de aquí la estación ya «posee» el cable. Se propone
© Universidad Internacional de La Rioja (UNIR)

para disminuir las colisiones, aumentar el tamaño de tramas: con 64 bytes riesgo de
colisión el 100 % del tiempo, con 1518 solo el 4 % (primeros 64), minimizar distancias,
especialmente entre servidores; si la distancia es menor el riesgo de colisión será
menor y reducir número de estaciones; a menos estaciones, menos caos y menos
colisiones.

Material complementario
17
Temas
1.3. Norma IEEE 802 para redes locales

IEEE ha producido varios estándares para las LAN, conocidos en conjunto como IEEE
802. Difieren en la capa física y en la subcapa MAC, pero son compatibles en la
subcapa LLC. Adoptados por ISO (ISO 8802). Algunos de los estándares son:

Figura 12. Estándares (1/2).

802.1 NIVELES SUPERIORES

802.2 CONTROL DE ENLACE LÓGICO

802.5 token 802.6 MAN 802.8 FDDI


Enlace 802.3 CSMA/CD 802.4 token bus
ring Acceso al Acceso al
Acceso al medio Acceso al medio
Acceso al medio medio medio

Físico Físico Físico Físico Físico Físico

Tabla 2. Estándares (2/2)

Ethernet y el IEEE 802.3


© Universidad Internacional de La Rioja (UNIR)

Ethernet es un estándar de facto, basado en una especificación para LAN que se


implementó en sus inicios, sobre una topología en bus con mecanismo CSMA/CD para
acceso al medio. Fue desarrollada por DIX (Digital, Intel y Xerox) y es la base para el
estándar IEEE 802.3. El nombre proviene del ether, materia de la que se pensaba que

Material complementario
18
Temas
propagaba las ondas electromagnéticas en el espacio (Michelson y Morley en 1887
demostraron su no existencia).

IEEE ha desarrollado una notación concisa para distinguir las diferentes


implementaciones:

<velocidad en Mbps><Tipo de transmisión><max. long segmento>

Figura 13. Direcciones MAC (también direcciones hardware o físicas).

Cada máquina de una red Ethernet (Un PC, una impresora, etc.) posee tiene su propia
tarjeta de red (NIC, Network Interface Card). Esta NIC, o tarjeta de red proporciona a
© Universidad Internacional de La Rioja (UNIR)

la máquina una dirección MAC única en el mundo.

Material complementario
19
Temas
A cada tarjeta de red que se fabrica se le asigna una dirección de 6 bytes (48 bits) que
va grabada en su memoria ROM, es única, inalterable y presenta el siguiente formato
en hexadecimal:

Figura 14. Ejemplo de dirección.

El fabricante adquiere al IEEE un rango de direcciones consistente en los primeros 24


bits. Este posteriormente identifica la tarjeta con los otros 24 bits (en total, 248
direcciones). La información es enviada al bus en tramas que contienen entre otros
la dirección MAC de destino. En condiciones normales, una tarjeta Ethernet solo es
capaz de «oír» los paquetes destinados a su dirección MAC o los destinados a todas
las máquinas (BROADCAST). La dirección BROADCAST es la formada por los 48 bits a
1 (FF:FF:FF:FF:FF:FF en hexadecimal).

Fast Ethernet

Ethernet se planteó en 1992 una nueva velocidad a 100Mbps y, por supuesto, hacerlo
compatible con el hardware desarrollado para 10 Mbps. Por tanto mantener
CSMA/CD era esencial.

Si se aumenta 10 veces la velocidad y se mantiene la longitud de trama mínima (64


bytes), para hacer compatible Ethernet y esta nueva tecnología, se decide disminuir
el tamaño máximo de la red que dicta el estándar diez veces (250 metros). Así nace
Fast Ethernet (100Mbps, 64 bytes de trama mínima y 250 metros).
© Universidad Internacional de La Rioja (UNIR)

Fast Ethernet, es desarrollado por el comité IEEE 802.3 (802.3u desde 1995) para
proporcionar una LAN de bajo coste compatible con Ethernet y que funcione a 100
Mbps.

Material complementario
20
Temas
La especificación de una red Ethernet a 100 Mbps se denomina 100BaseT. Se basa en
mantener el nivel de enlace (MAC), del estándar IEEE 802.3, pero modificando
(debido a que debe manejar mayores velocidades) los medios físicos de transmisión.

Ethernet, dispone de un mecanismo llamado autonegociación, aplicable a topologías


en estrella de par trenzado, es previa a cualquier intercambio de datos. Permite que
los dispositivos de un segmento intercambien información sobre la forma en que
pueden usar el medio, es decir, que permite que los dispositivos se autoconfiguren.
Al menos se debe poder negociar entre múltiples velocidades (10/100/1G), y
añadido, la comunicación, si half-dúplex o full-dúplex y el control de flujo.

Prioridades de autonegocación

1 1000BASET dúplex

2 1000BASET

3 100BASET2 full dúplex

4 100BASETX f full dúplex

5 100BASET2

6 100BASET4

7 100BASETX

8 10BASET full dúplex

9 10BASET

Tabla 3. Intentos de algoritmo de retroceso exponencial.

Gigabit Ethernet
© Universidad Internacional de La Rioja (UNIR)

IEEE 802.3 formó un grupo de trabajo con el fin de transmitir en formato Ethernet a
velocidades del orden de un Gigabit por segundo (802.3z en 1998). Utiliza el mismo
protocolo que sus antecesores (CSMA/CD) y es perfectamente compatible con ellos,
facilitando la migración.

Material complementario
21
Temas
Figura 15. Cableado para Gigabit Ethernet y comparativas.

Tamaño de trama
Vel. (Mbps) mínimo Tiempo de i/v (𝝁𝒔) Distancia máx. (m)

10 512 (64 bytes) 51.2 2500

100 512 (64 bytes) 5.12 250

1000 4096 (512 bytes) 4.09 Hasta 5 Km.

Tabla 4. Rendimiento en Gigabit Ethernet.

De haber seguido la progresión de fast Ethernet, se hubiera reducido la distancia


máxima a 25 m (algo inaceptable). Para evitarlo, Gigabit Ethernet aumenta el tamaño
de trama mínimo a 512 bytes (extensión de portadora). Esto aumenta el riesgo de
colisión y disminuye el rendimiento porque hay más «relleno».
© Universidad Internacional de La Rioja (UNIR)

Figura 16. Extensión portadora.

Material complementario
22
Temas
La extensión de portadora no forma parte de la trama MAC, ni se propaga si pasa a
Fast Ethernet o Ethernet, solo existirá mientras viaje por Gigabit Ethernet.

10 Gigabit Ethernet

10 Gigabit Ethernet (802.3ae) permite una velocidad de 10 Gbps, con una misma
estructura que Ethernet en tamaños máximos y mínimos. Su uso óptimo es con F.O.
monomodo.

Actualmente existen equipos que puedan conectarse a un puerto a 10 Gbps de un


conmutador como un backbone para grandes redes locales, y estos conmutadores 10
Gigabit Ethernet sirven como elementos de unión de otros conmutadores con
puertos de 100 Mbps o 1 Gbps, donde se encuentran directamente conectados los
equipos y demás elementos de la red.

10 Gigabit Ethernet está pensada para aplicaciones LAN, MAN y WAN, compitiendo
directamente con ATM y Sonet SDH (Ver tema 9). Está diseñada solo para operar en
modo full-dúplex sobre enlaces de fibra óptica.

Velocidad Fecha
Medio Cable Distancia Costo
(Mb/s) estand.
(1BASE5) UTP-2
10 500m Bajo 1987
(10BASE5) Coax RG8 50 Ω 500 m Bajo 1983
(10BROAD36) Coaxial 75 Ω 3,6 Km Alto 1985
10 (10BASE2) Coax RG58 50 Ω 185 m Bajo 1985
10BASE-F F.O. multimodo 2 Km Medio 1987
10BASE-T UTP-3/5 100/150 m Bajo 1990
100BASE-TX UTP-5 100 m Bajo 1995
© Universidad Internacional de La Rioja (UNIR)

100
100BASE-FX F.O. multimodo 2 Km Alto 1995
1000BASE-SX F.O. multimodo 500 m Medio 1998
1000 1000BASE-LX F.O. monomodo 5 Km Alto 1998
1000BASE-T UTP-5e 100 m medio 1999

10 000 10GBASE-LR F.O. monomodo 10 Km Alto 2002

Material complementario
23
Temas
10GBASE-ER F.O. monomodo 40 Km Muy Bajo 2002
10GBASE-CX4 Coax 4 pares 15 m Alto 2004
10GBASE-T UTP-6/6a 55/100 m 2006
40GBASE-LR4 F.O. monomodo 10 Km N.D. 17/06/2010
40 000
40GBASE-CR4 Cobre 10 m N.D. 17/06/2010
100GBASE-LR4 F.O. monomodo 10 Km N.D. 17/06/2010
100 000 100GBASE-ER4 F.O. monomodo 40 Km N.D. 17/06/2010
100GBASE-CR10 Cobre 10 m N.D. 17/06/2010

Tabla 5. Medios físicos más habituales de Ethernet.

Estructura de la trama 802.3

En 1983, IEEE 802.3 aprueba CSMA/CD con una pequeña modificación respecto a DIX:
Campo tipo (Ethertype) reemplazado por longitud. Xerox desplaza campo Ethertype
a valores >1536 para que pueda coexistir DIX con 802.3.

En 1997 IEEE aprueba doble significado (tipo/longitud) al estandarizar control de flujo


(802.3x). La asignación de Ethertype pasó entonces de Xerox a IEEE. Los Ethertypes
pueden consultarse en www.iana.org/numbers.html

Figura 17. Formato de la trama Ethernet.

 Longitud mínima 64 bytes y máxima de 1518 bytes.


© Universidad Internacional de La Rioja (UNIR)

 Dos direcciones MAC: una con destino y otra con origen.


 Protocolo (Ethernet) o Longitud (802.3): indica el protocolo presente en el campo
de datos (IP 0x0800, ARP 0x0806…, los registra la IEEE al precio de 1800€) en el

Material complementario
24
Temas
primer caso o longitud del campo de datos en el segundo (menor o igual a 1500
bytes). Por razones históricas este campo tiene dos posibles significados:
• Si es mayor que 1536, indica el protocolo de nivel de red al que pertenecen los
datos. A este campo se le denomina ‘Ethertype’.
• Si es igual o menor que 1536 indica la longitud de la trama Ethernet. La longitud
realmente no hace falta porque siempre se puede deducir sabiendo el final de
la trama (detectado por el silencio).
 Datos: Información que se envía.

 Relleno: Para diferenciar las tramas válidas de la basura, 802.3 determina que las
primeras deben tener al menos 64 bytes de longitud, desde la dirección de destino
hasta la suma de comprobación. Si el campo de datos tiene menos de 46 bytes,
usamos el campo de relleno para completar.

De esta forma, se evita que una estación complete la transmisión de una trama
corta, antes de que el primer bit llegue al extremo más alejado del cable, donde
podría tener una colisión con otra trama y no llegar a detectarse.

 Suma de comp.: CRC para detectar errores en el destino.

 Preámbulo y silencio los añade el nivel físico a la trama ethernet. El primero,


consta de 7 bytes con el patrón 10101010 (reloj de 10 Mhz durante 5,6 𝜇s) para
sincronizar transmisor y receptor). Silencio, actúa como delimitador del final de
trama, debe ser de 9,6 s. el equivalente a la transmisión de 12 bytes.

1.4. Puentes
© Universidad Internacional de La Rioja (UNIR)

Un puente, permite la interconexión de LAN´s con idénticos protocolos en la capa


física y MAC (ej. dos LAN 802.3), permitiendo aislar el tráfico entre ellas.

Material complementario
25
Temas
Objetivos:

 Mejorar rendimiento (separan tráfico local).


 Aumentar seguridad (los sniffers ya no capturan todo el tráfico).
 Aumentar la fiabilidad (actúan como puertas cortafuegos, un problema ya no
afecta a toda la red).
 Permitir la interoperabilidad entre redes diferentes (Ethernet-Wifi).
 Mejorar alcance.
 Permitir un mayor número de estaciones.

Un puente captura las tramas MAC cuyo destino no se encuentra en la LAN de origen,
las almacena temporalmente y las transmite sobre la otra LAN.

Existen distintas estrategias para redirigir los mensajes por el camino adecuado.
Existen encaminamientos estáticos y dinámicos.

Encaminamiento estático

Antes de poner en funcionamiento el puente, se conoce la topología de la red


(número de máquinas e interconexiones).

De esta manera se sabe el camino entre dos máquinas cualesquiera, y se selecciona


en base al menor número de saltos (paso por un puente), guardándose estas tablas
en cada puente.

Esta estrategia es adecuada para un número pequeño de LAN´s y para


interconexiones estables.
© Universidad Internacional de La Rioja (UNIR)

Material complementario
26
Temas
Figura 18. Encaminamiento estático.

PUENTE 1

DE LA LAN A DE LA LAN B

Destino Siguiente Destino Siguiente

B B A A

C - C A

D - D A

PUENTE 2

DE LA LAN A DE LA LAN B

Destino Siguiente Destino Siguiente

B - A A

C C B A
© Universidad Internacional de La Rioja (UNIR)

D C D -

PUENTE 3

DE LA LAN A DE LA LAN B

Destino Siguiente Destino Siguiente

Material complementario
27
Temas
A - A C

B - B C

D D D C

Tabla 6. Tablas de encaminamiento en cada uno de los puentes.

Encaminamiento dinámico

Las estrategias de encaminamiento dinámico desarrollan automáticamente una tabla


de encaminamiento con base en el «conocimiento» adquirido, y la actualizan en
respuesta a cambios en la topología. Existen dos tipos de puentes: transparentes y
de encaminamiento fuente. Aquí veremos el primero de ellos.

Puentes transparentes

Desarrollados por DEC, y utilizados para redes 802.3 (bus).

Un puente transparente va «aprendiendo» por observación de los mensajes que se


transmiten.

Cuando se conecta, inicialmente no tiene ninguna información, pero si recibe un


mensaje de la LAN A proveniente de la estación 1, ya sabe que la estación 1 está en
la LAN A y añade esta entrada en una tabla.

Cuando el puente recibe una trama para un determinado destino, examinará en la


tabla, si existe una entrada lo enviará a la LAN correspondiente, si no se encuentra,
retransmite la tabla por todos los puertos de salida, excepto por el que se recibió.
© Universidad Internacional de La Rioja (UNIR)

En algún momento el equipo destino responderá, con lo que el puente recibirá una
trama hacia la estación origen, apuntando en la tabla el segmento donde está
conectado dicho equipo. La próxima vez, sabrá donde localizarle.

Material complementario
28
Temas
Figura 19. Aprendizaje de la red por un puente transparente.

Las tramas broadcast o multicast, también las reenvían, aunque no están en la tabla
de direcciones. Para mantener la tabla actualizada, las entradas se borran pasado un
cierto tiempo, así el puente puede aprender cualquier cambio de red que pueda
hacer un host.

Spanning tree

Puede ocurrir, al interconectar puentes, que haya más de un camino posible entre
dos redes, es decir, bucles que pueden hacerse por error o por querer disponer de
varios caminos para tener mayor fiabilidad y tolerancia a fallos.

Debido a la forma como funcionan los puentes transparentes cuando se produce un


bucle, la red se bloquea.
© Universidad Internacional de La Rioja (UNIR)

Figura 20. Bloqueo.

Material complementario
29
Temas
Deben habilitarse mecanismos que permitan detectar la presencia de bucles en la
topología e inhabilitar las interfaces correspondientes para eliminar los bucles.

Figura 21. Spanning tree.

Spanning Tree o árbol de expansión, es un grafo en el que hay uno y solo un camino
posible entre cualquier par de nodos (un árbol sin bucles).
© Universidad Internacional de La Rioja (UNIR)

1.5. Switch (o conmutador) LAN

Hoy en día los puentes no se utilizan, su lugar lo ha ocupado el switch.

Material complementario
30
Temas
Un switch es funcionalmente equivalente a un puente transparente e implementa
el algoritmo de conmutación de tramas en hardware, mientras que el puente lo hace
en software. Para ello utiliza chips diseñados específicamente para ello llamados
ASIC´s (Application Specific Integrated Circuit).

El switch es mucho más rápido que el puente, puede funcionar a la velocidad nominal
de la interfaz, normalmente los switches tienen muchas más interfaces (4-500) que
los puentes (2-6).

Permiten unir varias redes y dedican todo su ancho de banda a cualquier


comunicación entre sus puertos, debido a que no actúa como repetidor multipuerto,
sino que únicamente envía paquetes de datos hacia aquella puerta a la que van
dirigidos.

Tabla CAM de direcciones

La tabla de direcciones MAC de los conmutadores LAN se denomina tabla CAM


(Content Addressable Memory). Al cabo de un rato de normal funcionamiento de la
red, la tabla CAM incluye las direcciones de la mayoría de las estaciones activas de
todas las LANs conectadas directa o indirectamente al puente.

Las entradas de las tablas CAM tienen un tiempo de vida limitado para permitir la
movilidad. Las entradas inactivas se borran pasado un tiempo (típicamente 5 min.).

La tabla CAM se mantiene en memoria dinámica y tienen un tamaño limitado (típico


1K-16K direcciones)
© Universidad Internacional de La Rioja (UNIR)

Ataque de desbordamiento de MAC´s

Cuando un host envía una trama en una LAN no hay nada que le impida poner la
dirección MAC de origen que desee, incluso puede poner una dirección diferente en
cada trama.

Material complementario
31
Temas
Con un sencillo software, un host puede enviar miles de tramas por segundo con
direcciones MAC diferentes, todas falsas, la tabla CAM se desborda y a partir de ese
momento el conmutador difundirá todo el tráfico por inundación, actuando como si
fuera un hub. Ahora con un sniffer cualquier máquina de la red podrá capturar todo
el tráfico (incluido login/password).

Tipos de conmutadores LAN

Almacenamiento y reenvío

El conmutador recibe la trama en su totalidad, comprueba el CRC y la retransmite si


es correcta (si no la descarta). Este método asegura operaciones sin error y aumenta
la confianza en la red, pero los tiempos consumidos en guardar y analizar cada trama
añade unos tiempos de demora a tener en cuenta.

Cut-through

El conmutador retransmite la trama tan pronto ha leído los primeros seis bytes
correspondientes a la dirección de destino (así elimina la demora anteriormente
citada). Aunque el CRC sea erróneo la trama se retransmite. Solo controla que el
tamaño mínimo de trama sea de 64 bytes. Menor latencia que almac./reenvío.

Híbrido

Usa cut-through inicialmente, pero si detecta que una estación genera tramas
erróneas pasa a modo almac./reenvío para las tramas que vienen de esa dirección
MAC.
© Universidad Internacional de La Rioja (UNIR)

Material complementario
32
Temas
Tema 2. El nivel de red en Internet

2.1. IP (Protocolo Internet)

Figura 22. IP.

Es un protocolo no orientado a conexión, basado en datagramas y con un servicio de


red no seguro, por tanto, los mecanismos de fiabilidad son implementados en la capa
de transporte.

Las principales cuestiones de diseño para el funcionamiento del protocolo IP son:

Encaminamiento. Mediante tablas de encaminamiento estáticas o dinámicas en cada


dispositivo de encaminamiento. Estas tablas también proporcionan servicios de
seguridad y prioridad.

Tiempo de vida de los datagramas. Mediante el descarte del datagrama al finalizar


un tiempo de vida, se evita la posibilidad de un viaje indefinido a través del conjunto
© Universidad Internacional de La Rioja (UNIR)

de redes. Se implementa mediante contadores de salto o medidas de tiempo reales.

Segmentación y reensamblado. Al viajar los datagramas por distintas redes con


distintos tamaños máximos, estos se fragmentan. El reensamblaje se produce en la
máquina destino.

Material complementario
33
Temas
Control de errores. Cuando un router descarta un datagrama, se debe intentar
devolver una información al origen, para que este cambie su estrategia. Los
datagramas pueden descartarse por expiración de tiempo, congestión, error en CRC,
etc.

Formato del datagrama IP

Consta de una cabecera y una parte de datos. La cabecera tiene una parte fija de 20
bytes y una parte opcional de longitud variable.

Figura 23. Datagrama del IP.

Versión. Indica la versión del protocolo (IPv4).

IHL. Longitud de la cabecera IP en palabras de 32 bits (>=5).

Tipo de servicio. Información destinada a los routers, para indicarles las prioridades
© Universidad Internacional de La Rioja (UNIR)

deseadas para ese tipo de información.

Figura 24. Prioridades.

Material complementario
34
Temas
 Prioridad: 0 mínima, 7 máxima.
 D, T, R: Tipo de transporte solicitado a la red para este datagrama.
• D Bajo retardo.
• T Alta capacidad.
• R Alta fiabilidad.

Longitud total. El tamaño total del datagrama en bytes (cabecera más datos), es como
máximo 64 KB.

Identificación. En caso de fragmentación, todos los fragmentos del datagrama tienen el


mismo identificador. Necesario para que el ordenador destino ensamble los trozos en los
que pudo ser dividido un datagrama en su transmisión.

DF (Don´t fragment). Indica a los routers que no fragmenten el datagrama porque el


destinatario no puede recomponerlo (recuerda de la práctica 1 que c:\>ping
www.unir.net –f –l 2000 da error, y es que el -f activa el bit DF a 1 y obliga a no
fragmentar el paquete siendo necesario).

MF (More fragment). Indica que hay más fragmentos. Activo en todos los fragmentos
menos en el último.

Desplazamiento de fragmento. Indica la ubicación del fragmento dentro del datagrama


original.

Tiempo de vida (TTL). Sirve para descartar un datagrama cuando ha dado un número
excesivo de saltos o ha pasado un tiempo excesivo viajando por la red. Consta de un
contador descendente que indica el tiempo de vida restante del datagrama, de forma
© Universidad Internacional de La Rioja (UNIR)

que si llega al valor cero, este se descarta. Cada router por el que pasa resta uno del
campo TTL, independientemente del tiempo que tarde en reenviarlo (para evitar que
posibles bucles permitan a un datagrama viajar indefinidamente en la red).

Material complementario
35
Temas
Si se ha producido fragmentación, y dado que IP no garantiza la llegada de todos los
datos, se debe utilizar un sistema de temporización en destino que controle que, al pasar
un tiempo y si no se hubiera recibido la totalidad del datagrama origen, habría que
descartarlo, y esto se puede hacer bien lanzando un temporizador desde la llegada del
primer datagrama o dado que cada datagrama llegará al host destino con un TTL,
decrementando el valor del TTL en uno por cada segundo de espera.

Protocolo. La entidad IP, al procesar y quitar la cabecera del datagrama, debe saber a
qué protocolo entregarlo: TCP(6), UDP(17), ICMP(1), etc.

La siguiente tabla muestra algunos valores de protocolos válidos:

VALOR PROTOCOLO DESCRIPCIÓN

0 Reservado

1 ICMP Internet Control Message Protocol

2 IGMP Internet Group Management Protocol

3 GGP Gateway-to-Gateway Protocol

4 IP IP en IP (encapsulado)

5 ST Stream

6 TCP Transmission Control Protocol

8 EGP Exterior Gateway Protocol

17 UDP User Datagram Protocol

29 ISO-TP4 ISO Transport Protocol Clase 4

38 IDRP-CMTP IDRP Control Message Transport Protocol

80 ISO-IP ISO Internet Protocol (CLNP)


© Universidad Internacional de La Rioja (UNIR)

88 IGRP Internet Gateway Routing Protocol (Cisco)

89 OSPF Open Shortest Path First

255 Reservado

Tabla 7. Valores de protocolos válidos.

Material complementario
36
Temas
Código de redundancia de la cabecera. Detecta errores en la cabecera, no en los
datos. Ya que este valor puede cambiar durante el viaje (TTL) se verifica y recalcula
en cada dispositivo de encaminamiento. No es un polinomio como un CRC sino el
complemento a uno en 16 bits de la suma complemento a uno de toda la cabecera
tomada en campos de 16 bits (incluidos los campos opcionales si los hay). Un error
del paquete en el mensaje notificador de error, implicaría tirar el paquete sin avisar
al host emisor.

Dirección fuente. Dirección IP del equipo que envía el datagrama.

Dirección destino. Dirección IP del equipo destinatario del datagrama.

Opciones. Entre otros permite:

 Registro de la ruta: Solicita a los routers por los que pasa que anoten su dirección
en la cabecera del datagrama, con lo que al final del trayecto se dispone de una
traza de la ruta seguida para fines de prueba o diagnóstico de problemas. El
máximo de direcciones que puede registrarse es de 9.

 Marca de tiempos: Similar al anterior, pero el router en lugar de anotar su


dirección anota el instante (desde las 00:00 y en ms.) en el que el datagrama pasa
por él. Ping puede usar este campo para registrar la ruta y hora (opción −𝑠).

 Encaminamiento desde el origen: permite al emisor especificar la ruta que debe


seguir el datagrama hasta llegar a su destino. Ping permite solicitar el uso de estos
campo para especificar la ruta (opciones – 𝑗 y – 𝑘).
© Universidad Internacional de La Rioja (UNIR)

Es recomendable el uso de las opciones en situaciones de prueba o diagnóstico, al


poder producir problemas de rendimiento.

Relleno. Son bits de relleno. Cuando se utilizan opciones en el campo Opciones, los
datagramas se rellenan con bits a cero, para el ajuste a 32 bits.

Material complementario
37
Temas
Datos. Son los datos contenidos en el datagrama que pasan al protocolo superior
indicado en el campo protocolo. Por definición el tamaño máximo de un datagrama
IP es 65535 bytes, y suponiendo la cabecera IP de 20 bytes, quedan 65515 bytes de
datos.

Fragmentación y reensamblado en el protocolo IP

Cuando los datagramas IP viajan de unos equipos a otros, pueden atravesar


diferentes redes. El tamaño máximo de estos paquetes puede variar de una red a otra
dependiendo del medio físico.

A este tamaño se le llama MTU (unidad máxima de transmisión). Una red no puede
transmitir ningún paquete cuya longitud exceda la del MTU de dicha red.

Para fragmentar:

1. Se comprueba si el indicador DF de la cabecera de IP, permite fragmentación, en


cuyo caso se sigue con el paso 2.

2. Se comprueba si el campo datos se puede dividir en dos o más partes, cada una
de las cuales deberá tener una longitud múltiplo de 8 (bytes).

3. Todas estas partes se colocarán en formato de datagramas IP, cuya cabecera será
una copia de la cabecera original con las siguientes modificaciones:
• El Host, asigna a cada fragmento, un número de identificación, que es el mismo
para todos los que componen el mismo datagrama.
• El bit de «más fragmentos» (MF) se inicia en 1 en todos excepto en el último
© Universidad Internacional de La Rioja (UNIR)

que se pone a 0.
• El campo offset de cada fragmento se inicia al lugar ocupado por cada
fragmento de datos en el datagrama original no fragmentado.

Material complementario
38
Temas
En el host de destino se produce el reensamblado cuando llegan todos los trozos y si
ninguno ha expirado por cuestiones de TTL y, además, han llegado todos, se
recompone en función del campo offset de cada fragmento, obteniéndose de nuevo
el datagrama original.

Reensamblar en el sistema final de destino y no en los dispositivos de


encaminamiento intermedio evita:

 Grandes memorias temporales.


 Posibilitar el encaminamiento dinámico.

Ejemplo de fragmentación y ensamblado

Figura 25. Ejemplo de fragmentación y ensamblado.

El paso del datagrama por el encaminador con MTU=1150, no provoca


fragmentación.

 Al paso por el encaminador con MTU=718, deja pasar 718-20=698 bytes de datos.
© Universidad Internacional de La Rioja (UNIR)

• Fragmentos múltiplos de 8 bytes a excepción del último 698/8=87(696bits,


resto=2). Fragmento1 (696 bytes + 20 cabecera) y fragmento2 (1050-696 + 20
cabecera).

Material complementario
39
Temas
 Al paso por el encaminador con MTU=396, solo provoca fragmentación por
fragmento1.
• Se permite 376 bytes de datos. 376/8=47(376bits). Fragmento1_1 (376 + 20
cabecera) y fragmento1_2 (696-376 + 20 cabecera).

 El paso de todos los datagramas resultantes por el encaminador con MTU=1300,


no provoca fragmentación en ninguno de ellos.

Para reensamblar el datagrama original en destino, se utilizarán los campos Bit M/F,
identificación, desplazamiento del fragmento y longitud total.

Figura 26. Reensamblar el datagrama.

Direccionamiento IP

El esquema de direccionamiento IP es esencial en el proceso de ruteo o


encaminamiento de los datagramas IP.

La dirección de 32 bits se agrupa en 8 bits separados por puntos y representados en


formato decimal.
© Universidad Internacional de La Rioja (UNIR)

Material complementario
40
Temas
Figura 27. Esquema de direccionamiento IP.

El direccionamiento IP soporta cinco clases de direcciones: A, B, C, D y E. Las tres


primeras están disponibles para su uso comercial.

Figura 28. Clases de direcciones.

Clase A: Pocas redes con muchas máquinas (126 redes de 16 777 216 máquinas cada
una).
© Universidad Internacional de La Rioja (UNIR)

Clase B: Número medio de redes y máquinas (16 384 redes de 65 536 hosts cada una).

Clase C: Muchas redes con pocas máquinas (2 097 152 de redes con 256 hosts cada
una).

Material complementario
41
Temas
Direcciones especiales

 A cada host en una red TCP/IP se le asigna una dirección lógica de 32 bits, que se
subdivide en dos partes: el número de red y el número de host o anfitrión.

Figura 29. Dirección lógica: Red y host.

El valor correspondiente a todos los bits del campo host a 1 o a 0 no pueden usarse
ya que se utilizan para unos propósitos específicos:
• Una dirección que tiene los bits del campo host a 0 se reserva para identificar a
la red misma.
• Si todos los bits del campo host están a 1, se trata de una dirección de difusión.

Figura 30. Dirección lógica.

 La dirección 127.*.*.* (en la práctica 127.0.0.1) se utiliza para identificar a la


interfaz interna (loopback), es decir, para la comunicación de procesos internos
© Universidad Internacional de La Rioja (UNIR)

(cliente y servidor) en la máquina local.

Material complementario
42
Temas
 Existen unos rangos reservados para redes locales que no disponen de conexión a
Internet con su propia IP:

A: 10.0.0.0 – 10.255.255.255
B: 172.16.0.0 – 172.31.255.255
169.254.0.0 - 169.254.255.255 (si no responde ningún DHCP, válido
solo en LAN)
C: 192.168.0.0 – 192.168.255.0

Estas direcciones están reservadas para redes privadas (intranet) y sus números
no se asignan a ninguna dirección válida en Internet, por tanto pueden utilizarse
para construir redes, por ejemplo detrás de un firewall, sin riesgo de entrar en
conflicto de acceso con redes válidas de Internet.

Muchas organizaciones usan estos números, disponiendo de otros para las


comunicaciones externas. Una universidad puede usar IPs de estos rangos
privados o falsos (ejemplo: 172.29 en los laboratorios, 192.168 en la red wifi),
aunque para la salida dispone de varias clases C, por ejemplo estos rangos:

inetnum: 193.146.8.0 - 193.146.11.255


inetnum: 193.146.56.0 - 193.146.58.255
inetnum: 212.128.8.0 - 212.128.19.255
inetnum: 212.128.64.0 - 212.128.76.255
inetnum: 212.128.77.0 - 212.128.79.255

Subred y máscara de subred

Problemática: El alto crecimiento de las organizaciones, y el aumento de las LAN


definidas en cada una de ellas dificultan el encaminamiento desde el exterior.
© Universidad Internacional de La Rioja (UNIR)

Solución: Asignar a cada LAN un número de subred, pidiendo bits «prestados» de la


parte local, y designándolos como un campo de subred.

Material complementario
43
Temas
Figura 31. Subred y anfitrión.

Para indicar qué parte de la dirección corresponde a la red y qué parte al host se suele
utilizar una notación denominada máscara de subred (pone a 1 los bits que
corresponden a la parte de red y a 0 los que corresponden a la parte host).

Las máscaras permiten extraer de forma sencilla la parte de red o de host de una
dirección. Por ejemplo un router que ha de enviar un datagrama puede realizar una
operación AND entre la dirección de destino y la máscara correspondiente,
extrayendo la parte de red de la dirección.

Un ejemplo de máscara de subred para direcciones clase B, es 255.255.255.0,


especifica 28 (256) subredes posibles con 28-2 (254) hosts por subred (debo restar una
para la dirección de red y otra para la dirección de multidifusión).
© Universidad Internacional de La Rioja (UNIR)

Figura 32. Ejemplo de máscara de subred.

Material complementario
44
Temas
De esta manera y gracias a la máscara de subred adecuada, se determinan el número
de subredes y de hosts deseados.

Figura 33. Número de subredes y hosts.

Una notación alternativa para las máscaras de subred es indicar la dirección de


subred y posteriormente el número de unos que tiene la máscara de subred.

Así, la red 194.100.100.0 con máscara de subred 255.255.255.0, es equivalente a Red


194.100.100.0/24.

La división en subredes no ha de hacerse necesariamente de forma homogénea en


todo el espacio de direcciones, como hemos hecho hasta ahora. Para esto, se utilizan
máscaras de tamaño variable, es decir, la parte red y la parte host no son iguales en
todas las subredes. Aunque las subredes puedan tener diferente tamaño, no pueden
© Universidad Internacional de La Rioja (UNIR)

solaparse.

Material complementario
45
Temas
Figura 34. Ejemplo de reparto homogéneo del espacio en direcciones Clase C. De la dirección
212.128.12.0, generar cuatro subredes de 62 host cada una de ellas.

Figura 35. Ejemplo de reparto no homogéneo del espacio en direcciones Clase C. De la misma
dirección anterior: 212.128.12.0, generar una subred de 126 host otra que necesite 60 host y
cuatro que necesiten 12 host.
© Universidad Internacional de La Rioja (UNIR)

Material complementario
46
Temas
¿Cómo se usan las máscaras subred?

Figura 36. Cómo se usan las máscaras subred.

Ejemplo (B:\>ping C). El host B obtiene la IP de C (vía DNS o cualquier otra) y recupera
su máscara de subred (255.255.255.128). Después realiza una operación lógica AND
con estos valores para determinar si C está en su misma red.

Figura 37. Resultado cuando no coincide.

B deduce que el resultado de la operación AND en los bits A 1 de la máscara de


© Universidad Internacional de La Rioja (UNIR)

subred (marcados en un recuadro) no coincide con la parte de la subred de su propia


IP, por tanto, C no se encuentra en su LAN. Para llegar a C, lo hará a través de su
puerta de enlace. Dicho de otra forma, los 1 de la máscara de subred me indican los
bits que tienen que ser iguales de mi IP, con la IP obtenida del DNS, para saber si
están en mi misma red local.

Material complementario
47
Temas
Del mismo ejemplo anterior, si hacemos (B:\>ping A). El host B obtiene la IP de A (vía
DNS o cualquier otra) y recupera su máscara de subred (255.255.255.128). Después
realiza una operación lógica AND con estos valores para determinar si A está en la
misma subred.

Figura 38. Resultado cuando sí coincide.

B deduce que el resultado operación AND en los bits A 1 de la máscara de subred


(marcados en un recuadro) sí coincide con la parte de la subred de su propia IP, por
tanto, A sí se encuentra en su LAN. Para llegar a A, lo hará directamente.

¿Y ahora qué? Sabemos que una máquina necesita cuatro parámetros básicos para
funcionar en red, que el administrador de la máquina debe proporcionar: una
dirección IP (que la haga única en su red), la IP de un servidor DNS (para proporcionar
una IP dado un nombre o ruta), una máscara de subred (para determinar si el destino
está o no en su red local), y la IP de la puerta de enlace (o gateway) para en caso de
saber que el destino no está en su red local, enviarle la información para que él la
encamine.

 Si según el ejemplo anterior, B hace un ping a A y determina que sí está en su red


local, necesitara saber la MAC de A para enviarle el mensaje.
© Universidad Internacional de La Rioja (UNIR)

 Si el destino no está en su red, necesitara saber la MAC de la puerta de enlace (solo


sabe su IP) para enviarle el mensaje.

Material complementario
48
Temas
Encaminamiento IP

La decisión del camino a tomar para un datagrama es el proceso de encaminamiento.


Las tablas de encaminamiento serán dinámicas en los nodos intermedios y, en los
hosts finales, normalmente son introducidas a mano.

Figura 39. Encaminamiento IP.

Existen dos tipos de encaminamiento: directo e indirecto.

Encaminamiento directo

Cuando el origen y destino del datagrama está en la misma subred, algo que resuelve
la coincidencia de bits de subred (máscara de subred) en ambas direcciones. En este
caso, el datagrama IP se encapsula en una trama Ethernet. Por ARP se conoce la MAC
© Universidad Internacional de La Rioja (UNIR)

dada la IP conocida, reenviándola por Ethernet.

Material complementario
49
Temas
Figura 40. Encaminamiento directo.

Encaminamiento indirecto

Cuando origen y destino no están en la misma subred. En este caso se encapsula el


datagrama IP en una trama que lleve la dirección MAC del router de salida de la red
(también se debe averiguar previamente la MAC de la puerta de enlace mediante
ARP).

El host origen debe conocer al router de salida, y este al siguiente encaminador


necesario para llegar a destino, continuándose este proceso indefinidamente hasta
llegar el paquete a la subred deseada.

En función de la IP de destino, el host mandara el datagrama por una u otra salida.


Así, si en el ejemplo anterior, el host H_120_3, se quiere comunicar con el host
H_122_3, tendrá el primero en su tabla de encaminamiento el siguiente par:

Figura 41. Tabla de encaminamiento de H_120_3.


© Universidad Internacional de La Rioja (UNIR)

Material complementario
50
Temas
H_120_3 no tiene por qué saber si el router A está conectado al destino directamente
o no. Así el router A tendrá una tabla:

Figura 42. Tabla de encaminamiento del router A.

El router A tampoco sabe si el router B (192.168.121.2) está directamente conectado


o no. La tabla del router B será:

Figura 43. Tabla de encaminamiento del router B.

Ejemplo de encaminamiento

De la dirección: 212.128.12.0:

Genera una subred de 100 host otra de 60 host y cuatro de 12 host.

Realiza un esquema de direccionamiento asignando siempre las primeras


direcciones de las subredes a los routers.

Calcula las tablas de encaminamiento de cualquier router y del primer


© Universidad Internacional de La Rioja (UNIR)

host de la última subred.

Material complementario
51
Temas
Figura 44. Posible solución al ejercicio de encaminamiento.

Ejemplo de funcionamiento de la red anterior

Si al router A le llega un paquete con IP de destino 212.128.12.135, ¿por dónde debe


enrutarlo para llegar a destino? Debe leer cada una de las líneas de su tabla de
© Universidad Internacional de La Rioja (UNIR)

encaminamiento para poder tomar esa decisión.

Material complementario
52
Temas
1ª línea 212.128.12.0 – 255.255.255.128 vía 212.128.12.1

Figura 45. Primera línea de la tabla de encaminamiento.

2ª línea 212.128.12.128 – 255.255.255.192 vía 212.128.12.2

Figura 46. Segunda línea de la tabla de encaminamiento.

3ª línea 212.128.12.192 – 255.255.255.240 vía 212.128.12.3

Figura 47. Tercera línea de la tabla de encaminamiento.

Puedes comprobar el resto de líneas y ver qué ocurre.


© Universidad Internacional de La Rioja (UNIR)

Material complementario
53
Temas
Figura 48. Ejemplo de dos routers conectando tres LAN y sus asignaciones de rutas para Windows y
Linux.

Definición de rutas en hosts

 H1 (ruta por defecto):


• Windows: route add 0.0.0.0 202.1.1.1
• Linux: route add default gw 202.1.1.1

 H2 (rutas explícitas):
• Windows:
 route add 202.1.1.0 mask 255.255.255.0 203.1.1.1
 route add 204.1.1.0 mask 255.255.255.0 203.1.1.2
• Linux:
 route add -net 202.1.1.0 netmask 255.255.255.0 gw 203.1.1.1
 route add -net 204.1.1.0 netmask 255.255.255.0 gw 203.1.1.2
© Universidad Internacional de La Rioja (UNIR)

 Ver rutas:
• route print
• route

Material complementario
54
Temas
 Borrar una ruta:
• Windows: route delete 202.1.1.0
• Linux: route del –net 202.1.1.0 gw 203.1.1.1 netmask 255.255.255.0

Soluciones a la escasez de direcciones de IP

Superredes: Routing classless (CIDR)

Dada la ausencia de direcciones tipo A, las organizaciones tienen que elegir entre una
clase B (escasas y quizás excesiva) o una clase C (quizás insuficiente). Solución: optar
a grupos de clases C.

Se reduce el problema, pero aparece uno nuevo: el crecimiento de las tablas de ruteo.
Al dar grupos de clases C se requiere una entrada diferente para cada red asignada,
provocando un crecimiento exponencial en las tablas de rutas de los routers.

Ante estos problemas se adoptó un sistema denominado CIDR (Classless InterDomain


Routing) y que consiste en:

 Establecer una jerarquía en la asignación de direcciones donde los rangos se


asignan por continentes.
© Universidad Internacional de La Rioja (UNIR)

Figura 49. Rangos asignados por área geográfica.

Material complementario
55
Temas
Cada ISP solicita rangos propios al NIC que le corresponde según el continente
donde se encuentra. Gracias a esto un router en China tendrá una sola entrada en
sus tablas para los paquetes dirigidos a Europa (redes 194.0.0.0 hasta
195.255.255.255) evitando así las 131 072 entradas necesarias para este rango de
direcciones. Para que el agrupamiento de redes clase C sea posible es preciso
modificar el software de los routers, ya que el software no considera el rango
194.0.0.0–195.255.255.255 como una sola red sino como 131 072 redes clase C.

Esto se resuelve, extendiendo el concepto de subred en sentido inverso: decrecer


hacia la izquierda para agrupar varias redes en una mayor (superredes). La parte
de red de la dirección estará dada por la longitud de la máscara (la clase A, B o C
no tendrá significado). Esta supresión de clases da nombre a esta técnica:
enrutamiento entre dominios sin clases o CIDR (Classless InterDomain Routing).

Figura 50. Línea divisoria en superredes.

 La segunda medida es consecuencia de la anterior: dar a cada organización la


posibilidad de solicitar rangos de direcciones sujeto a necesidades y contiguas (y
en potencia de dos), con una máscara de red común.

¿Cómo puede saber un router con facilidad si una IP pertenece a una red? Aplica
© Universidad Internacional de La Rioja (UNIR)

la máscara.

Material complementario
56
Temas
Figura 51. Proceso que sigue un router para saber si una IP pertenece a una red.

• Dirección de la subred: 200.23.16.0/23 -> 200.23.16.0


• Dirección de broadcast: 200.23.16.0/23 -> 200.23.17.255

Este proceso lo ejecuta el router con todas las entradas de su tabla de ruteo, si
ninguna entrada es válida, descarta el paquete, y si hay más de una entrada,
escoge aquella con prefijo más largo (máscara con más 1).

Ejemplo

(Ayúdate de la «Tabla de IP libres» que encontrarás más adelante).

Suponed que la Universidad X necesita más IP, en concreto 2000. Solicita


a REDIRIS 2000 IP con una máscara común, es decir, que se pueda
direccionar todo el rango en una sola línea.

Se le asigna 2048 direcciones (ocho redes clase C). Imaginad que REDIRIS
tuviera disponible el rango 195.100.0.0 a 195.100.255.0 y al dar a otras
Universidades direcciones por orden cronológico, le quedan libres a partir
de la 195.100.12.0.

No es posible asignar a la Universidad X de la 195.100.12.0 a la


195.100.19.0 (el rango es contiguo, pero no hay una máscara común
SOLO para esas ocho redes). El primer rango de 2048 direcciones con
© Universidad Internacional de La Rioja (UNIR)

máscara común única para esas ocho redes es el 195.100.16.0-


195.100.23.0. Las direcciones 195.100.12.0 a 195.100.15.0 quedarán
libres para otros clientes con menores necesidades.

Material complementario
57
Temas
Con esta asignación de direcciones y sin utilizar CIDR el aspecto de la tabla de rutas
para la Universidad X sería:

A 195.100.16.0/24 por 212.128.8.1


A 195.100.17.0/24 por 212.128.8.1
A 195.100.18.0/24 por 212.128.8.1
A 195.100.19.0/24 por 212.128.8.1
A 195.100.20.0/24 por 212.128.8.1
A 195.100.21.0/24 por 212.128.8.1
A 195.100.22.0/24 por 212.128.8.1
A 195.100.23.0/24 por 212.128.8.1

Suponiendo que 212.128.8.1 es la interfaz por la que se accede a la Universidad X. El


uso de CIDR permite sintetizar estas ocho entradas en una sola:

A 195.100.16.0/21 por 212.128.8.1

Figura 52. Tabla de encaminamiento del router de REDIRIS.

Ahora que se sabe que 195.100.16.0/21 agrupa las ocho redes clase C (2048 IP) de la
Universidad X, veamos cómo actuará el router de REDIRIS, ante la llegada de un
© Universidad Internacional de La Rioja (UNIR)

paquete con IP de destino 195.100.22.240 (perteneciente a la Universidad X).

 Comprobación con la primera línea (U. Rey Juan Carlos). ¿Son comunes en los 23
primeros bits?

Material complementario
58
Temas
195.100.22.240 11000011 01100100 00010110 11110000
195.100.0.0 11000011 01100100 00000000 00000000

• No, por tanto el destino no pertenece a la URJC.

 Comprobación con la segunda línea (U. X). ¿Son comunes en los 21 primeros bits?

195.100.22.240 11000011 01100100 00010110 11110000


195.100.16.0 11000011 01100100 00010000 00000000

• Sí, por tanto enviará el paquete a 212.128.8.1.

 Se mira el resto de entradas y si hay más de una entrada coincidente, escoge


aquella con prefijo más largo.

CIDR ha permitido extender considerablemente la vida prevista inicialmente del


espacio de direcciones de 32 bits de IPv4.
© Universidad Internacional de La Rioja (UNIR)

Figura 53. Reparto de direcciones de IPv4.

Material complementario
59
Temas
Figura 54. Tabla de IP libres.
© Universidad Internacional de La Rioja (UNIR)

Material complementario
60
Temas
Traducción de direcciones (NAT)

La dificultad de conseguir IP públicas ha impulsado el uso de las redes privadas


(rangos 10.0.0.0, 172.16.0.0 a 172.31.0.0, y 192.168.0.0 a 192.168.255.0).

NAT consiste en traducir una dirección IP en otra de acuerdo con cierta tabla de
equivalencias. Se utiliza mucho como mecanismo para «extender» el rango de
direcciones disponible en una red. Por ejemplo usar una sola IP pública para dar
acceso a cientos de ordenadores. Normalmente la traducción la realiza el dispositivo
(router) que conecta la red al exterior.

Tipos de NAT

La traducción se puede hacer de dos maneras: modificando únicamente la dirección


IP (NAT básico), o cambiando también el número de puerto TCP o UDP (NAPT
Network Address Port Translation).

Si la traducción de la dirección pública y la privada se realiza de acuerdo con una tabla


de equivalencia, que se carga en la configuración del dispositivo NAT y que no se
modifica dinámicamente, decimos que se trata de NAT estático.

En cambio, si dicha tabla de equivalencia es gestionada dinámicamente por el


dispositivo NAT de forma que las direcciones o números de puerto se puedan
reutilizar, decimos que tenemos un NAT dinámico.
© Universidad Internacional de La Rioja (UNIR)

Figura 55. Combinaciones de NAT Básico, y NAPT con las opciones estática y dinámica.

Material complementario
61
Temas
NAT básico estático. A cada IP privada le corresponde una IP pública y viceversa, por
tanto es preciso disponer de un número de direcciones públicas igual al de
direcciones privadas. Útil en situaciones de máxima sencillez (conectar a Internet una
red clase C privada disponiendo de una clase C pública).

Figura 56. NAT básico estático.

NAT básico dinámico. La tabla de equivalencias IP privada - IP pública se construye a


medida que lo requieren los hosts, caducando las entradas al terminar la conexión
(TCP) o expirado un tiempo de inactividad (UDP), de esta forma se puede permitir su
reutilización. Los números de puerto no se modifican.

Las IP públicas pueden ser menos que las privadas, pero suficientes para el número
de máquinas que se quieran conectar simultáneamente al exterior. Ahorra IP frente
al NAT básico estático.
© Universidad Internacional de La Rioja (UNIR)

Material complementario
62
Temas
Figura 57. NAT básico dinámico.

NAPT estático. La tabla es estática y las entradas incluyen la dirección IP y el número


de puerto TCP o UDP. Permite virtualizar servidores (asigna el puerto 21, servidor
FTP, de una IP pública del NAT al puerto 21 de un host en la red privada).
© Universidad Internacional de La Rioja (UNIR)

Figura 58. NAT estático.

Material complementario
63
Temas
NAPT dinámico. La tabla de equivalencias se construye dinámicamente, a demanda
de los hosts, y las entradas de la tabla incluyen la dirección IP y el número de puerto,
caducando al terminar la conexión (TCP) o pasado un tiempo de inactividad (UDP),
permitiendo su reutilización.

Así es posible aprovechar una IP pública para conectar al exterior varias máquinas a
la vez, al aprovechar el número de puerto UDP o TCP para multiplexar conexiones de
hosts diferentes. Este aprovechamiento de IP públicas es inversamente proporcional
a la complejidad de implementación.

Figura 59. NAT dinámico.

Consecuencias y limitaciones de NAT

Una consecuencia de NAT son las modificaciones que sufre el paquete IP, al cambiar
© Universidad Internacional de La Rioja (UNIR)

la dirección IP será preciso modificar:

 La cabecera IP, incluido el checksum.


 El checksum de la cabecera TCP o UDP (se utiliza la dirección IP para calcularlo).

Material complementario
64
Temas
 En NAPT hay que modificar el número de puerto TCP/UDP y los correspondientes
checksums (de TCP/UDP y de IP).
 Los mensajes ICMP contienen direcciones IP que hay que modificar.

Limitaciones de NAT

En cualquier protocolo de aplicación que incluya, en la parte de datos, información IP


o puertos TCP/UDP es un reto para NAT, pues la detección y modificación es compleja
y requiere que NAT analice información perteneciente al nivel de aplicación.

 Comandos de inicio FTP que incluyen IP en ASCII:


206.245.160.2 → 192.168.0.2 (usar 192.168.000.2)
192.168.0.2 → 206.245.160.2 (intercalar caracteres).

Dicen algunos autores, que el mejor NAT es el que no existe, y que la solución está
en la migración de IPv4 a IPv6, pero mientras esto ocurre, necesitamos a NAT como
una herramienta muy útil.

2.2. Otros protocolos del nivel de red

ARP

ARP (protocolo resolutor de direcciones), se utiliza para averiguar la dirección física


de una máquina (MAC) sabiendo su IP, ya que las máquinas conectadas a una red
física solo pueden comunicarse a través de sus respectivas direcciones físicas.
© Universidad Internacional de La Rioja (UNIR)

Material complementario
65
Temas
Figura 60. ARP.

Comunicación dentro de la misma red física

Si A quiere comunicarse con B (ej. A:\>ping B), será el servidor DNS quien ofrezca a
A la IP de B. A través de la máscara de subred, A determina que pertenece a su propia
red y, para conocer la MAC de B, consulta en caché la Tabla de Direcciones ARP,
(correspondencia entre dirección IP y dirección física, con un valor de caché
temporizado a 15 minutos). Si existe la entrada se procede a la transmisión. Si no
existe la dirección en la tabla, se genera una petición ARP con dirección destino
broadcast de esta forma:
© Universidad Internacional de La Rioja (UNIR)

Figura 61. Comunicación dentro de la misma red física.

Material complementario
66
Temas
 A genera una petición ARP: ¿quién es 130.206.85.2?
 El resto (B, C y el router) capturan la pregunta y fichan a 130.206.85.2, es decir, le
incluyen en su caché ARP.
 B manda una respuesta ARP unicast diciendo que él es ese (y su dirección MAC).
 A recoge la respuesta, la pone en su caché ARP (caduca pasados unos 15 minutos
de inactividad) y envía el ping.

Cada uno de estos mensajes se envía encapsulados en una trama Ethernet.

Figura 62. Mensaje ARP tratado como datos.

Comunicación con una máquina de otra red física

Si A quiere comunicarse con X, al igual que antes, será el servidor DNS quien ofrezca
a A la IP de X. A través de la máscara de subred, A determinará que X no está en su
misma LAN.

A mira en su tabla de encaminamiento a quién dirigir un paquete con destino fuera


© Universidad Internacional de La Rioja (UNIR)

de su LAN, es decir, localiza a su puerta de enlace con el exterior (en este caso el
router A 130.206.85.1).

Material complementario
67
Temas
A partir de aquí el proceso es igual que el descrito anteriormente:

Figura 63. Comunicación con una máquina de otra red física.

Prueba en tu máquina arp –a y visualiza las tablas de conversión de direcciones IP en


direcciones físicas que utiliza el protocolo de resolución de direcciones (ARP).

Envenenamiento ARP (ARP Poison)

A envía un paquete de petición ARP con MAC de destino broadcast, preguntando cual
es la MAC de la tarjeta que tiene como IP 192.168.0.3.

El host espía envía a A respuestas ARP haciendo creer que B es él, así todas las tramas
que vayan a B pasan por el host espía. Para evitar que A se dé cuenta, este host espía
© Universidad Internacional de La Rioja (UNIR)

reenvía a B las tramas que ha capturado. Además se mandan respuestas ARP


continuamente para tener la caché engañada. Análogamente se hace con B lo mismo,
haciendo que el tráfico hacia A pase por este host espía. Al switch se le hace creer
que por el puerto donde está el host espía tenemos a B mandándole tramas con la
MAC de la víctima.

Material complementario
68
Temas
Este ataque falsea ARP con la MAC del atacante de modo que el tráfico pasa por el
ordenador espía. Ettercap es uno de los múltiples sniffer que funciona bajo este tipo
de ataque.

Figura 64. Envenenamiento ARP.

La solución óptima es configurar los puertos del switch como seguros, asociando a un
puerto una o varias MAC para que filtre todas las tramas que no lleven en su dirección
de origen alguna de esas MAC.

RARP

RARP (Protocolo inverso de resolución de direcciones) se utiliza en máquinas sin disco


conectadas a una red, por tanto, incapacitadas de conocer su dirección IP tras el
arranque inicial.

Para averiguarla, usan la red para contactar con un servidor que les proporcione su
dirección IP dada su dirección física.
© Universidad Internacional de La Rioja (UNIR)

Al recibir el servidor la petición, busca la dirección IP correspondiente a la dirección


física indicada. Al encontrarla envía un paquete al host de origen con esta
información.

Material complementario
69
Temas
Figura 65. RARP.

El problema es que solo devuelve la dirección IP, no la máscara, router, MTU, etc.
Además, los routers no reenvían mensajes ARP/RARP (no son paquetes IP). Por tanto
el servidor RARP ha de estar en la misma LAN que el cliente.

Para superar este problema, se ha creado un protocolo alternativo de arranque


BOOTP (Bootstrap Protocol), el cual utiliza mensajes UDP, que sí son reenviables por
los routers.

Servidor y el cliente pueden estar en LAN diferentes. En la LAN del cliente debe haber
un agente responsable de capturar la pregunta BOOTP (broadcast) para reenviarla al
servidor remoto.

DHCP

IETF diseñó en 1993 el protocolo DHCP (Dynamic Host Configuration Protocol RFC
1541), un mecanismo de asignación de direcciones IP muy versátil, donde los clientes
pueden recibir sus direcciones por uno de los tres mecanismos siguientes:
© Universidad Internacional de La Rioja (UNIR)

 Indefinido y estático (fijado por el administrador).


 Automático (también estático), aunque elegir la IP es una decisión del servidor
DHCP la primera vez que el equipo le solicita su dirección.

Material complementario
70
Temas
 Asignación dinámica. El cliente recibe la IP del servidor durante un determinado
tiempo, el cual caducado, se deberá renovar su solicitud o de lo contrario la
concesión expirará. Así, una misma IP la pueden utilizar diferentes máquinas en
diferentes momentos.

DHCP es el protocolo preferido para la configuración remota de máquinas en LAN y


lo más parecido a la autoconfiguración en IPv4. Además proporciona una solución en
entornos con un número mayor de host que de direcciones IP.

DHCP mejora la seguridad y fiabilidad de una red, a la vez que simplifica las labores
de administración.

Un inconveniente es que si se desea rastrear un problema, si solo se tiene la dirección


IP resulta más difícil averiguar la máquina o usuario causante.

Figura 66. DHCP.


© Universidad Internacional de La Rioja (UNIR)

Material complementario
71
Temas
Figura 67. Configuración de un servidor DHCP con asignación dinámica y estática de direcciones.

Servidor DHCP con «alquiler» de IP a los clientes por un tiempo limitado. Se


especifican una serie de parámetros: tiempo de alquiler por defecto y el tiempo de
alquiler máximo, máscara de subred, dirección de broadcast, router por defecto,
servidores de DNS y nombre de dominio. Se reserva la IP .101, para un servidor Web,
que se quiere que tenga siempre la misma dirección IP y no una alquilada por un
período de tiempo determinado.

ICMP

ICMP (Protocolo de Mensajes de Control de Internet) proporciona información de


realimentación sobre problemas del entorno de la comunicación, aunque también
se usa para probar Internet.

Algunos de los mensajes ICMP son:


© Universidad Internacional de La Rioja (UNIR)

 Destino inalcanzable: Un router puede devolver este mensaje si no sabe cómo


alcanzar la red de destino.
 Tiempo excedido: Un router devuelve este mensaje si el tiempo de vida del
datagrama ha expirado.

Material complementario
72
Temas
 Problema de parámetro: Devuelto por el dispositivo de encaminamiento si
localiza un error sintáctico o semántico en la cabecera IP.
 Ralentización del origen: Básico control de flujo. Este mensaje se envía cuando el
buffer se llena al 80 %, para que se ralenticen los mensajes.
 Redirección: Información de un router a una máquina de la existencia de una
mejor ruta para su destino en particular.
 Solicitud y respuesta de eco: Mensajes para comprobar la alcanzabilidad de una
máquina, ej. ping.
 Marca de tiempo y respuesta a marca de tiempo: proporcionan un mecanismo
para muestrear las características en cuanto al retardo del conjunto de redes.

El mensaje de ICMP va encapsulado en IP, transmitiendo el datagrama de la forma


habitual, por tanto no se garantiza su entrega y no se puede considerar seguro.
© Universidad Internacional de La Rioja (UNIR)

Figura 68. Mensajes ICMP.

Material complementario
73
Temas
La cabecera ICMP ocupa 8 bytes (los cuatro primeros son siempre iguales) y tiene una
sección de datos variable. ICMP siempre informa de los mensajes de error al nodo
origen.

Figura 69. Cabecera ICMP.

Contenido de un paquete IP con un mensaje ICMP de error, que informa al datagrama


que inicio la conexión.

El campo 8 bytes indica el número de puerto (TCP o UDP) al cual dirigirse (así como
el número de secuencia TCP).

Ping y traceroute

Ping (Packet Internet Groper) utiliza el mensaje de ICMP solicitud de eco para
comprobar la alcanzabilidad de una máquina. Se obtendrán mensajes ICMP de
respuesta de eco si el host destino está activo, si no es alcanzable, el mensaje ICMP
informará de las razones (tiempo agotado TTL=0, host inalcanzable, etc.).

Traceroute permite averiguar la ruta entre dos host y está basado en el decremento
de TTL por los routers y por el envío de ICMP Tiempo excedido.
© Universidad Internacional de La Rioja (UNIR)

El host inicial envía un datagrama UDP dirigido al host final con el campo TTL=1 (en
realidad son tres pero todos con el mismo efecto), al llegar al primer router
decrementa el paquete en una unidad (TTL=0), por tanto, tira el paquete y devuelve
un ICMP de Error Tiempo excedido. Este es un paquete IP con dirección origen la del
router. A continuación el host de origen envía un nuevo datagrama UDP con TTL=2,

Material complementario
74
Temas
el primer router decrementa TTL a 1 y lo reenvía, en el segundo router, TTL=0, tira el
paquete y devuelve al host origen un ICMP de Error Tiempo excedido..., y así
sucesivamente.

Llega un momento que el TTL es lo suficientemente grande como para llegar hasta el
destino final, TTL no llegará a valer 0, por tanto no habrá rechazo de Error de tiempo
excedido; el rechazo ocurre porque se utiliza un número de puerto muy alto y no hay
ninguna aplicación esperando, paquetes UDP, por tanto tira el paquete y devuelve a
origen un ICMP de «Error puerto destino inalcanzable», así el host origen sabrá que
este es el último.

2.3. El router como dispositivo de interconexión de redes locales

Ahora veremos cómo se comporta un router como elemento de interconexión de


LAN. Funcionalmente, trabaja como un puente (hace almacenamiento de tramas,
consulta una tabla y reenvía tramas), pero ahora la tabla es la de encaminamiento y
se reenvía el datagrama IP cambiando las cabeceras Ethernet. Las máquinas tendrán
direcciones IP de diferentes subredes y para el nivel Ethernet de las máquinas, la
presencia del router es manifiesta: para enviar un datagrama de una LAN a otra, la
máquina de una LAN compone una trama Ethernet con destino la dirección Ethernet
(o dirección MAC) del router.

IP sobre Ethernet con puente


© Universidad Internacional de La Rioja (UNIR)

Figura 70. IP sobre Ethernet con puente.

Material complementario
75
Temas
Lo habitual, es que todas las máquinas tengan IP de la misma subred. El puente no
tendrá asignada ninguna IP y si A quiere enviar un datagrama IP a E, procederá de la
siguiente manera:

 La tabla de encaminamiento de A le dice que E es vecino suyo.


 A envía el siguiente paquete IP dentro de una trama Ethernet.

Figura 71. Trama Ethernet en IP sobre Ethernet con puente.

 El puente consulta su tabla de direcciones Ethernet y reenvía la misma trama por


la subred inferior.
 Si fuera necesario ejecutar ARP y broadcast, lo hará el puente.

IP sobre Ethernet con router


© Universidad Internacional de La Rioja (UNIR)

Figura 72. IP sobre Ethernet con router.

Lo normal es que, a cada lado del router, las máquinas tengan direcciones IP de
diferentes subredes, en este caso, cada interfaz del router tendrá asignada una
dirección IP de la subred correspondiente.

Material complementario
76
Temas
Si A quiere enviar un datagrama IP a E:
 La tabla de encaminamiento de A le dice que E no es vecino suyo y tiene que pasar
por el router.
 A envía el siguiente paquete IP dentro de una trama Ethernet, con MAC destino la
del router.

Figura 73. Trama Ethernet en IP sobre Ethernet con router.

 El router consulta su tabla de encaminamiento y reenvía el paquete IP dentro de


una trama Ethernet con destino E.

Figura 74. Reenvío del paquete IP.

 Puede ser necesario ejecutar ARP en alguna de las dos subredes.

IP sobre Ethernet con puente y router


© Universidad Internacional de La Rioja (UNIR)

Figura 75. IP sobre Ethernet con puente y router.

Material complementario
77
Temas
El disponer de ambos dispositivos permite mezclar máquinas de las dos subredes en
los dos buses.

Si A quiere enviar un datagrama IP a B (ver figura 75 (1)):


 La tabla de encaminamiento de A le dice que B es de su subred, y lo envía
directamente en una trama Ethernet que propaga el puente.

Figura 76. Trama Ethernet que propaga el puente de A a B.

Si B quiere enviar un datagrama IP a F:


 B envía el paquete dentro de una trama, con MAC destino R1 (ver figura 75 (2)).

Figura 77. Trama Ethernet que propaga el puente de B a R1.

 Gracias al puente el paquete llega al router, y lo reenvía a F (ver figura 75 (3)).


© Universidad Internacional de La Rioja (UNIR)

Figura 78. Trama del router a F.

Material complementario
78
Temas
IP sobre Ethernet con router, IP aliasing y Proxy ARP

Figura 79. IP sobre Ethernet con router, IP aliasing y Proxy ARP.

Si solo hay un router, es imprescindible usar IP aliasing: asignar dos IP a la misma


interfaz de comunicaciones.

Si B quiere enviar un datagrama IP a F:


 B envía el paquete dentro de una trama, con MAC destino R2 (la interfaz inferior,
que tiene una IP vecina a E) (ver figura 79 (1)).

Figura 80. Trama Ethernet de B a R2.

 El router lo reenvía en una trama Ethernet con destino F (ver figura 79 (2)).
© Universidad Internacional de La Rioja (UNIR)

Figura 81. Trama Ethernet de R2 a F.

Material complementario
79
Temas
Para que A pueda enviar un datagrama IP a B es imprescindible usar Proxy ARP (ARP
delegado): cuando A hace un ARP preguntando por la MAC de B, el router responde
dando la suya para que A le envíe la trama. La tabla de encaminamiento del router
debe tener las entradas de máquina adecuadas para poder usar la interfaz
correspondiente a cada destino.

2.4 Protocolos de ruteo

Internet es la interconexión de múltiples redes de diversas organizaciones,


compartiendo el protocolo IP en el nivel de Red. Existen dos aspectos en los que las
redes pueden diferir:

 El protocolo de ruteo: Aun utilizando el mismo dos proveedores diferentes no


querrán que sus routers intercambien entre sí la misma información de ruteo que
intercambian internamente.
 Política de intercambio de tráfico: Acuerdos bilaterales entre proveedores,
indisposición a ser utilizado como vía de tránsito, etc.
© Universidad Internacional de La Rioja (UNIR)

Figura 82. Protocolos de ruteo.

Material complementario
80
Temas
Sistema autónomo (AS) es un conjunto de redes y routers que intercambian
información a través de un protocolo de encaminamiento común, gestionados por
una única organización.

Los ISP reciben números de dos bytes que se registran en el IANA, igual que las
direcciones IP (RedIRIS es un ISP más y es un sistema autónomo propio con el número
766).

Igual que en IP, existen rangos de números de sistemas autónomos reservados para
sistemas autónomos privados (del 64512 al 65535). De esta forma los routers de las
Universidades de Madrid y la U. X forman un S.A. privado, cambiando información de
ruteo entre ellos, pero no con otros.

Un protocolo de ruteo interno (IRP) pasa la información de encaminamiento entre


los dispositivos de encaminamiento dentro de un sistema autónomo. Los principales
protocolos de ruteo interno son RIP y OSPF.

Un protocolo de ruteo externo (ERP) es el protocolo que se utiliza para pasar


información de encaminamiento entre sistemas autónomos. El principal protocolo de
ruteo externo es BGP.

RIP y RIPv2 (Protocolo de información de ruteo)

RIP es el original de Internet, y requiere que cada router transmita su tabla de


encaminamiento completa.

Está basado en el vector de distancias: mide el número de saltos, para determinar el


© Universidad Internacional de La Rioja (UNIR)

camino óptimo de un paquete. No soporta subredes ni máscaras de tamaño variable


(si en RIPv2).

Material complementario
81
Temas
Un router envía cada 30’’ su tabla de encaminamiento a los routers vecinos (esta
información se propaga rápidamente). Cuando un router recibe todos estos
mensajes, los utiliza para actualizar sus propias tablas de encaminamiento.

RIP no toma en cuenta la velocidad de los enlaces (un camino de enlaces más rápidos
a un salto más que un camino con enlaces más lentos, RIP determina esta última
como ruta óptima).

Para evitar ciclos de ruteo (redes con enlaces redundantes), RIP dispone de un
contador de saltos de hasta máximo 15, al llegar a 16 RIP lo considera no disponible
(por tanto, está limitado a redes en las que nunca es necesario pasar por más de 15
routers).

Figura 83. Cálculo de la cuenta de saltos a un destino.

OSPF (Primero el camino abierto más corto)


© Universidad Internacional de La Rioja (UNIR)

Cada router mantiene las descripciones del estado de sus enlaces locales a las redes,
transmitiendo periódicamente esta información a los routers de los que tiene
conocimiento.

Material complementario
82
Temas
Sus propiedades son:

 Enrutamiento basado en el tipo de servicio (rápido, seguro, etc.), usando el campo


de IP tipo de servicio.
 Realiza equilibrio de cargas: también utiliza la segunda mejor ruta.
 Algoritmo dinámico de rápida adaptación a cambios de topología.
 Soporta rutas de subred.

El enrutamiento de tipo de servicio se realiza en base a varias tablas, una con costos
cuando la métrica es el retardo, otra para el rendimiento y otra para la confiabilidad,
esto triplica los cálculos, pero permite rutas separadas de optimización.

Existen las siguientes clases de routers en OSPF:

 Routers backbone: los que se encuentran en el área 0.


 Routers internos: pertenecen únicamente a un área.
 Routers frontera de área: los que conectan dos o más áreas (una de ellas
necesariamente el backbone).
 Routers frontera de AS: los que conectan con otros AS. Pueden estar en el
backbone o en cualquier otra área.

Y los siguientes tipos de rutas:

 Intraárea: las determina directamente el router.


 Interárea: se resuelven en tres fases:
• Ruta hacia el router backbone en el área.

• Ruta hacia el área de destino en el backbone.


© Universidad Internacional de La Rioja (UNIR)

• Ruta hacia el router en el área de destino.


 Inter-AS: se envían al router frontera más próximo (empleando alguna de las dos
anteriores).

Material complementario
83
Temas
Para el intercambio de información cada router genera un mensaje HELLO
periódicamente por todas sus interfaces. Así se asegura que las líneas permanecen
operativas. Con la información que tiene y la que obtiene, calcula las rutas óptimas
para cada destino en cada momento.

Figura 84. Funcionamiento de OSPF.

Cuando existen varios routers, es ineficiente por redundante el intercambio de


información «todos con todos». En estos casos OSPF prevé que uno de los routers
sea el router designado, el único que intercambiará información con todos los demás.
© Universidad Internacional de La Rioja (UNIR)

Figura 85. Sin y con router designado.

Material complementario
84
Temas
BGP (Protocolo de pasarela exterior)

BGP, es un protocolo de ruteo externo (entre sistemas autónomos), que utiliza


conexiones TCP, escondiendo los detalles de la red por la que se pasa.

Existen consideraciones políticas, de seguridad, económicas, etc. para restringir el


enrutamiento entre sistemas autónomos. Algunos ejemplos de restricciones son:

 Prohibir el tránsito a ciertos AS.


 No poner a Irak en una ruta que se inicie en el Pentágono.
 No utilizar EE.UU, para ir de Inglaterra a Canadá.
 El tráfico con inicio o final en IBM, no debe transitar por Microsoft.

Las políticas se configuran manualmente en cada router BGP.

Está basado en el vector distancia, en lugar de mantener solo el costo a cada destino,
cada router BGP lleva la trayectoria seguida. Así, en vez de dar periódicamente a cada
vecino sus costos de todos los destinos posibles, cada router le dice a su vecino la
ruta exacta que está usando.
© Universidad Internacional de La Rioja (UNIR)

Figura 86. BGP (Protocolo de pasarela exterior).

Material complementario
85
Temas
Puntos neutros de interconexión

El intercambio entre dos ISP no siempre es óptimo; en España Telefónica y British


Telecom (BT) harían su intercambio de datos a través de un punto fuera de España.
La solución es llegar a un acuerdo para que se establezca un intercambio directo en
España. Cuando el número de proveedores crece, la cantidad de enlaces también.
Para reducir estos últimos se crean los puntos neutros de interconexión.

Un punto neutro se basa en un conmutador LAN en el que a cada proveedor se le


asigna una LAN a la que puede conectar sus routers. Los routers de diferentes
proveedores intercambian información de routing mediante BGP.

En España hay un punto neutro de interconexión en el Centro de Proceso de Datos


de Banesto, en Madrid, denominado ESPANIX (http://www.espanix.net/). Algunos de
los integrantes de ESPANIX son: Red, Telefónica, Vodafone...

Los proveedores que no tienen enlaces internacionales con Internet utilizan


necesariamente los servicios de alguno de los proveedores antes mencionados. Por
tanto su conexión al punto neutro es a través de su proveedor.
© Universidad Internacional de La Rioja (UNIR)

Figura 87. Puntos neutros de interconexión en España.

Material complementario
86
Temas
Figura 88. Peering entre miembros.
© Universidad Internacional de La Rioja (UNIR)

En Europa, euro-ix recoge todos los puntos neutros que existen, se accede desde la
dirección https://www.euro-ix.net/isp/choosing/map/

Material complementario
87
Temas
Las universidades se conectan a REDIRIS a través de la infraestructura de red de
REDIMadrid. Esta dispone de tres anillos de doble fibra que conectan a las
instituciones afiliadas con el nodo central de la red, situado en dependencias del CTI-
CSIC, desde donde se proporciona conectividad con RedIRIS, la Red Académica
Nacional.

Figura 89. REDIMadrid.

2.5. IPv6

IPv6 es el nombre oficial de la nueva versión de IP propuesta por la IETF (Internet


Engineering Task Force RFC 2460 12/1998).

Problemática de IP (IPv4)

El principal problema de IP es la limitación impuesta por el campo de dirección (32


© Universidad Internacional de La Rioja (UNIR)

bits - 4000 millones de direcciones), algo impensable para el protocolo TCP/IP cuando
fue desarrollado.

Material complementario
88
Temas
Razones por la que resulta inadecuado utilizar direcciones de 32 bits:

 La estructura <numerodered-host> economiza poco el espacio de direcciones.


 Las redes proliferan rápidamente a través de LAN múltiples y LAN inalámbricas.
 Es imprescindible permitir la asignación de IP múltiples a cada máquina.

IPV6 aumentará de los 4300 millones de direcciones IP actuales hasta llegar a unos
340 sextillones, una cifra casi imposible de visualizar: 340 + 36 ceros.

Su éxito o fracaso es bastante dependiente de la inversión tecnológica de las grandes


operadoras. Los grandes como Google, Facebook... siguen reticentes con índices de
error en las conexiones de un 0,03 por ciento, quizá poco para una empresa pequeña
pero una cifra apreciable para estos «monstruos».

Cisco asegura que el tráfico IP global se multiplicará por cuatro entre 2011 y 2016
hasta alcanzar 1,3 Zettabytes, lo que supone una tasa de crecimiento interanual del
29 por ciento en este período, según se muestra en la siguiente figura (recordad que
en Estados Unidos un billón son mil millones).
© Universidad Internacional de La Rioja (UNIR)

Figura 90. Tráfico IP global.

Es muy interesante el informe de amenazas sobre IPv6 del Centro Criptográfico


Nacional que hemos puesto a vuestra disposición. Por ejemplo habla del escaneo de

Material complementario
89
Temas
puertos en una red IPv6, algo difícil en principio (por defecto una subred IPv6 será de
64 bits, 18 trillones de direcciones), y que necesitaría mucho tiempo en escanear todo
el espacio. Pero claro si La tendencia de los administradores sigue siendo adjudicar la
primera dirección del rango para los routers, y las posteriores al resto de máquinas,
el escaneo se hace rápido. Resultado, ya hay ataques en IPv6 bastante eficientes.

Los objetivos que introduce IPv6 sobre IPv4 son las siguientes:

 Direcciones: IPv6 utiliza 128 bits de direcciones.


 Eficiencia: Simplifica cabeceras, reduce tablas de routing. Mecanismo de opciones
mejorado.
 Seguridad: Incorpora mecanismos de privacidad.
 Calidad de servicio: Previsto soporte de tráfico en tiempo real.
 Sencillez: posibilidad de autoconfiguración de equipos.
 Movilidad: Permite movilidad manteniendo dirección.
 Evolución: Contempla mecanismo para futuras opciones.
 Compatibilidad: Puede coexistir con IPv4.

Estructura IPv6

Figura 91. Estructura IPv6.


© Universidad Internacional de La Rioja (UNIR)

La cabecera IPv6, es la única cabecera requerida, tiene una longitud de 40 bytes.

Las cabeceras opcionales aparecen a continuación de la cabecera estándar, y se


indica por el campo siguiente cabecera, pudiéndose extender cuanto se considere
necesario.

Material complementario
90
Temas
 Cabecera de opciones salto a salto: Información a examinar por los routers.
 Cabecera de encaminamiento: Proporciona un encaminamiento ampliado.
 Cabecera de fragmentación: Similar a IPv4, salvo que en IPv6 solo se permite la
fragmentación en origen.
 Cabecera de autentificación: proporciona la integridad de los paquetes y la
autentificación.
 Cabecera de encapsulado de la carga de seguridad: Proporciona seguridad.
 Cabecera de las opciones para el destino: Contiene información opcional a ser
examinada en el nodo destino.

Figura 92. Opciones dadas como cabeceras adicionales encadenadas.

Cabecera IPv6
© Universidad Internacional de La Rioja (UNIR)

Figura 93. Cabecera IPv6.

Versión (4 bits): Número de versión del protocolo IP (valor 6).

Material complementario
91
Temas
DS (Differentiated Services): Especifica parámetros de calidad de servicio.

Etiqueta de flujo (24 bits): Para que etiquete aquellos paquetes con tratamiento
especial dentro de la red.

Longitud de carga útil (16 bits): Longitud del resto del paquete IPv6, excluida la
cabecera (longitud total de todas las cabeceras adicionales).

Cabecera siguiente (8 bits): Identifica el tipo de cabecera que sigue inmediatamente


a la cabecera IPv6.

Límite de saltos (8 bits): Equivale al antiguo campo TTL, aunque en este caso, refleja
su uso real.

Dirección origen y destino (128 bits): Dirección origen y destino del paquete.

Aunque la cabecera IPv6 es más grande que la parte obligatoria de IPv4 (40 bytes
frente a 20 bytes), contiene menos campos (8 frente a 12). Esto implica que los
dispositivos de encaminamiento tienen que hacer menos procesamiento por
paquete, lo que agiliza el encaminamiento.

Formato de direcciones IPv6

La notación decimal con puntos usada en IPv4 hace que un número IPv6 sea por
ejemplo:

104.230.140.100.255.255.255.255.0.0.17.128.150.10.255.255
© Universidad Internacional de La Rioja (UNIR)

Para ayudar a hacer la dirección más «legible», IPv6 propone una notación
hexadecimal separado por dos puntos, así el ejemplo anterior quedaría:

68E6:8C64:FFFF.FFFF:0:1180:96A:FFFF

Material complementario
92
Temas
La notación hexadecimal con dos puntos incluye técnicas que la hacen más fácil:

 Una de ellas, nos permite la compresión 0, donde una cadena de ceros repetidos
se reemplaza por un par de dos puntos.

FF05:0:0:0:0:0:0:B3 puede escribirse FF05::B3

 Otra técnica es la incorporación de sufijos en notación decimal, para poder ser


usada en la transición de IPv4 a IPv6.

0:0:0:0:0:0:130.206.80.2
o
::130.206.80.2

Fragmentación y ensamblado en IPv6

Ensamblar se lleva a cabo en el destino final, sin embargo, la fragmentación se


produce únicamente en la fuente original.

Antes de enviar el tráfico, se identifica el mínimo MTU a lo largo de la ruta (mediante


un algoritmo de obtención de ruta), fragmentando al menor de los valores.

Cuando se requiere fragmentar, se inserta una cabecera adicional de fragmentación


después del encabezado en cada fragmento.
© Universidad Internacional de La Rioja (UNIR)

Figura 94. Cabecera adicional de fragmentación.

Fragmentar en origen permite a los router atender un mayor número de datagramas


por unidad de tiempo.

Material complementario
93
Temas
Se puede dar un nuevo cambio de ruta (y cambio en el mínimo MTU establecido), la
solución está en encapsular en un router intermedio IPv6 en IPv6 (tunneling): el
router divide el nuevo datagrama en fragmentos, duplicando el encabezado base e
insertando un encabezado de extensión de fragmento en cada fragmento. En el
destino final, el datagrama es recuperado, recuperando el área de datos del
datagrama ensamblado.

Figura 95. Fragmentación.

Transición de IPv4 a IPv6

Un criterio para la elección de la nueva versión de IP fue el de rechazar cualquier


propuesta, por buena que fuera, que no incluyera un plan viable de transición de
equipos con IPv4 a IPv6.

Pero ¿por qué no está implantado ya IPv6? Entre otros factores, por las mejoras
recientes de IPv4:
© Universidad Internacional de La Rioja (UNIR)

 Direcciones: NAT (Network Address Translation), proxies, cortafuegos, direcciones


privadas.
 Reducción tablas de routing: CIDR.
 Seguridad: IPSEC.
 Autoconfiguración: DHCP.

Material complementario
94
Temas
Los fabricantes e ISP habían mostrado hasta la fecha poco interés por IPv6, pero por
fin parece que despega, por ejemplo Linux 2.6.12 (2005) y Windows Vista (2007)
incorporan IPv6 de forma estándar, esto se ha debido en buena medida a la presión
de los países de la zona del Pacífico: Japón, China y Corea del Sur.

Posibles estrategias de migración de IPv4 a IPv6

Pila dual (Dual stack): cada nodo (host o router) soporta IPv4 e IPv6
simultáneamente, como si fueran protocolos independientes.

Túneles: las redes que soportan IPv6 se comunican a través de zonas que no lo
soportan encapsulando el tráfico en datagramas IPv4.

Traducción: Algunos nodos de la red (que son Dual Stack) se encargan de actuar como
pasarelas o proxies convirtiendo los paquetes de un protocolo en el otro.
Generalmente estos dispositivos han de actuar a nivel de aplicación, ya que cuando
lo hacen a nivel de red o transporte son poco fiables

2.6. Túneles y VPN

Los túneles permiten intercambiar paquetes entre dos redes que utilizan el mismo
protocolo, pero que están unidas por una red que utiliza un protocolo diferente.

Al llevar dos cabeceras, los túneles no son soluciones deseables, ya que portan mayor
sobrecarga, además, los extremos del túnel se convierten en puntos de fallo y
potenciales cuellos de botella.
© Universidad Internacional de La Rioja (UNIR)

Ejemplos de utilización de túneles son:

 6Bone: túneles IPv6 sobre redes IPv4.


 Túnel SNA para enviar paquetes IP.

Material complementario
95
Temas
Aunque el principal uso es el de permitir crear redes privadas virtuales o VPN (Virtual
Private Networks).

VPN es la interconexión de un conjunto de máquinas que hacen uso de una


infraestructura pública, normalmente compartida, para simular una
infraestructura dedicada o privada.

El direccionamiento es independiente del de la red pública y, actualmente, es una


solución muy útil para comunicar una empresa a través de Internet.

Un túnel VPN entre routers permite conectar una LAN a través de una WAN,
encargándose estos de realizar la labor de encapsulado/desencapsulado de
datagramas.

Las VPN permiten conectar una oficina remota a una oficina principal utilizando
Internet (reduciendo costes si se trata de grandes distancias). Con la aparición de
conexiones a Internet de alta velocidad (ADSL), se hace atractivo el uso de túneles
VPN sobre estos servicios para constituir enlaces internos.
© Universidad Internacional de La Rioja (UNIR)

Figura 96. Túneles y VPN.

Material complementario
96
Temas
Tema 3. El nivel de transporte

3.1. Introducción

El nivel de transporte se encarga de proporcionar un control de flujo y de


errores extremo a extremo, recuperándose de los problemas que se producen
en un nivel de red no fiable.

También el nivel de transporte, puede ser un mero transmisor de los datos recibidos
por la red, y dejar que sean las propias aplicaciones quienes realicen el control de
duplicados y la resolución ante posibles pérdidas de información.

Los protocolos de transporte tienen similitudes con los de la capa de enlace en


cuanto a las funciones a realizar. Mientras los segundos se comunican directamente
a través de una canal físico (coaxial, par trenzado, fibra, etc.), en los primeros, este
canal físico se sustituye por la subred completa. A consecuencia de esto:

 En la capa de transporte se necesita un direccionamiento explícito del destino


(evidentemente, en enlace, el destino está en el otro extremo del canal físico).
 Más complejo es el establecimiento de la conexión. En el nivel de enlace, el host
siempre está en el otro extremo del enlace.
 Demora en la entrega de paquetes por la subred, por tanto, estos pueden llegar
cuando no son esperados.
 El nivel de transporte requiere otro enfoque para manejar los buffers.

3.2. Servicios de transporte


© Universidad Internacional de La Rioja (UNIR)

El principal servicio dado por un protocolo de transporte, es el transporte extremo-


a-extremo de datos.

Material complementario
97
Temas
Las propiedades para describir el servicio de transporte son:

Tipos de servicios: Orientado a conexión (O.C.), establecimiento, mantenimiento y


cierre de una conexión lógica entre usuarios y no orientado a conexión (N.O.C.),
similar al servicio de la capa de red.

Calidad del servicio (QoS): Permite al usuario especificar sus valores preferidos,
aceptables y mínimos para varios parámetros.

 Retardos (de establecimiento y cierre de la conexión, del tránsito, de inactividad).


 Rendimiento (bytes de datos transferidos por segundo).
 Tasa de error residual, en teoría 0, en la práctica un valor pequeño (relación
mensajes perdidos/enviados).
 Prioridad. Con congestión, atender en función de prioridad.
 Tenacidad. Posibilidad de terminar una conexión ante problemas internos o
congestionamiento.

La capa de transporte examina estos parámetros y, en función de ellos, determinar si


puede proporcionar el servicio deseado.

Supervisión de la conexión: Procedimientos para comenzar y dar fin a una conexión


(en un servicio O.C.).

Informe de estado: Permite al usuario conocer direcciones, tipos de protocolo,


estado actual de la máquina que realiza la conexión, degradación de la calidad del
servicio.
© Universidad Internacional de La Rioja (UNIR)

Seguridad: Encaminar los datos a través de conexiones o nodos seguros si este


servicio está disponible.

Material complementario
98
Temas
3.3. Mecanismos sobre un servicio de red seguro

Se supone que el servicio de red puede aceptar mensajes de tamaño arbitrario y los
va a enviar en secuencia hacia su destino con una seguridad del 100 %.

Ejemplos de este tipo de servicio los ofrecen las redes X.25 o las redes Frame Relay
con protocolo de control LAPF.

La suposición de servicios de red seguros, permiten el uso de un protocolo de


transporte bastante sencillo, considerando cuatro cuestiones:

 Direccionamiento.
 Multiplexación.
 Control de flujo.
 Establecimiento/cierre de la conexión.

Direccionamiento

Un usuario destino es identificado unívocamente mediante la información siguiente


(para un servicio de red no seguro es exactamente igual):

 Identificación de la estación. Dirección que identifica unívocamente a una


estación del resto (ej.: dirección IP).
 Identificación de la entidad de transporte. En ocasiones no es necesario, ya que
solo hay una entidad para dar servicio a todos los usuarios, pero si hay más de una
(ej.: TCP y UDP) es necesario especificar la entidad de transporte destinataria.
Identificación de usuario. Número de puerto con el que la entidad de transporte
© Universidad Internacional de La Rioja (UNIR)

distingue a sus distintos usuarios.

Material complementario
99
Temas
Para establecer una conexión, el proceso destino debe estar escuchando en un TSAP
(punto de acceso al servicio de transporte) para recibir conexiones. Por tanto el
proceso origen debe incluir en la conexión el TSAP origen y destino.

¿Cómo sabe el proceso origen el TSAP del proceso destino que está escuchando?

Existen dos formas; la primera de ellas, nada utilizada, es conocida como protocolo
de conexión inicial, y consta de un servidor de procesos que está siempre atendiendo
solicitudes en un puerto bien conocido por todos los clientes (ver portmap 111
TCP/UDP en el fichero services). Este proceso, activará al proceso requerido,
indicando al proceso cliente el puerto por el cual está esperando el proceso servidor.

Figura 97. Direccionamiento.

En la segunda forma, los servicios se encuentran en puertos bien conocidos (well-


know ports) por los clientes (fichero /etc/services de UNIX, o c:\winnt...\services
© Universidad Internacional de La Rioja (UNIR)

de WINDOWS). En la parte que presta los servicios, hay un servidor de procesos que
está escuchando en todos los puertos por donde pueden llegar las solicitudes y,
cuando llega una, crea un proceso servidor para atenderla que, tras ser atendida, se
destruye. El cliente simplemente hace una llamada al servicio, como si este estuviese
siempre activo.

Material complementario
100
Temas
# Formato:
#
# <nombre de servicio> <número de puerto>/<protocolo> #[alias...]
[#<comentario>]
#

Figura 98. Puertos bien conocidos.

Multiplexión/División

Una multiplexión ascendente (multiplexión), es la unión de múltiples conexiones en


una sola conexión de la capa inferior, y una multiplexión descendente (división), es
una división entre múltiples conexiones de la capa inferior.

En comunicaciones basadas en circuitos virtuales, cada conexión abierta genera un


© Universidad Internacional de La Rioja (UNIR)

consumo de espacio en las tablas de los router y por tanto un costo por el cobro en
el tiempo de conexión.

El alto precio por tener muchos circuitos virtuales abiertos, hace atractivo el proceso
de multiplexación de diferentes conexiones de transporte en una misma conexión de

Material complementario
101
Temas
red, permitiendo que varios usuarios utilicen el mismo protocolo de transporte
diferenciándose unos de otros en el número de puerto (TSAP).

Por otro lado, si un usuario necesita esporádicamente un gran ancho de banda, el


canal físico dispone de ese ancho de banda, y la subred obliga a un control de flujo
de ventana deslizante, supone un desaprovechamiento del ancho de banda (una
subred con un control de flujo de ventana deslizante de 3 bits, deberá detener el
envío de información cuando entregue 7 TPDU, y esperar a que sean asentidos por el
receptor).

La solución es hacer una división del tráfico en la capa de transporte (que abras varias
conexiones de red), para aumentar el caudal y mejorar el rendimiento.

Figura 99. División del tráfico.

Control de flujo

Si el control de flujo es relativamente sencillo en la capa de enlace, en la de transporte


resulta bastante complejo por:
© Universidad Internacional de La Rioja (UNIR)

 El retardo de transmisión entre entidades de transporte es grande en


comparación con el tiempo de transmisión real.
 Al operar sobre un conjunto de redes, estos retardos son muy variables
(dificultando el uso de temporizadores).

Material complementario
102
Temas
Frente al problema de control de flujo el receptor puede optar por:

 No hacer nada.
 No aceptar más segmentos del servicio de red.
 Protocolo fijo de ventana deslizante (como nivel de enlace).
 Usar un esquema de créditos.

El primero se basa en la retransmisión de segmentos ante la falta de confirmación,


algo sonrojante, ya que estamos en un servicio de red «seguro». La segunda
alternativa se basa en un mecanismo de presión hacia atrás cuando las memorias
están llenas.

Las dos últimas alternativas funcionan bastante bien, aunque el esquema de créditos
es el más utilizado al desligar las confirmaciones del control de flujo.

El esquema de créditos se basa en que la ventana se va cerrando a medida que llegan


los acuses de recibo, pero solo por el extremo inferior de la ventana, el extremo
superior no se desplaza, a no ser que el receptor envíe créditos para ampliar la
ventana.

Este flujo de datos es más suave y en un servicio de red no fiable mucho más efectivo,
no siendo estrictamente necesario en un servicio de red seguro. El envío incluye el
número de secuencia del primer byte en el campo de datos del segmento.

La confirmación incluye AN=i, W=j, donde:

 Se confirman todos los bytes con número de secuencia hasta SN=i-1.


© Universidad Internacional de La Rioja (UNIR)

 Se concede permiso para enviar una ventana adicional de W=j bytes, es decir,
desde i hasta i+j-1.

Material complementario
103
Temas
Figura 100. Control de flujo mediante el mecanismo de asignación de créditos.

En el ejemplo anterior se muestra un control de flujo mediante el mecanismo de


asignación de créditos entre dos entidades de transporte, con un crédito inicial de
1400 bytes iniciándose en el 1001. Cada segmento envía 200 bytes.

A continuación se muestra una perspectiva del mecanismo desde el punto de vista


de emisor y receptor (ambos lados tienen ambas perspectivas, ya que los datos se
pueden intercambiar en las dos direcciones).
© Universidad Internacional de La Rioja (UNIR)

Material complementario
104
Temas
Figura 101. Mecanismo de asignación de créditos según emisor y receptor.

Establecimiento/cierre de la conexión

Aún con servicios de red seguros, es necesario establecer y liberar una conexión para
ofrecer un servicio O.C. con el objetivo de:

 Asegurarse cada extremo de la existencia del otro.


 Negociar parámetros opcionales (tamaño de ventana).
 Reservar recursos para la conexión (memoria).
© Universidad Internacional de La Rioja (UNIR)

La conexión se puede establecer con un saludo en ambos sentidos, donde el nodo


que inicia la conexión (Active Open), envía un segmento SYN para sincronizar,

Material complementario
105
Temas
contestando el otro nodo (Passive Open) con otro SYN. Una vez establecida la
conexión, se procederá al intercambio de datos.

Otra alternativa es que los dos nodos intenten abrir simultáneamente la conexión
(Active Open) enviando casi simultáneamente un SYN cada uno. El resultado es el
mismo, ya que cada extremo dará la conexión por abierta una vez le llegue el SYN del
otro.

En cualquier caso, un extremo puede rechazar una conexión con el envío de un


segmento RST.

El cierre se produce tras el envío de A de un segmento FIN. B ya no esperará más


datos de A, sin embargo la conexión permanecerá abierta en el otro sentido, por
tanto A debe permanecer a la escucha de los segmentos pendientes de B, el cual
enviará también un segmento FIN tras enviar el último.

Figura 102. Establecimiento/cierre de la conexión.

3.4. Mecanismos sobre un servicio de red no seguro

Una interconexión de redes utilizando IP es el más claro ejemplo de un servicio de


© Universidad Internacional de La Rioja (UNIR)

red no seguro, donde los segmentos pueden perderse ocasionalmente o llegar fuera
de secuencia debido al retardo de tránsito variable.

Material complementario
106
Temas
La combinación de inseguridad y no secuenciamiento crea bastantes problemas,
sobre todo al intentar diseñar un protocolo de transporte orientado a conexión.

Las cuestiones a ser tratadas son:

 Transporte en orden.
 Estrategia de retransmisión.
 Detección de duplicados.
 Control de flujo.
 Establecimiento y cierre de la conexión.
 Recuperación de caídas.

Transporte en orden

Es necesario que los segmentos vayan numerados de un modo secuencial. TCP,


numera los bytes que van en cada segmento: si el primer segmento, segmento0, tiene
1000 bytes de datos, el segundo segmento tendrá el número de secuencia 1000,
segmento1000.

Estrategia de retransmisión

Dos eventos que requieren la retransmisión de un segmento:

 Llegada de un segmento dañado a destino (al comprobar el código de detección


de errores).
 El segmento no llega destino.
© Universidad Internacional de La Rioja (UNIR)

En ambos casos no se producirá el envío de ACK y el emisor tendrá asociado un


temporizador de retransmisión para cada segmento transmitido. ¿Qué valor debe
tener el temporizador?

Material complementario
107
Temas
Existen dos estrategias: utilizar un valor fijo o un esquema adaptativo.

El primero está basado en el comportamiento típico de una red, algo bastante


dependiente del más mínimo cambio. El temporizador se fija a un valor un poco
mayor que el retardo de ida y vuelta.

La estrategia adaptativa, tiene sus propios problemas. Si se fijan los temporizadores


en función de los retardos observados, el dato obtenido no es fiable por:

 El receptor no confirma inmediatamente un segmento (confirmaciones


acumulativas).
 Al retransmitir un segmento, llega un ACK, ¿del segmento inicial o del
retransmitido?
 Las condiciones de red pueden cambiar rápidamente.

Existen otros temporizadores necesarios para el correcto funcionamiento del


protocolo de transporte.

Tiempo mínimo entre la liberación de una


conexión y el establecimiento de otra con la misma
Temporizador de reconexión dirección de destino.

Temporizador de ventana Tiempo máximo entre segmento ACK/CREDIT.

Temporizador de retransmisión de SYN Tiempo entre intentos de establecer una conexión.


Para cancelar una conexión cuando no se
Temporizador de persistencia confirman segmentos.
Para cancelar una conexión cuando no se reciben
Temporizador de inactividad segmentos.
© Universidad Internacional de La Rioja (UNIR)

Tabla 8. Temporizadores.

Material complementario
108
Temas
Detección de duplicados

Si un ACK se pierde o finaliza un timeout, habrá retransmisiones que provocarán


duplicados de segmentos. El número de secuencia en cada uno de ellos es una
solución parcial, pues se pueden dar dos situaciones en el receptor:

 Recibir un duplicado antes de liberar una conexión.


 Recibir un duplicado tras liberar una conexión.

En el primer caso, si un segmento no se confirma porque no ha llegado al receptor:

1. El emisor retransmite.
2. Se recibe el ACK del duplicado (no se ve así en el receptor).
3. Funcionando el emisor con normalidad, puede dar la vuelta a los números de
secuencia.
4. De repente, aparece el segmento inicial en destino.
5. Se interpreta como un duplicado el recibir un segmento perdido con un número
de secuencia válido en ese instante.

La solución es tener un espacio de números de secuencia suficientemente grande


para no agotarse en menos tiempo que la vida máxima de un segmento.
© Universidad Internacional de La Rioja (UNIR)

Figura 103. Detección de duplicados.

Material complementario
109
Temas
En el caso de aparecer un duplicado tras liberar una conexión:

 Si no se establece una conexión o se ha establecido con un número de secuencia


no válido para el duplicado, se contesta con un segmento RST (Reset) y se aborta
la conexión anterior.
 Si el número de secuencia es válido en la nueva conexión, se produce un error y
se soluciona:
• Recordando el número de secuencia en que finalizó la conexión anterior y
continuar a partir de él.
• Usando un identificador específico nuevo con cada conexión.

Control de flujo

El mecanismo de control de flujo por ventana con asignación de créditos visto en el


apartado 3.3 del presente tema, es suficientemente robusto para un servicio de red
no fiable.

Tan solo resaltar la posibilidad de perder un segmento del tipo ACK/CREDIT (pensar
en si se envía un crédito W=0 y posteriormente se pierde W=1000).

Posteriores confirmaciones resincronizarán el protocolo, que en el supuesto de no


existir, se vería solucionado con un temporizador de ventana, reiniciado cada vez
que se envía un segmento (ACK m, CRÉDITO n).

Recuperación de caídas

Cuando uno de los dos sistemas falle, la información de todas las conexiones se
© Universidad Internacional de La Rioja (UNIR)

pierden y quedan «medio abiertas», ya que el otro lado no se ve afectado. El lado


activo de la conexión «medio abierta» cerrará la conexión por medio de un
temporizador de renuncia, que calcula el tiempo que un segmento retransmitido un

Material complementario
110
Temas
número de veces no ha sido confirmado. Pasado este tiempo, se cierra
definitivamente la conexión.

3.5. El nivel de transporte en Internet

TCP (Protocolo de control de transmisión)

Figura 104. TCP (Protocolo de control de transmisión).

El protocolo orientado a conexión TCP permite la transmisión fiable de datos a través


de una red (IP) que no ofrece ninguna garantía de que los datagramas se entreguen
adecuadamente.

Esta transmisión fiable la realiza mediante el establecimiento y liberación de


conexiones, de manera que los datos lleguen a los programas del nivel de aplicación
sin errores y ordenados para que los puedan utilizar directamente, sin necesidad de
realizar algoritmos de detección y recuperación de errores.

Ventana deslizante y control de flujo en TCP


© Universidad Internacional de La Rioja (UNIR)

TCP proporciona un mecanismo de ventana deslizante de tamaño variable para dar


servicio de transmisión eficiente y control de flujo extremo a extremo.

Material complementario
111
Temas
TCP ve la corriente de datos a enviar como una secuencia de bytes que divide en
segmentos (donde normalmente cada segmento viaja a través de Internet en un solo
datagrama IP).

Por tanto el mecanismo de ventana deslizante de TCP funciona a nivel de byte no de


paquete.

TCP mantiene tres punteros en la ventana deslizante:

1. Apuntando al inicio de la ventana, separando los bytes enviados y confirmados de


aquellos que aún no están confirmados o no enviados.
2. Apuntando al final de la ventana y, por tanto, al byte más alto que puede ser
enviado sin que llegue acuse de recibo.
3. Dentro de la ventana, el que separa los bytes enviados de los que aún no lo han
hecho.

Figura 105. Punteros en la ventana deslizante.


© Universidad Internacional de La Rioja (UNIR)

El control de flujo depende del tamaño de la ventana y de la velocidad en que la red


acepta paquetes. Con un tamaño de ventana 1, un protocolo de ventana deslizante
sería idéntico a un procedimiento de parada y espera.

Material complementario
112
Temas
La ventana puede ser cambiada de tamaño de forma dinámica por el receptor. Se
puede reducir el tamaño, si se observa que el receptor se está saturando, asimismo,
si se quiere detener la transmisión, se debe hacer el tamaño de ventana cero.

Puertos, conexiones y sockets

Un puerto es un identificador de 16 bits (hasta 65535) al que los datagramas son


entregados, y el nombre que TCP da a un TSAP (punto de acceso al servicio de la capa
de Transporte).

Los puertos se dividen en tres rangos:


 Del 0 al 1023: puertos bien conocidos (well-know ports). Son asignados por la IANA
y se reservan normalmente para servidores de protocolos estándar (ej.: HTTP,
puerto 80). Solo procesos con acceso superusuario pueden utilizarlos.
 Del 1024 al 49151: puertos registrados. Se usan para servidores que no necesitan
acceso superusuario (ej.: SIP, telefonía IP, puerto 5060) y para clientes.
 Del 49152 al 65535: puertos dinámicos o privados. Solo se usan para clientes.

La mayoría de los sistemas eligen los puertos para sus clientes (puertos efímeros)
usando solo una parte de todo el rango disponible.

Sistema operativo Puertos

Windows Server 2003 y posteriores 1024-4999


Linux Kernel 2.6 1024-4999
Solaris 32768-65535
AIX 32768-65535

FreeBSD 1024-5000
© Universidad Internacional de La Rioja (UNIR)

Windows Vista y posteriores 49152-65535


NeTBSD 49152-65535

OpenBSD 1024-65535

Tabla 9. Sistemas operativos y puertos.

Material complementario
113
Temas
TCP permite que los programas de aplicación se comuniquen utilizando un circuito
virtual (conexiones). Estas conexiones se identifican por medio de un par de puntos
extremos o sockets.

TCP define un punto extremo como tres parámetros (protocolo, anfitrión, puerto),
protocolo es el propio TCP, donde anfitrión es la dirección IP de un anfitrión, y puerto
es un puerto TCP de dicho anfitrión. Para establecer un servicio TCP, debe realizarse
una conexión entre un socket de una máquina transmisora y un socket de una
máquina receptora.

Un mismo proceso con TCP, puede tener varias conexiones a través del mismo
puerto. En el siguiente ejemplo, el proceso asociado al puerto 21 del servidor A tiene
conexiones con:

1403 del cliente B ->s1 de Serv. A


1330 del cliente B ->s4 de Serv. A
1578 del cliente C ->s8 de Serv. A
© Universidad Internacional de La Rioja (UNIR)

Figura 106. Puertos y conexiones sockets.

Material complementario
114
Temas
Las principales primitivas de transporte usadas inicialmente en el sistema operativo
UNIX son:

Primitiva Descripción

SOCKET Crea un nuevo punto terminal de comunicación.

BIND Conecta una dirección local a un socket.

LISTEN Anuncia la disposición a aceptar conexiones.

ACCEPT Acepta una petición de conexión.

CONNECT Intenta establecer una conexión.

SEND Envía datos a través de la conexión.

RECEIVE Recibe datos de la conexión.

CLOSE Libera la conexión.

Tabla 10. Principales primitivas de transporte en UNIX.

Formato de la cabecera TCP

La entidad transmisora y la receptora intercambian información en forma de


segmentos. Un segmento es la TPDU de TCP y está compuesto por una cabecera fija
de 20 bytes más una parte opcional seguida de cero o más bytes de datos.

Los segmentos se intercambian para establecer y liberar conexiones, transferir datos,


enviar acuses de recibo, etc. Un acuse de recibo que vaya de A a B puede viajar en el
mismo segmento que lleve datos de A a B (piggybacking).
© Universidad Internacional de La Rioja (UNIR)

Material complementario
115
Temas
Figura 107. Cabecera TCP.

TCP entrega al servicio IP el segmento que contiene los datos (que es el que
realmente se transmite) y una pseudocabecera (campos sombreados), que no se
transmite, pero que permite a IP completar campos del datagrama que se va a
generar.

Nota: la función del pseudoencabezado es la misma en cualquiera de los dos


protocolos de transporte: TCP y UDP. Por tanto, el desarrollo del pseudoencabezado
en UDP que se realiza en el punto siguiente es válido para TCP.

Puerto origen y puerto destino: Números de puerto TCP que identifican a los
programas en los extremos de la conexión.
© Universidad Internacional de La Rioja (UNIR)

Número de secuencia: Si el flag SYN está activado incrementa en 1 el número de


secuencia. Podemos considerar que el segmento SYN equivale a un byte de datos
virtual. Si el flag SYN está desactivado, corresponde al número de secuencia del
primer byte de datos correspondiente al segmento TCP (indica número de byte, no
de segmento, por eso tiene 32 bits; 4 294 967 296 de números de secuencia), estos

Material complementario
116
Temas
números de secuencia son tan grandes para asegurarse que los duplicados antiguos
hayan desaparecido cuando los números de secuencia den la vuelta. Normalmente
en el tercer segmento de la apertura de conexión no lleva el SYN activado y tampoco
lleva datos, aunque podría incluirlos siempre y cuando los datos sean retenidos por
el TCP receptor hasta que la aplicación correspondiente decida si acepta la conexión.

El número de secuencia no suele empezar en 0, sino en un valor denominado ISN


(Initial Sequence Number) elegido al azar, si el flag SYN está activado, indicará este
ISN, y el primer byte de datos será ISN+1. El estándar sugiere utilizar un contador
entero incrementado en 1 cada 4 µs aproximadamente, dando la vuelta el contador
al cabo de 4 horas 46 min. Esta selección al azar de ISN es suficientemente fiable para
protegerse de coincidencias, pero no es un mecanismo de protección frente a
hackers, siendo muy fácil averiguar el ISN de una conexión e interceptarla.

Eso es lo que sugiere el estándar (especificación TCP, RFC 793), en la práctica los
sistemas operativos utilizan generalmente algoritmos más sencillos para construir el
ISN, con el fin de consumir menos CPU. Por ejemplo UNIX BSD 4.4 incrementa el ISN
en 64000 cada medio segundo (lo cual provoca que se dé la vuelta cada 9 horas,
aproximadamente). Además el ISN se incrementa en 64 000 cada vez que se
establece una conexión, de modo que dos conexiones consecutivas siempre tendrán
diferente ISN, aunque ocurran muy próximas en el tiempo.

Número de reconocimiento: Indica el número de byte que se espera recibir, por


tanto se entiende que los anteriores han llegado perfectamente. Este campo se usa
para realizar el control de flujo y de errores, y para que sea válido debe estar activo
el flag ACK.
© Universidad Internacional de La Rioja (UNIR)

HLEN (Longitud de cabecera TCP): Contiene un entero que especifica la longitud de


la cabecera del segmento en múltiplos de 32 bits. Debido al campo opciones, la
longitud es variable.

Reservado: 4 bits (se pensó en una posible clase E en IP).

Material complementario
117
Temas
A continuación vienen 8 flags, que nos indican lo siguiente:

 CWR: Congestion Window Reduced y ECE (ECN Echo ECN=Explicit Congestion


Notification). Aplicados al control de congestión.
 URG: Indica que se va a utilizar el campo puntero de urgencia.
 ACK: Se establece a 1 para indicar que el número de reconocimiento es válido. Si
el ACK es 0, el segmento no contiene ningún acuse de recibo. En la práctica ACK
siempre está activado, excepto en el primer segmento enviado (inicio de sesión).
La presencia del flag ACK no incrementa el número de secuencia.
 PSH: Datos «empujados» (PUSH). Así se indica al receptor que entregue todos los
datos que tenga en el buffer sin esperar a que este, esté completo (en una
transferencia FTP cuando se envía el último segmento o cuando en una sesión
telnet, el usuario pulsa la tecla return).
 RST: Se usa para reinicializar una conexión con problemas.
 SYN: Utilizado para establecer una conexión.
 FIN: Se utiliza para liberar una conexión.

Tamaño de ventana: Indica el número de bytes que el receptor está dispuesto a


recibir empezando por el indicado en el campo número de reconocimiento.

Suma de verificación: Se calcula a partir de la cabecera, la pseudocabecera y los


datos, y nos permite comprobar que el destino (dirección IP y puerto) es realmente
el deseado.

Puntero de urgencia: Especifica la posición del byte en la que los datos urgentes
acaban, ya que el segmento podría contener datos no urgentes. TCP no marca el
principio de los datos urgentes, es responsabilidad de la aplicación averiguarlo.
© Universidad Internacional de La Rioja (UNIR)

Los datos urgentes deben ser distribuidos lo más rápido posible, por eso TCP informa
de inmediato al programa de aplicación asociado a la conexión para que ponga en
modo «urgente».

Material complementario
118
Temas
Datos urgentes pueden ser las señales de interrupción provocadas por pulsaciones
en un teclado. En telnet se utiliza para enviar los caracteres DEL o CTRL-C pues no
solo se desea enviar cuanto antes, sino que se quiere que estos pasen por delante de
cualquier otro que hubiera pendiente de enviar a la aplicación y se le entreguen a
ésta sin esperar a que los solicite.

Opciones: TCP está en evolución permanente, las mejoras se experimentan en


prototipos y luego se documentan en RFC. Cuando dos entidades TCP se conectan,
negocian entre ellos la relación de extensiones que cada uno quiere utilizar y emplean
solo aquellas que están soportadas por ambos. Veamos algunas de esas extensiones.

 Tamaño máximo de segmento (MSS): En el momento de establecer la conexión


cada host informa al otro del máximo tamaño de segmento que está dispuesto a
aceptar y el otro debe obedecer (puede usar ese valor u otro menor, pero no
mayor). El MSS no se negocia, se impone. El MSS elegido depende de los recursos
(espacio en buffer) de cada TCP y puede ser diferente para cada sentido. Puede
ser mayor o menor que el valor por defecto. El tamaño deberá ser como mínimo
de 536 bytes, correspondiente normalmente a un datagrama IP de 576 bytes
menos 20 bytes de cabecera IP y 20 de cabecera TCP (la longitud de segmento se
refiere a la parte de datos de TCP).

 Uso de ventana mayor de 64 Kbytes mediante el empleo de un factor de escala.


El tamaño de la ventana real será 2𝑓𝑎𝑐𝑡𝑜𝑟 ∗ 𝑣𝑒𝑛𝑡𝑎𝑛𝑎, siendo factor un número
entre 0 y 14 (de 64 Kbytes se puede llegar a 1Gbyte).

 SACK (ACK selectivo): permite que TCP confirme la recepción de segmentos, sin
que se hayan recibido todos los anteriores. Puede aparecer en cualquier
© Universidad Internacional de La Rioja (UNIR)

segmento. La opción MSS ha sido utilizada desde siempre. Las opciones SACK y de
factor de escala son frecuentes en las versiones modernas de TCP.

Material complementario
119
Temas
Establecimiento de la conexión TCP

Al establecer una conexión, cada aplicación crea un bloque de memoria para


almacenar parámetros como la dirección de los conectores, los números actuales de
secuencia, el valor de TTL para IP, etc. El procedimiento de conexión se desarrolla en
tres direcciones.

TCP intercambia elementos de información entre los extremos de la conexión como:


 Espacio disponible en su buffer para recibir datos.
 Cantidad máx. de datos que puede llevar un segmento.
 Número inicial de secuencia para numerar los datos de salida.

Figura 108. Establecimiento de la conexión TCP.

En los segmentos iniciadores (marcados con SYN), se establecen los límites de lo que
puede hacer la otra parte:
© Universidad Internacional de La Rioja (UNIR)

Figura 109. Segmentos iniciadores.

Material complementario
120
Temas
Cierre de la conexión TCP

Cuando una aplicación indica a TCP que no tiene más datos que transmitir, este libera
la conexión en esa dirección, enviando el último paquete de datos con el bit FIN a 1.
El otro extremo reconoce el FIN e indica a su aplicación que no se van a recibir más
datos.

Liberada la conexión en una dirección, solo se puede transmitir en la dirección


opuesta hasta que esta también se cierre. Cerradas las dos, la conexión se borra
liberándose los recursos (buffers, etc.).

TCP utiliza un saludo en tres etapas modificado para cerrar una conexión.

Figura 110. Cierre de la conexión TCP.


© Universidad Internacional de La Rioja (UNIR)

La diferencia se presenta después que una máquina ha recibido el segmento FIN


inicial. En lugar de generar un segundo segmento FIN, envía un acuse de recibo y
luego informa a la aplicación de la solicitud de interrupción. El envío de este acuse de
recibo (ACK) evita que A retransmita, ya que B puede tardar en enviar su FIN ya que
debe informar a su propia aplicación y esperar respuesta.

Material complementario
121
Temas
¿Cómo funciona un escaneador de puertos?

TCP SYN scanning. Esta técnica también llamada half-open, ya que no se termina la
conexión TCP, envía un paquete SYN y se espera respuesta. Si recibimos un SYN|ACK,
el puerto está escuchando, pero si la respuesta es un paquete RST, el puerto se
encontrará cerrado.

Al recibir una respuesta SYN|ACK enviaremos un paquete RST para cortar la


conexión. La ventaja que supone esta técnica es que los sistemas no registrarán
nuestra conexión en su log al no haberse completado.

TCP FIN scanning. Algunos firewalls filtran los paquetes SYN para evitar el escaneo
TCP SYN por eso se ideó otro método usando los paquetes FIN.

La idea consiste en enviar un paquete FIN, si el puerto se encuentra cerrado


recibiremos un paquete RST, pero si por otro lado se encuentra abierto, no
recibiremos respuesta.

Esta técnica no siempre funciona ya que depende del comportamiento del


dispositivo. Hay maquinas que envían siempre un paquete RST al recibir el paquete
FIN, independientemente del estado del puerto, mayoritariamente esto ocurre en
sistemas Windows.

Fragmentation scanning. Más que una nueva técnica, es una variación en el uso de
las anteriores. El funcionamiento consiste en dividir los paquetes que enviamos para
no ser detectados por el firewall y el filtrado de paquetes. Por ejemplo se puede
dividir un paquete SYN en 1000 partes y enviarlo. Haciendo esto se puede conseguir
© Universidad Internacional de La Rioja (UNIR)

saltar el filtro que se realiza sobre estos paquetes. Incluso firewalls configurados para
soportar un gran ancho de banda pueden no detectarlo al no darles tiempo a
reensamblar e identificar los paquetes.

Material complementario
122
Temas
Figura 111. Captura de una conexión TCP con Wireshark.
© Universidad Internacional de La Rioja (UNIR)

¿Cuándo se envían los segmentos TCP?

Aplicación → TCP: la aplicación envía los datos a TCP cuando quiere (siempre y
cuando haya espacio libre en el buffer).

Material complementario
123
Temas
TCP → Aplicación: la aplicación lee del buffer de TCP cuando quiere y cuanto quiere
(excepto datos con flag URG activado).

TCP ↔ TCP: El TCP emisor manda los datos cuando quiere (excepto datos con flag
PSH activado). Cada segmento viaja en un datagrama y si no cabe se hace
fragmentación, aunque normalmente el TCP emisor intenta evitarla haciendo los
segmentos suficientemente pequeños. TCP intenta agrupar los datos para que los
segmentos tengan la longitud máxima, reduciendo así el overhead debido a
cabeceras y proceso de segmentos.

Figura 112. Intercambio de datos.

Gestión de buffers en TCP


© Universidad Internacional de La Rioja (UNIR)

El protocolo TCP del receptor, para cada segmento, debe informar al emisor del
espacio libre en su buffer, usando el campo tamaño de ventana.

Material complementario
124
Temas
La ventana anunciada es un espacio que el TCP receptor reserva para esa
comunicación en su buffer. Con una ventana cero se controlará el flujo al bloquear al
emisor.

El TCP receptor nunca debería retirar el espacio en buffer que ya ha anunciado al


emisor.

Figura 113. Gestión de buffers en TCP.

Reenvío de segmentos

Si se envían varios segmentos y uno de ellos se pierde, ¿cómo será ese reenvío? La
especificación original de TCP requería que si se perdía un segmento y los siguientes
© Universidad Internacional de La Rioja (UNIR)

llegaban bien no se podía enviar un ACK de estos.

En la RFC 2018 establece la opción SACK (Selective ACK) que permite acusar el recibo
de retales (segmentos no consecutivos). Mediante el campo opciones de la cabecera
TCP la opción SACK especifica hasta un máximo de cuatro rangos de número de

Material complementario
125
Temas
secuencia no contiguos (cuatro retales) recibidos por encima de lo especificado en el
campo ACK. Esto permite confirmar la correcta recepción de segmentos recibidos
tras uno perdido o erróneo. Lo utilizan la mayoría de las implementaciones actuales
de TCP.

Se recomienda la opción SACK cuando hay múltiples pérdidas de segmentos TCP:


 Por congestiones en los routers.
 Por errores físicos en el nivel de enlace, especialmente en entornos inalámbricos
(CRC de la trama), Red (checksum de la cabecera de IPv4) y Transporte (checksum
TCP).

Para poder usar SACK es necesario indicarlo previamente en el campo opciones de la


fase de establecimiento de la conexión. Esta opción provoca la cancelación en el
emisor de los temporizadores de los segmentos que sabe que han llegado
correctamente al receptor.
© Universidad Internacional de La Rioja (UNIR)

Figura 114. Reenvío de segmentos.

Material complementario
126
Temas
UDP (Protocolo de datagrama de usuario)

Figura 115. UDP (Protocolo de datagrama de usuario).

Una conexión bajo TCP requiere intercambiar al menos siete mensajes


(establecimiento y fin de la conexión) además del consumo de recursos en el host.

Existen situaciones donde todo esto es innecesario y se requiere un protocolo de


transporte más sencillo, no orientado a conexión y no fiable (el receptor no acusa
recibo de los segmentos recibidos). Algunos ejemplos son:

 La aplicación requiere solamente el envío de uno o dos mensajes (consultas al


DNS).
 Aplicaciones en tiempo real que no pueden esperar ACK (videoconferencia, voz
sobre IP).
 Mensajes producidos regularmente sin importar si se pierde alguno (SNMP).
 Medio de transmisión muy fiable y sin congestión (NFS en LAN).

Para estas situaciones nace UDP, un protocolo de transporte N.O.C., donde cabe la
© Universidad Internacional de La Rioja (UNIR)

posibilidad de que los mensajes se puedan perder, duplicar o llegar desordenados


(esto simplifica el protocolo), siendo el nivel superior (aplicación) quien se encargue
de su control.

Material complementario
127
Temas
UDP puede ser utilizado en aplicaciones con soporte de tráfico broadcast. Con TCP
no era posible debido a la naturaleza punto a punto y orientada a conexión del
protocolo.

UDP no proporciona mecanismo alguno de control de flujo o control de congestión.


Al enviar únicamente un mensaje (ejemplo de una petición DNS con un único
mensaje) será siempre aceptado en destino (de no ser así el mismo problema habría
surgido con TCP para el inicio de la conexión).

En vídeo o audio en tiempo real, donde el flujo es mayor, se tomarán medidas en


forma de mecanismos de reserva. En estos casos se debe conocer a priori el tráfico
a introducir en la red.

En caso de congestión en la red los datagramas serán descartados por la red sin
informar por ningún mecanismo al emisor ni al receptor.

Encapsulación y puertos
© Universidad Internacional de La Rioja (UNIR)

Figura 116. Encapsulación y puertos.

Material complementario
128
Temas
Los números de puerto de TCP y de UDP son independientes unos de otros, un
proceso puede enviar mensajes por el puerto 1700 de UDP a la vez que otro está
manteniendo una sesión en el puerto 1700 de TCP.

Si algunos servicios necesitan acceder a TCP y a UDP, la IANA intenta asignar el mismo
número a los puertos asignados al servicio de TCP y UDP, aunque como extremos de
la comunicación siguen estando en «lugares» distintos.

DNS es accesible tanto por TCP como por UDP, y en ambos protocolos tiene reservado
el puerto 53 para acceso a servidores DNS (ver anexo 1).

Formato del mensaje UDP

Un datagrama de usuario consiste de dos partes: un encabezado UDP y un área de


datos UDP. El encabezado se divide en cuatro campos de 16 bits.

Figura 117. Formato del mensaje UDP.

Puerto origen: Puerto del proceso origen, hasta el 65 535 (a este puerto deben
© Universidad Internacional de La Rioja (UNIR)

dirigirse las respuestas requeridas).

Puerto destino: Especifica el puerto del proceso destino que identifica un extremo
de la comunicación.

Material complementario
129
Temas
Longitud del mensaje: Es la longitud en bytes del segmento UDP (incluyendo el
encabezado y los datos de usuario). Por tanto la longitud mínima de este campo es
ocho, que es la longitud del encabezado.

Suma de verificación o checksum: Suma sin acarreo de palabras de 16 bits en


complemento a uno. Las palabras pertenecen al encabezado UDP, a los datos del
mensaje y a los campos del pseudoencabezado.

Es opcional y no es necesario utilizarla (0 indica que la suma no se utilizó y no hay


más garantías que el CRC del nivel 2, se utiliza en LAN altamente fiables), aunque
dado que IP no realiza una suma de verificación de la porción de datos de un
datagrama IP (solo tiene código de redundancia en la cabecera de datos), la única
manera de garantizar que los datos lleguen intactos es utilizarla.

Pseudoencabezado

La razón de usar el pseudoencabezado es permitir a la máquina destino comprobar


que el segmento ha alcanzado su destino correcto, ya que incluye la dirección IP de
la máquina destino, así como el número de puerto (TCP o UDP, pues la
pseudocabecera, se utiliza en los dos protocolos) de la conexión. La máquina destino
puede conseguir la información usada en la pseudocabecera a partir del datagrama
IP que lleva el segmento.

La suma de verificación abarca más información de la que está presente en el


datagrama UDP. Para procesarla, UDP añade un pseudoencabezado al datagrama y
realiza una suma de comprobación sobre todo el conjunto. El pseudoencabezado no
se transmite con el datagrama UDP ni se incluye en su longitud.
© Universidad Internacional de La Rioja (UNIR)

En el destino final, el software de transporte (TCP o UDP) revisa la suma de


verificación. Si la suma concuerda, es verdad que el datagrama llegó al host destino
deseado y al puerto correcto.

Material complementario
130
Temas
Para realizar la suma de comprobación, inicialmente el software almacena un cero en
el campo suma de verificación, luego realiza la suma de todo el conjunto, incluyendo
el pseudoencabezado, el encabezado UDP y los datos de usuario.

Figura 118. Pseudoencabezado.

El pseudoencabezado consiste en 12 bytes distribuidos en cinco campos:

Dirección IP origen y destino: contienen las direcciones IP que se utilizarán cuando


se envíe el datagrama UDP.

Cero: necesario para completar el pseudoencabezado y alcanzar exactamente un


múltiplo de 16 bits, necesario para la suma de verificación.

Protocolo: contiene el código del tipo de protocolo (17 para UDP y 6 para TCP).

Longitud UDP: contiene la longitud del datagrama UDP (sin incluir el


© Universidad Internacional de La Rioja (UNIR)

pseudoencabezado), por tanto este campo coincide con longitud del mensaje UDP
del datagrama UDP.

Material complementario
131
Temas
Figura 119. Cabeceras IP y UDP en una petición/respuesta SNMP.
© Universidad Internacional de La Rioja (UNIR)

Material complementario
132
Temas
Anexo 1: Puertos asignados en protocolos TCP y
UDP (Fichero /etc/services)

# Revision: 1.32.214.7 $ $Date: 97/09/10 14:50:42 $


#
# This file associates official service names and aliases with
# the port number and protocol the services use.
#
# Some of the services represented below are not supported on HP-UX.
# They are provided solely as a reference.
#
# The form for each entry is:
# <official service name> <port number/protocol name> <aliases>
#
# See the services(4) manual page for more information.
# Note: The entries cannot be preceded by a blank space.
#
tcpmux 1/tcp # TCP port multiplexer (RFC 1078)
echo 7/tcp # Echo
echo 7/udp #
discard 9/tcp sink null # Discard
discard 9/udp sink null #
systat 11/tcp users # Active Users
daytime 13/tcp # Daytime
daytime 13/udp #
qotd 17/tcp quote # Quote of the Day
chargen 19/tcp ttytst source # Character Generator
chargen 19/udp ttytst source #
ftp-data 20/tcp # File Transfer Protocol (Data)
ftp 21/tcp # File Transfer Protocol(Control)
telnet 23/tcp # Virtual Terminal Protocol
© Universidad Internacional de La Rioja (UNIR)

smtp 25/tcp # Simple Mail Transfer Protocol


time 37/tcp timeserver # Time
time 37/udp timeserver #
rlp 39/udp resource # Resource Location Protocol
whois 43/tcp nicname # Who Is
domain 53/tcp nameserver # Domain Name Service

Material complementario
133
Temas
domain 53/udp nameserver #
bootps 67/udp # Bootstrap Protocol Server
bootpc 68/udp # Bootstrap Protocol Client
tftp 69/udp # Trivial File Transfer Protocol
rje 77/tcp netrjs # private RJE Service
finger 79/tcp # Finger
http 80/tcp www # World Wide Web HTTP
http 80/udp www # World Wide Web HTTP
link 87/tcp ttylink # private terminal link
supdup 95/tcp #
hostnames 101/tcp hostname # NIC Host Name Server
tsap 102/tcp iso_tsap iso-tsap # ISO TSAP (part of ISODE)
pop 109/tcp postoffice pop2 # Post Office Protocol-Version 2
pop3 110/tcp pop-3 # Post Office Protocol–Version 3 portmap
111/tcp sunrpc # SUN Remote Procedure Call
portmap 111/udp sunrpc #
ident 113/tcp authentication # RFC1413
sftp 115/tcp # Simple File Transfer Protocol
uucp-path 117/tcp # UUCP Path Service
nntp 119/tcp readnews untp # Network News Transfer Protocol
ntp 123/udp # Network Time Protocol
netbios_ns 137/tcp # NetBIOS Name Service
netbios_ns 137/udp #
netbios_dgm 138/tcp # NetBIOS Datagram Service
netbios_dgm 138/udp #
netbios_ssn 139/tcp # NetBIOS Session Service
netbios_ssn 139/udp #
bftp 152/tcp # Background FTP
snmp 161/udp snmpd # Simple Net. Manag. Protoc Agent
snmp-trap 162/udp trapd # Simple Net. Manag. Protoc Traps
bgp 179/tcp # Border Gateway Protocol

# PV performance tool services entries


© Universidad Internacional de La Rioja (UNIR)

pvserver 382/tcp # PV server


pvalarm 383/tcp # PV alarm management

#
# UNIX services
#

Material complementario
134
Temas
biff 512/udp comsat # mail notification
exec 512/tcp # remote exec. passwd required
login 513/tcp # remote login
who 513/udp whod # remote who and uptime
shell 514/tcp cmd # remote command, no passwd used
syslog 514/udp # remote system logging
printer 515/tcp spooler # remote print spooling
talk 517/udp # conversation
ntalk 518/udp # new talk, conversation
route 520/udp router routed # routing information protocol
efs 520/tcp # Extended file name server
timed 525/udp timeserver # remote clock synchronization
tempo 526/tcp newdate #
courier 530/tcp rpc #
conference 531/tcp chat #
netnews 532/tcp readnews #
netwall 533/udp # Emergency broadcasting
uucp 540/tcp uucpd # uucp daemon
remotefs 556/tcp rfs_server rfs # Brunhoff remote filesystem
ingreslock 1524/tcp #

#
# Other HP-UX services
#

lansrm 570/udp # SRM/UX Server


DAServer 987/tcp # SQL distributed access
instl_boots 1067/udp # install bootstrap protoc server
instl_bootc 1068/udp # install bootstrap protoc client
nfsd-keepalive 1110/udp # Client status info
nfsd-status 1110/tcp # Cluster status info
msql 1111/tcp # Mini SQL database server
rlb 1260/tcp # remote loopback diagnostic
© Universidad Internacional de La Rioja (UNIR)

clvm-cfg 1476/tcp # HA LVM configuration


diagmond 1508/tcp # Diagnostic System Manager
nft 1536/tcp # NS network file transfer
sna-cs 1553/tcp # SNAplus client/server
sna-cs 1553/udp # SNAplus client/server
ncpm-pm 1591/udp # NCPM Policy Manager
ncpm-hip 1683/udp # NCPM Host Information Provider

Material complementario
135
Temas
cvmon 1686/udp # Clust cvmon-cvmap communication
registrar 1712/tcp # resource monitoring service
registrar 1712/udp # resource monitoring service
ncpm-ft 1744/udp # NCPM File Transfer
psmond 1788/tcp # Predictive Monitor
psmond 1788/udp # Hardware Predictive Monitor
pmlockd 1889/tcp # SynerVision locking daemon
pmlockd 1889/udp #
nfsd 2049/udp # NFS remote file system
netdist 2106/tcp # update network distrib service
rfa 4672/tcp # NS remote file access
veesm 4789/tcp # HP VEE service manager
hacl-hb 5300/tcp # High Availability (HA)
hacl-gs 5301/tcp # HA Cluster General Services
hacl-cfg 5302/tcp # HA Cluster TCP configuration
hacl-cfg 5302/udp # HA Cluster UDP configuration
hacl-probe 5303/tcp # HA Cluster TCP probe
hacl-probe 5303/udp # HA Cluster UDP probe
hacl-local 5304/tcp # HA Cluster Commands
hacl-test 5305/tcp # HA Cluster Test
hacl-dlm 5408/tcp # HA Cluster distrib lock manager
lanmgrx.osB 5696/tcp # LAN Manager/X for B.00.00
r4-sna-cs 5707/tcp # SNA client/server
SNAplus 5708/udp # SNA logical network A
r4-sna-ft 5709/tcp # SNA file transfer
hcserver 5710/tcp # HP Cooperative Services
grmd 5999/tcp # graphics resource manager
spc 6111/tcp # sub-process control
desmevt 6868/tcp # DE/ Services Monitor
pdclientd 6874/tcp # Palladium print client daemon
pdeventd 6875/tcp # Palladium print event daemon
iasqlsvr 7489/tcp # Information Access
recserv 7815/tcp # SharedX Receiver Service
© Universidad Internacional de La Rioja (UNIR)

ftp-ftam 8868/tcp # FTP->FTAM Gateway


mcsemon 9999/tcp # MC/System Environment monitor
console 10000/tcp # MC/System Env cons multiplexor
actcp 31766/tcp # ACT Call Processing Server

Material complementario
136
Temas
Figura 120. Lista de puertos asignados en protocolos TCP y UDP.
© Universidad Internacional de La Rioja (UNIR)

Material complementario
137
Temas
Tema 4. El nivel de aplicación

4.1. Domain Name System (DNS)

En los primeros años, el crecimiento de ARPANET fue modesto, y la relación entre


nombres y direcciones, fue mantenida por el NIC (Network Information Center) en un
único fichero (hosts.txt). Su crecimiento, hizo ver claramente que un esquema
centralizado era impracticable y había que encontrar una alternativa.

DNS (RFC 1034 – 1035) comenzó como una alternativa al hosts.txt basada en:

 Una base de datos distribuida conteniendo registros de recursos generales.


 Un esquema de nombres basado en una estructura jerárquica de dominio de
nombres.

En un principio, MILNET decidió no usar DNS y volver al viejo hosts.txt por la


ausencia de un modelo de seguridad que soporte la autentificación de los usuarios,
aunque posteriormente volvió a DNS. Hoy se sigue utilizando hosts.txt en redes
aisladas que no tengan servidor de nombres, y para que una máquina al arrancar,
conozca algunos host de la red.

DNS es un sistema de dominio basado en el concepto de delegación de autoridad


para la administración de dominios individuales y subdominios, y se utiliza en
servicios TCP/IP como http, telnet, ftp o correo electrónico tanto a nivel TCP como
UDP, ambos a través del puerto 53.
© Universidad Internacional de La Rioja (UNIR)

Los servidores de nombres (name server) contienen información sobre un


determinado segmento de la base de datos y la hacen disponible para sus clientes,
denominados resolver (gethostbyname, gethostbyaddr), procedimiento que manda el
nombre como parámetro al name server en forma de paquetes UDP (más usado que
TCP, ya que el entorno local produce unas probabilidades muy bajas de error).

Material complementario
138
Temas
El espacio de nombres DNS es jerárquico, directamente debajo de la raíz se encuentra
un conjunto de dominios genéricos de primer nivel (TLD, Top Level Domain): .com,
.edu, .gov, .mil, .net, .org.

Con la expansión de Internet fuera de los Estados Unidos, otros TLD han sido
añadidos, correspondiendo a la representación de nombres de países (dominios
geográficos ISO 3166:1988): .es, .it, .fr, etc.

Figura 121. Dominios geográficos.

13 servidores raíz (llamados A,B,C,D,E,F,G, H,I,J,K,L y M) situados en U.S.A. (10),


Europa (2, Londres y Estocolmo) y Japón (Tokio). En Febrero de 2003, España acogió
un servidor raíz «espejo» del F. Hoy existen tres «espejos» en nuestro país.
© Universidad Internacional de La Rioja (UNIR)

Material complementario
139
Temas
© Universidad Internacional de La Rioja (UNIR)

Figura 122. Dominios geográficos.

Material complementario
140
Temas
Ubicación
Número de
Dirección Dirección Nombre #sitios
Letra sistema Operador Software
IPv4 IPv6 antiguo (global/
2
autónomo
local)3
distribuido
2001:503:ba ns.interni
A 198.41.0.4 AS26415 Verisign (anycast) BIND
3e::2:30 c.net
4/0
Marina Del
2001:478:65
Rey,
192.228.79.2 ::53 (no en ns1.isi.ed
B AS4 USC-ISI California, BIND
014 nota 1 la zona raíz u
U.S.
todavía)
1/0
Cogent distribuido
2001:500:2::
C 192.33.4.12 AS2149 c.psi.net Communic (anycast) BIND
c
ations 8/0
College
Universida Park,
199.7.91.135 2001:500:2d terp.umd
D nota 2
AS27 d de Maryland, BIND
::d .edu
Maryland U.S.
1/0
Mountain
View,
192.203.230. ns.nasa.g
E — AS297 NASA California, BIND
10 ov
U.S.
1/11
Internet
distribuido
2001:500:2f: Systems
F 192.5.5.241 AS3557 ns.isc.org (anycast) BIND 96
:f Consortiu
4/51
m
Defense
distribuido
ns.nic.dd Informatio
G 192.112.36.4 — AS5927 (anycast) BIND
n.mil n Systems
© Universidad Internacional de La Rioja (UNIR)

6/0
Agency
Aberdeen
U.S. Army
2001:500:1:: aos.arl.ar Proving
H 128.63.2.53 AS13 Research NSD
803f:235 my.mil Ground,
Lab
Maryland,

Material complementario
141
Temas
U.S.
2/0
Netnod
distribuido
192.36.148.1 nic.nordu (antes
I 2001:7fe::53 AS29216 (anycast) BIND
7 .net Autonómic
41/0
a)
distribuido
192.58.128.3 2001:503:c2
J AS26415 Verisign (anycast) BIND
0nota 3 7::2:30
62/13
distribuido
K 193.0.14.129 2001:7fd::1 AS25152 RIPE NCC (anycast) NSD7
5/12
distribuido
199.7.83.428 2001:500:3::
L nota 4
AS20144 ICANN (anycast) NSD9
42
130/0
distribuido
2001:dc3::3 Proyecto
M 202.12.27.33 AS7500 (anycast) BIND
5 WIDE
4/1

Tabla 11. Servidores raíz.

Por debajo de los TLD, se construyen subdominios con cualquier profundidad


deseada. Un administrador local de un subdominio puede delegar los dominios que
caen bajo su responsabilidad en otro administrador.

La IANA (Internet Assigned Numbers Authority, www.iana.org) administra los


nombres de dominio en Internet. El dominio raíz (root), lo gestiona el NIC (Network
Information Center, https://www.internic.net/) por delegación de IANA, así como
gestiona algunos TLD como .edu.

En España, el dominio .es lo gestiona ES-NIC, hasta el año 1996 dependiente de la red
© Universidad Internacional de La Rioja (UNIR)

académica REDIRIS. Hoy depende directamente del Gobierno a través de la entidad


RED (http://www.red.es) adscrita al Ministerio de Industria, Energía y Turismo.

Material complementario
142
Temas
¿Cómo trabaja DNS?

DNS consta de DNS servers (servidores de nombre), los cuales contienen información
de una o más zonas y los DNS clients (resolutores), que interrogan a los servidores en
nombre de los procesos locales.

Asociado con la red de cada institución, hay un ordenador que corre un


proceso/protocolo de aplicación conocido como DNS. Asociado con él, existe una
base de datos conocida como Base de Información de Directorio (DIB), la cual
contiene toda la información relacionada con el directorio de ese dominio.

Cuando un nuevo host se registra, el gestor introduce el nombre y la dirección IP que


ha sido asignado al host dentro del DIB del servidor de dominio local. Una vez
realizado esto, un usuario puede iniciar transacciones a través de Internet.

Resolución de nombres recursiva

Es la forma en la que un servidor de nombres local puede conocer la IP de un servidor.


Dado que los servidores de nombres deben conocer el conjunto de servidores raíz,
se envía un mensaje de consulta recursiva, para obtener la IP de la máquina asociada.
© Universidad Internacional de La Rioja (UNIR)

Material complementario
143
Temas
Figura 123. Resolución de nombres recursiva.

Tipos de servidores de nombres

 Servidor de nombres primario. Es la autoridad máxima de una zona y el servidor


de nombres del que derivan todos los datos acerca de su dominio. Carga la
información de un fichero creado por el administrador del dominio en el disco
duro.

Son authoritative, es decir, sus respuestas son siempre exactas obteniendo la


información directamente de los mapas. Solo puede haber uno en cada dominio.
© Universidad Internacional de La Rioja (UNIR)

 -Servidor de nombres secundario. Puede haber más de uno y pide los mapas del
dominio a un servidor primario y los guarda en disco. Obtiene periódicamente
(aprox. cada 3 horas) toda la información necesaria desde el servidor primario.
También son authoritative.

Material complementario
144
Temas
Proporciona robustez y fiabilidad al caer el primario debiendo compartir con este
la menor cantidad posible de características (misma LAN, mismo fluido
eléctrico...).

Cada subdominio o zona deberá tener por lo menos un servidor primario y uno o
más secundarios y todos son «de confianza» para su dominio.

 Caché. Utilizado para minimizar el número de mensajes y obtener una resolución


más rápida para otros clientes DNS después de la primera resolución.

Cada servidor de nombres local mantiene registrados los nombres más


recientemente referenciados (junto a su dirección IP). Esta información se
mantiene en una tabla llamada name caché, durante un tiempo máximo
configurable en los servidores de confianza (TTL), y responden a las mismas
peticiones con datos de la caché.

Estas respuestas son no autorizadas o non authoritative, su información es de


segunda mano e incompleta, no tiene ninguna autoridad sobre ninguna zona.

 Dominio inverso. Existe un TLD llamado .arpa, el cual es de uso exclusivo del
sistema de servidores de dominios de Internet. Uno de estos usos, es permitir
obtener el nombre conociendo la dirección IP, y se vale del dominio in-addr.arpa
(ej.: cc.unir.net con su dirección IP, 193.146.58.130, su dominio inverso sería
130.58.146.193.in-addr.arpa). Se emplea para seguridad (FTP anónimos que
comprueban que realmente esa máquina es quién dice ser), y en servidores WWW
para obtener estadísticas de accesos a sus páginas.
© Universidad Internacional de La Rioja (UNIR)

Por último, otra ventaja de DNS es que la dirección de correo para los usuarios del
dominio es más sencilla, no será necesario escribir usuario@maquina.dominio, solo
hay que poner usuario@dominio, y será el servidor de nombres el que se encargue
de canalizar el correo al servidor de correo del sistema.

Material complementario
145
Temas
Figura 124. Tipos de servidores de nombres.

Configuración DNS

Software para la implementación de DNS: BIND (Berkeley Internet Name Domain,


www.isc.org).

DNS consta de varios archivos de zona (mapeo nombre-dirección IP, mapeo dirección
IP-nombre...), unidos en un fichero de inicio /etc/named.boot (usando BIND).

Cada una de las entradas de estos archivos de zona se llama registros de recursos
(Resource Records), almacenándose como una serie de entradas de texto:
© Universidad Internacional de La Rioja (UNIR)

[nombre] [TTL] [clase] Tipo_de_Registro Datos_ del_registro [; comentario]

TTL Time To Live indica el tiempo que debe guardarse un registro en la caché después
de almacenarse.

Clase actualmente la única es IN (Internet).

Material complementario
146
Temas
Figura 125. Configuración DNS.

Configuración de un cliente de DNS

Para configurar una estación de trabajo en modo cliente de DNS se debe crear el
archivo de resolución de cliente /etc/resolv.conf. Una entrada de un archivo típico
de cliente DNS es:

; Archivo /etc/resolv.conf
domain mi_dominio.com
nameserver 172.66.1.15 ; DNS_1.mi_dominio.com
nameserver 172.66.1.67 ; DNS_2.mi_dominio.com

Configuración de un servidor primario de DNS

Los archivos de zona necesarios para configurar un servidor primario de DNS se unen
en un fichero de inicio /etc/named.boot (usando BIND).

- 1 - /etc/named.boot
- 2 - /var/named/db.172.66
- 3 - /var/named/db.127.0.0.local
- 4 - /var/named/db.mi_dominio
- 5 - /var/named/db.cache
© Universidad Internacional de La Rioja (UNIR)

Material complementario
147
Temas
/etc/named.boot

/etc/named.boot especifica directorio y nombre del dominio en el que se localizan los

archivos del DNS. Un ejemplo típico del fichero /etc/named.boot para un servidor
primario es:

; Archivo /etc/named.boot;
domain mi_dominio.com; Dominio del cual es servidor primario.
directory /var/named ; Directorio de trabajo.
primary 0.0.127.in-addr.arpa db.127.0.0.local
primary mi_dominio.com db.mi_dominio
primary 66.172.in-addr.arpa db.172.66
cache . db.cache

/var/named/db.172.66

/var/named/db.172.66 proporciona información sobre los ordenadores y direcciones

de IP, en formato inverso.

66.172.in-addr.arpa. IN SOA DNS_1.MIDOMINIO.COM. (


Postmaster.MI_DOMINIO.COM.
941022001 ;Número de serie
86400 ;Actualizar cada 24 horas
7200 ;Reintentar cada 2 horas (si error)
2592000 ;Expira a los 30 días
345600 ;TTL por defecto, 4 días
)
;Servidores de nombres
15.1.66.172.in-addr.arpa. IN NS DNS_1.MIDOMINIO.COM
67.1.66.172.in-addr.arpa. IN NS DNS_2.MIDOMINIO.COM
© Universidad Internacional de La Rioja (UNIR)

;Puntero a alias de host


15.1.66.172.in-addr.arpa. IN PTR 10 DNS_1.MIDOMINIO.COM
67.1.66.172.in-addr.arpa. IN PTR 20 DNSMTA extendido
M
5.1.66.172.in-addr.arpa. IN PTR 10 MAIL_1.MIDOMINIO.COM
18.1.66.172.in-addr.arpa. IN PTR 20 MAIL_2.MIDOMINIO.COM

Material complementario
148
Temas
/var/named/db.127.0.0.local

/var/named/db.127.0.0.local se utiliza para especificar la interfaz de loopback para

el servidor primario de nombres de dominio.

0.0.127.in-addr.arpa. IN SOA DNS_1.MIDOMINIO.COM. (


Postmaster.MI_DOMINIO.COM.
941022001 ;Número de serie
86400 ;Actualizar cada 24 horas
7200 ;Reintentar cada 2 horas (si error)
2592000 ;Expira a los 30 días
345600 ;TTL por defecto, 4 días
)
;Servidores de nombres
0.0.127.in-addr.arpa. MTA extendido
DOMINIO.COM
0.0.127.in-addr.arpa. IN NS DNS_2.MIDOMINIO.COM

;Puntero a alias de host


1.0.0.127.in-addr.arpa. IN PTR LOCALHOST

/var/named/db.mi_dominio

/var/named/db.mi_dominio proporciona información sobre los ordenadores y


direcciones de IP en formato directo.

; fichero mi_dominio.com
MI_DOMINIO.COM. IN SOA DNS_1.MIDOMINIO.COM. (

Postmaster.MI_DOMINIO.COM.
941022001 ; Número de serie
© Universidad Internacional de La Rioja (UNIR)

86400 ; Actualizar cada 24 horas


7200 ; Reintentar cada 2 horas (si
error)
2592000 ; Expira a los 30 días
345600 ; TTL por defecto, 4
días
)

Material complementario
149
Temas
MI_DOMINIO.COM. IN NS DNS_1.MIDOMINIO.COM
MI_DOMINIO.COM. IN NS DNS_2.MIDOMINIO.COM

MI_DOMINIO.COM. IN MX 10 MAIL_1.MIDOMINIO.COM
MI_DOMINIO.COM. IN MX 20 MAIL_2.MIDOMINIO.COM

DNS_1 IN A 172.66.1.15
DNS_2 IN A 172.66.1.67
MAIL_1 IN A 172.66.1.5
MAIL_2 IN A 172.66.1.18
IN TXT WWW, FTP sobre mail_2
IN HINFO SUN UNIX

WWW IN CNAME MAIL_2


FTP IN CNAME MAIL_2
; fin de fichero mi_dominio.com

/var/named/db.cache

/var/named/db.cache proporciona información sobre los servidores raíz de DNS.

. 3600000 NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
. 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
© Universidad Internacional de La Rioja (UNIR)

. 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
. 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
. 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53

Material complementario
150
Temas
. 3600000 NS I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
. 3600000 NS J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30
. 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33

; End of File

Balanceadores de carga

En determinados dominios con muchas peticiones de entrada vía http


(www.google.es, www.yahoo.es, etc.) si solo se tuviera un solo servidor web no sería
suficiente para poder manejar grandes volúmenes de tráfico de entrada. Las páginas
web serían cargadas muy lentamente y los usuarios tendrían que esperar hasta que
el servidor estuviese libre.

Para mantener la escalabilidad será necesario añadir más servidores para distribuir
la carga entre el grupo de servidores, esto es conocido como clúster de servidores.
La distribución de la carga entre esos servidores es conocida como balanceo de carga.

Técnica Round Robin de Balanceo de Carga mediante la utilización de DNS

Cada vez que se realiza una petición al servidor que contiene el registro DNS en
cuestión, este contiene varias correspondencias del registro tipo A (host) de manera
© Universidad Internacional de La Rioja (UNIR)

que va rotando los resultados que ofrece.

Material complementario
151
Temas
Este sistema tiene varios inconvenientes:

 Si un servidor cae, el DNS no será consciente de ello y el cliente que obtenga la IP


del servidor caído encontrará el servicio no disponible. Y esto durará por lo menos
el tiempo de vida (TTL) que se utilizó (información entregada por el servidor de
DNS y que reside el campo SOA).

 Con las caches DNS se cacheará permanente el nombre www.mi_dominio.es con


una IP concreta, todas las peticiones irán a esa IP y no habrá balanceo, pudiendo
estar uno o varios servidores sobrecargados y el resto muy ligeros.

Para implementar esto se ha de configurar en nuestro dominio el modo «IN» alias


mapeando a los servidores del clúster wwwN.mi_dominio.com usando múltiples líneas
CNAME.

WWW IN CNAME WWW 1


IN CNAME WWW 2
IN CNAME WWW 3
IN CNAME WWW 4
IN CNAME WWW 5
IN CNAME WWW 6

WWW 1 IN A 192.168.1.1
WWW 2 IN A 192.168.1.2
WWW 3 IN A 192.168.1.3
WWW 4 IN A 192.168.1.4
WWW 5 IN A 192.168.1.5
WWW 6 IN A 192.168.1.6
© Universidad Internacional de La Rioja (UNIR)

Dado el primer inconveniente de Round Robin de la página anterior, se podría


disminuir el tiempo TTL del archivo de zona, pero también afectaría todas las
direcciones en el archivo, por ejemplo para ftp.mi_dominio.com, y quizás para el
servidor FTP este tiempo TTL sea escaso.

Material complementario
152
Temas
La solución es separar los servidores del clúster en un archivo de zona distinto y por
lo tanto en un subdominio. Como resultado se obtiene un archivo de configuración
de BIND y dos archivos de configuración de zona:

Configuración de Bind
;;
;; named.boot – configuración de BIND
;;

primary midominio.com db.midominio


primary rr.midominio.com db.midominio.rr
:
:
Configuración de Zona:
;
; db.midominio – zona de BIND DNS para midominio.com
;
MI_DOMINIO.COM. IN SOA DNS_1.MIDOMINIO.COM. (
Postmaster.MI_DOMINIO.COM.
941022001 ; Número de serie
86400 ; Actualizar cada 24
horas
7200 ; Reintentar cada 2 horas (si
error)
2592000 ; Expira a los 30 días
345600 ; TTL por defecto, 4 días
)

www IN CNAME www.rr.midominio.com. ; aquí es donde apunta a otro


archivo
ftp IN A 192.168.1.253
© Universidad Internacional de La Rioja (UNIR)

Material complementario
153
Temas
Archivo de zona para el dominio rr.dominio.com

; db.dominio.rr – zona de BIND DNS para rr.dominio.com

RR.MI_DOMINIO.COM. IN SOA DNS_1.RR.MIDOMINIO.COM. (


Postmaster.RR:MI_DOMINIO.COM.
941022001 ; Número de serie
86400 ; Actualizar cada 24
horas
7200 ; Reintentar cada 2
horas (si error)
3600 ; Expira a la hora
1800 ; TTL por defecto, 30 minutos
)

WWW IN CNAME WWW 1 ; www1.rr.mi_dominio.com


IN CNAME WWW 2 ; www2.rr.mi_dominio.com
IN CNAME WWW 3 ; www3.rr.mi_dominio.com
IN CNAME WWW 4 ; www4.rr.mi_dominio.com
IN CNAME WWW 5 ; www5.rr.mi_dominio.com
IN CNAME WWW 6 ; www6.rr.mi_dominio.com
WWW 1 IN A 192.168.1.1
WWW 2 IN A 192.168.1.2
WWW 3 IN A 192.168.1.3
WWW 4 IN A 192.168.1.4
WWW 5 IN A 192.168.1.5
WWW 6 IN A 192.168.1.6
© Universidad Internacional de La Rioja (UNIR)

Material complementario
154
Temas
Formato de los mensajes del DNS

Los mensajes de consulta y respuesta intercambiados entre clientes y servidores


tienen el siguiente formato:
© Universidad Internacional de La Rioja (UNIR)

Figura 126. Formato de los mensajes del DNS.

Material complementario
155
Temas
Mensaje de consulta. Contiene las solicitudes para las que se desea una respuesta (si
deseamos saber una dirección IP dado un dominio, aquí irá el nombre del dominio).

Figura 127. Mensaje de consulta.

Mensaje de respuesta. Contienen registros de recursos que responden a las


consultas.
© Universidad Internacional de La Rioja (UNIR)

Figura 128. Mensaje de respuesta.

Material complementario
156
Temas
Secciones de autoridad e información adicional. Contienen registros de recursos que
apuntan hacia servidores de nombres autorizados y que nos proporcionan
información adicional en referencia a la consulta solicitada respectivamente.

4.2. FTP

FTP (File Transfer Protocol, RFC 959) posibilita el intercambio de ficheros entre
máquinas remotas. Utilizando el protocolo TCP. Sus principales características son:

 Acceso interactivo. Mediante comandos, permite a los usuarios interactuar


fácilmente con los servidores remotos.
 Especificación de formato. FTP permite al cliente especificar el tipo y formato de
datos almacenados.
 Control de autentificación. Mediante nombre y clave de acceso, rechazando a
clientes no autorizados, excepto en áreas públicas de archivos, a través de
conexiones «anónimas».

Modelo de FTP
© Universidad Internacional de La Rioja (UNIR)

Figura 129. Modelo de FTP.

El cliente entabla una «conversación» con el servidor FTP a través de una conexión
de control. Debido a que los servidores FTP, permiten el acceso concurrente de varios

Material complementario
157
Temas
clientes, este proceso del servidor remoto será un proceso «esclavo» para poder
aceptar por el puerto 21 otras posibles conexiones.

Si el usuario pide una transferencia de archivos, se abre una conexión de datos


independiente, copiándose el archivo a través de esta conexión.

La conexión de control transporta comandos que indican al servidor qué archivo


transferir, mientras que la conexión de datos (que también usa TCP) transporta todas
las transferencias de datos.

Un cliente establece una conexión utilizando un número de puerto de protocolo


aleatorio asignado localmente (en el ejemplo anterior 5122), pero se pone en
contacto con el servidor en un puerto bien conocido (FTP, 21). El cliente por otro
lado, establece contacto con el proceso de transferencia de datos en la máquina del
servidor. El proceso de transferencia de datos en el servidor, usa el puerto bien
conocido 20, reservado para la transferencia de datos FTP.

Para asegurar que un proceso de transferencia de datos en el servidor, se conecta al


proceso de transferencia de datos correcto en la máquina del cliente, la conexión de
control del cliente al iniciarse, indicará el puerto que se usará en la máquina cliente
(en nuestro ejemplo 5137).

La sesión se termina cuando la conexión de control desaparece.

Comandos de FTP

Existen varios tipos de comandos, que se pueden enviar a través de una conexión de
© Universidad Internacional de La Rioja (UNIR)

control:

 Comandos de autentificación (identificación de usuario, contraseña).


 Comandos de transferencia de archivo (copiar un único archivo o varios de un
host a otro).

Material complementario
158
Temas
 Comandos de gestión de archivos:
• Listar los archivos de un directorio.
• Identificar el directorio en uso y cambiar de directorio.
• Crear y eliminar directorios.
• Cambiar el nombre a un archivo o borrarlo.
 Comandos de control (transferencia ASCII o binaria).

Se puede obtener el conjunto completo de funciones disponibles, por medio de la


ayuda help. Algunos de los comandos más conocidos de FTP son:

user <parametro> Especifica el nombre de usuario con el que debemos


identificarnos ante el servidor FTP.
pass <parametro> Palabra clave asociada a un nombre de usuario.

ascii. Consideración del fichero transferido. El protocolo adapta los datos recibidos
al formato local.
quit No requiere parámetros, solicita al servidor que cierre el enlace.

binary Los ficheros transferidos se consideran binarios. FTP fija por defecto ASCII.

lcd Sin ningún parámetro, este comando informa de cuál es el directorio local actual.

dir Solicita el listado de un directorio.

pwd Pide al servidor que informe de cuál es el path de acceso al directorio de trabajo

actual.
mkdir Solicita al servidor, crear un directorio especificado.

rmdir Solicita al servidor, borrar un directorio especificado.

get Este comando, solicita el envío de un fichero. El primer parámetro, indica el


nombre del fichero que queremos. El segundo, si existe, indica el nombre con el que
debe almacenarse en nuestro disco.
mget Solicita el envío de multiples ficheros, admite «comodines globales» (ej.: mget
© Universidad Internacional de La Rioja (UNIR)

a*). Esto funcionará si la opción global esta activada

put este comando informa al servidor, de que se le va a enviar un fichero.

mput Enviar múltiples ficheros al servidor, utilizando «comodines globales», (si glob
está activado).
del Este comando solicita al servidor que borre el archivo especificado.

Material complementario
159
Temas
Otros comandos interesantes

quote A veces la máquina local no dispone de todo el juego de comandos, pero sí en

el host remoto.
pasv Pide al servidor que identifique una IP y un puerto para que el cliente inicie una

conexión de datos.

ftp>quote
<command line to send> pasv
- - - >pasv
227 Entering Passive Mode <193,146,58,130,128,28>

...el servidor espera en el puerto 32796


… y para que vale el modo pasivo?...

Modo activo

En el modo activo el cliente se conecta al servidor usando un puerto que libre mayor
de 1024 al puerto 21 del servidor. A su vez le comunica al servidor en qué puerto está
esperando los datos «Para datos estoy en el 5137».

Figura 130. Modo activo.


© Universidad Internacional de La Rioja (UNIR)

¿Y si el cliente tiene un firewall?

El acceso del servidor al puerto 5137 será rechazado. Para solventar esto, se puede
utilizar el modo pasivo.

Material complementario
160
Temas
Modo pasivo

En el modo pasivo el cliente se conecta al servidor usando un puerto superior al 1024


al puerto 21 del servidor. Entonces el cliente le indica «quiero trabajar en Modo
PASIVO» (comando pass o pasv). El servidor le ofrecerá una IP y un puerto, y será el
cliente quien se conecte desde su puerto de datos a la IP y puerto especificado por el
servidor.

Figura 131. Modo pasivo.

1. El cliente solicita la conexión de control.


2. El cliente solicita el comando pasv para que el servidor le comunique una IP y el
puerto de datos.
3. El servidor comunica al puerto 5122, la IP y el nuevo puerto de datos 8700.
4. El cliente inicia la conexión de datos al puerto 8700.

stat El servidor envía respuesta través de la conexión de control.

Noop No operación, provoca una respuesta O.K. por parte del servidor

syst indica el tipo de sistema operativo del servidor.

help El servidor por la conexión de control envía información.


© Universidad Internacional de La Rioja (UNIR)

acct <parámetro> donde parámetro es una cadena Telnet identificando la cuenta de

usuario
cwd <parámetro> donde parámetro es la ruta de un directorio para almacenar o
recuperar información.
cdup Cambia al directorio padre.

Material complementario
161
Temas
snmt El usuario puede montar un sistema de fichero distinto.

type Tipo de representación.

mode <argumento> donde argumento dicta el modo de transferencia (Flujo – Bloque


– Comprimido).
stor Guarda en un fichero del servidor los datos leidos.

La opción debug obtiene información de la forma de trabajo del protocolo.

Las líneas “--- >” muestran los mensajes que envía el servidor remoto a través de la
conexión de control.

Las líneas que comienzan con un número de tres dígitos decimales muestran los
mensajes que envía el servidor para presentar el resultado de un comando,
facilitando la comunicación con programas.

1xx Los códigos en el rango de 100, indican que se ha comenzado a realizar una
acción.
2xx En el rango de 200, indican que el comando se realizó con éxito.
3xx Indica que se ha alcanzado con éxito un punto intermedio.
4xx Indican errores pasajeros.
5xx Los códigos con el rango de 500, son noticias realmente malas, e indican un
error permanente.

También tienen un significado especial los valores expresados en la segunda posición


del entero devuelto.

x0x Errores de sintaxis.


© Universidad Internacional de La Rioja (UNIR)

x1x Errores de información.


x2x Relacionada con el estado de las conexiones.
x3x Relacionada con login.
x4x Sin especificar.
x5x Sobre el estado del sistema de ficheros.

Material complementario
162
Temas
Ejemplos:

125 Data connection already open; transfer starting.


200 Comand OK.
331 Username OK, password required.
425 Can´t open data connection.
452 Error writing file.
500 Syntax error (unrecognized command).
501 Syntax error (invalid arguments).
502 Unimplemented MODE type.

4.3. SMTP

El correo electrónico es una popular aplicación distribuida, donde al igual que el


servicio postal no está limitado a la transferencia de mensajes de texto, pudiendo
enviar imágenes, voz, vídeo, etc. En sus inicios se utilizaba FTP como envío de correo,
indicando en la primera línea la dirección del receptor.

Una dirección de correo electrónico es la forma de especificar al programa de correo,


la persona a quien se quiere enviar un mensaje.

usuario@dominio

usuario indica la persona a quien va destinado el mensaje.


@ significa «en» (at), así, alumno_x@unir.net se puede leer como
«alumno_x en unir.net».
dominio al que pertenece la máquina.

El nombre formal para un programa de correo de usuario final es agente de usuario


© Universidad Internacional de La Rioja (UNIR)

(UA User Agent), y al menos debe mostrar información de los mensajes de entrada,
guardar los mensajes (de entrada o de salida en carpetas o en archivos locales) y
disponer de un buen editor para componer el texto de los mensajes.

Material complementario
163
Temas
El protocolo simple de transferencia de correo SMTP (RFC 821) es el estándar de
Internet para el intercambio de correo electrónico usando métodos de
almacenamiento y reenvío. Necesita un canal fiable y con entrega ordenada,
adecuándose a esto el protocolo TCP (puerto 25) de la capa de transporte.

SMTP gestiona la transferencia de correo de un host a otro. No es responsable del


correo de los usuarios locales ni de la distribución de correo recibido a sus
destinatarios, esto es una responsabilidad de los sistemas de correo locales.

Al crear un mensaje en el formato estándar, el sistema de correo local determina a


partir del nombre del receptor si debe ser depositado en un buzón local o en la cola
de salida de «listos para lanzar». Para enviar el correo, el cliente SMTP lo primero que
hace es obtener la dirección IP del host de destino del servidor de nombres (DNS) y
lo utiliza para inicializar una conexión de transporte con el servidor SMTP en el host
de destino. Una vez que la conexión ha sido establecida, el cliente inicia la
transferencia del correo en espera hacia el servidor.

Mensaje SMTP

SMTP contiene cabecera y contenido (RFC822 describe el formato del mensaje).

La cabecera especifica:

TO SUBJECT BCC REFERENCE


FROM CC REPLAY_TO

Cada línea de cabecera comprende una de estas palabras reservadas seguidas por un
© Universidad Internacional de La Rioja (UNIR)

texto y separados ambos del carácter ‘:’.

TO:<dirección_del_receptor>
FROM: <dirección_del_emisor>
DATE: <fecha>

Material complementario
164
Temas
El contenido engloba el mensaje a transmitir, alguno de los 128 primeros caracteres
ASCII que, aunque se envíen 8 bits por carácter, el primero se ignora (como si fuera
0) debido al formato del Terminal Virtual de Red (NTV), que se basa en ASCII de 7 bits.

La transmisión de una línea que contiene la secuencia:

<CR><LF>.<CR><LF> (5 caracteres)

Indica que el mensaje ha terminado.

Funcionamiento de SMTP

El remitente actúa como cliente y establece una conexión TCP (puerto 25) con el
destinatario, que actúa como servidor, intercambiando una secuencia de comandos
y respuestas.

El usuario compone un mensaje y el agente de usuario entrega este mensaje al


emisor SMTP activo en la máquina cliente. Si existen varios destinos, se mantiene en
cola, hasta hacerlos entregados en todos ellos.

CLIENTE: HELO upv.es


SERVIDOR: 250 unir.net

C: MAIL FROM: alumno_x@upv.es


S: 250 OK

C: RCPT TO: alumno_x@unir.net


S: 250 OK
© Universidad Internacional de La Rioja (UNIR)

C: RCPT TO: alumno_y@ unir.net


S: 250 OK

C: RCPT TO: alumno_z@ unir.net


S: 550 No such user here.

Material complementario
165
Temas
C: DATA
S: 354 Start mail input; end with <CR><LF>.<CR><LF>

C: Subject:
C: From:
C: <texto del mensaje>
C: <CR><LF>.<CR><LF>
S: 250 OK

C: QUIT
S: 221 unir.net Service closing transmission channel

Comandos SMTP y códigos de respuesta

Los comandos SMTP se transmiten como nemónicos de cuatro caracteres, con


terminación de línea por medio de <CRLF>.

Figura 132. Comandos SMTP.

Códigos de respuesta, formados por tres dígitos, cada uno de los cuales tienen su
significado (coincide con los códigos de respuesta de FTP).
© Universidad Internacional de La Rioja (UNIR)

1yz Respuesta positiva preliminar.


2yz Respuesta de finalización positiva.
3yz Respuesta positiva intermedia.
4yz Respuesta de finalización negativa temporal.
5yz Respuesta negativa al comando.

Material complementario
166
Temas
Extensiones de correo y MIME

SMTP se extendió de manera imparable gracias a su sencillo manejo, pero el hecho


de estar limitado únicamente a mensajes de texto impacientaba al usuario.

Se implantaron nuevos clientes, con la posibilidad de crear y recibir mensajes con


múltiples anexos por medio de los nuevos agentes de transferencia de mensajes de
SMTP extendidos (ESMTP).

Figura 133. ESMTP.

De esta manera básica se implementó en 1992 la extensión de correo para la


transmisión de datos no ASCII, y paso a denominarse MIME (Multipurpose Internet
Mail Extension).

MIME permite que los datos sigan codificándose en ASCII, y luego se envíen por
mensajes e-mail estándar. Cada mensaje MIME incluye datos informando al receptor
del tipo de datos y de la codificación utilizada.
© Universidad Internacional de La Rioja (UNIR)

De esta manera, se resuelven los problemas del envío de mensajes en idiomas con
acentos (castellano), de mensajes con alfabetos no latinos (ruso) y mensajes que no
sean texto (audio, vídeo, etc.).

Material complementario
167
Temas
Funcionamiento de MIME: un agente de transferencia de mensajes extendido, envía
un saludo EHLO en lugar de HELO. Si la respuesta es positiva, el corresponsal también
es un MTA extendido. Si la respuesta es un mensaje de error, el MTA puede volver al
medio SMTP y enviar un comando HELO.

Formato de los mensajes MIME

Un mensaje, puede contener datos ASCII y no ASCII. A los datos no ASCII se les incluye
unas nuevas cabeceras que van a soportar los mensajes.

CABECERA SIGNIFICADO

MIME-Version Identifica la versión de MIME

Content-Description Cadena de texto que describe el contenido

Content-Id Identificador único

Content-Transfer-Encoding Como se codifica el mensaje para su transmisión

Content-Type Naturaleza del mensaje

Tabla 12. Formato de los mensajes MIME

Mensaje MIME que contiene una imagen en la representación estándar gif (Graphics
Interchange Format):

FROM: alumno_x@unir.net
TO: alumno_y@unir.net
MIME-Version: 1.0
Content-Type: image/gif
Content-transfer-Encoding: base64
...datos de la imagen
© Universidad Internacional de La Rioja (UNIR)

MIME-Version: Especifica qué versión de MIME es usada (de momento, tan solo existe

la versión 1.0.).

Material complementario
168
Temas
Content-Description: Campo opcional, para describir el mensaje MIME (parecido a
un comentario).

Content-Id: Ofrece al remitente la posibilidad de dar una identificación unívoca a un


mensaje MIME.

Content-Transfer-Encoding: Especifica el tipo de codificación en que aparece el


contenido del mensaje, para poder ser transmitido sobre los protocolos de
Transporte de SMTP. SMTP en su RFC821, restringe los mensajes a caracteres de 7
bits US-ASCII, con líneas cortas separadas con <CR><LF> no más largos de 1000
caracteres. Por tanto fue necesario definir unos mecanismos estándar para
«recodificar» los mensajes, en datos de 7 bits US-ASCII con las mismas limitaciones.

Valores definidos para Content-Transfer-Encoding son 7 bit, 8bit, binary, quoted-


printable, x-nombre, etc., pero el más extendido es base 64.

base 64

Convierte cualquier tipo de datos en un conjunto de caracteres con un


tamaño de un tercio mayor. Los datos se dividen desde la izquierda en
grupos de 3 bytes de 8 bits cada uno. Para la conversión, se divide en 4
grupos de 6 bit cada uno y se interpreta cada grupo como un número.

Por último sustituimos cada número por el carácter correspondiente,


según la tabla que se muestra a continuación.
© Universidad Internacional de La Rioja (UNIR)

Material complementario
169
Temas
Figura 134. Base 64.

Content-Type: Se utiliza para describir el tipo de contenido del cuerpo del mensaje,
y tiene el siguiente formato de este campo:
© Universidad Internacional de La Rioja (UNIR)

Content-type: type/subtype

Material complementario
170
Temas
Tipos estandarizados (definidos en la RFC/521):

 Text: para texto normal. Puede tener varios subtipos:


• text/plain: texto sin formatear. El juego de caracteres se especifica con el
parámetro charset.
• charset=us-ascii: caracteres ascii (0-127), valor por defecto.
• charset=iso-8859-x: Juego de caracteres y texto (castellano, hebreo, árabe,
cirílico. etc.).
• text/html: texto en lenguaje HTML.

 Message: Posibilita que un mensaje esté encapsulado dentro de otro (reenvío de


correo).
• message/rfc822: Mensaje de correo electrónico clásico.
• message/partial: Mensaje encapsulado en trozos (envío por separado).
• message/external body: Puntero hacia un documento remoto, no el
documento en sí.

 Image: se usa para transmitir datos de imágenes


• image/jpeg: Joint Photographic Experts Groups, esquema de compresión de
imágenes.
• image/gif: Formato gráfico de intercambio.
• image/tiff: Formato de archivos de imagen con marcas.

 Audio y vídeo: Vídeo solo se utiliza para el transporte visual, no el sonoro. Si se


quiere transmitir una película con sonido, se transmite por separado audio y vídeo.
• audio/wav.

• vídeo/mpeg.
© Universidad Internacional de La Rioja (UNIR)

• audio/mp3.
• vídeo/quicktime.

Material complementario
171
Temas
 Application: Datos formateados para una aplicación determinada
• application/postcript: Formato para impresoras con lenguaje postcript.
• application/rtf: Formato de documento de texto enriquecido.
• application/pdf: Postscript de Adobe Acrobat.
• application/zip: Formato de documento comprimido.
• application/msword: Formato de Word.

 Multipart: Cuerpo del mensaje con múltiples objetos independientes, separados


por un separador de encapsulado. El cual está definido en el campo Content-type:

Content-type: multipart/mixed; boundary = “222233131830”

El separador tiene de 1 a 70 caracteres, se inicia con dos guiones, excepto el último


separador, que se inicia y se finaliza con dos guiones.

• multipart/mixed: Permite que un mensaje, contenga distintos submensajes


independientes (texto, voz, gráficos).
• multipart/parallel: Indica que las partes deben mostrarse juntas (ej. audio y
vídeo).
• multipart/alternative: Permite que el mensaje se codifique usando distintos
métodos.
• multipart/digest: Permite que un mensaje contenga un conjunto de otros
mensajes (la colección de e-mail de una discusión).

Ejemplo de un mensaje multipart/mixed en formato MIME

MIME-Version: 1.0
From: alumnox <alumnox@cibeles.unir.net>
© Universidad Internacional de La Rioja (UNIR)

To: alumnoy <alumnoy@perseo.upv.es>


Subject: Message multipart
Content-type: multipart/mixed; boundary = “Etiqueta _0123456789”

- - Etiqueta _0123456789
Content-type:TEXT/PLAIN;charset = ISO-8859-1

Hola, te mando la foto de mi nuevo coche...

Material complementario
172
Temas
- - Etiqueta _0123456789
Content-type:image/jpeg
Content-Transfer-Encoding: base64

QkABBcdtyTRgfTRfKiujhhggGGlI....

- - Etiqueta _0123456789 - -.

Entrega final: POP e IMAP

Actualmente, el usuario se conecta a un servidor de correo por un periodo de tiempo


breve, este almacena en sus buzones los mensajes y los envía a los clientes. En esta
conexión se necesitan protocolos de entrega como POP e IMAP.

POP

POP3 (Protocolo de oficina de correo versión 3, RFC 1225) es un sencillo protocolo


para traer correo electrónico del servidor de correo y almacenar los mensajes en local
para una posterior lectura.

Se conecta con el servidor a través del puerto TCP 110 y es necesario una cuenta de
identificación en esa máquina.

El modelo de comunicación POP3 se basa en tres estados: autorización, transacción


y actualización.

 Autorización: después de establecer la conexión esperando a que el cliente envíe


el nombre y clave.
 Transacción: donde atiende a las peticiones del cliente, antes, POP3 bloquea el
© Universidad Internacional de La Rioja (UNIR)

buzón para impedir que el usuario modifique o borre el correo antes de pasar al
estado siguiente.
 Después de enviar al servidor el comando QUIT, este pasa al estado de
actualización, donde el servidor elimina los mensajes que estaban con la marca de
borrado y finaliza la conexión.

Material complementario
173
Temas
Comandos de POP

 Comandos del estado de autorización:


• USER - PASS: Le indica al servidor, nombre y clave de la cuenta de usuario.
• QUIT: También usado en el estado de transacción. Usado en este, la sesión
finaliza e interrumpe la conexión, usado en transacción, se cierra la conexión y
pasa el servidor al estado de actualización.

 Comandos del estado de transacción:


• DELE: Marca como eliminado un mensaje, pero no lo hace hasta que pasa al
estado de actualización.
• LIST: Recupera información, sobre el tamaño de un mensaje determinado, o
de todos los mensajes.
• NOOP: No operación, se utiliza para mantener activa la sesión.
• RETR: Recuperar. Comando para recuperar o solicitar que el servidor envíe un
mensaje determinado.
• RSET: Reiniciar. Anula la marca de borrado de todos los mensajes que tengan la
marca en el buzón.
• STAT: Obtiene un resumen del contenido del buzón.

 Comandos del estado de actualización:


• No hay comandos, se llega desde el estado de transacción cuando enviamos el
comando QUIT.

Códigos de respuesta:
+ OK El comando funcionó correctamente
+ ERR El comando falló.
© Universidad Internacional de La Rioja (UNIR)

Material complementario
174
Temas
IMAP

El servidor de correo mantiene un depósito central, accesible desde cualquiera


máquina, por tanto es útil para ayudar al usuario que tiene varias máquinas
personales.

IMAP4 (Interactive Mail Access Protocol versión 4, RFC2060) escucha en el puerto 143
y obtiene el correo no por número de llegada, sino usando atributos (por ejemplo
obtener el primer mensaje de una persona determinada).

IMAP permite:

 Almacenar datos en el servidor.


 Acceso compartido a mensajes para grupos.
 Servicios de búsqueda de mensajes.
 Registro de actividad de mensajes.
 Enlace a recursos externos.

Un acceso a mensajes a través de IMAP4 se hace a través de números (una secuencia


de números o identificadores únicos).

Los comandos los envía el cliente consecutivamente, sin esperar las respuestas del
servidor, las cuales llegarán poco a poco. El cliente añade a cada comando una
etiqueta identificadora, y el servidor incluirá esta etiqueta en la respuesta al
comando.

Las respuestas del servidor, las cuales pueden ser enviadas de forma unilateral,
© Universidad Internacional de La Rioja (UNIR)

incluyen la etiqueta enviada por el cliente y habitualmente son: OK (éxito), NO (fracaso)


y BAD (error de protocolo: ej. comando desconocido).

El cliente IMAP4 lleva a cabo una acción en función del primer token que reciba, que
puede ser un «*» o un «+». Además debe estar preparado para recibir cualquier

Material complementario
175
Temas
número de respuestas por parte del servidor en cualquier momento (incluso los no
solicitados).

POP3 versus IMAP4

POP3: La ventaja principal es que los mensajes se guardan en nuestro ordenador,


liberando espacio en nuestro buzón del host, evitando que se llene y no podamos
recibir más mensajes. Es el idóneo para conectarse siempre desde un mismo
ordenador.

IMAP4: Los mensajes y carpetas se guardan en el servidor. Útil para conectarse desde
distintos ordenadores. Hay que borrar los mensajes con cierta regularidad, para no
sobrepasar el límite de capacidad de nuestro buzón.
© Universidad Internacional de La Rioja (UNIR)

Material complementario
176
Temas

También podría gustarte