Академический Документы
Профессиональный Документы
Культура Документы
2. Estudio de caso
3. Desarrollo de contenidos
3.1 Conceptos básicos
Por la escala
Por la topología
3.1.3 Protocolos y servicios
3.3.1. ARPAnet
4. Resumen
5. Mapa conceptual
6. Mediateca y fuentes
1
2
3.1.1 Componentes de una red
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.
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:
5
Por la tecnología de transmisión
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
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
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:
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á.
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.
14
3.2 Arquitectura en capas
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.
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
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 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.
19
3.3 Historia de las redes e Internet
20
3.3.1. ARPAnet
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.
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.
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.
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:
¡Disfrútalo!
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.
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
3.2.4. Cookies
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
Web y HTTP
FTP
Correo electrónico
DNS
3
0
5. Mapa conceptual
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.
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.
Arquitectura cliente-servidor:
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
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).
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.
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
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
Seguridad
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:
12
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
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
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
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.
16
5. Mapa conceptual
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.
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
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.
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.
Especificaciones HTTP
19
5. Mapa conceptual
Línea de estado: Es la primera línea del mensaje, y consta de tres campos: versión, código de estado y
frase.
Líneas de cabecera: Pueden aparecer varias en el mensaje con distintas informaciones y propósitos.
Analicemos las que aparecen en el ejemplo:
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
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.
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.
Estas aplicaciones de las cookies son consideradas por muchos una intromisión de la intimidad del
usuario.
23
5. Mapa conceptual
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.
FTP utiliza dos conexiones TCP paralelas para transferir archivos, una conexión
de control y una conexión de datos.
24
5. Mapa conceptual
25
5. Mapa conceptual
26
5. Mapa conceptual
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.
COMANDO Utilidad
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.
Especificaciones FTP
27
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.
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.
28
5. Mapa conceptual
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
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
Protocolo SMTP
Protocolo POP3
Protocolo IMAP
31
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.
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
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:
31
5. Mapa conceptual
Así pues, el proceso ya más completo sería similar a éste:
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)
32
5. Mapa conceptual
Coméntalo en el Foro
33
5. Mapa conceptual
4.
5.
6. Resumen
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.
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.
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 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
2. Estudio de caso
3. Desarrollo de contenidos
3.1. Relación entre capa de transporte y capa de red
3
7
5. Mapa conceptual
¡Bienvenidos/as a la tercera unidad didáctica de Redes de Computadores, con la que llegamos al ecuador
de los contenidos de esta asignatura!.
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.
3
8
2. Estudio de caso
3
9
3. Desarrollo de contenidos
Multiplexación y demultiplexación
El protocolo UDP
El protocolo TCP
4
0
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
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
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
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
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.
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.
9
3.3.2. Con conexión (TCP)
• 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.
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
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 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.
13
3.4.1. Estructura de los segmentos TCP
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.
SYN se utiliza para indicar que se desea establecer una conexión con otro host.
14
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:
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
17
3.4.3. Transferencia de datos fiable
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.
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
20
4. Resumen
21
5. Mapa conceptual
22
5. Mapa conceptual
en un circuito virtual
3.2.2. Redes de datagramas
4. Resumen
5. Mapa conceptual
6. Mediateca y fuentes
2
3
5. Mapa conceptual
2
4
5. Mapa conceptual
Desarrollo de
contenidos
Introducción
Los routers
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:
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
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
Analogía cotidiana
Supongamos que queremos hacer un viaje en coche entre dos ciudades, por
ejemplo 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.
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.
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:
Además, a un flujo de paquetes entre un origen y un destino podrían ofrecérsele los siguientes servicios:
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
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
una ruta (es decir, una serie de enlaces y routers) entre los hosts de origen y de destino
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.
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
12
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
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.
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
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.
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
21
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.
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
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.
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.
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.
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.
21
5. Mapa conceptual
22
5. Mapa conceptual
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.
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
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.
Terminología NAT
29
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.
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:
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.
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.
31
5. Mapa conceptual
Longitud de la carga útil (16 bits): Es la longitud en bytes del datagrama, sin incluir la cabecera.
32
5. Mapa conceptual
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.
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.
enrutamiento.
5. Mapa conceptual
30
5. Mapa conceptual
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
3.1. Introducción
3.1.1. Servicios de la capa de enlace
3.3. Ethernet
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
3
6
3.1.conceptual
5. Mapa Introducción
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.
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.
Corrección de errores: Similar al anterior, salvo que el receptor además de detectar los bits
erróneos y los corrige.
3
9
5. Mapa
3.1.2. Implementación de laconceptual
capa de enlace
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
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
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:
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,
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.
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.
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.
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.
15
5. Mapa
3.3.1. Estructura conceptual
de la trama de Ethernet
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 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 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.
17
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:
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
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
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.
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
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
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
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
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.
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
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.5.1. Cortafuegos
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
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.
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
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).
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.
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
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
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!
11
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:
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:
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
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.
Los cortafuegos se pueden clasificar en tres categorías: filtros de paquetes tradicionales, filtros con
memoria del estado y pasarelas de aplicación.
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.
16
3.5.2. Sistemas5.
de Mapa
detecciónconceptual
de intrusiones
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
18
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.
19
6. Mediateca y fuentes
5. Mapa conceptual
20
6. Mediateca y fuentes
21