Académique Documents
Professionnel Documents
Culture Documents
Ingeniero en Informática por la Uni- Ingeniero y doctorando en Informá- Ingeniera en Informática, diploma
versidad Politécnica de Cataluña tica, y consultor de los Estudios de de estudios avanzados por la UPC y
(UPC) y doctor en Sociedad de la In- Informática, Multimedia y Teleco- doctora por la Universidad Pompeu
formación por la Universitat Oberta municación de la UOC. Fabra (UPF). Actualmente, es con-
de Catalunya (UOC). Actualmente, sultora de los Estudios de Informáti-
es profesor de los Estudios de Infor- ca, Multimedia y Telecomunicación
mática, Multimedia y Telecomunica- en la UOC.
ción de la UOC.
Ninguna parte de esta publicación, incluido el diseño general y la cubierta, puede ser copiada,
reproducida, almacenada o transmitida de ninguna forma, ni por ningún medio, sea éste eléctrico,
químico, mecánico, óptico, grabación, fotocopia, o cualquier otro, sin la previa autorización escrita
de los titulares del copyright.
© FUOC • PID_00147720 3 Redes multimedia
Introducción
El enfoque es, pues, de arriba abajo; se crea así un esbozo de los conceptos más
próximos al hardware y se pone el énfasis en los niveles de transporte y de red
primordiales para el funcionamiento de Internet.
Cabe señalar que este curso pretende introducir el concepto de red y dar una
visión general del funcionamiento de ésta. Por lo tanto, quedan fuera muchos
conceptos que son primordiales también para entender el funcionamiento real
de una red y que no han podido ser incluidos por limitaciones de espacio.
De esta manera, se anima a los lectores más interesados en ampliar su conoci-
miento de las redes que consulten la bibliografía recomendada.
© FUOC • PID_00147720 4 Redes multimedia
Objetivos
3. Tener una visión general de los conceptos de seguridad en la Red que per-
miten asegurar las comunicaciones, así como evitar un uso indebido de
la información.
Contenidos
Módulo didáctico 1
Conceptos de redes de computadores
Xavier Vilajosana Guillén
1. Conceptos de redes y comunicaciones en Internet
2. Qué es Internet y qué es un protocolo
3. Hardware de red
4. Dispositivos de red
5. Software de red
6. Jerarquía de protocolos y cabecera
7. Interfaces y servicios
8. Modelos de referencia
9. Breve historia de las comunicaciones
Módulo didáctico 2
Las capas de la red de computadores
Xavier Vilajosana Guillén
1. El nivel de transporte
2. El nivel de red
3. El enlace de datos y el control de acceso al medio
4. El nivel físico
Módulo didáctico 3
Seguridad en la red
Xavier Vilajosana Guillén
1. Cortafuegos
2. Redes privadas virtuales
3. Introducción a la criptografía
4. Certificados digitales
5. Seguridad en la red
Módulo didáctico 4
El nivel de aplicación
Joan Manuel Marqués Puig y Silvia Llorente Viejo
1. Arquitecturas de aplicaciones distribuidas
2. DNS: Servicio de nombres en Internet
3. La web y el HTTP
4. Transferencia de ficheros
5. Correo electrónico en Internet
6. Aplicaciones de igual a igual para la compartición de ficheros
7. Mensajería instantánea
8. Telnet y Secure Shell: acceso a ordenadores remotos
9. Aplicaciones multimedia en red
10. Streaming de audio y vídeo almacenados
© FUOC • PID_00147720 6 Redes multimedia
Módulo didáctico 5
Comunicaciones inalámbricas
Miquel Font Rosselló
1. Sistemas de comunicación de la telefonía móvil
2. Redes inalámbricas
Conceptos
de redes de
computadores
Xavier Vilajosana Guillén
PID_00147725
© FUOC • PID_00147725 Conceptos de redes de computadores
Ninguna parte de esta publicación, incluido el diseño general y la cubierta, puede ser copiada,
reproducida, almacenada o transmitida de ninguna forma, ni por ningún medio, sea éste eléctrico,
químico, mecánico, óptico, grabación, fotocopia, o cualquier otro, sin la previa autorización escrita
de los titulares del copyright.
© FUOC • PID_00147725 Conceptos de redes de computadores
Índice
Introducción............................................................................................... 5
Objetivos....................................................................................................... 6
3. Hardware de red................................................................................ 9
3.1. Topologías de red ........................................................................ 9
3.2. Tipo de conmutación .................................................................. 10
3.2.1. Conmutación de circuitos ............................................. 10
3.2.2. Conmutación de paquetes ............................................. 11
3.2.3. Conmutación de paquetes con circuito virtual ............. 14
3.3. Alcance de las redes .................................................................... 15
3.3.1. Redes de gran alcance ................................................... 16
3.3.2. Redes de área local ........................................................ 16
3.4. Tecnologías de red ...................................................................... 16
3.4.1. Tecnologías de red cableada .......................................... 17
3.4.2. Tecnologías de red sin hilos .......................................... 17
4. Dispositivos de red............................................................................ 19
5. Software de red.................................................................................. 21
5.1. Arquitectura de la red: diseño por capas .................................... 22
5.2. Consideraciones de diseño ......................................................... 25
7. Interfaces y servicios......................................................................... 29
7.1. Tipo de conexión de servicios .................................................... 33
8. Modelos de referencia....................................................................... 35
8.1. Necesidad de estandarización ..................................................... 35
8.2. El modelo de referencia OSI ....................................................... 36
8.2.1. Proceso de encapsulación y desencapsulación .............. 38
8.3. Modelo TCP/IP ............................................................................ 39
8.3.1. Encapsulación de la información en el modelo
TCP/IP ............................................................................ 41
8.4. Modelo OSI comparado con modelo TCP/IP .............................. 42
© FUOC • PID_00147725 Conceptos de redes de computadores
Resumen....................................................................................................... 56
Bibliografía................................................................................................. 59
© FUOC • PID_00147725 5 Conceptos de redes de computadores
Introducción
Objetivos
Al finalizar el estudio de este módulo, tendréis que haber alcanzado los obje-
tivos siguientes:
Conectividad en Internet
© FUOC • PID_00147725 9 Conceptos de redes de computadores
3. Hardware de red
Las redes actuales están formadas por tres tipos de entidades: los equipos fi-
nales (hosts), los equipos intermedios (conmutadores o routers) y los enlaces
(links) que unen los equipos finales y los routers entre sí.
• Anillo. Como muestra la figura, una topología en anillo está formada por
un enlace que forma un bucle, de manera que cada estación está conectada
al anillo a través de dos enlaces, el de entrada y el de salida. Generalmente,
cuando la estación emisora recibe su propio paquete lo elimina de la red.
• Estrella. Esta topología está formada por un nodo central, que actúa como
nodo intermedio de la red (conmutador o router) y es el que gestiona el
envío y la recepción de los datos; el resto de las estaciones se conectan a
este nodo principal.
petición al nodo siguiente. Este otro nodo hará lo mismo hacia el siguiente, y
así hasta llegar al destino final. A medida que se va formando el circuito, cada
nodo intermedio verifica que haya bastantes recursos para establecerlo, y, en
el caso de que no sea así, se aborta la petición de circuito. Por el contrario, en el
caso de que el establecimiento sea viable, una vez llegado al destino, éste en-
viará una señal al origen para hacerle saber que ya puede enviar información.
Como se puede ver en la figura, las líneas tienen una cierta inclinación, lo que indica
el tiempo de propagación de la señal, mientras que el grueso de cada bloque indica el
tiempo de transmisión necesario para enviarla. Inicialmente, en el establecimiento del
circuito cada equipo intermedio tiene que procesar la señal y enviarla al siguiente nodo;
por eso, antes de enviarla se tiene que esperar a tener toda la información del circuito.
Que una vez establecida, ya puede funcionar de extremo a extremo de forma transparente
y sin más retardos adicionales de los nodos intermedios.
(1)
Una clasificación bastante clásica de las redes es la que se hace en función de su En inglés, Wide Area Networks
(WAN).
alcance, aunque, dependiendo del entorno, esta clasificación puede cambiar.
Generalmente se consideran dos categorías: las redes de gran alcance1 y las (2)
En inglés, Local Area Networks
2 (LAN).
redes de alcance local .
Antes de detallar qué son las LAN y las WAN es conveniente introducir en Otras categorías de redes
Entre otras cosas, una red de difusión comporta serios problemas de privaci-
dad; por eso, en este tipo de redes es recomendable utilizar mecanismos de
cifrado en las conexiones, como, por ejemplo, en las redes sin hilos.
Hay que señalar que con las comunicaciones bidireccionales la velocidad pue-
de ser igual (conexión simétrica) o diferente dependiendo del sentido de la
comunicación (conexión asimétrica).
© FUOC • PID_00147725 16 Conceptos de redes de computadores
(3)
Redes de gran alcance3 se consideran aquellas que se utilizan en espacios geo- En inglés, Wide Area Networks
(WAN).
gráficos extensos. Generalmente, las WAN se encargan de la interconexión de
las LAN, facilitando así la conexión de los usuarios de diferentes localizacio-
nes. La transmisión de datos se suele hacer mediante grandes operadoras de
comunicaciones con líneas de comunicación contratadas (leased lines), utili-
zando infraestructuras que se consideran públicas (para evitar monopolios).
(4)
Por el contrario, en las WAN, las redes de alcance local4 están diseñadas para En inglés, Local Area Networks
(LAN).
tener un alcance más reducido, que puede oscilar entre unos pocos kilómetros
y algunos metros (incluso centímetros). Las tecnologías LAN están pensadas
para conectar usuarios con pocos equipos, edificios empresariales o incluso
campus enteros. Normalmente, estas LAN se acaban conectando en WAN; ac-
tualmente, esta interconexión masiva de LAN y WAN a escala global se conoce
como Internet.
Clásicamente, las LAN han utilizado un medio de difusión para enviar la in- Redes sin hilos
formación, pero desde la aparición de los conmutadores y otros equipamien-
Hay muchos tipos de redes sin
tos más actuales han pasado, mediante topologías en árbol y en estrella, a ser hilos, y no todos pueden ser
un conjunto de conexiones punto-a-punto. La excepción a esta regla vuelven clasificados como LAN, por
ejemplo, el de las redes de te-
a ser las redes que utilizan el aire como medio de transmisión, las redes sin lefonía móvil.
hilos, que utilizan difusión para enviar la información.
La última clasificación del hardware de red hace referencia a las diferentes tec-
nologías existentes para hacer una red, la lista de tecnologías de red existentes
en la actualidad es demasiada extensa para poder listarla; aquí se introducen
las tecnologías más importantes en la actualidad, cuya lista comprende las
tecnologías cableadas y las tecnologías sin hilos.
© FUOC • PID_00147725 17 Conceptos de redes de computadores
(5)
Dentro de las redes cableadas, la familia de tecnologías por excelencia es Et- IEEE es la abreviatura del Institu-
5 te of Electronic and Electrical Engi-
hernet (definido en el estándar IEEE 802.3) , que empezó como una tecnología neers.
a 10 Mbps con una topología en bus y medio compartido, y que ha ido evo-
lucionando a una topología en estrella a 1 Gbps (Gigabit Ethernet) pasando 10 Gigabit Ethernet
por Fast Ethernet, todavía muy utilizado en la actualidad a 100 Mbps.
También existen modelos de
10 Gigabit Ethernet, pero su
A pesar de empezar siendo una tecnología limitada a LAN, Ethernet ha evolu- implantación todavía está en
sus inicios.
cionado tanto, gracias a su bajo coste y a su gran aceptación, que actualmente
hay enlaces WAN construidos con esta tecnología.
Por lo que respecta a las topologías basadas en anillo, como Token Ring (IEEE
802.5) y FDDI (definido en el estándar ANSI X3T12), han ido cayendo en de-
suso, en relación con Ethernet, principalmente a causa de su coste más alto
y peor rendimiento. Actualmente, una topología en anillo muy utilizada es
Resilient Packet Ring (IEEE 802.17), una tecnología para transportar otras tec-
nologías a través de anillos de fibra óptica; normalmente se transporta direc-
tamente tráfico Ethernet y servicios IP.
Entre los muchos tipos de redes de telefonía móvil que hay se puede mencio-
nar el del Global System for Mobile Communications (GSM), que fue de los
primeros sistemas que apareció y permite el envío de datos a 9,6 Kbps, para
evolucionar al más actual General Packet Radio Service (GPRS), con un ancho
de banda máximo teórico de 171,2 Kbps, pero cuyo canal de bajada es efecti-
vamente de 64 Kbps y el de subida de 14 Kbps. La última implementación en
tecnologías de red móviles es la Universal Mobil Telecommunication Services
(UMTS), también conocida como el sistema de tercera generación (3 GR), que,
con unos sistemas más avanzados, es capaz de llegar a velocidades teóricas de
21 Mbps, pero con velocidades efectivas de 7,2 Mbps de bajada y 384 Kbps
de subida.
Con respecto a las redes sin hilos de más corto alcance, la tecnología por ex-
celencia usada es la Wireless LAN (WiFi - IEEE 802.11), que inicialmente fue
definida con una velocidad de 11 Mbps, pero que con posteriores revisiones
del estándar se ha diseñado para soportar velocidades de 54 Mbps, con un al-
cance aproximado de 100 metros. En los últimos años, con el fin de reducir
el consumo energético de las comunicaciones sin hilos con equipos de baja
potencia, ha aparecido el estándar de facto para la comunicación de equipos
© FUOC • PID_00147725 18 Conceptos de redes de computadores
4. Dispositivos de red
Las redes de hoy en día funcionan porque hay una serie de dispositivos que son
capaces de gestionar tanto la información de control y presencia de los nodos
de una red como la información que dichos nodos se transmiten. Básicamente,
los dispositivos de red son los siguientes:
(6)
• Encaminador�o�enrutador6. Es un dispositivo de red de nivel 3 del mo- En inglés, router.
7
delo OSI . Recoge la información del nivel de red (dirección IP) para tomar
(7)
OSI es la abreviatura de Open
las decisiones de encaminamiento: escoger el camino o ruta más adecuada Systems Interconnection (interco-
por donde reenviar los datos recibidos. La sucesión de decisiones de dife- nexión de sistemas abiertos).
• 9
Conmutador . Es un dispositivo digital de lógica de interconexión de re- (8)
En inglés, hub.
des de computadores que opera en la capa 2 (nivel de enlace de datos) del
modelo OSI. Su función es interconectar dos o más segmentos de red, de
manera similar a los puentes (bridges), pasando datos de un segmento a
otro de acuerdo con la dirección MAC de destino de las tramas en la red.
Los conmutadores se utilizan cuando se desea conectar múltiples redes que
se fusionan en una sola. Igual que los puentes, ya que funcionan como un
filtro en la red, mejoran el rendimiento y la seguridad de las LAN. Concentrador
(9)
En inglés, switch.
• 10
Puente�de�red . Es un dispositivo de interconexión de redes de ordena-
dores que opera en la capa 2 (nivel de enlace de datos) del modelo OSI.
Éste interconecta dos segmentos de red (o divide una red en segmentos)
Conmutador
permitiendo el paso de datos de una red a otra mediante el uso de la direc-
ción física de destino de cada paquete. Un bridge conecta dos segmentos de (10)
En inglés, bridge.
red como una sola red utilizando el mismo protocolo de establecimiento
de red.
(11)
tipo de cableado o arquitectura que se utilice en la red (coaxial fino, coa- En inglés, network interface card
(NIC).
xial grueso, Token Ring, etc.), pero el más común actualmente es el Ether-
net, que utiliza una interfaz o conector RJ-45. Cada tarjeta de red tiene un
número de identificación único de 48 bits en hexadecimal, denominado
dirección MAC. Estas direcciones de hardware son únicas y están adminis-
tradas por el Institute of Electronic and Electrical Engineers (IEEE).
Tarjeta de red
© FUOC • PID_00147725 21 Conceptos de redes de computadores
5. Software de red
(12)
De todas formas, a medida que fueron evolucionando las redes, se vio que TCP/IP es la abreviatura de
Transmission Control Protocol/In-
si no se planteaba algún tipo de estandarización, una vía común con el fin
ternet Protocol.
de interconectar tecnologías y utilizar mecanismos regulados, los esfuerzos de
cada fabricante serían demasiados grandes y la lucha no beneficiaría a nadie.
Fue entonces cuando algunos fabricantes, como IBM, empezaron a ver que
era más viable pasar una buena parte de la carga de la red al software, mucho
más flexible y barato de producir que el hardware. Por eso apareció lo que se
conoce como las arquitecturas de red organizadas por capas, cuyos ejemplos
más importantes son OSI y TCP/IP12.
Para reducir la complejidad del diseño, las redes están organizadas en una serie
de capas, situadas unas encima de otras. El número de capas, el nombre de
cada una de ellas, su contenido y sus funciones difieren de un tipo de red
a otro. En todas las redes, el objetivo de cada capa es ofrecer determinados
servicios a las capas superiores, ocultándoles a éstas los detalles de cómo están
implementados los servicios que se ofrecen.
Entre cada par de capas adyacentes existe una interfaz. La interfaz define las
operaciones primitivas y los servicios que la capa inferior ofrece a la capa supe-
rior. Cada capa ofrece una colección de funciones perfectamente definidas. Por
ello, es muy sencillo reemplazar la implementación de una capa por otra capa
con diferente implementación (si queremos cambiar el medio de transmisión
de la información, sólo hay que cambiar la capa de nivel 1, por ejemplo, las
líneas telefónicas por canales por satélite, manteniendo el resto intacto).
Imaginemos que tenemos dos filósofos (procesos pares (peer), capa 3). Un filó-
sofo habla urdu e inglés, y el otro, chino y francés. Como no hablan ninguna
lengua en común necesitan un traductor (capa 2), y cada traductor se pone en
contacto con su secretaria (capa 1) para enviar la información remotamente
al otro filósofo. El filósofo 1 quiere enviar un mensaje al filósofo 2. Así pues,
pasa el mensaje en inglés a través de la interfaz 2/3 a su traductor, que traduce
el mensaje en una lengua neutral (neerlandés). La elección de la lengua de la
capa 2 es la misma en las dos entidades remotas. Después, el traductor pasa el
mensaje a la secretaria para que ésta lo transmita vía fax (capa 1) a la otra se-
cretaria. Cuando el mensaje llega a la secretaria remota, ésta lo pasa al traduc-
tor remoto (capa 2), y traduce el mensaje al francés para pasarlo finalmente al
filósofo remoto. Hay que tener en cuenta que cada protocolo es independiente
de los otros en la pila de protocolos, y que podemos cambiar un protocolo por
otro mientras las interfaces no cambien. Por ejemplo, la secretaria podría optar
por transmitir los mensajes por fax o enviarlos por correo postal, teléfono o
correo electrónico, sólo cambiando la capa 1 sin cambiar la interfaz 2/1.
La capa de nivel 3 decide qué línea de salida transmitirá los paquetes a la capa
de nivel 2. La capa de nivel 2 añade una cabecera a cada trozo y ofrece el
resultado a la capa de nivel 1 (física) para su transmisión. En el ordenador que
recibe la información se envía el mensaje a la capa superior, capa por capa,
con las cabeceras que se van eliminando a medida que se progresa de forma
ascendente de capa en capa.
El nivel por capas se da una forma estructurada de diseñar y abstraer las tareas
necesarias con el fin de enviar información a través de la red, pero cuando se
diseña una arquitectura de red hay muchos más factores, aparte de las capas,
que se tienen que considerar. Los siguientes son los más relevantes:
El control de los errores es otro aspecto importante, ya que los enlaces de co-
municaciones físicos no son perfectos. Determinados códigos de detección y
corrección de errores se utilizan, y los ordenadores que se comunican se tienen
que poner de acuerdo en la utilización de un código corrector/detector con-
creto. Además, el receptor de la información tiene que comunicar al emisor
de los mensajes que se han recibido o no correctamente.
7. Interfaces y servicios
Los elementos activos de cada capa se llaman entidades (entities). Cada entidad
puede ser una entidad de software (como un proceso) o de hardware (como un
dispositivo inteligente de entrada-salida). Las entidades de la misma capa de
diferentes máquinas se llaman peer entities. La capa N puede usar los servicios
de la capa N - 1 para proporcionar su propio servicio. Una capa puede ofrecer
múltiples clases de servicios, por ejemplo, comunicaciones caras y rápidas, o
comunicaciones lentas y baratas.
Los servicios están disponibles en los Service Access Point (SAP). El SAP de la
capa N son los lugares en los que la capa N + 1 puede acceder a los servicios
ofrecidos. Cada SAP tiene una dirección única que lo identifica. Para hacer
este punto más claro, el SAP en el sistema de telefonía son los conectores a los
que se conectan los aparatos de teléfono, y la dirección SAP es el número de
teléfono de este conector. En el sistema postal, la dirección SAP es el nombre
de la calle y el número de la vivienda. Para enviar una carta postal, tienes que
conocer la dirección SAP.
A fin de que dos capas se intercambien información, se tienen que definir una
serie de normas sobre la interfaz. En una interfaz típica, la entidad de la capa
N + 1 pasa una Interface Data Unit (IDU) hacia la entidad de la capa N a través
del SAP tal como se muestra en la siguiente figura. La IDU consiste en un
Service Data Unit (SDU) y determinada información de control (Interface Control
Information). La SDU es la información pasada a través de la red hacia la peer
entity y subida después hacia la capa remota N + 1. La información de control
se necesita para ayudar a la capa inferior a realizar su trabajo (por ejemplo,
indicar el número de bytes del SDU), pero no forma parte de la información
pura.
Las capas pueden ofrecer dos tipos diferentes de servicios a las capas superio-
res: conexiones orientadas y no orientadas a conexión. Un servicio orientado
a conexión se modela como un sistema de telefonía: para hablar con alguien,
primero tenemos que marcar el número de teléfono, después, hablar, y, final-
mente, colgar el teléfono. Así, inicialmente se produce un establecimiento de
conexión, después se utiliza la conexión para hablar y transmitir información,
y, finalmente, se cierra la conexión. Esta conexión actúa como un tubo: el
emisor envía objetos o bits hacia el receptor, y el receptor los coge en el mismo
orden en que le son enviados.
Primitiva Significado
La siguiente figura muestra la misma secuencia antes descrita. Cada paso in-
cluye una interacción entre dos capas de una de las computadoras. Cada pe-
tición o respuesta provoca una indicación o confirmación en la otra parte. El
usuario del servicio está en la capa N + 1, y la capa N es la capa que ofrece el
servicio.
Los protocolos y los servicios son dos conceptos distintos, aunque en general
se suelen confundir. Un servicio es un conjunto de primitivas (operaciones)
que una capa proporciona a la capa superior. El servicio define qué operaciones
es capaz de ofrecer la capa, pero no dice nada de cómo están implementadas
estas operaciones. Un servicio es una interfaz entre dos capas, siendo la capa
de nivel inferior la que proporciona el servicio, y la capa de nivel superior la
que lo utiliza.
Cada servicio establece una conexión con el servicio análogo del equipo de
destino; dependiendo de cómo se gestione esta conexión entre servicios, un
servicio puede ser orientado a conexión o no orientado a conexión.
© FUOC • PID_00147725 34 Conceptos de redes de computadores
fundir un servicio orientado a conexión con la conmutación de circuitos vis- El ejemplo por excelencia de
ta anteriormente; en el servicio orientado a conexión no se realiza ninguna un protocolo orientado a co-
nexión es el TCP.
reserva de recursos, sino una estructura de datos que mantiene el estado de la
conexión. El hecho de que un protocolo sea orientado a conexión implica que
la información tiene que llegar ordenada y sin errores. El hecho de mantener
la conexión implica que ambos extremos son conocidos y, por lo tanto, no
es necesario indicar qué destino tiene la comunicación. Este paso se realiza
durante el establecimiento de la conexión.
Por su parte, los servicios no orientados a conexión no precisan ni asumen Servicios no orientados a
ninguna conexión previa entre los dos interlocutores; de esta manera, la in- conexión
formación se separa en paquetes (denominados datagramas en este tipo de El ejemplo por excelencia de
servicios) y se envía a la red sin conocer el camino que seguirán los paquetes, servicios no orientados a co-
nexión es IP. Curiosamente,
ni saber si llegarán a su destino, ni siquiera en qué orden lo harán, cada data- HTTP es también un protocolo
no orientado a conexión.
grama se envía de forma autónoma e independiente del resto. Por lo tanto,
para poder enviar un datagrama con un protocolo no orientado a conexión,
el datagrama tiene que tener la dirección destino, y los elementos intermedios
de la red tienen que tener información de cómo hacer llegar la información
dependiendo del destino de cada datagrama recibido.
© FUOC • PID_00147725 35 Conceptos de redes de computadores
8. Modelos de referencia
Las dos arquitecturas de red más conocidas hoy en día son la Open Systems
Interconnection (OSI), utilizada como modelo teórico, y la Transmission Con-
trol Protocol/Internet Protocol (TCP/IP), cuyo éxito en el mundo de las redes
ha sido enorme.
Estos hechos provocaron que los sistemas que hasta este momento ofrecían
una arquitectura cerrada pasaran a una arquitectura abierta y que las redes
empezaran a ser compatibles.
Se crean fórums externos a los organismos que pueden llegar a forzar a éstos
a decidirse por uno u otro estándar (ATM Forum, Forum Gigabit Ethernet,
Forum ADSL, etc.).
• Estimula la competitividad entre los fabri- • Tardanza al aprobarse Hay importantes ganancias
cantes • Los fabricantes crean equipos en condiciones económicas para las empresas
• Evita monopolios propietarias que han desarrollado un siste-
• Baja los precios • Los intereses de los fabricantes y los organis- ma y éste se convierte en es-
• Flexibilidad de instalar equipos mos no siempre son los mismos tándar. No obstante, ello pue-
de provocar que otras empre-
• Heterogeneidad de fabricantes • Posibilidad de acuerdos más políticos y co-
sas salgan perjudicadas.
merciales que técnicos
• Los fabricantes son los que desarrollan más
I+D, lo cual provoca que los organismos ten-
gan que definirse
• Muchos organismos pueden afectar a la es-
tandarización, ya que se puede llegar a clasi-
ficar geográficamente, por industria, etc.
Entre los diferentes modelos propuestos por las diferentes organizaciones in-
ternacionales de normalización en la década de los ochenta, destaca una ar-
quitectura de redes de ordenadores basada en niveles, el modelo OSI, definido
por la Organización Internacional de Estándares (ISO, International Organi-
zation for Standardization).
A finales de los setenta, la ISO fue definiendo la arquitectura de redes OSI con
el fin de promover la creación de una serie de estándares que especificaran
un conjunto de protocolos independientes de cualquier fabricante. Pretendía
establecer las normas y estándares para que el software y los dispositivos de
diferentes fabricantes pudieran funcionar juntos.
© FUOC • PID_00147725 37 Conceptos de redes de computadores
(13)
Además de facilitar las comunicaciones entre sistemas diferentes, la ISO pre- SNA es la abreviatura de System
Network Architecture.
tendía con OSI impedir que ninguna de las arquitecturas de fabricante exis-
tentes adquiriera una posición hegemónica, especialmente la SNA13 de IBM.
5) Cada capa ofrecerá servicios a las capas superiores sin que éstas sepan
cómo se realizan los servicios.
8) El número de capas tiene que ser lo bastante grande para que funcio-
nes diferentes no tengan que ponerse juntas en la misma capa. También
tendrá que ser lo bastante pequeño para que su arquitectura no sea di-
fícil de manejar.
(14)
TCP/IP es la abreviatura de
En el modelo TCP/IP
14
se pueden distinguir cuatro capas: Transmission Control Protocol/In-
ternet Protocol.
El modelo OSI tiene siete capas, mientras que el modelo TCP/IP sólo tiene
cuatro. Las capas de transporte y de Internet coinciden plenamente con los
niveles 3 y 4 de la torre OSI. La capa de aplicación engloba los niveles 5, 6 y
7 de OSI (sesión, representación y aplicación). La capa interfaz de red incluye
los niveles físico y enlace de la torre OSI.
colos también se añade una cola de datos que sirve para la detección de errores
al final del paquete. La unidad de información aquí recibe el nombre de trama.
Finalmente, los datos son enviados por el medio de transmisión en forma de
impulsos electromagnéticos o bits.
• OSI apareció tarde. Como todo estándar, se tardaron años en definir una
arquitectura de capas con funcionalidades y servicios perfectamente defi-
nidos. Este retraso motivó que OSI fuera adelantado por TCP/IP, que en
aquella época ya se utilizaba profusamente.
• Mientras que TCP/IP era visto como parte de UNIX, es decir, una cosa que
realmente funcionaba y estaba al margen de toda sospecha de parcialidad,
OSI era considerado un invento de la Administración para controlar las
telecomunicaciones (un engendro político-burocrático).
© FUOC • PID_00147725 43 Conceptos de redes de computadores
(15)
Para poder hacer este acceso remoto, la primera solución que aportaron los Recordad que la red telefónica
sólo deja pasar sonidos entre unos
ingenieros informáticos de la época fue utilizar la red telefónica que, por su
márgenes de frecuencia.
ubicuidad, les evitaba tener que generar ninguna infraestructura nueva. Sólo
hacía falta un aparato que adaptara los bits a la red15. Estos aparatos son los
módems.
Los primeros módems eran de 300 bps y generaban dos tonos diferentes: uno
para el 1 lógico y otro para el 0. Actualmente, van a 56.000 bps, que es el má-
ximo que permite la actual red telefónica convencional. Los módems no sólo
servían para poder alejar los terminales pasivos de los ordenadores principales,
también permitían interconectar ordenadores entre sí, de manera que desde
los terminales de uno se podía acceder a los de otro y viceversa.
Módems de los años ochenta
Internet es, como tantas otras tecnologías innovadoras, un invento militar. Nació del
interés del ejército norteamericano en los años sesenta por conseguir comunicaciones
© FUOC • PID_00147725 45 Conceptos de redes de computadores
fiables y descentralizadas. Es decir, para evitar que un misil bien dirigido pudiera hacer
saltar por los aires un centro vital de comunicaciones. Se pueden establecer cuatro perío-
dos clave en la historia de Internet:
Dentro del primer período de la historia de Internet podemos destacar los siguientes
acontecimientos:
• 1957: Durante la guerra fría, la Unión Soviética lanza el Sputnik, el primer satélite
artificial de comunicaciones. En respuesta a este hecho, Estados Unidos crea el AR-
PA16, en el seno del Departamento de Defensa estadounidense.
• 1961: Leonard Kleinrock (MIT) publica el primer artículo sobre la teoría de conmu-
tación de paquetes.
• 1962: Licklider (MIT) lanza la idea de la "Galactic Network", una red interconectada
globalmente a través de la que cualquiera podría acceder desde cualquier lugar a datos
y programas. Licklider fue el principal responsable del programa de investigación en
ordenadores en ARPA, la agencia de investigación avanzada del Pentágono.
• 1964: Paul Baran (RAND Corporation) realiza sus estudios sobre "Redes de comuni-
cación distribuidas o descentralizadas". También promueve el uso de redes de con-
mutación de paquetes de datos (Packet Switching Networks).
• 1967: La nueva red, denominada ARPANet, recibe la señal de salida. Un año más
tarde se diseñan los primeros programas y el primer hardware específico para redes.
• 1969: Hay cuatro centros interconectados a través de sus IMP (Internet embrionaria).
UCLA (Los Ángeles) es seleccionada para ser el primer nodo de ARPANET. El centro
de investigación de Standford (SRI) proporciona un segundo nodo. El tercer nodo en
la Universidad de California, Santa Bárbara, y el cuarto nodo en la Universidad de
Utah. Estos cuatro nodos constituyeron la red original de ARPANet.
(16)
ARPA es la abreviatura en inglés de la Agencia de Proyectos de Investigación Avanzada.
(17)
NPL es la abreviatura de National Physical Laboratories (institución del Reino Unido).
© FUOC • PID_00147725 46 Conceptos de redes de computadores
Pronto, las grandes empresas presionaron a las compañías telefónicas del mo- CCITT
mento para que desarrollaran redes pensadas para transportar datos, con un
El CCITT es un organismo in-
sistema de tarificación que se ajustara al tráfico de datos real y permitiera más ternacional patrocinado por las
velocidad que los escasos 300 o 1.200 bps que se alcanzaban en aquella épo- operadoras de telefonía, de-
dicado a tareas de normaliza-
ca utilizando la red telefónica. La respuesta fueron las redes de conmutación ción en el ámbito de las tele-
comunicaciones. El 1 de marzo
de paquetes. El envío de datos no se tiene que hacer necesariamente en tiem- de 1993 pasó a llamarse Inter-
po real (las transmisiones de voz, sí). Por lo tanto, no hace falta establecer el national Telecommunication
Union Standardization Sector
camino entre los dos puntos antes de empezar la transmisión y mantenerlo (ITU-T).
La transmisión por paquetes tiene la ventaja de que sólo ocupa los recursos
cuando realmente se utilizan, no todo el tiempo. Pero, como contrapartida,
se tiene que soportar el retardo que pueda haber desde que los paquetes salen
del origen hasta que llegan a su destino, y que es variable, porque las esperas
en las colas son aleatorias, dependen del estado de la red. Pero, como hemos
dicho, eso, en comunicación de datos, es hasta cierto punto tolerable. Con
respecto a la cuestión económica, no tiene sentido que se cobre por tiempo de
conexión: en las redes de datos se paga por bits transmitidos.
Hay otro peligro: los paquetes se pueden perder. Hay que tener presente que CERT
las colas son limitadas y, si una cola ya está llena cuando llega un paquete, éste
El Computer Emergency Res-
no se podrá guardar y se perderá. Hay que prever mecanismos que eviten estas ponse Team (CERT) es un
pérdidas y regulen el flujo de información entre los nodos de conmutación. equipo de respuesta de emer-
gencia de ordenadores que
mantiene datos sobre todas las
incidencias en red y sobre las
Las compañías telefónicas desarrollaron redes de este tipo, y el CCITT emitió principales amenazas.
un estándar, el X.25, que ha sido en definitiva el que ha adoptado todo el
mundo hasta hace poco.
© FUOC • PID_00147725 47 Conceptos de redes de computadores
Dentro del segundo período de la historia de Internet podemos destacar los siguientes
acontecimientos:
• Años�1970. Durante este período, la red fue de acceso restringido a los investigadores
y a las empresas privadas que participaban en proyectos financiados por la Adminis-
tración.
• 1970. El Network Working Group (NWG), liderado por S. Crocker, acabó el protocolo
ordenador principal a ordenador principal inicial para ARPANET, denominado Net-
work Control Protocol (NCP, protocolo de control de red). Kevin MacKenzie inventa
el primer emoticón: :-). Vinton Cerf escribe por primera vez la palabra Internet. Está
considerado el padre de la red. Más tarde diseñó el protocolo TCP/IP, que actualmente
rige las comunicaciones por Internet.
• 1971. Ray Tomlison (BBN18) crea los protocolos básicos del correo (e-mail), incluida
la convención de la arroba para separar el nombre de la persona del identificador del
ordenador.
• 1973. Vint Cerf y Bob Kahn especifican la primera versión del programa de control
de transmisión (TCP), que se desarrolló después hasta convertirlo en el Transmission
Control Protocol/Internet Protocol (TCP/IP), los protocolos que actualmente permi-
ten el funcionamiento de Internet. Berkeley desarrolló el BSD UNIX. ARPA dio una
copia de TCP/IP a Berkeley y se incorporó este software a la versión UNIX. Nace la
posibilidad de realizar un FTP.
• 1979. Nace Usenet. Creada por tres estudiantes, Tom Truscott, Jim Ellis y Steve Bello-
vin. Usenet es un servicio de grupos de noticias, las populares "news".
• 1980. Aparecen las primeras aplicaciones TCP/IP. Internet ya tiene 212 servidores.
• 1981. El año 1981, IBM lanza el primer PC, con el sistema operativo de una pyme
denominada Microsoft.
© FUOC • PID_00147725 48 Conceptos de redes de computadores
• 1982. ARPANet adopta el protocolo TCP/IP como estándar. Se crea la EuNet (Euro-
pean Unix Network). La European Unix Network (EuNet), conectada a ARPANet, se
creó en 1982 para proporcionar servicios de correo electrónico y servicios Usenet a
diversas organizaciones usuarias en los Países Bajos, Dinamarca, Suecia e Inglaterra.
• 1983. Considerado como el año en que nació realmente Internet al separarse la parte
militar y la civil de la red. Hasta el 1 de enero de 1983, la incipiente Internet estuvo
funcionando con un antecesor de los protocolos TCP/IP; aquel día, los ya miles de
ordenadores conectados se cambiaron al nuevo sistema. Internet ya dispone de 562
servidores (ordenadores interconectados). El mismo año se creó el sistema de nom-
bres de dominios (.com, .edu, etc., más las siglas de los países), que prácticamente se
ha mantenido hasta ahora.
• 1985. Entra en funcionamiento el Domain Name Server (DNS), un método para re-
solver nombres en direcciones numéricas. El primer dominio se otorga el 15 de mar-
zo a Symbolics.com. Internet ya tiene 1.961 servidores y los sufijos .com, .net y .org
añadidos. En abril aparecen los primeros dominios con letra, que fueron acmu.edu,
purdue.edu, rice.edu y ucla.edu, todos ellos todavía en activo sin duda, y todos uni-
versitarios, también sin duda. En junio del mismo año aparece el primer dominio
gubernamental, css.gov, y en julio, mitre.org. El primer dominio de un país se atri-
buyó en julio de aquel mismo año a Gran Bretaña: co.uk. En España, los ordenadores
de diferentes universidades se conectaban entre sí y con el Centro Europeo de Físi-
ca de Partículas (CERN). El Ministerio de Educación y Ciencia, a través de la Secre-
taría de Universidades, elaboró un plan para interconectar los centros de cálculo de
las universidades. Asimismo, un grupo de expertos de las universidades, centros de
cálculo, organismos públicos de investigación y Telefónica, bajo la coordinación de
Fundesco, realizó un informe que se llamó Proyecto IRIS (Interconexión de Recursos
Informáticos).
• 1987. Nace la primera versión de Windows. Hay más de 10.000 servidores en todo
el mundo.
• 1988. Se produce el primer gran ataque vírico de Internet, cuando el "gusano de Mo-
rris" hace caerse 6.000 de los 60.000 ordenadores que entonces la formaban. Creado
por el estudiante de doctorado Robert T. Morris como un experimento, el gusano
usaba un defecto del sistema operativo Unix para reproducirse hasta bloquear el or-
denador. A raíz del "gusano de Morris" se crea el Computer Emergency Response Team
(CERT). Jarkko Oikarinen, un joven finlandés, decide modificar el comando talk del
Unix para permitir que diversas personas puedan charlar de forma simultánea. Así
nace el chat, el Internet Relay Chat (IRC), que permite que se pueda conversar en
línea en la red. En 1988 nace el programa IRIS dentro del Plan Nacional de Investiga-
ciones y Desarrollo Tecnológico para dar conectividad a científicos e investigadores.
La financiación y supervisión de esta red correría a cargo de la Comisión Interminis-
terial de Ciencia y Tecnología, y de su gestión y dirección se encargaría Fundesco.
• 1989. Nace RIPE para interconectar las redes europeas. El número de servidores co-
nectados a Internet alcanza ya los 100.000. Este mismo año, se inaugura también la
primera conexión de un sistema de correo electrónico comercial en Internet (MCI y
Compuserve). Nace Archie. Hasta aquel momento nadie se había planteado nunca la
hipótesis de que en Internet las cosas pudieran tener un orden, ni de crear un direc-
torio. Las direcciones eran tan pocas que se suponía que todo el mundo las conocía.
Por este motivo, se crea el primer catálogo (un programa denominado Archie). Archie
tuvo tal éxito que colapsó el tráfico en Estados Unidos y Canadá en cuanto se tuvo
noticia de su existencia. Por este motivo, la Universidad MacGill de Montreal obligó
a su autor a cerrarlo. Por suerte, lo hizo después de que Archie ya estuviera replicado
en otros ordenadores. Archie fue el precedente de Gopher y Veronica y, de alguna
remota manera, el primer intento de directorio de recursos de Internet.
(18)
BBN es la abreviatura de la empresa Bolt, Beranek and Newman.
© FUOC • PID_00147725 49 Conceptos de redes de computadores
Abordar todos estos aspectos de una manera global resulta inviable: demasia-
das cosas demasiado diferentes entre sí. Por eso, ya desde el principio, se desa-
rrollaron modelos estructurados en niveles: en cada nivel se lleva a cabo una
tarea, y la cooperación de todos los niveles proporciona la conectividad que-
rida por los usuarios.
Hay que tener presente que, en la época que nos ocupa, la informática estaba
en manos de muy pocos fabricantes e imperaba la filosofía del servicio inte-
gral: cada fabricante lo proporcionaba todo (ordenadores, cables, periféricos,
sistema operativo y software). Por lo tanto, cuando una empresa se quería in-
formatizar, escogía una marca y quedaba ligada a ella para toda vida.
© FUOC • PID_00147725 50 Conceptos de redes de computadores
Dentro del tercer período de la historia de Internet podemos destacar los siguientes acon-
tecimientos:
En la parte superior de la imagen se puede
• 1990. Nacen el primer proveedor de acceso a Internet comercial y el Electronic Fron- ver el primer banner de Internet en HotWired
tiers Foundation (EFF), una ONG de defensa de ciberderechos. La red tiene ya cente- (1994).
nares de miles de servidores (313.000). Este año también aparece Windows 3.0. En
España, Fundesco cambia el nombre del programa IRIS por REDIRIS y se conecta al
backbone de Internet (NSFNET19), al lado de Argentina, Brasil, Chile, India, Suiza,
Austria, Irlanda y Corea del Sur.
• 1992. Nace la Internet Society, la "autoridad" de la red. Surgía como el lugar donde
pactar los protocolos que harían posible la comunicación. El Internet Activities Board
(IAB) se integra en la Internet Society. En el IAB destacó la Internet Engineering Task
Force (IETF), que tenía como función el desarrollo de Internet a corto plazo y la res-
ponsabilidad de la dirección técnica. La mayor parte de los Request For Comments
(RFC) se elaboran en el IETF, y éstos iban aumentando cada año. Internet ya tiene
1.136.000 servidores. En España aparece Goya Servicios Telemáticos, primer provee-
dor de acceso comercial.
• 1994. Año del primer spam: los abogados de Arizona Canter & Siegel lanzan el 5 de
marzo de 1994 un anuncio en 6.000 grupos de noticias, y son perseguidos por los
furiosos internautas, que consiguen que los expulsen de su ISP (y de la abogacía). En
octubre, ATT y Zima (una marca de refrescos) ponen los primeros banners comerciales
de la historia en Hotwired. Pero no todo son desgracias: también se abren el primer
centro comercial, la primera radio y el primer banco en la red. El número de servidores
de Internet alcanza los 3.800.000. En la Universidad de Stanford dos estudiantes crean
un directorio de cosas interesantes de la red, al que bautizan Yahoo! Lycos. Se difunde
la versión comercial del navegador Netscape Navigator. En España nace Servicom.
© FUOC • PID_00147725 51 Conceptos de redes de computadores
• 1995. Se empiezan a cobrar los dominios. Sun crea Java, y RealAudio incorpora so-
nido en la Red. Microsoft lanza con gran publicidad Windows 95 y anuncia un giro
estratégico hacia Internet. El fabricante Digital (DEC) crea AltaVista, un buscador de
Internet. Nacen la librería Amazon.com y el sitio de subastas eBay. Hay más de 5 mi-
llones de servidores conectados a Internet. La espina dorsal de NSFNET empieza a ser
sustituida por proveedores comerciales interconectados. Salida a bolsa de Netscape,
la tercera major hasta entonces, que marca el comienzo del boom de Internet.
(19)
Las siglas NSFNET corresponden a National Science Foundation Network.
(20)
TCP/IP nació a partir de un encargo de la Defense Advanced Research Project En castellano, Agencia de Pro-
20 yectos de Investigación Avanzada
Agency (DARPA) a la comunidad científica americana para tener una red para la Defensa.
mundial que fuera reconfigurable fácil y automáticamente en caso de destruc-
(21)
ción de algún nodo o algún enlace. ISO son las siglas de la Interna-
tional Organization for Standardi-
zation, en castellano, Organización
La pila TCP/IP es una jerarquía de protocolos que ofrecía conectividad y, a pe- Internacional de Estandarización.
sar de tener poco que ver con las que ya había, era una opción más en el mer-
cado. Ante una oferta tan grande, y dispar, de protocolos, la ISO21 y el CCITT
propusieron un modelo nuevo que intentaba reunir de alguna manera todo
lo que ya se había propuesto y que pretendía ser completo, racional y muy
bien estructurado (la TCP/IP tiene fama de ser una pila de protocolos anár-
quica), con la intención, por lo tanto, de que se convirtiera en un modelo de
referencia. Es la llamada pila de protocolos OSI (open systems interconnection).
Internet, que nació y creció en las universidades, se empezó a hacer popular
en la década de los noventa, a medida que los que conocían la red la iban "en-
señando", y su popularización estalló cuando saltó al mundo de la empresa,
en todas sus vertientes: como escaparate de productos o como canalizador de
contactos comerciales.
este modelo. Las dos primeras han caído en desuso un poco, pero tanto el
correo como la WWW son las estrellas hoy en día en Internet. Tímidamente,
aparecen nuevas propuestas de aplicaciones, pero la WWW, que nació como
un servicio de páginas estáticas enlazadas con hiperenlaces, se está convirtien-
do en la interfaz de usuario de toda la red, porque actualmente se utiliza para
servir páginas dinámicas (se crean en el momento en que se sirven), e incluso,
como código que se ejecuta en el ordenador cliente (applets).
Los enlaces entre centrales de la red telefónica se hacían con señales analógi-
cas con muchos canales multiplexados en frecuencia, y tenían que recorrer,
a veces, grandes distancias. La atenuación de la señal inherente a la distancia
que había que recorrer se tenía que corregir mediante repetidores que la am-
plificaran, cosa que aumentaba el ruido presente en la línea. Muy a menudo, la
señal recibida era de una calidad muy baja porque la transmisión analógica no
permite eliminar el ruido ni las interferencias en la recepción. No hay ninguna
manera de saber exactamente qué se ha enviado desde el origen y qué es ruido
añadido. En 1972 se hicieron públicos los primeros resultados del tratamiento
digital de la señal aplicada a audio, básicamente orientado a su almacenaje. El
CD estaba viendo la luz. Convertir un sonido (una magnitud física que puede
tomar cualquier valor en cualquier momento) en una serie de 0 y 1 (dos únicos
valores conocidos) permitía corregir fácilmente cualquier ruido añadido.
Dentro del cuarto período de la historia de Internet podemos destacar los siguientes acon-
tecimientos:
• 1996. El 98% de los navegadores son Netscape, y se piensa que la red puede acabar
con el sistema operativo. Microsoft responde lanzando el Explorer, lo cual da inicio a
la guerra de los navegadores. Internet ya tiene más de 9.400.000 servidores. En España
hay más de 100.000 ordenadores bajo el dominio .es. Salen a bolsa Yahoo! y Excite
con grandes beneficios. Estados Unidos lanza la Communications Decency Act, que
será anulada en 1997. Se propone la creación de siete nuevos dominios genéricos;
tv.com se vende a CNET por 15.000 dólares. Procter&Gamble, el mayor anunciante
del mundo, impone el pago por clic, que dominará la publicidad en línea. Inclusión
de contenidos multimedia: técnica de streaming para la transmisión fluida de vídeo.
• 1998. Microsoft, con su Explorer, tiene más del 80% de los navegadores, y es deman-
dado por abuso de posición dominante. La red tiene 300 millones de páginas. Nace
Google y AOL compra Netscape. Se registra el dominio comercial dos millones. El
Gobierno estadounidense anuncia un plan para privatizar Internet que es rechazado;
un segundo plan es mejor recibido.
• 2001. Arranca con el pleito abierto de nuevo por las discográficas contra Napster por
favorecer la piratería, pleito que acaba por provocar su cierre en julio por orden ju-
dicial (y su resurrección como servicio de pago). En febrero, Napster había batido su
propio récord, con 13,6 millones de usuarios. Napster cierra en julio por orden judi-
cial (volverá a salir como servicio de pago). America Online compra en enero Time
Warner, el mayor grupo mediático del mundo, en lo que se considera el definitivo
triunfo de los nuevos medios sobre los viejos. La empresa Kozmo de venta por Inter-
net con entrega rápida quiebra en abril. Su competidora Webvan sufre igual suerte.
En mayo se lanza el programa SETI@Home, el primer gran proyecto de computación
distribuida; en menos de un mes proporciona más potencia de cálculo que el mayor
superordenador disponible entonces.
© FUOC • PID_00147725 54 Conceptos de redes de computadores
• 2002. La crisis de las puntocom continúa profundizándose. Los dominios son noticia,
con la apertura de tres nuevos dominios de máximo nivel (.name para personas, .coop
para cooperativas y .aero para empresas aeronáuticas) que no tendrán mucho éxito.
En octubre, un ataque concertado consigue desconectar a 8 de los 13 ordenadores de
los que depende todo el sistema de dominios, lo cual acelera los planes para reforzarlo.
Explosión en el uso de los weblog o blogger: páginas escritas por los cibernautas en
las que éstos explican anécdotas de sus propias vidas y dan a conocer sus opiniones.
Lo que queda de Napster es adquirido por el conglomerado alemán Bertelsmann.
• 2004. Empieza la recuperación. Sale a bolsa Google, que lanza su correo web de 1 Gb
Gmail. Guerra de buscadores: Yahoo! abandona a Google y compra diversas empre-
sas, Microsoft potencia MSN Search y Amazon lanza A9. La música de pago también
se caldea, con la entrada de Wal-Mart, Sony, Virgin, eBay y Microsoft; iTunes tiene el
70% del mercado. El navegador Firefox v1.0 hace mella en el dominio del Explorer
de Microsoft, al que arranca un 5%. En Estados Unidos, la banda ancha supera a los
módems y la campaña de las presidenciales demuestra el poder de los blogs llamados
"Rathergate"; el precandidato Howard Dean usa la red para la movilización del elec-
torado y la recaudación de fondos. En España Terra vende Lycos por 105 millones de
dólares. El copyleft avanza con la extensión de las licencias Creative Commons.
• 2005. Existen más servidores raíz fuera de Estados Unidos que en su territorio. La red
tiene más de 300 millones de ordenadores principales, casi 60 millones de dominios
activos, más de 4.000 millones de páginas web indexadas por Google y más de 900
millones de internautas. Suecia tiene la penetración más alta (74% de la población),
y España ocupa el puesto 22 por accesos de banda ancha (casi 2,5 millones) y el 12
por número de internautas (14 millones), pero está por debajo de la media europea
en penetración. Diversos accidentes y ataques difunden información privada en la
red. Microsoft responde a Firefox con el lanzamiento de una versión no prevista del
Explorer. Apple presenta el iPod Shuffle, basado en memoria flash. El mercado de la
publicidad en línea se despierta, y diversos medios españoles relanzan sus páginas
web. A finales de este mismo año nace Youtube.
• 2009. Se esboza la Internet de las cosas. Aparece 6LowPan como iniciativa para pro-
veer de dirección IPv6 a las redes de sensores. Se extiende la oferta de servicios a la
Red. Auge del cloud computing.
• 2010. Facebook llega a los 400 millones de usuarios. Google es boicoteado en China.
Amazon EC2 y Google Application Engine se disputan el mercado del cloud. IBM se
desmarca de la competencia por el mercado cloud ofreciendo soluciones basadas en
escritorios remotos (eyeOS). Se empieza a hablar de redes cognitivas.
© FUOC • PID_00147725 55 Conceptos de redes de computadores
Una vez digitalizada la red telefónica, el paso siguiente tenía que ser llevar la
transmisión de bits hasta las casas. Eso permitía, por una parte, ofrecer a los
usuarios en su casa la transmisión de datos además de la tradicional de voz
y, por otra, ofrecer a los abonados un abanico de nuevos servicios asociados
a una comunicación enteramente digital de punta a punta. Este servicio de
transmisión digital mediante la red telefónica se conoce como red digital de
servicios integrados (RDSI). Ofrece dos canales independientes de 64 kbps, que
permiten hablar y conectarse a Internet simultáneamente, o, con un hardware
adecuado, aprovechar los dos canales juntos para navegar a 128 kbps.
El uso de la red telefónica para transmitir datos tiene una limitación impor- RDSI
tante por lo que respecta al máximo de bits por segundo permitidos, y las re-
La red digital de servicios inte-
des específicas de datos son muy caras para su uso doméstico. Desde la década grados (RDSI) corresponde a
de los noventa se han estudiado maneras de conseguir llevar hasta las casas las siglas ISDN (integrated ser-
vices digital network) en inglés.
o las empresas un buen caudal de bits por segundo (banda ancha) a un pre-
cio razonable, de manera que las nuevas aplicaciones multimedia se puedan
explotar al máximo. Para conseguir esta banda ancha, se han seguido dos ca-
minos completamente diferentes. Con respecto al primero, se han promovido
cableados nuevos con fibra óptica que permiten ese gran caudal, a menudo
llevados a cabo por empresas que pretenden competir con los monopolios do-
minantes. Estas redes se aprovechan para dar un servicio integral: televisión,
teléfono y datos. Con respecto al segundo, las compañías telefónicas de toda
la vida han querido sacar partido del cableado que ya tienen hecho y, por eso,
han desarrollado las tecnologías ADSL, que permiten hacer convivir en el bu-
cle de abonado la señal telefónica y una señal de datos que puede llegar a los
8 Mbps (o 20 Mbps con tecnología ADSL+).
© FUOC • PID_00147725 56 Conceptos de redes de computadores
Resumen
Bibliografía
Kurose, J.; Ross, K. (2005). Computer Networking: a top-down approach featuring the Internet
(5.ª ed.). Boston: Addison-Wesley Publishing Company.
Tanenbaum, A. S. (2003). Redes de computadores (4.ª ed.). Nueva York: Prentice-Hall Profes-
sional Technical Reference.
Las capas de
la red de
computadores
Xavier Vilajosana Guillén
PID_00147723
© FUOC • PID_00147723 Las capas de la red de computadores
Ninguna parte de esta publicación, incluido el diseño general y la cubierta, puede ser copiada,
reproducida, almacenada o transmitida de ninguna forma, ni por ningún medio, sea éste eléctrico,
químico, mecánico, óptico, grabación, fotocopia, o cualquier otro, sin la previa autorización escrita
de los titulares del copyright.
© FUOC • PID_00147723 Las capas de la red de computadores
Índice
Introducción............................................................................................... 5
Objetivos....................................................................................................... 6
1. El nivel de transporte....................................................................... 7
1.1. Objetivos ...................................................................................... 7
1.2. Servicios ofrecidos por la capa de transporte ............................. 8
1.3. Relación entre la capa de transporte y la capa de red ................. 9
1.4. Transporte no orientado a la conexión: UDP ............................. 12
1.4.1. Cabecera UDP ................................................................ 12
1.4.2. Cabecera UDP ................................................................ 13
1.5. Transporte orientado a la conexión: TCP ................................... 14
1.5.1. Funcionamiento básico de TCP ..................................... 15
1.5.2. Cabecera TCP ................................................................. 16
1.5.3. Establecimiento de la conexión .................................... 19
2. El nivel de red.................................................................................... 21
2.1. Funcionalidades básicas: direccionamiento ................................ 21
2.2. Servicios de red ........................................................................... 24
2.2.1. Modelo de red en modo de circuitos virtuales .............. 25
2.2.2. Modelo de red en modo datagrama .............................. 26
2.2.3. Servicio de red orientado y no orientado a la
conexión ........................................................................ 27
2.3. Direccionamiento en Internet: el protocolo IP ........................... 27
2.3.1. IPv4 ................................................................................ 28
2.3.2. IPv6 ................................................................................ 42
2.4. Protocolos de soporte a IP .......................................................... 49
2.4.1. Internet Control Message Protocol ............................... 49
2.4.2. Address Resolution Protocol .......................................... 51
2.4.3. Network Discovery Protocol .......................................... 52
2.4.4. Dynamic Host Configuration Protocol ......................... 53
4. El nivel físico...................................................................................... 60
4.1. Medios de transmisión ................................................................ 60
© FUOC • PID_00147723 Las capas de la red de computadores
Resumen....................................................................................................... 64
Bibliografía................................................................................................. 65
© FUOC • PID_00147723 5 Las capas de la red de computadores
Introducción
Objetivos
El estudio de este módulo os tiene que permitir alcanzar los objetivos siguien-
tes:
1. El nivel de transporte
1.1. Objetivos
La jerarquía TCP/IP
• Asegura que los datos lleguen sin pérdidas, sin errores y sin ser duplicadas.
Para introducir los protocolos del nivel de transporte, nos centramos en la je-
rarquía de protocolos Transmission Control Protocol/Internet Protocol (TCP/
IP). En esta jerarquía se definen dos protocolos de transporte: el UDP y el TCP.
Para identificar las diferentes aplicaciones, los protocolos TCP/IP marcan cada
paquete (o unidad de información) con un identificador de 16 bits llamado
puerto.
© FUOC • PID_00147723 10 Las capas de la red de computadores
0 Reservado
1-4 No asignado
7 ECHO Eco
9 DISCARD Descartar
13 DAYTIME De día
37 TIME Hora
43 NICNAME Quién es
79 FINGER Finger
224-241 No asignado
242-255 No asignado
Actividad
Hay que recordar que, por debajo, el UDP está utilizando el IP, que también
es un protocolo no orientado a la conexión, y que, básicamente, lo que ofrece
UDP, en comparación con IP, es la posibilidad de multiplexar conexiones de
procesos sobre una misma conexión de red.
La simplicidad del UDP hace que sea ideal para aplicaciones que requieren
pocos retardos (por ejemplo, aplicaciones en tiempo real o el DNS). El UDP
también es ideal para los sistemas que no pueden implementar un sistema tan
complejo como el TCP. UDP es útil en aplicaciones donde no importe la pér-
dida de paquetes, como telefonía o videoconferencia sobre TCP/IP, monitori-
zación de señales, etc. Estas aplicaciones no toleran retardos muy variables.
Si un datagrama llega más tarde del instante en que tendría que ser recibido,
entonces se descarta porque es inservible para la aplicación. Eso se traduce en
un ruido en el sonido o la imagen, que no impide la comunicación. La tabla
siguiente muestra algunas de las aplicaciones más comunes que hacen uso de
UDP.
Aplicaciones Puertos
TFTP 69
SNMP 161
DNS 53
La cabecera del datagrama UDP está formada por 8 bytes. Tiene cuatro campos.
(1)
• UDP�length: longitud total del datagrama UDP (payload UDP + 8). Es un Abreviatura de application pro-
gramming interface.
campo redundante, ya que IP lleva la longitud también. Como la longitud
máxima de un datagrama IP es de 65.335 bytes (16 bits de longitud de
datagrama):
– Longitud máxima de un datagrama UDP: 65.335 - 20 bytes = 65.315
bytes.
Se suele usar 8.192 bytes como tamaño máximo del datagrama UDP
(FreeBSD).
Ejemplo
0110011001100000
0101010101010101
1000111100001100
1011010100111101
Esta última palabra se añade también al datagrama UDP. En la recepción se hace la suma
de todas las palabras de 16 bits, que tiene que dar 1111111111111111.
(2)
TCP es un protocolo ARQ2, extremo a extremo, orientado a la conexión (fases ARQ es la abreviatura de Auto-
matic Repeat-reQuest Protocol; en
de establecimiento de la conexión, envío de datos y cierre de la conexión) y castellano, protocolo de repetición
bidireccional (full duplex). La unidad de datos TCP es el "segmento TCP". TCP, de petición automática.
En recepción, como los segmentos pueden llegar fuera de orden, TCP los tiene
que reordenar antes de pasarlos a los niveles superiores.
Cada vez que llegan segmentos de datos al receptor, el API read() los pasa al
nivel superior y se envían sus correspondientes confirmaciones. A medida que
los datos van siendo confirmados por el receptor, se van borrando de la me-
moria intermedia de transmisión y queda espacio libre para que la aplicación
siga escribiendo.
• Seq� Number: será un número a partir de ISN. Por lo tanto, para saber
cuántos bytes llevamos enviados hay que hacer Seq. Number - ISN".
• Push�(PSH): indica que el receptor tiene que pasar los datos de la memo-
ria intermedia de recepción a los niveles superiores tan rápidamente co-
mo sea posible. Operación más rápida sin llenar la memoria intermedia.
La activación de este flag depende de la implementación. Las implemen-
taciones derivadas de BSD lo activan cuando la memoria intermedia de Tx
se queda vacía.
Actividad
Asumimos que un extremo cliente TCP (emisor) ha escogido el 28.325 como número de
secuencia inicial (ISN), mientras que el extremo receptor TCP (servidor) ha escogido como
ISN el 12.555. ¿Qué indica un segmento cliente (emisor) TCP con número de secuencia
29.201, número ACK 12.655 y ventana 1.024?
Solución
TCP es un protocolo orientado a la conexión tal como hemos dicho con an-
terioridad. Eso implica que en todo proceso de comunicación habrá una fase
de establecimiento de la conexión donde emisor y receptor se sincronizan con
el fin de poder intercambiar datos. EN TCP se usa el algoritmo 3-Way Hands-
hake, que consiste en el intercambio de tres segmentos que no llevan datos
(sólo es la cabecera TCP):
3) El cliente responde con un segmento ACK que reconoce el SYN + ACK. Una
vez establecida la conexión se pasa a la fase de envío de datos.
© FUOC • PID_00147723 20 Las capas de la red de computadores
2. El nivel de red
Las principales ventajas que nos proporciona esta capa son, por una parte,
independencia de la tecnología de red (hacia capas inferiores), y, por otra, un
sistema de abstracción que permite utilizar una gran diversidad de aplicaciones
y protocolos de transporte (hacia capas superiores) como, por ejemplo, TCP
o UDP.
Una red está compuesta básicamente por dos tipos de entidades, los clientes
(también conocidos por el nombre de hosts o el de equipos finales) y los enca-
minadores (o routers). Los clientes son los equipos de red encargados de la co-
municación, son el origen y el final de la misma. Normalmente son servidores
de información o equipos de usuarios finales que acceden a los servidores. Por
su parte, los encaminadores, a pesar de que en determinados casos también
pueden ser equipos finales, se limitan a enviar la información que reciben por
una interfaz de entrada a la correspondiente de salida que lleve los datagramas
hacia su destino. Para poder saber hacia dónde va la información, los encami-
nadores se sirven de lo que se conoce como tablas de direccionamiento.
© FUOC • PID_00147723 22 Las capas de la red de computadores
La capa de red necesita que tanto los encaminadores como los equipos finales
tengan un identificador único. Este identificador permite que cualquier otro
equipo de la red lo pueda localizar y enviarle información. En particular, en
una red como Internet estos identificadores se conocen como direcciones (di-
recciones IP).
La figura siguiente muestra una red con ocho encaminadores y dos equipos finales. En la
figura también se puede observar una simplificación de cómo funciona un encaminador
internamente. Para simplificar, en vez de indicar las direcciones de los diversos equipos
hemos identificado, por una parte, los diferentes encaminadores con R (de routers) y un
número que los identifica, y por otra, los diferentes equipos finales con H (de hosts) y
un número para identificarlos.
Como muestra, se puede ver en la figura del ejemplo anterior que el camino que siguen
los datagramas para ir desde H1 hasta H2 es H1-R1-R4-R7-R8-H2, haciendo un total de
5 saltos para llegar al destino.
2) Se busca la dirección de red del encaminador - next hop (o del equipo final
si está directamente conectado al encaminador - last hop).
El servicio de red define las características que tiene que tener el transporte
punto a punto de los datos en la capa de red. Así, se definen características
como la fiabilidad en el envío de la información, orden de llegada de los pa-
quetes, umbrales de retardo en hacer llegar la información a destino, informa-
ción de congestión en la red, etc., entre los diferentes emisores y receptores
dentro de la red.
Actividad
¿Qué diferencias creéis que pueden existir entre el inicio de un circuito virtual en la capa
de red y el establecimiento de una conexión en la capa de transporte? (por ejemplo, el
three-way-handshaking).
Solución
Las redes en modo datagrama son las más usadas actualmente, debido princi-
palmente a que el protocolo de red de Internet (IP) lo utiliza. A pesar de que
hemos visto que el modelo de datagrama hace una utilización de los recur-
sos más eficiente, eso viene con un coste asociado. Con este tipo de redes se
complica muchísimo la priorización del tráfico, ya que nunca se sabe a priori
cuánto tráfico se recibirá, y lo que es más grave, no se sabe qué prioridad se
tiene que dar a cada uno de los flujos de datos presentes en la red, tanto es así
que Internet se basa en el paradigma conocido como best effort, que implica
que la red no nos da ninguna garantía de calidad y que "lo hará lo mejor que
pueda" para hacer llegar el datagrama en su destino.
Actividad
¿Cuál de los dos modelos de red vistos consideráis que hace un uso de los recursos más
eficiente?
Solución
Todos los protocolos de red requieren algún mecanismo con el fin de identifi- Ved también
car los nodos de la red; esta identificación en el protocolo IP se realiza a través
En el subapartado "Direcciona-
de lo que se conoce como dirección IP; actualmente existen dos versiones di- miento en Internet: el protoco-
ferentes del protocolo IP: IPv4 e IPv6. IPv4 es el protocolo más utilizado en la lo IP" se detalla cómo funcio-
nan los protocolos IPv4 e IPv6
actualidad en Internet, pero, dado el gran crecimiento que ha sufrido la red, y qué ventajas e inconvenien-
tes tienen.
se ha propuesto una extensión, IPv6, más actual y que algún día se prevé que
sustituya al IPv4.
© FUOC • PID_00147723 28 Las capas de la red de computadores
2.3.1. IPv4
La cabecera IP
IPv4 define qué información de control y qué formato tienen que tener los
paquetes que se envían a la red. Por eso, y al igual que con los protocolos de
transporte vistos anteriormente, es necesario definir una cabecera que sirva
para poder identificar los paquetes. La cabecera de Ipv4 se puede ver en la
figura siguiente.
Versión�(4�bits): indica qué protocolo de red utiliza este datagrama. Para IPv4
está fijado en 0x04.
• Padding: por motivos de eficiencia, los datos tienen que empezar en una
posición múltiple de 4 octetos, por lo tanto, en el caso de que algunas
opciones introduzcan una desalineación, el padding, que normalmente es
todo ceros, alinea a la palabra del siguiente campo.
Fragmentación IP
(3)
Uno de los puntos más críticos a la hora de diseñar el protocolo IP fue la nece- En inglés, Maximum Transfer
Unit (MTU).
sidad de introducir la fragmentación. La fragmentación IP es necesaria porque
no todas las redes, ni todos los protocolos de enlace de datos, pueden trans-
portar paquetes de tamaño arbitrario. En general, el tamaño máximo vendrá
delimitado en función de la tecnología de red utilizada. Por lo tanto, a causa
de la diversidad de tecnologías que actualmente coexisten en Internet, pode-
mos encontrar casos en los que el tamaño máximo de trama permitido3 sea
menor en algún encaminador dentro del camino a seguir por los datagramas,
forzando a IP a dividir la trama en fragmentos más pequeños que se puedan
transmitir. Un ejemplo puede ser Ethernet, que permite tramas de un tama-
ño máximo de 1.500 bytes, mientras que una tecnología como Asynchronous
Transfer Mode (ATM) en general tiene el máximo en 9.180 bytes. Hace falta
señalar que cuando se fragmenta un datagrama IP, cada fragmento tiene que
ser autocontenido, y tiene que poder ser ensamblado en el destino final (ha-
cerlo en los encaminadores intermedios supondría una pérdida de rendimien-
to considerable), por lo que sólo dividir el datagrama no es suficiente, es ne-
cesario hacer algún tipo de proceso.
Ejemplo de fragmentación
En la figura siguiente se puede ver el caso en que un equipo envía un paquete de tamaño
MTU = 2.500 bytes. Lo que quiere decir que el paquete tendrá 2.480 bytes de información
útil y 20 de cabecera. A la hora de fragmentar se generan dos paquetes diferentes, uno
de 1.480 + 20 y otro de 1.000 + 20. Como se puede ver, el tamaño útil no cambia, pero,
por el hecho de tener dos paquetes diferentes, estamos replicando la cabecera. El valor
del identificador viene dado por un contador interno en el encaminador que fragmenta,
el desplazamiento (offset) para el primer fragmento es 0, y el flag 1, lo que indica que
todavía hay más fragmentos, para el segundo fragmento el offset contiene un 185, ya que
se especifica con grupos de 8 bytes, y un 0 en el flag, que indica que se trata del último
fragmento del datagrama original. Cuando el datagrama llegue a su destino final será
reensamblado y pasado a los niveles superiores de forma transparente.
Direccionamiento IPv4
Los protocolos de red necesitan disponer de una dirección única que permita
identificar todos los nodos de la red. En el caso de Ipv4, tal como se puede
deducir de la cabecera IPv4, la máxima cantidad de direcciones disponibles
es muy grande: 232 (4.294.967.296). Para simplificar su escritura, se dividen
los 32 bit en 4 bloques de 8 bits cada uno, y además, en vez de utilizar la
representación binaria, que es poco legible, en la práctica se escribe la dirección
IP en notación decimal separada por puntos; la dirección estará formada por
4 bloques de números entre 0 y 28 - 1 (255).
• Las direcciones�de�clase�A son las destinadas a empresas muy grandes, Carencia de direcciones IP
como por ejemplo IBM, o grandes operadoras americanas, como AT&T
El reparto de clases A es uno
WorldNet Services, y proporcionan acceso a 224 (16.777.216) equipos por de los causantes de la fuerte
carencia de direcciones IP en la
red, donde 8 bits están destinados a identificar la red y el resto hasta los actualidad.
32 se utilizan para los equipos finales. De direcciones de clase A hay un
total de 27 (255).
A 0 7 (+1) 1.0.0.0-127.0.0.0
B 10 14 (+2) 128.0.0.0-191.255.0.0
D 1110 - 224.0.0.0-239.0.0.0
E 11110 - 240.0.0.0-255.0.0.0
© FUOC • PID_00147723 33 Las capas de la red de computadores
Actividad
Dada la dirección IP 120.1.32.54, indicad cuál es la dirección de red, la dirección del host
y la dirección de broadcast de la red.
Solución
A 10.0.0.0-10.255.255.255 1
B 172.16.0.0-172.31.255.255 16
C 192.168.0.0-192.168.255.255 255
Por lo que se puede deducir de lo que se ha visto hasta ahora, cada equipo de Referencia bibliográfica
una red IPv4 tiene que disponer de una IP pública para poder acceder a la red.
La NAT está definida en de-
Uno de los problemas principales que se encuentran cuando se piden IP a las talle en los documentos RFC-
operadoras es, generalmente, que el usuario (o la empresa) tiene más equipos 2663 y RFC-3022.
que IP asignadas. Un ejemplo de eso es el del usuario con conexión ADSL, que
recibe una sola IP por parte de la compañía telefónica, mientras que muchas
veces el usuario dispone de diversos equipos, como el PC de sobremesa, el
portátil, la PDA, etc. Con el fin de permitir que todos los equipos se puedan
conectar a la red al mismo tiempo hay dos opciones, pedir más IP (solución
difícil y cara) o utilizar direcciones IP privadas y configurar el encaminador
para que haga la conversión desde la dirección IP privada a la IP pública dis-
ponible. Eso se puede conseguir mediante lo que se conoce como NAT.
NAT es una tabla de traducción que se utiliza de la siguiente forma. Si, por
ejemplo, un cliente con dirección privada quiere establecer una conexión con
un equipo que tiene una dirección IP pública (punto 1 de la figura siguiente)
–por ejemplo, un servidor–, el cliente enviará el paquete hacia el encamina-
dor de su red. El mencionado encaminador tendrá configurada una tabla de
traducción, donde transformará la IP origen del datagrama en una IP pública
que tenga reservada a tal efecto. Para completar la traducción, el encaminador
mapeará el puerto origen (de la capa de transporte) en un nuevo puerto origen
asignado por el encaminador. El punto 2 de la figura muestra un ejemplo, en
el que el encaminador transforma la IP origen (192.168.1.4) y el puerto origen
(5.674) del equipo en la IP pública del encaminador (123.26.1.12) y un puerto
asignado dinámicamente (20.543 en el ejemplo). La estación destino ve un
© FUOC • PID_00147723 35 Las capas de la red de computadores
Este mecanismo es muy útil cuando se quiere evitar el uso de direcciones pú-
blicas, a pesar de que tiene una serie de inconvenientes que no permiten usarlo
en determinados entornos. Primero, hay protocolos de aplicación (por ejem-
plo, FTP) que incrustan la IP del cliente dentro del datagrama, esta IP es usada
por el servidor para establecer una nueva conexión (por ejemplo, el caso del
FTP activo), y como el cliente incrusta la IP privada, eso impide que se pueda
establecer la conexión.
Otro problema importante es que todas las conexiones se tienen que iniciar
desde el equipo con IP privada, ya que el encaminador tiene que establecer la
entrada en la tabla de traducción antes de poder enviar información hacia el
equipo con IP privada, lo que normalmente implica que no se puedan tener
servidores con IP privadas. Hay que decir, sin embargo, que eso se puede solu-
cionar con una técnica denominada Port Address Translation (PAT), en la que
el encaminador tiene configurado de forma estática un mapeado, por lo que
cuando llega un datagrama a un puerto concreto, automáticamente reenvía
el paquete hacia el equipo que esté configurado con IP privada. En según qué
entornos, el PAT se conoce también como Destination NAT (DNAT) o incluso
como puerto Forwarding, pero la idea de fondo es la misma.
© FUOC • PID_00147723 36 Las capas de la red de computadores
Una vez definidas las diferentes clases de redes, se vio que esta solución era
claramente insuficiente, ya que forzaba igualmente a las grandes y medianas
operadoras (con clases A y B) a gestionar desde un solo equipo un número de
direcciones demasiado grande, por lo que se propuso el Classless inter Domain
Routing (CIDR).
Así, con CIDR, la separación entre el equipo y la red se consigue gracias a una
máscara. Esta máscara tiene la forma de una dirección IP, que enmascara los
bits de una dirección normal para poder distinguir el equipo y la red de forma
sencilla.
Ejemplo de máscara
Una máscara de 255.255.255.0 permite separar la dirección de red de la del equipo final
haciendo AND con la dirección IP, así:
143 . 45 .1 . 23
143 . 45 .1 .0
Como se puede observar, eso nos da un nivel más fino de división que simpli-
ficará mucho la gestión interna de redes; si una entidad dispone de una clase
B (146.43.0.0), internamente la entidad puede decidir subdividir las 65.536
direcciones en varias subredes, por ejemplo, con 256 subredes de 256 IP cada
una: desde la 146.43.0.0/255.255.255.0 a la 146.43.255.0/255.255.255.0. Ob-
servad que los valores de 255 y 0 para la dirección de red son correctos, sin
que representen direcciones de broadcast y de red, respectivamente. Eso lo po-
demos saber gracias a la máscara.
Mientras que otras, como 255.255.128.0, son totalmente correctas ya que, en formato
binario, resulta:
Donde todos los unos son consecutivos, a pesar de no estar alineados en el octeto.
Por otra parte, gracias a la clasificación por subredes, los encaminadores tie-
nen el trabajo más fácil, ya que para poder decidir la ruta que tiene que tomar
cualquier datagrama, es suficiente mirar la red de destino, y no es necesario
comprobar toda la dirección IP. La dirección IP entera, idealmente, sólo la mi-
rará el último router de la cadena, o sea, el que esté dentro de la misma subred
a la que pertenezca aquel destino. Para implementar este mecanismo, los en-
caminadores basan la decisión de direccionamiento en una política llamada
Longest Prefix Match, lo que significa que, de todas las rutas posibles, siempre
se coge la que tiene más bits coincidentes con el destino del paquete.
Actividad
Dentro de las siguientes subredes e IP, indicad cuántas IP asignables puede contener la
red y explicad el significado.
147.83.32.0/24
1.23.167.23/32
1.23.167.0/32
147.83.32.0/16
Solución
147.83.32.0/24 254 Es una dirección de red en la que tenemos 8 bits para los equipos; sabiendo que la
8
dirección de broadcast y la de red no son asignables, acabamos con el total de 2 - 2
direcciones para asignar.
1.23.167.23/32 1 Dirección con una subred con sólo un equipo. No es útil en un caso real, pero es co-
rrecta.
© FUOC • PID_00147723 38 Las capas de la red de computadores
1.23.167.0/32 1 Como no hay parte de equipo, todo es de red, el hecho de que el último octeto sea
0 hace que la IP no sea una dirección de red genérica sino una específica, como en el
caso anterior.
147.83.32.0/16 1 Hace referencia al equipo 32.0 de la red de clase B 147.83.0.0. Hay que señalar que
no es una dirección de red, ya que no todos los bits de fuera de la máscara son 0;
así, se trata como una dirección de equipo.
Actividad
Solución
(4)
El CIDR se utiliza generalmente en conjunción con la máscara de subred de En inglés, Variable Length Sub-
4 net Mask (VLSM).
tamaño variable , técnica que tiene por objetivo optimizar la utilización de
las direcciones IP a través de una asignación inteligente de las máscaras de
red. Esta asignación se hará ahora teniendo en cuenta el número de máquinas
de cada subred y se asignarán máscaras de tamaño ajustado a las necesidades
particulares de cada una. VLSM se puede ver como la creación de subredes de
las subredes.
Actividad
Solución
• Los 5 + 1 equipos necesitan 3 (23 = 8), con lo que esta subred no podrá crecer más.
En resumidas cuentas, nos harán falta un prefijo /27, un /28, un /29 y tres prefijos
/30 respectivamente. De esta manera, una posible asignación sería:
• Finalmente, los tres prefijos /30 (de los enlaces entre los encaminadores) se pue-
den dividir con el último byte 001110XX, 001111XX y 010000XX, respectiva-
mente. O sea, 147.83.85.56/30, 147.83.85.60/30 y 147.83.85.64/30. Con direccio-
nes de red 147.83.85.56, 147.83.85.60 y 147.83.85.64. Con direcciones de broad-
cast 147.83.85.59, 147.83.85.63 y 147.83.85.67.
Tipo de datagramas IP
El tráfico�broadcast se basa en enviar la información a todos los equipos pre- Requisitos del tráfico
sentes en una subred. Como ya hemos visto anteriormente, eso se puede con- broadcast
seguir enviando un paquete a una dirección que sea la dirección de red y todo Hay que señalar, sin embargo,
1 a la dirección del equipo final, por ejemplo, para la red 126.76.31.0/24, la que enviar tráfico broadcast
normalmente requiere algún
dirección de broadcast sería 126.76.31.255. privilegio en la red (ser admi-
nistrador), además, los enca-
minadores en general no pro-
Finalmente, el caso del tráfico�multicast se basa en el paradigma de enviar pagan este tipo de tráfico con
el fin de evitar problemas de
información desde un solo origen hacia muchos destinos a la vez; la base del seguridad, como, por ejemplo,
ataques del tipo Denial of Ser-
tráfico multicast es que el emisor no tiene por qué tener conocimiento de vice (DoS).
quiénes serán sus receptores (al contrario de la política de unicast, que requiere
conocer a los interlocutores). Eso se consigue a través de lo que se conoce co-
mo grupos de multicast. Como se ha visto anteriormente, la Internet Assigned
Numbers Authority (IANA) ha reservado las direcciones de tipo D a multicast,
éstas son las que van del rango 224.0.0.0 hasta el 239.0.0.0. Dentro de este
grupo de direcciones hay unas cuantas reservadas a grupos multicast conoci-
dos como permanentes.
Actividad
Solución
Dado que el chat es un protocolo que utiliza TCP/IP, y que los clientes, a pesar de
hablar entre ellos, pasan siempre por el servidor, se trata del típico escenario con
80 conexiones unicast entre los 80 clientes y el servidor.
Actividad
Solución
Dado que la subred a la que se quiere enviar el broadcast tiene 8 bits, eso implica
que se generaría un solo paquete con dirección destino 147.83.20.255 y que lo
recibirían como máximo 255 - 2 = 253 estaciones. Ya que la dirección 147.83.20.0
y la 147.83.20.255 están reservadas para la dirección de red y la de broadcast,
respectivamente.
El futuro de Ipv4
Cuando se diseñó IPv4 se creía que su gran número de direcciones IP (232) se-
ría suficiente para poder aguantar el gran crecimiento que se esperaba de una
red como Internet. Hay que recordar que Internet entró en funcionamiento
en 1969 con el nombre de ARPANet, un proyecto subvencionado por el De-
partamento de Defensa de Estados Unidos. Eso provocó que, cuando Internet
se desplegó al cabo de unos años en la red comercial, el reparto de direccio-
nes no se hiciera de forma equitativa, y las grandes empresas estadounidenses
pudieron adjudicarse una gran cantidad de direcciones de clase A, dejando a
países, como China y otros que se han desarrollo posteriormente, con muchas
menos direcciones de las necesarias. Como referencia, Estados Unidos tiene
sobre 1.500 millones de direcciones asignadas, mientras que China, con una
población mucho más numerosa, sólo dispone de 200 millones, aproximada-
mente. Para hacerse una idea, España tiene asignadas en la actualidad en tor-
no a 22 millones.
Con este paradigma, muy pronto se ve que con la actual política para el reparto
de direcciones, dentro de muy poco tiempo ya no quedarán direcciones IPv4
disponibles para asignar, lo que implicará inevitablemente que Internet no
podrá crecer más. Con el fin de minimizar este problema, se diseñó la NAT,
como ya hemos visto, que permite utilizar direcciones privadas para acceder
a la red con una sola IP pública. En la actualidad, países como China o la
India están haciendo un uso intensivo de la NAT por la falta de direcciones
disponibles.
© FUOC • PID_00147723 42 Las capas de la red de computadores
Como esta solución no es escalable y comporta una serie muy importante de Implantación del
problemas a los proveedores de servicios se llegó a la conclusión de que los protocolo IPv6
32 bits de direccionamiento del protocolo IPv4 eran insuficientes, por eso se Por motivos económicos no
diseñó el protocolo IPv6, como veremos a continuación. está implantado todavía IPv6,
y si la demanda de direcciones
IPv4 sigue al ritmo actual, se
prevé que la IANA asignará el
2.3.2. IPv6 último rango de direcciones
IPv4 a mediados del 2011 y
que las autoridades regionales
La carencia de direcciones IPv4 incentivó el diseño de un nuevo protocolo de agotarán las que tienen pen-
dientes de asignar en el 2012,
red, IPv6. En la actualidad, IPv6 está totalmente desarrollado, aunque todavía lo que seguramente forzará a
muchos países a adoptar pre-
no es posible utilizarlo dentro de la red comercial, ya que los operadores toda-
maturamente IPv6. En este
vía no han preparado sus equipos ni tampoco han hecho el reparto de direc- sentido, países como Japón,
China, la India y algunos de
ciones a sus usuarios. Eso, y la dificultad de implantar progresivamente esta América del Sur, ya han adop-
tado el protocolo y utilizan al-
nueva versión y sustituir la anterior es lo que está retrasando su incorporación gunas técnicas que permiten
en el ámbito comercial. la interoperabilidad de los dos
protocolos.
Motivación
El motivo principal que llevó a plantearse una nueva versión del protocolo era
el limitado rango de direcciones que permite IPv4, que, aunque pueda parecer
muy elevado, se vio que sería claramente insuficiente para cubrir la demanda
del mercado en un futuro. Sobre todo, la aparición en los últimos años de una
gran cantidad de dispositivos móviles que quieren formar parte de la gran red
que es Internet ha provocado rápidamente que los 32 bits de direccionamien-
to IPv4 sea insuficiente, tanto es así que si todos estos dispositivos se quisie-
ran conectar de forma simultánea en la red, los operadores probablemente
tendrían problemas por la falta de direcciones IPv4. Para ver este problema
sólo hay que pensar en cuántos teléfonos móviles hay en la actualidad; sólo
en el Estado español hay alrededor de 44 millones, mientras que el número
de IP que hay asignadas actualmente en el país es de unos 22 millones. Eso,
sin contar los usuarios que se conectan desde sus hogares. Cabría pensar que
el problema se podría minimizar con la utilización de NAT, pero, a la larga,
eso puede suponer un grave problema de rendimiento en los encaminadores
por tener que mantener las tablas de traducción de direcciones de millones de
conexiones a la vez. Encima, cada vez hay más pequeñas y medianas empre-
sas que quieren ofrecer a sus clientes una serie de servicios que precisan una
© FUOC • PID_00147723 43 Las capas de la red de computadores
Cabecera IPv6
La cabecera IPv6 tiene una longitud fija de 40 octetos (tal como se puede ver
en la figura siguiente), y consta de los campos siguientes:
Cabecera IPv6
Asignación de direcciones
Prefijo Espacio�de�asignación
0100::/8 Reservado
0200::/7 Reservado
0400::/6 Reservado
0800::/5 Reservado
1000::/4 Reservado
4000::/3 Reservado
6000::/3 Reservado
8000::/3 Reservado
A000::/3 Reservado
C000::/3 Reservado
E000::/4 Reservado
F000::/5 Reservado
F800::/6 Reservado
FE00::/9 Reservado
FEC0::/10 Reservado
Un hecho muy interesante que se consideró para hacer esta asignación de di-
recciones es que da la posibilidad de representar direcciones de diversas tec-
nologías incrustadas dentro de la nueva versión del protocolo. De esta mane-
ra, se pueden representar direcciones IPv4, e incluso direcciones hardware del
enlace de datos (como, por ejemplo, Ethernet).
Hay que señalar que IPv6, aparte de tener direcciones unicast, broadcast
y multicast, como IPv4, añade soporte para un cuarto tipo, que son las
direcciones anycast.
Las direcciones anycast son una gran innovación de IPv6, sobre todo porque
aprovechan las direcciones unicast ya existentes. Así, una dirección unicast se
vuelve anycast desde el momento en que se asigna una misma IPv6 a más de
una interfaz (incluyendo equipos diferentes). La idea que hay detrás de esta
implementación es que responda a las peticiones de un servicio concreto la
estación más próxima.
Actividad
Solución
La dirección link-local vendrá dada por el prefijo link-local, así la dirección será:
FE80::3427:A46F:AE53. Mientras que la dirección de autoconfiguración sale del
prefijo y del MAC, por lo tanto: 2001:0A54:0039::3427:A46F:AE53.
Uno de los motivos principales por los que todavía se trabaja con IPv4 es la
dificultad que comporta la migración al nuevo protocolo. La incompatibilidad
de las direcciones y de las cabeceras de ambos protocolos hace que la actuali-
zación a la nueva versión no sea fácil. También hay que tener en cuenta que
las aplicaciones existentes sólo soportan el sistema de direcciones de IPv4, que
para aceptar las nuevas direcciones se tiene que cambiar el código de la apli-
cación, y también todos los llamamientos al sistema de acceso a la red.
Aparte del nivel de aplicación, hay otro problema muy grave. Dada la gran di-
versidad de redes que forman Internet, hay funcionando equipos muy diver-
sos, y no todos esos equipos de comunicaciones tienen soporte para el nuevo
protocolo, por lo que se tiene que actualizar el sistema operativo de los enca-
minadores de la red, con el consecuente gasto económico y de tiempo que eso
supone, cosa que muchas de las empresas no están dispuestas a aceptar (espe-
cialmente las grandes corporaciones estadounidenses, que son las que tienen
suficientes direcciones).
presas que controlan todas sus transacciones a través de la red, lo que fuerza
a hacer la migración de forma progresiva, transparente para los usuarios y sin
dejar de ofrecer los servicios disponibles en ningún momento.
Hay que señalar que un túnel es el mecanismo por el que se encapsulan dos
protocolos de red dentro de un mismo datagrama, así hay dos cabeceras de
red consecutivas del nivel de red. IPv4 soporta el mecanismo de túnel a través
de un valor especial en el campo Protocolo que se encuentra en la cabecera.
Por lo que respecta a los mecanismos para conectar islas, pretenden resolver el
caso en el que diversas máquinas interconectadas a través de IPv6 (isla IPv6)
se quieren conectar con otra isla IPv6, pero por el camino hay una isla IPv4,
tal como muestra la figura siguiente.
Tanto IPv4 como IPv6 son protocolos de red, pero ambos necesitan soporte
de otros protocolos de la misma capa para poder llevar a cabo ciertas funcio-
nalidades que sería complejo conseguir de otra manera. A pesar de que, dadas
las diferencias estructurales entre los dos protocolos, muchos de los servicios
son diferentes, todos se engloban en este subapartado para simplificar la com-
prensión, ya que, si bien los protocolos divergen, su funcionalidad a menudo
es muy similar.
La tabla siguiente muestra todos los tipos de mensajes existentes con ICMP. Bibliografía
Source�quench Este paquete sirve para regular, indica que aquel enlace está su-
friendo congestión. Actualmente este tipo de paquete no se uti-
liza porque el control se hace mayoritariamente en la capa de
transporte.
Los mensajes ICMP tienen varias utilidades, desde reportar errores hasta de-
purar el estado de la red. Una de las herramientas más utilizadas para poder
ver si un equipo está conectado a la red es el ping. Otra funcionalidad es po-
sible gracias al campo TTL de la cabecera IP, que ayuda a realizar otra tarea de
depuración mediante una herramienta llamada traceroute; esta herramien-
ta nos permite descubrir los encaminadores intermedios entre el origen y el
destino de los datagramas. Para conseguir saber qué encaminadores cruza un
datagrama, el traceroute envía paquetes IP consecutivos con un TTL de 1,
otro de 2, otro de 3, y así sucesivamente hasta llegar al destino. El efecto de
eso es que el primer encaminador, al recibir un paquete con TTL = 1, lo de-
crementa, y al ser 0, lo descarta y envía de vuelta un paquete ICMP de TTL
expired. Ahora sólo hace falta que la aplicación mire a quien ha enviado este
© FUOC • PID_00147723 51 Las capas de la red de computadores
paquete (IP origen) para saber de qué router se trata. Por descontado, con TTL
= 2 sucederá lo mismo con el segundo encaminador, y después con el tercero,
y así sucesivamente hasta el destino.
Para enviar un datagrama IP a una estación de la misma red que el emisor Dirección de nivel de
es necesario descubrir qué dirección del nivel del enlace de datos tiene esta enlace
estación, ya que las tecnologías de capas inferiores no entienden qué es una La dirección de nivel de enla-
dirección IP. Así pues, para que la IP funcione necesita interactuar con las ca- ce es conocida como dirección
MAC y viene dada por los dis-
pas inferiores y descubrir de forma automática cuál es la dirección de enlace positivos de red. Cada disposi-
tivo de red tiene una dirección
de datos a la que responde un equipo para poder intercambiarse información. MAC única.
El protocolo Address Resolution Protocol (ARP) fue diseñado específicamente
para IPv4, y como veremos más adelante, para IPv6 existe el Network Disco-
very Protocol.
RARP
Hemos visto que ARP nos sirve para poder descubrir qué dirección MAC corresponde a
una IP, también hemos visto la importancia de esta operación. Por compleción, ARP tiene
una variante denominada RARP, que nos permite realizar la operación inversa, o sea,
desde una dirección MAC poder averiguar a qué IP corresponde. RARP no es exactamente
un protocolo de la capa de red, ya que incluye muchas funcionalidades de la capa de
enlace de datos, pero, dada la estrecha relación con ARP, se acostumbran a considerar
conjuntamente. RARP ya no se utiliza, ya que hay protocolos como BOOTP y DHCP que
nos ofrecen esta y más funcionalidades como veremos a continuación.
ARP es un protocolo que fue diseñado específicamente para IPv4; con los avan-
ces de las redes hasta hoy ha probado que es insuficiente para según qué servi-
cios. Por eso, con la aparición de IPv6, se decidió que hacía falta un protocolo
más completo. Así apareció el Network Discovery Protocol (NDP).
Eso nos da la versatilidad que no todos los nodos reciben los anuncios, así
en el caso de que no vayan dirigidos hacia ellos ya ni los llegan a ver, con la
reducción en el uso de recursos que eso supone.
Ruta de comunicación creada entre dos máquinas finales, formada por 5 enlaces: 2 enlaces comunican las máquinas finales con
los routers de la red y 3 enlaces internos intercomunican sólo routers de la red.
© FUOC • PID_00147723 55 Las capas de la red de computadores
(5)
• Una de las funcionalidades básicas del nivel de enlace consiste en encap- PDU son las siglas de Protocol
5 Data Unit.
sular/desencapsular los datagramas de la capa de red en PDU de informa-
ción de la capa de enlace, también llamados tramas. Observemos las fle-
chas de la figura que indican el flujo que sigue la información a lo largo
del recorrido. Cuando una trama llega al encaminador desde un enlace
entrante, la capa de enlace desencapsula/extrae el datagrama de la trama
recibida y lo entrega a la capa de red. Una vez la capa de red ha determina-
do el enlace de salida por donde debe encaminar el datagrama, lo envía al
enlace. Aquí el datagrama es encapsulado según las normas del protocolo
de este enlace y preparado para ser enviado.
• Bucle de abonado local, cable de dos hilos telefónico para acceso a Internet.
• Las redes de área local FastEthernet.
• Las redes de área local GigabitEthernet.
• PPP, HDLC (a nivel de enlace), X.25 a nivel de red y TCP a nivel de transporte (en
este caso es además extremo-a-extremo).
El tipo de servicio que la capa de enlace suministra a la capa de red suele ser
alguno de los siguientes:
• Servicio�no�orientado�a�conexión�con�acuse�de�recibo. Se produce un
acuse de recibo para cada trama enviada, aunque todavía no hay estable-
cimiento dé conexión. De esta manera el emisor puede estar seguro de que
ha llegado.
4. El nivel físico
(6)
Para acabar este módulo, estudiaremos la última capa del modelo OSI6. El nivel OSI es la abreviatura de Open
Systems Interconnection; en cas-
físico caracteriza la señal y su modulación, así como describe los medios de tellano, interconexión de sistemas
transmisión físicos. abiertos.
Se puedem utilizar tanto en las transmisiones digitales como en las analógicas. Coste del par trenzado
El ancho de banda que ofrecen depende del grueso del cable y de la distancia.
Debido a su bajo coste y su
rendimiento, es un sistema
Es un sistema muy utilizado en los sistemas de telefonía. Generalmente, los muy popular. El coste es el
más económico (más que el
teléfonos de las viviendas están conectadas con la centralita telefónica a través coaxial o la fibra óptica) por
metro, pero tiene unos costes
de pares trenzados (su ancho de banda es de 4 KHz). También se utiliza en las de conectividad parecidos a
LAN a velocidades de 10, 100 y 1.000 Mbps. Es muy utilizado en las conexiones los de otros medios.
punto a punto, y su ámbito geográfico suele ser de unos 100 metros (en redes
Ethernet).
Después vino la evolución al tipo de cableado Shielded Twisted Pair (STP), lla-
mado par trenzado apantallado, donde cada par de hilos tiene una protección
individual.
Fibra óptica
© FUOC • PID_00147723 64 Las capas de la red de computadores
Resumen
Se ha presentado la capa de enlace que abstrae los nodos de la red del medio
físico sobre el que transmiten la información. Se ha visto que esta capa se
encarga de dirigir la información entre nodos físicos adyacentes y garantizar
transmisión fiable entre ellos. Hay que destacar la tarea de la subcapa de con-
trol de acceso al medio que permite transmitir información entre dos nodos
independientemente de la tecnología de red utilizada, ya sea inalámbrica o ca-
bleada. Finalmente, se ha hecho una breve introducción al nivel físico que se
encarga de los aspectos de modulación y codificación de las señales físicas que
son dependientes directamente de la tecnología y el medio de transmisión. Se
han visto los principales medios de transmisión.
© FUOC • PID_00147723 65 Las capas de la red de computadores
Bibliografía
Almquist, P. (1992, julio). "RFC-1349: Type of Service in the Internet Protocol Suite". Con-
sultant.
Bing, B. (2000). High-Speed Wireless ATM and LAN. Londres: Artech House. ISBN 1-58053-
092-3.
Bing, B. (2000). Broadband Wireless Access. Dordrecht: Kluwer Academic Publishers. ISBN
0-7923-7955-1.
Croft, B.; Gilmore, J. (1985, septiembre). "RFC-951: Bootstrap Protocol (BOOTP)". Stanford
University & Sun Microsystems,
Dijkstra, E. W. (1959). "A note on two problems in connexion with graphs". Numerische
Mathematik (núm. 1, pág. 269-271).
Kent, S.; Seo, K. (2005, diciembre). "RFC-4301: Security Architecture for the Internet Pro-
tocol". BBN Technologies.
Kurose, J.; Ross, K. (2005). Computer Networking: a Top-Down Approach Featuring the Internet.
Amherst: Department of Computer Science, University of Massachusetts.
Postel, J. (1981, septiembre). "RFC-792: Internet Control Message Protocol (ICMP)". ISI,
Rekhter, Y.; Li T.; Hares, S. (2006, enero). "RFC-4271: A Border Gateway Protocol 4 (BGP-
4)".
Srisuresh, P.; Egevang, K. (2001, enero). "RFC-3022: Traditional IP Network Address Trans-
lator (Traditional NAT)". Intel Corporation,
Tanenbaum, A. S. (2003). Redes de computadores (4.ª ed.). Nueva York: Prentice-Hall Profes-
sional Technical Reference.
Seguridad en la
red
Xavier Vilajosana Guillén
PID_00147721
© FUOC • PID_00147721 Seguridad en la red
Ninguna parte de esta publicación, incluido el diseño general y la cubierta, puede ser copiada,
reproducida, almacenada o transmitida de ninguna forma, ni por ningún medio, sea éste eléctrico,
químico, mecánico, óptico, grabación, fotocopia, o cualquier otro, sin la previa autorización escrita
de los titulares del copyright.
© FUOC • PID_00147721 Seguridad en la red
Índice
Introducción............................................................................................... 5
Objetivos....................................................................................................... 7
1. Cortafuegos.......................................................................................... 9
1.1. Sistemas cortafuegos ................................................................... 10
1.2. Construcción de sistemas cortafuegos ........................................ 11
1.2.1. Encaminadores con filtrado de paquetes ...................... 11
1.2.2. Pasarela en el ámbito de aplicación .............................. 13
3. Introducción a la criptografía....................................................... 20
3.1. Criptografía de clave simétrica ................................................... 22
3.1.1. Algoritmos de cifrado de flujo ...................................... 24
3.1.2. Algoritmos de cifrado de bloque ................................... 26
3.1.3. Uso de los algoritmos de clave simétrica ....................... 29
3.1.4. Funciones hash seguras .................................................. 32
3.2. Criptografía de clave pública ...................................................... 34
3.2.1. Algoritmos de clave pública .......................................... 34
3.2.2. Uso de la criptografía de clave pública .......................... 37
3.2.3. Infraestructura de clave pública .................................... 38
4. Certificados digitales........................................................................ 39
4.1. Cadenas de certificados y jerarquías de certificación ................. 40
4.2. Listas de revocación de certificados ............................................ 40
5. Seguridad en la red........................................................................... 42
5.1. Cookies ........................................................................................ 42
5.2. Contenidos activos ...................................................................... 43
5.2.1. Applets ........................................................................... 43
5.2.2. Servlets/JSP ..................................................................... 44
5.2.3. CGI ................................................................................. 44
5.2.4. ASP/PHP ......................................................................... 45
5.2.5. RIA .................................................................................. 46
5.3. Protocolos de seguridad .............................................................. 46
5.3.1. PGP ................................................................................. 47
5.4. SSL ............................................................................................... 49
5.4.1. Características del protocolo SSL/TLS ............................ 50
© FUOC • PID_00147721 Seguridad en la red
Resumen....................................................................................................... 60
Bibliografía................................................................................................. 63
© FUOC • PID_00147721 5 Seguridad en la red
Introducción
Objetivos
3. Tener una visión global de los elementos de la red que pueden precisar
mecanismos de seguridad y conocer los posibles puntos débiles de una red
de computadores.
© FUOC • PID_00147721 9 Seguridad en la red
1. Cortafuegos
Algunos servicios (como por ejemplo web y DNS) necesitan estar abiertos pú-
blicamente, de forma que cualquier equipo conectado a Internet podría ser el
origen de una posible actividad maliciosa contra ellos. Eso hace que sea muy
probable la existencia de ataques regulares contra estos sistemas.
2) La segunda área de riesgo incluye la expansión del perímetro físico del sis-
tema telemático al que acaba de ser conectado el equipo. Cuando la máquina
está aislada, cualquier actividad puede ser considerada como interna del equi-
po (y por lo tanto, de confianza). El procesador trabaja con los datos que en-
cuentra en la memoria, que al mismo tiempo han sido cargados desde un me-
dio de almacenamiento secundario. Estos datos están realmente bien protegi-
dos contra actos de modificación, eliminación, observación maliciosa, etc., ya
que se transfieren entre diferentes componentes de confianza.
Pero esta misma premisa no es cierta cuando los datos son transferidos a tra-
vés de una red. La información transmitida por el medio de comunicación es
reenviada por dispositivos que están totalmente fuera del control del recep-
tor. Esta información podría ser leída, almacenada, modificada y más tarde
retransmitida hacia el receptor legítimo. Especialmente en grandes redes co-
mo Internet, no es trivial la autenticación del origen que se presenta como el
emisor de un mensaje.
(1)
Los sistemas cortafuegos1 son un mecanismo de control de acceso sobre la capa En inglés, firewall.
de red. La idea básica es separar nuestra red (donde los equipos que intervienen
son de confianza) de los equipos del exterior (potencialmente hostiles).
Un sistema cortafuegos actúa como una barrera central para reforzar el control
de acceso a los servicios que se ejecutan tanto en el interior como en el exterior
de la red. El cortafuegos intentará prevenir los ataques del exterior contra las
máquinas internas de nuestra red denegando peticiones de conexión desde
partes no autorizadas.
1) Todo el tráfico que sale del interior hacia el exterior de la red a proteger, y
viceversa, tiene que pasar por el cortafuegos. Eso se puede conseguir bloquean-
do físicamente todo el acceso al interior de la red a través del sistema.
(2)
Los encaminadores con filtrado de paquetes, al trabajar a nivel de red, pueden UDP es la abreviatura de User
Datagram Protocol.
aceptar o denegar paquetes fijándose en las cabeceras del protocolo (tanto IP
como UDP2, TCP...), en las que se incluyen:
Las reglas están organizadas en conjuntos de listas con una determinada polí-
tica por defecto (denegarlo todo, aceptarlo todo...).
Cada paquete que llegue al dispositivo será comparado con las reglas, empe-
zando por el principio de la lista hasta que se encuentre la primera coinciden-
cia. Si existe alguna coincidencia, se activará la acción indicada en la regla
(denegar, aceptar, redirigir...).
Una política de denegación por defecto acostumbra a ser más costosa de man-
tener, ya que será necesario que el administrador indique explícitamente todos
los servicios que tienen que permanecer abiertos (el resto, por defecto, serán
todos denegados).
• Las reglas de filtrado pueden llegar a ser muy complicadas, lo que provoca
en ocasiones que los posibles descuidos en su configuración sean aprove-
chados por un atacante para realizar una violación de la política de segu-
ridad.
(3)
Una pasarela en el ámbito de aplicación, conocida también como servidor En inglés, proxy.
3
intermediario , no direcciona paquetes a nivel de red sino que actúa como
retransmisor en el ámbito de aplicación. Los usuarios de la red contactarán
con el servidor intermediario, que a su vez estará ofreciendo un servicio proxy
asociado a una o más aplicaciones determinadas.
© FUOC • PID_00147721 14 Seguridad en la red
Estas dos características hacen que las pasarelas ofrezcan una mayor seguridad
con respecto a los filtros de paquetes, presentando un rango de posibilidades
muy elevado. Por el contrario, la penalización introducida por estos disposi-
tivos es mucho mayor. En el caso de una gran carga de tráfico en la red, el
rendimiento puede llegar a reducirse drásticamente.
Otro beneficio del uso de pasarelas es que el protocolo también puede ser fil-
trado, prohibiendo así el uso de diferentes subservicios dentro de un mismo
servicio permitido. Por ejemplo, mediante una pasarela que filtrara conexio-
nes FTP, sería posible prohibir únicamente el uso del comando PUT de FTP
dejando habilitados el resto de comandos. Esta característica no es posible ob-
tenerla sólo con el uso de filtros de paquetes.
A pesar de obtener más control global sobre los servicios vigilados, las pasarelas
también presentan algunas problemáticas. Uno de los primeros inconvenien-
tes a destacar es la necesidad de tener que configurar un servidor proxy para
cada servicio de la red que se ha de vigilar (HTTP, DNS, Telnet, FTP...). Además,
en el caso de protocolos cliente-servidor, como, por ejemplo, Telnet, pueden
llegar a ser necesarios algunos pasos adicionales para conectar el punto final
de la comunicación.
© FUOC • PID_00147721 16 Seguridad en la red
Los protocolos seguros que hemos visto hasta ahora permiten proteger las co-
municaciones, por ejemplo, de una aplicación implementada como un pro-
ceso cliente que se ejecuta en un ordenador y un proceso servidor que se eje-
cuta en otro ordenador. Si hay otras aplicaciones que también necesitan una
comunicación segura entre estos dos ordenadores, o entre ordenadores situa-
dos en las mismas redes locales, pueden hacer uso de otras instancias de los
protocolos seguros: nuevas asociaciones de seguridad IPsec, nuevas conexio-
nes SSL TLS, etc.
(4)
Una posibilidad alternativa es establecer una red privada virtual4 entre estos En inglés, Virtual Private Net-
work (VPN).
ordenadores o las redes locales en las que están situados.
Por lo tanto, una VPN es una red lógica o virtual creada sobre una infraestruc-
tura compartida, pero que proporciona los servicios de protección necesarios
para una comunicación segura.
Dependiendo de la situación de los nodos que hacen uso de esta red, podemos
considerar tres tipos de VPN:
A cada uno de los tipos de VPN le suele corresponder una configuración es-
pecífica.
• En las VPN entre intranets, la situación más habitual es que en cada in-
tranet haya una pasarela�VPN que conecta la red local con Internet. Esta
pasarela se comunica con la de las otras intranets, aplicando el cifrado y
las protecciones que sean necesarias para las comunicaciones de pasarela
a pasarela a través de Internet. Cuando los paquetes llegan a la intranet
de destino, la pasarela correspondiente los descifra y los reenvía por la
red local hasta el ordenador que los tenga que recibir. De esta manera se
utiliza la infraestructura pública como Internet, en lugar de establecer lí-
neas privadas dedicadas, que supondrían un coste más elevado. También
se aprovecha la fiabilidad y redundancia que proporciona Internet, ya que
si una ruta no está disponible siempre se pueden encaminar los paquetes
por otro lugar, mientras que con una línea dedicada la redundancia supo-
ne un coste todavía mayor.
(5)
• En las VPN de acceso remoto, a veces llamadas VPDN5, un usuario se puede VPDN son las siglas de Virtual
Private Dial Network.
comunicar con una intranet a través de un proveedor de acceso a Internet,
utilizando tecnología convencional, como, por ejemplo, a través de un
módem ADSL. El ordenador del usuario tiene que disponer de software
cliente�VPN para comunicarse con la pasarela VPN de la intranet y llevar a
cabo la autenticación necesaria, el cifrado, etc. Así, también se aprovecha
la infraestructura de los proveedores de Internet para el acceso a la intranet,
sin necesidad de llamadas a un módem de la empresa, que pueden llegar
a tener un coste considerable.
• El caso de las VPN extranet puede ser como el de las VPN entre intranets,
en las que la comunicación segura se establece entre pasarelas VPN, o bien
como el de las VPN de acceso remoto, en las que un cliente VPN se comu-
nica con la pasarela de la intranet. La diferencia, sin embargo, es que, en
este caso, normalmente el control de acceso es más restrictivo para permi-
tir sólo el acceso a los recursos autorizados.
© FUOC • PID_00147721 18 Seguridad en la red
Hay diversos protocolos que pueden ser utilizados para establecer los túneles,
dependiendo del nivel de la comunicación en el que se quiera hacer la pro-
tección.
(6)
• 6
El protocolo PPTP (RFC 2637) especifica una técnica para la encapsulación PPTP es la abreviatura de Point-
to-Point Tunneling Protocol.
de tramas PPP pero no añade servicios de autenticación. Estos servicios se
pueden realizar con los mismos protocolos que utiliza PPP, como Password
Authentication Protocol (BUCHE) o Challenge Handshake Authentication
Protocol (CHAP).
© FUOC • PID_00147721 19 Seguridad en la red
(7)
• 7
El protocolo L2F (RFC 2637) es parecido al PPTP pero también puede tra- L2F es la abreviatura de Layer
Two Forwarding.
bajar con SLIP, además de con PPP. Para la autenticación puede utilizar
protocolos auxiliares como Remote Authentication Dial-In User Service
(RADIUS).
(8)
• El protocolo L2TP8 (RFC 2661) combina las funcionalidades que ofrecen L2TP es la abreviatura de Layer
Two Tunneling Protocol.
PPTP y L2F.
(9)
SSH es la abreviatura de Secure
• 9
El protocolo SSH ofrece la posibilidad de redirigir puertos TCP sobre un Shell.
3. Introducción a la criptografía
C = f(M)
A fin de que este cifrado sea útil, tiene que existir otra transformación o algo-
ritmo de descifrado f-1, que permita recuperar el mensaje original a partir del
texto cifrado:
M - f-1 (C)
La cifra de César
La cifra�de�César consiste en sustituir cada letra del mensaje por la que hay tres posicio-
nes después en el alfabeto (volviendo a empezar por la letra A si llegamos a la Z). Así, si
aplicamos este algoritmo de cifrado al texto en claro "ALEA JACTA EST" (y utilizamos el
alfabeto latino actual, porque en tiempos de César no había letras como la "W"), obtene-
mos el texto cifrado "DOHD MDFWD HVW". El descifrado en este caso es bien sencillo:
sólo hay que sustituir cada letra por la que hay 3 posiciones después en el alfabeto.
© FUOC • PID_00147721 21 Seguridad en la red
El algoritmo de Julio César se puede generalizar definiendo una clave k que indique cuán-
tas posiciones se adelanta cada letra en el alfabeto. La cifra de César, pues, utiliza k = 3.
Para el descifrado se puede utilizar el mismo algoritmo, pero con la clave invertida (de
º e, x = -k).
Entonces, podemos hablar de una función de cifrado e con una clave de cifra-
do k, y una función de descifrado d con una clave�de�descifrado x:
C = e(k,M)
M = d(x,C) = d(x,e(k,M))
Así, una solución al problema del espía que se entera de cómo descifrar los
mensajes podría ser continuar utilizando el mismo algoritmo, pero con una
clave diferente.
• Aplicando la fuerza�bruta,�es�decir,�probando�uno�a�uno�todos�los�va-
lores�posibles�de�la�clave�de�descifrado x hasta encontrar uno que pro-
duzca un texto en claro con sentido.
Continuando con el ejemplo del algoritmo de César generalizado (con clave), un ataque
criptoanalítico podría consistir en analizar las propiedades estadísticas del texto cifrado.
Las letras cifradas que más se repiten probablemente corresponden a vocales o a las con-
sonantes más frecuentes, las combinaciones más repetidas de dos (o tres) letras seguidas
probablemente corresponden a los dígrafos (o trígrafos) que típicamente aparecen más
veces en un texto, etc.
Por otra parte, el ataque con fuerza bruta consistiría en intentar el descifrado con cada
uno de los 25 posibles valores de la clave (1£ x£ 25, si el alfabeto tiene 26 letras) y mirar
cuál da un resultado inteligible. En este caso, la cantidad de recursos necesarios es tan
modesta que incluso se puede hacer el ataque a mano. Por lo tanto, este cifrado sería un
ejemplo de algoritmo inseguro o débil.
C = e(k,M)
© FUOC • PID_00147721 23 Seguridad en la red
M = d(k,C) = d(k,e(k,M))
Canales seguros
Esta solución, sin embargo, tiene algunos inconvenientes. Por una parte, se
supone que el canal seguro no será de uso tan ágil como el canal inseguro (si
lo fuera, sería mucho mejor enviar todos los mensajes confidenciales sin cifrar
por el canal seguro, y olvidarnos del canal inseguro). Por lo tanto, puede ser
difícil ir cambiando la clave. Y por otra parte, este esquema no es bastante
general: puede ser que tengamos que enviar información cifrada a alguien
© FUOC • PID_00147721 24 Seguridad en la red
C = M⊕ S(k)
M = C⊕ S(k)
A menudo, las comunicaciones entre los portaaviones y los aviones utilizan el cifrado
de Vernam. En este caso, se utiliza el hecho de que en un momento dado (antes de ele-
varse) tanto el avión como el portaaviones están en el mismo lugar, e intercambiarse,
por ejemplo, un disco duro de 20 GB con una secuencia aleatoria no es un problema.
Posteriormente, cuando el avión despega puede establecer una comunicación segura con
el portaaviones utilizando una cifra de Vernam con la clave aleatoria que ambas partes
comparten.
Cifras�síncronas�y�asíncronas
Los algoritmos de cifrado de flujo actualmente en uso tienen la propiedad de ser poco
costosos de implementar. Las implementaciones en hardware son relativamente simples
y, por lo tanto, tienen un rendimiento eficiente (en términos de bits cifrados por segun-
do). Pero también las implementaciones en software pueden ser bastante eficientes.
Las características del cifrado de flujo lo hacen apropiado para entornos en los que haga
falta un rendimiento alto y los recursos (capacidad de cálculo, consumo de energía) sean
limitados. Por eso se suelen utilizar en comunicaciones móviles: redes locales sin hilos,
telefonía móvil, etc.
pero entonces puede ser necesario indicar de alguna manera cuántos bits había
realmente en el mensaje original. El descifrado también se tiene que realizar
bloque a bloque. La figura siguiente muestra el esquema básico del cifrado de
bloque.
Está claro que la clave tiene que ser una permutación del alfabeto, es decir, no puede
haber letras repetidas ni faltar ninguna. Si no, la transformación no sería invertible en
general. La clave se puede expresar entonces como la secuencia correlativa de letras que
corresponden a la A, la B, la C, etc.
Alfabeto: A B C D E F G H Y J K L M N O P Q R S T U V W X Y Z
Clave: Q W E R T Y U Y O P A S D F G H J K L Z X C V B N M
Texto�en�claro: A L E A J A C T A E S T
Texto�cifrado: Q S T Q P Q E Z Q T L Z
© FUOC • PID_00147721 28 Seguridad en la red
Ejemplo de transposición
Un ejemplo de transposición podría ser formar grupos de cinco letras, incluidos los es-
pacios en blanco, y reescribir cada grupo (1,2,3,4,5) en el orden (3,1,5,4,2):
Texto�en�claro: A L E A J A C T A E S T
Texto�cifrado: E A A L C J A T A S T E
Confusión�y�difusión
Durante muchos años el algoritmo de cifrado de bloque ha sido el algoritmo más estu-
diado y, al mismo tiempo, el más utilizado. Desarrollado por IBM durante los años seten-
ta, fue adoptado por el NBS norteamericano (nombre que tenía entonces el actual NIST)
como estándar para el cifrado de datos del año 1977. NBS y NISTNBS eran las siglas de
National Bureau of Standards, y NIST son las siglas de National Institute of Standards
and Technology.
El algoritmo admite una clave de 64 bits, pero sólo 7 de cada 8 intervienen en el cifrado.
Un posible uso de los bits de la clave DES que no influyen en el algoritmo es como bits
© FUOC • PID_00147721 29 Seguridad en la red
La parte central del algoritmo consiste en dividir la entrada en grupos de bits, hacer una
sustitución diferente sobre cada grupo y, a continuación, una transposición de todos los
bits. Esta transformación se repite 16 veces: a cada iteración, la entrada es una transpo-
sición diferente de los bits de la clave sumada bit a bit (XOR) con la salida de la itera-
ción anterior. Tal como está diseñado el algoritmo, el descifrado se realiza igual que el
cifrado, pero haciendo las transposiciones de la clave en el orden inverso (empezando
por la última).
A pesar de que a lo largo de los años el algoritmo DES ha demostrado ser muy resistente
al criptoanálisis, su principal problema actualmente es la vulnerabilidad a los ataques de
fuerza bruta, a causa de la longitud de la clave, de sólo 56 bits. Si en los años setenta
era muy costoso hacer una búsqueda entre las 256 combinaciones posibles, la tecnología
actual permite romper el algoritmo en un tiempo cada vez más corto.
Por eso, en 1999 el NIST cambió el algoritmo DES por el "Triple DES" como estándar
oficial, mientras no estuviera disponible el nuevo estándar AES. El Triple DES, como su
nombre indica, consiste en aplicar el DES tres veces consecutivas. Eso se puede hacer con
tres claves (k1, k2, k3), o bien con sólo dos diferentes (k1, k2, y otra vez k1). La longitud
total de la clave en la segunda opción es de 112 bits (dos claves de 56 bits), que hoy ya
se considera bastante segura; la primera opción proporciona más seguridad, pero a costa
de utilizar una clave total de 168 bits (3 claves de 56 bits), que puede costar un poco más
gestionar e intercambiar.
Para hacer el sistema adaptable al estándar antiguo, en el Triple DES se aplica una secuen-
cia cifrado-descifrado-cifrado (E-D-E) en lugar de tres cifrados:
Como el estándar DES empezaba a quedarse anticuado, a causa sobre todo de la longitud
tan corta de las claves, y el Triple DES no es muy eficiente cuando se implementa con
software, en 1997 el NIST convocó a la comunidad criptológica para que presentara pro-
puestas sobre un nuevo estándar, el AES, que sustituyera al DES. De los quince algoritmos
candidatos que se aceptaron, se escogieron cinco como finalistas, y en octubre del 2000
se dio a conocer al ganador, el algoritmo Rijndael, propuesto por los criptógrafos belgas
Joan Daemen y Vincent Rijmen.
El Rijndael puede trabajar con bloques de 128, 192 o 256 bits (aunque el estándar AES
sólo prevé los de 128), y la longitud de la clave también puede ser 128, 192 o 256 bits.
Dependiendo de esta última longitud, el número de iteraciones del algoritmo es 10, 12 o
14, respectivamente. Cada iteración incluye una sustitución fija byte a byte, una trans-
posición, una transformación consistente en desplazamientos de bits y XOR, y una suma
binaria (XOR) con bits obtenidos a partir de la clave.
La operación de aplicar el cifrado DES con una clave y volver a cifrar el resultado con otra
no es equivalente a un solo cifrado DES (no hay ninguna clave única que dé el mismo
resultado que dan las otras dos juntas). Si no fuera así, la repetición del DES no sería más
segura que el DES simple.
Un aspecto a tener en cuenta es que si bien el cifrado puede hacer que un ata-
cante no descubra directamente los datos transmitidos, a veces es posible que
se pueda deducir información indirectamente. Por ejemplo, en un protocolo
© FUOC • PID_00147721 30 Seguridad en la red
que utilice mensajes con una cabecera fija, la aparición de los mismos datos
cifrados varias veces en una transmisión puede indicar dónde empiezan los
mensajes.
Eso no pasa con las cifras de flujo si su período es lo bastante largo, pero en
una cifra de bloque, si dos bloques de texto en claro son iguales y se utiliza
la misma clave, los bloques cifrados también serán iguales. Para contrarrestar
esta propiedad, se pueden aplicar en diversos modos�de�operación a las cifras
de bloque:
generados en cada iteración puede ser menor o igual que la longitud de bloque
b. Tomando por ejemplo n = 8, tenemos una cifra que genera un byte cada vez
sin tener que esperar a tener un bloque entero para poder cifrarlo.
Hay otra técnica para evitar que en textos de entrada iguales se obtengan tex-
tos cifrados iguales, que es aplicable también a los cifrados que no usan vec-
tor de inicialización (incluidas las cifras de flujo). Esta técnica consiste en mo-
dificar la clave secreta con bits aleatorios antes de usarla en el algoritmo de
cifrado (o en el de descifrado). Como estos bits aleatorios sirven para dar un
"sabor" diferente a la clave, se les suele llamar bits�de�sal. Igual que el vector
de inicialización, los bits de sal se envían en claro antes del texto cifrado.
© FUOC • PID_00147721 32 Seguridad en la red
(10)
Aparte de cifrar datos, hay algoritmos basados en técnicas criptográficas que En inglés, message digest.
se usan para garantizar la autenticidad de los mensajes. Un tipo de algoritmos
de estas características son las llamadas funciones�hash�seguras, también co-
nocidas como funciones de resumen�de�mensaje10.
En general, podemos decir que una función hash nos permite obtener una
cadena de bits de longitud fija, relativamente corta, a partir de un mensaje de
longitud arbitraria:
H = h(M)
Para mensajes M iguales, la función h tiene que dar resúmenes H iguales. Pero
si dos mensajes dan el mismo resumen H no necesariamente tienen que ser
iguales. Eso es así porque sólo hay un conjunto limitado de posibles valores
H, ya que su longitud es fija, y en cambio puede haber muchos más mensajes
M (si la longitud puede ser cualquiera, habrá infinitos).
Para poder aplicarla en un sistema de autenticación, la función h tiene que ser Secreto de los algoritmos
una función hash segura.
Notad que las funciones hash
son conocidas ya que todo el
mundo tiene que poder calcu-
lar los resúmenes de la misma
Se entiende que una función hash o de resumen es segura si cumple manera.
estas condiciones:
Estas propiedades permiten el uso de las funciones hash seguras para dar un
servicio de autenticidad basado en una clave secreta S compartida entre dos
partes A y B. Aprovechando la unidireccionalidad, cuando A quiere enviar un
mensaje M a B puede preparar otro mensaje Ms, por ejemplo, concatenando el
original con la clave: Ms = (M,s). Entonces envía a B el mensaje M y el resumen
del mensaje Ms.
Autenticidad y confidencialidad
Cifrar sólo el resumen, en lugar del mensaje entero, es más eficiente porque hay menos
bits a cifrar. Eso, claro está, suponiendo que sólo haga falta autenticidad, y no confiden-
cialidad. Si también interesa que el mensaje sea confidencial, entonces sí que hay que
cifrarlo entero.
Con el fin de dificultar los ataques contra las funciones de resumen, por una
parte los algoritmos tienen que definir una relación compleja entre los bits de
la entrada y cada bit de la salida. Por otra parte, los ataques de fuerza bruta se
contrarrestan haciendo bastante larga la longitud del resumen. Por ejemplo,
los algoritmos usados actualmente generan resúmenes de 128 o 160 bits. Eso
quiere decir que un atacante podría tener que probar del orden de 2128 o 2160
mensajes de entrada para encontrar una colisión (es decir, un mensaje dife-
rente que diera el mismo resumen).
Pero hay otro tipo de ataque más ventajoso para el atacante, llamado ataque
del�cumpleaños. Un ataque de este tipo parte del supuesto de que el atacante
puede escoger el mensaje que será autenticado. La víctima lee el mensaje y,
si está de acuerdo, lo autentica con su clave secreta. Pero el atacante ha pre-
sentado este mensaje porque ha encontrado otro que da el mismo resumen,
y por lo tanto puede hacer creer al destinatario que el mensaje auténtico es
este otro. Y eso se puede conseguir haciendo una búsqueda de fuerza bruta
con muchas menos operaciones: del orden de 264 o 280, si el resumen es de
128 o 160 bits, respectivamente.
La resistencia de los algoritmos de resumen a las colisiones, tal como la hemos definido,
a veces se llama "resistencia débil", mientras que la propiedad de ser resistente a ataques
del cumpleaños se llama " resistencia fuerte".
La conclusión es que si una función de resumen puede dar N valores diferentes, para que
la probabilidad de encontrar dos mensajes con el mismo resumen sea del 50% el número
de mensajes que hay que probar es del orden de √N
El objetivo de estos algoritmos es que cada bit de la salida dependa de todos los bits de la
entrada. Eso se consigue con diversas iteraciones de operaciones que "mezclen" los bits
entre sí, de manera parecida a cómo la sucesión de transposiciones en los cifrados de
bloque provoca un "efecto avalancha" que garantiza la difusión de los bits.
Hasta hace poco, el algoritmo de hash más usado era el MD5 (Message Digest 5). Pero
como el resumen que da es de sólo 128 bits, y aparte se han encontrado otras formas de
generar colisiones parciales en el algoritmo, actualmente se recomienda utilizar algorit-
mos más seguros, como el SHA-1 (Secure Hash Algorithm-1). El algoritmo SHA-1, publi-
cado en 1995 en un estándar del NIST (como revisión de un algoritmo anterior llamado
simplemente SHA), da resúmenes de 160 bits. En el 2002 el NIST publicó variantes de
este algoritmo que generan resúmenes de 256, 384 y 512 bits.
Los algoritmos de clave pública típicamente permiten cifrar con la clave pú-
blica (kpub) y descifrar con la clave privada (kpr):
© FUOC • PID_00147721 35 Seguridad en la red
C = e(kpub,M)
M = d(kpr,C)
Pero también puede haber algoritmos que permitan cifrar con la clave privada
y descifrar con la pública (más adelante veremos cómo se puede utilizar esta
propiedad):
C = e(kpr,M)
M = d(kpub,C)
y = bx mod m
Para obtener 1411 mod 19 podemos multiplicar 11 veces el número 14, dividir el resultado
entre 19 y tomar el residuo de la división, que es igual en 13. Pero también se puede
aprovechar que el exponente 11 es 1011 en binario (11 = 1·23 + 0·22 + 1·21 + 1·20), y por
lo tanto 1411 = 148 · 142 · 141, para obtener el resultado con menos multiplicaciones:
© FUOC • PID_00147721 36 Seguridad en la red
Así, sabemos que log14 13 = 11 (mod 19). Pero si tuviéramos que obtener el logaritmo
de cualquier otro número y tendríamos que ir probando uno a uno los exponentes hasta
encontrar uno que dé como resultado y. Y si en vez de tratarse de números de 4 o 5 bits
como éstos fueran números de más de 1.000 bits, el problema sería intratable.
Así pues, los algoritmos de clave pública se tienen que diseñar de manera que
sea inviable calcular la clave privada a partir de la pública, y lógicamente tam-
bién tiene que ser inviable invertirlos sin saber la clave privada, pero el cifrado
y el descifrado se tienen que poder realizar en un tiempo relativamente corto.
A puede escoger una clave simétrica k, cifrarla con la clave pública de B, y enviar el
resultado a B. Entonces B descifrará con su clave privada el valor recibido, y sabrá cuál
es la clave k que ha escogido A. El resto de la comunicación irá cifrada con un algoritmo
simétrico (mucho más rápido), utilizando esta clave k. Los atacantes, como no conocerán
la clave privada de B, no podrán deducir el valor de k.
Cifrado: C = Me mod n
Descifrado: M = Cd mod n
Como se puede ver, la clave pública y la privada son intercambiables: si se usa cualquiera
de ellas para cifrar, habrá que usar la otra para descifrar.
La fortaleza del algoritmo RSA se basa, por una parte, en la dificultad de obtener M a partir
de C sin conocer d (problema del logaritmo discreto), y por otra parte, en la dificultad de
obtener p y q (y por lo tanto d) a partir de n (problema de la factorización de números
grandes, que es otro de los problemas considerados difíciles).
Actualmente, el problema de factorizar números de 512 bits es muy complejo, pero abor-
dable si se dispone de bastantes recursos. Por lo tanto, se recomienda utilizar claves pú-
blicas con un valor n a partir de 1.024 bits. Como exponente público e típicamente se
utilizan valores sencillos como 3 o 65.537 (1216 + 1) porque hacen más rápido el cifrado.
Para evitar este tipo de ataque, lo que se cifra realmente con la clave pública
no es directamente el valor secreto (en este caso ks), sino que a este valor se le
añade una cadena más o menos larga de bits aleatorios. El receptor sólo tiene
que descartar estos bits aleatorios del resultado que obtenga del descifrado.
Tal como hemos visto hasta ahora, la criptografía de clave pública permite re-
solver el problema del intercambio de claves, haciendo uso de las claves pú-
blicas de los participantes. Ahora, sin embargo, se plantea otro problema: si
alguien nos dice que es A y su clave pública es kpub, ¿cómo poder saber que
kpub es realmente la clave pública de A? Porque es perfectamente posible que
un atacante Z genere su par de claves (k'pr,k'pub) y nos diga "yo soy A, y mi
clave pública es k'pub".
Una posible solución a este problema es que haya alguien de confianza que
nos asegure que efectivamente las claves públicas pertenecen a sus supuestos
propietarios. Ese alguien puede firmar un documento que diga "la clave públi-
ca de A es ", y publicarlo para que todo el mundo tenga conocimiento de
ello. Este tipo de documento se llama certificado�de�clave�pública y es la base
de lo que se conoce como infraestructura�de�clave�pública�(PKI).
© FUOC • PID_00147721 39 Seguridad en la red
4. Certificados digitales
(11)
Si el autor de la signatura es alguien en quien confiamos, el certificado nos En inglés, Certification Autho-
rity (CA).
sirve como garantía de que la clave pública pertenece al usuario que figura en
ella. Quien firma el certificado puede ser una autoridad que se responsabilice
de verificar de manera fehaciente la autenticidad de las claves públicas. En
este caso, se dice que el certificado ha sido generado por una autoridad�de
certificación11.
Puede haber diferentes formatos de certificados, pero el más usado es el de los El directorio X.500
certificados�X.509, especificado en la definición del servicio�de�directorio
La especificación del directorio
X.500. X.500 está publicada en la Se-
rie de Recomendaciones ITU-T
X.500, una de las cuales es la
El directorio X.500 permite almacenar y recuperar información, expresada co- Recomendación X.509.
mo atributos, de un conjunto de objetos. Los objetos X.500 pueden represen-
tar, por ejemplo, países, ciudades, o bien empresas, universidades (en general, (12)
En inglés, Distinguished Name
organizaciones), departamentos, facultades (en general, unidades organizati- (DN).
vas), personas, etc. Todos estos objetos están organizados jerárquicamente en
forma de árbol (en cada nodo del árbol hay un objeto) y, dentro de cada nivel,
los objetos se identifican mediante un atributo� distintivo. A escala global,
cada objeto se identifica con un nombre�distintivo12, que no es más que la
concatenación de los atributos distintivos que hay entre la raíz del árbol y el
objeto en cuestión.
El sistema de nombres es, pues, parecido al DNS de Internet, con la diferencia Ejemplos de nombre
de que los componentes de un nombre DNS son simples cadenas de caracteres, distintivo
y los de un DN X.500 son atributos, cada uno con un tipo y un valor. Algunos ejemplos de tipos de
atributos que se pueden usar
como atributos distintivos en
X.500 define un protocolo de acceso al servicio que permite realizar operacio- un DN son: countryName (ha-
bitualmente denotado con la
nes de consulta, y también operaciones de modificación de la información de abreviatura "c"), stateOrPro-
los objetos. Estas últimas operaciones, sin embargo, normalmente sólo están vinceName ("st"), localityName
("l"), organizationName ("o"),
permitidas a ciertos usuarios autorizados, y por lo tanto hacen falta mecanis- organizationalUnitName ("ou"),
commonName ("cn"), surna-
mos de autenticación de los usuarios, y estos mecanismos están definidos en me ("sn"), etc. Un ejemplo de
la Recomendación X.509. Hay un mecanismo básico que utiliza contraseñas, DN es "c=ES, st=Barcelona,
l=Barcelona, o=Universitat
y un mecanismo más avanzado que utiliza certificados. Oberta de Catalunya, ou=SI,
cn=cv.uoc.edu".
© FUOC • PID_00147721 40 Seguridad en la red
(13)
La Recomendación X.509, además de definir el formato de los certificados, En inglés, Certificate Revocation
List (CRL).
también define otra estructura denominada lista�de�revocación�de�certifica-
dos13.
Una lista de este tipo sirve para publicar los certificados que han dejado de
ser válidos antes de su fecha de caducidad. Los motivos pueden ser diversos:
se ha emitido otro certificado que sustituye al revocado, ha cambiado el DN
del titular (por ejemplo, ha dejado de trabajar en la empresa donde estaba), le
han robado su clave privada, etc.
© FUOC • PID_00147721 41 Seguridad en la red
5. Seguridad en la red
5.1. Cookies
Técnicamente, las cookies son trozos de datos arbitrarios definidos por el ser-
vidor web y enviados al navegador. El navegador las devuelve sin modificar al
servidor, reflejando así un estado (memoria de acontecimientos anteriores) en
las transacciones HTTP, que de otra manera serían independientes de estado.
© FUOC • PID_00147721 43 Seguridad en la red
Sin las cookies, cada petición de una página web o un componente de una
página web sería un acontecimiento aislado, sin ninguna relación con el resto
de peticiones de otras páginas del mismo sitio.
Al devolver una cookie al servidor web, el navegador le proporciona un me- Navegadores y cookies
dio para relacionar la solicitud de la página actual con solicitudes de páginas
Las especificaciones de cookies
anteriores. Además de ser definidas por un servidor web, las cookies también sugieren que los navegadores
pueden ser definidas por un script en un lenguaje como JavaScript, si éste está tienen que soportar un núme-
ro mínimo de cookies o una
soportado y habilitado en el navegador web. cantidad mínima de memoria
por almacenarlas. En concreto,
se espera que un navegador
El servidor que establece la cookie puede especificar una fecha de borrado, en sea capaz de almacenar al me-
nos 300 cookies de 4 kilobytes
cuyo caso la cookie será borrada en dicha fecha. Un sitio de compras podría cada una y al menos 20 coo-
kies por servidor o dominio.
querer ayudar a sus clientes potenciales recordándoles las cosas que había en
su cesta de la compra, incluso si cierran el navegador sin realizar la compra y
vuelven más tarde, para evitar que tengan que buscar los productos de nuevo.
En este caso, el servidor crearía una cookie con fecha de borrado según el deseo
del diseñador del sitio web. Si no se define una fecha de borrado, la cookie es
borrada cuando el usuario cierra su navegador. Por lo tanto, definir una fecha
de borrado es una manera de hacer que la cookie sobreviva entre una sesión y
otra. Por esta razón, a las cookies con fecha de borrado se las llama persistentes.
5.2.1. Applets
5.2.2. Servlets/JSP
Los servlets son objetos Java ejecutados por un servidor de aplicaciones y res-
ponden a invocaciones HTTP, sirviendo páginas dinámicas cuyo contenido
generalmente es un fichero HTML generado dinámicamente.
(14)
Un servlet es capaz de recibir una invocación y generar una respuesta en fun- En inglés, Web Application Ar-
chive.
ción de los datos de la invocación, el estado del propio sistema y los datos
a que pueda acceder. Los servlets pueden estar empaquetados dentro de un
fichero de formato WAR14, como aplicación web, dentro de un contenedor.
Los servlets pueden ser objetos java precompilados o JSP compilados en tiem-
po de ejecución (o en otro momento después del arranque del servidor de
aplicaciones).
Por otra parte, JavaServer Pages (JSP) es una tecnología que permite a los de-
sarrolladores de páginas web generar respuestas dinámicamente a peticiones
HTTP. La tecnología permite que código Java y ciertas acciones predefinidas
sean incrustadas en un contexto estático, es decir, dentro del propio HTML.
La sintaxis de JSP incorpora tags XML adicionales, llamados acciones de JSP
por ser usados para invocar otras funciones.
5.2.3. CGI
(15)
La interfaz de entrada común15 es una importante tecnología de la World Wide En inglés, Common Gateway
Interface (CGI).
Web que permite a un cliente (navegador web) solicitar datos de un programa
ejecutado en un servidor web. CGI especifica un estándar para transferir datos
entre el cliente y el programa. Es un mecanismo de comunicación entre el
© FUOC • PID_00147721 45 Seguridad en la red
Las aplicaciones CGI fueron una de las primeras maneras prácticas de crear
contenido dinámico para las páginas web. En una aplicación CGI, el servidor
web pasa las solicitudes del cliente a un programa externo. Este programa pue-
de estar escrito en cualquier lenguaje que soporte el servidor, aunque por ra-
zones de portabilidad se suelen usar lenguajes de script. La salida de este pro-
grama es enviada al cliente en lugar del archivo estático tradicional. CGI ha
hecho posible la implementación de funciones nuevas y variadas en las pági-
nas web, de tal manera que esta interfaz se ha convertido rápidamente en un
estándar, que se implementa en todo tipo de servidores web.
Las CGI son programas que podrían introducir problemas de seguridad si han
sido programados malintencionadamente. Por este motivo, muchos de los
proveedores de hosting de páginas web no permiten la ejecución de este tipo
de servicios web.
5.2.4. ASP/PHP
(16)
El servidor de páginas activas16 corresponde a la tecnología introducida por En inglés, Active Server Pages
(ASP).
Microsoft en el año 1996, y permite el uso de diferentes scripts y componentes
ActiveX al lado del tradicional HTML para mostrar páginas generadas dinámi-
camente. Se basa en el VBScript, pero existen diversos lenguajes de programa-
ción que se pueden utilizar, como, por ejemplo, Perl, Javascript, etc. ASP es
una tecnología dinámica que funciona en el lado del servidor, lo que significa
que, cuando el usuario solicita un documento ASP, las instrucciones de pro-
gramación dentro del script se ejecutan en el servidor para enviar al navega-
dor únicamente el código HTML resultante. Al usuario sólo se le envía lo que
solicita, y no puede acceder a ningún otro servicio del servidor. Así, una de sus
aplicaciones más importantes es la del acceso a bases de datos.
Existen otros lenguajes con funcionalidades parecidas. Entre ellos destacare- Dirección web
mos el PHP (Hypertext Preprocessor), que es un lenguaje de programación recomendada
creado para desarrollar aplicaciones web, muy similar a los lenguajes de pro- Para saber más sobre PHP po-
gramación C o C++. Su código se inserta en las páginas HTML, y se ejecuta déis consultar la siguiente di-
rección: http://www.php.net.
en el servidor.
5.2.5. RIA
RIA (Rich Internet Applications) es un acrónimo que engloba una gran multi-
tud de términos que definen una serie de aplicaciones cuyos contenidos son
dinámicos y se cargan en el tiempo de inicialización. La aplicación sólo hace
consultas al servidor para obtener datos de las bases de datos mientras que las
herramientas (reproductores de vídeo, procesamiento de imágenes) ya están
cargadas en el lado del cliente. Eso hace que se puedan ofrecer funcionalidades
mucho más ricas y entornos multimedia más conseguidos.
Se puede decir que las RIA son la nueva generación de las aplicaciones y una
tendencia ya impuesta por empresas como Macromedia, Magic Software, Sun
o Microsoft, que están desarrollando recursos para hacer de este tipo de apli-
caciones una realidad. Estas aplicaciones están basadas en plataformas J2EE
o.NET, con un front-end Flash, Java Swing, Java FX o Google Web Toolkit, y
utilizan una arquitectura cliente/servidor asíncrona, segura y escalable, junto
con una interfaz de usuario web. Entre los beneficios principales de las aplica-
ciones RIA tenemos una mejora importante en la experiencia visual, que hacen
del uso de la aplicación alguna cosa muy sencillo, mejoras en la conectividad
y despliegue instantáneo de la aplicación, agilizando su acceso, garantizan la
desvinculación de la capa de presentación, es decir, el acceso a la aplicación
desde cualquier computador en cualquier lugar del mundo. Un framework que
permite desarrollar de forma sencilla este tipo de aplicaciones es Google Web
Toolkit.
Los protocolos definen las reglas y las normas que utilizan los ordenadores
para comunicarse con la red. Internet es un canal inseguro para enviar infor-
mación. Cuando se tiene que enviar un mensaje por Internet, se le hace pa-
sar por numerosos nodos intermedios antes de llegar a su destino. Alguno de
estos nodos intermedios podría interceptar, leer, destruir o modificar la infor-
mación enviada.
(17)
En un principio, en el modelo OSI17 de comunicaciones, se decidió poner todo OSI es la abreviatura de Open
Systems Interconnection, en cas-
lo que se refiere a seguridad en el nivel de presentación. De esta manera, se tellano, interconexión de sistemas
podría ofrecer este servicio a todas las aplicaciones. No obstante, el modelo abiertos.
Entre los niveles TCP y IP, podríamos establecer medidas de seguridad trans-
parentes en las aplicaciones. Ejemplo: IPSEC. Incluso por debajo del nivel IP,
podemos llegar a cifrar las cabeceras IP, pero ello tiene el inconveniente de que,
si no se realiza correctamente el descifrado, los datos no llegarán a su destino.
5.3.1. PGP
No obstante, aunque tiene otras funciones, nos centraremos en las dos formas
más comunes de uso de PGP, la firma digital y la encriptación. Para usar cual-
quiera de estas funciones, el usuario de PGP tiene que crear una pareja de cla-
ves (una pública y otra privada), que son la base sobre la que se sostiene la
criptografía de claves públicas, basada en los algoritmos de clave asimétrica.
Crear la pareja de claves es muy sencillo, ya que es la aplicación PGP la que
se encarga prácticamente de todo.
Para que se pueda utilizar PGP, los interlocutores tendrán que tener instalado
el programa. Al instalarse el programa se generan unas claves. Una de las cla-
ves que forman la pareja es la clave privada, a la que siempre hay que proteger
contra los accesos no autorizados, ya que toda nuestra seguridad se basa en que
nadie más tenga acceso a ella. Para reducir su vulnerabilidad, la clave privada
está protegida por una contraseña compleja en forma de frase que es mucho
más segura que una contraseña típica de menos de diez caracteres. Su utilidad
es desencriptar los mensajes que nos sean enviados de forma segura. Por el
contrario, la clave pública hay que distribuirla a todas las personas con las que
queramos mantener comunicaciones seguras. Podría parecer que distribuir li-
bremente nuestra clave pública es una forma de bajar nuestras defensas, pero
no es así: la clave pública está encriptada y, además, su única utilidad es cifrar
(encriptar) los mensajes y ficheros que los otros nos quieran enviar. Con ella es
imposible desencriptar los mensajes o ficheros que alguien nos haya enviado;
tampoco es posible hacerse pasar por nosotros firmando un fichero. Para eso
sería preciso disponer de la clave privada.
PGP se puede integrar en los programas de correo electrónico más usuales para
hacer que encriptar y firmar mensajes no consista más que en pulsar un botón.
Al encriptar un mensaje, se nos pedirá que indiquemos a quién lo enviaremos,
para así escoger la clave pública correcta con que cifrarlo. Para firmar, en cam-
bio, se nos pedirá que tecleemos la contraseña de nuestra clave privada, con
lo cual evitamos también que alguien que use nuestro ordenador en nuestra
ausencia pueda hacerse pasar por nosotros.
© FUOC • PID_00147721 49 Seguridad en la red
Para cifrar los datos se utiliza un algoritmo de clave simétrica, cuya clave se
cifra con un algoritmo de clave asimétrica. De esta manera se combinan las
mejores propiedades de ambos: la seguridad de un algoritmo asimétrico (don-
de clave pública y privada son diferentes) con la rapidez y robustez de un al-
goritmo simétrico (cuya clave es única y, por lo tanto, vulnerable). Un tercer
algoritmo se utiliza para firmar documentos: se extrae un conjunto de bits del
mensaje (resumen) con una función hash y se cifra con la clave privada del
emisor. Así, por su modo de funcionamiento, PGP (y programas similares),
consta de los tres subsistemas: cifrado del documento con clave asimétrica,
cifrado con clave simétrica y firma digital.
5.4. SSL
El objetivo inicial del diseño del protocolo SSL fue proteger las conexiones en-
tre clientes y servidores web con el protocolo HTTP. Esta protección tenía que
permitir al cliente asegurarse de que se había conectado al servidor auténtico,
y enviarle datos confidenciales, como, por ejemplo, un número de tarjeta de
crédito, con la certeza de que nadie más que el servidor es capaz de ver estos
datos.
A tal fin se desarrolló una interfaz de acceso a los servicios del nivel de transpor-
te basada en la interfaz estándar de los sockets. En esta nueva interfaz, funcio-
nes como connect, accept, send o recv fueron sustituidas por otras equivalentes
pero que utilizaban un protocolo de transporte seguro: SSL_connect, SSL_accept,
SSL_send, SSL_recv, etc. El diseño se hizo de manera tal que cualquier aplica-
ción que utilizara TCP a través de los llamamientos de los sockets podía hacer
uso del protocolo SSL sólo cambiando estos llamamientos. De aquí viene el
nombre del protocolo.
Datagramas en WTLS
Una característica distintiva del WTLS es que no solamente permite proteger conexiones
TCP, como hacen SSL y TLS, sino que también define un mecanismo de protección para
las comunicaciones en modo datagrama, usado en diversas aplicaciones móviles.
Los servicios de seguridad que proporcionan los protocolos SSL TLS son:
© FUOC • PID_00147721 51 Seguridad en la red
Autenticación de cliente
Además, los protocolos SSL TLS están diseñados con estos criterios adicionales:
Una situación típica en la que se usa SSL TLS es la de un navegador web que accede a una
página HTML que contiene imágenes: con HTTP "no persistente" (el único modo definido
en HTTP 1.0), eso requiere una primera conexión para la página y, a continuación, tantas
conexiones como imágenes haya. Si las conexiones pertenecen a la misma sesión SSL
TLS, sólo hay que hacer la negociación una vez.
Como todos los mensajes SSL/TLS, los mensajes del protocolo de negociación
se incluyen dentro del campo de datos de los registros SSL/TLS para ser trans-
mitido al destinatario. La estructura de un mensaje de negociación es la que
se muestra en la figura siguiente.
1)� Petición� de� saludo� (Hello� Request). Cuando se establece una conexión,
el servidor normalmente espera que el cliente inicie la negociación. Alterna-
tivamente, puede optar por enviar un mensaje Hello Request para indicar al
cliente que está preparado para empezar. Si durante la sesión el servidor quiere
iniciar una renegociación, también lo puede indicar al cliente enviándole un
mensaje de este tipo.
(18)
• Una cadena de 32 bytes aleatorios18. De los 32 bytes aleatorios que
se envían en los mensajes de salu-
do, los 4 primeros tienen que ser
• Opcionalmente, el identificador de una sesión anterior, si el cliente desea una marca de tiempo, con preci-
sión de segundos.
volver a utilizar los parámetros que se le concedieron.
© FUOC • PID_00147721 54 Seguridad en la red
• La lista de los algoritmos de compresión ofrecidos, por orden de preferen- Algoritmos de compresión
cia (como mínimo tiene que haber uno, aunque sea el algoritmo nulo).
El único algoritmo de compre-
sión previsto en SSL TLS es el
Algoritmos criptográficos previstos en SSL/TLS algoritmo nulo, es decir, nin-
guna compresión.
SSL TLS contempla los algoritmos criptográficos siguientes:
• Cifrado: RC4, DES, Triple DES, RC2, IDEA y FORTEZZA (este último sólo en SSL 3.0).
4)�Certificado�de�servidor�(certificate)�o�intercambio�de�claves�de�servidor
(server�key�exchange). Si el servidor puede autenticarse delante del cliente, que
es el caso más habitual, envía el mensaje certificate. Este mensaje normalmente
© FUOC • PID_00147721 55 Seguridad en la red
5)�Petición�de�certificado�(certificate�request)
7)�Certificado�de�cliente�(Certificate)
• Las dos claves para el cifrado simétrico de los datos (una para cada sentido:
de cliente a servidor y de servidor a cliente).
© FUOC • PID_00147721 56 Seguridad en la red
Una de las principales diferencias entre SSL 3.0 y TLS 1.0 está en la técnica
usada para obtener los códigos de verificación de los mensajes Finished, y tam-
bién para calcular el secreto maestro y obtener las claves a partir de este secreto
(en SSL se utilizan funciones hash directamente, y en TLS se utilizan códigos
HMAC).
sajes contienen un código de nivel de gravedad, que puede ser "mensaje de Son ejemplos de errores fata-
aviso" o " error fatal", y un código de descripción del error. Un error fatal pro- les: MAC incorrecto, tipo de
mensaje inesperado, error de
voca el fin de la conexión y la invalidación del identificador de sesión corres- negociación, etc. (TLS 1.0 pre-
vé más códigos de error que
pondiente, es decir, la sesión no podrá ser reanudada. SSL 3.0).
A raíz de las faltas del protocolo SSL, diferentes empresas y organismos bus-
caron un sistema que permitiera realizar operaciones sensibles por Internet
de forma segura, como los pagos, con el fin de estimular la confianza de los
consumidores en el comercio electrónico. En 1996 un grupo de empresas del
sector financiero, informático y de seguridad (Visa International, MasterCard,
Microsoft, Nestcape, IBM, RSA, etc.) anunció el desarrollo de esta nueva tec-
nología.
(19)
Secure Electronic Transaction19 (SET) es un protocolo que permite dar seguri- En castellano, transacciones
electrónicas seguras.
dad en las transacciones por Internet que utilizan tarjetas de crédito. Sus es-
pecificaciones se pueden encontrar en el sitio web oficial de SETco, organismo
Dirección web
encargado de homologar los módulos de programación y los certificados de- recomendada
sarrollados por empresas privadas que se usan en implementaciones del pro-
Podéis acceder al histórico de
tocolo SET. la página web de SETco en:
http://web.archive.org/web/
*/www.setco.org
Su funcionamiento se basa en el uso de certificados digitales y sistemas cripto-
gráficos. Los primeros, para asegurar la perfecta identificación de todas aque-
llas parejas que intervienen en una transacción en línea basada en el uso de
tarjetas de pago, y los segundos, para proteger el envío de los datos sensibles
en su viaje entre los diferentes servidores que participan en el proceso. Una de
sus características es la de separar el proceso de compra del de pago.
5.5.2. 3D-Secure
En este modelo se deja al arbitrio de cada una de las entidades la elección del
"procedimiento de autenticación". De esta manera, tienen flexibilidad para se-
leccionar el método de autenticación más apropiado para sus comercios y ti-
tulares, y sustituirlo por nuevas soluciones cuando lo consideren conveniente.
La confidencialidad e integridad de la información de pago se consigue con la
utilización del protocolo SSL. El proceso de compra con 3D Secure funciona
como una compra normal en un comercio en línea, con la particularidad de
que, a la hora de introducir la información de pago, el comprador tendrá que
facilitar la contraseña 3D-Secure-Secure. De esta manera, se confirma que es
el propio titular de la tarjeta, y no un tercero sin autorización, quien efectúa
la transacción.
© FUOC • PID_00147721 60 Seguridad en la red
Resumen
Según la relación que haya entre las dos claves, los algoritmos criptográficos
se clasifican en algoritmos�simétricos si la clave de cifrado y la de descifrado
son la misma, y algoritmos�de�clave�pública si las claves son diferentes. Los
algoritmos simétricos, a su vez, se pueden clasificar en algoritmos�de�flujo, si
el cifrado consiste en añadir al texto datos pseudoaleatorios calculados a partir
de la clave, o algoritmos�de�bloque,�si�el�cifrado�se�hace�sobre�bloques�de
tamaño�fijo�del�texto�original.
Bibliografía
Menezes, A. J.; Oorschot, P. C. van; Vanstone, S. A. (1996). Handbook of Applied Cryp-
tography. Boca Ratón: CRC Press.
Stallings, W. (2003). Cryptography and Network Security, Principles and Practice (3.ª ed.). Upper
Saddle River: Prentice-Hall.
Yuan, R.; Strayer, W. T. (2001). Virtual Private Networks, Technologies and Solutions. Boston:
Addison-Wesley.
El nivel de
aplicación
Joan Manuel Marqués Puig
Silvia Llorente Viejo
PID_00147724
© FUOC • PID_00147724 El nivel de aplicación
Ninguna parte de esta publicación, incluido el diseño general y la cubierta, puede ser copiada,
reproducida, almacenada o transmitida de ninguna forma, ni por ningún medio, sea éste eléctrico,
químico, mecánico, óptico, grabación, fotocopia, o cualquier otro, sin la previa autorización escrita
de los titulares del copyright.
© FUOC • PID_00147724 El nivel de aplicación
Índice
Introducción............................................................................................... 7
Objetivos....................................................................................................... 8
3. La web y el HTTP.............................................................................. 27
3.1. HTTP: Hypertext Transfer Protocol.................................................. 28
3.1.1. Conexiones persistentes y no persistentes .................... 29
3.2. Formato de los mensajes HTTP .................................................. 30
3.2.1. Mensaje HTTP de petición ............................................ 30
3.2.2. Mensaje HTTP de respuesta ........................................... 31
3.3. HTTPS (HTTP seguro) .................................................................. 33
3.4. Cookies ........................................................................................ 34
3.5. Características de la demanda de páginas web ........................... 35
3.6. Servidores intermediarios ............................................................ 37
3.7. El GET condicional ..................................................................... 38
3.8. Distribución de contenidos ......................................................... 39
3.8.1. Redes de distribución de contenidos ............................. 41
4. Transferencia de ficheros................................................................ 43
4.1. Seguridad en la transferencia de ficheros ................................... 44
7. Mensajería instantánea.................................................................... 60
7.1. XMPP ........................................................................................... 60
Resumen....................................................................................................... 114
Bibliografía................................................................................................. 115
© FUOC • PID_00147724 7 El nivel de aplicación
Introducción
En este módulo didáctico, se describe toda una serie de aplicaciones que uti-
lizan Internet como medio de comunicación y también los protocolos de co-
municaciones que tienen asociados. Estas aplicaciones se conocen como apli-
caciones distribuidas, ya que están formadas por diferentes partes y cada una
se encuentra en máquinas diferentes.
Objetivos
La arquitectura que hay que utilizar en cada caso depende de muchos factores.
Ahora mencionaremos las características más significativas que hay que con-
siderar cuando se diseña una aplicación a escala Internet.
(1)
En este módulo, trataremos las dos arquitecturas distribuidas más utilizadas De igual a igual en inglés se de-
1 nomina peer-to-peer o p2p.
hoy día: cliente-servidor y de igual a igual . Hay otras arquitecturas distribuidas
como el grid, la publicación-suscripción o el código móvil, entre otras, que no
trataremos en este material.
Esta idea se puede aplicar de manera muy variada a muchos tipos diferentes
de aplicaciones. Un ejemplo que ayudará a entenderlo es la web. El navegador
es el cliente y los ordenadores a los cuales nos conectamos y de los que obte-
nemos las páginas son los servidores.
Los servidores pueden ser con estado o sin estado. Un servidor sin estado no
mantiene ninguna información entre peticiones. Un servidor con estado pue-
de recordar información entre peticiones. El alcance de esta información pue-
de ser global o específico de una sesión. Un servidor web con páginas web
© FUOC • PID_00147724 11 El nivel de aplicación
La web proporciona un ejemplo habitual de partición de los datos, en el que cada servidor
gestiona su conjunto de recursos. Un usuario utiliza un navegador para acceder a un
recurso situado en cualquiera de los servidores.
Las aplicaciones basadas en la web tienen la ventaja de que son accesibles des-
de cualquier ordenador que disponga de un navegador (la práctica totalidad
de los ordenadores conectados hoy día a Internet), sin que sea preciso tener
nada más instalado en el ordenador local. El uso de estas arquitecturas tam-
bién facilita el diseño de las aplicaciones, ya que no hay que implementar la
comunicación entre el cliente y el servidor (se utiliza el protocolo HTTP); y
la parte de presentación de la aplicación se facilita mucho por el hecho de
formatear el documento en HTML y aprovechar las funcionalidades que pro-
porciona el navegador (como los intérpretes de Javascript y Java).
© FUOC • PID_00147724 13 El nivel de aplicación
Los mensajes Usenet (Usenet News en inglés) son un sistema global y descentralizado
de grupos de discusión en Internet. Los usuarios leen y ponen mensajes que parecen
correos electrónicos (se les denomina artículos) en un número determinado de grupos
de noticias, que están organizados formando jerarquías lógicas de temas (por ejem-
plo, informática.linux.distribuciones o informática.lenguajesProgramación.tutoriales).
Los mensajes se distribuyen entre un gran número de servidores, que almacenan y se
reenvían mensajes unos a otros. Los usuarios se bajan los mensajes y ponen otros nuevos
en uno de los servidores. El intercambio de mensajes entre los servidores hace que, a la
larga, los mensajes lleguen a todos los servidores.
Sin embargo, el fenómeno de igual a igual empieza como tal a finales de los
noventa, de la mano de Napster. En la época de la explosión de Internet –a
partir de 1994–, la vertiente de colaboración que había dominado Internet
hasta aquel momento empezó a perder protagonismo frente a la vertiente más
comercial, que imponía la arquitectura cliente-servidor, liderada por la web
como arquitectura estrella.
Los grandes cambios que aporta Napster, tanto desde el punto de vista de la ar-
quitectura como del funcionamiento del sistema, con respecto a las soluciones
centralizadas (cliente-servidor) que predominaban en aquel momento son:
• Los ficheros que hay disponibles son los que los usuarios, de manera indi-
vidual, deciden aportar al sistema (autonomía de los usuarios).
• Los recursos necesarios para almacenar los ficheros los aportan los mismos
usuarios (coste del sistema).
A raíz del éxito de la solución, mucha gente se animó a hacer propuestas más Determinismo
descentralizadas y que superasen las limitaciones de Napster. Gnutella es un
Por determinismo entendemos
ejemplo de esto: se basa en un algoritmo de inundación para localizar el fiche- que diferentes ejecuciones de
ro que se busca y, de esta manera, elimina el punto único de fallo que supone una misma operación den el
mismo resultado. Sistemas co-
tener un servicio centralizado de directorio. Una vez localizado el fichero, la mo el de tipo Gnutella no son
deterministas. El algoritmo que
bajada se hace directamente entre quien quiere el fichero y quien lo propor- utilizan para localizar ficheros
ciona. Esta solución tiene el inconveniente de que no es determinista. dentro del sistema no garanti-
za que si un fichero está en al-
guno de los iguales lo encuen-
tre. Puede que, según el cami-
1.2.1. Aplicaciones de igual a igual no que haya seguido la consul-
ta, nos diga que no lo ha en-
contrado, cuando sí que está.
Los sistemas y las aplicaciones de igual a igual se han hecho populares de la
mano de las aplicaciones de compartición de ficheros, pero hay otros tipos de
aplicaciones. Skype es otro sistema tipo de igual a igual que es muy popular. Ved también
Skype proporciona telefonía en Internet. Utiliza un protocolo propietario de Las aplicaciones de igual a
la implementación del que se conocen pocas cosas. Funciona siguiendo una igual para la compartición de
ficheros como KazaA están ex-
organización con superiguales tal y como lo hace KaZaA. De hecho, Skype fue plicadas en el apartado "Apli-
caciones de igual a igual para
fundada por los fundadores de KaZaA. Un aspecto que hay que destacar es que la compartición de ficheros" de
consigue superar los problemas que tienen los iguales cuando están detrás de este módulo didáctico.
También hay otros sistemas de igual a igual para la comunicación síncrona Bibliografía
(como la mensajería instantánea), juegos, sistemas de procesamiento distri- complementaria
buido (como SETI@home) o software para la colaboración (como Groove). Encontraréis más informa-
ción sobre el funcionamiento
SETI@home interno de Skype en:
S.�A.�Baset;�H.�Schulzrinne
SETI@home es un proyecto que tiene como objetivo detectar vida inteligente fuera de la (2006, abril). "An analysis of
Tierra. Distribuye procesamiento entre muchos ordenadores personales que están suscri- the Skype peer-to-peer inter-
tos al proyecto y analiza datos de radiotelescopios, aprovechando las grandes cantidades net telephony protocol". Pro-
de tiempo de procesamiento que los PC desperdician porque no hacen nada. ceedings of IEEE INFOCOM
2006. Barcelona.
Groove
La tabla siguiente pretende resumir las ventajas y desventajas tanto del clien-
te-servidor como del igual a igual. No pretende ser exhaustiva. Además, hablar
de ventajas y desventajas es muy personal o dependerá de cada situación. Lo
que para alguien o en una situación es una ventaja, para algún otro u otra
situación es una desventaja. Y al revés pasa lo mismo.
Ventajas Desventajas
Cliente-servidor • Datos en los servidores, lo que facilita el control de la • La centralización del modelo: punto único de fallo, de-
seguridad, control de acceso, consistencia de la infor- pendencia de la autoridad administrativa que provee
mación, etc. el servicio, vulnerabilidad a ataques.
• Hay muchas tecnologías maduras para los sistemas • Escalabilidad condicionada a la capacidad de hacer cre-
cliente-servidor. Esto hace que haya soluciones muy cer el servidor o conjunto de servidores que proporcio-
probadas y que garantizan la seguridad, facilidad de nan el servicio. Relacionado con esto, es muy costoso
uso y amigabilidad de la interfaz. construir un sistema que soporte cargas altas de con-
• Relativa facilidad para actualizar los elementos de un tenidos pesados.
sistema cliente-servidor. • Cuando hay muchos clientes que hacen peticiones, el
• El desarrollo de aplicaciones centralizadas es más sen- servidor se puede congestionar. En entornos en los que
cillo que el de las descentralizadas. la demanda puede ser muy variable o incierta, es nece-
• Hay unos responsables de garantizar el servicio, que sario sobredimensionar el servicio para atender cargas
son los proveedores del servicio (o de cada una de las que quizá sólo ocurren de manera esporádica o asumir
partes de estos). que en ciertas situaciones puede haber congestión.
© FUOC • PID_00147724 17 El nivel de aplicación
Ventajas Desventajas
De�igual�a�igual • Descentralización: los diferentes miembros (iguales) • El comportamiento descentralizado es complejo de im-
del sistema son los propietarios y tienen el control de plementar.
los datos y recursos de su ordenador. • La responsabilidad del sistema está difundida entre los
• El coste de la propiedad (o la mayor parte de esta si usuarios: si los usuarios no aportan recursos suficientes,
es un sistema de igual a igual híbrido) está repartido el sistema no puede funcionar.
entre los usuarios. • Tecnología muy nueva. Aunque hay sistemas muy usa-
• Escalable: dado que las operaciones se hacen directa- dos y que funcionan bien, las técnicas utilizadas toda-
mente entre los iguales, el sistema puede soportar más vía tienen que madurar.
operaciones que si hubiera un nodo que centralizara • El dinamismo del sistema hace que el sistema sea utili-
las operaciones. zable sólo si su disponibilidad satisface las necesidades
• Autoorganización: no hace falta que un componente de los usuarios. En la mayor parte de los casos, esto
del sistema supervise la evolución del sistema cuando pasa por la reproducción (tanto de información como
cambia su escala (aumentan los usuarios o la carga); de capacidad de procesamiento).
hay fallos, o los iguales se conectan o desconectan. • Seguridad: a los problemas habituales de los sistemas
distribuidos hay que añadir mecanismos para que la in-
formación que se aporte sea válida, que no haya usua-
rios que obtengan información sin aportarla, etc. Estos
aspectos todavía no están bien resueltos.
Por lo tanto, cada aplicación tiene unos requerimientos diferentes, y por esto
en el nivel de transporte hay diferentes opciones para satisfacer estos requeri-
mientos. Los protocolos originales de Internet (TCP y UDP) se concentraban
en el primer requerimiento, porque las primeras aplicaciones que se especifi-
© FUOC • PID_00147724 18 El nivel de aplicación
caron no eran de tiempo real. A medida que se han desarrollado este tipo de
aplicaciones, se han especificado nuevos protocolos de transporte que ofrecen
los servicios adecuados.
© FUOC • PID_00147724 19 El nivel de aplicación
(2)
Los ordenadores conectados a Internet están identificados de manera única En inglés, Domain Name System
(DNS).
por su dirección IP. Las direcciones IP son difíciles de recordar y por este moti-
vo se utilizan nombres del estilo de www.uoc.edu o smtp.uoc.edu para identi-
Formato de las direcciones
ficar los diferentes recursos u ordenadores de Internet. El sistema de nombres
IP
de dominio2 es un servicio desplegado en Internet que permite hacer la tra-
Las direcciones IP tienen el as-
ducción entre nombres y direcciones IP. pecto siguiente: 213.73.40.99,
donde cada punto separa un
byte del 0 al 255 expresado en
El DNS3 es un servicio que recibe millones de peticiones y tiene que ser capaz notación decimal.
de resolverlas de manera muy rápida. Para hacernos una idea del volumen de
peticiones que debe ser capaz de gestionar el DNS, sólo es necesario que nos
fijemos en dos de las aplicaciones más populares de Internet: la web y el correo
electrónico. Cada vez que escribimos una dirección web en el navegador, este
hace una consulta al DNS para saber a qué dirección IP corresponde. Y cada vez
que enviamos un mensaje de correo electrónico, se hace una consulta al DNS
para saber a qué servidor de correo hay que enviar el correo correspondiente
al dominio de la dirección de correo electrónico.
(3)
A continuación, podemos ver los pasos que se siguen para que el ordenador El DNS está especificado en los
RFC 1.034 y PFC 1.035 y actualiza-
del usuario pueda enviar una petición de página web al URL www.uoc.edu/
do en otros RFC.
eimt/index.html:
3) El DNS cliente envía la petición (que contiene el nombre del sitio web) a
un servidor DNS.
Un diseño sencillo para el DNS sería tener un servidor que contuviera todas
las equivalencias entre nombres y direcciones IP. Los clientes enviarían las pe-
ticiones de resolución al servidor DNS y este las contestaría directamente. Esta
solución centralizada sería sencilla de implementar, pero tendría numerosos
inconvenientes por el hecho de que actualmente en Internet hay millones de
servidores. Sería necesario que tuviera una base de datos muy grande capaz
de soportar un volumen de consultas muy grande, además de ser capaz de
gestionar una frecuencia alta de actualizaciones de las entradas, como nuevos
hosts o cambios en los hosts.
(5)
• Servidores�DNS�autorizados5: cada organización con ordenadores acce- En inglés, authoritative DNS ser-
vers.
sibles desde Internet tiene que proporcionar registros DNS accesibles pú-
blicamente que permitan hacer la equivalencia entre los nombres de sus
ordenadores y la dirección IP de estos. Un servidor DNS autorizado hospe-
da estos registros. Estos registros pueden estar en servidores DNS autoriza-
© FUOC • PID_00147724 22 El nivel de aplicación
Hay otro tipo de servidores DNS, denominados servidores�DNS�locales, que Proveedor de acceso a
aunque estrictamente no pertenecen a la jerarquía de servidores, son claves Internet
para la arquitectura del DNS. Cada empresa proveedora de acceso a Internet Proveedor de acceso a Inter-
(PAI o ISP en inglés) –como una universidad o una empresa de telecomunica- net (PAI) o proveedor de servi-
cios de Internet (en inglés, In-
ciones que proporciona acceso a Internet a usuarios domésticos– tiene un ser- ternet Servide Provider, ISP) es
una empresa que ofrece a sus
vidor DNS local. Cuando un nodo se conecta a su PAI, este le proporciona la clientes acceso a Internet. Un
dirección IP de uno o más servidores DNS locales (normalmente, esto se hace PAI conecta a sus usuarios a In-
ternet mediante diferentes tec-
de manera automática vía DHCP). Cuando un ordenador hace una consulta al nologías como DSL (normal-
mente ADSL), módem de red
DNS, la consulta se envía al servidor DNS local, que actúa como proxy, y este telefónica conmutada, cable
la envía a la jerarquía de servidores DNS para que resuelva la petición. módem, Wi-Fi, etc.
Muchos PAI también ofrecen
otros servicios relacionados
DHCP con Internet como correo elec-
trónico, hospedaje de páginas
Dynamic Host Configuration Protocol (DHCP) es un protocolo de red que permite a los web, registro de dominios, etc.
nodos de una red IP obtener sus parámetros de configuración de manera automática. Se
trata de un protocolo de tipo cliente-servidor. El cliente hace broadcast de una petición
para información de configuración. El servidor DHCP recibe la petición y responde con
información de configuración de su base de datos de configuración. Generalmente, un
servidor posee una lista de direcciones IP dinámicas y las va asignando a los clientes a
medida que estas van estando libres, sabiendo en todo momento quién ha estado en
posesión de aquella IP, cuánto tiempo la ha tenido o a quién se le ha asignado después.
En el caso de no utilizar DHCP, cada ordenador de la red tiene que configurarse manual-
mente, tarea costosa y propensa a errores.
A continuación, hay un ejemplo de los pasos que se seguirían para que el ordenador
estudiante.pai.cat obtenga la dirección IP del ordenador sd.eimt.uoc.edu.
3) El servidor DNS raíz retorna una lista de direcciones IP de servidores DNS responsables
del dominio edu.
4) El servidor DNS local reenvía la petición a uno de estos servidores DNS TLD.
5) El servidor DNS TLD contesta la dirección IP del servidor autorizado por el dominio
uoc.edu.
© FUOC • PID_00147724 23 El nivel de aplicación
Como se puede ver, cada vez que se pide la resolución de un nombre se envían
muchos mensajes, lo que hace incrementar el tiempo para obtener la respues-
ta y que haya muchos mensajes DNS circulando por Internet. Con el objetivo
© FUOC • PID_00147724 24 El nivel de aplicación
Petición DNS
(6)
• Nombre. En inglés, time to live (TTL).
• Valor.
• Tipo.
• Tiempo de vida6: el TTL es el tiempo máximo para que un recurso se borre
de la caché.
DNS que ha recibido información auténtica cuando en realidad no es así. La contaminación de la memo-
ria caché del DNS (DNS cache
poisoning o DNS cache pollu-
Domain Name System Security Extensions (DNSSEC) modifica el DNS para aña- tion en inglés) es una situación
creada maliciosamente o de
dir respuestas firmadas digitalmente, lo que proporciona a los clientes DNS manera intencionada que pro-
(resolvedores) autenticación del origen de los datos DNS, integridad de datos porciona datos a una caché de
DNS que no está originada por
–pero no disponibilidad ni confidencialidad– y denegación de existencia au- el servidor DNS autorizado. Es-
te hecho puede ocurrir por un
tenticada. error en el software, por mala
configuración de los servidores
DNS o por acciones malinten-
cionadas que se aprovechan
de la arquitectura abierta del
DNS.
3. La web y el HTTP
En este módulo nos centraremos en el HTTP. Antes, sin embargo, veremos los
aspectos básicos de los URL. El URL es una cadena de caracteres que informa
al navegador de:
Los protocolos más habituales son: http, ftp (File Transfer Protocol) y file (para Ved también
el acceso y la localización de archivos dentro de sistemas de ficheros).
El protocolo ftp se trata en el
apartado 4 de este módulo.
El host identifica la máquina donde está el recurso. Puede ser un nombre
(www.wikipedia.org) o una dirección IP (192.12.34.11). El puerto es el número
de puerto TCP del servidor, donde se conectará el navegador.
Ejemplo
(7)
El HTTP7 es un protocolo a nivel de aplicación para sistemas hipermedia co- El HTTP está definido en los RFC
1.945 y 2.616.
laborativos y distribuidos, que es la base de la web. El HTTP sigue el paradig-
ma cliente-servidor. Clientes y servidores se intercambian mensajes HTTP. El
HTTP define la estructura de estos mensajes y cómo el cliente y el servidor
intercambian los mensajes. Se basa en un transporte fiable –el más habitual
es TCP–, aunque podría funcionar en otros transportes fiables. El puerto por
defecto para establecer las conexiones es el puerto asignado oficialmente al
servicio www, que es el puerto 80.
Ejemplo
Una página�web está formada por diferentes objetos. Un objeto es un
fichero –que puede ser de diferentes tipos: un fichero HTML, una ima- Una página que contiene tex-
to en HTML y dos imágenes
gen, un applet Java o un vídeo– dirigible por un URL. La mayoría de en GIF contiene tres objetos:
la página HTML base y las dos
las páginas web consisten en un fichero base formateado en HTML que imágenes.
referencia a diferentes objetos.
Ventajas Inconvenientes
Conexiones�persistentes Después de enviar una respuesta, el servidor deja Tarda más en bajar los objetos de una página, ya
abierta la conexión TCP con el cliente. Esto permi- que no aprovecha el paralelismo que se puede obte-
te que futuras peticiones y respuestas entre el clien- ner bajando cada objeto de la página por separado.
te y el servidor se pueden enviar por esta conexión
TCP (ya se trate de objetos pertenecientes a la mis-
ma página o de diferentes páginas). Además, no ha-
ce falta que esperen a que les toque el turno de ser
servidas ya que la conexión ya está abierta.
El servidor cierra la conexión TCP con el cliente
cuando hace un rato que no se usa.
© FUOC • PID_00147724 30 El nivel de aplicación
Ventajas Inconvenientes
Conexiones�no Permite tener más de una conexión en paralelo, lo Hay que establecer más conexiones:
persistentes que reduce el tiempo de respuesta. • La bajada de cada objeto sufre un retraso, debido
al tiempo de establecimiento de la conexión TCP
y al tiempo de hacer la petición del objeto.
• Para cada conexión hay que mantener informa-
ción: buffers y otras variables del TCP, lo que
puede ser una molestia para el servidor web, ya
que puede estar atendiendo muchas peticiones de
manera simultánea.
Como podéis ver, el mensaje está escrito en ASCII. Cada línea acaba con un
carry return y un line feed. La última línea está acabada con una línea en blan-
co (una línea que sólo contiene un carry return y un line feed). Los mensajes
pueden tener más líneas.
• El� método: puede tener diferentes valores GET, POST, HEAD, PUT,
DELETE, etc. El método más usado es el GET. El método GET se usa cuando
el navegador pide un objeto.
La línea de cabecera Host: www.servidor.edu indica en qué ordenador está Ved también
el objeto. De entrada esta cabecera podría parecer superflua, pero es útil para
En el subapartado 3.6 se tratan
los proxy cache web. los servidores proxy cache web.
Es fácil ver que el formato de los mensajes de petición sigue el ejemplo que
hemos visto anteriormente, con una diferencia: el formato general contiene
un "cuerpo". El cuerpo está vacío en el caso del método GET, pero se utiliza con
el método POST. Los clientes HTTP acostumbran a utilizar el método POST
para enviar datos de un formulario (por ejemplo, cuando un usuario propor-
ciona palabras para hacer una busca en un buscador). Con un mensaje POST,
el usuario está pidiendo una página web a un servidor pero el contenido de
la página web depende de lo que el usuario ha introducido en los campos del
formulario. Si el valor del campo método es POST, el cuerpo contiene lo que
el usuario ha introducido en los campos de formulario.
www.negocio.com/compra?modelo=TA&cantidad=23
HTTP/1.1 200 Ok
Date: Wed, 24 Feb 2010 19:05:40 GMT
Server: Apache/1.3.3 (Unix)
Last-Modified: Wed, 18 Feb 2009 21:11:55 GMT
Content-Length: 3245
Content-Type: text/html
• 400 Bad Request: código de error genérico que indica que el servidor
no ha podido entender la petición.
Es muy fácil ver un mensaje HTTP de respuesta real. Sólo hay que hacer un Telnet en un
servidor web y después teclear en línea un mensaje pidiendo un objeto que esté hospe-
dado en el servidor. Podéis probar con el ejemplo siguiente8:
telnet www.uoc.edu 80
GET /index.html HTTP/1.1
Host: www.uoc.edu
Con Telnet se obra una conexión TCP en el puerto 80 del servidor www.uoc.edu. A con-
tinuación, se envía un mensaje HTTP de petición (aunque no veáis lo que estáis escri-
biendo, se enviará una vez pulséis el retorno. Si os equivocáis no sirve de nada borrar, ya
que se enviarán todos los caracteres. Será necesario que volváis a empezar). Recibiréis un
mensaje de respuesta que contendrá el fichero HTML de la página que habéis pedido.
(8)
Recordad que hay que pulsar dos veces la tecla de retorno después de teclear la última
línea.
Ataque man-in-the-middle
Un ataque man-in-the-middle tiene éxito sólo cuando el atacante puede hacerse pasar por
cada una de las víctimas. La mayoría de los protocolos de cifrado incluyen alguna forma
de autenticación para evitar este tipo de ataques. Por ejemplo, el SSL autentica el servidor
mediante una autoridad de certificación en la que confían las dos partes.
• O bien los nodos de Internet que intervienen son fiables, o bien el usuario
confía en que el protocolo de cifrado usado (TLS o SSL) hace que no se
pueda espiar la comunicación.
3.4. Cookies
(9)
El HTTP es un protocolo sin estado. Esto simplifica el diseño del servidor y Las cookies están definidas en el
RFC 2.965.
hace que este tenga un rendimiento elevado, ya que es capaz de soportar miles
de conexiones TCP simultáneas. A veces, sin embargo, conviene que el servi-
dor web pueda identificar a usuarios. Las cookies9 se usan para este propósito.
Permiten a los servidores web tener información de los usuarios. Las cookies
se pueden usar para autenticar, almacenar preferencias del cliente, identificar
una sesión, mantener un seguimiento de las compras en una tienda virtual o
cualquier otro cosa que se pueda hacer a partir de almacenar datos textuales.
La mayoría de los sitios web comerciales usan cookies.
Supongamos que hay un cliente que se quiere conectar al servidor web de la UOC. Cuan-
do la petición llega al servidor de la UOC, el servidor crea un identificador único y una
entrada a una base de datos que este identificador indexa. A continuación contesta al
navegador del cliente incluyendo la cabecera Set-cookie: en la respuesta HTTP, que
contiene el identificador. El navegador recibe la respuesta HTTP y almacena la cookie
recibida en un fichero en el que almacena las cookies.
Las cookies, al ser texto, no son ejecutables. Por el hecho de no ser ejecutables,
no se pueden replicar por sí mismas y, por lo tanto, no son virus. Debido al
mecanismo para guardar y leer las cookies, estas se pueden usar como spyware.
Los productos antispyware pueden avisar a los usuarios sobre algunas cookies
porque estas se pueden usar para hacer un seguimiento de las operaciones del
usuario o vulnerar la privacidad.
(10)
La ley de Zipf debe su nom-
Ley�de�Zipf bre a George Kingsley Zipf (1902-
1950).
En muchos casos, la popularidad relativa entre diferentes sitios web o
10
entre distintas páginas de un cierto sitio web se rige por la ley de Zipf ,
que formulada de manera sencilla sería: muy pocos casos tienen mucha
popularidad y muchos casos tienen muy poca.
La popularidad de un sitio web puede ser muy variable. Puede recibir muy
pocas visitas durante mucho tiempo y, de repente, recibir varias veces más
peticiones de las que puede servir: es un tráfico en ráfagas.
Evolución del tráfico entrante y saliente de un sitio web típico durante una semana
Podéis observar la gran variación horaria y la reducción de tráfico durante el fin de semana.
Flash crowd
Un cuento de ciencia ficción de Larry Niven (1973) predijo que una consecuencia de
un mecanismo de teletransporte barato sería que grandes multitudes se materializarían
de manera instantánea en los lugares con noticias interesantes. Treinta años después, el
término se usa en Internet para describir los picos de tráfico web cuando un determinado
sitio web se convierte repentinamente en popular y es visitado de manera masiva.
© FUOC • PID_00147724 37 El nivel de aplicación
También se conoce como efecto slashdot o efecto /., que se da cuando un sitio web resulta
inaccesible a causa de las numerosas visitas que recibe cuando aparece en un artículo del
sitio web de noticias Slashdot (en castellano, Barrapunto).
Peticiones web por hora, servidas por http://counter.li.org durante tres días
Se puede ver que mientras que el número habitual de operaciones (peticiones web) estaba por debajo de 500, subió
rápidamente a unas 2.500, lo que provocó el fallo del sistema. Después de reconfigurarlo, estuvo soportando durante unas
doce horas en torno a 3.000 peticiones por hora para bajar posteriormente a valores normales. La historia completa está en la
dirección: http://counter.li.org/slashdot.
(11)
Un servidor intermediario11 es una entidad de la Red que satisface las peticio- En inglés, web cache o proxy-ca-
che.
nes HTTP en lugar del servidor web al que iba dirigida la petición. Los servi-
dores intermediarios mantienen una copia de los objetos accedidos reciente-
mente en un disco del servidor. La figura siguiente muestra el funcionamiento
general de un servidor intermediario.
El navegador del usuario se puede configurar para que todas las peticiones
HTTP del usuario vayan primero al servidor web intermediario. A partir de este
momento:
1) Cada nueva petición del usuario establecerá una conexión TCP con el proxy-
cache y le enviará la petición HTTP.
© FUOC • PID_00147724 38 El nivel de aplicación
3) En caso de que el proxy-cache no tenga el objeto pedido, este abre una nueva
conexión TCP con el servidor origen de la petición para pedirle el objeto.
(12)
El proxy-cache actúa como servidor del cliente y como cliente del servidor. Los En inglés, Internet Service Provi-
12 ders (ISP)
proveedores de acceso a Internet son los que instalan los proxy-cache. Por
ejemplo, una universidad puede instalar un proxy-cache en la red del campus
y configurar todos los navegadores para que apunten al proxy-cache.
En los paquetes IP salientes: sustituir la dirección IP de las máquinas internas (no válidas
en Internet) por la suya propia; en los paquetes IP entrantes: sustituir su propia dirección
IP por la de una máquina interna y reenviar el paquete hacia la red interna. Para saber a
quién se tiene que entregar, el servidor intermediario debe asociar cada uno de sus puertos
a las máquinas internas, ya que una dirección de transporte es una pareja (dirección IP,
puerto).
Hemos visto que el caching puede reducir el tiempo de respuesta percibido por
el usuario, pero la copia que tenga la caché puede ser obsoleta. Es decir, el
objeto hospedado en el servidor web puede haberse modificado de manera
© FUOC • PID_00147724 39 El nivel de aplicación
(sin cuerpo)
Los mecanismos de proxy-cache son útiles para que una comunidad de usua-
rios que comparten una conexión a Internet puedan ahorrar ancho de banda
y reducir transferencias repetitivas de objetos. Sin embargo, esta sólo es una
parte del problema. Diferentes agentes participan en el rendimiento de una
transferencia web.
Una opción muy utilizada es que el proveedor del contenido disponga de di-
ferentes réplicas de la información. Hay varios trucos para repartir peticiones
entre los diferentes servidores que contienen las réplicas:
• Hacer que el servicio de nombres DNS retorne distintas direcciones IP. Nor-
malmente, se envía la petición HTTP a la primera dirección de la lista de
direcciones IP recibidas del DNS. Si esta lista está ordenada de manera di-
ferente en cada petición al DNS (método round roben), cada vez se hará la
petición a una dirección IP diferente.
• Enviar todas las peticiones a un servidor intermediario inverso que res- Réplica
ponda con contenido guardado en la memoria o que pase la petición a
Una réplica (en inglés, mirror)
uno o varios servidores internos. es una copia exacta de otro
lugar de Internet. Los mirrors
proporcionan múltiples fuen-
tes para una misma informa-
ción y son especialmente útiles
3.8.1. Redes de distribución de contenidos por la fiabilidad que esto com-
porta. También para que el
usuario acceda a la ubicación
Han surgido empresas que se han dedicado a instalar máquinas en muchos más próxima o para repartir la
carga entre diferentes servido-
lugares del mundo y algoritmos para decidir qué máquina es la más adecuada res.
para atender las peticiones, según la ubicación del cliente y la carga de la red.
Estas empresas venden este "servidor web distribuido" a distintos clientes que (13)
En inglés, Content Delivery Net-
pagan por disponer de un sistema de servicio web de gran capacidad y que works (CDN).
puede responder a demandas de contenidos extraordinariamente altas. Estos
sistemas se denominan redes de distribución de contenidos13. Akamai
• El servidor web: cuando se pide una página web, se reescriben los URL
internos según la ubicación de la dirección IP del cliente.
La figura siguiente muestra el ejemplo de los posibles pasos que se pueden dar cuando se
hace la petición de una página web con imágenes.
© FUOC • PID_00147724 42 El nivel de aplicación
1) El cliente pide al servidor origen (www.foo.com) una página sobre música. El servi-
dor informa al navegador web que la página pedida contiene varios objetos. El URL de
estos objetos se modifica para que hagan referencia a la CDN. Por ejemplo, en lugar
de contestar http://www.foo.com/musica/Beethoven.gif contesta http://www.cdn.com/
www.foo.com/musica/Beethoven.gif.
2) El navegador pide al DNS que resuelva www.cdn.com. La petición llega hasta el DNS
autorizado por este dominio, que es un DNS de la empresa propietaria de la CDN. La
CDN responde con la dirección IP del nodo de la CDN más próximo a la ubicación del
navegador web (que es el que hace la petición para los contenidos) al DNS de la CDN. Esta
"proximidad" se calcula a partir de información que va recogiendo sobre las distancias
de los nodos de la CDN al ISP.
3) Finalmente, el navegador web pide los objetos al nodo de la CDN que le han asignado.
Las CDN no se utilizan sólo para distribuir contenidos web. También se usan
para streaming de audio y vídeo, tanto almacenado como en directo.
Finalmente hay que decir que, para proporcionar su servicio, las CDN usan el
DNS para unas funciones para las que no está diseñado. Las CDN utilizan el
DNS para redirigir las peticiones de manera transparente, pero este mecanismo
de redirección sobrecarga el DNS ya que hace que las peticiones dirigidas a la
CDN no se puedan cachear.
© FUOC • PID_00147724 43 El nivel de aplicación
4. Transferencia de ficheros
(14)
El protocolo de transmisión de ficheros FTP14 permite transferir ficheros de Siglas en inglés de File Transfer
Protocol
un ordenador a otro. Funciona siguiendo el modelo cliente servidor sobre una
conexión TCP/IP. En la figura siguiente, se puede ver el funcionamiento del
FTP a grandes rasgos.
• LIST: para pedir al servidor que envíe la lista de ficheros del directorio
remoto actual. La lista de ficheros se envía por una conexión de datos.
• RETR fichero: para obtener un fichero del directorio actual del ordena-
dor remoto.
Cada comando enviado al ordenador remoto genera una respuesta de este. Bibliografía
Las respuestas son números de tres dígitos seguidos de un mensaje opcional.
Acerca de las peticiones y
Algunas respuestas habituales son: las respuestas, encontraréis
más información sobre los
comandos y respuestas en el
• 331 Username Ok, password required RFC 959.
• 125 Data connection already open; transfer starting
• 425 Can't open data connection
• 452 Error writing file
(15)
La especificación original del FTP es inherentemente insegura porque no tiene SFTP es la abreviatura de SSH
File Transfer Protocol o Secure File
ningún método para transferir datos de manera cifrada. Esto quiere decir que
Transfer Protocol.
en la mayoría de las configuraciones de red, el nombre de usuario, la clave de
acceso, los comandos FTP y los ficheros transferidos se pueden capturar desde (16)
FTPS es la abreviatura de FTP
la misma red utilizando un sniffer. La solución habitual a este problema es usar sobre SSL.
SFTP15 o FTPS16.
IETF
El SFTP es un protocolo que proporciona acceso, transferencia y gestión
de ficheros sobre un canal fiable. Normalmente se utiliza con el SSH, y El SFTP fue diseñado por la In-
ternet Engineering Task Force
el SSH es el que proporciona el canal fiable, aunque se podría utilizar (IETF) como una ampliación
del Secure Shell Protocol (SSH)
con otros protocolos de seguridad. Por lo tanto, la seguridad no la pro- versión 2.0.
porciona directamente el protocolo SFTP, sino el SSH o el protocolo que
se utilice para este propósito.
© FUOC • PID_00147724 45 El nivel de aplicación
El correo electrónico existe desde los principios de Internet. En los años se-
senta los sistemas mainframe ya tenían formas de comunicación uno a uno
tipo mensajería, y a lo largo de los años estos sistemas han ido evolucionando
hasta llegar al nivel de sofisticación y potencia actuales. Hoy día, es una de las
aplicaciones más importantes y usadas de Internet.
5.1. SMTP
1 S: 220 upc.cat
2 C: HELO uoc.edu
3 S: 250 Hello uoc.edu please to meet you
4 C: MAIL FROM: <marques@uoc.edu>
5 S: 250 marques@uoc.edu ... Sender OK
6 C: RCPT TO: <puig@upc.cat>
7 S: 250 puig@upc.cat ... Recipient OK
8 C: DATA
9 S: 354 Enter mail, end with "." on a line by itself
10 C: Este es un mensaje de correo de ejemplo.
11 C: ¿Verdad que es sencillo?
12 C: .
13 S: 250 Message accepted for delivery
14 C: QUIT
15 S: 221 upc.cat closing connection
Como parte del diálogo, el cliente envía los comandos: HELO, MAIL FROM, RCPT TO,
DATA y QUIT. El cliente envía el mensaje (líneas 10 a 11) después del comando DATA y lo
acaba con una línea que sólo contiene un punto (línea 12: CRLF.CFLR), y que indica el
final del mensaje enviado al servidor. El servidor contesta cada comando con un código
de respuesta y un texto opcional explicativo (en inglés).
© FUOC • PID_00147724 47 El nivel de aplicación
El protocolo SMTP usa conexiones persistentes. En el caso de que el servidor Diálogo con el servidor
origen tenga más de un mensaje para enviar al mismo servidor destino, los SMTP
mensajes se envían aprovechando la misma conexión TCP. El cliente empieza Si tenéis acceso a un servidor
cada mensaje con un nuevo MAIL FROM: uoc.edu, acaba cada mensaje con SMTP que no requiera auten-
ticación, vosotros mismos po-
un punto en una línea que sólo contiene un punto y envía el comando QUIT déis intentar dialogar directa-
mente con el servidor SMTP.
una vez ha acabado de enviar todos los mensajes. Para hacerlo, sólo tenéis que
hacer: telnet nombre-
Servidor 25, siendo nom-
5.2. Formato de los mensajes breServidor el del servidor
SMTP al cual os conectáis. Al
hacer esto, estáis establecien-
do una conexión TCP con el
Tal y como sucede en las cartas postal que tienen un sobre y una carta, los
servidor SMTP. Podéis repe-
mensajes de correo electrónico tienen dos partes. tir los comandos del ejemplo
prefijados con C: y veréis que
se envía un mensaje de correo
electrónico. (Intentad poner
• Cabecera: incluye la información general del mensaje. Sería equivalente como recipiente una dirección
al sobre de la carta postal y está formada por varios campos cabecera. de correo electrónico vuestra y
recibiréis el mensaje.)
El RFC 822 especifica el formato de las cabeceras, así como su semántica. Cada campo
de la cabecera consta de un nombre�del�campo seguido del carácter ":/, opcionalmente
acompañado por un cuerpo�del�campo, y acaba con un CRLF.
1 S: 220 upc.cat
2 C: HELO uoc.edu
3 S: 250 Hello uoc.edu please to meet you
4 C: MAIL FROM: <marques@uoc.edu>
5 S: 250 marques@uoc.edu ... Sender OK
6 C: RCPT TO: <puig@upc.cat>
7 S: 250 puig@upc.cat ... Recipient OK
8 C: DATA
9 S: 354 Enter mail, end with "." on a line by itself
10 C: From: marques@uoc.edu
11 C: To: puig@upc.cat
12 C: Subject: Mensaje de ejemplo
13 C:
14 C: Este es un mensaje de correo de ejemplo.
15 C: ¿Verdad que es sencillo?
16 C: .
17 S: 250 Message accepted for delivery
18 C: QUIT
19 S: 221 upc.cat closing connection
© FUOC • PID_00147724 48 El nivel de aplicación
(17)
Tal y como hemos dicho anteriormente, una limitación de la norma RFC 822 MIME es la abreviatura de Mul-
tipurpose Internet Mail Extensions.
es que define un formato de mensaje y un contenido con una única parte de
texto en ASCII de 7 bits. Se vio que este formato era muy pobre y que hacía falta
RFC del formato MIME
algún método para superar sus limitaciones. El formato MIME17 redefine el
formato del mensaje para permitir, sin perder la compatibilidad con el formato El formato de mensajes MIME
está especificado en los RFC
definido por el RFC 822, dar apoyo a: 2.045, 2.046, 2.047, 4.288,
4.289 y 2.049.
Content-Type
Ejemplo
Content-Type: image/JPEG
indica que el cuerpo del mensaje contiene una imagen formateada en JPEG. De esta
manera, el agente usuario de mensajería que reciba el mensaje puede hacer las acciones
necesarias, como enviar el cuerpo del mensaje a un descompresor JPEG.
Algunos�tipos Algunos�subtipos
Content-Transfer-Encoding
Recordad que hemos dicho que los mensajes SMTP tienen que ir codificados
en ASCII de 7 bits. La cabecera Content-Transfer-Encoding: indica que
el cuerpo del mensaje ha sido codificado en ASCII y el tipo de codificación
utilizado.
Ejemplo
Content-Transfer-Encoding: base64
indica que se ha utiliza la codificación base64 para codificar el cuerpo del mensaje. La
codificación base64 codifica una secuencia arbitraria de bytes en una forma que satisface
las reglas del ASCII de 7 bits, y por lo tanto, no confundirá el SMTP.
Otra técnica popular para codificar que también satisface el ASCII de 7 bits es
la quoted-printable, que se acostumbra a utilizar para convertir texto codificado
en ASCII de 8 bits (que puede contener caracteres no ingleses) en ASCII de 7
bits.
Ejemplo de quoted-printable
• Codificado en ISO-8859-1.
• Q: codificación quoted-printable.
Cuando volváis a recibir un mensaje (frecuentemente reenviado) con una secuencia co-
mo esta ya sabréis de dónde sale :-)
From: marques@uoc.edu
To: puig@upc.cat
Subject: Foto del niño
MIME-version: 1.0
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
Los servidores SMTP guardan los mensajes recibidos en los buzones de correo
de los destinatarios de los mensajes. Es posible acceder a estos mensajes co-
nectándose al servidor SMTP y ejecutando un programa para leer el correo.
La mayoría de los usuarios, sin embargo, leen el correo electrónico desde un
ordenador personal, mediante un cliente de correo que les ofrece un conjunto
amplio de funcionalidades y que incluye la posibilidad de ver mensajes mul-
timedia y adjunciones.
© FUOC • PID_00147724 51 El nivel de aplicación
5.3.1. POP3
(18)
POP318 es un protocolo del ámbito aplicación para que un agente de usuario de El protocolo POP3 (Post Office
Protocol versión 3) está especifica-
correo electrónico (el cliente) pueda obtener el correo de un servidor de correo do en el RFC 1939.
remoto. El funcionamiento es muy sencillo. El cliente abre una conexión TCP
con el servidor en el puerto 110. Una vez establecida esta conexión, el POP3
pasa por tres fases.
Los comandos son palabras clave, que pueden estar seguidas de argu-
mentos, y que acaban con un salto de línea (CRLF). Tanto las palabras
clave como los argumentos son caracteres ASCII imprimibles.
Si tenéis acceso a un servidor de correo que no requiera utilizar una conexión segura, os
podéis intentar conectar con telnet servidorCorreo 110.
El usuario puede configurar su agente de usuario –utilizando POP3– para que aplique la
política "baja los mensajes y bórralos" o la política "baja los mensajes y deja copia de los
mismos en el servidor".
© FUOC • PID_00147724 52 El nivel de aplicación
El agente de usuario obtiene una lista de los mensajes (LIST), y los va bajando (RETR) y
borrando (DELE) uno a uno. Por claridad, identificamos las líneas emitidas por el agente
de usuario con C: y por el servidor de correo con S:
C: LIST
S: +OK 2 messages (320 octets)
S: 1 120
S: 2 200
S: .
C: RETR 1
S: +OK 120 octets
S: < el servidor de POP3 envía el mensaje 1>
S: .
C: DELE 1
S: +OK message 1 deleted
C: RETR 2
S: +OK 200 octets
S: < el servidor de POP3 envía el mensaje 2>
S: .
C: DELE 2
S: +OK message 2 deleted
C: QUIT
S: +OK POP3 server signing off
Un problema del modo "baja los mensajes y bórralos" es que el correo se ba-
ja en un ordenador. Si el usuario posteriormente quiere acceder al correo des-
de otro ordenador no lo podrá hacer, ya que el servidor ya no contendrá los
mensajes. Esto es problemático para usuarios que acostumbran a leer el correo
desde diferentes ordenadores, por ejemplo el ordenador de casa, un ordenador
portátil, el trabajo, etc.
5.3.2. IMAP
(19)
El protocolo IMAP19 es un protocolo de acceso a correo como el POP3, pero El IMAP está especificado en el
RFC 3.501.
tiene muchas más funcionalidades. También es más complejo de implementar,
tanto en la parte cliente como en la parte del servidor.
(20)
Los servidores IMAP20 asocian cada mensaje a una carpeta. Cuando un men- IMAP es la abreviatura de Inter-
net Mail Access Protocol.
saje llega al servidor, este se asocia a la carpeta INBOX. Posteriormente, el re-
ceptor puede mover este mensaje a otra carpeta creada por el mismo usuario.
También puede leerlo, borrarlo, etc. El protocolo IMAP proporciona coman-
dos para permitir a los usuarios crear carpetas y para mover mensajes de una
carpeta a otra. El IMAP también proporciona comandos que permiten a los
usuarios hacer buscas de mensajes que satisfagan ciertos criterios en las carpe-
tas remotas. De todo esto, ya se ve que los servidores IMAP deben mantener
información entre sesiones IMAP: los nombres de las carpetas, qué mensajes
están asociados a cada carpeta, etc.
© FUOC • PID_00147724 53 El nivel de aplicación
Otra característica interesante del IMAP es que tiene comandos que permiten
al agente de usuario obtener partes de un mensaje: puede obtener sólo las ca-
beceras del mensaje, o sólo una parte de un mensaje multiparte (por ejemplo,
el texto del mensaje sin el fichero adjunto). Esto es especialmente útil cuando
se utiliza una conexión con poco ancho de banda.
5.3.3. Web
aportan los usuarios de la aplicación aunque estos estén conectados de manera En el artículo de Lua�y�otros
intermitente. (2005). "A survey and com-
parison of peer-to-peer over-
lay network schemes". IEEE
Las aplicaciones de igual a igual se han popularizado de la mano de las apli- Communications Surveys &
Tutorials (vol. 7, núm. 2) en-
caciones de compartición de ficheros. La primera fue Napster, pero la han ido contraréis un resumen de có-
mo funcionan las redes su-
siguiendo otras aplicaciones. En este material presentaremos varias, que nos perpuestas de igual a igual
tienen que ayudar a entender cómo funcionan estos tipos de aplicaciones. Ca- más populares, así como
una comparativa entre estas.
da una de estas aplicaciones utiliza su propia organización interna y sus pro- También encontraréis más
pios protocolos. detalle de los sistemas expli-
cados en este apartado.
Un sistema de igual a igual que utilice una red superpuesta del tipo no estruc-
turado es un sistema que está compuesto de iguales que se conectan a la red
sin conocer su topología. Estos sistemas usan mecanismos de inundación pa-
ra enviar consultas mediante la red superpuesta. Cuando un igual recibe la
pregunta, envía al igual que la ha originado una lista de todo el contenido
que encaja con la pregunta. Aunque las técnicas basadas en la inundación
van bien para localizar objetos altamente reproducidos y son resistentes ante
las conexiones y desconexiones de los nodos, no tienen un comportamiento
muy bueno cuando se hacen buscas de objetos poco reproducidos. De esta
manera, las redes superpuestas no estructuradas tienen fundamentalmente un
problema: cuando deben gestionar un ritmo elevado de consultas o cuando
hay crecimientos repentinos del tamaño del sistema, se sobrecargan y tienen
problemas de escalabilidad.
te de los recursos necesarios para servir el contenido. Este tipo de soluciones Para más información sobre
son útiles para distribuir contenidos que son muy populares. BitTorrent utiliza el funcionamiento de BitTo-
rrent, podéis consultar el ar-
servidores para gestionar las bajadas. Estos servidores almacenan un fichero tículo siguiente:
que contiene información sobre el fichero: longitud, nombre, información de B.�Cohen (2003, junio). "In-
centives Build Robustness in
resumen (hashing information, en inglés) y el URL del tracker. El tracker (podéis BitTorrent". Proc. First Works-
ver la figura siguiente) conoce todos los iguales que tienen el fichero (tanto hop the Economics of Peer-to-
Peer Systems. Berkeley, CA:
de manera total como parcial) y hace que los iguales se conecten unos con University of Berkeley.
otros para bajar o subir los ficheros. Cuando un nodo quiere bajar un fichero
envía un mensaje al tracker, que le contesta con una lista aleatoria de nodos
que están bajando el mismo fichero. BitTorrent parte los ficheros en trozos
(de 256 kB) para saber qué tiene cada uno de los iguales. Cada igual que está
bajando el fichero anuncia a sus iguales los trozos que tiene. El protocolo pro-
porciona mecanismos para penalizar a los usuarios que obtienen información
sin proporcionarla. De esta manera, a la hora de subir información, un igual
elegirá otro igual del que haya recibido datos.
© FUOC • PID_00147724 57 El nivel de aplicación
eMule puede funcionar tanto sobre la red eDonkey como sobre Kad. Kad es
una implementación de Kademlia, una red superpuesta estructurada (en el
próximo apartado se explica cómo funcionan estos tipos de sistemas).
Por este motivo, cada igual mantiene una tabla de direccionamiento peque-
ña. Los mensajes se direccionan de una manera progresiva hacia los iguales
a través de caminos de superposición. Cada nodo envía el mensaje al nodo
de su tabla de direccionamiento que tiene un identificador más próximo a la
clave en el espacio de identificadores. Los diferentes sistemas basados en DHT
tienen distintos esquemas de organización para los objetos de datos y su espa-
cio de claves y estrategias de direccionamiento. En teoría, los sistemas basados
en DHT garantizan que, como media, se puede localizar cualquier objeto en
O(log N) saltos en la red superpuesta, donde N es el número de iguales en el
sistema. El camino entre dos nodos en la red física puede ser muy diferente
del camino en la red superpuesta DHT. Esto puede provocar que la latencia en
las buscas en un sistema de igual a igual basado en una red DHT sea bastan-
te grande y pueda afectar negativamente al rendimiento de la aplicación que
funcione por encima.
Can, Chord, Tapestry, Pastry, Kademlia, DKS o Viceroy son ejemplos de redes superpues-
tas estructuradas.
CAN
S.�Ratnasamy�y�otros (2001). "A Scalable Content Addressable Network". Proc. ACM SIG-
COMM (págs. 161-72).
Chord
Tapestry
Pastry
Kademlia
DKS
Viceroy
eMule tiene una versión que funciona sobre la red Kad, que es una implemen-
tación de Kadmelia. Kad mejora la localización de ficheros en la Red y la hace
más resistente a ataques a los servidores centrales.
© FUOC • PID_00147724 60 El nivel de aplicación
7. Mensajería instantánea
7.1. XMPP
(21)
El XMPP21 es un protocolo libre de mensajería instantánea de especificaciones XMPP es la abreviatura de Ex-
tensible Messaging Presence Proto-
abiertas basado en el XML, y que ha sido estandarizado por la IETF. col. El XMPP antes se conocía co-
mo jabber.
22
Como se puede ver en la siguiente figura, el XMPP utiliza una arquitectura (22)
El puerto estándar para el
cliente-servidor descentralizada: de manera similar a como lo hace el SMTP, XMPP es el 5222.
no hay un servidor central que coordine la mensajería. Los clientes no se co-
munican directamente unos con otros, lo hacen mediante los servidores. Arquitecturas
centralizadas
De manera similar al correo electrónico, cada usuario tiene una dirección úni- Otros sistemas de mensajería
ca formada por dos campos: un nombre de usuario (único para cada servidor) instantánea como Windows Li-
ve Messenger o AOL Instant
seguido de la dirección DNS del servidor que hospeda al usuario, separados Messenger utilizan arquitectu-
ras centralizadas.
por el símbolo @, como nombre@dominio.com.
• Al ser un protocolo abierto, cada usuario puede utilizar un cliente XMPP SASL
diferente, siempre y cuando cumpla las especificaciones del XMPP.
El Simple Authentication and Se-
curity Layer (SASL) es un fra-
Los puntos débiles del protocolo XMPP son los siguientes. mework para la autenticación
y la seguridad de los datos en
protocolos de Internet. Separa
los mecanismos de autentica-
• Overhead�de�la�información�de�presencia: en torno al 70% del tráfico ción de los protocolos de apli-
entre servidores XMPP es información de presencia, cuyo 60% es redun- cación haciendo posible –en
teoría– que cualquier mecanis-
dante. La información de presencia permite saber qué amigos o contactos mo de autenticación soporta-
do por el SASL se pueda utili-
hay conectados y, por lo tanto, es posible enviar mensajes instantáneos. zar en cualquier protocolo de
aplicación. Está especificado
en el RFC 4.422.
• La�inclusión�de�datos�binarios�es�ineficiente: XMPP se codifica como un
único documento XML. Para incluir datos binarios, estos se deben codifi-
car en base64. Cuando hay que enviar cantidades considerables de datos Jingle
binarios (por ejemplo, envío de ficheros), lo mejor es hacer el envío de Jingle es una ampliación del
manera externa al XMPP y utilizar mensajes XMPP para coordinarse. XMPP para iniciar y gestionar
sesiones multimedia entre dos
entidades XMPP, de manera
que sean interoperables con
estándares existentes de Inter-
net.
© FUOC • PID_00147724 63 El nivel de aplicación
(23)
El protocolo Telnet23 se usa en Internet o en redes de área local para propor- La especificación de Telnet se
publicó en el año 1983 en el están-
cionar una comunicación bidireccional interactiva en el acceso a ordenadores dar RFC 854.
remotos. Está basado en el protocolo de transporte TCP. En una comunicación
Telnet, normalmente se sigue el modelo cliente-servidor, es decir, el sistema
usuario establece una conexión con el sistema proveedor, que está esperando
peticiones de conexión en un puerto determinado. Se puede utilizar cualquier
número de puerto para las conexiones y, de hecho, hay muchas aplicaciones
que utilizan el protocolo Telnet para la comunicación, cada una con su propio
número.
La aplicación básica, sin embargo, es establecer una sesión de trabajo interac- Terminal virtual de red
tiva con el sistema servidor. En este caso, el número de puerto utilizado es
Un terminal virtual de red, en
el 23. Esta sesión de trabajo en el ordenador remoto se hace vía un terminal inglés Network Virtual Termi-
virtual. Para resolver el problema del control del terminal en la aplicación de nal (NVT), es un dispositivo
imaginario por el cual se defi-
sesiones interactivas, en el protocolo Telnet se utiliza el concepto de terminal nen unas funciones de control
canónicas, de manera que se
virtual de red o NVT. Un NVT es un terminal virtual con una funcionalidad puede establecer una corres-
muy básica, definida en la misma especificación del protocolo. pondencia entre estas funcio-
nes y las de cada tipo de ter-
minal real.
La solución a la falta de seguridad del protocolo Telnet ha sido el protocolo Puerto TCP 22
Secure Shell (SSH).
El puerto estándar para con-
tactar a un servidor SSH es el
puerto TCP 22.
El SSH proporciona la funcionalidad de Telnet con los añadidos siguien-
tes:
a) Permite el cifrado para evitar que sea posible interceptar los datos
que se envían.
Si tenemos en cuenta dos de los requerimientos más relevantes que tienen Ved también
las aplicaciones de red, como son la tolerancia a pérdidas de datos y las con-
Para una descripción comple-
sideraciones temporales, nos damos cuenta de que estos son especialmente ta de los requerimientos de las
importantes para las aplicaciones multimedia en red. aplicaciones en red, podéis ver
en este mismo módulo el su-
bapartado 1.4, "Requerimien-
tos de las aplicaciones".
Con respecto a la pérdida de datos, se tiene que decir que las aplicaciones
multimedia son muy tolerantes: las pérdidas ocasionales de datos lo único que
hacen es que haya un salto en la imagen o en el sonido; sin embargo, si se
continúa recibiendo información, se puede continuar normalmente la comu-
nicación. Por el contrario, se trata de aplicaciones muy sensibles al retraso, lo
cual hace que las consideraciones temporales se deban tener muy en cuenta.
Así pues, a lo largo de los subapartados siguientes veremos que los paquetes
que llegan con un retraso de más de unos centenares de milisegundos no sir-
ven para nada en una aplicación multimedia y se pueden descartar (un sonido
que se ha emitido hace dos segundos con respecto a lo que se está escuchando
o una imagen que ya ha pasado no hay que mostrarlos al usuario).
Aunque para enviar este tipo de streams se podrían utilizar conexiones multi-
cast (un emisor transmite a diferentes receptores en una única conexión), la
verdad es que se hacen múltiples conexiones unicast (una conexión para cada
receptor).
Este tipo de aplicaciones permiten que los usuarios interactúen en tiempo real. Direcciones web
Actualmente, hay bastantes aplicaciones de este tipo que permiten que los recomendadas
usuarios hagan audio o videoconferencias mediante Internet. Windows Mes- Aplicaciones de audio y ví-
senger, Google Talk o Skype son algunos ejemplos de aplicaciones que permi- deo interactivo:
Windows Messenger: http:/
ten establecer conexiones de audio y/o vídeo. Algunas de estas aplicaciones
/ www.microsoft.com/win-
también permiten llevar a cabo llamadas telefónicas a teléfonos fijos o móviles dows/messenger/features.asp
(haciendo un pequeño pago), como es el caso de Skype. Google Talk: http://
www.google.com/talk/ intl/
se/
El retraso permitido en estas aplicaciones no debe ser mayor que unos cente- Skype: http://
www.skype.com/intl/es/
nares de milisegundos. Así pues, retrasos de más de 400 milisegundos harían
que una comunicación de voz fuera prácticamente imposible.
IP es un protocolo de tipo best effort, es decir, que intenta entregar los paque-
tes tan pronto como puede, pero sin dar ninguna garantía. Los protocolos de
transporte TCP/UDP funcionan sobre IP, y por lo tanto tampoco pueden dar
garantías de cuándo llegará un determinado paquete a su destino. Por este
motivo, el envío de datos multimedia por Internet es una tarea difícil de que
ha tenido hasta ahora un éxito limitado.
jitter se tiene que eliminar antes de hacer la reproducción de los datos. El re-
productor debe almacenar los paquetes por un corto periodo de tiempo para
eliminar el jitter antes de reproducir el stream.
Puesto que para este tipo de datos no es muy adecuado reenviar los paquetes,
lo que se hace es utilizar otras técnicas de recuperación de errores, como son
forward error correction (FEC) e interleaving.
Para enviar datos multimedia (audio y vídeo) por Internet es necesario digi-
talizar y comprimir estos datos. La razón por la cual hay que digitalizar los
datos es muy sencilla: las redes de ordenadores transmiten bits; así pues, to-
da la información que se transmite tiene que estar representada con bits. La
compresión es importante porque el audio y el vídeo sin comprimir ocupan
mucho espacio, con el consumo de ancho de banda que esto implica. Eliminar
la redundancia en las señales de audio y vídeo reduce en varios órdenes de
magnitud el ancho de banda que se necesita para transmitir la información.
El�ancho�de�banda�necesario�y�la�compresión
Una imagen de 1.024 píxeles –en la que cada píxel se presenta con 24
bits, 8 para los colores rojo, azul y verde– necesita 3 MB sin compresión.
Suponiendo que tuviéramos que enviar las dos imágenes por un canal
de 64 kbps, en el primer caso tardaría 7 minutos en enviarse, mientras
que en el segundo el tiempo de transmisión se reduce en un factor de 10.
© FUOC • PID_00147724 70 El nivel de aplicación
Compresión de audio
Para el caso de la PCM, se toman 8.000 muestras por segundo y cada muestra Ejemplos en el uso de la
se representa con 8 bits. Esto nos da una señal digital con una tasa de 64.000 PCM
bits por segundo. La señal digital puede descodificarse y convertirse de nuevo Algunos ejemplos en el uso
en una señal analógica, pero esta señal será diferente de la señal analógica ori- de la PCM son la codificación
de voz con 8.000 muestras/
ginal como consecuencia del muestreo. Si se recogen más muestras y se toman segundo y 8 bits/muestra, lo
que da una tasa de 64 kbps. El
más valores posibles para estas muestras, la señal analógica descodificada será CD de audio también utiliza la
mucho más parecida a la señal original. PCM, con 44.100 muestras/se-
gundo y 16 bits/muestra. Esto
da una tasa de 705,6 kbps pa-
ra canales mono y 1,411 Mbps
Aunque la velocidad de las conexiones en Internet ha mejorado (recordemos para estéreo.
que un módem proporcionaba una velocidad máxima de 56 kbps), la compre-
sión de audio y vídeo es todavía muy importante. Así pues, podemos encon-
trar algunos ejemplos de compresión de voz con tasas de bits más bajas como
GSM (13 kbps) o G.729 (8 kbps).
Para la compresión de sonido con calidad casi de CD, la técnica más popular
es el estándar de compresión MPEG 1 Layer 3, más conocido como MP3. Las
tasas de compresión de MP3 suelen ser 96 kbps, 128 kbps y 160 kbps, con poca
degradación del sonido.
Compresión de vídeo
Para vídeo, los estándares de compresión MPEG son también los más popula-
res. Estos incluyen MPEG 1 para la compresión con calidad de CD de vídeo (1,5
Mbps), MPEG 2 para calidad de DVD (3-6 Mbps) y MPEG 4 para compresión
orientada a objetos. Las técnicas de compresión MPEG se basan en el hecho
de explotar la redundancia temporal entre imágenes además de la compresión
© FUOC • PID_00147724 71 El nivel de aplicación
trabajar en la red Internet son Quicktime Movie (Apple), Real Media (Real Más información sobre los
Networks), Windows Media (Microsoft), Audio/Video Interleaved (Microsoft), formatos de audio y vídeo:
J.�Niederst (2006). Web De-
MPEG (mpg) y Flash Video (Adobe). A continuación, hacemos un resumen de
sign in a Nutshell (3.ª ed.). Se-
sus características principales. bastopol: O'Reilly.
Los formatos de audio más conocidos para trabajar en la red Internet son WAV/
AIFF, MP3, Quicktime Audio (Apple), MIDI, Real Media Audio (Real Networks),
Windows Media Audio (Microsoft) y Flash (Adobe). A continuación hacemos
un resumen de sus características principales.
• MP3: se trata del formato más popular en la red Internet. Ofrece una muy
buena calidad de sonido, al mismo tiempo que permite hacer una alta
compresión de datos. Sigue el estándar MPEG-1 Nivel-III y se basa en com-
primir la información partiendo de la percepción auditiva de las personas.
Se puede hacer streaming de este formato y también se puede bajar con
HTTP o FTP.
Sin embargo, para recibir los datos de streaming hay que tener una aplicación
dedicada (lo que se conoce como media player o reproductor), que sea capaz
de ofrecer las características siguientes.
3) El navegador guarda los datos en el disco y estos datos son reproducidos por
un reproductor de archivos multimedia, que deberá descomprimir los datos,
eliminar los retrasos y solucionar los errores de datos que se hayan podido
producir.
(24)
El protocolo RTSP24 establece y controla tanto uno como varios streams sin- El RFC que define el RTSP es el
2.326.
cronizados de datos multimedia, como pueden ser el audio y el vídeo. No hace
el envío de los datos, aunque el envío de información de control en medio de
la transmisión de datos es posible. Lo que hace el RTSP es de control remoto
a través de la Red para los servidores de datos multimedia.
Los streams controlados por el RTSP pueden utilizar RTP, pero el funcionamien- Ved también
to del RTSP no depende del mecanismo de control utilizado para enviar los
Sobre el RTP, podéis ver más
datos multimedia. El protocolo RTSP es muy parecido al protocolo HTTP/1.1 adelante el subapartado 11.1
(la versión 1.1 del protocolo HTTP), lo cual hace que se puedan añadir me- de este módulo didáctico.
El cliente puede estar en cuatro estados posibles: Init, Ready, Playing y Recor-
ding. El estado Init indica que el cliente ha enviado una orden SETUP y espera
respuesta. El estado Ready indica que, o se ha recibido una respuesta afirma-
tiva a SETUP, o se ha recibido una confirmación al envío de la orden PAUSE
estando en Playing o Recording. Los estados Playing y Recording indican que se
ha recibido una confirmación afirmativa a las órdenes PLAY y RECORD, de
manera respectiva.
La figura siguiente muestra los estados por los cuales ha pasado el cliente,
como respuesta a las órdenes que envía. Las transiciones se producen cuando
el cliente recibe una confirmación positiva a la orden enviada (la orden se
indica en la flecha correspondiente).
© FUOC • PID_00147724 79 El nivel de aplicación
El servidor puede estar en cuatro estados posibles: Init, Ready, Playing y Recor-
ding. El estado Init indica que el servidor está a la espera de recibir una orden
SETUP correcta. Es el estado inicial. El estado Ready indica que el último SETUP
recibido fue correcto y se envió la confirmación correspondiente, o que en los
estados Playing y Recording la orden PAUSE se recibió y se confirmó. El estado
Playing indica que se ha recibido la orden PLAY y se confirmó y que se están
enviando los datos al cliente. El estado Recording indica que el servidor está
grabando los datos.
La figura siguiente muestra los estados por los cuales ha pasado el servidor,
como respuesta a las órdenes que recibe (y de las cuales envía confirmación al
cliente). Las transiciones se producen cuando el servidor recibe una orden y
ha enviado una confirmación positiva (la orden se indica en la flecha corres-
pondiente).
© FUOC • PID_00147724 80 El nivel de aplicación
Los métodos RTSP siguientes son los más relevantes a la hora de cambiar de
estado y de hacer la reserva de recursos para el stream en el lado servidor.
• SETUP: el servidor reserva recursos para un stream e inicia una sesión RTSP.
Los métodos RTSP que modifican el estado de la sesión utilizan el campo Se-
sión de la cabecera RTSP, que veremos en el subapartado siguiente. Para con-
sultar la lista entera de métodos, podéis ver el RFC del RTSP.
Esquemas RTSP
En RTSP, los URL pueden empezar con RTSP o RTSPU. El uso de RTSP indica que funciona
sobre un nivel de transporte fiable (TCP), mientras que RTSPU indica que el protocolo
funciona sobre un nivel de transporte no fiable (UDP).
rtsp://host:port/cami/al/recurso
Ejemplo:
rtsp://servidor.multimedia.com:554/programa_tv.html
Los URL tendrían que evitar utilizar direcciones IP en lugar del nombre del
host, y pueden referirse a un único stream o a una serie de streams agregados.
© FUOC • PID_00147724 81 El nivel de aplicación
La orden RTSP indica qué orden del protocolo estamos utilizando. El URI-pe- Ved también
tición identifica el recurso al cual queremos acceder, y la versión RTSP indica
Los valores de las órdenes
la versión del protocolo que estamos utilizando. [Espacio] es un espacio en RTSP, así como el formato de
blanco y [Salto línea] está representado por los caracteres Salto de línea (ASCII la versión RTSP, están explica-
dos con detalle en el anexo 1.
10) y Retorno de carro (ASCII 13). El resto de los espacios en blanco se han
puesto por claridad.
• La cabecera de entidad contiene información sobre el cuerpo del mensaje Ved también
(que también se conoce como entidad).
Los valores que pueden tomar
las cabeceras de entidad están
El cuerpo del mensaje lleva la información, si la hay, asociada a la petición. explicados con detalle en el
anexo 1.
La versión RTSP define la versión del protocolo que se está utilizando, el código Ved también
de estado define el éxito o error en la petición y la descripción del estado es
Los valores de los códigos y las
una descripción textual del código de estado. [Espacio] es un espacio en blanco descripciones de estado están
y [Salto línea] está representado por los caracteres Salto de línea (ASCII 10) y explicados con detalle en el
anexo 1.
Retorno de carro (ASCII 13). El resto de los espacios en blanco se han puesto
por claridad.
En este subapartado veremos un ejemplo de uso del protocolo RTSP, con las
peticiones y respuestas que nos encontraríamos en una comunicación real.
En este ejemplo, el cliente establece una conexión TCP en el puerto 554 del
servidor y envía la orden OPTIONS, indicando la versión del protocolo RTSP
que utilizará. El servidor confirma esta orden con un mensaje 200 OK (indi-
cando que ha ido bien). Este código de respuesta es igual al equivalente en
HTTP.
En un segundo paso, el cliente envía una orden de tipo DESCRIBE, que indica SDP y MHEG
al servidor el contenido concreto que queremos. El servidor vuelve a respon-
El Session Description Protocol
der con un 200 OK, incluyendo una descripción completa del contenido, en (SDP) está definido en el RFC
algún formato estandarizado –por ejemplo, Session Description Protocol (SDP) o 4.566.
Multimedia and Hypermedia Ex-
Multimedia and Hypermedia Experts Group (MHEG). perts Group (MHEG): http://
www.mheg.org.
DESCRIBE rtsp://servidor.multimedia.com:554/videos/
video.html RTSP/1.0
Cseq: 2
© FUOC • PID_00147724 84 El nivel de aplicación
Como se puede ver, además de las líneas de petición y respuesta, los mensajes
llevan cabeceras que indican el número de secuencia del mensaje (Cseq) o las
características de la entidad enviada (Content-type o Content-length).
(25)
El Real Time Transport Protocol (RTP)25 es un protocolo definido por la Inter- El RFC que define el RTP y el
RTCP es el 3.550.
net Engineering Task Force (IETF). Este protocolo se puede utilizar para enviar
cualquier tipo de formato: PCM, GSM o MP3 para audio y MPEG o H.263 para
Ved también
vídeo. Este protocolo es complementario a otros protocolos de tiempo real,
como SIP o H.323. Los protocolos SIP o H.323 se
verán más adelante dentro de
este mismo apartado.
11.1.1. Descripción del RTP
Ved también
El RTP funciona sobre el protocolo de transporte UDP. El emisor encapsula
un trozo de datos (chunk, en inglés) dentro del paquete RTP, que también se En este subapartado 11.1 ha-
blaremos del RTP, y en el 11.2
encapsula dentro de un datagrama UDP, el cual viaja en un paquete IP. El re- hablaremos del protocolo de
ceptor extrae los datos RTP del datagrama UDP y pasa los datos al reproductor control del RTP, el RTCP.
Si una aplicación incluye RTP, será más fácil que pueda interoperar con otras
aplicaciones multimedia. Por ejemplo, si dos fabricantes ofrecen un software
de telefonía sobre IP e incorporan RTP en su producto, la interconexión entre
sus productos será más factible.
El RTP no ofrece ningún mecanismo que permita asegurar que los datos llegan
a su destino a tiempo o con la calidad de servicio adecuada. Tampoco garantiza
que los paquetes lleguen en orden, ya que el protocolo RTP sólo se reconoce
en los extremos y los direccionadores toman los paquetes IP que contienen
RTP como si fueran cualquier otro paquete IP y no los diferencian del resto.
El RTP forma parte del nivel de aplicación (estaría por encima del UDP, que es
el nivel de transporte), pero también se puede ver como un subnivel dentro
del nivel de transporte. En la figura siguiente se puede ver esta distinción de
forma gráfica:
© FUOC • PID_00147724 87 El nivel de aplicación
Los primeros 12 octetos están presentes en todos los paquetes RTP, mientras Mezclador RTP
que la lista de identificadores CSRC (Contributing Source) sólo está presente
Un mezclador RTP se encar-
cuando hay un mezclador. ga de cambiar el formato del
stream con el fin de adecuarlo
al ancho de banda del recep-
Los campos tienen el significado siguiente. tor.
• Versión (V): 2 bits. Este campo identifica la versión RTP. La versión actual
es la 2.
• Relleno (P): 1 bit. Si este bit está activado, el paquete contiene unos o más
octetos de relleno adicional en los datos. El último octeto de relleno indica
cuántos octetos se tienen que descartar, incluyendo el mismo. Esta técnica
puede ser necesaria para algunos algoritmos de cifrado que necesitan un
tamaño de bloque fijo.
• Extensión (X): 1 bit. Si está activado, la cabecera fija sólo puede llevar una
extensión.
• SR: informe del emisor (Sender Report, en inglés), para transmitir y recibir
estadísticas de los participantes que son emisores activos.
• RR: informe del receptor (Receiver Report, en inglés), para recibir estadísti-
cas de los participantes que no son emisores activos. También se puede
combinar con el SR para los emisores activos que tienen que informar so-
bre más de 31 fuentes de datos (el máximo que se puede indicar en un
paquete de tipo SR).
Cada paquete RTCP empieza con una parte fija similar a la que tienen los
paquetes de datos RTP, seguida de una serie de elementos estructurados que
pueden tener una estructura variable de acuerdo con el tipo de paquete, pero
que deben tener una longitud múltiple de 32 bits. Se incluyen campos para
indicar la alineación y un campo de longitud para hacer que los paquetes RTCP
sean apilables. Los paquetes RTCP pueden enviarse de manera consecutiva, sin
tener que ponerles ningún separador, y formar de este modo un paquete RTCP
compuesto, que se puede enviar en un único paquete del nivel inferior (por
ejemplo, UDP). Cada paquete RTCP dentro del paquete compuesto se tiene
que procesar de manera independiente del resto de los paquetes. Sin embargo,
para llevar a cabo las funciones del protocolo, se imponen las restricciones
siguientes:
b) Los nuevos receptores deben recibir el CNAME tan pronto como sea posible
para identificar la fuente y poder asociar el contenido multimedia.
© FUOC • PID_00147724 90 El nivel de aplicación
• SR o RR: el primer paquete del paquete compuesto debe ser de tipo infor-
me, para facilitar la validación de la cabecera. Esto se tiene que hacer siem-
pre, aunque no se hayan enviado o no se hayan recibido datos. En este
caso, se tiene que enviar un paquete RR vacío.
Un participante RTP tiene que enviar un único paquete compuesto por inter- Ved también
valo de envío de informes para calcular correctamente el ancho de banda de
El formato específico de cada
RTCP por participante. paquete RTCP se define en el
anexo 2 de este módulo didác-
tico.
11.2.2. Uso del ancho de banda en el protocolo RTCP
Para el funcionamiento del RTCP, se puede ver que, en una conexión con un
emisor y muchos receptores (que pueden comunicarse con multicast), los datos
enviados con RTCP pueden exceder en gran manera los datos enviados con
RTP por el emisor. Por este motivo, el RTCP modifica la tasa de envío de los
paquetes RTCP a medida que aumenta el número de participantes en la sesión.
El protocolo da el 75% de esta tasa, 75 kbps, a los receptores, y el resto, los 25 kbps res-
tantes, al emisor. Los 75 Kbps de los receptores se reparten entre los mismos de manera
igualitaria. De este modo, si hay R receptores, cada receptor puede enviar tráfico RTCP a
una tasa de 75 kbps/R y el emisor envía a una tasa de 25 kbps. Los participantes (emisores
o receptores) determinan el periodo de transmisión de un paquete RTCP calculando di-
námicamente el tamaño medio de paquete RTCP (en toda la sesión) y dividiéndolo entre
el tamaño medio de paquete RTCP que puede enviar a su tasa asignada.
Para resumir, el periodo en el que un emisor puede enviar un paquete RTCP es:
(26)
El Session Initiation Protocol (SIP)26 trabaja en cooperación con estos protocolos, El RFC donde se define el SIP es
el 3.261.
y permite que los diferentes agentes de usuario (aplicaciones que utilizan a los
usuarios para comunicarse) puedan encontrarse y ponerse de acuerdo con el
Aplicaciones que utilizan
tipo de sesión que quieren compartir. Para localizar a los participantes de una el SIP
sesión y para otras funciones, el SIP permite la creación de una infraestructura
Windows Live Messenger y
de hosts (denominados proxy servers), a la que las aplicaciones de usuario pue- Yahoo Messenger son dos apli-
den enviar peticiones de registro, invitación a las sesiones y otras peticiones. caciones que utilizan SIP.
• Localización del usuario: hace referencia al sistema final que se hará para
la comunicación.
• Capacidad de los usuarios: indica el medio y los parámetros del medio que
se utilizarán.
El SIP no ofrece servicios, sino primitivas que se pueden utilizar para ofrecer
diferentes tipos de servicio. Por ejemplo, el SIP tiene una primitiva que permite
encontrar a un usuario y enviarle datos opacos a su localización. Si estos datos
consisten en una descripción de sesión definida, por ejemplo con SDP, los
extremos de la comunicación pueden ponerse de acuerdo con los parámetros
de la sesión.
La naturaleza de los servicios que se pueden ofrecer con SIP hace que la segu-
ridad sea muy importante. Por este motivo, el SIP ofrece toda una serie de me-
canismos de seguridad que incluyen la prevención de la denegación de servi-
cio, la autenticación de usuarios y proxies, la protección de la integridad y los
servicios de cifrado y privacidad.
En este ejemplo, Amalia y Cristina quieren establecer una sesión SIP. Cada in-
tercambio tiene al lado un número entre paréntesis (n), para hacer de referen-
cia en la explicación del mismo. También se muestran los dos servidores proxy
que actúan en nombre de Amalia y Cristina para facilitar el establecimiento
de la sesión.
(27)
Amalia llama a Cristina utilizando su identidad SIP, una especie de URI, deno- El RFC del TLS es el 4.346.
minado URI SIP. Un URI SIP es semejante a una dirección de correo electrónico;
lo definiremos más adelante, pero contiene un host y un nombre de usuario.
En este caso, este URI es sip:amalia@bcn.cat, en el que bcn.cat es el dominio
del proveedor de servicio de Amalia. El URI SIP de Cristina es sip:cris@vic.cat.
Amalia puede haber escrito la dirección de Cristina o puede haberla elegido
de un enlace o una agenda. También existen los URI SIP seguros, que se deno-
minan SIPS, como por ejemplo sips:cris@vic.cat. En este caso, se utilizaría el
Transport Layer Security (TLS)27 para proveer de una conexión segura y cifrada
para transportar los mensajes SIP.
• Las líneas siguientes son cabeceras, que contienen información sobre el Ved también
origen y el destino de la comunicación (From, To), la dirección donde
Se puede encontrar una lista
Amalia quiere recibir las respuestas, indicada en Via, y algunos identifica- completa de las cabeceras SIP
dores únicos. Cseq es un número de secuencia que se incrementa con cada en el anexo 3 de este módulo
didáctico.
nueva petición. Contact contiene el URI SIP que representa la ruta directa
hacia Amalia, formada por un nombre de usuario y el nombre de dominio.
El número Max-Forwards indica el número máximo de saltos que puede
dar esta petición y, finalmente, Content-Type y Content-Length contie-
nen información sobre el cuerpo del mensaje.
Los parámetros específicos de la sesión no se definen con SIP, sino con otro
protocolo, como el SDP, que no veremos aquí.
El proxy server bcn.cat encuentra la dirección SIP del dominio vic.cat. De esta
manera, consigue la dirección del proxy server de vic.cat y le reenvía la orden
INVITE (2). Este contesta con un 100 (Trying) (5), para indicar que está traba-
jando en servir la petición. El proxy server consulta una base de datos para en-
contrar la dirección de Cristina y le envía la petición INVITE (4) a su teléfono
SIP. Cuando el teléfono recibe la petición, suena para informar a Cristina de
que está recibiendo una llamada. El teléfono SIP indica que se está haciendo
la llamada enviando un mensaje de tipo 180 (Ringing) (6), (7), (8), que llega
hasta el teléfono de Amalia. Cuando la respuesta llega al teléfono de Amalia,
© FUOC • PID_00147724 95 El nivel de aplicación
este hace alguna indicación de que está sonando el teléfono en el otro extre-
mo. En este caso, Cristina responde a la llamada, lo cual hace que se envíe una
respuesta de tipo 200 OK (9), (10), (11). Amalia envía un ACK (12). En este
momento, hay que negociar los parámetros de la sesión con el protocolo SDP.
A continuación, se muestra cómo sería el mensaje de respuesta enviado por
el teléfono SIP de Cristina:
SIP/2.0 200 OK
Via: SIP/2.0/UDP proxy03.vic.cat
;branch=z9hG4bKnashds8;received=192.0.2.3
Vía: SIP/2.0/UDP proxy01.bcn.cat
;branch=z9hG4bK77ef4c2312983.1;received=192.0.2.2
Via: SIP/2.0/UDP pc01.bcn.cat
;branch=z9hG4bK776asdhds ;received=192.0.2.1
To: Cristina <sip:cris@vic.cat>;tag=a6c85cf
From: Amalia <sip:amalia@bcn.cat>;tag=1928301774
Call-ID: a84b4c76e66710@pc01.bcn.cat
CSeq: 314159 INVITE
Contact: <Sip:cristina@192.0.2.4> Content-Type: application/sdp Content-Length: 131
• Las líneas siguientes son cabeceras. Via, From, Call-ID y Cseq se copian de
la petición INVITE (ahora hay distintas cabeceras de tipo Via para indicar
la comunicación mediante los proxy servers). Contact contiene el URI SIP
que representa la ruta directa hacia Cristina, formada por un nombre de
usuario y nombre de dominio. Content-Type y Content-Length contienen
información sobre el cuerpo del mensaje.
Para acabar la sesión, Cristina envía una orden BYE (cuelga) (13). Este BYE
se envía directamente al teléfono de Amalia, sin pasar por los proxies. Amalia
responde con un 200 OK (14). En este caso, no hay ACK.
© FUOC • PID_00147724 96 El nivel de aplicación
En este subapartado veremos el protocolo SIP, incluyendo el formato de los URI SIP
mensajes de petición y respuesta y los campos de cabecera. Muchas de las ca-
En SIP, los URI (direcciones)
racterísticas del protocolo se heredan de HTTP, pero no se trata de una exten- pueden empezar con SIP o
sión. Por ejemplo, el SIP puede utilizar UDP para enviar sus peticiones y res- SIPS. El uso de SIPS indica que
se tiene que establecer una co-
puestas. Las direcciones (URI SIP) de los usuarios que utilizan este protocolo nexión segura (con TLS) para
llevar a cabo la comunicación.
tienen la forma:
sip:user:password@host:port;uri-parameters?headers
Ejemplo:
sip:amalia@bcn.cat
Los URI para SIPS siguen el mismo formato, cambiando SIP por SIPS al inicio
del URI.
• host: el ordenador que ofrece el recurso SIP. Este campo puede contener un
nombre de dominio o una dirección IP numérica. Se recomienda utilizar
el nombre de dominio.
• uri parameters: parámetros que afectan a la petición que lleva el URI. Los
parámetros se representan como nom-param=valor-param. Están separa-
dos de host:port con punto y coma y entre estos también se separan con
punto y coma.
El orden SIP indica qué orden del protocolo estamos utilizando. El URI-peti-
ción identifica el recurso al que queremos acceder, y la versión SIP indica la
versión del protocolo que estamos utilizando. [Espacio] es un espacio en blan-
co y [Salto línea] está bien representado por los caracteres Salto de línea (ASCII
10) y Retorno de carro (ASCII 13). El resto de los espacios en blanco se han
puesto por claridad. Las órdenes SIP son: REGISTER, INVITE, ACK, CANCEL,
BYE y OPTIONS. La funcionalidad de cada método es la siguiente.
La versión SIP define la versión del protocolo que se está utilizando, y el código Ved también
de estado define el éxito o error en la petición y la descripción del estado, que
Los valores de los códigos y
es una descripción textual del código de estado. [Espacio] es un espacio en descripciones de estado están
blanco y [Salto línea] está representado por los caracteres Salto de línea (ASCII explicados con detalle en el
anexo 3.
10) y Retorno de carro (ASCII 13). El resto de los espacios en blanco se han
puesto por claridad.
© FUOC • PID_00147724 99 El nivel de aplicación
11.4. H.323
Este protocolo está considerado como una alternativa al SIP y es muy popular
a la hora de transmitir audio y vídeo en tiempo real. Está dedicado a la trans-
misión de voz sobre IP (voice over IP –VOIP–, en inglés). Con H.323, es posible
comunicar un equipo conectado a Internet con un teléfono conectado a la
red telefónica.
• Cómo se envían los trozos de datos de audio y vídeo. H.323 obliga a utilizar
RTP.
El requerimiento mínimo de H.323 es que se debe soportar el audio, pero las Formatos de datos
características de vídeo son opcionales. De esta manera, los fabricantes pue- utilizados en H.323
den ofrecer unos equipos sencillos con las características de audio y dejar para G.711 – Audio http://
equipos más sofisticados la parte de vídeo. Para transmitir los datos de audio, www.itu.int/rec/T-REC-G.711/
en.
se tiene que utilizar un estándar que utiliza PCM (G.711) para generar voz di- QCIF H.261 – Vídeo http://
gitalizada tanto en 56 kbps como 64 kbps. Aunque el vídeo es opcional, en www.itu.int/rec/T-REC-H.261/
en.
caso de que el terminal lo tenga, debe soportar como mínimo el estándar QCIF
H.261.
© FUOC • PID_00147724 100 El nivel de aplicación
Para acabar este subapartado, se describen las diferencias principales entre SIP
y H.323.
• H.323 fue definido por ITU (telefonía), mientras que SIP fue definido por
IETF (Internet). Esto hace que el punto de vista de los dos sea muy dife-
rente.
11.5. Skype
Skype es un sistema de telefonía peer-to-peer (P2P) que funciona sobre la red KaZaa
Internet. Es la competencia de estándares de transmisión de voz sobre IP (VoIP)
KaZaa es una aplicación P2P
como SIP o H.323. Fue desarrollada por el equipo que hizo KaZaa en el año de descarga de contenidos
2003. que tuvo mucho éxito hace
unos años. Utiliza el mismo
protocolo P2P que Skype, Fast-
Track.
Se trata de una aplicación muy utilizada desde que se creó, tanto en sus servi-
cios gratuitos como de pago. Ofrece muchas funcionalidades, incluyendo au-
dio y videoconferencias gratuitas, el uso de tecnologías P2P (descentralizado)
para no tener problemas con cortafuegos o con la traducción de direcciones
(en inglés, Network Address Translation, NAT) y las múltiples medidas para que
no se pueda reconocer el protocolo o el software que la implementan.
La identificación del usuario que llama está enmascarada cuando se hace una
llamada. La diferencia principal entre Skype y otros servicios es que utiliza
tecnología P2P, mientras que el resto utiliza arquitecturas cliente-servidor. La
implementación de P2P que utiliza es FastTrack, implementada en la aplica-
ción KaZaa. La arquitectura que implementa FastTrack es una red superpuesta
(overlay network, en inglés) con dos tipos de nodos: los nodos normales y los
supernodos. Un nodo normal es un ordenador en el que se ha instalado la
aplicación Skype y que permite hacer llamadas y enviar mensajes de texto. Los
supernodos son end-points de la red Skype. Cualquier nodo que tenga una IP
pública y bastantes recursos (memoria, ancho de banda, etc.) puede conver-
tirse en un supernodo. Un nodo normal tiene que hacer login en la red Skype
con su usuario y palabra de paso y, de esta manera, estará conectado a un su-
pernodo. Todavía tenemos otro elemento en la red, el servidor de login, que
es el que almacena los usuarios y las palabras de paso en toda la red Skype
(los nombres de usuario son únicos). Aparte de este servidor, el resto de las
operaciones en la red (busca de usuarios, envío de mensajes y llamadas, etc.)
se hace de manera totalmente descentralizada.
© FUOC • PID_00147724 102 El nivel de aplicación
12. Anexos
12.1.1. Órdenes
Orden Descripción
OPTIONS Permite al cliente pedir información sobre las opciones de comunicación con el servidor.
DESCRIBE Recupera la información del contenido multimedia identificado por el URL que se envía con la orden.
ANNOUNCE Si lo envía el cliente, se está indicando la descripción de una presentación. Si lo envía el servidor, se actua-
liza la información de la descripción de la sesión en tiempo real.
SETUP Especifica los parámetros del mecanismo de transporte. Se puede enviar a media sesión, para cambiar es-
tos parámetros.
PAUSE Se indica al servidor que se quiere parar temporalmente la recepción de datos de la sesión.
Los códigos de estado son de cinco tipos: 1XX, informativos, 2XX, petición
lograda, 3XX, redireccionamiento, 4XX, error en la petición del cliente y 5XX,
error en el servidor.
Sólo se han puesto los códigos específicos de RTSP, el resto están definidos en
el RFC de HTTP.
Éxito 250 Poco espacio de almacenamiento. Puede suceder con la orden RECORD.
© FUOC • PID_00147724 104 El nivel de aplicación
Error�parte�cliente 458 Un parámetro que se quería modificar con SET_PARAMETER es sólo de lectura.
Error�parte�cliente 459 El parámetro no se puede aplicar al recurso. Sólo se puede aplicar a un stream
Error�parte�cliente 460 El parámetro no se puede aplicar al recurso. Sólo se puede aplicar a una presentación.
12.1.3. Cabeceras
En la tabla siguiente, se describen las cabeceras del protocolo RTSP que son
específicas de este protocolo. El resto están definidas en el RFC de HTTP:
Cabecera Descripción
Blocksize Tamaño de datos preferido por el cliente. No incluye las cabeceras de protocolos de niveles inferio-
res (IP, UDP, RTSP).
If-Modified-Since Se utiliza con SETUP y DESCRIBE. Si la descripción no se ha modificado desde el momento indicado
en esta cabecera, se envían datos.
© FUOC • PID_00147724 105 El nivel de aplicación
Cabecera Descripción
Scale Permite indicar si el contenido se quiere ver a velocidad normal, más rápida o más lenta.
En este anexo, se describen los datos que contiene cada uno de los paquetes
del protocolo RTCP.
Este tipo de paquete tiene tres secciones y una cuarta, opcional, que son las
extensiones y que están definidas por los perfiles.
La primera sección es la cabecera y tiene ocho octetos. Los campos son los
siguientes.
• Versión (V): 2 bits. Identifica la versión de RTP y es la misma que para los
paquetes de datos. La versión actual es la 2.
• Relleno (P): 1 bit. Si el bit de relleno está activado, este paquete RTCP tiene
octetos de relleno que no forman parte de la información de control, pero
que están incluidos en la longitud del paquete. El último octeto de relleno
indica cuántos octetos se tienen que ignorar, incluido el mismo. En un pa-
quete compuesto, sólo se debe añadir relleno a los paquetes individuales.
• Tipo de paquete (PT): 8 bits. Contiene una constante con valor 200 para
identificar que se trata de un paquete de tipo SR.
• RTP timestamp: 32 bits. Tiene el mismo valor que el campo anterior, pero
con las mismas unidades que los timestamps de los paquetes RTP.
• Número de secuencia más alto recibido: 32 bits. Los 16 bits más altos con-
tienen el número de secuencia más alto recibido y el resto son extensiones
al número de secuencia.
El formato de este tipo de paquete es igual al del paquete SR, excepto por el
hecho de que el tipo de paquete tiene la constante 201 y la información del
emisor (timestamps NTP y RTP y número de paquetes y octetos enviados) no
está.
Este tipo de paquete tiene una estructura en tres niveles compuesta por una
cabecera y cero o más porciones, cada una de estas formada por elementos que
describen la fuente identificada por la porción.
La primera sección es la cabecera y tiene ocho octetos. Los campos son los
siguientes.
• Versión (V), relleno (P) y longitud tienen el mismo significado que los
definidos por el paquete SR.
El campo CNAME tiene que ser único y hace enlace entre un identificador
SSRC (que puede cambiar) y el identificador de la fuente, que debe ser cons-
tante.
El paquete BYE indica que uno o más fondos ya no están activos. Los campos
son los siguientes.
• Versión (V), relleno (P) y longitud tienen el mismo significado que los
definidos por el paquete SR.
El paquete APP está pensado para que las aplicaciones añadan funcionalidad.
Los campos son:
• Versión (V), relleno (P) y longitud tienen el mismo significado que los
definidos por el paquete SR.
Los códigos de estado son de 5 tipos: 1XX, respuestas provisionales, 2XX, pe-
tición lograda, 3XX, redireccionamiento, 4XX, error en la petición del cliente,
5XX, error en el servidor y 6XX, errores globales (específicos del SIP).
Muchos de los códigos de estado están heredados del protocolo HTTP, pero
también hay códigos específicos del SIP. Los códigos HTTP que no tengan sen-
tido en SIP no se deben utilizar.
Respuestas�provisionales 100 Indica que el siguiente host (salto, hop, en inglés) ha recibido la petición.
Respuestas�provisionales 180 Indica que la petición INVITE se ha recibido en el otro lado y se avisa al usuario.
Respuestas�provisionales 182 La llamada se ha puesto en la cola, porque el receptor de la llamada no está dispo-
nible.
Redirección 300 Indica que hay múltiples opciones en la localización de la dirección del usuario al
que se llama.
Redirección 301 El usuario ha cambiado de dirección y se le tiene que llamar a la nueva dirección
indicada en la cabecera Contact.
Redirección 302 El usuario ha cambiado de dirección y se le tiene que llamar a la nueva dirección
indicada en la cabecera Contact.
Redirección 380 La llamada no ha sido posible, pero hay servicios alternativos disponibles.
Error�parte�cliente 403 El servidor no quiere servir la petición del cliente, aunque tenía un formato correc-
to.
Error�parte�cliente 406 El recurso no es aceptable según los valores enviados en la cabecera Accept.
Error�parte�cliente 413 El tamaño de la entidad enviada por el cliente es demasiado grande para que el
servidor la pueda tratar.
Error�parte�cliente 414 El tamaño del URI es demasiado grande para que el servidor lo pueda tratar.
Error�parte�cliente 415 El tipo de datos del contenido no está soportado por el servidor.
Error�parte�cliente 416 La petición no se puede servir, porque el esquema indicado en el URI del recurso
no se reconoce.
Error�parte�cliente 421 Los programas necesitan una extensión específica para poder servir la petición.
Error�parte�cliente 480 Se ha podido llegar hasta el servidor, pero el usuario al que se ha llamado no está
disponible temporalmente.
Error�parte�cliente 493 El cuerpo del mensaje lleva un tipo MIME que el servidor no puede tratar.
Error�parte�servidor 500 Error interno del servidor, que hace que no pueda servir la petición.
Error�parte�servidor 501 El servidor no tiene implementada la funcionalidad necesaria para servir la peti-
ción.
© FUOC • PID_00147724 112 El nivel de aplicación
Error�parte�servidor 505 El servidor no soporta la versión del protocolo indicada por el cliente.
Error�parte�servidor 513 El mensaje es demasiado largo para que el servidor lo pueda procesar.
12.3.2. Cabeceras
En la tabla siguiente se describen las cabeceras del protocolo SIP que son espe-
cíficas de este protocolo. El resto están definidas en el RFC de HTTP:
Cabecera Descripción
Contact Contiene una URI que puede tener diferentes significados según el contexto.
Content-Disposition Indicación de la organización del cuerpo del mensaje, en términos de las partes que pueda tener
y los formatos MIME.
Cabecera Descripción
Record-Route El proxy llena esta cabecera para indicar que las futuras peticiones tienen que pasar por el mismo.
Reply-To URI de retorno que no debe ser en absoluto el mismo que el de la cabecera From.
Route Descripción de los proxies por los cuales tendría que pasar la petición.
To Receptor de la llamada.
Via Indicación del camino que ha seguido la petición y que se tiene que utilizar para las respuestas.
Resumen
Finalmente, se han visto una serie de técnicas y protocolos para trabajar con
contenidos multimedia en Internet, tanto por streaming de audio y vídeo:
RTSP; como por aplicaciones interactivas en tiempo real: RTP, RTCP, SIP, H3.23
y Skype.
© FUOC • PID_00147724 115 El nivel de aplicación
Bibliografía
Kurose, J. F.; Ross, W. K. Computer Networking (5.ª edición). Boston: Addison Wesley. ISBN
0-321-49770-8.
Este libro proporciona una visión completa de los diferentes aspectos relacionados con las
redes de ordenadores. En este módulo interesa el capítulo 2 ("Application Layer"), en el que se
pueden encontrar los conceptos básicos de la Web, el correo electrónico, la transferencia de
ficheros y el servicio de directorio de Internet. También hay un apartado de igual a igual que
puede complementar la visión de los sistemas de igual a igual dada en este módulo.
Keagy, S. (2000). Integrating Voice and Data Networks. Indianapolis: Cisco Press.
En este libro hay dos secciones dedicadas a los formatos de audio y vídeo que se transmiten
por Internet.
Hersent, O.; Gurle, D.; Petit, J. P. (1999). IP Telephony: Packet-Based Multimedia Commu-
nications Systems. Indianapolis: Addison Wesley Professional.
En este libro, se describen los protocolos SIP y H.323 para la implementación de telefonía
sobre IP.
Artículos
Baset, S.; Schulzrinne, H. (2004). "An Analysis of the Skype Peer-To-Peer Internet Telep-
hony Protocol".
Lua y otros (2005). "A survey and comparison of peer-to-peer overlay network schemes".
IEEE Communications Surveys&Tutorials (vol. 7, núm. 2).
En este artículo encontraréis un resumen de cómo funcionan las redes superpuestas de igual
a igual más populares, así como una comparativa entre las mismas. También encontraréis
más detalle de los sistemas explicados en este módulo.
Comunicaciones
inalámbricas
Miquel Font Rosselló
PID_00147722
© FUOC • PID_00147722 Comunicaciones inalámbricas
Ninguna parte de esta publicación, incluido el diseño general y la cubierta, puede ser copiada,
reproducida, almacenada o transmitida de ninguna forma, ni por ningún medio, sea éste eléctrico,
químico, mecánico, óptico, grabación, fotocopia, o cualquier otro, sin la previa autorización escrita
de los titulares del copyright.
© FUOC • PID_00147722 Comunicaciones inalámbricas
Índice
Introducción............................................................................................... 5
Objetivos....................................................................................................... 7
2. Redes inalámbricas............................................................................ 29
2.1. Infrarrojos .................................................................................... 30
2.2. Bluetooth ..................................................................................... 33
2.3. ZigBee .......................................................................................... 40
2.4. WiFi ............................................................................................. 43
2.5. WiMax ......................................................................................... 47
Resumen....................................................................................................... 54
Bibliografía................................................................................................. 55
© FUOC • PID_00147722 5 Comunicaciones inalámbricas
Introducción
Las ondas infrarrojas, microondas y ondas hertzianas son las llamadas radia-
ciones electromagnéticas que se utilizan en el campo de las telecomunicacio-
nes inalámbricas (sin cable).
Dentro del mundo de las comunicaciones sin hilos, podemos distinguir dos
grandes grupos:
Objetivos
4. Saber cuáles son las funcionalidades actuales y futuras que se ofrecen a los
usuarios de la telefonía móvil.
5. Conocer los estándares y los nombres de las redes inalámbricas de uso más
común en la actualidad.
7. Saber elegir una tecnología inalámbrica concreta para una situación par-
ticular.
© FUOC • PID_00147722 9 Comunicaciones inalámbricas
Después, surgió la tecnología WAP, que consistía en unas páginas web pensa-
das para verlas con las pantallas monocromas de los teléfonos móviles. Las pri-
meras conexiones se hacían con llamadas al proveedor telefónico, que trans-
mitía los datos como si fuera un módem tradicional y los transmitía a una
velocidad de 9,6 kbits/s.
Después surgieron las tecnologías 3G, que se definen dentro del IMT-2000 (de
la ITU) que marca el estándar para que todas las redes 3G sean compatibles
unas con otras. Actualmente, el 3GPP (3er generation partnership project) está
trabajando con el universal mobile telecommunications system (UMTS), una de las
© FUOC • PID_00147722 10 Comunicaciones inalámbricas
tecnologías que utilizan los móviles de tercera generación (3G). Esta tecnología
permite descargar datos a una velocidad de hasta 2 Mbits/s, lo que fomenta la
aparición de nuevas aplicaciones y servicios.
(1)
El sistema global system for mobile communication1 (GSM) es un estándar acep- En castellano, sistema global de
comunicación móvil.
tado por los teléfono móviles o celulares. GSM es el nombre de un grupo de
estandarización, ideado en 1982, pensado para crear un estándar de comuni-
cación para los teléfonos móviles europeos.
El sistema de estación base (BSS) realiza todas las funciones relacionadas con
la transmisión por radio, que consiste en controladores de estación base (BSC)
y las estaciones transmisoras base (BTS). Sus funciones son las siguientes:
Otros elementos son el message center (MXE), que guarda los mensajes de datos,
de voz, y de fax; el mobile service node (MSN), que proporciona servicios de red
inteligentes, el gateway mobile services switching center (GMSC), que sirve para
inteconectar dos redes, y la GSM interworking unit (GIWU), que consiste en el
hardware y software de la interfaz de varios redes.
La red GSM identifica cada celda a través de la identidad global de celda (CGI),
que es un número asignado a cada celda. Un área de localización es un con-
junto de celdas. En esta área es donde el suscriptor está situado. Cada área de
localización está servida por uno o más controladores de estaciones base, para
una sola MSC. A cada área de localización se le asigna un número denominado
identidad de localización de área.
Cada área de servicio MSC/VLR representa la parte de la red GSM que es cu-
bierta por una MSC, y se registra en el VLR de la MSC.
Hay dos tipos de servicios básicos ofrecidos por GSM: telefonía y datos.
Los servicios de telefonía son básicamente los servicios de voz que proporcio-
nan los suscriptores para comunicarse con otros suscriptores (telefonía nor-
mal y llamadas de emergencia). Los servicios de datos son básicamente los si-
guientes:
• Servicio de fax de grupo III: permite que un fax GSM se pueda comunicar
con un fax analógico.
• Servicio de buzón de voz: una máquina del operador recibe y guarda las
llamadas y mensajes del buzón de voz.
1.2. GPRS
El general packet radio service (GPRS) o servicio general de paquetes vía radio
es una extensión del GSM, que permite la transmisión de datos por paquetes,
con velocidades de transferencia de 56 a 144 Kbps. Servicios como el wireless
application protocol (WAP), servicio de mensajería multimedia (MMS), acceso a
Internet o SMS pueden utilizar el GPRS. La transferencia de datos de GPRS se
cobra por volumen de información transmitida, no por tiempo, independien-
temente de si el usuario utiliza toda la capacidad del canal o está en estado
de inactividad.
GPRS se basa en una red de conmutación superpuesta a la red GSM. Fue nece-
sario instalar nuevos nodos y elementos de red sobre la red GSM para soportar
servicios de conmutación de paquetes pero se utiliza la misma infraestructura
GSM en el subsistema de radio. Las estaciones base son las mismas en GSM
que en GPRS.
© FUOC • PID_00147722 17 Comunicaciones inalámbricas
• Clase�A: soporta tanto servicios GSM como servicios GPRS de manera si-
multánea.
Acceso a Internet
Un acceso propio a Internet podría ser de la siguiente manera con APN: movistar.es.
El perfil estaría configurado por defecto para navegar por Internet con el TME como
proveedor del servicio y acceso a los diferentes servicios ubicados en la red de TME. La
secuencia de acciones sería:
Por ejemplo, se puede crear una conexión a Internet en un ordenador portátil de las
siguientes maneras:
• Conectando al ordenador directamente con una tarjeta PC Card con un SIM GSM
Difusión de EDGE
1.3. EDGE
Enhanced data for global evolution (EDGE) y enhanced data rates for GSM
evolution son tecnologías que permiten aumentar las velocidades de
transmisión de datos y la eficiencia espectral, facilitando nuevas aplica-
ciones y el aumento de la capacidad para el uso en servicios de telefonía
móvil.
1.4. UMTS
En la implantación de los sistemas 3G juega un papel muy importante el fo- Dirección web
ro UMTS, un organismo independiente, creado en 1996, en el que participan recomendada
cerca de 170 compañías de 30 países, pertenecientes a las industrias suminis- Podéis acceder al foro UMTS
tradoras de equipos, operadores de telecomunicaciones y organismos de regu- a través de la página web
http://www.umts-forum.org.
lación. El foro está comprometido en la formación del consenso necesario pa-
ra introducir y desarrollar con éxito el estándar UMTS y así poder satisfacer
la demanda del mercado de unas comunicaciones móviles personales de bajo
coste y alta calidad. Los países europeos lo están desarrollando en cooperación
con las organizaciones de estandarización en el 3G.
UMTS en España
España fue uno de los países pioneros en la tecnología UMTS, y ha sido uno de los pri-
meros países en lanzar el servicio. En el 2000 se adjudicaron cuatro licencias UMTS dis-
ponibles a las operadoras Telefónica Móviles (Movistar), Airtel (actualmente Vodafone),
Amena (actualmente Orange) y el consorcio Xfera (más conocido como Yoigo).
• Cuarta� fase. Incremento del bit rate para alcanzar tasas superiores a 2
Mbits/s.
© FUOC • PID_00147722 21 Comunicaciones inalámbricas
UMTS proporciona servicios de fácil uso y adaptables para abordar las nece-
sidades y preferencias de los usuarios, una amplia gama de terminales para
realizar un fácil acceso a distintos servicios y bajo coste de los servicios para
hacerse con un mercado masivo. También ofrece la capacidad de ofrecer dife-
rentes formas de tarificación y el servicio de roaming internacional.
UMTS ha evolucionado para integrar todos los servicios ofrecidos por las dis-
tintas tecnologías y redes actuales (GSM, RDSI, Internet...) y se puede utili-
zar en determinados terminales (teléfono fijo, inalámbrico, celular, terminal
multimedia...), tanto en ambientes profesionales como domésticos, ofrecien-
do una mayor calidad de servicios y soportando la personalización del usuario
y los servicios multimedia móviles en tiempo real. Los terminales son multi-
modo y multibanda, con cámara incorporada, pantalla de color y una gran
memoria.
Los servicios 3G combinan el acceso móvil de alta velocidad con los servicios
basados en el protocolo IP. Pero la 3G no sólo lleva una conexión rápida al
World Wide Web (WWW), sino que, además, implica nuevas formas de comu-
© FUOC • PID_00147722 22 Comunicaciones inalámbricas
Para asegurar el éxito de los servicios 3G, se proporciona a los usuarios unas
comunicaciones muy eficientes, con una alta velocidad y calidad, y fáciles de
utilizar. Por eso ofrecen: transmisión de alta fiabilidad, hasta 384 kbits/s en es-
pacios abiertos y 2 Mbits/s con baja movilidad, uso del ancho de banda diná-
mico en función de la aplicación, soporte tanto en conmutación de paquetes
como de circuitos, acceso a Internet (navegación WWW), videojuegos, comer-
cio electrónico, vídeo y audio en tiempo real, diferentes servicios simultáneos
en una sola conexión, calidad de voz con la red fija, mayor capacidad y uso
eficiente del espectro, personalización de servicios según el perfil de usuario,
servicios dependientes de la posición, incorporación gradual en coexistencia
con los sistemas actuales de 2 GR, itinerancia o roaming (incluido el interna-
cional) entre diferentes operadores y cobertura mundial con servicios terres-
tres y por satélite.
La estructura de las redes UMTS está compuesta por dos grandes subre-
des: la red de telecomunicaciones y la red de gestión. La primera es la
encargada de sustentar el trasvase de información entre los extremos de
una conexión. La segunda tiene como objetivo la provisión de medios
para la facturación y tarificación de los abonados. Tiene los siguientes
elementos:
• Modelos de interrelación:
– B2B: Business-to-Business.
– B2E: Business-to-Employee.
– B2C: Business-to-Consumer.
© FUOC • PID_00147722 24 Comunicaciones inalámbricas
Teleservicios de UMTS
Algunos ejemplos de teleservicios propios de UMTS son: petición de bases de datos, ser-
vicio de listín telefónico, navegación y localización, e-mail, llamadas de emergencia, lla-
madas de emergencia masiva, servicios de mensajería corta (fax, mensajes de voz, co-
rreo electrónico), control de equipos remotamente, telecompra, monitorización de vídeo,
mensajes de voz, paginación, transmisión de audio y vídeo...
Servicio Duración de la llamada Tasa de datos (kbit/s) Error de bit Retardo (ms)
Videoconferencia 1h 348-768 10
-7 90
(2)
• Tráfico unidireccional/bidireccional. Sigla de unidad de datos del ser-
vicio.
• Clase de tráfico: conversacional, streaming, interactivo, background.
• Tasa binaria máxima (kbps) y tasa binaria garantizada (kbps).
© FUOC • PID_00147722 27 Comunicaciones inalámbricas
Tasa de bits máxima (kbps) <=16.000 <=16.000 <= 16.000 – tiem- <= 16.000 – tiem-
po de sistema po de sistema
Medida máxima de SDU (unidad de da- <= 1.500 o 1.502 <=1.500 <= 1.500 o 1.502 <= 1.500 o 1.502
tos de servicio) (octetos) o 1.502
Prioridad de asignación/retención 1, 2, 3 1, 2, 3 1, 2, 3 1, 2, 3
El valor añadido de las aplicaciones y servicios sigue las normas de las 4 Qs:
La evolución de UMTS irá hacia las tecnologías high speed downlink packet ac-
cess (HSDPA) (3,5G y 3,75G) con terminales HSUPA y a los teléfonos de cuarta
generación (4G) para mejorar el rendimiento por el uso simultáneo de aplica-
ciones y aumentar la cobertura de tecnologías 3G, de forma que el rendimien-
to de la red se incremente hasta un 81% con respecto a GPRS y se produzca
una evolución en millones de usuarios los próximos años.
UMTS
Para que los usuarios utilicen los servicios 3G hacen falta nuevos teléfonos
y otros terminales capaces de proporcionar los servicios que aquellos desean,
desde la telefonía móvil hasta los multimedia (voz, datos y vídeo).
Los teléfonos móviles UMTS son muy útiles para el viajero y el cosmopolita.
Están diseñados de manera tal que puedan realizar el roaming en otras redes
UMTS (en el supuesto de que su proveedor UMTS se asocie con el proveedor
local UMTS) en diversas zonas del mundo. Además, casi todos los teléfonos
UMTS, a excepción del Japón, son UMTS/GSM de modo dual; eso significa
que durante una llamada, si salimos fuera de los límites de la zona UMTS, la
llamada será transferida por una cobertura GSM.
Teléfono móvil
Los teléfonos UMTS soportan una gran variedad de frecuencias ya que tienen
que poder utilizarse en todo el mundo. Muchos países aportan diferentes fre-
cuencias UMTS. Al igual que las tarjetas SIM para teléfonos GSM, existe la tar-
jeta USIM para los teléfonos UMTS. Parecidas a las tarjetas SIM, las tarjetas
USIM son una forma de identificar y autentificar a nivel local a los clientes
itinerantes. Si las redes UMTS tienen un acuerdo entre ellas, a continuación,
un usuario móvil puede utilizar sus teléfonos UMTS en otra red, aunque los
precios pueden cambiar. Las tarjetas USIM tienen espacio para almacenar los
contactos, mensajes y otra información. De la misma manera que las tarjetas
SIM, las tarjetas USIM también se pueden cambiar de un teléfono a otro, y el
nuevo mantendrá la identificación de la tarjeta.
© FUOC • PID_00147722 29 Comunicaciones inalámbricas
2. Redes inalámbricas
• Redes�personales�sin�hilos�(WPAN,�wireless�personal�area�network). Este
concepto se aplica cuando la distancia que se quiere cubrir es del orden de
unos cuantos metros. La familia de estándares más representativos son el
802.15.1 (Bluetooth), el 802.15.3a (UWB) y el 802.15.4 (Zigbee).
• Redes�locales�sin�hilos�(WLAN,�wireless�local�area�network). Permiten
dar servicios a distancias del orden de un centenar de metros (un piso,
una planta de un edificio, una nave industrial, unas cuantas calles, etc.).
El estándar más destacado en este campo es el 802.11 (WiFi).
• Redes�metropolitanas�sin�hilos�(WMAN,�wireless�metropolitan�area�net-
work). Permiten dar servicios a distancias del orden de unos cuantos kiló-
metros (un barrio, un pueblo, una urbanización...). El estándar más desta-
cado en este campo es el 802.16 (WiMAX).
• Redes�de�gran�alcance�sin�hilos�(WWAN,�wireless�wide�area�network).
Tienen una cobertura más amplia. La familia de estándares más represen-
tativos es la de GSM, GPRS y UMTS.
2.1. Infrarrojos
Dentro del mundo de las comunicaciones, se utiliza mucho porque hace falta
relativamente poca energía para generarla. Los primeros en utilizarla fueron
los ingenieros de una empresa que comunicaron una calculadora con una im-
presora para imprimir los cálculos que hacía. Otro ejemplo muy cotidiano al
respecto es el mando a distancia del televisor o del reproductor de DVD.
Los datos informáticos se tratan con numeración binaria, la cual, en la comu- Ejemplo de un puerto IrDA de la placa madre
de un ordenador
nicación infrarroja se codifica como un bit 0 si hay luz, o como un bit 1 si no
hay luz. Podemos ver la comunicación infrarroja como un cable virtual por
© FUOC • PID_00147722 32 Comunicaciones inalámbricas
el que pasan los datos de un elemento a otro. Este tipo de comunicación que
permite enviar los bits de información uno detrás de otro se llama comunica-
ción en serie.
(3)
Con respecto al protocolo de enlace, IrDA ha definido y adoptado un proto- High-Level Data Link Control es
3 un protocolo de comunicaciones
colo denominado IrLAP, que es una adaptación del clásico HDLC . Transmite de propósito general punto a pun-
información para pedir una conexión a 9.600 baudios. to.
• Una comunicación difusa, en la que no hace falta que haya una visión
directa entre emisor y receptor, de manera que los equipos tienen que ser
muy potentes.
© FUOC • PID_00147722 33 Comunicaciones inalámbricas
2.2. Bluetooth
Actualmente, la tecnología Bluetooth es la tecnología sin hilos más popular. Se Origen del nombre
trata de un protocolo basado en el estándar de comunicaciones IEEE 802.15, Bluetooth
pensado por la transmisión de datos y voz sin hilos entre dispositivos, me- El nombre Bluetooth tiene su
diante una radiofrecuencia. Al inicio del desarrollo de los productos Bluetooth origen en el rey danés Harald
Blatand (Harold Bluetooth en
de primera generación, se tuvo en cuenta lo siguiente: inglés) que unificó los pueblos
de Dinamarca, Noruega y Sue-
cia, que antes estaban en gue-
• El sistema tenía que ser universal. rra.
• Tenía que ser de bajo coste (el objetivo fue unos cuantos dólares para cada
dispositivo).
En 1999 se creó el SIG (grupo de interés especial) de Bluetooth, formado por las
empresas Ericsson, Intel, IBM, Toshiba y Nokia. Este SIG trabaja para definir,
desarrollar, promover y publicar el protocolo Bluetooth. Actualmente, este SIG
tiene más de 9.000 miembros.
Esta tecnología es propietaria, es decir, que sólo puede producirla quien tie-
ne la patente. Por eso sólo puede introducir esta tecnología en sus productos
quien pertenece al SIG de Bluetooth. Actualmente, la velocidad máxima de
transmisión oscila entre 1 Mbps y 3 Mbps.
Los sectores industriales en los que se utiliza son: automoción, aeronáutica, naval, otros
transportes, bienes de equipo mecánico, eléctrico, electrodomésticos, ordenadores, equi-
pos de oficina, hogar, telecomunicaciones y equipos electrónicos y otros segmentos in-
dustriales. En el sector servicios tenemos: los financieros, contenidos y ocio, administra-
ción y servicios públicos, servicios privados para empresas.
© FUOC • PID_00147722 34 Comunicaciones inalámbricas
• Fax: permite que los dispositivos Bluetooth remotos utilicen las opciones
del equipo para enviar un fax.
Modo Potencia
Voz 8 a 30 mA
Datos 5 mA (media)
mA = miliamperio
Bluetooth emite a la frecuencia de 2,4 GHz, que es una banda base, es decir,
que no interfiere las frecuencias utilizadas para la industria, la ciencia y la
medicina. Como se verá posteriormente, en este aspecto es bastante parecido
a un sistema WiFi.
1) Menos de 10 metros.
2) Aproximadamente 10 metros.
3) Aproximadamente 100 metros.
• Nivel� 3:� seguridad� a� nivel� de� enlace. Las medidas de seguridad se im-
plantan antes de que el canal de comunicación se haya establecido. Pro-
porciona encriptación y autoidentificación.
Para configurar los dispositivos, en primer lugar hay que establecer un SSID
(identificador) del dispositivo.
Esta tecnología también sufre ataques a la seguridad, y por eso tenemos que
saber cuáles son y cómo se pueden detectar. Las empresas sacan mejoras (ac-
tualizaciones) para evitar estos ataques a sus productos:
• Bluejacking: permite enviar datos en forma de texto a un móvil. Este pro- Bluetooth y red local
cedimiento no modifica ningún dato, pero quien recibe este ataque puede
Los dispositivos Bluetooth per-
llegar a pensar que tiene un virus en su dispositivo. miten integrarse dentro de
una red de área local y acceder
a la memoria de éstos como si
• Bluebugging: permite ejecutar pedidos en un teléfono móvil sin que el fuera un recurso de red local.
propietario reciba ningún aviso. El atacante puede hacer llamadas, enviar
mensajes y otras acciones.
© FUOC • PID_00147722 40 Comunicaciones inalámbricas
2.3. ZigBee
ZigBee tiene los módulos transmisores inalámbricos más baratos de la historia, y produ-
cidos de manera masiva. Tendrán un coste aproximado de 6 euros, y dispondrán de una
antena integrada, control de frecuencia y una pequeña batería.
Las desventajas de ZigBee son: tasa de transferencia muy baja, sólo manipula
textos pequeños en comparación con otras tecnologías, trabaja de manera que
no es compatible con Bluetooth porque no llega a tener las mismas tasas de
transferencia, ni la misma capacidad de soporte para nodos, tiene una menor
cobertura porque pertenece a redes sin hilos del tipo WPAN.
nodo puede estar dormido la gran mayoría de tiempo, lo que aumenta la vida
media de sus baterías. Un ZED tiene unos requerimientos mínimos de memo-
ria y por eso es significativamente muy económico.
1) control de accesos (el dispositivo mantiene una lista de los dispositivos com-
probados por la red),
4) secuencia de refresco (se comprueba que las tramas no han sido reemplaza-
das por otras). El controlador de red comprueba estas tramas de refresco y su
valor, para ver si son las esperadas.
2.4. WiFi
Últimamente se habla mucho del WiFi, una tecnología inalámbrica que en Nombre "Wifi"
sus distintas versiones (802.11a, b y g) puede ofrecer desde 11 Mbits/s hasta
El nombre Wifi corresponde a
54 Mbits/s, y tiene distintas aplicaciones, especialmente en entornos locales las siglas de Wireless Fidelity, y
(de corta distancia) como aeropuertos, hoteles, estaciones de servicio, centros se refiere a los procedimientos
utilizados para las comunica-
comerciales, convenciones, pequeños pueblos..., en los que se ofrece acceso ciones de redes locales (distan-
cias cortas) sin hilos (wireless
a Internet. local area network o WLAN).
Un access point (AP) es el dispositivo que hace de puente entre una red
cableada y una red inalámbrica. Podemos pensar que, de alguna mane- Logotipo de Wifi
retransmiten entre la red sin hilos y la red cableada. Si los dispositivos WiFi se
comunican sin ningún punto de acceso, sino entre ellos, crearemos una red
llamada ad hoc.
Topología simple ad hoc (sin punto de acceso) y topología con un solo punto de
acceso (BSS)
Los elementos que se necesitan para crear una red en casa sin cable son un punto de ac-
ceso, para conectar al encaminador (router), y un dispositivo WiFi, para conectar a nues-
tro ordenador. Un punto de acceso es un dispositivo encargado de conectar dispositivos
WiFi para crear una red sin hilos. Habitualmente, también disponemos de un conector
para red con cable y podemos conectar la red sin cable con la red cableada. Muchos de los
encaminadores actuales ya llevan incorporado el punto de acceso, y ofrecen tres servicios
en un solo equipo: red sin hilos, red con hilos y encaminador a Internet. En el equipo
encaminador encontramos la antena, que sirve para las comunicaciones sin cable; los
cuatro puertos para la red Ethernet (de color amarillo habitualmente) y finalmente, el
puerto de comunicación con Internet.
Una vez se ha establecido comunicación entre una tarjeta sin cable y otro
dispositivo, la tarjeta se comporta como cualquier tarjeta Ethernet cableada y
se tiene que configurar como tal.
Una de las cosas más importantes que se tiene que configurar es la seguridad
de la comunicación para poder dar acceso a nuestra red sin hilos a los equipos
o personas que queramos.
Existe otro tipo de cifrado, el WPA (WiFi Protected Access), que proporciona
más seguridad que el WEP; además, facilita la autoidentificación del usuario
(exige una clave y una contraseña para entrar dentro de la Red, y codifica la
información transmitida por el aire).
Wi-Fi Hasta 54 400 mA transmitiendo Gran ancho de banda Navegar por Internet, red de ordenadores,
Mbps transferencia de ficheros
Bluetooth 1 Mbps 40 mA transmitiendo Interoperatividad, sustituto del USB sin hilos, móviles, informática casera
cable
ZigBee 250 kbps 30 mA transmitiendo, 3 mA Batería de larga duración, bajo Control remoto, productos dependientes
en reposo coste de la batería, sensores, juegos
-3
1mA = 10 amperios
2.5. WiMax
Haciendo una analogía, WiMax es al estándar IEEE 802.16 lo que Wifi al es-
tándar IEEE 802.11.
Wimax Forum
El Wimax Forum es una agrupación de más de 350 compañías que se encarga de promo-
ver la interoperabilidad de dispositivos 802.16 y la unificación de los estándares a nivel
mundial. Incluye fabricantes de chips y de equipos y empresas que ofrecen servicios. Wi-
max Forum promueve la utilización del estándar IEEE 802.16, la certificación de equipos,
la interoperabilidad de Wimax entre diferentes marcas y la conformidad verificada en
laboratorios autorizados.
© FUOC • PID_00147722 49 Comunicaciones inalámbricas
La norma inicial IEEE 802.16, publicada en diciembre del 2001, sirvió para
fomentar la operatividad entre los sistemas local multipoint distribution system
(LMDS). Inicialmente, el rango de frecuencias era entre 10 y 66 GHz con ne-
cesidad de visión directa (entre emisor y receptor). A principios del 2003, con
la aparición del 802.16a para ratificar el estándar inicial 802.16, se amplió el
rango de frecuencias hacia las bandas de 2 a 11 GHz. En el año 2004 aparece el
estándar 802.16-2004 o IEEE 802.16d, también conocido como WiMAX, para
cubrir las carencias del IEEE 802.16a.
Funciona- Sólo con vi- Sin visión directa (NLOS) Sin visión directa (NLOS)
miento sión directa
Ancho 32-134 Mbps Hasta 75 Mbps con Hasta 15 Mbps con canales de 5 MHz
de�banda canales de 20 MHz
Ancho�del 20, 25 y Selección entre El mismo que 802.16a con los cana-
espectro 28 MHz 1,25 y 20 MHz les de subida para ahorrar potencia
• Perfiles: permiten enlaces punto a punto (con visión directa) y punto mul-
tipunto (sin necesidad de visión directa).
Ofrece la posibilidad de formar redes en malla (mesh networks) para que los
distintos usuarios se puedan comunicar entre sí, sin necesidad de tener una
visión directa entre ellos.
• Beamforming.
• Space-time code (STC).
• Multiplexación espacial.
Más de 250 operadores han realizado pruebas en más de 65 países, tal como
se ve en la figura siguiente.
© FUOC • PID_00147722 53 Comunicaciones inalámbricas
Licencia Sí/No No Sí Sí
Resumen
En el ámbito de las redes inalámbricas se han visto las de uso más cotidiano, las
redes WiFi para aplicaciones de alcance local (vivienda, oficina), con distan-
cias entre los equipos pequeñas (varios centenares de metros). Para incremen-
tar la distancia entre los equipos (varios kilómetros) se ha desarrollado la tec-
nología inalámbrica WiMax. Además, para interconectar dispositivos en muy
poca distancia se utiliza la tecnología infrarroja y la bluetooth. Finalmente,
para instalar redes de sensores donde el consumo es el factor principal a tener
en cuenta, existe la tecnología ZigBee para que las baterías de estos sensores
tengan una larga duración.
© FUOC • PID_00147722 55 Comunicaciones inalámbricas
Bibliografía
Abad, F. J.; Canudas, J. M.; Martínez, R.; Nogueira, E. (2008). Informàtica 4t. ESO.
Barcelona: Teide. ISBN: 978-84-307-8685-5.
Direcciones web
Olzac, T. (1 de diciembre del 2006). "Secure your Bluetooth wireless networks and protect
your data". Tech Republic. Disponible en web:
<http://articles.techrepublic.com.com/5100-10878_11-6139987.html> [Fecha de consulta:
13 de abril del 2010.]