Вы находитесь на странице: 1из 170

Unidad Didáctica 1: Redes de Computadores

2. Estudio de caso
3. Desarrollo de contenidos
3.1 Conceptos básicos

3.1.1 Componentes de una red


3.1.2 Tipos de redes
Por la tecnología de transmisión

Por la escala
Por la topología
3.1.3 Protocolos y servicios

3.2 Arquitectura en capas


3.2.1 El modelo OSI y el modelo TCP/IP

Pilas de protocolos y modelos


Capas. Funcionalidad

3.3 Historia de las redes e Internet

3.3.1. ARPAnet

3.3.2. Interconexión de redes

3.3.3. World Wide Web

4. Resumen
5. Mapa conceptual

6. Mediateca y fuentes

  1
  2
 
3.1.1 Componentes de una red

Una red de computadoras puede


definirse como un conjunto de dispositivos
informáticos conectados entre sí para
compartir información, recursos y
servicios. Estos dispositivos están
conectados mediante algún canal de
comunicación (p.ej.: un cable de red) y
por determinados elementos hardware que
permiten que se realice la comunicación
(p.ej.: router). El objetivo primordial es
que una información o un recurso pueda
compartirse independientemente de la
localización del usuario o del tipo de
información a compartir.

La red de computadoras más grande del mundo es Internet, una red que interconecta cientos de
millones de dispositivos informáticos a lo largo de todo el planeta.

En sus orígenes, no hace demasiado tiempo, estos dispositivos informáticos eran fundamentalmente
computadoras tradicionales y estaciones de trabajo conectadas con los denominados "servidores", que
almacenaban y transmitían información, tal como mensajes de correo electrónico. Sin embargo, en la
actualidad cada vez más dispositivos se han incorporado a las redes, como ordenadores portátiles,
teléfonos móviles, dispositivos de seguridad, consolas de juegos, tablets, etc. A todo este conjunto de
dispositivos se les denomina hosts o sistemas terminales.

Como en cualquier sistema de comunicación, además de un emisor y un receptor de la información, es


necesario un canal que transmita la información entre el emisor y el receptor. Así, los sistemas
terminales de una red de computadores se conectan entre sí mediante una red de enlaces de
comunicaciones, y están compuestos generalmente de unas líneas de transmisión o canales y de
unos elementos de conmutación. Estos enlaces de comunicaciones pueden transmiten los datos a
distintas velocidades, que se miden en bits/segundo (o sus múltiplos, como kbps). Es lo que se
denomina velocidad de transmisión.

Cuando un sistema terminal tiene que enviar


información a otro sistema terminal, la información
se divide en partes, denominadas "paquetes" de
información.

Estos paquetes vuelven a ensamblarse en el


sistema terminal de destino, para obtener la
información original. Este proceso lo realizan los
conmutadores de paquetes. Así, un conmutador
de paquetes recoge cada paquete que llega por
alguno de sus enlaces de comunicaciones de
entrada y lo reenvía a uno de sus enlaces de
comunicaciones de salida. Los conmutadores de
paquetes más utilizados actualmente en Internet
son los routers y los switches.

La secuencia de enlaces de comunicaciones y de conmutadores de paquetes que atraviesa un paquete


desde el sistema terminal emisor hasta el sistema terminal receptor se denomina ruta.
  3
 

Estos componentes, los sistemas terminales o hosts, los enlaces de comunicaciones y los conmutadores
de paquetes son elementos básicos de cualquier red de computadores. Pero además, si nos fijamos en
Internet, para que un sistema terminal pueda acceder a Internet debe conectarse a través de los ISP
(Internet Service Provider) o Proveedores de Servicios de Internet, que incluyen los ISP de las
compañías telefónicas, los ISP universitarios, os ISP que proprocionan acceso wifi en aeropuertos,
estaciones, hoteles, cafés, etc. En definitiva, estamos refiriéndonos a las empresas que ofrecen
conexión a Internet a sus clientes, ofreciéndoles distintas tecnologías de acceso a Internet, como los
modems de acceso telefónico, el DSL o el acceso inalámbrico. Estas tecnologías de acceso determinan
la velocidad máxima envío y recepción de la información, y constituyen enlaces físicos que conectan un
sistema terminal con el primer router de la red, conocido con el nombre de router de frontera. Pero a
partir de aquí, estos ISP situados en la frontera de la red, se conectan al resto de Internet a través de
una jerarquía de niveles de proveedores ISP (nivel 1, nivel 2, nivel 3...) con distintas características
dependiendo del nivel.

Además, cada tecnología de acceso a Internet utiliza un medio físico diferente para transmitir la
información desde el origen hasta el destino. Estos medios físicos se pueden clasificar en dos
categorías: medios guiados o sólidos, como un cable de fibra óptica, y medios no guiados, como las
redes inalámbricas.

Más adelante volveremos sobre estos conceptos y los desarrollaremos más ampliamente.

  4
 
3.1.2 Tipos de redes

Las redes de computadoras pueden clasificarse atendiendo a distintos criterios. Aquí utilizaremos tres
criterios de clasificación:

La tecnología de transmisión que utilizan.

La escala o extensión geográfica que comprenden.

La topología o disposición física de la red.

  5
 
Por la tecnología de transmisión

Según su tecnología de transmisión las redes de computadores pueden ser:

Redes de difusión: son aquellas en las que todos los sistemas terminales están conectadas a
un único canal. Estas redes permitirán difundir mensajes a todos los terminales de la red o a
un conjunto de ellos (multidifusión). Suelen ser redes pequeñas.

Redes punto a punto: son aquellas que enlazan los sistemas terminales de dos en dos, de
tal forma que el mensaje va de un único origen a un único destino atravesando nodos
intermedios. Es propia de redes grandes, entre ellas Internet.

A la izquierda, un ejemplo de disposición de una red de difusión con un sólo canal de comunicación (topología bus) y a la
derecha un ejemplo de disposición de las redes punto a punto.

  10
 
Por la escala

Según su escala o tamaño (extensión


geográfica), las redes se clasifican en:

Redes de área local (LAN):


Tamaño restringido, y a una
distancia relativamente cercana
(p.ej.: una casa, un edificio). Son
habitualmente redes de difusión y
con topología bus o anillo.

Redes de área metropolitana


(MAN): Es un tipo de red de
mayor tamaño que una LAN,
pudiendo abarcar terminales
ubicados en distintos edificios
(p.ej.: varias oficinas de una
empresa en una misma localidad).
Suelen ser redes de difusión.

Redes de área amplia (WAN): Es un tipo de red de mayor tamaño, capaz de conectar
países o continentes. Suelen ser redes punto a punto. Por ejemplo, Internet.

  11
 
Por la topología

Según la topología de la red, es decir, su


disposición física, tendremos redes en
forma de:

Bus o lineal: Un canal central


que une todos los terminales.
Redes de difusión.

Anillo: Los terminales se


disponen en forma de anillo. La
información que llega a un
terminal, si no la necesita, la
reenvía al siguiente. Redes punto
a punto o de difusión.

Estrella: Un terminal central


unido a cada uno de los
restantes que forma la red.
Redes punto a punto.

Árbol: Las terminales se


disponen en forma de árbol,
como un tronco que va derivando
en distintas ramas. Redes punto a punto.

Malla: Un terminal está unido con varios terminales. Redes punto a punto.

Completao totalmente conexa: Cada terminal está unido físicamente con todos los demás.
Redes punto a punto.

  12
 
3.1.3 Protocolos y servicios

Internet también puede ser visto como una infraestructura que proporciona servicios a las
aplicaciones. Entre estas aplicaciones están la navegación web, el correo electrónico, los juegos
distribuidos, la radio y la televisión a través de internet, la compartición de archivos P2P, etc.

Como se puede apreciar con facilidad, continuamente se están desarrollando nuevas aplicaciones para
Internet. El desarrollo de una aplicación software para Internet exige: por una parte, implementar la
aplicación en el sistema terminal donde se vaya a ejecutar (en lenguaje C, Java....); pero además, será
necesario especificar la forma en que la infraestructura de Internet enviará datos a otro programa que
se esté ejecutando en otro sistema terminal. Pero ¿cómo hacer ésto?

Pues bien, los sistemas terminales conectados a Internet proporcionan una API (Application
Programming Interface), o Interfaz de programación de aplicaciones, que especifica cómo un
programa de software que se ejecuta en un sistema terminal pide a la infraestructura de Internet que
suministre los datos a un programa de software de destino específico que se ejecuta en otro sistema
terminal. La API de Internet consta de un conjunto de reglas que el programa que transmite los datos
debe cumplir para que Internet pueda entregar esos datos al programa de destino.

Analogía cotidiana

Juan quiere enviar una carta a un amigo a través del servicio de correos. Para ello
será necesario que realice una serie de pasos:

a) Juan escribirá la carta y la introducirá en un sobre

b) Escribirá el nombre completo de su amigo, su dirección y código postal en el


sobre

c) Cerrará el sobre y pondrá un sello, adecuado al importe para enviar la carta

d) Introducirá el sobre en un buzón del servicio postal de correos

Esta es la "API" del servicio postal de correos, es decir, un conjunto de reglas


que Juan debe cumplir para que el servicio de correos entregue la carta a su
amigo.

De la misma forma, Internet tiene una API que el programa que envía los datos
debe cumplir para que Internet entre los datos al software que los recibirá.

Por supuesto, el servicio postal de correos proporciona más de un servicio a los


usuarios, como correo urgente, acuse de recibo, correo ordinario, etc. del mismo
modo

Los sistemas terminales y los conmutadores de paquetes ejecutan protocolos que controlan el envío y
recepción de información a través de Internet. Los protocolos definen el formato y orden de los
mensajes intercambiados entre dos o más entidades que se comunican.

  13
 

Los principales protocolos de Internet se conocen bajo la denominación de protocolos TCP/IP, y son:
el protocolo TCP (Transmission Control Protocol) o protocolo de control de la transmisión, que
controla el envío y recepción correctas de los paquetes de información; y el protocolo IP (Internet
Protocol) o protocolo de Internet, que especifica el formato de los paquetes que se envían y reciben
entre los routers y los sistemas terminales. Toda comunicación entre dos o más entidades en Internet
está gobernada por un protocolo.

Por ejemplo, veamos un protocolo sencillo de red, en el que un terminal solicita un archivo a un
servidor web. Primero el terminal hará una petición de conexión; el servidor recibe la petición y
devolverá un mensaje de respuesta; a continuación desde el terminal se podrá introducir la dirección
web; finalmente el servidor web enviará la página al terminal.

A lo largo de esta Unidad Didáctica


estamos utilizando alguna analogía
cotidiana para entender mejor
algunos conceptos sobre las redes de
computadoras.

¿Serías capaz de encontrar una


analogía para explicar elconcepto de
protocolo?

  14
 
3.2 Arquitectura en capas

Las redes de computadores, y


en particular Internet,
organizan sus protocolos en
una serie de capas,
construidas cada una sobre la
anterior, y donde cada
protocolo pertenece a una de
esas capas. El número de
capas, su nombre, contenido y
función pueden diferir de una
red a otra, si bien en todas
ellas el propósito de cada capa
será ofrecer determinados
servicios a las capas
superiores.

En la imagen podemos ver la


estructura de dos sistemas
terminales con cinco capas.

La CAPA n de un host lleva a


cabo una conversación con la
CAPA n del otro host. Las
reglas y convenciones que se seguirán en esa conversación serán el Protocolo de la CAPA n.

En realidad, los datos no se transmiten directamente entre la CAPA n de una máquina y la CAPA n de
la otra, sino que cada capa pasa los datos e información de control a la capa que está por debajo de
ella hasta llegar a la capa más baja, el medio físico, que es a través de dónde ocurre la comunicación
real.

Entre cada par de capas adyacentes de un host hay una interfaz, que define los servicios que la capa
inferior ofrece a la superior, y a través de la cual la capa superior accede a la inferior. Así, podemos
decir que la CAPA n es un proveedor de servicios mientras que la CAPA n+1 es un usuario del
servicio. Cuando los diseñadores de redes deciden cuántas capas incluir en una red y lo que cada capa
debe hacer, una de las consideraciones más importantes es definir interfaces claras entre las distintas
capas.

Un conjunto de capas y protocolos recibe el nombre de ARQUITECTURA DE RED. La arquitectura de


capas proporciona modularidad, y permite que sea mucho más sencillo modificar o actualizar
componentes del sistema, como la implementación del servicio suministrado por una capa a la capa
superior. Pensemos que la CAPA n proporciona el mismo servicio a la CAPA n+1 y emplea los mismos
servicios que la capa que tiene por debajo, CAPA n-1. El resto de la arquitectura permanece invariable
cuando se modifica la implementación de una capa.

Esta distinción entre servicios, interfaces y protocolos proviene del modelo OSI (open systems
interconnection) o interconexión de sistemas abiertos de la Organización Internacional de Normas
ISO. El modelo OSI es un modelo de referencia para la estandarización de protocolos en redes de
computadoras que propone una arquitectura de siete capas, y que abordaremos en la siguiente
sección.

  15
 
3.2.1 El modelo OSI y el modelo TCP/IP

  16
 
Pilas de protocolos y modelos

La lista de protocolos de una determinada


arquitectura, con un protocolo por cada
capa, se denomina pila de protocolos.

Internet tiene una pila de protocolos de


cinco capas, denominadas: capa física,
capa de enlace, capa de red, capa de
transporte y capa de aplicación, siguiendo el
denominado modelo TCP/IP (denominado
así por las iniciales de sus dos protocolos
primarios), que se creó específicamente en
base a la pila de protocolos de Internet.

Por contra, existe otro modelo de referencia


anterior, denominado modelo OSI, de
siete capas, que añade a las anteriores la
capa de sesión y la capa de presentación.
Este modelo, al contrario que el modelo
TCP/IP, fue creado antes de inventarse los
protocolos, por lo que se convirtió en algo más general.

El modelo OSI es un modelo de referencia para la estandarización de protocolos en redes de


computadoras. No es en sí una arquitectura de red, ya que no especifica los protocolos y servicios
exactos que se han de usar en cada capa, sino que únicamente dice lo que debe de hacer cada capa.

Una de las contribuciones importantes realizadas por el modelo OSI fue la distinción explícita planteada
entre protocolos, servicios e interfaces, que también adoptó el modelo TCP/IP y cuyos conceptos ya
hemos comentado.

  17
 
Capas. Funcionalidad

Para explicar las capas de cada modelo, seguiremos el siguiente criterio. Primeramente
exponemos las cinco capas coincidentes en ambos: capa de aplicación, capa de transporte, capa de
red, cada de enlace y capa física, ya que su funcionalidad es básicamente la misma. En ellas
haremos referencia explícita a los protocolos de la pila de Internet que desarrollaremos en las
siguientes unidades didácticas. Finalmente, añadiremos las dos capas propias del modelo de
referencia OSI: la capa de presentación y la capa de sesión.

El modelo TCP/IP consta de cinco capas: capa de aplicación, capa de transporte, capa de red, capa de
enlace y capa física. Sus funcionalidades son similares a las capas del mismo nombre del modelo de
referencia OSI.

Capa de aplicación: Es donde residen las


aplicaciones de red y sus protocolos. Algunos
ejemplos de protocolos que incluye esta capa en
TCP/IP son: el protocolo HTTP (permite la solicitud y
transferencia de documentos web), el protocolo
SMTP (permite la transferencia de mensajes de
correo electrónico) y FTP (permite la transferencia
de archivos entre dos sistemas terminales). Los
paquetes de información que se transmiten entre
capas de aplicación de distintos sistemas terminales
se denomina mensaje.

Capa de transporte: Es la encargada de


transportar los mensajes de la capa de aplicación
entre los puntos terminales de la aplicación. En
internet los protocolos de transporte son el TCP
(orientado a conexión) y UDP (sin conexión). Un
servicio orientado a conexión establece primero una conexión, la usa y luego la libera, similar al
teléfono. Por contra, un servicio sin conexión es similar al sistema de correos. Si se envían dos cartas al
mismo destino, no hay garantía de que siempre el primero enviado será el primero en llegar, lo cual es
imposible que pudiera ocurrir en un servicio orientado a conexión. A los paquetes de información de la
capa de transporte se les suele denominar segmentos.

Capa de red: Es la encargada de transportar los paquetes de la capa de red, denominados


datagramas, de un host a otro. En Internet el protocolo más conocido es el protocolo IP, que define el
formato de los datagramas, y la forma en que los routers y los sistemas terminales actuarán sobre
dicho formato. También están en esta capa los protocolos de enrutamiento de los datagramas que
indican las rutas que siguen dichos datagramas entre origen y destino.

Capa de enlace: Es la que encamina los datagramas a través de los routers entre el origen y el
destino. Para trasladar un paquete de un nodo (host o router) al siguiente nodo, la capa de red del
nodo origen pasa el datagrama a la capa de enlace, que entrega el datagrama al siguiente nodo de la
ruta. Allí, la capa de enlace de ese nodo pasa el datagrama a su capa de red. Los paquetes de
información de la capa de enlace se suelen denominar tramas.

  18
 

Capa física: Es la encargada de transportar los bits individuales dentro de la trama de un nodo al
siguiente. Los protocolos de esta capa son dependientes del medio de transmisión del enlace, y por
tanto, se transportarán a través del enlace de forma diferente.

El modelo de referencia OSI incluye además dos capas adicionales:

Capa de presentación: Su función es proporcionar servicios que permitan a las aplicaciones


que se comunican interpretar el significado de los datos intercambiados. Estas funciones
incluyen la comprensión y cifrado de los datos, así como la descripción de los datos. Esta
funcionalidad permite a la capa de aplicación no tener que preocuparse del formato interno en
que se representen o almacenen los datos, y que puede ser diferente dependiendo de una
computadora a otra.
Capa de sesión: Su función es delimitar y sincronizar el intercambio de datos, es decir,
controlar el diálogo (quién habla, cuándo y cuánto tiempo). Además debe incluir la forma de
crear un punto de restauración y una forma de recuperación de los datos.

  19
 
3.3 Historia de las redes e Internet

  20
 
3.3.1. ARPAnet

Las redes de computadores e Internet tienen sus inicios


en la década de 1960. En aquella época la red de
comunicaciones era la red telefónica. Esto unido a la
creciente importancia de las computadoras hizo germinar
Leonard Kleinrock es actualmente la cuestión de cómo enlazar computadoras para que
catedrático de Informática en la
Universidad de California.
pudieran compartir información entre ellas. Varios grupos
de investigación comenzaron a trabajar por todo el mundo
Pues entrar en su página web y conocer
en esta línea, y fue Leonard Kleinrock (estudiante
muchas más cosas sobre él y su
trabajo. graduado en el MIT) quién publicó un primer trabajo
sobre las técnicas de conmutación de paquetes
Aquí tienes el enlace:
[Kleinrock, 1961] y el primer libro sobre el tema
Leonard Kleinrock’s webpage [Kleinrock, 1964].

Simultáneamente Paul Baran había comenzado a


investigar el uso de la conmutación de paquetes para las
comunicaciones de voz en redes militares [Baran, 1964] y
en Inglaterra Donald Davies y Roger Scantlebury también
estaban desarrollando ideas sobre la conmutación de
paquetes. Estos trabajos establecieron los principios de la
tecnología en la que se basa Internet en la actualidad.

La primera red de conmutación de paquetes fue ARPAnet [Roberts, 1967], cuyo primer nodo fue
instalado en el Network Measurement Center de UCLA, donde trabajaba Kleinrock. El segundo nodo se
colocó en el Standford Research Institute (SRI) y entre ellos dos se envió el primer mensaje de host a
host. A finales de 1969 ARPAnet estaba disponible funcionando con cuatro nodos. Los conmutadores
de paquetes (IMP, Interface Message Processors) fueron construidos por la empresa BBN. En 1971, la
red ARPAnet contaba con 15 nodos, y se realizó su primera demostración pública en la Conferencia
Internacional de Comunicaciones de Computadoras (ICCC).

= En el siguiente vídeo es el propio profesor Leonard Kleinrock quién explica cómo se realizó la primera
conexión en ARPAnet, en 1969.

Y también muestra en detalle el primer router utilizado.

Vídeo: The First Internet connection.

Vídeo: Internet's first router

  21
 

Galería de imágenes

  22
 
3.3.2. Interconexión de redes

En 1970 se publicó el primer protocolo host a host entre terminales de ARPAnet, denominado NCP
(Network Control Protocol). A partir de este protocolo terminal a terminal ya podían implementarse
aplicaciones. Ray Tomlinson, de la empresa BBN, desarrolló la primera aplicación de correo
electrónico en 1972.

A partir de 1975 nuevas redes de conmutación de paquetes fueron surgiendo, además de ARPAnet.
Todas ellas eran autónomas, como ARPAnet. Es decir, para establecer una comunicación con un host
de ARPAnet había que estar realmente conectado a otro IMP de ARPAnet.

Simultáneamente se investigaba sobre la necesidad de interconectar las redes de computadores, siendo


Vinton Cerf y Robert Kahn [Cerf, 1974] los primeros en proponer los principios arquitectónicos para la
interconexión de redes (internetting) y la creación de una red de redes. Estos principios
arquitectónicos se integraron en TCP, que por aquel entonces combinaba una entrega fiable y
secuencial de los datos con funciones de reenvío (que ahora realiza IP). Los primeros experimentos
hicieron ver la necesidad de separar IP de TCP y crear nuevos protocolos, como UDP. Estos tres
protocolos, TCP, IP y UDP son claves en Internet hoy en día.

En 1980 ARPAnet ya tenía más de 200 nodos conectados. A partir de entonces el crecimiento fue
enorme, hasta el punto que a finales de la década de 1980 los hosts conectados a la red Internet
pública (similar a la Internet actual), llegaría a las cien mil. Gran parte de este crecimiento fue debido a
las investigaciones por intentar conectar universidades, utilizar servicios de correo electrónico y de
transferencia de archivos (BITNET).

El 1 de enero de 1983 se llevó a cabo el lanzamiento de TCP/IP como nuevo protocolo de host
estándar para ARPAnet (sustituyendo a NCP), haciendo que todos los hosts comenzasen a utilizarlo a
partir de esa fecha.

También se desarrolló el sistema de DNS (Domain Name System) o sistema de nombres de


dominio, con el fin de asociar cada nombre de Internet que usamos las personas con sus direcciones
IP.

Simultáneamente a este desarrollo de ARPAnet, y patrocinado por el gobierno francés se desarrolló el


sistema Minitel que pretendía llevar las redes a todos los hogares franceses. Se trataba de una red
pública de conmutación de paquetes basada en los protocolos X.25 que usaban terminales
económicos con modems de baja velocidad. Minitel tuvo un gran éxito cuando en 1984 el gobierno
francés proporcionó un terminal Minitel gratuito a todas las personas que lo solicitasen para su hogar.

Galería de imágenes de Minitel

  23
 
3.3.3. World Wide Web

Tuvieron que pasar casi diez años para que apareciese la World Wide Web, que llevaría Internet a
millones de hogares y empresas en todo el mundo, sirviendo como plataforma para implantar cientos
de nuevas aplicaciones. La Web fue inventada por Tim Berners-Lee [Berners-Lee, 1989], que
desarrollaron versiones iniciales de HTML, HTTP, un servidos web y un navegador. En 1993 ya había
más de doscientos servidores web y un gran número de empresas comenzaron a dedicarse a crear
productos y servicios de Internet, como la mensajería instantánea y la compartición igualitaria de
archivos MP3.

Este camino continúa en nuestros días, donde los avances en las redes de computadores se suceden
día a día, como la implementación de nuevas aplicaciones, distribución de contenidos, telefonía por
Internet, compartición de voz, vídeo y televisión sobre IP o los routers más rápidos. Destacan
especialmente los métodos de acceso de alta velocidad, la seguridad en las redes y las redes P2P, con
aplicaciones tan conocidas como Skype, Napster, Kazan, BitTorrent o PPLive.

= En menos de diez minutos un recorrido que resume todo lo que has visto sobre la historia de las redes
y de Internet:

Video: Canal Historia-Internet

Puedes descubrir más detalles sobre


la historia de Internet accediendo a
esta web en castellano.

¡Disfrútalo!

Todo sobre Internet

  24
 
4. Resumen

Las redes de computadores comunican sistemas terminales (computadores, tablets, móviles, etc)
mediante enlaces de comunicaciones, con el objetivo principal de poder compartir distintos tipos de
información y recursos en cualquier lugar y en cualquier momento. La información que envía un
terminal a otro se divide en paquetes de información, que son ensamblados en el terminal de destino.
Este proceso de partición y ensamblaje lo realizan los conmutadores de paquetes.

La red de computadores más grande del mundo es Internet. Para que un sistema terminal pueda
conectarse a Internet es necesario un Proveedor de Servicios de Internet (ISP), que puede ofrecer
un acceso a Internet proporcionando distintas tecnologías, como la fibra óptica, el cable o las
conexiones inalámbricas. Estas tecnologías utilizan medios físicos diferentes para transmitir la
información desde el origen al destino, y que pueden ser guiados o no guiados.

Internet puede entenderse como una infraestructura que proporciona servicios a las
aplicaciones (correo electrónico, navegación web, televisión por Internet, etc). Los sistemas
terminales conectados a Internet proporcionan una Interfaz de programación de aplicaciones
(API), que especifica un conjunto de reglas que la aplicación que transmite los datos desde un
terminal debe cumplir para que Internet pueda entregar esos datos a la aplicación de destino.

Los sistemas terminales y los conmutadores de paquetes ejecutan protocolos que controlan el envío y
recepción de la información, estableciendo el formato y orden de los mensajes intercambiados.

Las redes de computadores organizan sus protocolos de comunicación en una serie de capas,
organizadas de forma jerárquica, de tal forma que cada capa ofrece una serie de servicios a la capa
superior, y ejecuta una serie de protocolos. A este conjunto de capas y protocolos se le denomina
arquitectura de una red.

Se denomina pila de protocolos a la lista de protocolos de una determinada arquitectura. El modelo


OSI de ISO es modelo de referencia para la estandarización de protocolos en redes de
computadoras y define una arquitectura de siete capas. De arriba abajo la capa de aplicación, la capa
de presentación, la capa de sesión, la capa de transporte, la capa de red, la capa de enlace y la capa
física. Es un modelo general que especifica las funciones que debe realizar cada capa.

Internet utiliza el denominado modelo TCP/IP (en honor a sus protocolos primarios), que consta de
cinco capas, las mismas que el modelo OSI a excepción de la capa de sesión y la capa de
presentación.

Las redes de ordenadores se pueden clasificar atendiendo a distintos criterios, dando lugar a diversos
tipos de redes de computadoras: por la tecnología de transmisión se dividen en redes de difusión y
punto a punto; por la extensión geográfica que pueden alcanzar se dividen en redes LAN, MAN y
WAN; por la topología física de la red se distinguen redes en forma de bus, anillo, estrella, árbol,
malla y conexión completa.

  25
 
5. Mapa conceptual

  26
 
5. Mapa conceptual

UD2. La capa de aplicación


2. Estudio de caso
3. Desarrollo de contenidos

3.1. Principios de las aplicaciones en red


3.1.1. Arquitecturas de las aplicaciones en red

3.1.2. Procesos de comunicación


3.1.3. Servicios de transporte
3.1.4. Protocolos de la capa de aplicación

3.2. Web y HTTP


3.2.1. Conexiones persistentes y no persistentes

3.2.2. Formato de los mensajes de solicitud HTTP


3.2.3. Formato de los mensajes de respuesta HTTP

3.2.4. Cookies

3.3. FTP: Transferencia de archivos


3.3.1. Comandos y respuestas FTP
3.4. Correo electrónico. SMTP

3.5.DNS: Servicio de directorio de Internet

3.5.1 ¿Cómo funciona DNS?


4. Resumen

5. Mapa conceptual

6. Mediateca y fuentes

  2
7
 

5. Mapa conceptual

  2
8
 

5.2.Mapa
Estudio
conceptual
de caso

Estudio de Caso

  2
9
 

3. 5. Mapa conceptual
4.
5. Desarrollo de contenidos

Principios de las aplicaciones en red

Web y HTTP

FTP

Correo electrónico

DNS

  3
0
 

5. Mapa conceptual

Principios de las aplicaciones en red

Para desarrollar una aplicación de red será necesario escribir programas que sean capaces de ejecutarse
en distintos hosts, y que se comuniquen entre sí a través de la red.

Ejemplo 1: Un sistema de compartición de archivos P2P

En este caso se necesita un programa en cada terminal que participa en la


comunidad de compartición de archivos. Los programas instalados en cada
terminal serán iguales o muy parecidos

Ejemplo 2: La aplicación Web

En este caso se necesitan dos programas distintos que se comuniquen entre


sí: un navegador en el terminal del usuario y el programa del servidor web
que se ejecuta en el terminal servidor web.

  3
1
 

5. Mapa conceptual
La comunicación de una aplicación de red se efectúa entre sistemas terminales en la capa de aplicación.

Para desarrollar una aplicación de red será necesario escribir software que se ejecute en varios sistemas
utilizando un lenguaje de programación. Pero el desarrollador de aplicaciones no tiene que escribir
software para otros componentes de la red, como los routers o los switches.

Esto facilita el desarrollo e implementación de aplicaciones de red, siendo uno de los motivos del rápido
y enorme crecimiento del número de aplicaciones de red.

  3
2
 

5. de
3.1.1. Arquitecturas Mapa conceptual
las aplicaciones en red

La arquitectura de una aplicación es muy distinta de la arquitectura de la red (ej: TCP/IP). Desde la
perspectiva del desarrollador de aplicaciones, la arquitectura de una red es fija y proporciona un
conjunto específico de servicios a las aplicaciones.

La arquitectura de la aplicación la diseña el desarrollador de la aplicación, disponiendo cómo la aplicación


se estructura en los distintos hosts.

Hay dos tipos de arquitecturas predominantes en las aplicaciones de red actuales: la


arquitectura cliente-servidor y la arquitectura P2P (peer to peer). Veamos sus principales
características:

Arquitectura cliente-servidor:

Existe un host siempre activo, denominado servidor, que se encarga de dar


servicio a las solicitudes de otros hosts, denominados clientes. Los clientes
podrán estar activos siempre o no.
Los clientes no se comunican entre sí.
El servidor siempre tiene una dirección fija y conocida, denominada dirección
IP. A través de esta dirección los clientes siempre pueden comunicarse con él enviándole un
paquete.
Aplicaciones que utilizan la arquitectura cliente-servidor: la Web, el correo
electrónico o la transferencia de archivos FTP.
Habitualmente se necesita más de un servidor para responder a las peticiones
de los clientes y no verse desbordado. Se crea entonces un centro de datos con varios hosts
que forman un servidor virtual de mayor capacidad.
Los proveedores del servicio deben afrontar unos costes muy elevados para
mantener esta infraestructura.

  3
3
 

Arquitectura P2P:
5. Mapa conceptual
Hay una comunicación directa entre parejas de hosts que pueden estar
conectados de forma intermitente, denominados pares (peers).
Los pares no son propiedad del proveedor del servicio, sino que son terminales
controlados por los usuarios en sus casas, oficinas, etc.
Aplicaciones que utilizan la arquitectura P2P: la compartición de archivos (p.ej.:
eMule), la telefonía por Internet (p.ej.: Skype), la distribución de archivos (p.ej.:
BitTorrent)
La arquitectura P2P es autoescalable. Es decir, cada par además de generar una
carga de trabajo solicitando archivos también añade capacidad al servicio distribuyendo
archivos a otros pares.

  3
4
 

5. Mapa
3.1.2. conceptual
Procesos de comunicación

Un proceso es un programa que se ejecuta dentro de un sistema terminal. Cuando los


procesos se ejecutan dentro de un mismo sistema terminal pueden comunicarse a través del
sistema operativo del terminal. Sin embargo, cuando los procesos se ejecutan en hosts
diferentes, lo hacen intercambiando mensajes a través de la red. A uno de los procesos se le
etiqueta como proceso cliente y al otro como proceso servidor.

En una aplicación web, un navegador es un proceso cliente y un servidor web es un proceso


servidor.

En una aplicación P2P, por ejemplo, la compartición de archivos, el host que descarga el archivo
será el cliente y el host que carga el archivo será el servidor. En estas aplicaciones, un proceso
puede actuar en ocasiones como cliente y en otras ocasiones como servidor.

En el contexto de una sesión de comunicación entre dos procesos, el proceso que inicia la
comunicación al comienzo de la sesión será el proceso cliente. El proceso que espera a
ser contactado para comenzar la sesión es el proceso servidor.

Un proceso envía mensajes a la red y los recibe de la red a través de una interfaz software
denominada socket. Así pues, un socket es la interfaz existente entre la capa de aplicación
y la capa de transporte de un host en el modelo TCP/IP (lo que llamamos en la anterior
unidad didáctica una API o interfaz de programación de aplicaciones).

Podemos entender un socket como una puerta, de tal


forma que cuando un proceso desea enviar un mensaje a
otro proceso que se está ejecutando en otro host, envía el
mensaje a través de la puerta (socket).

Este proceso emisor entiende que hay una infraestructura


de transporte al otro lado de la puerta que llevará el
mensaje hasta el host destino.

En el host destino, el mensaje pasa a través de la puerta


Un proceso que se ejecuta en un (socket) y llega al proceso receptor.
determinado host indicará el proceso
con el que quiere comunicarse en el El único control que tiene el desarrollador de la aplicación
host destino especificando:
sobre el lado de la capa de transporte es: la elección del
* El nombre o dirección IP del host, protocolo de transporte y algunos pocos parámetros de la
que es un conjunto de 32 bits que capa de transporte como los tamaños máximos del buffer
identifica un host de forma unívoca. y del segmento.
* El proceso de recepción en el host
destino, mediante un número de
puerto

  3
5
 

5. Mapa conceptual

10
 
 

5. Mapa conceptual
Servicios de transporte

En esta sección vamos a exponer los posibles servicios que de forma genérica puede ofrecer un protocolo
de la capa de transporte a las aplicaciones que le invocan, y que se ajustan a cuatro parámetros:
transferencia de datos fiable, tasa de transferencia, temporización y seguridad.

Transferencia de datos fiable

Un protocolo de transporte proporciona un servicio de transferencia de datos


fiable (proceso a proceso) si garantiza que los datos enviados desde un
terminal de la aplicación serán entregados de forma correcta y por
completo al otro terminal de la aplicación. Algunas aplicaciones, como el correo
electrónico, la transferencia de archivos o las aplicaciones financieras necesitan
este servicio, y tener la tranquilidad de que no va a existir una pérdida de datos
(imaginaos lo que podría suponer en las transferencias bancarias).

Sin embargo hay aplicaciones denominadas tolerantes a pérdidas, para las que la
pérdida de datos no es un problema fundamental, como por ejemplo las aplicaciones
multimedia de audio o vídeo, en las cuales una pérdida puede dar lugar a una pequeña
interrupción, pero no resulta tan grave.

Tasa de transferencia

Es la cantidad de bits/segundo que el proceso emisor puede enviar al


proceso receptor. Esta tasa puede variar a lo largo del tiempo, ya que a lo largo
de la ruta de la red el ancho de banda de la red estará compartido por otras
sesiones de comunicación, que se iniciarán y terminarán de forma aleatoria.

Para evitar esto hay protocolos de transporte que proporcionan una tasa de
transferencia disponible garantizada, a una cierta velocidad. Con este servicio, la
aplicación puede solicitar para su comunicación una tasa de transferencia garantizada
mínima de r bits/segundo

Temporización

Un protocolo de la capa de transporte también puede proporcionar un servicio que


garantice un tiempo máximo de llegada entre el socket emisor y el socket receptor.
Este servicio sería muy adecuado para las aplicaciones interactivas en tiempo real, como la
telefonía por Internet, los entornos virtuales o los juegos multijugador.

Seguridad

Un protocolo de la capa de transporte puede proporciona a una aplicación


distintos servicios de seguridad, como el cifrado de datos (confidencialidad),
la integridad o la autenticación.

11
 
 

5. Mapa conceptual

En particular, si nos fijamos en Internet y las redes TCP/IP existen dos protocolos de transmisión de
datos (que desarrollaremos en la siguiente unidad didáctica) que proporcionan distintos servicios a las
aplicaciones de red, y que adelantamos en la tabla:

Protocolo TCP Protocolo UDP

Servicio orientado a conexión Servicio no orientado a conexión

Servicio de transferencia de datos Servicio de transferencia de datos no


fiable fiable

No incluye servicio de control de


Servicio de control de congestión
congestión

12
 
 

3.1.3. 5. Mapa conceptual


Protocolos de la capa de aplicación

Un protocolo de la capa de aplicación define cómo los


procesos de una aplicación (que se ejecutan en distintos
hosts) se pasan los mensajes entre sí. Para ello, el protocolo
especifica:

Los tipos de mensajes intercambiados (p.ej.:


mensajes de solicitud y respuesta)

La sintaxis de los mensajes, es decir, los campos que


tiene el mensaje y cómo se delimitan

La semántica de los campos, es decir, el significado de


la información contenida en cada campo

Las reglas para determinar cuándo y cómo un proceso


envía mensajes y responde a los mensajes.

Es muy importante diferenciar claramente entre aplicaciones de red y protocolos de la capa de


aplicación. Tomemos como ejemplo la aplicación Web que permite a los usuarios obtener documentos
almacenados en servidores bajo demanda. Esta aplicación consta de muchos componentes, como los
navegadores web (p.ej.: Firefox, Internet Explorer), los servidores web (p.ej.: Apache, Microsoft), los
formatos de los documentos (HTML) y un protocolo de la capa de aplicación, HTTP. Este protocolo HTTP
define el formato y secuencia de los mensajes que se pasan entre el navegador web y el servidor web.
Es por tanto, sólo una parte de la aplicación web.

Un protocolo de la capa de aplicación es únicamente un elemento


de una aplicación de red.

Una vez hemos recorrido los principios de las aplicaciones de red, vamos a adentrarnos a partir de ahora
en varias aplicaciones relevantes dentro de Internet: La Web, la transferencia de archivos, el correo
electrónico y el servicio de directorio.

13
 
 

5. Mapa conceptual

3.2. Web y HTTP

La Web (Berners-Lee, 1994) fue la primera aplicación de Internet que atrajo la atención del público en
general, cambiando la forma en que las personas interactúan dentro y fuera de sus entornos de trabajo,
pasando a ser un elemento más de quehacer cotidiano. La Web permite acceder a información
documental, audio o vídeo e incluso publicar información en la web con una gran facilidad.

Una página web consta de objetos, que son archivos (una imagen, un vídeo, un archivo html,.....). La
mayoría de las páginas están formadas por un archivo base HTML y varios objetos referenciados. Cada
objeto puede direccionarse mediante un único URL (Uniform Resource Locator). Veamos un ejemplo de
URL, formada por el nombre del host y el nombre de la ruta al objeto:

www.algunsitio.edu /algunlugar/edificio.jpg
nombre del host nombre de la ruta

El protocolo HTTP (HyperText Transfer Protocol) es el


protocolo de la capa de aplicación de la Web.

Se implementa en dos programas: un programa cliente y un


programa servidor. El programa cliente y el programa servidor se
comunican entre sí intercambiando mensajes HTTP, según la
estructura definida por el protocolo (que veremos en detalle más
adelante).

Así, el protocolo HTTP define cómo los clientes solicitan páginas


web a los servidores web y cómo estos servidores transfieren esas páginas web a los clientes. HTTP
utiliza TCP como su protocolo de transporte.

El proceso en términos generales sería el siguiente:

El cliente HTTP inicia primero


una conexión TCP con el
servidor. Una vez establecida la
conexión los procesos
navegador y servidor acceden a
TCP a través de sus interfaces
de socket.

El cliente envía mensajes de


solicitud HTTP a su interfaz
socket y recibe mensajes de
respuesta HTTP procedentes de
su interfaz socket.

De forma similar, el servidor recibe los mensajes de solicitud de su interfaz socket y envía
mensajes de respuesta a través de su interfaz socket.

14
 
 

5. Mapa conceptual

HTTP no tiene que preocuparse por las pérdidas de datos (recuerda que TCP es un protocolo con servicio
de transferencia de datos fiable).

HTTP es un protocolo sin memoria del estado. ¿Qué quiere decir esto? Que el servidor envía los
archivos solicitados a los clientes sin almacenar ninguna información acerca del estado del cliente, es
decir, que si un cliente pide el mismo objeto dos veces en un mínimo espacio de tiempo, el servidor
reenvía el objeto. Si tuviera memoria del estado podría responder que acaba de enviar el objeto al
cliente, pero esto no es así.

15
 
 

5. Mapa conceptual

3.2.1. Conexiones persistentes y no


persistentes

En muchas aplicaciones de Internet, el cliente y el servidor están en comunicación durante un


amplio periodo de tiempo debido a que el cliente realiza una serie de solicitudes y el servidor
responde a esas solicitudes. Cuando esta interacción tiene lugar sobre TCP el desarrollador
tiene que decidir si la aplicación va a realizar cada par solicitud/respuesta a través de una
conexión TCP independiente (conexión no persistente) o bien todas las solicitudes y
las correspondientes respuestas a través de una única conexión TCP (conexión
persistente).

HTTP puede usar conexiones persistentes o no persistentes, si bien, HTTP/1.1 por defecto utiliza
conexiones persistentes, donde múltiples objetos pueden ser enviados sobre una misma conexión TCP
entre cliente y servidor. Veamos un ejemplo de lo que ocurre en cada tipo de conexión.

Supongamos que el cliente quiere acceder a la URL


http://www.algunsitio.edu/algunaciudad/index.html , que consta de un archivo base
HTML y 8 imágenes jpeg (es decir, en total 9 objetos). Veamos lo que sucede:

HTTP con conexión no persistente

El proceso cliente HTTP incia una conexión TCP con el servidor


www.algunsitio.edu en el puerto 80, que es el nº de puerto por defecto para
HTTP. Asociados con la conexión TCP habrá un socket en el cliente y un socket
en el destino.

El proceso servidor HTTP en el host www.algunsitio.edu está esperando


conexiones en su puerto 80. Cuando acepta la conexión le envía un mensaje al
cliente a través de su socket.

El proceso cliente HTTP envía un mensaje de solicitud HTTP al servidor a través


de su socket, incluyendo el nombre de la ruta (/algunaciudad/index.html)

El proceso servidor HTTP recibe el mensaje de solicitud a través de su socket, y


recupera el objeto en su medio de almacenamiento, lo incluye en un mensaje de
respuesta HTTP y se lo envía al cliente a través de su socket. En el mismo
mensaje notifica a TCP que cierre la conexión (lo que no hace hasta estar seguro
que el cliente ha recibido el mensaje de respuesta de forma correcta).

El proceso cliente HTTP recibe el mensaje de respuesta, y la conexión TCP


termina. El cliente examina el archivo HTML y localiza las referencias a los otros
objetos jpeg.

16
 
 

5. Mapa conceptual

Los 4 primeros pasos se repetirán para cada objeto referenciado. En la realidad


no se repetirá tantas veces como objetos se referencien, ya que algunas
conexiones TCP se inician en paralelo, reduciendo así el tiempo total de
descarga.

HTTP con conexión persistente

Los cuatro primeros pasos son similares, excepto que el servidor deja la conexión
abierta después de enviar una respuesta; no la cierra como ocurría en el caso anterior.

Así las siguientes solicitudes y respuestas pueden realizarse a través de la


misma conexión. Esto supone un ahorro de tiempo, ya que en el caso de la
conexión no persistente habrá un retardo de tiempo por cada nuevo
establecimiento de conexión TCP y otro para cada solicitud de un objeto.

En la conexión persistente las solicitudes de objetos se pueden hacer una tras otra sin
necesidad de esperar a obtener respuestas de las solicitudes pendientes.

17
 
 

5. Mapa conceptual

3.2.2. Formato de los mensajes de solicitud HTTP

Examinaremos el formato general de un mensaje de solicitud HTTP, y un ejemplo básico


de una solicitud HTTP usando el método GET (que aparece a la derecha).

Línea de solicitud: Es la primera línea del mensaje, y consta de tres campos: método, URL y versión.

El campo método puede tomar distintos valores, siendo los más frecuentes: GET, POST, HEAD,
PUT o DELETE (de los que hablaremos más adelante)
El campo URL identifica un objeto.
El campo Versión indica la versión HTTP que utiliza el navegador.
En el ejemplo de la derecha, se utiliza el método GET, que es el método más usado
en los mensajes de solicitud HTTP. Se utiliza cuando el navegador solicita un objeto, que se
identificará en el campo URL. En este caso, el navegador está solicitando el objeto
/unadireccion/pagina.html. A continuación aparece la versión que usa el navegador del
cliente que realiza la solicitud, en este caso la versión HTTP/1.1

Líneas de cabecera: Pueden aparecer varias en el mensaje (e incluso ninguna en algún método) con
distintas informaciones y propósitos. Analicemos las que aparecen en el ejemplo:

La línea de cabecera Host especifica el host en el que reside el objeto. En este caso
www.algunsitio.edu
La línea de cabecera Connection: close especifica que la conexión será no
persistente, y que se desea que el servidor cierre la conexión después de enviar el objeto
solicitado.
La línea de cabecera User-agent especifica el tipo de navegador que está haciendo la
solicitud al usuario (y es denominado agente de usuario). En este caso es Mozilla/8.0. Esta
información puede hacer que el servidor envíe una versión diferente del objeto dependiento del
navegador.
La línea de cabecera Accept-language especifica el idioma del contenido (en que se
desea el objeto). En este caso, es (español). En HTTP hay muchas cabeceras de negociación de
contenidos.

Cuerpo de entidad: Incluye información que está relacionada con el método utilizado.

En el método GET del ejemplo, este campo queda vacío


En el método POST, usado cuando el usuario completa un formulario, dicha
información incluida en el formulario aparece en este cuerpo de la entidad.

18
 
 

5. Mapa conceptual

Algunos métodos que se utilizan en las solicitudes HTTP (además de GET y POST) son:

HEAD: Similar a GET, a excepción de que el servidor sólo responde con la cabecera, sin enviar el objeto.
Es un método bastante utilizado para pruebas de depuración.

PUT: Permite a un usuario cargar un objeto en una ruta específica


en un servidor web determinado.

DELETE: Permite a un usuario o un aplicación borrar un objeto en


un servidor web.

Puedes encontrar todas las


especificaciones sobre el protocolo
HTTP, como su sintaxis, sus
semántica, sus métodos, códigos y
frases de respuestas… en

Especificaciones HTTP

19
 
 

5. Mapa conceptual

Formato de los mensajes de respuesta HTTP

Examinaremos el formato general de un mensaje de respuesta HTTP, y un ejemplo de


una respuesta HTTP al ejemplo GET usado en la sección anterior.

Línea de estado: Es la primera línea del mensaje, y consta de tres campos: versión, código de estado y
frase.

El campo versión indica la versión HTTP que utiliza el servidor


El campo código de estado es un valor numérico que junto con la frase asociada
indican el estado de la solicitud.
En el ejemplo de la derecha, aparece HTTP/1.1 que es la versión que utiliza el
servidor. A continuación, el código y frase 200 OK, que significa que la solicitud se ha ejecutado
con éxito y se ha devuelto la información en el mensaje de respuesta. Más adelante
mostraremos algunos códigos de estado habituales y sus frases asociadas.

Líneas de cabecera: Pueden aparecer varias en el mensaje con distintas informaciones y propósitos.
Analicemos las que aparecen en el ejemplo:

La línea de cabecera Connection: close especifica que la conexión se va a cerrar después de


enviar el mensaje.
La línea de cabecera Date especifica la fecha y la hora en la que se creó la respuesta
HTTP y fue enviada por el servidor. Esta es la hora en la que el servidor recupera el objeto de su
sistema de archivos (no la hora en que el objeto fue creado o modificado por última vez).
La línea de cabecera Server especifica el tipo de servidor que ha creado el mensaje. En
el ejemplo, un servidor web Apache.
La línea de cabecera Last-Modified especifica la fecha en la que el objeto fue
modificado por última vez.
La línea de cabecera Content-Length especifica el número de bytes del objeto que
está siendo enviado. En el ejemplo 7639 bytes.
La línea de cabecera Content-Type especifica el tipo de objeto que va en el cuerpo de
la entidad. En este caso, un archivo de texto HTML.

Cuerpo de entidad: Es la parte más importante del mensaje, ya que contiene el objeto
solicitado en sí, y que hemos representado en el ejemplo por (........datos.........)
  20
 

(........datos.........).
5. Mapa conceptual

  20
 

5. Mapa conceptual

Algunos códigos de estado y frases asociadas que son


muy utilizados en las respuestas HTTP son:

301 Moved Permanently: Indica que el objeto solicitado ha


sido movido de forma permanente. El nuevo URL se especificará
en la linea de cabecera Location del mensaje de respuesta. Puedes encontrar todas las
especificaciones sobre el protocolo
400 Bad Request: Indica que la solicitud no ha sido HTTP, como su sintaxis, sus
semántica, sus métodos, códigos y
comprendida por el servidor.
frases de respuestas… en

404 Not Found: indica que el documento solicitado no existe


en ese servidor
Especificaciones HTTP
505 HTTP Version Not Supported: Indica que la versión
del protocolo HTTP solicitado no es so

portada por el servidor.

  21
 

5. Mapa conceptual
3.2.3.
3.2.4.
3.2.5. Cookies

Un servidor HTTP no tiene memoria de estado de la conexión, como hemos explicado anteriormente.
Esto tiene una ventaja para los servidores web, y es que pueden gestionar miles de conexiones de forma
simultánea.

Sin embargo, en muchos sitios web se requiere o resulta deseable identificar a los usuarios, por ejemplo
porque el servidor quiera restringir el acceso a los usuarios, o bien porque va a servir contenidos
diferentes en función de la identidad del usuario, etc. Pues bien, una opción para conseguir esto son las
cookies, ya que permiten identificar y seguir la pista de los usuarios.

Las cookies utilizan cuatro componentes:

Una línea de cabecera en el mensaje de respuesta HTTP

Una línea de cabecera en el mensaje de solicitud HTTP

Un archivo de cookies almacenado en el sistema terminal del usuario y


gestionado por el navegador del usuario

Una base de datos en el sitio web.

  22
 

5. Mapa conceptual

¿Cómo funcionan las cookies? Veámoslo con un ejemplo tomado de [Kurose & Ross, 2010].

Cuando la solicitud HTTP llega al servidor web de Amazon, el servidor crea un número de identificación
único y crea una entrada en su base de datos que está indexada por su número de
identificación.Supongamos que Susana accede a la Web usando su navegador Internet Explorer desde su
domicilio, y entra en amazon.es por primera vez. Y supongamos que anteriormente había entrado en
ebay.es.

El servidor web de Amazon responde al navegador de Susana, incluyendo en su respuesta HTTP una
línea de cabecera Set-cookie, que contiene el número de identificación (ej: set- cookie: 1678).

Cuando el navegador de Susana recibe el mensaje de respuesta HTTP y ve la cabecera Set- cookie,
añade una línea a su archivo de cookies, con el nombre del host del servidor y el número de
identificación (ej: amazon 1678). Allí ya tendrá una línea con el identificador de ebay, donde había
estado con anterioridad.

A medida que Susana navega por el sitio de Amazon y


solicita una página web, su navegador consulta su archivo
de cookies, extrae su número de identificación y añade una
cabecera de cookie que incluye el número de identificación
en la solicitud HTTP (cookie: 1678). De esta forma el
servidor de Amazon sigue la pista a Susana en su sitio web,
y sabrá qué páginas ha visitado, en qué orden y cuántas
veces. Esta identificación también se usa, por ejemplo, en
el servicio de carro de la compra, de tal forma que puede
¿Cuál es tu opinión sobre el uso de mantener una lista de todas las compras de Susana y que
las cookies?
las pueda pagar todas juntas al acabar la sesión.
Investiga sobre ellas y la protección
de datos, la ley anticookies.... Si Susana vuelve una semana más tarde a entrar en el sitio
de Amazon, su navegador seguirá incluyendo la cabecera
Luego, expresa tu opinión en el foro
cookie:1678 en sus mensajes de solicitud. Amazon
recomendará productos a Susana basándose en su historial
de páginas visitadas. Si en algún momento Susana se
registra en este sitio web, el servidor asociará
inmediatamente sus datos personales a su número de
identificación, y a todo su historial.

Estas aplicaciones de las cookies son consideradas por muchos una intromisión de la intimidad del
usuario.

  23
 

5. Mapa conceptual

3.3. FTP: Transferencia de archivos

El protocolo FTP (File Transfer Protocol) es un Protocolo de Transferencia de Archivos que


permite a un host cliente conectarse a un host servidor para descargarse archivos de él o para
enviarle archivos. Normalmente el protocolo FTP utiliza los puertos 20 y 21.

Para que el usuario pueda acceder desde el host cliente al host servidor y transferir archivos,
tiene que proporcionar previamente al host servidor una identificación de usuario y una
contraseña. El proceso es el siguiente:

El usuario proporciona el nombre del host remoto. Entonces, el cliente FTP establece una
conexión TCP con el proceso servidor FTP.

A continuación el usuario proporciona su identificación y contraseña, que son enviados vía


FTP al host servidor.

Una vez que el servidor ha autorizado al usuario, puede comenzar la transferencia de


archivos.

FTP utiliza dos conexiones TCP paralelas para transferir archivos, una conexión
de control y una conexión de datos.

La conexión de control se usa para enviar la identificación del usuario, la


contraseña, los comandos para introducir (PUT) y extraer archivos (GET).
Esta conexión se mantiene abierta hasta que se termine toda la
transferencia de archivos.

La conexión de datos se utiliza para enviar los archivos. Se crea una


nueva conexión de datos por cada archivo que el cliente quiera descargar
del servidor o viceversa. Es decir, las conexiones de datos no son
persistentes.

  24
 

5. Mapa conceptual

  25
 

5. Mapa conceptual

Si comparamos el protocolo FTP con HTTP encontramos dos diferencias significativas:

La primera, que ya hemos mencionado, es que HTTP enviaba tanto la información


de control como los contenidos en la misma conexión TCP (transmisión de
control en banda), mientras que FTP envía la información de control en otra
conexión paralela (transmision de control fuera de banda).

La segunda es que mientras HTTP es un protocolo sin memoria de estado, FTP es un


protocolo que mantiene el estado del usuario, ya que el servidor debe asociar una
conexión de control con una cuenta de usuario específica y estar al tanto del directorio
actual del usuario y sus movimientos por el árbol de directorios.

  26
 

5. Mapa conceptual

3.3.1. Comandos y respuestas FTP

Vamos a mostrar una lista básica de comandos (que envía el cliente al servidor) y respuestas FTP (del
servidor al cliente). Los comandos y respuestas se envían a través de la conexión de control en formato
ASCII de 7 bits.

COMANDOS: Formado por 4 caracteres en mayúsculas y argumentos opcionales

COMANDO Utilidad

USER Para enviar la identificación del usuario al servidor


nombre_de_usuario:

PASS contraseña: Para enviar la contraseña del usuario al servidor

LIST: Para pedir al servidor que envíe la lista de archivos del directorio
actual en el host remote

RETR Para extraer un archivo del directorio actual del host remoto
nombre_de_archivo

STOR Para almacenar un archivo del host cliente en el directorio actual del
nombre_de_archivo host remote

RESPUESTAS: Las respuestas son números de tres dígitos, con un mensaje opcional tras
el número. Es por tanto, una estructura similar a la de los códigos de estado en el protocolo
HTTP. Cada comando va seguido de una respuesta por parte del host servidor.

331 Username Ok, password required


125 Data connection already open; transfer starting
425 Can't open data connection
452 Error writing file

Puedes encontrar todas las


especificaciones sobre el protocolo
FTP en

Especificaciones FTP

  27
 

3.4. 5. Mapa conceptual


3.5.
3.6.
3.7. Correo electrónico. SMTP

El correo electrónico es una de las aplicaciones más importantes y utilizadas de Internet. Es un medio
de comunicación asíncrono, en el que además de mensajes de texto se pueden enviar archivos
adjuntos de muy diversos tipos.

El sistema de correo electrónico tiene tres componentes principales:

Agentes de usuario (o lectores de correo): Permiten a los usuarios leer, responder, reenviar,
componer o guardar mensajes. Cuando un usuario termina de componer un mensaje, su agente
lo envía al servidor de correo. Cuando un usuario quiere leer un correo, su agente de usuario
recupera el mensaje del buzón y se lo muestra.

Servidores de correo: Reciben los mensajes de los usuarios y los colocan en la cola de
mensajes de salida. Cada usuario tiene un buzón de correo ubicado en un servidor de correo.
Comprueban la identidad de los usuarios y acceden a su buzón para proporcionarle sus correos.

El protocolo SMTP (Simple Mail Transfer Protocol) o Protocolo Simple de Transferencia de


Correo, es el principal protocolo de la capa de aplicación para el correo electrónico por Internet.
Utiliza un servicio de transferencia de datos fiable de TCP para transferir el correo desde el
servidor de correo del emisor al servidor de correo del destinatario. Como la mayoría de los
protocolos de la capa de aplicación, tiene dos lados: el lado del cliente, que se ejecuta en el
servidor de correo del emisor, y el lado del servidor, que se ejecuta en el servidor de correo del
destinatario. Como cada servidor de correo puede actuar dependiendo del momento como emisor
o como destinatario, tanto el lado del cliente como el lado del servidor del protocolo SMTP se
ejecutan en todos los servidores de correo.

  28
 

5. Mapa conceptual

Veamos el funcionamiento básico de SMTP mediante un ejemplo. Supongamos que


Sandra quiere enviar un correo a Mario. Este sería el proceso:

Sandra invoca a su agente de usuario para el correo electrónico y le proporciona la


dirección de correo electrónico de Mario (por ejemplo, mario@ejemplos.com) y compone
un mensaje, indicando a su agente de usuario que lo envíe.

El agente de usuario de Sandra envía el mensaje al servidor de correo de Sandra

El servidor de correo de Sandra coloca el mensaje en la cola de mensajes, y la parte del


cliente SMTP de Sandra abre una conexión TCP con un servidor SMTP que se ejecuta en el
servidor de correo de Mario.

El lado del cliente SMTP de Sandra envía el mensaje de Sandra a través de la conexión
TCP

El lado del servidor de SMTP (del servidor de correo de Mario) recibe el mensaje. El
servidor de correo de Mario coloca el mensaje recibido en el buzón de Mario

Mario invoca a su agente de usuario para leer el mensaje (cuando le apetezca). El


servidor de correo de Mario le enviará un mensaje a su agente de usuario. Para
transferir los mensajes de correo almacenados en el servidor de correo del
destinatario el agente de usuario del mismo emplea un protocolo de acceso a
correo electrónico, como el simple Protocolo de Oficina de Correos POP3 (Post
Office Protocol) o el Protocolo de correo de Internet IMAP (Internet Mail
Access Protocol), que presenta una mayor funcionalidad, como el manejo de
carpetas (p.ej.: INBOX o bandeja de entrada).

  29
 

5. Mapa conceptual

El protocolo SMTP utiliza un servido de transferencia de datos fiable de TCP para transferir el mensaje
del servidor sin errores. Normalmente se establece una conexión directa entre los dos servidores de
correo que intercambian mensajes, independientemente de la distancia a la que se encuentren.

  30
 

5. Mapa conceptual

Por otra parte, el protocolo SMTP requiere que cada mensaje,


incluido el cuerpo del mismo esté en formato ASCII de 7 bits.
Así que si el mensaje no tiene estos caracteres (p.ej.: contiene
un archivo de imagen) entonces el mensaje tiene que ser
codificado en ASCII antes de transmitido a través de SMTP, y
que sea descodificado en el destino, una vez realizado el Puedes consultar todas las
especificaciones de estos
transporte SMTP.
protocolos en:

Protocolo SMTP

Protocolo POP3

Protocolo IMAP

  31
 

3.8. 5. Mapa conceptual


3.9.
3.10.
3.11. DNS: Servicio de directorio de
Internet

Los host de Internet pueden ser identificados de dos formas:

por un nombre de host, como por ejemplo www.ui1.es, as.com,.... una denominación
muy adecuada para las personas, fácil de recordar

por una dirección IP, que consta de 4 bytes con una estructura jerárquica en la que se
puede obtener una localización específica del lugar donde está ubicado el host dentro de
Internet (p.ej.:192.68.121.83) y que es la usada por los routers.

DNS (Domain Name System) o Sistema de Nombres


de Dominio es un servicio de directorio capaz de
traducir los nombres de host en direcciones IP.

El protocolo DNS se ejecuta sobre UDP y utiliza el puerto


53. Otros protocolos como HTTP, FTP o SMTP utilizan
habitualmente DNS para traducir los nombres de hosts
suministrados por los usuarios a direcciones IP.

Además, DNS proporciona otros servicios, como proporcionar


alias de hosts si tienen nombres complicados.

A pesar de ser un protocolo de aplicación, DNS no es una aplicación con la que un usuario pueda
interactuar directamente.

  30
 

5. Mapa conceptual

3.5.1 ¿Cómo funciona DNS?

Desde un punto de vista global, supongamos que una aplicación, como un navegador web o un lector de
correo que se ejecuta en un host de usuario, necesita traducir un nombre de host en una dirección IP.

La aplicación invocará al lado del cliente de DNS. La aplicación DNS en el host del usuario
enviará un mensaje de consulta a la red. Todos los mensajes de consulta y de respuesta
DNS se envía dentro de datagramas UDP al puerto 53.

Transcurrido un cierto tiempo, el servicio DNS del host del usuario recibirá un mensaje de
respuestas DNS con la traducción solicitada, que se pasa a la aplicación que la solicitó.

Para realizar este proceso el sistema DNS utiliza un diseño distribuido, con una gran cantidad de
servidores, organizados de forma jerárquica por todo el mundo. Ningún servidor DNS tiene todas las
correspondencias de todos los hosts de Internet, sino que las correspondencias están repartidas por los
servidores DNS, según esa jerarquía de niveles:

Los más altos de la jerarquía son los servidores DNS raíz.

En el siguiente nivel están los servidores DNS de dominio de nivel


superior o TLD (Top-Level Domain), como por ejemplo los servidores
.com, .org, .edu, .gov, net. También están en este nivel los dominios de los
distintos países, como es, fr, uk o jp.

A continuación están los servidores DNS autoritativos, que se corresponden


con los servidores accesibles públicamente a través de Internet, como
gmail.com, amazon.com.

Además de todos estos que acabamos de mencionar están jerárquicamente


organizados, también están los servidores locales, como el de una
Universidad o una empresa, y que no pertenecen como tal a la jerarquía de
servidores DNS.

  31
 

5. Mapa conceptual
Así pues, el proceso ya más completo sería similar a éste:

Un host envía un mensaje de consulta DNS a su servidor DNS local, con el


nombre del host que debe ser traducido (p.ej.: host.subdominio.es).

El servidor DNS local reenvía la consulta a un servidor DNS raíz

El servidor DNS raíz le devuelve al servidor DNS local una lista de las
direcciones IP de los servidores TLD responsables del dominio (.es)

El servidor DNS local reenvía el mensaje de consulta a uno de estos


servidores TLD.

El servidor TLD responde con la dirección IP del servidor DNS autoritativo


correspondiente (dns.subdominio.es)

El servidor DNS local reenvía la consulta directamente al DNS autoritativo

El servidor DNS autoritativo le responde con la dirección correspondiente


al nombre de host que quería (host.subdominio.es)

El servidor DNS local le envía la dirección IP al host solicitante.

  32
 

5. Mapa conceptual

Observa el siguiente vídeo:

Después de verle, compáralo con la


imagen y el proceso descrito en esta
sección.

¿Observas alguna diferencia?

Coméntalo en el Foro

  33
 

5. Mapa conceptual
4.
5.
6. Resumen

Para desarrollar una aplicación de red es


necesario escribir programas que sean
capaces de ejecutarse en distintos hosts, y
que se comuniquen entre sí a través de la red.
Hay dos tipos de arquitecturas predominantes
en las aplicaciones de red: la arquitectura
cliente-servidor y la arquitectura P2P.

En la arquitectura cliente-servidor el
host servidor siempre está activo,
esperando las solicitudes de los hosts clientes, que no se comunican directamente entre sí, sino
a través del servidor. Al contrario, en la arquitectura P2P la comunicación se realizar por pares
de hosts, donde en diferentes momentos un mismo host puede ejercer como servidor o como
cliente.

Un proceso es un programa que se ejecuta en un host o terminal. En la


comunicación entre dos procesos alojados en hosts distintos, uno ejercerá de
proceso servidor y otro de proceso cliente. Los tipos de mensajes que se pueden
intercambiar entre estos procesos, su sintaxis, la semántica y las reglas para
determinar cuándo y cómo un proceso puede enviar mensajes o responder a ellos está
determinado por los protocolos de la capa de aplicación, como HTTP, FTP o SMTP.

Los procesos envían y reciben mensajes a través de una interfaz denominada socket,
situada entre la capa de aplicación y la capa de transporte. El desarrollador de
aplicaciones de red tiene como casi único control sobre la capa de transporte la elección
del protocolo de transporte (p.ej.: TCP, UD) y algunos parámetros asociados.

Los protocolos de la capa de transporte ofrecen distintos servicios a las


aplicaciones de red, con distintos parámetros seleccionables: un servicio de
transferencia de datos fiable (completa y correcta) o no fiable (para aplicaciones
tolerantes a fallos); un servicio de tasa de transferencia disponible garantizada
que fije una velocidad mínima de transmisión; un servicio de tiempo máximo de
llegada de los mensajes (especialmente para aplicaciones interactivas en tiempo
real); y servicios de seguridad como la autenticación o el cifrado de datos.

Las principales aplicaciones de red en Internet y sus protocolos asociados son: La web y el
protocolo HTTP, la transferencia de archivos y el protocolo FTP, el correo electrónico y los
protocolos SMTP, POP3 e IMAP, y el servicio de directorio DNS. Todos ellos utilizan una
arquitectura cliente-servidor.

El protocolo HTTP define cómo los clientes solicitan páginas web a los servidores
web y cómo estos servidores transfieren esas páginas web a los clientes. HTTP
utiliza el protocolo de transporte TCP con un servicio de transferencia de datos fiable,
sin memoria de estado y con conexiones que pueden ser persistentes (todas las
solicitudes y respuestas se realizan con una misma conexión) o no persistentes (cada
solicitud y respuesta se realiza con una conexión diferente).

Las cookies permiten identificar y seguir la pista de los usuarios que utilizan la
web. Para ello utilizan las líneas de cabecera de los mensajes HTTP que se
intercambian entre servidor y clientes, además de un archivo de cookies almacenado en
el host cliente y una base de datos en el host servidor.

  34
 

5. Mapa conceptual

El protocolo FTP permite a un host cliente conectarse a un host servidor para


descargarse archivos de él o para enviarle archivos. FTP utiliza dos conexiones
TCP paralelas: una conexión de control para transferir datos de los usuarios y
comandos, y una conexión de datos para transferir los archivos.

El protocolo SMTP utiliza un servicio de transferencia de datos fiable de TCP para


transferir el correo desde el servidor de correo del emisor al servidor de correo
del destinatario. Los agentes de usuario son los que permiten a los usuarios leer,
modificar, guardar o componer mensajes. Para transferir los mensajes de correo
almacenados en el servidor de correo del destinatario el agente de usuario del mismo se
emplea un protocolo de acceso a correo electrónico, principalmente POP3 o IMAP, de
mayor funcionalidad.

El Servicio de directorio DNS se encarga de traducir los nombres de los hosts en direcciones IP.
DNS utiliza una conexión UDP y el puerto 53. Los protocolos HTTP, FTP o SMTP utilizan DNS para
traducir los nombres de hosts suministrados por los usuarios a direcciones IP. DNS utiliza una
distribución jerárquica de servidores, existiendo en el primer nivel una serie de servidores
DNS raíz. Por debajo, en el segundo nivel, están los servidores DNS TLD, responsables de un
dominio (p.ej.: .com, .org, .es). En el siguiente nivel están los servidores DNS autoritativos,
que corresponden con servidores accesibles públicamente a través de Internet (p.ej.:
gmail.com, amazon.com). Por último, están los servidores locales, como el de una empresa o
una universidad.

  35
 

5.
7. Mapa conceptual

  36
 
5. Mapa conceptual

Unidad Didáctica 3: La capa de transporte

2. Estudio de caso

3. Desarrollo de contenidos
3.1. Relación entre capa de transporte y capa de red

3.2. Multiplexación y demultiplexación

3.2.1. Sin conexión (UDP)

3.3.2. Con conexión (TCP)

3.3. El protocolo UDP


3.3.1. Estructura de los segmentos UDP

3.4. El protocolo TCP

3.4.1. Estructura de los segmentos TCP


3.4.2. Establecimiento de la conexión TCP
3.4.3. Transferencia de datos fiable

3.4.4. Control de flujo


4. Resumen
5. Mapa conceptual
6. Mediateca y fuentes

  3
7
 

5. Mapa conceptual

Unidad Didáctica 3: La capa de


transporte

¡Bienvenidos/as a la tercera unidad didáctica de Redes de Computadores, con la que llegamos al ecuador
de los contenidos de esta asignatura!.

En esta Unidad Didáctica profundizaremos en el estudio de la capa de transporte las redes


de ordenadores, con atención especial a los protocolos de transporte de Internet UDP y
TCP.

Analizaremos ambos protocolos atendiendo a sus características principales. Estudiaremos


similitudes y diferencias en los tipos de servicios que ofrecen. Mostraremos la estructura y
contenidos de los segmentos UDP y TCP. Nos detendremos en la multiplexac ión y
demultiplexac ión de segmentos que realizan, así como en el proceso de comprobac ión de
errores de segmentos.

Además expondremos el método aplicado por TCP para garantizar la transferencia de datos fiable entre
segmentos enviados por procesos de aplicación que se comunic an desde distintos hosts.

¡¡¡ Muchos ánimos y adelante !!!

  3
8
 
2. Estudio de caso

  3
9
 
3. Desarrollo de contenidos

Relación entre capa de transporte y capa de red

Multiplexación y demultiplexación

El protocolo UDP

El protocolo TCP

  4
0
 

3.1. Relación entre capa de transporte y


capa de red

Un protocolo de la capa de transporte proporciona una comunicación lógica entre procesos de una
aplicación que se ejecutan en hosts diferentes. Desde el punto de vista de la aplicación, es como si
dichos hosts se encontrasen conectados directamente, aunque en realidad pueden encontrarse en
lugares muy distantes, conectados mediante numerosos routers y a través de distintos tipos de enlaces.
Así pues, los procesos de una aplicación utilizan la comunic ación lógica proporcionada por la capa de
transporte para enviarse mensajes entre sí, sin preocuparse por los detalles de la infraestructura física
utilizada para transportar esos mensajes.

Los protocolos de transporte están implementados en los sistemas terminales, pero no en los routers de
la red. En el lado emisor, los mensajes procedentes de un proceso de aplicación se convierten en
segmentos de la capa de transporte. Para ello se dividen los mensajes en fragmentos más pequeños y
se añade una cabecera de la capa de transporte a cada fragmento. A continuación, la capa de
transporte pasa el segmento a la capa de red del sistema terminal emisor, donde el segmento se
encapsula dentro de un datagrama y se envía al destino. En el lado receptor, la capa de red extrae el
segmento del datagrama y lo pasa a la capa de transporte, que procesa el segmento recibido, poniendo
los datos del segmento a disposición del proceso de aplicación en el host receptor.

Un protocolo de la capa de red, sin embargo, proporciona una comunicación lógica entre hosts.
Utilizaremos un ejemplo para explicar mejor esta diferencia entre protocolo de la capa de red y protocolo
de la capa de transporte.

  4
1
 

Ejemplo: Protocolo de red y protocolo de transporte.


Supongamos dos viviendas, una situada en Asturias y otra en Madrid, y en cada una
de ellas viven 6 niños, que son primos. Supongamos también, que cada niño escribe
a todos sus primos de la otra casa todas las semanas, una carta a cada uno de
ellos. Es decir, cada casa envía 36 cartas a la otra casa todas las semanas
(aunque hoy en día seguro que utilizarían el email, wasap u otro tipo de comunic
ación, esta analogía con el servicio postal nos será útil en el razonamiento).

Supongamos que en cada una de las casas, un niño es el responsable de recoger y


distribuir las cartas (por ejemplo Rosa en Asturias y Juan en Madrid). Todas las
semanas, el responsable se encarga de recoger las cartas de todos sus hermanos y
hermanas y echarlas al correo. Asimismo, recoge las cartas que llegan a su casa y
las distribuye a sus hermanos y hermanas.

En este ejemplo:

* El servicio postal proporciona una comunic ación lógica entre las casas
(lleva el correo de una casa a otra, no de una persona a otra) = Protocolo
de la capa de red

* Cada casa se correspondería con un host o sistema terminal.

* Los niños responsables de recoger y distribuir el correo en cada casa


(Rosa y Juan) proporcionan una comunic ación lógica entre los primos =
Protocolo de la capa de transporte

* Cada primo/a se correspondería con un proceso en un host.

* Por último, las cartas se corresponderían con los mensajes de la


aplicación.

Así pues, los protocolos de la capa de transporte residen en los sistemas terminales y llevan los
mensajes desde los procesos de la aplicación a la capa de red y viceversa, pero no tienen nada que ver
sobre cómo se transmiten los mensajes dentro de la red.

Para las aplicaciones de red puede haber más de un protocolo de la capa de transporte disponible, que
ofrezcan diferentes servicios. Utilizaremos el ejemplo propuesto en la sección anterior para distinguir
distintos tipos de servicios de transporte.

  6
 

Ejemplo: Servicios de transporte

Supongamos que los primos responsables de recoger y distribuir el correo en


una de las casas se ponen enfermos, y no pueden hacerlo durante algunas
semanas. Entonces, otros hermanos más pequeños (Ana y Andrés) se
encargan de hacer esta tarea. Sin embargo, Andrés olvida entregar el correo
una semana y Ana en alguna ocasión, pierde alguna carta.

Evidentemente, el servicio proporcionado por Andrés y por Juan no es el mismo.

* Servicio proporcionado por Rosa y Juan = entrega de datos fiable

* Servicio proporcionado por Ana y Andrés = entrega de datos no fiable

Por otra parte, los servicios que puedan proporcionar Ana, Andrés, Rosa o Juan
están restringidos por los servicios proporcionados por el propio servicio postal.
Por ejemplo, si el servicio postal no especifica el tiempo que tardan en llegar las
cartas de una casa a otra, los primos responsables no podrán garantizar a sus
hermanos que las cartas llegarán como máximo en dos días a la otra casa.

Internet pone a disposición de la capa de aplicación dos protocolos de la capa de transporte: UPD (User
Datagram Protocol), que proporciona un servicio sin conexión no fiable y TCP (Transmission Control
Protocol) que proporciona un servicio orientado a conexión fiable. El protocolo de la capa de red de
Internet es IP (Internet Protocol), que proporciona un servicio no fiable de comunic ación lógica entre
hosts (no garantiza la entrega de segmentos, ni la integridad ni el orden).

TCP y UDP extienden el servicio de entrega de IP entre dos hosts a un servicio de entrega
entre dos procesos que estén ejecutándose en los hosts. Esto se denomina multiplexación y
demultiplexación de la capa de transporte, y que desarrollamos en la siguiente sección.

  7
 
3.2. Multiplexación y demultiplexación

Podemos decir que la multiplexac ión y demultiplexac ión de la


capa de transporte es la ampliac ión del servicio de entrega host
a host proporcionado por la capa de red a un servicio de entrega
proceso a proceso para las aplicaciones que se ejecutan en los
hosts.
Siguiendo el ejem plo de la
Analizaremos este servicio básico de la capa de transporte en
sección anterior (los prim os
Internet. En primer lugar, recordemos que la capa de transporte que se escriben
del host no recibe o entrega los datos directamente a un sem analm ente), explica en el
proceso, sino a un socket intermedio. En un momento dado, un foro en qué consisten los
host puede tener más de un socket abierto, por lo que cada servicios de m ultiplexación y
dem ultiplexación en las casas,
socket tiene asignado un identificador único, que será diferente
y quienes llevan a cabo dichos
si corresponde a un socket UDP o TCP.
servicios en cada casa.

¿Cómo dirige un host receptor un segmento de entrada de la


capa de transporte al socket adecuado?

Cada segmento de la capa de transporte contiene un conjunto


de campos para ello. La capa de transporte del host receptor
examina estos campos para identificar al socket receptor, y a
continuación envía el segmento a
dicho socket. El socket ha de tener un identificador único. Esta tarea de entregar los datos
contenidos en un segmento de la capa de transporte al socket correcto se denomina
demultiplexación.

La tarea de reunir los fragmentos de datos en el host de origen desde los distintos sockets para crear
los segmentos y pasarlos a la capa de red se denomina multiplexación.

En este proceso se encapsula cada fragmento


de datos y se le añade una cabecera que
luego se utiliza en el proceso de
demultiplexación. Esta cabecera incluye
campos especiales que indican el socket al
que hay que entregar el segmento. En
concreto, un número de puerto de origen y
un número de puerto de destino.

Cada número de puerto es un número de 16


bits comprendidos en el rango de 0 a 65535,
siendo los puertos 0 a 1023 los denominados
números de puerto bien conocidos y
restringidos (reservados para protocolos de
aplicación bien conocidos, como el puerto 80
para el protocolo HTTP).
Los campos de número de puerto de origen y nº
de puerto de destino en un segmento de la capa
de transporte.

  8
 
3.2.1. Sin conexión (UDP)

Supongamos que un proceso en un host origen A, con el puerto UDP 2345 quiere enviar un fragmento de
datos a una aplicación a un proceso en host destino B, con el puerto UDP 9876. Estos serían los pasos:
La capa de transporte del host A crea un segmento de la capa de transporte que incluye los
datos de la aplicación, el número de puerto origen (2345), el número de puerto de destino (9876)
y otros valores (multiplexación).
La capa de transporte pasa el segmento resultante a la capa de red
La capa de red encapsula el segmento en un datagrama IP y hace el máximo esfuerzo por
entregar el segmento en el host receptor.
Si el segmento llega al host B, su capa de transporte examina el número de puerto destino y
entrega el segmento al socket identificado por el puerto 9876 (demultiplexación).
El host B podría estar ejecutando varios procesos, y cada uno con su propio socket UDP y número
de puerto asociado. A medida que los segmentos UDP llegan de la red, el host B demultiplexa
cada segmento al socket apropiado examinando el número de puerto de destino del segmento.
Hay que tener en cuenta que un socket UDP queda identificado unívocamente por una dirección IP
de destino y el número de puerto de destino.

Si ahora el host B quiere devolver un segmento al host A, se intercambiarán los datos del segmento de
origen y de destino y se seguirá el mismo proceso.

Multiplexación y dem ultiplexación UDP

  9
 
3.3.2. Con conexión (TCP)

Para entender la multiplexac ión y demultiplexac ión


TCP hemos de tener en cuenta que un socket TCP
queda identificado por 4 elementos: IP de origen,
número de puerto de origen, dirección IP de
destino y número de puerto de destino. Por tanto,
cuando un segmento TCP llega a un host, éste
No sie m pre e x istirá una emplea los cuatro valores para demultiplexar el
corre sponde ncia uno a uno e ntre segmento enviándole al socket adecuado. Dos
los sockets de cone x ión y los segmentos TCP entrantes con direcciones IP de
proce sos.
origen o números de puerto de origen diferentes
Encue ntra un e je m plo e n e l que (excepto el segmento TCP que transporte la solicitud
un m ism o proce so te nga o
original de establecimiento de conexión) serán
pue da te ne r a socia dos
va rios sockets de cone x ión. dirigidos a dos sockets distintos.

El proceso genérico podría resumirse así:

• La aplicación de servidor TCP tiene un


"socket de acogida" que está a la espera de las
solicitudes de establecimiento de conexión
procedentes de los clientes TCP en un puerto, por
ejemplo en el 6699

• El cliente TCP genera un segmento de establecimiento de conexión, es decir, un


segmento TCP con un número de puerto de destino 6699 y un conjunto especial de bits
de establecimiento de conexión en la cabecera TCP. El segmento también incluye un
número de puerto de origen, seleccionado por el cliente.

• Cuando el host que está ejecutando el proceso servidor recibe el segmento de entrada
de solicitud de conexión con el puerto destino 6699, localiza el proceso servidor que
está esperando para aceptar una conexión en ese puerto. La capa de transporte toma
nota de los cuatro valores contenidos en el segmento de solicitud de conexión, y que
hemos mencionado antes. Así el socket de conexión recién creado queda identificado por
esos cuatro valores. Todos los segmentos que lleguen luego y cuyo puerto de origen,
dirección IP de origen, puerto de destino y dirección IP de destino correspondan con estos
cuatro valores serán enviados a ese socket.

• Una vez establecida la conexión TCP, el cliente y el servidor podrán enviarse datos
entre sí.

El host servidor puede dar soporte a muc hos sockets TCP simultáneos, estando cada socket asociado a
un proceso y con cada socket identificado por sus cuatro campos.

  10
 
3.3. El protocolo UDP

UDP hace casi "lo mínimo" que un protocolo de transporte puede hacer. Aparte de la función de
multiplexac ión/demultiplexac ión y de algún mec anismo de comprobac ión de errores, no añade nada a
IP. Estas son las principales características del protocolo de transporte de Internet UDP:

UDP toma los mensajes procedentes del proceso de la aplicación, asocia los campos
correspondientes a los números de puerto de origen y de destino para proporcionar el servicio de
multiplexación/demultiplexación, añade dos campos más que a continuación explicaremos y
pasa el segmento resultante a la capa de transporte.
La capa de red encapsula el segmento de la capa de transporte en un datagrama IP y luego hace
"the best effort" por entregar el segmento al host receptor. Si el segmento llega, UDP utiliza el
número de puerto de destino para entregar los datos al proceso apropiado, como hemos visto en
la sección anterior.
UDP realiza una comprobación de errores de los mensajes que llegan al receptor. Sin embargo,
no realiza tareas de corrección de errores.

Con UDP no se realiza la fase de establecimiento de la conexión. Por eso se dice que
UDP es un protocolo sin conexión.

Por tanto, los segmentos UDP se pueden perder, duplicar, retrasar o entregar en desorden. Es el
programa de aplicación que utiliza el protocolo UDP el que debe resolver todos estos problemas.

  11
 
3.3.1. Estructura de los segmentos UDP

La estructura del segmento UDP está compuesta de dos partes: la cabecera y los datos
de la aplicación.

La cabecera tiene cuatro campos, cada uno de ellos con una longitud de 2 bytes.

En ella aparecen los números de puerto origen y destino, que como hemos explicado en la
sección anterior, se utilizan en los procesos de demultiplexac ión y multiplexac ión.
El campo de longitud especifica la longitud total del segmento UDP en bytes.
La suma de comprobación la utiliza el host receptor para detectar si se han producido errores
en el segmento, como explicaremos a continuación.

Tras la cabecera aparecen los datos de la aplicación.

P ue de s e ncontra r toda s la s
e spe cifica cione s sobre el
protocolo UDP , sinta x is,
se m á ntica .... e n

Espe cifica cione s UDP

Estructura del segm ento UDP

Detección de errores con UDP


UDP proporciona un mecanismo de detección de
errores terminal a terminal, utilizando el campo suma de comprobación. Esto sirve para
comprobar si el contenido del segmento UDP ha sido alterado entre el origen y el destino. Si
bien UDP detectará el error, no hace nada para recuperarse de dicho error.

El proceso que realiza para la detección del error tiene dos fases:

El emisor calcula el complemento a 1 de la suma de todas las palabras de 16 bits del segmento
(conviertiendo todos los 0 en 1 y todos los 1 en 0), acarreando cualquier desbordamiento durante
la operación de suma sobre el bit de menor peso. Este resultado se almac ena en el campo suma
de comprobac ión del segmento UDP.
Cuando el segmento llega al receptor, éste realiza la suma de las cuatro palabras de 16 bits,
incluyendo la suma de comprobac ión. El resultado ha de ser, obviamente, 1111111111111111. Si
el resultado es otro, entonces el paquete contiene errores.

  12
 
3.4. El protocolo TCP

Los procesos de una aplicación pueden necesitar enviar grandes cantidades de informac ión entre un
host y otro. Utilizar un sistema de transporte sin conexión y no confiable como UDP es un problema para
estos procesos, que además depben incorporar formas de detección y solución de errores. Por su parte,
TCP es un protocolo de transporte confiable, que presenta estas características:

TCP está orientado a conexión porque antes de que un proceso de la capa de aplicación
pueda comenzar a enviar datos a otros, los dos procesos deben primero "establecer una comunic
ación" entre ellos. Esto quiere decir que tienen que enviarse ciertos segmentos para definir los
parámetros de la transferencia de datos que realizarán posteriormente.

TCP se ejecuta únicamente en los sistemas terminales y no en los elementos


intermedios de la red (routers y switches de la capa de enlace). Los elementos
intermedios no mantienen el estado de la conexión TCP.

TCP proporciona un servicio full-duplex. Esto quiere decir que si existe una conexión TCP
entre dos procesos A y B que se ejecutan en distintos hosts, los datos de la capa de aplicación
pueden fluir desde el proceso A al proceso B en el mismo instante que los datos de la capa de
aplicación fluyen del proceso B al proceso A. Esto permitirá poder intercambiar gran cantidad de
datos de forma eficaz.

TCP plantea una conexión punto a punto, entre un único emisor y un único
receptor.

TCP es fiable, es decir, garantiza que los mensajes enviados por el emisor son los mismos que
recibe el receptor y en el mismo orden. Para ello utiliza una técnica de acuse de recibo
positivo con retransmisión.

En los siguientes apartados mostraremos la estructura de los segmentos TCP y profundizaremos en


algunas de estas características del protocolo.

  13
 
3.4.1. Estructura de los segmentos TCP

El segmento TCP consta de campos de cabecera y de un campo


de datos.

La CABECERA incluye los campos que utilizaba el


segmento UDP y algunos más:

El número de puerto de origen y de destino, que


se utilizan para multiplexar y demultiplexar los datos
P ue de s e ncontra r la s
de y para las aplicaciones de la capa de aplicación. e spe cifica cione s bá sica s sobre
e l protocolo TC P e n:
Un campo de suma de comprobación, similar a
Espe cifica cione s TC P
UDP
Notifica ción de re ce pción
El campo número de secuencia y el campo
número de reconocimiento de 32 bits se utilizan
por el emisor y receptor de TCP para implementar el
servicio de transferencia de datos fiable, que
explicaremos en próximas secciones.
El campo ventana de recepción de 16 bits se utiliza
para el control de flujo, para indicar el número de bytes
que el receptor está dispuesto a aceptar.

El campo longitud de cabecera de 4 bits especifica la


longitud de la cabecera TCP en palabras de 32 bits.

El campo opciones tiene longitud variable y es opcional. Se utiliza cuando un emisor y un


receptor negocian el tamaño máximo de segmento (MMS) o como un factor de escala de la
ventana de en las redes de alta velocidad.
El campo indicador tiene seis bits, cada uno de ellos con una utilidad diferente:

ACK se utiliza para indicar que el valor transportado en el campo de reconocimiento es


válido, es decir, el segmento contiene un reconocimiento para un segmento que ha sido
recibido correctamente.

URG se utiliza para indicar que hay datos en ese segmento que la capa superior del host
emisor ha marc ado como "urgentes". La posición de estos datos marc ados como urgentes se
indica mediante el campo puntero de datos urgentes.

PSH se utiliza para indicar que el receptor debe pasar los datos a la capa superior de forma
inmediata.

FIN se utiliza para indicar que se va a cerrar la conexión

SYN se utiliza para indicar que se desea establecer una conexión con otro host.

RST se utiliza para resetear la conexión.

El campo de DATOS contiene un fragmento de los datos de la aplicación.

  14
 

Estructura del segm ento TCP

  15
 
3.4.2. Establecimiento de la conexión TCP

Supongamos que un proceso que se está ejecutando en un host cliente A quiere establecer una
conexión con un proceso que se está ejecutando en un host servidor B. Estos son los pasos a realizar
para establecer la conexión:

1. La conexión la inicia el proceso cliente (host A) informando a la capa de transporte del


cliente que desea establecer una conexión TCP con otro proceso que se ejecuta en otro
host B.

2. La capa de transporte establece una conexión TCP con el servidor. Para ello manda un
segmento TCP especial al TCP del servidor (SYN). Este segmento no contiene datos de
la capa de aplicación, pero uno de los bits de la cabecera de segmento, el bit SYN se
pone a 1. También envía un número de secuencia inicial aleatorio del segmento TCP
inicial SYN (x).

3. Una vez el datagrama IP llega al servidor con el datagrama IP que contiene el segmento
SYN TCP, el servidor envía un segmento de conexión concedida al cliente TCP. Este
segmento tampoc o contiene datos de la capa de aplicación, pero si contiene tres
fragmentos de la cabecera del segmento: el bit SYN se pone a 1. El campo de
reconocimiento de cabecera se incrementa en uno al que número de secuencia inicial
que recibió (x+1) y el servidor elige su propio número de secuencia inicial (y). Este
segmento es el SYNACK, que indica que el servidor está de acuerdo con establecer esa
conexión.

4. Al recibir el segmento SYNACK, el cliente envía otro segmento al servidor, que confirma
el segmento de conexión concedida del servidor (para ello coloca el valor y+1) en el
campo de reconocimiento de la cabecera del segmento TCP. El bit SYN se pone a 0. En
este momento se completa el denominado proceso de acuerdo en tres fases, con el
que queda establecida la conexión entre el cliente y el servidor.
A partir de este momento en que ya se ha establecido la conexión TCP el cliente y el
servidor pueden enviarse segmentos que contengan datos. en todos ellos el bit SYN estará a
0.

Cualquiera de los dos procesos participantes en una conexión TCP pueden dar por terminada
dicha conexión.

Para ello se envía un segmento especial que contiene en la cabecera del segmento el bit FIN
a 1. Supongamos que lo ha enviado el cliente; entonces, cuando el servidor lo recibe envía
su propio segmento de desconexión, con el bit FIN puesto a
1. Por último, el cliente envía un segmento de reconocimiento de la desconexión al
servidor (ACK), y todos los recursos de ambos hosts quedarán liberados.

  16
 

Establecim iento de conexion TCP Cierre de la conexión TCP

  17
 
3.4.3. Transferencia de datos fiable

El protocolo TCP proporciona un servicio de


transferencia de datos fiable basado en la
técnica de acuse de recibo positivo con
retransmisión.

Esta técnica requiere que el receptor se


comunique con el emisor y envíe un mensaje de
acuse de recibo (ACK) confirmando que recibe los
mensajes.

En nuestro caso, como se muestra en la imagen, el emisor


(host cliente) guarda un identificador de cada segmento
que envía (número de secuencia) y espera un acuse de
recibo ACK por parte del receptor (host servidor) antes de
enviar el siguiente segmento (número de reconocimiento).

Sin embargo, podemos encontrarnos con otras


situaciones en las que la transmisión no sea tan simple
como explicamos para el caso general. Por ejemplo,
supongamos que el host cliente envía un segmento al host
servidor, que recibe el segmento y
envía uno de acuse de recibo al cliente, pero que se pierde. En este caso se produce un suceso de fin
de temporizac ión en el host cliente, que volverá a enviar el mismo segmento al host servidor. Cuando el
host servidor vuelve a recibir el segmento, comprueba que ya tiene esos datos, y descartará el segundo
segmento recibido.

Otra situación que puede producirse es que el emisor envíe dos o más segmentos seguidos. Supongamos
que el servidor recibe esos segmentos y responde con los dos mensajes de acuse de recibo, pero el
primero de ellos se pierde. Si el segundo llega al host cliente antes del fin del intervalo de temporizac
ión del primero, el host cliente reconocerá que el servidor ha recibido ambos segmentos y no reenviará
ninguno de nuevo al servidor.

En la misma situación anterior supongamos que una vez finalizado el intervalo de temporizac ión del
primer segmento enviado por el cliente, no ha llegado el acuse de recibo. En ese caso el host cliente
reenvía de nuevo el primer segmento y reinicia el temporizador. Si el acuse de recibo (ACK)
correspondiente al segundo segmento llega antes de finalizar el nuevo tiempo de temporizac ión, el
cliente no reenviará ese segundo segmento. En caso contrario si habría que hacerlo.

Cuando se produce un fin de intervalo de temporizac ión sin que se halla recibido un segmento
ACK, esto puede ser debido a algún tipo de congestión en la red. TCP aumenta el tiempo del
siguiente fin de intervalo de temporización, duplicándolo. Esta modific ación proporciona una
forma limitada de control de congestión.

  18
 
3.4.4. Control de flujo

Los hosts situados a cada lado de una conexión TCP disponen de un buffer de recepción para la
conexión. Cuando la conexión TCP recibe bytes que son correctos y en secuencia, coloca los datos en
el buffer de recepción. El proceso de aplicación asociado leerá los datos de este buffer, pero no
necesariamente en el instante que llegan. El proceso de aplicación puede estar realizando otras tareas y
no leer los datos en un tiempo, por lo que podría ocurrir que el emisor llenase el buffer de recepción de
la conexión enviando muc hos datos demasiado rápidamente.

Para esto TCP proporciona un servicio de control de flujo que evita que el buffer de
memoria del receptor se desborde. El servicio de control de flujo consiste en adaptar las
velocidades, de tal forma que adapta la velocidad a la que el emisor está transmitiendo a
la velocidad a la que el receptor está leyendo. Para ello mantiene en el emisor una variable
conocida como ventana de recepción, y que se emplea para que el emisor tenga una idea del
espacio libre disponible en el buffer del receptor. Puesto que TCP mantiene una conexión full-
duplex, el emisor de cada lado de la conexión mantiene una ventana de recepción diferente.

Explicaremos su funcionamiento a través de un ejemplo:

Supongamos que un host A está enviando un archivo a un host B a través de una conexión TCP.
El host B asigna un buffer de recepción de esta conexión. Denominamos el tamaño de este buffer
como "Buffer_recepción"
De vez en cuando el proceso de aplicación del host B lee el contenido del buffer y mantiene las
siguientes variables:
Último_byte_leido: el número del último byte del flujo de datos del buffer leído por el
proceso de aplicación del host B
Último_byte_rec ibido: el número del último byte del flujo de datos que ha llegado y se
ha almac enado en el buffer de recepción del host B
La ventana de recepción se hace igual a la cantidad de espacio libre disponible en el buffer, que
será: Ventana_Recepción= Buffer_recepción - (Último_byte_rec ibido - Último_byte_leído). La
ventana de recepción es dinámic a, es decir, que el espacio libre varia con el tiempo.
El host B le indica al host A la cantidad de espacio disponible que hay en el buffer de la conexión
almac enando el valor actual de Ventana_Recepción en el campo ventana de recepción que
cada segmento envía a A. Inicialmente Ventana_Recepción=Buffer_rec epción.

  19
 

Ventana y buffer de recepción

Por su parte, el host A controla dos variables, que son el Último_byte_enviado y el


Último_byte_rec onocido. La diferencia entre estas dos variables es la cantidad de datos no
reconocidos que el host A ha enviado a través de la conexión. El host A podrá asegurarse de que
no desborda el buffer de recepción del host B simplemente haciendo que el número de bytes no
reconocidos sea inferior al valor de Ventana_Recepción.

Ventana deslizante TCP

  20
 
4. Resumen

Un protocolo de la capa de transporte proporciona


una comunicación lógica entre procesos de una aplicación que se
ejecutan en hosts diferentes. Un protocolo de la capa de red, sin
embargo, proporciona una comunicación lógica entre hosts.

La multiplexación y demultiplexación de la capa de transporte es la


ampliación del servicio de entrega host a host proporcionado por la
capa de red a un servicio de entrega proceso a proceso para las
aplicaciones que se ejecutan en los hosts. Podemos decir que
la demultiplexación consiste en entregar los datos contenidos en un
segmento de la capa de transporte al socket correcto. Por su parte,
la multiplexación consiste en reunir los fragmentos de datos en
el host de origen desde los distintos sockets para crear los
segmentos y pasarlos a la capa de red. Para determinar
el socket correcto que se comunica con un proceso de la capa de
aplicación se utilizan un número de puerto de origen y un número
de puerto de destino.

Los protocolos de transporte en Internet son UDP y TCP.

UDP es un protocolo sin conexión, que ofrece un servicio


de multiplexación/demultiplexación y realiza una comprobación de
los errores de los segmentos que llegan al receptor, pero sin
realizar tareas de corrección de errores. UDP es un protocolo que
realiza "the best effort" intentando entregar los segmentos, pero no
ofrece ninguna garantía, por lo que los segmentos UDP se pueden
perder, duplicar, retrasar o entregar en desorden. Las tareas de
control de estos aspectos deben ser desarrolladas en los procesos
de aplicación de red que quieran utilizar UDP, si lo necesitan.

TCP es un protocolo orientado a la conexión, que a través de un


proceso denominado "acuerdo en tres fases" establece una
comunicación previa entre los hosts antes de intercambiarse datos.
TCP ofrece también un servicio full- duplex, que permite que se
intercambien simultáneamente datos entre dos procesos que se
están ejecutando en distintos hosts en ambos sentidos. Además,
TCP es un protocolo fiable, que garantiza que los segmentos
enviados por el emisor llegarán al receptor, y además lo harán en el
mismo orden. Para implementar esta fiabilidad, TCP utiliza
una técnica de acuse de recibo positivo con retransmisión. TCP
ofrece un servicio de control de flujo que evite desbordamientos en
el buffer del receptor y ayude al control de la congestión de la red.
Para ello controla la velocidad de transmisión de segmentos del
emisor adaptándola a la velocidad de lectura de segmentos del
receptor, utilizando varias variables de control y una ventana
de recepción.

  21
 
5. Mapa conceptual

  22
 
5. Mapa conceptual

Unidad Didáctica 4: La capa de red


2. Estudio de caso
3. Desarrollo de contenidos
3.1. Introducción

3.1.1. Reenvío y enrutamiento


3.1.2. Modelos de servicio de red

3.2. Redes de circuitos virtuales y de datagramas

3.2.1. Redes de circuitos virtuales Fases

en un circuito virtual
3.2.2. Redes de datagramas

3.3. Los routers

3.4. IP: Protocolo de Internet

3.4.1. Direccionamiento IPv4


DHCP: Obtener direcciones IP
NAT: Traducción de direcciones de red

3.4.2. ICMP: Protocolo de mensajes de control de Internet


3.4.3. Direccionamiento IPv6

4. Resumen
5. Mapa conceptual

6. Mediateca y fuentes

  2
3
 

5. Mapa conceptual

  2
4
 

5. Mapa conceptual

Desarrollo de
contenidos

Introducción

Redes de circuitos virtuales y


de datagramas

Los routers

IP: Protocolo de Internet

  2
5
 

5. Mapa conceptual
Introducción

Si observamos
la siguiente
figura,
podemos ver una
red simple,
formada por dos
hosts, H1 y H2, y
varios routers en
la ruta que va de
H1 a H2. Si
suponemos
que H1
está enviando
información a H2,
la capa de red en
H1 toma
segmentos de la
capa de transporte
en H1, encapsula
cada segmento
en un
datagrama
(es decir, un
paquete de la capa
de red) y envía
los
datagramas al router
más próximo, R1.

En el host de recepción, H2, la capa de red recibe los datagramas desu router más próximo,
R2, extrae los segmentos de la capa de transporte y los entrega a la capa de transporte de
H2.

La función principal de los routers es reenviar los datagramas desde los enlaces de
entrada a los enlaces de salida. En la figura, los routers aparecen con una pila de
protocolos sin capas por encima de la capa de red, ya que los routers no ejecutan protocolos
de la capa de transporte ni de la capa de aplicación (excepto para algunos propósitos de
control).

Así pues, podemos resumir diciendo que la función de la capa de red es transportar
paquetes desde un host emisor a un host receptor, y que en la realización de esta tarea
se pueden identificar dos funciones importantes de la capa de red:

Reenvío: Cuando un paquete llega al enlace de entrada de un router, éste tiene


que pasar el paquete al enlace de salida apropiado. Por ejemplo, en la figura,
un paquete que llega procedente de H1 al router R1 deberá ser reenviado al
siguiente router de la ruta hacia R2.

Enrutamiento: La capa de red tiene que determinar la ruta o camino que deben seguir
los paquetes a medida que van de un emisor a un receptor. Los algoritmos que
calculan estas rutas se denominan algoritmos de enrutamiento (el funcionamiento y
el manejo de estos algoritmos de enrutamiento se realizarán en detalle en la
 

5. Mapa conceptual

asignatura de Ampliación de Redes de Computadoras). En la figura, un algoritmo de


enrutamiento se encargaría, por ejemplo, de determinar la ruta por la que irán los
paquetes desde H1 a H2.

En algunas redes de computadoras se lleva a cabo además una tercera funcion de la capa de
red, que es la configuración de la conexión, análoga a la vista en el protocolo TCP de la capa
de transporte. 6
 

5. Mapa conceptual
3.1.1.
3.1.2.
3.1.3.
3.1.4. Reenvío y enrutamiento

¿Cuál es la diferencia entre reenvío y enrutamiento? Aunque ya lo hemos mencionado en la introducción,


podemos decir que el reenvío hace referencia a la acción local que realiza un router al transferir un
paquete desde una interfaz de un enlace de entrada a una interfaz del enlace de salida apropiada. Por su
parte, el enrutamiento hace referencia la proceso que realiza la red en conjunto para determinar las
rutas terminal a terminal que los paquetes siguen desde el origen al destino.

Analogía cotidiana

Supongamos que queremos hacer un viaje en coche entre dos ciudades, por
ejemplo de Oviedo a Valladolid.

El enrutamiento será el proceso de planificación del viaje. La tarea de consultar el


mapa y elegir uno de los posibles caminos, que estarán definidos por una serie de
tramos de carretera que unen Oviedo y Valladolid.

El reenvío sería el proceso de atravesar una intersección, un cruce. El coche entra


en una intersección viniendo por una carretera y determina qué otra carretera debe
tomar para salir de la intersección. Estas intersecciones conectan los distintos
tramos de carretera para llegar desde el origen al destino (de Oviedo a Valladolid).

Todo router tiene una tabla de reenvío. Un router reenvía un paquete examinando el valor de un
campo de la cabecera del paquete entrante y utilizando después ese valor para indexarlo dentro de la
tabla de reenvío del router. El resultado de la tabla de reenvío indica a cuál de las interfaces del enlace de
salida del router será reenviado el paquete. Dependiendo del protocolo de la capa de red, este valor de la
cabecera del paquete podría ser la dirección de destino del paquete o una indicación de la conexión a la
que pertenece el paquete.

En esta figura podemos ver un ejemplo:

Un paquete con un valor de campo de cabecera 0111 llega a un router.

El router busca en su tabla de reenvío y determina que la interfaz del enlace de salida para este paquete
es la interfaz 2.

Después, el router reenvía internamente el paquete a la interfaz 2.

El algoritmo de enrutamiento determina los valores que se introducen en las tablas de reenvío de los
routers. El algoritmo de enrutamiento puede estar centralizado (se ejecuta en un sitio central y se
descarga la información de enrutamiento en cada router) o descentralizado (un componente del algoritmo
de enrutamiento distribuido en cada router).

En cualquier caso, un router recibe mensajes del protocolo de enrutamiento que utiliza para configurar su
tabla de reenvío.

7
 
 

5. Mapa conceptual

8
 
 

5. Mapa conceptual

9
 
 

5.
3.1.5. Mapa conceptual
3.1.6.
3.1.7. Modelos de servicio de
red

El modelo de servicio de red define las características del transporte terminal a terminal de los
paquetes entre los sistemas terminales emisor y receptor.

En el host emisor, cuando la capa de transporte pasa un paquete a la capa de red, entre los servicios
específicos que la capa de red podría proporcionar se incluyen:

Entrega garantizada: El paquete terminará por llegar a su destino


Entrega garantizada con retardo limitado: El paquete llegará a su destino con un tiempo
máximo de retardo especificado de host a host.

Además, a un flujo de paquetes entre un origen y un destino podrían ofrecérsele los siguientes servicios:

Entrega de los paquetes en orden: Los paquetes


llegarán al destino en el mismo orden en el que
fueron enviados

Ancho de banda mínimo garantizado: Mientras

el host emisor transmita a una velocidad inferior a la


velocidad especificada, no se perderá ningún paquete
y todos llegarán dentro de un intervalo de retardo
host a host preestablecido.

Fluctuación máxima garantizada: El intervalo

de tiempo transcurrido entre la transmisión de dos


paquetes sucesivos en el emisor es igual al intervalo de tiempo que transcurre entre su
respectiva recepción en el destino. Es decir, la separación entre paquetes no variará en una
cantidad mayor que un cierto valor especificado.

Servicios de seguridad: Cifrado de todos los datagramas enviados al host destino.

Por supuesto esta es una lista parcial de los innumerables servicios que la capa de red puede
proporcionar. La capa de red de Internet proporciona un único servicio conocido como servicio de
mejor esfuerzo.

1
  0
 

2.1. 5. Mapa conceptual


2.2.
2.3.
2.4. Redes de circuitos virtuales y de datagramas

En la anterior Unidad Didáctica hemos visto como la capa de transporte ofrecía a las aplicaciones un
servicio sin conexión (UDP) o un servicio orientado a conexión (TCP).

De forma similar una capa de red también puede proporcionar un servicio sin conexión o un servicio
con conexión. Estos servicios de la capa de red con y sin conexión son paralelos en muchos sentidos a
los servicios de la capa de transporte orientados a la conexión y sin conexión. Sin embargo, también
presentan importantes diferencias:

En la capa de red estos servicios son servicios host a host proporcionados por la capa de red
a la capa de transporte. En la capa de transporte estos servicios son servicios proceso a
proceso proporcionados por la capa de transporte a la capa de aplicación.

La capa de red proporciona bien un servicio sin conexión host a host o un servicio orientado
a la conexión host a host, pero no ambos. Las redes de computadoras que sólo
proporcionan un servicio de conexión en la capa de red se denominan redes de circuitos
virtuales. Las redes de computadoras que sólo proporcionan un servicio sin conexión en la
capa de red se denomina redes de datagramas.

Las implementaciones del servicio orientado a la conexión en la capa de transporte y el servicio con
conexión de la capa de red son distintos. El servicio de conexión de la capa de red se implementa en los
routers del núcleo de la red, así como en los sistemas terminales.Las redes de circuitos virtuales y de
datagramas son dos clases fundamentales de redes de computadoras. Utilizan información muy diferente
a la hora de tomar decisiones de reenvío.

  10
 

2.4.1.5. Mapa conceptual


2.4.2.
2.4.3.
2.4.4. Redes de circuitos
virtuales

Un circuito virtual (VC) consta de:

una ruta (es decir, una serie de enlaces y routers) entre los hosts de origen y de destino

números de circuito virtual: un número para cada enlace a lo largo de la ruta

entradas en la tabla de reenvío de cada router existente a lo largo de la ruta

Un paquete que pertenece a un circuito virtual transportará un número de VC en su cabecera. Dado que
un circuito virtual puede tener un número de VC diferente en cada enlace, cada router que interviene
tiene que sustituir el número de VC de cada paquete que le atraviesa por un nuevo número de VC. Este
nuevo número de VC se obtiene de la tabla de reenvío.

Veamos un ejemplo a través de


la siguiente figura que
representa una red simple de
circuitos virtuales.

Supongamos que el host A


solicita a la red que se establezca
un VC entre él mismo y el host
B. Supongamos también que la
red elige el camino A-R1-R2-B y
asigna los números de VC 12, 22
y 32 a lostres enlaces de ese camino para ese circuito virtual.

En este caso, cuando un paquete abandona el host A, el valor almacenado en el campo número de VC de
la cabecera del paquete es 12; cuando sale de R1 el valor es 22; y cuando sale de R2 es 32.

¿Cómo determina el router el número de VC de sustitución para un paquete que le atraviesa? La tabla de
reenvío de cada router incluye la traducción del número de VC. Por ejemplo, la tabla de reenvío del router
R1 podría ser similar a ésta:

Cuando se configura un número de VC nuevo en un router, se añade una entrada a la tabla de reenvío.
De forma similar, cuando un VC termina, las entradas apropiadas de cada tabla a lo largo de la ruta se
eliminan.

Hay dos razones fundamentales por las que un paquete no mantiene el mismo número de VC en cada
uno de los enlaces de su ruta:
  11
 

5. Mapa conceptual

Reemplazar el número en cada enlace reduce la longitud del campo número de VC de la


cabecera del paquete.

  12
 

La configuración del VC se simplifica considerablemente, ya que cada enlace de la ruta puede


elegir un número de VC independientemente de los números de VC elegidos en los restantes
5. Mapa conceptual
enlaces a lo largo de la ruta. Esto evita que los routers tengan que intercambiar un gran número
de mensajes para acordar un número de VC común para utilizar en una conexión.

En una red de circuitos virtuales los routers de la red tienen que mantener información de estado de
la conexión para las conexiones activas. Cada vez que se establece una conexión nueva en un router
tiene que añadirse una nueva entrada de conexción a la tabla de reenvío del router, y cada vez que una
conexión se libera, la entrada debe borrarse de la tabla.

  13
 

5. Mapa conceptual

Fases en un circuito virtual

Ahora podemos dar una visión global de las fases que se pueden identificar en un circuito virtual (VC):

Configuración del VC: La capa de transporte del emisor contacta con la capa de red, especifica la
dirección del receptor y espera a que la red configure el circuito virtual. La capa de red determina la
ruta entre el emisor y el receptor, es decir, la serie de enlaces y routers a través de los que todos
los paquetes del VC tendrán que viajar. La capa de red también determina el número de VC para
cada enlace de la ruta, y añade una entrada en la tabla de reenvío de cada router existente a lo
largo de la ruta.

Transferencia de datos: Una vez que se ha establecido el circuito virtual los paquetes pueden
comenzar a fluir a lo largo del mismo.

Terminación del VC: Esta fase se inicia cuando el emisor o el receptor informan a la capa de red
de su deseo de terminar el circuito virtual. La capa de red informará al sistema terminal del otro
lado de la red de la terminación de la llamada y actualizará las tablas de reenvío de cada uno de los
routers de la ruta, para indicar que ese circuito virtual ya no existe.

Los mensajes que los sistemas terminales envían a la red para iniciar o terminar un VC y los mensajes
pasados entre los routers para configurar el VC (es decir, para modificar el estado de conexión en las
tablas de los routers) se denominan mensajes de señalización y los protocolos empleados para
intercambiar estos mensajes se denominan protocolos de señalización.

Configuración de un circuito virtual

  14
 

5. Mapa conceptual
2.4.5.
2.4.6.
2.4.7.
2.4.8. Redes de
datagramas

En una red de datagramas cada vez que un sistema terminal desea enviar un paquete, marca el
paquete con la dirección del sistema terminal de destino y luego introduce el paquete en la red. El
paquete se transmite desde un origen a un destino a través de una serie de routers. Cada uno de esos
routers utiliza la dirección de destino del paquete para reenviarlo.

Cada router tiene una tabla de reenvío que asigna direcciones de destino a interfaces de enlace y cuando
un paquete llega a un router, éste utiliza la dirección de destino del paquete para buscar la interfaz del
enlace de salida apropiado en la tabla de reenvío. Luego, el router reenvía el paquete a esa interfaz de
enlace de salida.

Veamos un ejemplo. Las direcciones de destino de un datagrama IP tienen 32 bits. Si pusieramos todas
las combinaciones posibles en una tabla de reenvío, con una entrada para cada posible dirección de
destino tendríamos más de 4 billones de combinaciones posibles. Por ello, se organizan en rangos de
direcciones de destino. Supongamos en nuestro ejemplo que el router tiene cuatro enlaces,
numerados de 0 a 3. Podríamos tener la siguiente agrupación por rangos:

  15
 

5. Mapa conceptual
Podríamos transformar la tabla de reenvío para que solamente tuviera cuatro entradas, teniendo en
cuenta la coincidencia de un prefijo con el rango de direcciones de destino:

  16
 

5. Mapa conceptual

  17
 

5. Mapa conceptual

Con este tipo de tabla de reenvío, el router busca la coincidencia de un prefijo de la dirección de
destino del paquete con las entradas de la tabla; si existe una coincidencia, el router reenvía el
paquete a un enlace asociado con esa coincidencia. Si un prefijo no se corresponde con ninguna de las
tres primeras entradas, entonces el router reenvía el paquete a la interfaz 3. Cuando existen varias
coincidencias se aplica la regla de coincidencia con el prefijo más largo, es decir, busca la entrada
más larga de la tabla con la que exista una coincidencia y reenvía el paquete a la interfaz de enlace
asociada con el prefijo más largo.

  18
 

5. Mapa conceptual

Los routers

La arquitectura de un router genérico consta de cuatro elementos principales que


se pueden apreciar en la figura cuyas funciones explicamos brevemente a
continuación:

Puertos de entrada: Lleva a cabo distintas funciones


Funciones de la capa física (recuadro verde situado más a la izquierda del
puerto de entrada) consistentes en la terminación de un enlace físico de
entrada al router.

Funciones de la capa de enlace de datos (recuadro azul central del puerto de


entrada) necesarias para interoperar con las funciones de la capa de enlace de
datos en el lado remoto del enlace de entrada.

Función de búsqueda y reenvío (recuadro rojo a la derecha del puerto de entrada)


de forma que un paquete reenviado dentro del entramado de conmutación del
router llegue al puerto de salida apropiado. La elección del puerto de salida se
lleva a cabo utilizando la información almacenada en la tabla de reenvío. Aunque
el procesador de enrutamiento calcula la tabla de reenvío, suele almacenarse una
copia de la misma en cada puerto de entrada, la cual es actualizada según sea
necesario. Con estas copias locales, la decisión de reenvío puede tomarse en cada
puerto de entrada, de tal forma que se eviten cuellos de botella en el
procesamiento de reenvíos en un único punto dentro del router.

Puertos de salida: Almacenan los paquetes que le han sido reenviados a través del entramado de
conmutación y los transmite al enlace de salida. Así, los puertos de salida efectúan la función
inversa de la capa física y de la capa de enlace de datos que los puertos de entrada.

Procesador de enrutamiento: Ejecuta los protocolos de enrutamiento, mantiene la información


de enrutamiento y las tablas de reenvío y realiza funciones de gestión de red dentro del router.

Entramado de conmutación: Conecta los puertos de entrada del router con los
puertos de salida. La conmutación puede llevarse a cabo de varias formas, que
  19
 

enumeramos aquí:
5. Mapa conceptual

  20
 

5. Mapa conceptual

Conmutación vía memoria: Se daba en los primeros routers, bajo el control


directo de la CPU (procesador de enrutamiento). Los puertos de entrada y salida
eran dispostivos E/S tradicionales. El puerto de entrada al que llegaba el paquete
enviaba una señal al procesador de enrutamiento. Luego el paquete se copiaba
desde el puerto de entrada a la memoria del procesador. Después el procesador
de enrutamiento extraía la dirección de destino de la cabecera, buscaba en la
tabla de reenvío el puerto de salida apropiado y copiaba el paquete en los buffers
del puerto de salida.

Conmutación vía bus: El puerto de entrada transfiere directamente un paquete al


puerto de salida a través de un bus compartido, sin intervención del procesador de
enrutamiento. Este tipo de conmutación está limitada por el ancho de banda que
tenga el bus compartido. Suele ser suficiente para routers que operan en redes de
acceso y empresariales, como redes locales y corporativas.

Conmutación vía red de interconexión: Una forma de evitar la limitación del


ancho de banda de un único bus compartido, ya que emplea una red de
interconexión que consta de 2n buses que conectan n puertos de entrada con n
puertos de salida. Un paquete que llega a un puerto de entrada viaja a lo largo del
bus horizontal conectado al puerto de entrada hasta intersectar con el bus vertical
que le dirige al puerto de salida deseado. Si este bus vertical está libre, el
paquete se transfiere al puerto de salida. Sino, el paquete queda en la cola del
puerto de entrada.

Tipos de conmutación en un router.

  21
 

2.5. 5. Mapa conceptual


2.6.
2.7.
2.8. IP: Protocolo de Internet

Actualmente hay dos versiones en uso del protocolo de Internet, IP. El protocolo IPv4, el más utilizado
(32 bits para direcciones IP) y la versión IPv6 (128 bits para direcciones IP). Comenzaremos analizando la
sintaxis y semántica del datagrama del IPv4.

Número de versión (4 bits): Especifica la versión del protocolo IP del datagrama. A partir del
número de versión el router puede determinar cómo interpretar el resto del datagrama.

Longitud de cabecera (4 bits): Con esta información se conoce realmente dónde comienzan los
datos del datagrama IP.

Tipo de servicio (8 bits): sirven para diferenciar entre distintos tipos de datagramas IP (p.ej.:
datagramas que requieran un bajo retardo, una entrega fiable, etc).

Longitud del datagrama (16 bits): Es la longitud total del datagrama IP (la cabecera más los
datos) en bytes.

Identificador, indicadores y desplazamiento de fragmentación: Relacionados con la


fragmentación IP, que consiste en dividir un datagrama en fragmentos cuando su longitud es
superior a la unidad máxima de transmisión que puede transmitir un determinado enlace. Los
fragmentos se ensamblan en el host de destino antes de pasar la información a la capa de
transporte. La versión IPv6 no permite la fragmentación en los routers.

Tiempo de vida: Se utiliza para garantizar que los datagramas no estarán eternamente en
circulación a través de la red. Este campo se decrementa cada vez que un router procesa un
datagrama, y así hasta que alcance el valor 0.

Protocolo: Este campo solamente se emplea cuando un datagrama IP alcanza su destino final.
El valor de este campo indica el protocolo específico de la capa de transporte al que se pasarán los
datos contenidos en ese datagrama IP (p.ej: un valor 6 indica que los datos se pasan a TPC,
mientras que un valor 17 indica que se pasan a UDP).
  22
 

5. Mapa conceptual

Suma de comprobación de cabecera: Ayuda a a los routers a detectar errores de bit en un


datagrama IP recibido. Esta suma de comprobación se calcula tratando cada pareja de 2 bytes de
la cabecera como un número y sumando dichos números utilizando aritmética de complemento a
1. El complemento a 1 de esta suma se almacena en el campo suma de comprobación. Un router
calcula la suma de comprobación de cabecera para cada datagrama IP recibido y detecta que hay
un error si la suma de comprobación incluida en la cabecera del datagrama no coincide con la
suma de comprobación calculada.

Direcciones IP de origen y destino: Cuando un origen crea un datagrama, inserta su


dirección IP en el campo de dirección IP de origen e inserta la dirección del destino final en el
campo de dirección IP de destino. A menudo el host de origen determina la dirección de destino
mediante una búsqueda DNS.

Opciones: Permite ampliar la cabecera IP, si bien muy rara vez se emplean. Es un campo que
permite que las cabeceras tengan una longitud variable, y no se sepa a priori donde comienza el
campo de datos. Estas son las razones principales por las que se ha elimitnado de la cabecera en
la versión IPv6.

Datos: En la mayoría de las ocasiones contiene el segmento de la capa de transporte (TCP o


UDP) que va a entregarse al destino.

Así pues, el datagrama IP tiene un total de 20 bytes de cabecera (sin tener en cuenta las opciones). Si el
datagrama trannporta un segmento TCP, entonces cada datagrama transporta un total de 40 bytes de
cabecera (20 de cabecera IP y 20 de cabecera TCP) junto con el mensaje de la capa de aplicación.

  23
 

5. Mapa
3.4.1. conceptual
3.4.2.
3.4.3.
3.4.4. Direccionamiento
IPv4

Normalmente un host dispone de un único enlace hacia la red. Cuando IP en el host desea enviar un
datagrama, lo hace a través de este enlace. El límite entre el host y el enlace físico se denomina interfaz.

Consideremos ahora un router y sus interfaces. La tarea de un router consister en recibir un datagrama
por uno de sus enlaces y reenviarlo a otro enlace, por lo que un router ha de estar conectado
necesariamente a dos o más enlaces. El límite entre el router y cualquiera de sus enlaces también se
denomina interfaz. Así pues, un router tiene varias interfaces, una para cada uno de los enlaces.

Puesto que todos los hosts y todos los routers son capaces de enviar y recibir datagramas IP, entonces IP
requiere que cada interfaz de host y de router tenga su propia dirección IP. Por lo tanto, técnicamente,
una dirección IP está asociada con una interfaz, en lugar de con el host o con el router que contiene dicha
interfaz.

Las direcciones IP tienen una longitud de 32 bits (4 bytes), por lo que existen 232 direcciones IP posibles,
aproximadamente 4 billones de direcciones IP posibles. Estas direcciones se expresan utilizando notación
decimal con punto, en la que cada byte de la dirección se escribe en formato decimal y separada mediante
un punto del resto de bytes de la dirección.

Cada una de las interfaces de un host o de un router de Internet tiene que tener asociada una dirección
IP que es globalmente única. Estas direcciones no están elegidas al azar. Una parte de la dirección IP de
una interfaz está determinada por la subred a la que está conectada. Veamos en la siguiente figura un
ejemplo de las interfaces y del direccionamiento IP. En esta figura se utiliza un router (con tres
interfaces) pra interconectar siete hosts.

Podemos observar que los


tres hosts de la parte
izquierda de la figura y la
interfaz del router a la que
están conectados tienen
una dirección IP con el
formato 223.1.1.xxx. Es
decir, los 24 bits más a la
izquierda de la dirección IP
son todos iguales. En
términos de IP, esta red
que interconecta tres
interfaces de host y una
interfaz de router forman
una subred. El
direccionamiento IP asigna
una dirección a esta
subred: 223.1.1.0/24,
donde la notación 0/24
indica que los 24 bits más a la izquierda definen la dirección de la subred (es lo que se conoce como
máscara de subred). Por lo tanto, la subred 223.1.1.0/24 está formada por tres interfaces de host
(223.1.1.1, 223.1.1.2, 223.1.1.3) y por una interfaz de router (223.1.1.4). Cualquier host adicional
conectado a la subred requerirá una dirección de la forma 223.1.1.xxx.
  20
 

5. Mapa conceptual

En la figura podemos apreciar otras dos subredes. Una formada por dos interfaces de host en la parte
inferior (223.1.3.1 y 223.1.3.2) y una interfaz de router (223.1.3.27). Su máscara de subred será
223.1.3.0/24).

  20
 

5. Mapa conceptual

La tercera subred está formada por dos interfaces de host en la parte derecha (223.1.2.1 y 223.1.2.2) y
una interfaz de router (223.1.2.9). Su máscara de subred será 223.1.2.0/24.

La estrategia de asignación de direcciones en Internet se conoce como enrutamiento entre dominios


sin clase o CIDR (Classless Interdomain Routing). CIDR generaliza la noción de direccionamiento de
subred que acabamos de ver. Al igual que sucede con las subredes IP, la dirección IP de 32 bits se divide
en dos partes y de nuevo se expresa en notación decimal con punto, como a.b.c.d/x, donde x indica el
número de bits de la primera parte de la dirección.

Los x bits más significativos de una dirección en el formato a.b.c.d/x constituyen la parte de red de la
dirección IP y a menudo se hace referencia a ellos como el prefijo de la dirección o de la red.
Normalmente una organización tiene asignado un bloque de direcciones contiguas; es decir, un rango de
direcciones con un prefijo común. En este caso, las direcciones IP de los dispositivos que se encuentran
dentro de la organización compartirán el mismo prefijo. Los routers externos a la organización sólo tienen
en cuenta esos x primeros bits del prefijo para reenviar los paquetes a la organización.

Los 32-x bits restantes de una dirección pueden emplearse para diferenciar los dispositivos internos de la
organización, teniendo todos ellos el mismo prefijo de red. Estos son los bits que habrá que considerar
para reenviar paquetes en los routers internos de una organización. Estos bits pueden tener o no una
estructura en subred.

Hay que mencionar que existe otro tipo de dirección IP, la denominada dirección IP de difusión,
255.255.255.255. Cuando un host envía un datagrama con esta dirección de destino, el mensaje se
entrega a todos los hosts existentes en la misma subred.

Para determinar las subredes existentes en un sistema, desconecte cada


interfaz de su host o router, creando islas de redes aisladas, con
interfaces que acaban en los puntos terminales de las redes aisladas.
Cada una de estas redes aisladas se dice que es una subred.

  21
 

5. Mapa conceptual

En la figura puedes apreciar como


están conectados tres routers entre
sí. Cada uno de ellos tiene tres
interfaces. Además cada router
está conectado a cada pareja de
hosts.

a) ¿Cuántas subredes hay en el


sistema?

b) ¿Qué interfaces incluyen?

c) ¿Cuá es la máscara de subred de


cada una?
Responde a estas tres
cuestiones en el foro.

  22
 

5. Mapa conceptual

DHCP: Obtener direcciones IP

Para obtener un
bloque de
direcciones IP que
pueda ser utilizado
dentro de la subred
de una organización,
un administrador de
red tiene que
contactar con su ISP,
el cual le
proporcionará
direcciones extraídas
de un bloque de
direcciones mayor
que ya habrá sido
asignado al ISP. Por
ejemplo, al ISP
pueden haber
asignado el bloque de
direcciones
210.23.16.0/20. A su vez, el ISP puede dividir su bloque de direcciones en ocho bloques de direcciones
del mismo tamaño, y asignar a cada uno de esos bloques de direcciones hasta ocho organizaciones a las
que puede prestar servicio. Esta es una forma de obtener un bloque de direcciones, pero no la única. Por
ejemplo, el propio ISP puede obtener un bloque de direcciones a través de la corporación de Internet para
números y nombres asignados (ICANN).

Una vez que una organización ha obtenido un bloque de direcciones, puede asignar direcciones IP
individuales a las interfaces de sus hosts y routers. Normalmente un administrador de sistemas configura
manualmente las direcciones IP de un router. Las direcciones de host suelen configurarse mediante el
protocolo de configuración dinámica de host o DHCP (Dynamic Host Configuration Protocol).

DHCP permite asignar a un host automáticamente una dirección IP. Un administrador de red
puede configurar DHCP para que un host dado reciba la misma dirección IP cada vez que se conecte a la
red. También un host puede ser asignado a una dirección IP temporal que será diferente cada vez que el
host se conecta a la red (por ejemplo en las redes LAN inalámbricas, en las que los hosts se unen a la red
y salen de ella frecuentemente). DHCP también permite que un host obtenga información como su
máscara de subred, la dirección del router del primer salto (pasarela o gateway) y la dirección de su
servidor DNS local.

DHCP es un protocolo cliente-servidor. Normalmente un cliente es un host recién llegado que desea
obtener información de configuración de la red, incluyendo una dirección IP para sí mismo. En el caso
más sencillo, cada subred tendrá un servidor DHCP, y si no lo hay, un agente de retransmisión DHCP
(normalmente un router) que conozca la dirección de un servidor DHCP para dicha red. La siguiente
figura muestra un servidor DHCP conectado a la subred 223.1.2/24, con el router actuando como agente
de retransmisión para los clientes recién llegados que se conectan a las subredes 223.2.1/24 y
223.1.3/24.

  23
 

5. Mapa conceptual

Para un host recien llegado a una red, el protocolo DHCP es un proceso de cuatro pasos:

  24
 

5. Mapa conceptual

Descubrimiento del servidor DHCP: La primera tarea de un host recién llegado es encontrar
un servidor DHCP, lo que hace mediante un mensaje de descubrimiento DHCP, que envía un
cliente dentro de un paquete UDP al puerto 67. El datagrama tendrá como dirección de destino la
dirección IP de difusión 255.255.255.255 y como dirección IP de origen 0.0.0.0. El cliente DHCP
pasa el datagrama IP a la capa de enlace, la cual difunde esta trama a todos los nodos conectados
a la subred.

Oferta de servidor DHCP: Un servidor DHCP que recibe el mensaje de descubrimiento responde
al cliente con un mensaje de oferta DHCP, que se difunde a todos los nodos de la subred utilizando
de nuevo la dirección IP de difusión. Esto se hace dado que en la subred puede haber varios
servidores DHCP, y se incluye como información el tiempo de arrendamiento de la dirección IP.

Solicitud DHCP: el cliente recién llegado seleccionará de entre las ofertas de servidor y
responderá a la oferta seleccionada con un mensaje de solicitud DHCP, devolviendo los parámetros
de configuración

ACK DHCP: El servidor contesta al mensaje de solicitud DHCP con un mensaje de confirmación
ACK DHCP que confirma los parámetros solicitados.

En el siguiente enlace puedes


encontrar las especificaciones del
protocolo DHCP.

Especificaciones DHCP

  25
 

5. Mapa conceptual

Una vez que el cliente recibe el mensaje de reconocimiento, la interacción se completa y el cliente puede
utilizar la dirección IP asignada por DHCP durante el tiempo de arrendamiento.

  26
 

5. Mapa conceptual

NAT: Traducción de direcciones de red

Actualmente hay una gran proliferación de subredes domésticas y de pequeñas oficinas. Cuando una de
ellas desea instalar una LAN para conectar varias máquinas, el ISP debería asignar un rango de
direcciones para cubrir todas las máquinas de la subred. Si esta creciera (p.ej.: en nuestros hogares los
niños y jóvenes disponen de sus propias computadoras, PDA, teléfonos o máquinas de juegos conectadas
en red) habría que asignar un bloque de direcciones enorme. Entonces, ¿cómo solucionar el problema si
el ISP ya ha asignado las porciones adyacentes al rango de direcciones actualmente en uso por esa red?

Pues bien, hay una forma más sencilla de asignar direcciones IP en escenarios de este tipo, la
denominada traducción de direcciones de red o NAT (Network Address Translation). La siguiente
figura muestra el funcionamiento de un router NAT. Este router que se encuentra en una vivienda, y
tiene una interfaz que es parte de la red doméstica situada en la parte derecha de la figura. El
direccionamiento dentro de la red doméstica es el mismo que hemos visto anteriormente (subred
10.0.0.0/24). El espacio de direcciones 10.0.0.0/8 corresponde a una de las tres partes del espacio de
direcciones IP que está reservado para una red privada (un ámbito con direcciones privadas), como
es la red doméstica de la figura. Un ámbito con direcciones privadas hace referencia a una red cuyas
direcciones sólo tienen significado para los dispositivos internos de dicha red.

Consideremos que existen millones de redes domésticas y que muchas utilizan el mismo espacio de
direcciones 10.0.0.0/24. Los dispositivos de la red domésticas pueden enviarse paquetes entre sí
utilizando este direccionamiento. Sin embargo, los paquetes reenviados fuera de la red doméstica, no
pueden utilizar estas direcciones porque existen millones de redes con ese bloque de direcciones. Así
pues, las direcciones 10.0.0.0/24 solo tienen significado dentro de una red doméstica dada.

Para resolver esto se utiliza el router NAT, que se comporta de cara al exterior no como un router, sino
como un único dispositivo con una dirección IP única. En la figura todo el tráfico que sale del router NAT
hacia Internet tiene una dirección IP de origen 138.76.29.7 y todo el tráfico que entra en él tiene que
tener la dirección de destino 137.76.29.7. En resumen, el router NAT oculta los detalles de la red
doméstica hacia el mundo exterior.

Para que el router NAT pueda reenviar los datagramas que le llegan al host interno correspondiente utiliza
una tabla de traducciones NAT almacenada en el router, incluyendo los números de puerto y las
direcciones IP en las entradas de la tabla.

Supongamos en el ejemplo anterior que un usuario de la red doméstica que utiliza el host con la dirección
10.0.0.1 solicita una página web almacenada en un servidor web (puerto 80) con la dirección IP
128.11940.186.
  27
 

5. Mapa conceptual

El host 10.0.0.1 asigna un número de puerto arbitrario (3345) y envía el datagrama a la LAN.

  28
 

5. Mapa conceptual

El router NAT recibe el datagrama, genera un nuevo número de puerto origen (5001) para el
datagrama, y sustituye la dirección IP de origen por su dirección IP de la red WAN (138.76.29.7).
En el router, NAT también añade una entrada a su tabla de traducciones.

El servidor web responde con un datagrama cuya dirección de destino es la direccion IP del router
NAT, con el número de puerto de destino 5001.

Cuando este datagrama llega al router NAT, éste indexa la tabla de traducciones NAT utilizando la
dirección IP de destino y el número de puerto de destino para obtener la dirección IP (10.0.0.1) y
el número de puerto destino (3345). A continuación el router reescribe la dirección de destino y el
número de puerto destino del datagrama y lo reenvía a la red doméstica.

Sigue los siguientes enlaces para


descubrir más información sobre las
especificaciones de NAT:

Terminología NAT

Aspectos básicos sobre NAT

  29
 

3.4.5. 5. Mapa conceptual


3.4.6.
3.4.7.
3.4.8. ICMP: Protocolo de mensajes de control de
Internet

Los hosts y los routers utilizan ICMP (Internet Message Control Protocol) para intercambiarse
información acerca de la capa de red. El uso más típico de ICMP es la generación de informes de
error. Si, por ejemplo, en algún momento un router IP no ha podido encontrar una ruta hasta el host
especificado como destino en una aplicación FTP o HTTP, dicho router emitirá un mensaje ICMP tipo 3
(host de destino inalcanzable).

ICMP es a menudo considerado una parte del protocolo IP, aunque a nivel arquitectónico está justamente
encima de IP, ya que los mensajes ICMP son transportados dentro de los datagramas IP como carga útil,
al igual que los segmentos TCP o UDP.

Los mensajes ICMP tiene un campo de tipo y un campo de código y contienen la cabecera y los 8
primeros bytes del datagrama IP que ha dado lugar a la generación del mensaje ICMP en primer lugar (así
el emisor puede determinar qué datagrama ha producido el error). En la tabla siguiente se muestran una
serie de tipos de mensajes ICMP seleccionados.

Tipo ICMP CÓDIGO DESCRIPCIÓN


0 0 respuesta de eco
3 0 red de destino inalcanzable Puedes encontrar todas las
especificaciones del protocolo ICMP
3 1 host de destino inalcanzable
siguiendo este enlace:
3 2 protocolo de destino inalcanzable
3 3 puerto de destino inalcanzable Especificaciones ICMP
3 6 red de destino desconocida
3 7 host de destino desconocido
4 0 regulación del origen (control de congestión)
8 0 solicitud de eco
10 0 descubrimiento de router
12 0 cabecera IP errónea
 

  30
 

5. Mapa
3.4.9. conceptual
3.4.10.
3.4.11.
3.4.12. Direccionamient
o IPv6

La principal motivación para que los desarrolladores del IETF (Internet Engineering Task Force)
comenzaran hacia 1990 a desarrollar un sucesor para el IPv4 fue que se dieron cuenta que las
direcciones IP de 32 bits estaban comenzando a agotarse, a causa de las nuevas subredes y nodos IP que
se conectaban a Internet (a los que se les asignaban direcciones IP únicas). Para responder a esta
necesidad de un espacio de direcciones IP más grande, se desarrolló un nuevo protocolo, el IPv6. En esos
momentos se debatía sobre el momento en que las direcciones IP de 32 bits estarían ya agotadas,
surgiendo diversos trabajos e investigaciones que abocaban este agotamiento al 2008, 2010 y los más
optimistas al 2018. Esto unido a la certeza de que se necesitaría mucho tiempo para poder implantar una
nueva tecnología a gran escala, hizo que se desarrollará la versión IPv6.

El formato del datagrama IPv6 presenta varios cambios importantes respecto a la versión IPv4:

Capacidades ampliadas de direccionamiento: IPv6 aumenta el tamaño de la dirección IP de


32 bits a 128 bits. Un seguro para que el mundo no se quede sin direcciones IP. Además de las
direcciones de unidifusión y multidifusión, IPv6 ha introducido un nuevo tipo de dirección,
denominado dirección anycast, que permite entregar un datagrama a uno cualquiera de un
grupo de hosts. Esta funcionalidad podría utilizarse, por ejemplo, para enviar un mensaje GET
HTTP al más próximo de una serie de sitios espejo que contengan un determinado documento.

Una cabecera de 40 bytes simplificada: Se han eliminado algunos campos de la versión IPv4,
y se ha dado longitud fija a la cabecera.

Prioridad y etiquetado del flujo: IPv6 utiliza una definición bastante amplia de flujo, y esto
permite etiquetar los paquetes que pertenecen a determinados flujos para los que el emisor solicita
un tratamiento especial como un servicio en tiempo real o una calidad de servicio no
predeteminados. Por ejemplo, la transmisión de audio y vídeo puede tratarse como un flujo,
mientras que aplicaciones más tradicionales como el correo electrónico no se pueden tratar como
flujos.

En IPv6 se definen los siguientes campos:

Número de versión (4 bits): Especifica la versión del protocolo IP del datagrama. IPv6 transporta
un valor de 6 en este campo. Pero incluir un valor 4 en este campo no implica que se cree un
datagrama IPv4 válido.

Clase de tráfico (8 bits): Similar al Tipo de Servicio de IPv4.

  31
 

5. Mapa conceptual

Etiqueta de flujo (20 bits): se utiliza para identificar un flujo de datagramas.

Longitud de la carga útil (16 bits): Es la longitud en bytes del datagrama, sin incluir la cabecera.

  32
 

5. Mapa conceptual

Siguiente cabecera: Identifica el protocolo al que se entregará el contenido (campo de datos) de


este datagrama, como por ejemplo UDP o TCP.

Límite de saltos: Cada router que reenvía un datagrama decrementa el contenido de este campo
en una unidad. Si el límite de saltos llega a cero, el datagrama se descarta.

Direcciones IP de origen y destino:

Datos: La carga últil del datagrama IPv6, que es lo que se extraerá del datagrama IP y se
entregará en el destino al protocolo especificado en el campo Siguiente Cabecera.

  33
 

5. Mapa conceptual
4.
5.
6. Resumen

La función principal de
la capa de
red es transportar
paquetes desde
un host emisor a
un host receptor, y en
la realización de esta
función se pueden
identificar dos tareas de
la capa de red: el reenvío
de los paquetes de
información entre los distintos hosts y routers que intervienen, y el
enrutamiento, o decisión sobre la ruta o camino a seguir por dichos
paquetes.

La capa de red también puede proporcionar un servicio sin


conexión (redes de datagramas) o un servicio con conexión
(redes de circuitos virtuales). El servicio de conexión de la capa de
red se implementa en los routers del núcleo de la red, así como en los
sistemas terminales.

En un circuito virtual (VC) se pueden distinguir: una ruta entre


los hosts de origen y de destino, un número de circuito virtual para
cada enlace a lo largo de la ruta y una serie de entradas en la tabla de
reenvío de cada router de la ruta. Un paquete que pertenezca a un
circuito virtual transportará un número de VC en su cabecera. Dado que
un circuito virtual puede tener un número de VC diferente en cada
enlace, cada router que interviene tiene que sustituir el número de VC de
cada paquete que le atraviesa por un nuevo número de VC. Este nuevo
número de VC se obtiene de la tabla de reenvío. Las principales fases que
se pueden identificar en un circuito virtual son: la configuración del
circuito virtual, la transferencia de datos y la terminación del circuito
virtual.

En una red de datagramas cada vez que un sistema terminal desea


enviar un paquete, marca el paquete con la dirección del sistema
terminal de destino y luego introduce el paquete en la red. El paquete se
transmite desde un origen a un destino a través de una serie
de routers. Cada uno de esos routers utiliza la dirección de destino del
paquete para reenviarlo.

La arquitectura de un router consta de cuatro elementos: puertos de


entrada, puertos de salida, entramado de conmutación y procesador de
  30
 

enrutamiento.
5. Mapa conceptual

  30
 

5. Mapa conceptual

El protocolo de red para Internet es el protocolo IP. Actualmente


existen dos versiones en funcionamiento, IPv4 e IPv6. La principal
diferencia entre ellas se centra en que IPv4 maneja direcciones IP de 32
bits, mientras que IPv6 maneja direcciones IP de 128 bits. La estrategia
de asignación de direcciones en Internet se conoce como enrutamiento
entre dominios sin clase o CIDR. Puesto que todos los hosts y todos
los routers son capaces de enviar y recibir datagramas IP, entonces IP
requiere que cada interfaz de host y de router tenga su propia dirección
IP. Por lo tanto, técnicamente, una dirección IP está asociada con una
interfaz, en lugar de con el host o con el router que contiene dicha
interfaz.

Un ISP proporcionará un bloque de direcciones IP a la subred de una


organización. La asignación de direcciones IP individuales a las interfaces
de sus hosts y routers las realizará el protocolo de configuración
dinámica de host o DHCP. En el caso de las redes domésticas y de
pequeña oficina hay la asignación de direcciones IP se realiza mediante
la traducción de direcciones de red o NAT, que oculta los detalles de
la red doméstica hacia el mundo exterior.

Los hosts y los routers utilizan ICMP (Internet Message Control Protocol)
para intercambiarse información acerca de la capa de red. El uso
más típico de ICMP es la generación de informes de error.

31
 
 

5.
7. Mapa conceptual

32
 
 

5. Mapa conceptual

33
 
 

5. Mapa conceptual

Unidad Didáctica 5: La capa de enlace de datos


2. Estudio de caso
3. Desarrollo de contenidos

3.1. Introducción
3.1.1. Servicios de la capa de enlace

3.1.2. Implementación de la capa de enlace


3.1.3. Tipos de enlaces de red
3.2. Direccionamiento de la capa de enlace

3.2.1. ARP: Protocolo de resolución de direcciones ARP entre subredes

3.3. Ethernet

3.3.1. Estructura de la trama de Ethernet

3.3.2. CSMA/CD: Protocolo de acceso múltiple

3.4. Conmutadores de la capa de enlace

3.4.1. Conmutadores VLAN


3.5. PPP: Protocolo punto a punto
3.5.1. Trama de datos PPP

4. Resumen
5. Mapa conceptual
!

  3
4
 

5. Mapa conceptual

  3
5
 

3. Desarrollo
5. Mapa
de contenidos
conceptual

Introducción

Direccionamiento de
la capa de enlace

Ethernet

Conmutadores de la
capa de enlace

PPP: Protocolo punto


a punto

  3
6
 

3.1.conceptual
5. Mapa Introducción

En esta unidad didáctica nos


referiremos a los hosts y a los
routers como nodos, ya que a nivel
de enlace de red, no nos
preocupará especialmente si un
determinado nodo es un router o
un host. Además nos referiremos a
los canales de comunicación que
conectan nodos adyacentes a
través de la ruta de
comunicaciones como enlaces.

Para que un datagrama pueda ser transferido desde el


host de origen al de destino, debe moverse a través de
cada uno de los enlaces individuales que forman la ruta
terminal a terminal. En un determinado enlace, un nodo
transmisor encapsula el datagrama en una trama de la
capa de enlace y transmite la trama a través del enlace; el
nodo receptor recibe entonces la trama y extrae el
datagrama.

Para transmitir un datagrama a través de un enlace


individual se utiliza un protocolo de la capa de enlace. El
protocolo de la capa de enlace define el formato de los
paquetes intercambiados por los nodos situados en los
extremos de los enlaces, así como las acciones que estos nodos llevan a cabo cuando se envían y reciben
paquetes.

Las unidades de datos intercambiadas por un protocolo de la capa de enlace se denominan tramas, y
cada trama de la capa de enlace suele encapsular un datagrama de la capa de red.

Como ejemplos de protocolos de la capa de enlace podemos citar Ethernet, las redes LAN inalámbricas o
Wifi y PPP.

Si en la anterior unidad didáctica decíamos que la capa de red tiene asignada la tarea de mover los
segmentos de la capa de transporte terminal a terminal desde el host de origen al host de destino, el
protocolo de la capa de enlace tiene la tarea de mover los datagramas de la capa de red a través de un
único enlace (nodo a nodo) dentro de la ruta.

Una característica importante de la capa de enlace es que un mismo datagrama puede ser transportado
por diferentes protocolos de la capa de enlace en los distintos enlaces que forman la ruta. Por ello, la capa
de red debe ser capaz de realizar su trabajo terminal a terminal en presencia de un conjunto heterogéneo
de servicios individuales de la capa de enlace (p.ej.: habrá protocolos de la capa de enlace que
proporcionen entrega fiable, y otros no, dentro de la misma ruta).

  3
7
 

Analogía cotidiana
5. Mapa conceptual
Una agencia de viajes organiza un viaje para un turista que va de Paris
hasta Segovia. La agencia decide que vaya desde Paris a Madrid en avión,
y en tren desde el aeropuerto de Madrid hasta Segovia. Finalmente una
limusina le llevará desde la estación de tren al hotel de alojamiento en
Segovia.

La agencia hace las tres reservas, pero es responsabilidad de la compañía


aérea transportar al turista desde el aeropuerto de Paris al aeropuerto de
Madrid, es responsabilidad de la compañía ferroviaria llevar al turista
desde Madrid a Segovia, y por último, es responsabilidad de la empresa de
limusinas llevarle desde la estación de tren al hotel de alojamiento. Cada
una de estas tres partes del viaje es un segmento directo entre dos
ubicaciones contiguas del viaje, gestionados por distintas empresas y con
distintos modos de transporte.

En esta analogía del transporte:

El turista sería el datagrama.

Cada uno de los segmentos de transporte sería un enlace de


comunicaciones.

El modo de transporte sería un protocolo de la capa de enlace .

Cada una de las ubicaciones sería un nodo.

  3
8
 

5. Mapa
3.1.1. Servicios de laconceptual
capa de enlace

El servicio básico de la capa de enlace es mover un datagrama desde un nodo hasta otro adyacente a
través de un único enlace de comunicaciones. Sin embargo, los detalles del servicio proporcionado pueden
variar de un protocolo a otro. Entre los posibles servicios que un protocolo de la capa de enlace puede
ofrecer están:

Entramado: Consiste en encapsular cada datagrama de la capa de red dentro de una trama de
la capa de enlace antes de trasmitirla a través del enlace. Una trama consta de unos campos de
cabecera y un campo de datos, donde se inserta el datagrama.

Entrega fiable: Un protocolo que proporciona este servicio garantiza que va a transportar cada
datagrama de la capa de red a través del enlace sin que se produzcan errores. Este servicio se
considera innecesario en aquellos enlaces que tienen una baja tasa de errores de bit, como por
ejemplo, los enlaces de fibra o coaxiales.

Control de flujo: De forma similar a lo que sucede en la capa de transporte, el protocolo de la


capa de enlace puede proporcionar un mecanismo de control de flujo para evitar que el nodo
emisor envíe las tramas a más velocidad de la que puede procesar el nodo receptor.

Detección de errores: El hardware de la capa de enlace en un nodo receptor pudiera llegar a


decidir, incorrectamente, que un bit de una trama es un uno cuando fue transmitido como un
cero, y viceversa. Estos errores de bit se producen debido a la atenuación de las señales y al ruido
electromagnético. Para evitar esto, hay protocolos que proporcionan un mecanismo de detección
de estos errores de bit. Para ello el nodo transmisor incluye bits de detección de errores en la
trama, y así el nodo receptor puede realizar una comprobación de errores.

Corrección de errores: Similar al anterior, salvo que el receptor además de detectar los bits
erróneos y los corrige.

Semiduplex y full-duplex: Con la transmisión full-duplex los nodos de un enlace pueden


transmitir y recibir paquetes al mismo tiempo. En el enlace semiduplex un nodo no puede
transmitir y recibir al mismo tiempo.

  3
9
 

5. Mapa
3.1.2. Implementación de laconceptual
capa de enlace

En un host la capa de enlace se implementa fundamentalmente por hardware, en un adaptador de


red o tarjeta de interfaz de red. Su núcleo es el controlador de la capa de enlace, que normalmente
es un único chip que implementa muchos de los servicios de la capa de enlace que hemos mostrado en la
sección anterior. Hasta finales de la década de los noventa la mayoría de los adaptadores de red eran
tarjetas físicamente separadas, pero actualmente están cada vez más integrados en la placa base del host
(LAN sobre placa base).

En el lado del emisor, el


controlador toma un
datagrama que haya sido
creado y almacenado en
la memoria del host por
las capas superiores de la
pila de protocolos,
encapsula ese datagrama
en una trama de la capa
de enlace y luego
transmite la trama al
enlace de
comunicaciónes, de
acuerdo con el protocolo
de acceso del enlace.

En el lado receptor, un controlador recibe la trama completa y extrae el


datagrama de la capa de red. Si la capa de enlace realiza detección de
errores, entonces será el controlador del emisor quien se encargue de configurar
los bits de detección de errores en la cabecera de la trama, y el controlador del
receptor llevará a cabo la detección de errores. Si la capa de
enlace realiza control de flujo, entonces los controladores del emisor y
del receptor intercambian información de control de flujo de modo que el
emisor envía las tramas a una velocidad que el receptor sea capaz de
aceptar.

La figura muestra un adaptador de red conectado a un bus del host, y su


relación con otros componentes del host. Como se puede apreciar en la figura,
también hay una parte de la capa de enlace que se implementa por software que se
ejecuta en CPU del host. Así, los componentes software de la capa de enlace
implementan la función de más alto nivel de la capa, como la recepción del datagrama
desde la capa de red, el ensamblado de la información de direccionamiento de la capa
de enlace y la activación del hardware del controlador. En el lado del receptor, el
software se encarga de gestionar las condiciones de error y pasa el datagrama hacia la
capa de red.

  4
0
 

5. Mapa
3.1.3. conceptual
Tipos de enlaces de red

Existen dos tipos de enlaces de red: enlaces punto a punto y enlaces de difusión.

Un enlace punto a
punto está compuesto
por un único emisor en
un extremo del enlace y
un único receptor en el
otro extremo. Entre los
protocolos más conocidos
para enlaces punto a
punto están el protocolo
punto a punto o PPP
(Point-to-Point Protocol)
y el protocolo de control
de enlace de datos de
alto nivel o HDLC (High-
level Data Link Control).

Un enlace de difusión
puede tener múltiples nodos emisores y receptores, todos conectados al mismo y único canal de
difusión compartido. Ethernet y las redes LAN inalámbricas son ejemplos de tecnologías de
difusión de la capa de enlace. Estos enlaces utilizan los denominados protocolos de acceso
múltiple, que permiten que los nodos puedan regular sus transmisiones al canal de
comunicación compartido, gestionando problemas como las colisiones (más de dos nodos
transmitiendo tramas al mismo tiempo). En general, todos estos protocolos se basan en asignar
una tasa de transferencia T a un nodo que quiera enviar datos, y una tasa de transferencia R/M a
cada nodo, si hay M nodos con datos a enviar.

  10
 

3.2. Direccionamiento de la capa


5. Mapa de enlace
conceptual

Los nodos (hosts y routers) tienen direcciones de la


capa de enlace (además de direcciones de la capa de red).
Las direcciones de la capa de enlace se asignan a los
adaptadores instalados en cada nodo.

A las direcciones de la capa de enlace se las denomina


dirección MAC (o dirección física o dirección LAN). En la
mayoría de las redes LAN la dirección MAC tiene 6 bytes de
Si los adaptadores de red se fabrican longitud, lo que supone 248 posibles direcciones MAC. Estas
en muchos paises y por muchas
direcciones suelen expresarse en notación hexadecimal,
empresas distintas ¿cómo es posible
que utilicen distintas direcciones MAC
indicándose cada byte de la dirección mediante una pareja
para sus adaptadores? ¿que no se de números hexadecimales (p.ej.: 5C-67-D2-87-44-B1).
repitan?
Nunca puede haber dos adaptadores con la misma
Investiga
dirección MAC. La dirección MAC de un
adaptador tiene una estructura plana y nunca varía,
independientemente de a dónde se lleve el adaptador. Así,
una computadora portátil con una tarjeta Ethernet siempre
tendrá la misma dirección MAC, independientemente
de dónde se utilice esa computadora.
Recordemos, por contraposición, como las direcciones
IP tienen una estructura jerárquica (una parte de red y una
parte de host) y que es necesario modificar la dirección IP
de un nodo cuando el host se mueve y cambia la red a la
que está conectado.

Analogía cotidiana

Una persona tiene un DNI único asignado ---------- Un adaptador de nodo tiene una dirección MAC
asignada única.

Una persona tiene un Código Postal según su domicilio ------- Un nodo tiene una dirección IP
dependiendo de dónde se conecte.

Cuando un adaptador de un emisor quiere enviar una trama a otro adaptador de destino, inserta la
dirección MAC del adaptador de destino en la trama, y luego la envía a través de la red LAN. Si un
adaptador emisor quiere que todos los demás adaptadores de la LAN reciban y procesen la trama,
insertará una dirección de difusión MAC, que será una cadena de unos (FF-FF-FF-FF-FF-FF).

  11
 

5.resolución
3.2.1. ARP: Protocolo de Mapa conceptual
de direcciones

Dado que existen direcciones


de la capa de red y
direcciones de la capa de
enlace, surge la necesidad
de una traducción entre
ellas. En Internet, esta
traducción la realiza el
protocolo de resolución
de direcciones ARP
(Address Resolution
Protocol).

Cada nodo de una LAN


tiene una dirección IP y
cada adaptador de un
nodo tiene una dirección
MAC.

Supongamos que el nodo


con dirección IP
137.196.7.23 quiere enviar un datagrama IP al nodo 137.196.7.14. En este caso, tanto el nodo origen
como el nodo destino están en la misma subred.

Para poder enviar un datagrama, el nodo origen tiene que proporcionar a su adaptador la
dirección MAC del nodo de destino. El adaptador del nodo emisor construirá entonces una trama de la
cpa de enlace que contendrá la direcicón MAC del nodo de destino con la dirección IP 137.196.7.14. Para
ello es necesario un módulo del protocolo ARP en el nodo emisor, que a partir de la dirección IP devuelve
la dirección MAC correspondiente. Para ello cada nodo (host o router) tiene en su memoria una tabla
ARP, que contiene las correspondencias entre las direcciones IP y las direcciones MAC. La tabla ARP
también contiene un valor de tiempo de vida (TTL), que indica cuándo se eliminará cada correspondencia
en la tabla.

Supongamos que la tabla ARP del nodo emisor tiene la siguiente información:

DIRECCIÓN IP DIRECCIÓN MAC TTL

137.196.7.14 58-23-D7-FA-20-B0 14:25:00

137-196.7.88 0C-C4-11-6F-E3-98 14:33:00

En este caso, al consultar la tabla, ya obtiene la dirección MAC del host 137.196.7.14.

  12
 

Sin embargo, supongamos a continuación que el mismo nodo emisor quiere enviar una trama al nodo

5. Mapa conceptual
137.196.7.78, que no está actualmente en su tabla ARP. En este caso el nodo emisor ha de utilizar
el protocolo ARP para resolver la dirección, en el que incluye la dirección IP del destino. En primer lugar el
nodo emisor construye un paquete especial denominado paquete de consulta ARP, con una indicación
al adaptador para que lo envíe a la dirección de difusión, FF-FF-FF-FF-FF-FF. El adaptador encapsula el
paquete ARP en una trama de la capa de enlace, utiliza la dirección de difusión como dirección de destino
de la trama y la envía a la subred. Entonces, la trama es recibida por todos los demás adaptadores de la
subred y cada adaptador pasa la consulta ARP contenida en la trama a su módulo ARP. Cada nodo realiza
una comprobación para ver si su dirección IP se corresponde con la dirección IP del destino del paquete
ARP. Aquel nodo en que se produzca la coincidencia devolverá al nodo que ha realizado la consulta una
respuesta ARP con la correspondencia pedida (en nuestro ejemplo, 1A-2F-BB-76-09-AD). El nodo
emisor actualiza entonces su tabla ARP y puede enviar el datagrama IP. El mensaje ARP de consulta se
envía pues en una trama de difusión, mientras que el mensaje ARP de respuesta se envía dentro de una
trama estándar.

Hasta aquí hemos visto como ARP resuelve direcciones IP para los nodos de una misma subred, pero ¿qué
sucede cuando se quiere enviar un datagrama a un nodo que está en otra subred? Lo veremos en la
siguiente sección.

  13
 

5. Mapa ARP
conceptual
entre subredes

En la siguiente figura podemos apreciar dos subredes conectadas por un router. Como ya habíamos
comentado,

Cada host tiene una dirección IP y un adaptador

Por su parte, cada router tiene una dirección IP para cada una de sus interfaces, como vimos en la
anterior unidad didáctica.

Para cada interfaz de router existe también un módulo ARP en el router y en el adaptador. Dado
que el router de la figura tiene dos interfaces, también tendrá dos direcciones IP, dos módulos ARP
y dos adaptadores.

Cada adaptador tiene su propia dirección MAC.

La subred de la izquierda de la figura (que llamaremos subred 1)


tiene la dirección de red 111.111.111/24 y la subred de la
derecha (que llamaremos subred 2) tiene la dirección
222.222.222/24. Supongamos que por ejemplo el host A, cuya
dirección IP es 111.111.111.111 quiere enviar un datagrama IP
al host B de la otra subred, cuya dirección IP es
222.222.222.222. Estos serán los pasos: Puedes encontrar las
especificaciones del protocolo ARP
El host A pasa el datagrama a su adaptador, pero tendrá en el siguiente enlace:
que indicar como dirección de destino no la del host B, sino
la de la interfaz del router R, por el que ha de pasar hacia Especificaciones ARP

su destino final. Por tanto, la dirección MAC apropiada para


la trama es E6-E9-00-17-BB-4B. Una vez que el
adaptador del emisor tiene esta dirección MAC, que
obtendrá utilizando ARP, crea una trama y la envía.

El adaptador del router de la subred 1 ve que la trama de


la capa de enlace se dirige hacia él y pasa la trama a la
capa de red del router.

Ahora el router tiene que determinar la interfaz correcta a


la que el datagrama será reenviado. Esto se hace
consultando la tabla de reenvío del router, como vimos en
la anterior unidad didáctica. La tabla de reenvío indica al
router que el datagrama es reenviado a través de la
interfaz de router 222.222.222.220.

Esta interfaz pasa el datagrama a su adaptador, que encapsula el datagrama en una nueva trama
y la envía a la subred 2. Mediante ARP el router obtiene la dirección de destino de la trama que ya
será la dirección MAC del destino final, es decir, 49-BD-D2-C7-56-2A.

  14
 

3.3. Ethernet
5. Mapa conceptual

Ethernet es una red LAN cableada. Desde su aparición a mediados de la década de 1970 hasta nuestros
días ha ido evolucionando y creciendo, siendo actualmente la tecnología para redes LAN cableadas
predominante. Puede decirse que Ethernet es para las redes locales lo que Internet para las redes
globales.

Ethernet ha tenido éxito debido a diversas razones:

Fue la primera LAN de alta velocidad implantada, por lo que los administradores de redes están
muy familiarizados con Ethernet.

Otras tecnologías como Token Ring o ATM eran más complejas y caras que Ethernet, lo que
impidió que muchos administradores quisieran cambiar.

Ethernet siempre ha mantenido versiones con velocidades similares a otras tecnologías, por lo
que tampoco conseguían desbancarla por este aspecto.

La primera Ethernet fue inventada


por Bob Metcalfe y David Boggs en
1970. Podemos ver su diseño original
en la figura. Utilizaba un bus coaxial
para interconectar los nodos.
A finales de la década de 1990
la mayor parte de las
empresas y universidades habían
reemplazado sus redes LAN por
instalaciones Ethernet utilizando
topologías en estrella basadas en
concentradores (hubs). Un
concentrador es un

dispositivo de la capa física que actúa sobre los bits individuales en lugar de sobre las tramas. Así pues,
Ethernet con tecnología de bus o de concentradores es una red LAN de difusión, es decir, cuando un
adaptador transmite una trama, todos los adaptadores de la LAN reciben esa trama. A principios de la
década de 2000 el concentrador central fue reemplazado por un conmutador (switch).

Existen muchas versiones diferentes de Ethernet, como 10BASE-T, 10BASE-2, 100BASE-T, 100BASE-LX
O 10GBASE-T. En estos acrónimos la primera parte hace referencia a la velocidad del estándar: 10, 100,
1000 o 10G para 10 megabits por segundo, 100 megabits, 1 gigabit o 10 gigabits. BASE hace referencia
a la tecnología Ethernet banda base, que quiere decir que el medio físico solamente transporta tráfico
Ethernet. La parte final del acrónimo hace referencia al medio físico en sí: T para cable de cobre de par
trenzado, 2 para cable coaxial.

Aquí puedes ver un interesante vídeo que habla sobre la historia de Ethernet. Está narrado por el
inventor de Ethernet, Bob Metcalfe.

Vídeo: Historia de Ethernet

  15
 

5. Mapa
3.3.1. Estructura conceptual
de la trama de Ethernet

La estructura de una trama Ethernet genérica consta de seis campos:

dirección dirección
preámbulo tipo datos CRC
de destino de origen

Preámbulo (8 bytes): Los siete primeros bytes sirven para "despertar" a los adaptadores de
recepción y sincronizar sus relojes con el reloj del emisor. Los dos últimos bits del octavo byte
sirven para alertar al adaptador del receptor de que va a llegar información "importante".

Dirección de destino (6 bytes): Contiene la dirección MAC del adaptador de destino.

Dirección de origen (6 bytes): Contiene la dirección MAC del adaptador que transmite la
trama.

Tipo (2 bytes): Este campo permite a Ethernet multiplexar los protocolos de la capa de red.
Cuando llega la trama Ethernet al adaptador del receptor, éste necesita saber a qué protocolo de
la capa de red debe pasar (demultiplexar) el contenido del campo de datos.

Datos (46 a 1500 bytes): Este campo transporta el datagrama IP. La unidad máxima de
transmisión de Ethernet es 1500 bytes, por lo que si el datagrama IP excede este tamaño,
entonces el host tendrá que fragmentar el datagrama.

CRC (4 bytes): El propósito de este campo es permitir que el adaptador del receptor detecte los
errores de bit de la trama.

  16
 

5. Mapa
3.3.2. CSMA/CD: Protocolo conceptual
de acceso múltiple

Dado que Ethernet puede emplear la comunicación por difusión, necesita un protocolo de acceso
múltiple. Ethernet utiliza el protocolo de acceso múltiple CSMA/CD. Este protocolo permite hacer lo
siguiente:

Un adaptador puede comenzar a transmitir en cualquier momento

Un adaptador nunca transmite una trama cuando detecta que algún otro adaptador está
transmitiendo

Un adaptador que está transmitiendo aborta su transmisión tan pronto como detecta que otro
adaptador también está transmitiendo.

Antes de intentar llevar a cabo una retransmisión, un adaptador espera un intervalo de tiempo
aleatorio que normalmente es más pequeño que el tiempo que se tarda en transmitir una trama.

El segundo y tercer mecanismo de la lista anterior requieren que los adaptadores de Ethernet sean
capaces de detectar cuándo algún otro adaptador está transmitiendo y detectar una colisión mientras se
está transmitiendo. Los adaptadores de Ethernet realizan estas dos tareas midiendo los niveles de tensión
antes y durante las transmisiones.

Dentro de un adaptador específico, el protocolo CSMA/CD opera de la siguiente forma:

El adaptador obtiene un datagrama de la capa de red, prepara una trama Ethernet y la


coloca en un buffer del adaptador.

Si el adaptador detecta que el canal está inactivo, comienza a transmitir la trama. Si el


adaptador detecta que el canal está ocupado, espera hasta comprobar que no hay
intensidad de señal y luego comienza a transmitir la trama.

Mientras está transmitiendo, el adaptador monitoriza la presencia de señales procedentes


de otros adaptadores. Si el adaptador transmite la trama completa sin detectar ninguna
señal procedente de otros adaptadores, concluye que ha termindado su trabajo con esa
trama.

Si el adaptador detecta intensidad de señal procedente de otros adaptadores mientras está


transmitiendo, deja de transmitir su trama y transmite una señal de interferencia.

Después de abortar la transmisión de la trama (transmitir la señal de interferencia) el


adaptador entra en una fase de espera denominada "espera exponencial" y posteriormente
vuelve al paso 2.

  17
 

3.4. Conmutadores de la capa


5. Mapa de enlace
conceptual

Las redes Etherrnet modernas utilizan una topología en estrella, estando cada nodo conectado a un
conmutador central. La función de un conmutador es recibir las tramas de la capa de enlace entrantes y
reenviarlas a los enlaces de salida. El conmutador es transparente para los nodos; es decir, un nodo dirige
una trama a otro nodo (no al conmutador) y la envía a la LAN sin ser consciente de que un conmutador
recibirá la trama y la reenviará a los demás nodos.

El conmutador realiza una función de filtrado, consistente en determinar si una trama debe ser
reenviada a alguna interfaz o debe ser descartada. También realiza una función de reenvío, con la que
determina las interfaces a las que una trama debe dirigirse y luego envía la trama a esas interfaces.

Las funciones de filtrado y reenvío del conmutador se realizan utilizando la tabla del conmutador. Esta
tabla contiene entradas para algunos nodos de una red LAN (no necesariamente para todos). Una
entrada en la tabla del conmutador contiene:

La dirección MAc de un nodo

La interfaz del conmutador que lleva hacia el nodo

El instante en el que la entrada para el nodo fue incluida en la tabla

Aunque el reenvío de tramas puede parecer muy similar a lo visto en la anterior unidad didáctica sobre el
reenvío de datagramas, hay notables diferencias. Un conmutador reenvía los paquetes basándose en las
direcciones MAC en lugar de en las direcciones IP, por lo que la tabla del conmutador se construye de
forma muy distinta a como se crea la tabla de reenvío de un router.

Supongamos que una trama con la dirección DD-DD-DD-DD-DD-DD llega a la interfaz X del conmutador.
Entonces el conmutador buscará en su tabla la dirección y pueden suceder tres alternativas:

No hay ninguna entrada en la tabla con esa dirección. En ese caso, el conmutador difunde la
trama, es decir, reenvía copias de la trama a los buffers de salida que preceden a todas las
interfaces salvo la interfaz X.

Existe una entrada en la tabla que asocia DD-DD-DD-DD-DD-DD con la interfaz X. En ese caso, la
trama procede de un segmento de la LAN que contiene al adaptador DD-DD-DD-DD-DD-DD. No
existe la necesidad de reenviar la trama a ninguna de las restantes interfaces. El conmutador
lleva a cabo la función de filtrado descartando la trama.

Existe una entrada en la tabla que asocia DD-DD-DD-DD-DD-DD con la interfaz Y. En ese caso,
la trama tiene que ser reenviada al segmento de la LAN conectado a la interfaz Y. El conmutador
lleva a cabo su función de reenvío colocando la trama en un buffer de salida que precede a la
interfaz Y.

Por ejemplo, miremos la figura siguiente y supongamos que una trama con la dirección de destino 62-FE-
F7-11-89-A3 llega al conmutador desde la interfaz 1.

  18
 

5. Mapa conceptual

Supongamos que una parte en la tabla del conmutador es la siguiente:

DIRECCIÓN INTERFA HOR


Z A
62-FE-F7-11-89-A3 1 11:2
5
F7-BA-B2-B4-91-10 2 11:29

.............................. ...... ........


.

El conmutador examina su tabla y ve que el destino está en el segmento de LAN conectado a la interfaz
1. Esto significa que la trama ha sido difundida en el segmento de LAN que contiene el destino. Por tanto,
el conmutador filtra la trama y la descarta.

Supongamos ahora que una trama con la misma dirección de destino llega a la interfaz 2. De nuevo, el
conmutador examina su tabla y ve que el destino está en la dirección de interfaz 1. Entonces realizará la
función de reenvío de la trama hacia el destino sin llevar a cabo ninguna difusión.

  19
 

5. Mapa conceptual

4.1. Conmutadores VLAN

Un conmutador compatible con redes de área local virtuales o VLAN (Virtual Local Area Network)
permite definir múltiples redes de área local virtuales sobre una única infraestructura física. Los hosts de
una VLAN se comunican entre sí como si sólo elllos estuvieran conectados al conmutador. En una VLAN
basada en puertos, el administrador de la red divide los puertos (interfaces) del conmutador en grupos.
Cada grupo constituye una VLAN, con los puertos de cada VLAN formando un dominio de difusión, lo que
quiere decir que el tráfico de difusión de un puerto sólo puede llegar a los demás puertos del grupo.

La figura muestra un único conmutador con 16 puertos. Los puertos 2 a 8 pertenecen a la VLAN del
departamento de Ingeniería Informática y los puertos 9 a 15 pertenecen a la VLAN del departamento de
Ingeniería Industrial. Los puertos 1 y 16 no están asignados.

Supongamos que en este mismo ejemplo nos encontramos con que algunos de los equipos de Ingeniería
Informática están situados en otro edificio diferente, donde necesitan tener acceso a la red y formar parte
de la VLAN de su departamento (lo mismo ocurre con los de Ingeniería Industrial). Para solucionar esto,
se puede utilizar un segundo conmutador, donde los puertos se definirán como pertenecientes a una u
otra VLAN, según sea necesario. Para ello se interconectan los conmutadores VLAN utilizando la
técnica de troncalización VLAN (VLAN trunking). Con esta técnica, un puerto especial de cada
conmutador (puertos 1 y 16) se configuran como puertos de interconexión de conmutadores VLAN. El
puerto troncal pertenece a todas las VLAN y las tramas enviadas a cualquier VLAN son reenviadas a
través del enlace troncal hacia el oro conmutador.

  20
 

3.5. PPP:5.
Protocolo
Mapa punto a punto
conceptual

PPP es un protocolo de la capa de enlace para los enlaces punto a punto. PPP es típicamente el
protocolo usado para un enlace de acceso telefónico de un host residencial, el elegido por los usuarios
domésticos para conectarse con sus ISP a través de una conexión de acceso telefónico. Un enlace punto a
punto es un enlace que conecta directamente dos nodos situados cada uno de ellos en un extremo del
enlace.

Los requisitos originales que se establecieron en el diseño de PPP fueron:

Entramado de paquetes: el emisor de la capa de enlace del protocolo PPP tiene que poder
tomar un paquete de nivel de red y encapsularlo dentro de la trama de la capa de enlace PPP de
tal modo que el receptor sea capaz de identificar el inicio y final tanto de la trama de la capa de
enlace como del paquete de la capa de red contenido en ella.

Transparencia: El protocolo PPP no debe aplicar ninguna restricción a los datos que aparecen en
el paquete de la capa de red.

Múltiples protocolos de la capa de red: El protocolo PPP tiene que poder dar soporte a
distintos protocolos de la capa de red que se ejecuten sobre el mismo enlace físico de forma
simultánea.

Múltiples tipos de enlaces: PPP tiene que poder operar sobre una amplia variedad de tipos de
enlaces, incluyendo enlaces serie (transmiten un bit cada vez en una dirección), paralelo
(transmiten varios bits en paralelo), síncronos (transmiten bit con una señal de reloj),
asíncronos, de alta velocidad, de baja velocidad, eléctricos u ópticos.

Detección de errores: Un receptor PPP tiene que ser capaz de detectar errores de bit en las
tramas recibidas

Pervivencia de la conexión: PPP tiene que ser capaz de detectar un fallo en el nivel de enlace
y comunicárselo a la capa de red

Negociación de direcciones de la capa de red: PPP tiene que proprocionar un mecanismo


para que las capas de red que se están comunicando puedan configurar las direcciones de la capa
de red de cada una de ellas.

Esos requisitos de diseño también especificaban que el protocolo PPP no tendría que implementar
corrección de errores, ni control de flujo ni enlaces multipunto.

  21
 

5.3.5.1.
Mapa conceptual
Trama de datos PPP

La trama de datos PPP consta de los siguientes campos:

Suma de
Indicador Dirección Control Protocolo Información Indicador
comprobación

Indicador (1 byte): Todas las tramas PPP comienzan y terminan con un campo indicador, cuyo
valor es 01111110

Dirección (1 byte): El único valor posible en este campo es 11111111

Control (1 byte): El único valor posible en esete campo es 00000011

Protocolo (1 o 2 bytes): Indica al receptor PPP el protocolo de la capa superior al que pertenecen
los datos encapsulados recibidos, es decir, el contenido del campo de información de la trama
PPP. Al recibir una trama PPP, el receptor comprobará si la trama es correcta y luego pasará los
datos encapsulados al protocolo apropiado. Por ejemplo, el protocolo IP tiene un valor hexadecimal
de 21.

Información: Este campo contiene el paquete (datos) encapsulado que está siendo enviado por
un protocolo de la capa superior sobre el enlace PPP. La longitud máxima de este campo es por
defecto de 1500 bytes.

Suma de comprobación: Este campo se utiliza para detectar errores de bit en una trama
transmitida.

  22
 

5. Mapa 4.
conceptual
Resumen

Para transferir un datagrama desde un host


de origen a uno de destino, debe moverse a
través de cada uno de los enlaces individuales
que forman la ruta terminal a terminal. En
un determinado enlace, un nodo transmisor
encapsula el datagrama en una trama de la
capa de enlace y transmite la trama a través
del enlace; el nodo receptor recibe entonces
la trama y extrae el datagrama. El protocolo
de la capa de enlace define el formato de los
paquetes intercambiados por los nodos
situados en los extremos de los enlaces, así
como las acciones que estos nodos llevan a
cabo cuando se envían y reciben paquetes.

El servicio básico proporcionado por la capa de enlace consiste en mover un datagrama desde un nodo
hasta otro adyacente a través de un único enlace de comunicaciones. Este servicio puede ser
acompañado por otros servicios que proporciona un protocolo de la capa de enlace, como el
entramado, la entrega fiable, el control de flujo, la detección y corrección de errores y la transmisión full-
duplex o semiduplex.

En un host la capa de enlace se implementa fundamentalmente por hardware, con un adaptador de


red o tarjeta de interfaz de red. Su núcleo es el controlador de la capa de enlace. También hay una
parte de la capa de enlace que se implementa por software que se ejecuta en CPU del host, y realiza
tareas como la recepción del datagrama desde la capa de red, el ensamblado de la información de
direccionamiento de la capa de enlace y la activación del hardware del controlador. En el lado del receptor,
el software se encarga de gestionar las condiciones de error y pasa el datagrama hacia la capa de red.

Existen dos tipos de enlaces de red: enlaces punto a punto (compuestos por un único emisor en un
extremo y un único receptor en el otro) y enlaces de difusión (que pueden tener múltiples nodos
emisores y receptores, todos conectados al mismo y único canal de difusión compartido).

Los nodos (hosts y routers) tienen direcciones de la capa de enlace, además de las direcciones IP de
la capa de red. A estas direcciones de la capa de enlace se las denomina direcciones MAC, y se expresan
en notación hexadecimal. La traducción de direcciones IP a direcciones MAC en Internet la realiza el
protocolo de resolución de direcciones ARP. Cada nodo de una LAN tiene una dirección IP y cada
adaptador de un nodo tiene una dirección MAC.

Ethernet es una red LAN cableada. Desde su aparición a mediados de la década de 1970 hasta nuestros
días ha ido evolucionando y creciendo, siendo actualmente la tecnología para redes LAN cableadas
predominante. Dado que Ethernet puede emplear comunicación por difusión, necesita un protocolo de
acceso múltiple. Ethernet utiliza el protocolo de acceso múltiple CSMA/CD.

Las redes Etherrnet modernas utilizan una topología en estrella, estando cada nodo conectado a un
conmutador central, que recibe las tramas de la capa de enlace entrantes y las reenvía a los enlaces de
salida. El conmutador utiliza una tabla de conmutador para realizar una función de filtrado, consistente
en determinar si una trama debe ser reenviada a alguna interfaz o debe ser descartada y una función de
reenvío, con la que determina las interfaces a las que una trama debe dirigirse y luego envía la trama a
esas interfaces.

  23
 

5. Mapa conceptual

Un conmutador compatible con redes de área local virtuales o VLAN permite definir múltiples redes
de área local virtuales sobre una única infraestructura física. Los hosts de una VLAN se comunican entre
sí como si sólo elllos estuvieran conectados al conmutador.

PPP es un protocolo de la capa de enlace para los enlaces punto a punto usado normalmente por los
usuarios domésticos para conectarse con sus ISP a través de una conexión de acceso telefónico. PPP no
implementa corrección de errores, control de flujo ni enlaces multipunto.

  24
 

5. Mapa conceptual

  25
 
5. Mapa conceptual

Unidad Didáctica 6: Seguridad en las redes de computadoras


2. Estudio de caso

3. Desarrollo de contenidos
3.1. Introducción
3.2. Principios de la criptografía
3.2.1. Criptografía de clave simétrica

3.2.2. Cifrado de clave pública


3.3. Firmas digitales

3.4. Autenticación de puntos terminales

3.5. Seguridad operacional

3.5.1. Cortafuegos

3.5.2. Sistemas de detección de intrusiones

4. Resumen
5. Mapa conceptual
6. Mediateca y fuentes

  2
6
 

5. Mapa conceptual
Unidad Didáctica 6: Seguridad en las

  2
7
 

5.2.Mapa
Estudio
conceptual
de caso

  2
8
 

3. Desarrollo
5. Mapa
de contenidos
conceptual

1. Introducción
2. Principios de la
criptografía

3. Firmas digitales

4. Autenticación de
puntos terminales

5. Seguridad operacional

  2
9
 

3.1.conceptual
5. Mapa Introducción

Dada la frecuencia y variedad de ataques existentes en la red, así como la amenaza de


nuevos y más destructivos ataques futuros, la seguridad de las redes es un aspecto
fundamental en el campo de las redes de comunicaciones en los últimos años. Al hablar de
seguridad en las redes de computadoras nos estamos refiriendo a que podamos realizar una
comunicación segura entre dos entidades (que pueden ser dos hosts o dos routers
intercambiando información). Sin embargo el término seguridad puede tener muchas caras,
es decir, entenderse de distintas formas diferentes. En general, lo que se desea al establecer
esa comunicación entre dos entidades es que el contenido de sus comunicaciones sea secreto
y que nadie pueda conocerlo. Además, es muy probable que ambas entidades deseen estar
seguras de que cuando están manteniendo una comunicación, realmente se estén
comunicando el uno con el otro, y los mensajes entre ambos no sean alterados; en caso de
que la comunicación sea alterada por un tercero, desearán poder detectar esa alteración.
Teniendo en cuenta estas consideraciones iniciales, podemos identificar las siguientes
propiedades como deseables en una comunicación segura:

Confidencialidad: Sólo el emisor y el receptor deseado deberán comprender el


contenido de los mensajes transmitidos. Puesto que los "curiosos" o "intrusos"
pueden interceptar los mensajes, es necesario que dichos mensajes sean
cifrados, de modo que un mensaje interceptado no pueda ser comprendido por
el que lo ha interceptado. La confidencialidad es probablemente el aspecto más
comúnmente percibido del término "comunicación segura".

Autenticación del punto terminal: Tanto el emisor como el receptor deberán


poder confirmar la identidad del otro en el proceso de comunicación, es decir,
confirmar que el otro es realmente quién dice ser. Por ejemplo ¿por qué alguien
debería creerse que un mensaje de correo electrónico recibido de un amigo
procede realmente de ese amigo?

Integridad del mensaje: Incluso una vez que el emisor y el receptor hayan
sido capaces de autenticarse entre sí, querrán estar seguros de que el contenido
de sus comunicaciones no ha sido alterado durante la transmisión, ni por
accidente ni de forma maliciosa. Se suelen utilizar extensiones a las técnicas de
suma de comprobación que se realiza en los protocolos de transporte y enlace
de datos para proporcionar integridad a los mensajes.

Seguridad operacional: Casi todas las organizaciones, empresas,


universidades, etc disponen de redes que están conectadas a la red pública
Internet. Estas redes pueden ser accedidas potencialmente desde el exterior a
través de Internet, mediante distintos tipos de ataques a la red. Para evitar esto
se utilizan dispositivos operacionales como los cortafuegos y los sistemas de
detección de intrusiones. Un cortafuegos se coloca entre la red de la
organización y la red pública para controlar el acceso de paquetes; un sistema
de detección de intrusiones realiza una inspección profunda de los paquetes
alertando cuando detecta alguna actividad sospechosa.

  3
0
 

5. Mapa conceptual

Supongamos esta situación representada en la figura: Un emisor desea enviar datos a un receptor.
Pudieran ser dos usuarios intercambiando mensajes de correo electrónico, o un usuario teniendo que
transferir el número de su tarjeta de crédito a un servidor web para hacer una compra online. Para
intercambiar datos de forma segura y poder cumplir los requisitos de confidencialidad, autenticación del
punto terminal e integridad de los mensajes. Emisor y receptor intercambian mensajes de control y
mensajes de datos (similar a como los emisores y receptores TCP que intercambian segmentos de control
y segmentos de datos). Normalmente, todos o algunos de estos mensajes serán cifrados.

Potencialmente un intruso puede curiosear, es decir, husmear y registrar los mensajes de control y de
datos que se transmiten por el canal. También puede modificar, insertar o borrar mensajes o el contenido
de los mismos. A menos que se tomen las medidas adecuadas, un intruso puede montar una amplia
variedad de ataques contra la seguridad de la red: escuchar las comunicaciones (pudiendo robar
contraseñas o datos), suplantar identidades, piratear una sesión, etc.

  3
1
 

3.2. Principios
5. Mapa de la criptografía
conceptual

Podemos definir la criptografía como una ciencia que hace uso de


métodos y herramientas matemáticas con el objetivo de cifrar, y
por tanto, proteger, un archivo o mensaje por medio de un
algoritmo, usando para ello dos o más claves. Con ello se logra en
algunos casos la confidencialidad, y en otros la autenticación o la Viaja en el tiempo con este
integridad de los mensajes, o varias simultáneamente. vídeo documental sobre
criptografía y los códigos
Las técnicas criptográficas permiten a un emisor ocultar los secretos en la historia.

datos de modo que los intrusos no puedan obtener ninguna ¡Apasionante!


información a partir de los datos interceptados. El receptor deberá
Criptografía y códigos secretos
ser capaz de recuperar los datos originales a partir de los datos
en la historia
ocultados.

Supongamos siguiendo la imagen que Alicia quiere enviar un


mensaje de texto a su amiga Mayte. A estos mensajes se les
conoce como texto plano o texto en claro. Alicia cifra su
mensaje de texto en claro utilizando un algoritmo de cifrado. Al
mensaje cifrado se le conoce como texto cifrado, y es ininteligible
para cualquier intruso. En muchos casos los algoritmos de cifrado
son conocidos de forma pública (incluso para los potenciales intrusos), por lo que es necesario introducir
algún tipo de información secreta que impida al intruso descifrar los datos transmitidos: son las claves.
Así, continuando con la figura, Alicia proporciona una clave KA (una cadena de números o caracteres
como entrada para el algoritmo de cifrado). El algoritmo de cifrado toma la clave y el mensaje de texto en
claro (m), como entrada, y genera el texto cifrado como salida, KA(m). De forma similar, en el destino, el
receptor, Mayte, proporcionará un clave, KB, al algoritmo de descifrado, que toma el texto cifrado y la
clave de Mayte como entrada y genera como salida el texto original en claro.

En otras palabras, si Mayte recibe un mensaje cifrado KA(m), lo descifra realizando el cálculo KB(KA(m))=
m. En los sistemas denominados de clave simétrica, las claves de Alicia y Mayte son idénticas y deben
mantenerse en secreto. En los denominados sistemas de clave pública, se utiliza una pareja de claves
diferentes. Una de las claves es conocida por Alicia y por Mayte (en realidad es conocida por todo el
mundo), mientras que la otra clave solo es conocida por Alicia o por Mayte, pero no por ambos.

  3
2
 

5. Mapadeconceptual
3.2.1. Criptografía clave simétrica

Todos los algoritmos criptográficos implican sustituir una cosa por otra, como por ejemplo sustituir un
fragmento de texto en claro por un texto cifrado.

Antes de tratar sobre un sistema criptográfico moderno vamos a analizar un algoritmo de clave simétrica
muy antiguo y sencillo denominado el código de César. Este código funcionaría tomando cada letra del
mensaje en claro y sustituyéndola por una letra que está k posiciones por detrás en el alfabeto. Por
ejemplo, si k=4, entonces una letra a en el texto claro se convierte en una e en el texto cifrado. La letra
b en el texto claro se convierte en una f en el texto cifrado, y así sucesivamente. Una z en el texto claro
se convierte en una d en el texto cifrado.

Siguiendo el cifrado de César, la frase en texto claro "Hola, Mayte" se convertiría en texto cifrado con
k=4 en "lsoe, pecxi". Realmente no se tardaría mucho en descubrir el significado de esta frase si se sabe
que se ha utilizado el cifrado de César, ya que hay un número pequeño y limitado de posibilidades (tantas
como tenga el alfabeto utilizado).

letras en texto claro a b c d e f g h i j k l m n ñ o p q r s t u v w x yz


letras en texto cifrado (k=4) e f g h i j k l m n ñ o p q r s t u v w x y z a b c d

Una mejora del cifrado de César sería el denominado cifrado monoalfabético, que sustituye cada letra
del alfabeto por otra, pero sin seguir un patrón regular (cada letra del texto claro se sustituye por otra
determinada en el texto cifrado). Usando esta técnica es más dificil de conseguir descifrar el mensaje por
parte de un intruso, ya que hay un número importante de posibles asignaciones de letras; sin embargo,
analizando el idioma podría saberse que hay letras que son las que más frecuentemente aparecen en un
texto tipico en castellano, o que algunos monosilabos aparecen con gran frecuencia, lo que sería una
forma de ir detectando el código monoalfabético utilizado (p.ej.: si el intruso conoce a emisor o receptor
puede comprobar si el nombre de alguno de ellos aparece en el mensaje, y deducir la codificación de las
letras utilizadas en el cifrado, lo que iría reduciendo las posibilidades de conocer todo el resto del mensaje.

letras en texto claro abcde fgh i jk l mnñopqrstuvwxy z


letras en texto cifrado f j n g m o h i v a z w ñ b t r y p u c x q k d e s l

Otra técnica más avanzada, es la denominada cifrado polialfabético, que utiliza varios cifrados
monoalfabéticos, utilizando un cifrado monoalfabético específico para codificar cada letra situada en una
posición específica dentro del mensaje de texto en claro. Así, una misma letra que aparezca en diferentes
posiciones dentro del mensaje en claro se podría codificar de distinta forma cada vez.

En la actualidad existen dos técnicas modernas de cifrado de clave simétrica. Nos centraremos aquí en
el denominado cifrado de bloque, que se emplea en muchos protocolos seguros de Internet, como el
SSL (para dar seguridad a las conexiones TCP), PGP (para correo electrónico seguro) o IPsec (para dar
seguridad al transporte de la capa de red).

  3
3
 

5. Mapa conceptual

En un cifrado de bloque el mensaje que hay que cifrar se descompone en bloques de k bits, y cada
bloque se cifra de forma independiente. Para codificar un bloque, el sistema de cifrado asigna una
correspondencia uno a uno, consiguiendo así para cada bloque de k bits en texto en claro un bloque k bits
en texto cifrado. En este caso el número de correspondencias posibles entre un bloque de texto en claro y
un bloque de texto cifrado será de 2k!. En general, k suele tener un valor de 64 o mayor, lo que supone
cifras astronómicas para que los intrusos intenten realizar un "ataque de fuerza bruta" probando todas
las correspondencias posibles.

En la realidad, implementar estos métodos de cifrado de bloque tal cual es una tarea bastante compleja, y
lo que se suele hacer es utilizar funciones que simulan la generación de tablas aleatoriamente
permutadas. Por ejemplo, si k=64, se puede dividir el bloque de 64 bits de texto claro en 8 bloques de 8
bits y procesarlos de forma independiente, con tablas de correspondencia mucho más manejables. Una
vez realizadas las 8 correspondencias, los 8 fragmentos de salida se recomponen en un texto cifrado de
64 bits, tras una permutación aleatoria de los bits de salida. Esta salida se realimenta hacia la entrada de
64 bits, donde comienza un nuevo ciclo.

En este caso tanto el emisor como el receptor han de conocer la clave, que estará formada por las ocho
tablas de permutación (la función de aleatorización suele ser de dominio público). Ejemplos de cifrado de
bloques son DES (Data Encryption Standard) o AES (Advanced Encryption Standard).

  3
4
 

5. Mapa
3.2.2. conceptual
Cifrado de clave pública

Conceptualmente un sistema de criptografía de clave pública sustituye la idea de que emisor y


receptor compartan una única clave secreta (sistemas de clave simétrica) por la idea de que el receptor
disponga de dos claves: una clave pública disponible para todo el mundo, y una clave privada que
sólo el receptor conoce.

Para establecer una comunicación siguiendo este método, el emisor consulta primero la clave pública del
receptor y luego cifra su mensaje (m) utilizando esa clave pública y un algoritmo de cifrado. El receptor
recibe el mensaje cifrado del emisor y utiliza su clave privada y un algoritmo de descifrado para descifrar
el mensaje enviado por el receptor. De esta manera, emisor y receptor no tienen que compartir ninguna
clave secreta.

Los intrusos podrían obtener el mensaje del emisor, así como la clave de cifrado pública del receptor e
incluso el algoritmo de cifrado utilizado por el emisor. Con esta información podría lanzar diferentes
ataques. Por ello, para que la criptografía de clave pública pueda funcionar, la selección de las claves y el
cifrado/descifrado deben hacerse de tal forma que para un intruso determinar la clave privada del receptor
o descifrar el mensaje enviado por el emisor resulte casi imposible.

Un problema potencial de este método es que cualquiera puede enviar un mensaje cifrado al receptor, ya
que su clave de cifrado es pública, e incluso podrían enviarle mensajes haciéndose pasar por un
determinado emisor. Esto se puede subsanar con el uso de una clave secreta compartida, puesto que
entonces nadie puede enviar un mensaje cifrado al receptor utilizando su clave pública disponible. Es
necesaria una firma digital para vincular a un emisor con un mensaje, como veremos en la próxima
sección.

  10
 

3.3. Firmas
5. Mapa digitales
conceptual

En nuestro mundo digital a menudo surge la necesidad de indicar el propietario o creador de un


documento o de explicitar nuestro acuerdo con el contenido de un documento específico. Una firma
digital es una técnica criptográfica que permite conseguir estos objetivos, validando la identidad del otro
extremo de la comunicación. La firma digital debe realizarse de forma que sea verificable y no falsificable.
Es decir, debe ser posible demostrar que un documento firmado por una persona ha sido, de hecho,
firmado por esa persona (la firma tiene que ser verificable) y que sólo esa persona podría haber firmado el
documento (la firma no puede ser falsificada). La criptografía de clave pública es un candidato excelente
para poder proporcionar un mecanismo de firma digital. Veamos ahora cómo se estructura dicho
mecanismo.

Supongamos que Alicia desea firmar digitalmente un documento, m. Podemos pensar en el documento
como si fuera un archivo o un mensaje que Alicia va a firmar y a enviar. Como se muestra en la figura,
para firmar este documento Alicia utiliza simplemente su clave privada KA-, para calcular KA-(m). ¿Cómo
se puede demostrar que Alicia es quién ha firmado el documento y que es la única persona que puede
haberlo firmado? Pues bien, si tomamos la clave pública de Alicia y se aplica a la firma digital, se obtendra
el documento original. Se entiende que solamente Alicia ha podido firmar el documento por dos razones:
en primer lugar, quién haya firmado el documento tiene que haber utilizado la clave privada de Alicia, que
sólo puede conocer ella (suponiendo que no se la ha proporcionado a nadie y que nadie se la ha robado).

Uno de los problemas con la firma de datos mediante mecanismos de cifrado es que el cifrado y el
descifrado son computacionalmente muy caros. Por ello se suele utilizar una función hash que permite
crear una "huella digital" de longitud fija para un mensaje cualquiera. En este caso Alicia firmaría el valor
hash de un mensaje en lugar del propio mensaje. Puesto que el valor hash será normalmente mucho
más pequeño que el mensaje original, el proceso necesario para generar la firma digital se reduce
sustancialmente.

Una importante aplicación de las firmas digitales es la certificación de clave pública, es decir, certificar que
una clave pública pertenece a una entidad específica. Estas técnicas de certificación de clave pública se
utilizan en muchos protocolos populares de seguridad para las comunicaciones de red.

= En el siguiente vídeo puedes ver una explicación detallada de la creación, funcionamiento y utilidad de
las firmas digitales. ¡no te lo pierdas!

Vídeo: Firma Digital

  11
 

3.4. Autenticación de puntos


5. Mapa terminales
conceptual

La autenticación del punto terminal es el proceso de demostrar a alguien la propia identidad. En la


vida cotidiana, esto lo hacemos de distintas formas, como reconociendo la cara de nuestro interlocutor
cuando le vemos, o reconociendo su voz a través del teléfono, o comparando nuestra cara con la foto de
un dni, por ejemplo. Sin embargo, cuando realizamos una autenticación a través de la red, todo es
diferente, ya que debemos autenticarnos basándonos exclusivamente en mensajes y datos
intercambiados.

Una forma de realizar la autenticación es mediante un número distintivo y una clave pública. Un
número distintivo es un número que un protocolo sólo empleará una vez en toda su vida. Es decir, una
vez que un protocolo utiliza un número distintivo, jamás volverá a usar dicho número (basándose en una
idea similar al protocolo de acuerdo en tres fases de TCP, que utilizaba un número de secuencia inicial que
no hubiera sido utilizado durante un periodo de tiempo muy largo, enviarlo y esperar la respuesta ACK
con dicho número). Así pues, un protocolo natural basado en la criptografía de clave pública sería el
siguiente:

Alicia envía a Mayte el mensaje "soy Alicia"


Mayte selecciona un número distintivo, R, y se lo envía a Alicia. Se utiliza para garantizar que
Alicia está activa.
Alicia utiliza su clave privada, KA-, para cifrar el número distintivo y envía el valor resultante, KA-
(R), a Mayte. Puesto que sólo Alicia conoce su clave privada, nadie excepto ella podrá generar KA-
(R).
Mayte aplica la clave pública de Alicia, KA+ al mensaje recibido. Es decir, que obtiene R y así
autentica a Alicia (dado que KA+(KA-(R)) = R)).

  12
 

5. Mapa conceptual

Pero ¿es éste protocolo seguro? Dado que Mayte tiene que consultar la clave pública de Alicia, podría
suceder que un intruso pudiera ser capaz de hacerse pasar por Alicia ante Mayte. Veamos la situación:

El intruso envía a Mayte el mensaje "soy Alicia"


Mayte selecciona un número distintivo, R, y se lo envía a Alicia, pero el mensaje es interceptado
por el intruso
- -
Alicia utiliza su clave privada, KI , para cifrar el número distintivo y envía el valor resultante, KI
(R), a Mayte.
Mayte debe ahora obtener la clave pública de Alicia para poder aplicar KA+ al mensaje recibido.
Envía un mensaje a Alicia prefuntándola por su clave pública, pero el intruso puede interceptar
+
este mensaje y responder a Mayte con KI , es decir, con la clave pública del intruso. Benito
calcula KI +(KI -(R)) = R, y autentica al intruso como si fuera Alicia.

Teniendo en cuenta esta situación planteada, es evidente que la seguridad de este protocolo de
autenticación de clave pública depende completamente del sistema de distribución de claves públicas.
Afortunadamente podemos utilizar certificados para distribuir claves públicas de forma segura, como ya
hemos mencionado anteriormente.

  13
 

3.5.
5.Seguridad operacional
Mapa conceptual

Desde el punto de vista de un administrador


de red el mundo se divide de forma bastante
nítida en dos bandos: los "buenos", es decir,
aquellos que pertenecen a la red de la
organización y pueden acceder a los
recursos de la misma de una forma poco re

stringida, y los "malos", todos los demás que


quieren acceder a los recursos de la red.

En muchas organizaciones existe un único


punto de entrada y salida donde se hace
la comprobación de seguridad tanto de
los buenos como de los malos que entran y
salen de la organización. En un edificio de
oficinas eso se hace con un control de
seguridad a la entrada. En una red de computadoras eso se realiza en una serie de dispositivos
operacionales conocidos como cortafuegos, sistemas de detección de intrusiones y sistemas de prevención
de intrusiones. Ellos se encargan de comprobar si el tráfico que entra o sale de la red es seguro, registran
ese tráfico y cuándo se elemina o reenvía.

A continuación analizaremos más en profundidad de cada uno de estos dispositivos.

  14
 

5. Mapa3.5.1.
conceptual
Cortafuegos

Un cortafuegos es una combinación de hardware y software que aísla la red interna de la organización
de Internet, permitiendo pasar a algunos paquetes y bloqueando a otros. Un cortafuegos permite a un
administrador de red controlar el acceso entre el mundo exterior y los recursos dentro de la red
administrada, gestionando el flujo de tráfico hacia y desde esos recursos. Un cortafuegos tiene tres
objetivos:

Todo el tráfico que va del exterior hacia el interior de la red, y viceversa, pasa a través
del cortafuegos. Esto facilita la gestión de control de acceso.

Sólo se permite el paso del tráfico autorizado de acuerdo con la política de seguridad local, es
decir, el cortafuegos puede restringir el acceso al tráfico que esté autorizado.

El propio cortafuegos es inmune a la penetración. El propio cortafuegos es un dispositivo


conectado a la red. Si no está diseñado o instalado apropiadamente puede verse comprometido, en
cuyo caso proporcionaría una falsa sensación de seguridad.

Los cortafuegos se pueden clasificar en tres categorías: filtros de paquetes tradicionales, filtros con
memoria del estado y pasarelas de aplicación.

Filtros de paquetes tradicionales: Una organización dispone normalmente de un router


de pasarela que conecta su red interna con su ISP, y por tanto, con Internet. Todo el
tráfico que entra y sale en la red interna pasa a través de este router y allí tiene lugar el
filtrado de paquetes. Un filtro de paquetes examina cada datagrama aisladamente,
determinando si debe pasar o deber ser eliminado, basándose en las reglas especificadas
por el administrador. Las decisiones de filtrado se basan normalmente en: las direcciones IP
de origen o de destino; el tipo de protocolo especificado en el campo de datagrama; el
puerto de origen y de destino TCP o UDP; los bits indicadores TCP como SYN, ACK, etc; el
tipo de mensaje ICMP; las reglas para las distintas interfaces del router. Un administrador
de red configura el cortafuegos basándose en la política de la organización. Por ejemplo, si
la organización no desea permitir ninguna conexión TCP entrante excepto aquellas
destinadas a su servidor web público, puede bloquear todos los segmentos TCP SYN
entrantes, salvo aquellos cuyo puerto de destino sea el puerto 80 y cuya dirección IP de
destino sea la correspondiente al servidor web. Las reglas de cortafuegos se
implementan en los routers mediante listas de control de acceso, teniendo cada interfaz
del router su propia lista.

  15
 

5. Mapa conceptual

Filtros de paquetes con memoria de estado: En este caso los filtros controlan las
conexiones TCP y utilizan dicha información para tomar las decisiones de filtrado. Así,
almacenan información de todas las conexiones TCP activas en una tabla de conexiones.
Para ello tienen en cuenta cada acuerdo en tres fases TCP y observan el final de la conexión
cuando esta se produce con un paquete FIN de la conexión. El cortafuegos también puede
suponer que la conexión ha terminado transcurrido un tiempo determinado.

Pasarelas de aplicación: Para conseguir seguridad con un nivel de granularidad


más fino, los cortafuegos deben combinar los filtros de paquetes con pasarelas de
aplicación. Las pasarelas de aplicación miran más allá de las cabeceras TCP, IP o UDP y
toman sus decisiones basándose en los datos de aplicación. Una pasarela de aplicación
es un servidor específico de aplicación a través del cual deben pasar todos los datos de
aplicación (entrantes y salientes). Pueden ejecutarse varias aplicaciones de pasarela sobre
un mismo host, pero cada pasarela es un servidor separado con sus propios procesos.

  16
 

3.5.2. Sistemas5.
de Mapa
detecciónconceptual
de intrusiones

Como ya hemos visto, un filtro de paquetes inspecciona los


campos de cabecera de un protocolo para decidir que
paquetes deben pasar a través del cortafuegos. Sin
embargo, para detectar muchos tipos de ataques
necesitamos llevar a cabo una inspección profunda de
paquetes, es decir, mirar más allá de los campos de
Investiga sobre los tipos de ataques cabecera examinando los propios datos de aplicación
más comunes que se pueden realizar transportados por los paquetes. Las pasarelas de aplicación
sobre una red de computadoras a realizan una inspección profunda de los paquetes, pero cada
través de Internet.
una de ellas sólo lleva a cabo esa tarea para una aplicación
Elige UNO de esos tipos de ataques y específica. Por ello existen otros dispositivos capaces no sólo
comenta en el foro en qué consiste,
de examinar las cabeceras de todos los paquetes que le
qué efectos puede provocar y si
existe alguna forma de detectarlo o atraviesan, sino también de realizar una inspección
prevenirlo. profunda de los paquetes. Cuando estos dispositivos
detecten un paquete sospechoso o una serie sospechosa de
paquetes puede impedir que esos paquetes entren en la red
de la organización. También podrían dejar pasar los
paquetes pero enviando alertas al administrador de red, que
puede de esa manera echar un vistazo más detallado a
dicho tráfico y tomar las medidas oportunas.

Un dispositivo que genere alertas cuando observe la presencia de tráfico potencialmente malicioso se
denomina Sistema de detección de instrusiones o IDS (Intrusion Detection System). Un dispositivo
que filtre el tráfico sospechoso se denomina Sistema de prevención de intrusiones o IPS (Intrusion
Prevention System).

Estos dispositivos pueden emplearse para detectar una amplia gama de ataques, incluyendo los de
mapeado de red, escaneado de puertos, ataques de inundación del ancho de banda, gusanos, virus,
ataques de vulnerabilidad del sistema operativo o ataques de vulnerabilidad de aplicaciones. Una
organización puede implantar uno o más dispositivos IDS o IPS en su red. Por ejemplo, en la figura se
puede observar una organización con tres IDS. Cuando se implantan varios, normalmente funcionan de
forma concertada, enviando información de las actividades de tráfico sospechoso a un procesador IDS
central que copila e integra la información y envía alarmas a los administradores de la red cuando lo
considera apropiado. En la figura, la organización está dividida en dos regiones: una de alta seguridad
protegida por un filtro de paquetes y una pasarela de aplicación y monitorizada por dispositivos IDS, y una
región de menor seguridad que está protegida solo por el filtro de paquetes, aunque también
monitorizada por sensores IDS.

  17
 

5. Mapa 4.
conceptual
Resumen

Una comunicación segura ha de tener cuatro propiedades


fundamentales: Confidencialidad, autenticación del punto terminal,
integridad del mensaje y seguridad operacional.

La confidencialidad ha de conseguir que mediante el cifrado de


mensajes que el emisor y el receptor sean los únicos que entiendan el
contenido de los mensajes transmitidos.

La autenticación del punto terminal consiste en la identificación del otro


extremo de la comunicación.

La integridad de mensaje confirma que el mensaje recibido es el mismo


que envió el emisor.

Para conseguir estos objetivos en una comunicación segura se utilizan


técnicas de criptografía, destacando las técnicas de criptografía de clave
simétrica, donde emisor y receptor comparten una clave para cifrar y
descifrar los mensajes, y las técnicas de cifrado de clave pública,
donde emisor y receptor comparten una clave pública, pero cada uno
tiene su propia clave privada.

Para la autenticación de los puntos terminales una de las técnicas


más comunes es la utilización de un número distintivo y de una clave
pública, basándose en el concepto de establecimiento de la conexión de
tres fases que realiza el protocolo TCP.

La firma digital es una técnica criptográfica que permite verificar que un


documento firmado por una persona ha sido verdaderamente firmado por
esa persona. Para ello suele utilizar funciones hash que crean huellas
digitales de longitud fija para mensajes de cualquier longitud, por grande
que sea ésta. Entre sus aplicaciones más importantes está la certificación
de clave pública.

  18
 

Por último, en cuanto a la seguridad operacional, ésta hace referencia

5. Mapa conceptual
a los dispositivos utilizados para impedir que desde Internet se pueda
atacar a la red de una organización. Los principales dispositivos utilizados
son los cortafuegos y los sistemas de prevención y detección de
intrusiones. Normalmente una organización utiliza varios de estos
dispositivos funcionando de forma simultánea.

Los cortafuegos son una combinación de hardware y software que aísla


la red interna de una organización, de tal forma que todo el tráfico que va
del exterior hacia el interior de red y viceversa pasa a través suyo, no
permitiendo el paso del tráfico no autorizado y siendo inmune a cualquier
penetración. Existen tres tipos fundamentales de cortafuegos:
de filtrado de paquetes tradicional, de filtrado de paquetes con
memoria de estado y pasarelas de aplicación, siendo éstas últimas las
que consiguen un nivel de seguridad de grado más fino.

Los sistemas de detección de intrusiones son capaces de generar


alertas cuando observan la presencia de tráfico potencialmente malicioso.
Los sistemas de prevención de intrusiones, por su parte, son capaces
de filtrar el tráfico sospechoso.

  19
 
6. Mediateca y fuentes

5. Mapa conceptual

  20
 
6. Mediateca y fuentes

  21

Вам также может понравиться