Está en la página 1de 129

Redes de

Información 2009
Fuentes: Redes de computadoras (Andrew Tanenbaum) y Wikipedia.org NMs
Unidad 1: Arquitectura de Redes

Redes de Computadoras

Redes de computadoras: Conjunto de computadoras autónomas interconectadas. Dos computadoras


están interconectadas si pueden intercambiar información, servicios, recursos, etc.

La interconexión de las computadoras puede realizarse por distintos medios como cables de cobre, fibra
óptica, microondas, rayos infrarrojos, satélites, etc.

En una red de computadoras no existe consistencia, modelo, ni software como en los sistemas
distribuidos (middleware). Los usuarios están expuestos a las máquinas reales y el sistema no hace
ningún intento por que las máquinas se vean y actúen de manera similar. Si las máquinas tiene
hardware diferente y distintos sistemas operativos, eso es completamente trasparente para los
usuarios.

Clasificación de las redes

 Según la tecnología de transmisión


o Por enlaces de difusión: Las redes de enlace de difusión (broadcast), tienen un solo
canal de comunicación por lo que todas las máquinas de la red lo comparten y si una
máquina envía un paquete, todas las otras lo reciben. Cuando las maquinas reciben el
paquete verifican la dirección de destino y solo el destinatario procesará el paquete en
vez de desecharlo. Estos sistemas también soportan el envío de paquetes con una
dirección de difusión (broadcast) en el destinatario, en este caso todos los que reciban
el paquete lo procesarán. Por último puede enviarse un paquete a un conjunto de
máquinas, esto es conocido como multidifusión (multicast).
o Por enlaces punto a punto: Estas redes constan de muchas conexiones entre pares
individuales de máquinas. Para ir del origen al destino, un paquete en este tipo de red
podría tener que visitar primero a una o varias máquinas intermedias. El transporte de
datos en estas redes se conoce como unidifusión (unicast).

En general las redes de gran cobertura geográfica utilizan redes por enlaces punto a punto, mientras
que las redes de menor cobertura geográfica utilizan enlaces de difusión.

 Según la cobertura geográfica


o PAN (Personal Area Network): Son las que están destinadas a una sola persona, como
por ejemplo una red que conecta un mouse, teclado, impresora, con una computadora.
(No pertenece a la clasificación real).
o SOHO (Small Office Home Office): Son pequeñas redes para oficinas o redes hogareñas
que no poseen más de 5 o 10 máquinas. Existe una gran variedad de dispositivos que se
han diseñado especialmente para este tipo de redes. (No pertenece a la clasificación
real).
o LAN (Local Area Network): Son redes de propiedad privada que se encuentran en un
solo edificio o campus de pocos kilómetros de longitud. Se diferencian de otros tipos de
redes por tres aspectos:
 El tamaño, una LAN utilizada para un edificio tiene la limitante de 100mts de
longitud, pero con el uso de repetidores podrían conectarse en un campus y
alcanzar hasta 3km.
 Tecnología de transmisión, las LAN pueden ser conectadas desde por ejemplo
un simple cable que conecte todas las máquinas, hasta una conexión con
dispositivos inalámbricos. Las LAN comenten muy pocos errores (supongo que
se refiere a pérdida de paquetes por ejemplo) y se ejecutan a altas velocidades
de 10Mbps, 100Mbps, 1Gbps, 10Gbps, etc.
 La topología
 BUS, usa un solo cable backbone y todos los hosts se conectan
directamente a este backbone.
 ANILLO, conecta un host con el siguiente y al último host con el primero.
Esto crea un anillo físico de cable.
 ESTRELLA, conecta todos los cables con un punto central de
concentración.
o Una topología en estrella extendida conecta estrellas
individuales entre sí mediante la conexión de hubs o switches.
Esta topología puede extender el alcance y la cobertura de la
red.
o Una topología jerárquica es similar a una estrella extendida.
Pero en lugar de conectar los HUBs o switches entre sí, el
sistema se conecta con un computador que controla el tráfico
de la topología.
 MALLA, se implementa para proporcionar la mayor protección posible
para evitar una interrupción del servicio dado que cada host tiene sus
propias conexiones con los demás hosts. (Aunque Internet cuenta con
múltiples rutas hacia cualquier ubicación, no adopta la topología de
malla completa).
o MAN (Metropolitan Area Network): Son redes que abarcan grandes extensiones
geográficas como una ciudad por ejemplo y su longitud es superior a los 4km y hasta
100km de cobertura. Estas redes son utilizadas para la transmisión de datos, voz, video,
a través de medios como fibra óptica, par trenzado, etc. Las MAN nacen como una
evolución de las redes LAN dado que la tecnología también evolucionó y permitió
extender la cobertura de la red y mantener en cierto grado las velocidades de
transferencia de datos.

Las redes MAN tienen diferentes usos como ser, transmisiones VOIP para una ciudad,
interconexión entre redes LAN, como pasarela para redes WAN, etc.

o WAN (Wide Area Network): Son redes que abarcan una gran área geográfica como ser
un país o un continente con un área de cobertura de 100km a 1000km y velocidades de
transferencia de datos menores a las LAN. Normalmente las redes WAN utilizan
transmisión punto a punto, cuando se debe enviar un paquete desde un punto A de la
red a un punto B, este paquete puede pasar a través de varios routers intermedios hasta
llegar a su destino. Es común que una red WAN utilice las instalaciones de transmisión
proporcionadas por los portadores comunes, tales como compañías de teléfono.

Red Corporativa: Son todos los recursos de una organización que se encuentran interconectados
independientemente del área que ocupen y la tecnología de conmutación utilizada.

Red Corporativa

LAN
WAN
LAN LAN
VPN
MAN

 Según privacidad

o Redes Privadas: Son redes cuyos terminales tienen asignados direcciones IP del espacio
de direcciones privadas, lo cual les permite comunicarse con otros terminales de la red
privada pero no salir a internet con dicha IP. Son muy utilizadas en redes LAN dado que
muchas veces en una red no es necesario que todas las maquinas estén conectadas a
internet. Las direcciones de IP privadas surgen como un método para evitar el
agotamiento de las direcciones IP (Ver.4), dado que con la implementación de estas
redes, distintas compañías pueden utilizar el mismo rango de direcciones privadas sin
correr riesgo de conflictos. Existen métodos como NAT y PAT que permiten generar una
correspondencia entre las direcciones privadas de una LAN y un conjunto de direcciones
públicas, para que los HOST de la LAN puedan hacer uso de una red pública como
internet.
o Redes Públicas: una red pública se define como una red que puede usar cualquier
persona y no como las redes que están configuradas para uso personal. Es una red de
computadoras interconectadas, capaz de compartir información y que permite
comunicar a usuarios sin importar su ubicación geográfica. Para utilizar una red pública
es necesario que los equipos posean direcciones del espacio de direcciones públicas de
IP.

Componentes de las redes

Aclaración: según el profe los elementos son 4, las estaciones de trabajo, los protocolos de comunicación,
los dispositivos de comunicación y el medio físico.

 Servidor: El servidor es aquel o aquellos ordenadores que van a compartir sus recursos
hardware y software con los demás equipos de la red. Sus características son potencia de
cálculo, importancia de la información que almacena y conexión con recursos que se desean
compartir.
 Estación de trabajo: Los ordenadores que toman el papel de estaciones de trabajo aprovechan
o tienen a su disposición los recursos que ofrece la red así como los servicios que proporcionan
los Servidores a los cuales pueden acceder.
 Encaminador: Es un dispositivo de “propósito general” diseñado para multitud de tareas,
algunas de ellas de alta complejidad y otras más sencillas. Está diseñado para segmentar la red
con la idea de limitar el tráfico de troncal y proporcionar seguridad, control y redundancia entre
dominios individuales de troncal. Los routers operan en la capa 3 del modelo OSI y tienen más
facilidades de software que un switch. Al funcionar en una capa mayor que la del switch, el
router distingue entre los diferentes protocolos de red, tales como IP, IPX, AppleTalk o DECnet,
permitiéndole decidir de forma más inteligente que el switch , al momento de reenviar
paquetes. Las dos funciones básicas del router son :
o Crear y mantener tablas de encaminamiento para cada capa de protocolo de red: estas
tablas son creadas estática ó dinámicamente.
o Seleccionar la ruta basándose sobre diversos factores más que por la dirección de
destino. Estos factores pueden ser la cuenta de saltos, velocidad de la línea, costo de
transmisión, retraso y condiciones de tráfico.
 Gateways o pasarelas: Es un hardware y software que permite las comunicaciones entre la red
local y grandes ordenadores (mainframes). El gateway adapta los protocolos de comunicación
del mainframe (X25, SNA, etc.) a los de la red, y viceversa.
 Bridges o puentes: Es un hardware y software que permite que se conecten dos redes locales
entre sí. Un puente interno es el que se instala en un servidor de la red, y un puente externo es
el que se hace sobre una estación de trabajo de la misma red. Los puentes también pueden ser
locales o remotos. Los puentes locales son los que conectan a redes de un mismo edificio,
usando tanto conexiones internas como externas. Los puentes remotos conectan redes distintas
entre sí, llevando a cabo la conexión a través de redes públicas, como la red telefónica, RDSI o
red de conmutación de paquetes.
 Tarjeta de red: También se denominan NIC (Network Interface Card). Básicamente realiza la
función de intermediario entre el ordenador y la red de comunicación. En ella se encuentran
grabados los protocolos de comunicación de la red. La comunicación con el ordenador se realiza
normalmente a través de las ranuras de expansión que éste dispone, ya sea ISA, PCI o PCMCIA.
Aunque algunos equipos disponen de este adaptador integrado directamente en la placa base.
 El medio: Constituido por el cableado y los conectores que enlazan los componentes de la red.
Los medios físicos más utilizados son el cable de par trenzado, par de cable, cable coaxial y la
fibra óptica (cada vez en más uso esta última).
 Concentradores de cableado: Una LAN en bus usa solamente tarjetas de red en las estaciones y
cableado coaxial para interconectarlas, además de los conectores, sin embargo este método
complica el mantenimiento de la red ya que si falla alguna conexión toda la red deja de
funcionar. Para impedir estos problemas las redes de área local usan concentradores de
cableado para realizar las conexiones de las estaciones, en vez de distribuir las conexiones el
concentrador las centraliza en un único dispositivo manteniendo indicadores luminosos de su
estado e impidiendo que una de ellas pueda hacer fallar toda la red.

Existen dos tipos de concentradores de cableado:

1. Concentradores pasivos: Actúan como un simple concentrador cuya función principal


consiste en interconectar toda la red.
2. Concentradores activos: Además de su función básica de concentrador también
amplifican y regeneran las señales recibidas antes de ser enviadas.

Los concentradores de cableado tienen dos tipos de conexiones: para las estaciones y para
unirse a otros concentradores y así aumentar el tamaño de la red. Los concentradores de
cableado se clasifican dependiendo de la manera en que internamente realizan las conexiones y
distribuyen los mensajes. A esta característica se le llama topología lógica.
Existen dos tipos principales:

1. Concentradores con topología lógica en bus (HUB): Estos dispositivos hacen que la red
se comporte como un bus enviando las señales que les llegan por todas las salidas
conectadas.
2. Concentradores con topología lógica en anillo (MAU): Se comportan como si la red fuera
un anillo enviando la señal que les llega por un puerto al siguiente.

Temas del programa no abordados: Ventajas y desventajas de las redes de computadoras.


El Protocolo TCP/IP

Historia

ARPANET fue una red de investigaciones del departamento de defensa de los Estados Unidos, con el
tiempo esta red conecto varias universidades e instalaciones gubernamentales mediante líneas
telefónicas. Posteriormente surgieron redes satelitales y de radio y los protocolos existentes tuvieron
problemas para trabajar con ellos y la solución a ello fue crear un modelo de referencia para estas redes,
el nombre de ese modelo es TCP/IP.

EL MODELO TCP/IP

OSI TCP/IP
7. Aplicación Aplicación
6. Representación
5. Sesión
4. Transporte Transporte
3. Red Internet
2. Enlace de datos Acceso a la red
1. Física

El modelo TCP/IP consta de 4 capas que están jerarquizadas y cada una se construye sobre su
predecesora. El número, servicios y funciones de cada una de las capas varían según el tipo de red,
veamos la versión original de 4 capas.

Capa de acceso al medio

Equivalente a la capa física (1) y capa de enlace de datos (2) del modelo OSI. Se encarga de llevar a cabo
a la transmisión de bits a través del medio y fragmentación de los datos a enviar, uso de buffers, control
de flujo y manejo de errores.

Capa de Internet

Equivalente a la capa red (3) del modelo OSI. Se encarga de encaminar los paquetes para que lleguen al
destino, uso y definición de tablas de enrutamiento (ya sea estáticas o dinámicas), mecanismos de
control de congestión y control de flujo, etc.

Capa de transporte

Equivalente a la capa de transporte (4) del modelo OSI. Se encarga de aceptar los datos provenientes de
la capa de aplicación, dividirlo en unidades más pequeñas (en caso de ser necesario), asegurarse que
todos los datos enviados lleguen correctamente de extremo a extremo, determina el tipo de conexión
(seguro orientado a conexión TCP (con control de flujo), inseguro no orientado a conexión UDP (sin
control de flujo)).
Capa de aplicación

Equivalente a las capas sesión (5), presentación (6) aplicación (7) del modelo OSI. El modelo TCP/IP
combina todos los aspectos relacionados con las aplicaciones en una sola capa, contiene todos los
protocolos de nivel más alto (TELNET, FTP, HTTP, etc.).

Conjunto de protocolos

Aplicación BGP · DHCP · DNS · FTP · GTP · HTTP · IMAP · IRC · Megaco · MGCP · NNTP · NTP ·
POP · RIP · RPC · RTP · RTSP · SDP · SIP · SMTP · SNMP · SOAP · SSH · Telnet · TLS/SSL ·
XMPP

Transporte TCP · UDP · DCCP · SCTP · RSVP · ECN

Internet IP (IPv4, IPv6) · ICMP · ICMPv6 · IGMP · IPsec

Acceso a la red NDP · OSPF · Tunnels (L2TP) · PPP · Media Access Control (Ethernet, DSL, ISDN, FDDI)

Temas del programa no abordados: Historia (en profundidad) y evolución de TCP/IP.

Internet

Origen

El número de redes, maquinas y usuarios conectados a ARPANET creció exponencialmente luego de que
TCP/IP se convirtió en el protocolo oficial. A mediados de la década del 80’, las personas comenzaron a
ver el conjunto de redes como internet. Por lo que se define que una máquina está en internet si ejecuta
la pila de protocolos TCP/IP, tiene una dirección IP y puede enviar paquetes IP a otras máquinas en
internet.

Servicios Básicos

Internet y sus predecesores tenían 4 aplicaciones básicas:

 Correo electrónico, la capacidad para redactar, enviar y recibir correo electrónico ha sido
posible desde los inicios de ARPANET.
 Noticias, los grupos de noticias son foros especializados en los que los usuarios con un interés
común pueden intercambiar mensajes.
 Inicio remoto de sesión, mediante programas como telnet los usuarios de cualquier parte en
internet pueden iniciar sesión en cualquier otra máquina en la que tengan una cuenta.
 Transferencia de archivos, con el programa FTP, los usuarios pueden copiar archivos de una
máquina en internet a otra.
Luego de 1990 una nueva aplicación cambió el uso de internet, la World Wide Web. Esta aplicación hizo
posible que un sitio estableciera páginas con información en forma de texto, imágenes, sonido y video,
junto con vínculos que integraran a otras páginas.

Estándares de redes

Cuando hablamos de redes existen una serie de organismos como son:

 ITU (International Telecommunication Union), es el organismo especializado de las naciones


unidas encargado de regular las telecomunicaciones a nivel internacional, entre las distintas
administraciones y empresas operadoras. ITU hace recomendaciones sobre telefonía, telegrafía
y las interfaces de comunicación de datos, muchas veces estas recomendaciones terminan
convirtiéndose en estándares reconocidos. (Ej. V.24 o RS-232 que define el significado de los
pines para el conector DB9).
 ISO (International Organization for Standardization), es el organismo encargado de promover el
desarrollo de normas internacionales de fabricación, comercio y comunicación para todas las
ramas industriales a excepción de la eléctrica y electrónica.
 IEEE (Institute of Electrical and Electronics Engineers), es una asociación técnico-profesional
mundial dedicada a la estandarización, entre otras cosas. Mediante sus actividades de
publicación técnica, conferencias y estándares basados en consenso, el IEEE produce más del
30% de la literatura publicada en el mundo sobre ingeniería eléctrica, en computación,
telecomunicaciones, etc. (Ej. Las 802. Son los estándares de la IEEE para las distintas LAN).
 IETF (Internet Engineering Task Force), es una organización internacional abierta de
normalización, que tiene como objetivo el contribuir a la ingeniería en internet. Algunos de los
temas que buscan mejorar en internet son, nuevas aplicaciones, información de usuario,
enrutamiento y direccionamiento, seguridad, administración de redes y estándares.
o RFC (Request For Comment), son notas que se publican sobre internet desde 1969 y
cada protocolo utilizado en internet posee un RFC como mínimo, son manejadas por el
IETF.

Alternativas de Conexión a Internet

 Conexión Cliente Servidor: Es una arquitectura que consiste básicamente en un programa


cliente que realiza peticiones a otro programa servidor el cual le da la respuesta. Visitar un sitio
web es un ejemplo de una conexión cliente-servidor, donde el servidor web sirve las páginas al
navegador web del cliente.
 Conexión peer-to-peer: Es una red de pares en la que los nodos funcionan sin clientes ni
servidores y se comportan como iguales entre sí. En otras palabras los nodos actúan
simultáneamente como clientes y como servidores respecto a los demás nodos de la red. En
internet el ancho de banda y las capacidades de almacenamiento son caros, por lo que en
aquellas aplicaciones que se requieran gran cantidad de recursos podrían utilizarse redes P2P.
Algunos programas como bitTorrent, eMule, Skype utilizan redes P2P.
Internet Service Provider (ISP)

Los proveedores de servicios de internet son compañías que ofrecen a los usuarios la capacidad de
llamar a una de sus maquinas y conectarse a internet obteniendo así acceso a todos los servicios que
este proporciona.

Arquitectura de internet

NA NA
P P

ISPR ISP NA NA
P P

ISP NA
ISP
ISPL P
ISPR

POP ISPR
ISP
Temas del programa no abordados: Características de internet.

Cableado ISPL
Telefónico
ISPR
ISPL

PC1 LAN1

En el caso de la PC1, el cliente llama a su ISP Local haciendo uso del cableado telefónico, el modem es la
tarjeta dentro de su PC que convierte las señales digitales de la computadora en señales analógicas que
pueden viajar a través del sistema telefónico. Estas señales viajan por el cableado telefónico hasta el
POP (Point of Presence) del ISP donde se retiran del sistema telefónico y se inyectan en la red del ISP, a
partir de este punto el sistema es totalmente digital y de conmutación de paquetes. Cuando el ISP local
recibe el paquete, se fija si pertenece a alguien con el que esté directamente conectado, de no ser así
pasa el paquete a un ISP Regional, el paquete continua viajando hasta llegar a su destino.

 PC1: PC conectada a un ISP Local haciendo uso del cableado telefónico, para ello convierte la
señal digital a analógica.
 Cableado Telefónico: Medio por el cual viajan los datos.
 POP: Es el elemento que permite filtrar del cableado telefónico aquella información que es para
el ISP y convertirla a digital para inyectarla en la red del ISP Local.
 ISPL: El ISP Local es el ISP de menor cobertura. Algunos ejemplos son Ciudad Internet, Fibertel,
Tutopía.
 ISPR: El ISP Regional, son aquellos que proveen el servicio de conexión a los ISP Locales. Algunos
ejemplos son Telecom y Telefónica.
 ISP: Son aquellos ISP que están directamente conectados a un NAP y que brindan el servicio de
conexión a los ISPR, son proveedores internacionales. Algunos ejemplos son Prodigy y AOL.
 NAP: Network Access Point, son los 5 nodos de internet y cada uno maneja un continente salvo
América que tiene 2. Los NAP tienen los enlaces más rápidos de todo internet.

Temas del programa no abordados: Características de internet.

Capa de Acceso en WAN

Red Telefónica

Red Telefónica Conmutada también llamada Red Telefónica Básica, es una red de comunicación
diseñada primordialmente para la transmisión de voz, aunque también pueden transportarse datos (fax,
internet, etc.).

POP IXC IXC Tel4


Tel1 CL
CL CT IXC CL
Tel2 POP
CL

Tel3 CT CL

Int2
Int1 LATA1 LATA2

LATA (Local Access Transport Area), los usuarios se conectan a los CL (Centrales Locales) a través de lo
que denominaremos “Última Milla”, que básicamente es el cable que los conecta con la central local. En
los años 90’ se produjo la digitalización de las líneas del sistema de transmisión, manteniendo la “última
milla” de los abonados de manera analógica con un ancho de banda de 4Khz. Por lo que la señal
analógica llega a las centrales locales y debe ser codificada para digitalizarse, la codificación se realiza
con PCM (Modulación de Impulsos Codificados) a una frecuencia de muestreo de 8Khz con un ancho de
banda de 64Kbits, la modulación se realiza con TDM (Modulación por división de tiempo). En el caso de
que sea una llamada local, la petición se resuelve a través de las centrales locales. Si es una llamada a
otro proveedor, las centrales locales envían los datos multiplexados y digitalizados a las centrales de
transformación, esta se conecta al POP y envía los datos a la central de transformación del proveedor
correspondiente, esto lo hace a través de los IXC (Inter Exchange Carrier), una vez que esto ocurre los
datos son enviados a la central local y al usuario correspondiente.

En caso de ser una conexión a internet, estas son denominadas (CSU/DSU) Unidad de Servicio de Canal /
Unidad de Servicio de Datos, es una interfaz que permite conectar equipos DTE (Data Terminal
Equipment) a un circuito digital. Trabajan en la capa física (1) del modelo OSI normalmente presentan
conectores seriales RS232 (DSU) y otro RJ45 (CSU). El CSU provee una terminación de la señal digital y
asegura la integridad de la conexión a través de la corrección de errores y la supervisión de la línea.
Otras funciones del CSU son proteger el equipo del usuario y la línea de problemas eléctricos. El DSU
convierte los datos codificados del circuito digital en datos síncronos seriales para una conexión a un
dispositivo DTE y establece plazos para cada extremo.

ISDN (Red Digital de Servicios Integrados) no fue aplicado por los costos de reemplazar todas las últimas
millas, ISDN utiliza conmutación de circuitos y es una conexión WAN que en la última milla tiene un
cable UTP de 8 conductores. Los hilos “de más” son utilizados para enviar, entre otras cosas, señales de
control (se denomina “fuera de banda” porque la señal de control va por otros conductores).

Temas del programa no abordados: Plan de Numeración.

Asynchronous Transfer Mode (ATM)

El Modo de Transferencia Asíncrona es una tecnología de telecomunicación desarrollada para hacer


frente a la gran demanda de capacidad de transmisión para servicios y aplicaciones.

Cuando ATM se lanzó iba a resolver todos los problemas de conectividad en las telecomunicaciones
fusionando voz, datos, televisión por cable, telégrafo, etc. En un solo sistema integrado que pudiera
proporcionar todos los servicios. ATM no tuvo ese éxito pero si es muy utilizada por las empresas
portadoras para el transporte de paquetes IP dentro del sistema telefónico.

Circuitos Virtuales de ATM

Como ATM están orientadas a conexión el envío de datos requiere que primero se envíe un paquete
para establecer la conexión, conforme el paquete de establecimiento de conexión viaja por los distintos
nodos a través de la subred, todos los conmutadores que se encuentran en la ruta crean una entrada en
sus tablas internas y toman nota de la existencia de dicha conexión y de los recursos necesarios por la
conexión. A estas conexiones se las conoce como circuitos virtuales. Una vez establecida la conexión
cada lado puede comenzar a enviar datos, en ATM los datos se envían en paquetes de tamaño fijos
llamados celdas (53 bytes = 5 encabezado + 48 de carga útil). Parte del encabezado es el identificador
para que los conmutadores puedan saber a qué conexión pertenece una celda, la conmutación de celdas
se realiza a alta velocidad a nivel de hardware. Al utilizar celdas de tamaño pequeño, estas no bloquean
ninguna línea por mucho tiempo lo que facilita la garantía de la calidad de servicio. Dado que se
establece un circuito virtual, todas las celdas siguen un mismo camino en su viaje hacia el destino, por lo
que a pesar de no garantizarse la entrega de las celdas, si se garantiza el orden (la recuperación de las
celdas perdidas se realiza en los niveles más altos del protocolo). Las redes ATM pueden alcanzar
velocidades de transferencia de 155Mbps hasta 622Mbps (con 155Mbps puede enviarse televisión de
alta definición y la de 622Mbps es para enviar 4 canales de 155Mbps).

Capas del modelo ATM

ATM tiene su propio modelo y este consta de tres capas (Física, ATM y Adaptación ATM), a diferencia de
la mayoría de los modelos, este se define en tres dimensiones:

Administración del plano

Administración de la capa

Plano de control Plano de usuario

Capas superiores (Control) Capas superiores (Usuario)

Subcapa de convergencia
Capa de adaptación ATM
Subcapa de segmentación y reensamble

Capa ATM

Subcapa de convergencia de transmisión


Capa física
Subcapa dependiente del medio físico

Capa Física: Tiene que ver con el medio físico (voltajes, temporización de bits, etc.), ATM puede enviar
sus celdas al medio de comunicación o esas celdas pueden ser la carga útil de otro sistema de
transporte, en otras palabras ATM es independiente del medio de transmisión. La capa física se divide
en dos subcapas:

 Subcapa dependiente del medio físico, esta subcapa interactúa con el cable real, mueve los bits
y maneja su temporización (esta capa varía de acuerdo al medio físico a utilizar).
 Subcapa de convergencia de transmisión, es la encargada de convertir las celdas en una cadena
de bits para que sean enviados por la subcapa dependiente del medio físico y viceversa, también
genera y controla el campo de verificación de encabezados.

Capa ATM: Se encarga de las celdas y su transporte, define la disposición de una celda y genera/extrae
el encabezado de la misma, establece y libera los circuitos virtuales y realiza control de congestión.

Capa de Adaptación ATM: Esta capa fue creada dado que la mayoría de las aplicaciones no trabajan con
celdas ATM, esta capa segmenta/reensambla los paquetes a enviar al tamaño de las celdas. Esta capa se
divide en dos subcapas:

 Subcapa de segmentación y reensamble, es la encargada de tomar la información a enviar,


dividirla en partes más pequeñas para que puedan ser la carga útil de una celda, también es la
encargada de recibir las celdas y crear los paquetes como lo eran originalmente.
 Subcapa de convergencia, provee una interfaz estándar de comunicación con las capas
superiores y servicios a diferentes aplicaciones.

Capas Superiores: Son capas que el usuario puede colocar encima.

Plano de Usuario: Este plano trata el transporte de datos, control de flujo, corrección de errores y otras
funciones de usuario.

Plano de Control: Se ocupa de la administración de la conexión

Administración del plano y de la capa: Se relacionan con la administración de recursos y la coordinación


entre capas.

Celdas ATM

Son estructuras de datos de 53 bytes compuestas por dos campos principales:

1. Cabecera, sus 5 bytes tienen tres funciones principales: identificación del canal, información
para la detección de errores y si la célula es o no utilizada. Eventualmente puede contener
también corrección de errores y un número de secuencia.
2. Carga útil, tiene 48 bytes fundamentalmente con datos del usuario y protocolos AAL que
también son considerados como datos del usuario.

Dos de los conceptos más significativos del ATM, Canales Virtuales y Rutas Virtuales, están
materializados en dos identificadores en el header de cada célula (VCI y VPI) ambos determinan el
enrutamiento entre nodos. El estándar define el protocolo orientado a conexión que las transmite y dos
tipos de formato de celda:

 NNI (Network to Network Interface o interfaz red a red) El cual se refiere a la conexión de
Switches ATM en redes privadas
 UNI (User to Network Interface o interfaz usuario a red) este se refiere a la conexión de un
Switch ATM de una empresa pública o privada con un terminal ATM de un usuario normal,
siendo este último el más utilizado.

Campos

 GFC (Control de Flujo Genérico, Generic Flow Control, 4 bits): El estándar originariamente
reservó el campo GFC para labores de gestión de tráfico, pero en la práctica no es utilizado. Las
celdas NNI lo emplean para extender el campo VPI a 12 bits.
 VPI (Identificador de Ruta Virtual, Virtual Path Identifier, 8 bits) y VCI (Identificador de Circuito
Virtual, Virtual Circuit Identifier, 16 bits): Se utilizan para indicar la ruta de destino o final de la
celula.
 PT (Tipo de Información de Usuario, Payload type, 3 bits): identifica el tipo de datos de la celda
(de datos del usuario o de control).
 CLP (Prioridad, Cell Loss Priority, 1 bit): Indica el nivel de prioridad de las celda, si este bit esta
activo cuando la red ATM esta congestionada la celda puede ser descartada.
 HEC (Corrección de Error de Cabecera, Header Error Correction, 8 bits): contiene un código de
detección de error que sólo cubre la cabecera (no la información de usuario), y que permite
detectar un buen número de errores múltiples y corregir errores simples.

Temas del programa no abordados: Características de ATM y Clases de servicios.


Unidad 2: Capa de interred - Direccionamiento

Direccionamiento IP

Protocolo IP Ver.4

El protocolo IP consiste en un protocolo no orientado a conexión usado tanto por el origen como por el
destino para la comunicación de datos a través de una red de paquetes conmutados. Los datos en una
red IP con conocidos como paquetes o datagramas y son enviados mediante un servicio no fiable
denominado “mejor esfuerzo”, IP no provee ningún mecanismo para determinar si un paquete alcanza o
no su destino y solo proporciona checksum de la cabecera IP y no de los datos (carga útil). Si se desean
enviar datos en forma confiable, esto será responsabilidad de las capas superiores como TCP en la capa
de transporte.

Un datagrama IP consiste en una parte de encabezado y una parte de texto, el encabezado tiene una
parte fija de 20 bytes y una parte opcional de longitud variable.

Versión: Es un registro de la versión del protocolo a la que pertenece el datagrama, este campo permite
que puedan convivir IP ver.4 e IP ver.6 por ejemplo.

IHL: Dado que la longitud del encabezado no es constante, se incluye este campo para indicar la
cantidad de elementos opcionales agregados.

Tipo de servicio: Distingue entre las diferentes clases de servicios y pueden variarse combinaciones de
confiabilidad y velocidad.

Longitud Total: Incluye a todo el datagrama (encabezado + datos), la longitud máxima es de 64 Kbytes.

Identificación: Este campo es necesario para que el host destino identifique a que datagrama pertenece
un fragmento llegado (todos los fragmentos de un datagrama contienen el mismo identificador).
Bit Sin Uso

Bit DF: Bit de no fragmentar, es una orden para que los routers no fragmenten el datagrama.

Bit MF: Bit de mas fragmentos, todos los fragmentos de un datagrama salvo el último tiene encendido
este bit y permite identificar cuando se ha completado un datagrama.

Desplazamiento del fragmento: Indica en que parte del datagrama actual va colocado ese fragmento.

Tiempo de vida: Es un contador que sirve para limitar la vida del paquete, va de 255~0 y disminuye con
cada salto, al alcanzar el valor 0 se descarta.

Protocolo: Una vez que se completa un datagrama, este campo indica que hacer con él (a que protocolo
de las capas superiores debe ser entregado, ejemplo TCP, UDP).

Suma de comprobación: Verifica solamente el encabezado, es útil para la detección de errores.

Dirección de origen: Indica la dirección lógica (IP) del host origen.

Dirección de destino: Indica la dirección lógica (IP) del host destino.

Opciones: Este campo se agregó para que las versiones siguientes a este protocolo agregasen
información no presente en la cabecera como seguridad, indicar una ruta a seguir, indicar un router por
el cual pasar, etc. (este campo debe llenarse a 32 bits).

Datos: Es la carga útil, que son datos enviados por las capas superiores.

Direcciones IP

Cada host y router de internet tiene una dirección de IP la cual se encuentra formada por dos números
el de RED y el de HOST, la combinación es única y “dos maquinas no pueden tener el mismo IP”. Todas
las direcciones IP Versión 4 son de 32 bits de longitud y se utilizan en los campos “dirección de origen” y
“dirección de destino” de los paquetes IP. Es importante aclarar que una dirección de IP no se refiere a
un HOST si no a una interfaz de red por lo que si un HOST se encuentra en dos redes, debe tener
asignadas dos direcciones de IP.
Clases de direcciones IP

Las direcciones de IP han sido divididas en varias clases:

Los números de las redes son manejados por una corporación no lucrativa llamada ICANN (Corporación
de Internet para la Asignación de Nombre y Números) para evitar conflictos.

Clase Desde Hasta


A 1.0.0.0 127.255.255.255
B 128.0.0.0 191.255.255.255
C 192.0.0.0 223.255.255.255
D 224.0.0.0 239.255.255.255
E 240.0.0.0 255.255.255.255

Las direcciones clase A son las que mayor cantidad de Hosts pueden tener en una misma red, mientras
que las clase C son las que mayor cantidad de redes pueden tener y las clase B son un intermedio. Las
direcciones IP clase D son direcciones de multicast y no existe necesidad de asignar bits de red o de host,
las direcciones clase E están reservadas para un uso futuro.

Existen algunas direcciones IP con características particulares como la 127.X.X.X estas direcciones son
denominadas de loopback y los paquetes enviados a estas direcciones no se colocan en el cable, si no
que se procesan localmente y se tratan como paquetes de entrada. La dirección 0.0.0.0 es utilizada por
las máquinas cuando arrancan o no se les ha asignado una dirección IP. Las direcciones donde la parte
de Hosts es 0, se denominan direcciones de red y hacen referencia a una familia de direcciones IP. Las
direcciones donde la parte de host es 1 se denominan direcciones de broadcast que se utilizan como
dirección de difusión para indicar todos los hosts de una red.
Direcciones de IP Privadas

Hay ciertas direcciones en cada clase de dirección IP que no están asignadas y que se denominan
direcciones privadas. Las direcciones privadas pueden ser utilizadas por los hosts que usan traducción de
dirección de red (NAT/PAT) para conectarse a una red pública o por los hosts que no se conectan a
Internet. En una misma red no pueden existir dos direcciones iguales, pero sí se pueden repetir en dos
redes privadas que no tengan conexión entre sí o que se sea a través de NAT/PAT. Las direcciones
privadas son:

Clase Desde Hasta Red Host


A 10.0.0.0 10.255.255.255 8 bits 24 bits
B 172.16.0.0 172.31.255.255 12 bits 20 bits
C 192.168.0.0 192.168.255.255 16 bits 16 bits

Máscara de Subred

La máscara permite distinguir los bits que identifican la red y los que identifican el host de una dirección
IP. Dada la dirección de clase A 10.2.1.2 sabemos que pertenece a la red 10.0.0.0 y el host al que se
refiere es el 2.1.2 dentro de la misma. La máscara se forma poniendo a 1 los bits que identifican la red y
a 0 los bits que identifican el host. De esta forma una dirección de clase A tendrá como máscara
255.0.0.0, una de clase B 255.255.0.0 y una de clase C 255.255.255.0. Los dispositivos de red realizan un
AND entre la dirección IP y la máscara para obtener la dirección de red a la que pertenece el host
identificado por la dirección IP dada. Por ejemplo un router necesita saber cuál es la red a la que
pertenece la dirección IP del datagrama destino para poder consultar la tabla de encaminamiento y
poder enviar el datagrama por la interfaz de salida.

Subredes

El uso de subredes permite dividir a una red en varias partes para uso interno, pero actuar como una
sola red ante el mundo exterior. Básicamente lo que se hace es eliminar algunos bits de host y usarlos
como bit de red para crear un nuevo número de subred. Pero para que la implementación de subredes
surta efecto, el router necesita conocer la máscara de subred que permita separar aquellos bits que
están siendo utilizados para red de los que se utilizan para host. Las máscaras de subredes pueden
definirse utilizando notación decimal (255.128.0.0) o notación alternativa (/9) la cual indica la cantidad
de bits que son utilizados para red. Dentro de una subred hay dos direcciones que están reservadas y
son aquella que tiene todos los bits de host en 0 (Dirección de subred) y aquella que tiene todos los bits
de host en 1 (Dirección de broadcast de la subred).

Fuera de la red, la subred no es visible por lo que no se necesita la autorización de ningún organismo
para realizar subredes.

Tabla de enrutamiento

Cuando llega un paquete IP, el router debe decidir a quién enviarlo para que este llegue a su destino, lo
que hace el router es buscar en su tabla de enrutamiento la dirección de red destino del paquete (previo
haber realizado una AND lógico entre la dirección del Host destino y la máscara de subred para obtener
la dirección de RED destino). Si la dirección se encuentra en la tabla tendrá todos los datos necesarios
para que el paquete siga su camino (Ej. Interfaz de salida, próximo salto, etc.). En caso de no tener la
dirección de red en su tabla pero si tener seteado un Gateway por defecto, enviará el paquete a este
Gateway para que decida qué hacer con él.

CIDR (Classless InterDomain Routing)

Originalmente, direcciones IP se separaban en dos partes: la dirección de red y la dirección de host. Esta
división se usaba para controlar la forma en que se encaminaba el tráfico entre redes IP.

Históricamente, el espacio de direcciones IP se dividía en cinco clases principales de redes (A, B, C, D y


E), donde cada clase tenía asignado un tamaño fijo de dirección de red y al ver una dirección de IP
podíamos decir a que clase pertenecía por su rango.

A medida que la red TCP/IP experimental se expandió en los años 80 para formar Internet, el número de
ordenadores con dirección IP pública creció exponencialmente, forzando a los enrutadores a
incrementar la memoria necesaria para almacenar las tablas de rutas, y los recursos necesarios para
mantener y actualizar esas tablas. La necesidad de un esquema de direcciones más flexible se hacía cada
vez más patente.

Esta situación condujo al desarrollo sucesivo de las subredes y CIDR. Dado que se ignora la antigua
distinción entre clases de direcciones, el nuevo sistema se denominó encaminamiento sin clases
(classless routing). Esta denominación conllevó que el sistema original fuera denominado
encaminamiento con clases (classful routing).

VLSM (Variable Lenght Subnet Mask - Máscara de Subred de Longitud Variable) parte del mismo
concepto que CIDR. El término VLSM se usa generalmente cuando se habla de redes privadas, mientras
que CIDR se usa cuando se habla de Internet (red pública).

CIDR usa la técnica de Máscara de Subred de Longitud Variable, para hacer posible la asignación de
prefijos de longitud arbitraria, esto permite un uso más eficiente del cada vez más escaso espacio de
direcciones IPv4 y la agregación de múltiples prefijos contiguos en superredes, reduciendo el número de
entradas en las tablas de ruta globales.

Bloques CIDR

CIDR facilita el encaminamiento al permitir agrupar bloques de direcciones en una sola entrada de tabla
de rutas. Estos grupos, llamados comúnmente Bloques CIDR, comparten una misma secuencia inicial de
bits en la representación binaria de sus direcciones IP.

Los bloques CIDR IPv4 se identifican usando una sintaxis similar a la de las direcciones IPv4: cuatro
números decimales separados por puntos, seguidos de una barra de división y un número de 0 a 32;
A.B.C.D/N.
Los primeros cuatro números decimales se interpretan como una dirección IPv4, y el número tras la
barra es la longitud de prefijo, contando desde la izquierda, y representa el número de bits comunes a
todas las direcciones incluidas en el bloque CIDR.

Decimos que una dirección IP está incluida en un bloque CIDR, y que encaja con el prefijo CIDR, si los N
bits iniciales de la dirección y el prefijo son iguales. Nótese que los prefijos CIDR cortos (números
cercanos a 0) permiten encajar un mayor número de direcciones IP, mientras que prefijos CIDR largos
(números cercanos a 32) permiten encajar menos direcciones IP.

Una dirección IP puede encajar en varios prefijos CIDR de longitudes diferentes, es por ello que en las
tablas de enrutamiento cuando se compara la dirección de IP destino del paquete con las entradas en la
tabla, puede que existan muchas coincidencias con la misma dirección IP de red pero con distintas
máscaras, por lo que se utiliza aquella que tenga la máscara más grande.

CIDR también se usa con direcciones IPv6, en las que la longitud del prefijo varía desde 0 a 128, debido a
la mayor longitud de bit en las direcciones, con respecto a IPv4. En el caso de IPv6 se usa una sintaxis
similar a la comentada: el prefijo se escribe como una dirección IPv6, seguida de una barra y el número
de bits significativos.

CIDR y Máscaras de Subred

CIDR usa máscaras de subred de longitud variable (VLSM) para asignar direcciones IP a subredes de
acuerdo a las necesidades de cada subred. De esta forma, la división red/host puede ocurrir en cualquier
bit de los 32 que componen la dirección IP. Este proceso puede ser recursivo, dividiendo una parte del
espacio de direcciones en porciones cada vez menores, usando máscaras que cubren un mayor número
de bits.

Las direcciones de red CIDR/VLSM se usan a lo largo y ancho de la Internet pública, y en muchas grandes
redes privadas.

Agregación de Prefijos

Otro beneficio de CIDR es la posibilidad de agregar prefijos de encaminamiento, un proceso conocido


como "supernetting". Por ejemplo, dieciséis redes /24 contíguas pueden ser agregadas y publicadas en
los enrutadores de Internet como una sola ruta /20 (si los primeros 20 bits de sus respectivas redes
coinciden). Dos redes /20 contiguas pueden ser agregadas en una /19, etc.

Esto permite una reducción significativa en el número de rutas que los enrutadores en Internet tienen
que conocer (y una reducción de memoria, recursos, etc.) y previene una explosión de tablas de
encaminamiento, que podría sobrecargar a los routers e impedir la expansión de Internet en el futuro.
IP Versión 6

IPv6 es el protocolo de la próxima generación de Internet, a la que originalmente se denominó IPng


(Internet Protocol Next Generation). IPv6 surge a raíz de la necesidad de implementar una solución
efectiva y determinante a los problemas que se plantean en la actualidad o a futuro evidente debido a
las limitaciones de IPv4. Algunas de las limitaciones pueden ser, la inminente saturación del espacio de
direcciones, se requiere soportar aplicaciones de video conferencia, multimedia en tiempo real, se
requieren mecanismos de seguridad en la capa de red.

¿Qué problemas trae esto?

Escasez de direcciones IP:


Menos direcciones disponibles.
Limita el crecimiento de internet.
El ruteo es ineficiente.
Provoca que los usuarios utilicen NAT/PAT

Soporte Inadecuado para las nuevas aplicaciones

Qué buscamos:
Menores tiempos de respuesta.
Mayor disponibilidad de ancho de banda.
Mayor seguridad

La seguridad es opcional IPv4 no fue diseñado para ser seguro ya que originalmente fue diseñado para
una red militar aislada. Se han definido varias herramientas de seguridad como ser: SSL, SHTTP, IPsec V4,
etc., y ninguna es un estándar.

¿Cuáles son las mayores ventajas de IPv6?

Escalabilidad: IPv6 tiene direcciones de 128 bits frente a las direcciones de 32 bits de IPv4. Lo cual
implica un gran aumento en el número de IPs disponibles.

Seguridad: IPv6 incluye seguridad en sus especificaciones como es la encriptación de la información y la


autentificación del remitente de dicha información.

Aplicaciones en tiempo real: Para dar mejor soporte a tráfico en tiempo real (i.e. videoconferencia), IPv6
incluye etiquetado de flujos en sus especificaciones. Con este mecanismo los routers pueden reconocer
a qué flujo extremo a extremo pertenecen los paquetes que se transmiten.

Extensibilidad: IPv6 ha sido diseñado para ser extensible y ofrece soporte optimizado para nuevas
opciones y extensiones.

Movilidad: IPv6 incluye mecanismos de movilidad más eficientes y robustos.

Especificaciones más claras y optimizadas: IPv6 seguirá las buenas prácticas de IPv4 y elimina las
características no utilizadas u obsoletas de IPv4, con lo que se consigue una optimización del protocolo
de Internet. La idea es quedarse con lo bueno y eliminar lo malo del protocolo actual.
Direccionamiento y encaminado: IPv6 mejora la jerarquía de direccionamiento y encaminamiento.

Extensibilidad: IPv6 ha sido diseñado para ser extensible y ofrece soporte optimizado para nuevas
opciones y extensiones.

CARACTERISTICAS DE DIRECCIONES IPv6


 Las direcciones IPv6 se asignan a interfaces lógicas.
 Una interfaz puede tener muchas direcciones.
 Las direcciones tienen ámbitos de acción:
o Local de Enlace.
o Local de Sitio.
o Global.

Dirección IPv6 vs IPv4

Datagrama IP v6
Datagrama respecto a IP v4

Cambios de los campos en IPv6:


Longitud Total --> Longitud de carga útil (payload length). Es la longitud de los datos y puede ser de
hasta 65536 bytes. (16 bits)

Protocolo --> Siguiente cabecera (mext header). Esto se debe a que en lugar de usar cabeceras de
longitud variable, usa distintas cabeceras encadenadas. Por ello desaparece el campo “Opciones”

Tiempo de vida (TTL) --> Límite de Saltos (Hop limit). Tiene una longitud de 8 bits (1 byte)

Nuevos campos en IPv6:


Clase de Tráfico (Traffic Class): también denominado Prioridad (Priority), o simplemente Case (Class).
Sería más o menos equivalente al “TOS” de IPv4. Tiene una longitud de 8 bits (1 byte)

Etiqueta de Flujo (Flow Label): Para permitir tráfico con requisitos de tiempo real o sensible al retardo.
Tiene una longitud de 20 bits

o La longitud de esta cabecera es de 40 bytes, el doble que en IPv4, pero tiene muchas ventajas al
eliminar campos redundantes y ser de longitud fija, lo que facilita el procesado en los routers.
o Otra ventaja es que los campos están alineados a 64 bits, lo que permite que las nuevas
generaciones de procesadores de 64 bits sean más eficaces al procesar este encabezado
o El valor del campo “siguiente cabecera”, indica cual es la siguiente cabecera. Las sucesivas
cabeceras, no son examinadas en cada nodo de la ruta, sino sólo en el o los nodo/s destino final.
Hay una excepción a esta regla: cuando el valor de este campo es cero, indica opción de examinado
y proceso “salto a salto” (hotby-hop).
A continuación se dan algunos ejemplos de uso de las “cabeceras de extensión”, definidas en el campo
“siguiente cabecera”. Este mecanismo permite encadenar una cabecera con otra.

Definición de Direcciones en IPv6


Unicast: Identificador para una única interface. Es equivalente a las direcciones IPv4 actuales.
Anycast: Identificador para un conjunto de interfaces. Un paquete enviado a una dirección anycast, es
entregado a cualquiera de las interfaces identificadas con esa dirección (la más próxima de acuerdo al
protocolo de enrutamiento). Nos permite crear ámbitos de redundancia de modo que varias máquinas
puedan ocuparse del mismo tráfico según una secuencia determinada, si la primera cae.
Multicast: Identificador para un conjunto de interfaces. Un paquete enviado a una dirección multicast,
es entregado a todas las interfaces identificadas con esa dirección (la más próxima de acuerdo al
protocolo de enrutamiento).

Diferencias con IPv4


 No hay direcciones broadcast, es sustituida por multicast.
 Las direcciones IPv6 son asignadas a interfaces, no a nodos.
 Todas las interfaces han de tener, al menos, una dirección unicast (enlace local)
 Una única interface puede tener varias direcciones IPv6 de cualquier tipo.
 Una misma dirección puede ser asignada a múltiples interfaces físicas, desde el punto de vista
de Internet, como una única, lo que permite balanceo de cargas.
 Al igual que en IPv4 se asigna un prefijo de subred con un enlace, y se pueden asociar múltiples
prefijos de subred a un mismo enlace.

Ejemplo de dirección IP versión 6:


2001:0ba0:01e0:d001:0000:0000:d0f0:0010
La dirección en total está formada por 128 bits, frente a los 32 de las actuales (versión 4). Se representa
en 8 grupos de 16 bits cada uno, separados por el carácter ":“. Cada grupo de 16 bits se representa a su
vez mediante 4 cifras hexadecimales, es decir, que cada cifra va del 0 al 15 (0,1,2, ... a,b,c,d,e,f siendo
a=10, b=11, etc hasta f=15).

Existe un formato abreviado para designar direcciones IP versión 6 cuando las terminaciones son todas 0
(cero) 2001:0ba0::
Es la forma abreviada de la siguiente dirección: 2001:0ba0:0000:0000:0000:0000:0000:0000
1081:0:0:0:9:800:56AB:3510 (una dirección unicast)
FF01:0:0:0:0:0:0:512 (una dirección multicast)
0:0:0:0:0:0:0:1 (la dirección de loopback)
0:0:0:0:0:0:0:0 (una dirección no especificada)

Pueden representarse como:


1081::9:800:56AB:3510 (una dirección unicast)
FF01:0::512 (una dirección multicast)
::1 (la dirección de loopback)
:: (una dirección no especificada)

Dado que existen largas cadenas de bit 0 (cero) se permite la escritura mediante abreviación con “::”,
que representa múltiples grupos consecutivos de 16 bits 0 (cero). Este símbolo solo puede aparecer una
vez en la dirección.
Igualmente, se puede poner un solo 0, quitar los ceros a la izquierda y se pueden abreviar 4 ceros en
medio de la dirección (una sola vez en cada dirección).

2001:ba0:0:0:0:0::1234
Es la forma abreviada de la dirección:
2001:0ba0:0000:0000:0000:0000:0000:1234

0:0:0:0:0:0:13.10.68.3
0:0:0:0:0:FFFF:129.144.52.38
Pueden representarse como:
:: 13.10.68.3
::FFFF: 129.144.52.38

Tráfico IPv6 sobre redes IPv4

Para ello se utiliza una técnica que se denomina túnel. Consiste en introducir en un extremo el tráfico
IPv6 como si fueran datos del protocolo IPv4. De esta manera, el tráfico IPv6 viaja "encapsulado" dentro
del tráfico IPv4 y en el otro extremo, este tráfico es separado e interpretado como tráfico IPv6.

El mecanismo consiste en crear los paquetes IPv6 de forma normal e introducirlos en un paquete IPv4. El
proceso inverso se realiza en la maquina destino, que recibe un paquete IPv6.

Una forma alternativa muy conveniente, cuando nos hallemos en un entorno mixto de IPv4 e IPv6, es:
X:X:X:X:X:X:D.D.D.D
Donde “X” representa valores Hexadecimales de 16 bits /los 6 de mayor peso) y “D” representa valores
decimales de las 4 porciones de 8 bits de menor peso (representación estándar de IPv4).
¿Por qué es necesario migrar al nuevo protocolo IP (IPv6)?

Nuevos usuarios en países tan poblados como China o la India, nuevas tecnologías con dispositivos
conectados de forma permanente (xDSL, cable, PLC, PDAs, teléfonos móviles, UMTS, etc.) están
provocando la rápida desaparición, de forma práctica, de las direcciones IP disponibles en la versión 4.
Esto y la necesidad de mayores tasas de transferencia a nivel global hacen que la llegada de IPv6 sea
consecuencia directa de la evolución de las nuevas tecnologías. Abriendo un camino de posibilidades
totalmente nuevas.

Protocolos de Control en Internet

Además de los protocolos como IP utilizados para la transferencia de datos en internet, existen una serie
de protocolos de control que se usan en la capa de redes como ICMP, ARP, RARP, BOOTP y DHCP.

ICMP (Internet Control Message Protocol)

Cuando ocurre algo inesperado, el Protocolo de Mensajes de Control en Internet informa de este
evento. Hay definidos alrededor de una docena de tipos de mensajes ICMP y cada mensaje va
encapsulado dentro de un paquete IP. Los más importantes se listan a continuación:

Tipo de Mensaje Descripción


Destination Unreachable El paquete no se pudo entregar
Time Exceeded Campo tiempo de vida = 0
Parameter Problem Campo de encabezado no válido (al comparar el CHECKSUM)
Source Quench Paquete regulador (se usaba para controla congestión)
Redirect Cuando un paquete está mal enrutado se redirecciona y se avisa
Echo Pregunta a una máquina si está viva y si es alcanzable
Echo Reply Sí, estoy viva
Timestamp Request Idem solicitud de eco pero con marca de tiempo
Timestamp Reply Idem respuesta de eco pero con marca de tiempo

En cuanto a su funcionamiento supongamos el funcionamiento para el mensaje “Time Exceeded”, cada


router que reenvía un datagrama IP tiene que disminuir el campo de tiempo de vida (TTL) de la cabecera
IP en una unidad; si el TTL llega a 0, un mensaje ICMP "Tiempo de Vida se ha excedido en transmitirse"
es enviado a la fuente del datagrama.

Cada mensaje ICMP es encapsulado directamente en un solo datagrama IP, y por tanto no garantiza la
entrega del ICMP.

Aunque los mensajes ICMP son contenidos dentro de datagramas estándar IP, los mensajes ICMP se
procesan como un caso especial del procesamiento normal de IP, algo así como el procesamiento de un
sub-protocolo de IP. En muchos casos es necesario inspeccionar el contenido del mensaje ICMP y
entregar el mensaje apropiado de error a la aplicación que generó el paquete IP original, aquel que
solicitó el envío del mensaje ICMP.

La utilidad del protocolo ICMP es controlar si un paquete no puede alcanzar su destino, si su vida ha
expirado, etc. Es decir, se usa para manejar mensajes de error y de control necesarios para los sistemas
de la red, informando con ellos a la fuente original para que evite o corrija el problema detectado.

Muchas de las utilidades de red comunes están basadas en los mensajes ICMP. El comando traceroute
está implementado transmitiendo datagramas UDP con campos especiales TTL IP en la cabecera, y
buscando los mensajes de "Tiempo de Vida en tránsito" y "Destino inalcanzable" generados como
respuesta. La herramienta ping está implementada utilizando los mensajes "Echo request" y "Echo
reply" de ICMP.

Internet Group Management Protocol (IGMP)

Nota: No sale en el programa pero los profesores lo dieron en clase

El protocolo de red IGMP se utiliza para intercambiar información acerca del estado de pertenencia
entre enrutadores IP que admiten la multidifusión y miembros de grupos de multidifusión. Los hosts
miembros individuales informan acerca de la pertenencia de hosts al grupo de multidifusión y los
enrutadores de multidifusión sondean periódicamente el estado de la pertenencia.

Todos los mensajes IGMP se transmiten en datagramas IP y tienen el formato mostrado en la figura
adjunta. Los campos son los siguientes:
Tipos:

 Consulta de asociación: enviada por un encaminador de multidifusión. Hay dos subtipos: una
consulta general, utilizada para aprender qué grupos tienen miembros en una red conectada; y
una consulta específica de grupo, utilizada para aprender si un grupo particular tiene algún
miembro en una red conectada.
 Informes de asociación: enviado por un host para declarar sus miebros asociados a un grupo.
 Grupo de abandono: enviado por un hostpara declarar que abandona el grupo.
 Tiempo máximo de respuesta: Solamente significativo en un mensaje de consulta de asociación,
y especifica el máximo tiempo permitido antes de enviar un infome de respuesta en unidades de
1/10 segundos.

Suma de comprobación: Un código de detección de errores, calculado como el complemento a 1 de 16


bits más cuatro palabras de 16 bits del mensaje. Para propósitos de computación, el campo "Suma de
Comprobación" se inicia a valor 0.

Dirección de grupo: Cero en un mensaje de respuesta, y una dirección de grupo multidifusión IP válida
en un informe de asociación o en un mensaje de abandono.

Resv: Este campo está a 0 en la transmisión e ignorado en la recepción.

S: Suspender procesamiento en el lado del router

QSV: Robustez de la variable del consultor

QQIC: Código del intervalo de consulta del consultor

ARP (Adress Resolution Protocol)

El Protocolo de resolución de direcciones es un protocolo de nivel de red responsable de encontrar la


dirección hardware (Ethernet MAC) que corresponde a una determinada dirección IP. Para ello se envía
un paquete (ARP request) a la dirección de difusión de la red (broadcast (MAC = xx xx xx xx xx xx)) que
contiene la dirección IP por la que se pregunta, y se espera a que esa máquina (u otra) responda (ARP
reply) con la dirección Ethernet que le corresponde. Cada máquina mantiene una caché con las
direcciones traducidas para reducir el retardo y la carga. ARP permite a la dirección de Internet ser
independiente de la dirección Ethernet, pero esto sólo funciona si todas las máquinas lo soportan.

En Ethernet, la capa de enlace trabaja con direcciones físicas. El protocolo ARP se encarga de traducir las
direcciones IP a direcciones MAC (direcciones físicas).Para realizar ésta conversión, el nivel de enlace
utiliza las tablas ARP, cada interfaz tiene tanto una dirección IP como una dirección física MAC.
Tablas ARP

La filosofía es la misma que tendríamos para localizar al señor "X" entre 150 personas: preguntar por su
nombre a todo el mundo, y el señor "X" nos responderá. Así, cuando a "A" le llegue un mensaje con
dirección origen IP y no tenga esa dirección en su tabla ARP, enviará su trama ARP a la dirección
broadcast (física), con la IP de la que quiere conocer su dirección física. Entonces, el equipo cuya
dirección IP coincida con la preguntada, responderá a "A" enviándole su dirección física. En este
momento "A" ya puede agregar la entrada de esa IP a su tabla ARP. Las entradas de la tabla se borran
cada cierto tiempo, ya que las direcciones físicas de la red pueden cambiar (Ej: si se estropea una tarjeta
de red y hay que sustituirla)

Funcionamiento I

Si A quiere enviar una trama a la dirección IP de B (misma red), mirará su tabla ARP para poner en la
trama la dirección destino física correspondiente a la IP de B. De no encontrarse la dirección de B en la
tabla ARP de A, la misma enviará un paquete ARP Request por broadcast y solo responderá mediante un
paquete ARP Reply (con su dirección física) aquel nodo cuyo IP sea el IP de la dirección lógica de destino
del paquete ARP Request.

Funcionamiento II (Proxy ARP)

Si A quiere enviar un mensaje a C (un nodo que no esté en la misma red), el mensaje deberá salir de la
red. Así, A envía la trama a la dirección física de salida del router. Esta dirección física la obtendrá a
partir de la IP del router, utilizando la tabla ARP. Si esta entrada no está en la tabla, mandará un mensaje
ARP a esa IP (llegará a todos), para que le conteste indicándole su dirección física.

Una vez en el router, éste consultará su tabla de encaminamiento, obteniendo el próximo nodo (salto)
para llegar al destino, y saca el mensaje por el interfaz correspondiente. Esto se repite por todos los
nodos, hasta llegar al último router, que es el que comparte el medio con el host destino. Aquí el
proceso cambia: el interfaz del router tendrá que averiguar la dirección física de la IP destino que le ha
llegado. Lo hace mirando su tabla ARP, y en caso de no existir la entrada correspondiente a la IP, la
obtiene realizando una multidifusión.

Nota: El paquete ARP tiene como dirección física de destino todas ‘F’ (todos los bits encendidos).

Paquete ARP:

Tipo de dirección física Tipo de dirección lógica

Long. Dir. Física Long. Dir. Lógica Operación

Dirección Física del emisor

Dir. Física del emisor (48 bits) Dir. Lógica del emisor

Dir. Lógica del emisor (32 bits) Dirección Física del receptor
Dirección Física del receptor (48 bits)

Dirección Lógica del receptor (32 bits)

El tipo de dirección física y lógica está relacionado con si es Ethernet, token ring, ip, etc.

La longitud de dirección física y lógica está relacionada con el campo anterior.

Operación, es un campo que indica si es una pregunta o una respuesta.

El comando ARP – a muestra la tabla ARP (con las direcciones IP y MAC conocidas). Cada vez que se
conoce una dirección MAC a través del protocolo ARP, se guarda un registro en esta tabla salvando esta
relación. La próxima vez que quieran comunicarse estos nodos, cada uno buscará en su tabla ARP (los
registros de la tabla son borrados cada 4 seg. Si no enviaron paquetes entre estos dos puntos, la
próxima vez tendrán que buscar la dirección MAC a través del protocolo ARP).

RARP (Reverse ARP)

Es similar al protocolo ARP solo que el paquete enviado por broadcast estará preguntando por una IP
para una determinada dirección MAC. Esto puede ser utilizado para obtener direcciones de IP
dinámicas. También en caso de tener un terminal bobo el cual no tenga un SO por ejemplo, no podría
tener una dirección de IP, pero si tener una dirección MAC (ya que es propia de la placa de red),
entonces mediante este protocolo podría comunicarse con un servidor RARP y obtener una imagen del
SO y una dirección de IP. RARP utiliza broadcast para difundir los paquetes de peticiones, por lo que su
gran desventaja es que se necesita un servidor RARP en cada red, dado que los router no dejan pasar los
broadcast.

BOOTP (Bootstrap Protocol)

BOOTP son las siglas de Bootstrap Protocol. Es un protocolo de red UDP utilizado por los clientes de red
para obtener su dirección IP automáticamente. Normalmente se realiza en el proceso de arranque de
los ordenadores o del sistema operativo.

Este protocolo permite a los ordenadores sin disco obtener una dirección IP antes de cargar un sistema
operativo avanzado. Históricamente ha sido utilizado por las estaciones de trabajo sin disco basadas en
UNIX (las cuales también obtenían la localización de su imagen de arranque mediante este protocolo) y
también por empresas para introducir una instalación pre-configurada de Windows en PC recién
comprados (típicamente en un entorno de red Windows NT).

DHCP es un protocolo basado en BOOTP, más avanzado, pero más difícil de implementar. Muchos
servidores DHCP también ofrecen soporte BOOTP.
BOOTP es la solución a RARP dado que no es necesario un servidor en cada red, como desventaja las
tablas con las direcciones son cargadas manualmente en los servidores BOOTP a los que los nodos
realizarán las peticiones.

DHCP (Dynamic Host Configuration Protocol)

El Protocolo Configuración Dinámica de Servidor es un protocolo de red que permite a los nodos de una
red IP obtener sus parámetros de configuración automáticamente. Se trata de un protocolo de tipo
cliente/servidor en el que generalmente un servidor posee una lista de direcciones IP dinámicas y las va
asignando a los clientes conforme éstas van estando libres, sabiendo en todo momento quién ha estado
en posesión de esa IP, cuánto tiempo la ha tenido y a quién se la ha asignado después.

Este protocolo permite provee los parámetros de configuración a las computadoras conectadas a la red
informática con la pila de protocolos TCP/IP (Máscara de red, puerta de enlace y otros) y también
incluyen mecanismos de asignación de direcciones IP.

Asignación de direcciones IP

Sin DHCP, cada dirección IP debe configurarse manualmente en cada computadora y, si la computadora
se mueve a otra subred, se debe configurar otra dirección IP diferente. El DHCP le permite al
administrador supervisar y distribuir de forma centralizada las direcciones IP necesarias y,
automáticamente, asignar y enviar una nueva IP si fuera el caso en la computadora es conectada en un
lugar diferente de la red.

El protocolo DHCP incluye tres métodos de asignación de direcciones IP:

 Asignación manual o estática: Asigna una dirección IP a una máquina determinada. Se suele
utilizar cuando se quiere controlar la asignación de dirección IP a cada cliente, y evitar, también,
que se conecten clientes no identificados.

 Asignación automática: Asigna una dirección IP de forma permanente a una máquina clienta la
primera vez que hace la solicitud al servidor DHCP y hasta que el cliente la libera. Se suele
utilizar cuando el número de clientes no varía demasiado.

 Asignación dinámica: el único método que permite la reutilización dinámica de las direcciones
IP. El administrador de la red determina un rango de direcciones IP y cada computadora
conectada a la red está configurada para solicitar su dirección IP al servidor cuando la tarjeta de
interfaz de red se inicializa. El procedimiento usa un concepto muy simple en un intervalo de
tiempo controlable. Esto facilita la instalación de nuevas máquinas clientes a la red.

Funcionamiento

Primero, se necesita un servidor DHCP que distribuya las direcciones IP. Este equipo será la base para
todas las solicitudes DHCP por lo cual debe tener una dirección IP fija. Por lo tanto, en una red puede
tener sólo un equipo con una dirección IP fija: el servidor DHCP.
Cuando un equipo se inicia no tiene información sobre su configuración de red y no hay nada especial
que el usuario deba hacer para obtener una dirección IP. Para esto, la técnica que se usa es la
transmisión: para encontrar y comunicarse con un servidor DHCP, el equipo simplemente enviará un
paquete especial de transmisión (Las direcciones IP origen y destino de dicho paquete serán 0.0.0.0 y
255.255.255.255 (broadcast) respectivamente, con información adicional como el tipo de solicitud, los
puertos de conexión, etc.) a través de la red local. Cuando el DHCP recibe el paquete de transmisión,
contestará con otro paquete de transmisión (no olvide que el cliente no tiene una dirección IP y, por lo
tanto, no es posible conectar directamente con él) que contiene toda la información solicitada por el
cliente.

Se podría suponer que un único paquete es suficiente para que el protocolo funcione. En realidad, hay
varios tipos de paquetes DHCP que pueden emitirse tanto desde el cliente hacia el servidor o servidores,
como desde los servidores hacia un cliente:

 DHCPDISCOVER (para ubicar servidores DHCP disponibles)


 DHCPOFFER (respuesta del servidor a un paquete DHCPDISCOVER, que contiene los parámetros
iniciales)
 DHCPREQUEST (solicitudes varias del cliente, por ejemplo, para extender su concesión)
 DHCPACK (respuesta del servidor que contiene los parámetros y la dirección IP del cliente)
 DHCPNAK (respuesta del servidor para indicarle al cliente que su concesión ha vencido o si el
cliente anuncia una configuración de red errónea)
 DHCPDECLINE (el cliente le anuncia al servidor que la dirección ya está en uso)
 DHCPRELEASE (el cliente libera su dirección IP)
 DHCPINFORM (el cliente solicita parámetros locales, ya tiene su dirección IP)

El primer paquete emitido por el cliente es un paquete del tipo DHCPDISCOVER. El servidor responde
con un paquete DHCPOFFER, fundamentalmente para enviarle una dirección IP al cliente. El cliente
establece su configuración y luego realiza un DHCPREQUEST para validar su dirección IP (una solicitud de
transmisión ya que DHCPOFFER no contiene la dirección IP) El servidor simplemente responde con un
DHCPACK con la dirección IP para confirmar la asignación. Normalmente, esto es suficiente para que el
cliente obtenga una configuración de red efectiva, pero puede tardar más o menos en función de que el
cliente acepte o no la dirección IP.

DHCP soluciona la gran desventaja de BOOTP y es que no es necesario tener un servidor en cada red,
para ello se debe tener en aquellas redes que no poseen un servidor, un “agente de retransmisión”, este
será el encargado de reenviar los paquetes DHCP Discover que existan en su red al servidor DHCP (para
ello necesita tener configurado la IP de un servidor DHCP).

La desventaja de la asignación dinámica de IPs es que si un HOST no hace más uso de una IP y no la
libera, esta dirección queda perdida. Con el tiempo podrían perderse muchas direcciones, para evitar
esto se utiliza una técnica llamada “arrendamiento” que consiste en colocar contadores a las IP
asignadas, si un host no solicita una “renovación” de la IP antes que el contador llegue a 0, su IP será
liberada.
Traducción de Direcciones de Red (NAT)

Las direcciones IP son escasas, un ISP podría tener una dirección clase B con máscara /16 lo cual
implicaría que podría tener (2^16)-2 = 65.534 hosts, en caso de tener más clientes que esos estaría en
problemas.
Una solución sería que mediante DHCP por ejemplo, los hosts tomaran las IP de forma dinámica, lo cual
permitiría 65.534 hosts activos, aunque este es un número que puede ser tranquilamente sobrepasado
por lo que no es la mejor solución. La solución a largo plazo sería implementar IPv6 que al trabajar con
128 bits en sus direcciones aumenta enormemente la cantidad de direcciones evitando su agotamiento.
Otra solución a este problema del agotamiento de las IP es el uso de NAT, la idea básica es asignar una
sola dirección IP a cada compañía (o un número pequeño) para el tráfico en internet. Dentro de la
compañía cada computadora tiene una dirección IP única (privada) que se utiliza para enrutar el tráfico
interno, cuando un paquete sale de la compañía y va al ISP se presenta una traducción de dirección de
esta manera simultáneamente sólo pueden salir a internet con una dirección IP tantos equipos como
direcciones públicas se hayan contratado.

Funcionamiento

El protocolo TCP/IP tiene la capacidad de generar varias conexiones simultáneas con un dispositivo
remoto. Para realizar esto, dentro de la cabecera de un paquete IP, existen campos en los que se indica
la dirección origen y destino. Esta combinación de números define una única conexión.

Una pasarela NAT cambia la dirección origen en cada paquete de salida y, dependiendo del método,
también el puerto origen para que sea único (PAT). Estas traducciones de dirección se almacenan en una
tabla, para recordar qué dirección y puerto le corresponde a cada dispositivo cliente y así saber donde
deben regresar los paquetes de respuesta. Si un paquete que intenta ingresar a la red interna no existe
en la tabla de traducciones, entonces es descartado. Debido a este comportamiento, se puede definir en
la tabla que en un determinado puerto y dirección se pueda acceder a un determinado dispositivo,
como por ejemplo un servidor web, lo que se denomina NAT inverso o DNAT (Destination NAT).

NAT tiene muchas formas de funcionamiento, entre las que destacan:

Estático (DNAT)

Es un tipo de NAT en el que una dirección IP pública se traduce a una dirección IP privada, y donde esa
dirección pública es siempre la misma. Esto le permite a un host, como un servidor Web, el tener una
dirección IP de red privada pero aún así ser visible en Internet.

Dinámico

Es un tipo de NAT en la que una dirección IP privada se mapea a una IP pública basándose en una tabla
de direcciones de IP registradas (públicas). Normalmente, el router NAT en una red mantendrá una tabla
de direcciones IP registradas, y cuando una IP privada requiera acceso a Internet, el router elegirá una
dirección IP de la tabla que no esté siendo usada por otra IP privada. Esto permite aumentar la
seguridad de una red dado que enmascara la configuración interna de una red privada, lo que dificulta a
los hosts externos de la red el poder ingresar a ésta. Para este método se requiere que todos los hosts
de la red privada que deseen conectarse a la red pública posean al menos una IP pública asociadas.

Sobrecarga (PAT)

La forma más utilizada de NAT, proviene del NAT dinámico, ya que toma múltiples direcciones IP
privadas (normalmente entregadas mediante DHCP) y las traduce a una única dirección IP pública
utilizando diferentes puertos. Esto se conoce también como PAT (Port Address Translation - Traducción
de Direcciones por Puerto), NAT de única dirección o NAT multiplexado a nivel de puerto. El uso de PAT
permite que con solo una dirección pública puedan hacerse aprox. 65 mil traducciones.

Solapamiento

Cuando las direcciones IP utilizadas en la red privada son direcciones IP públicas en uso en otra red, el
ruteador posee una tabla de traducciones en donde se especifica el reemplazo de éstas con una única
dirección IP pública. Así se evitan los conflictos de direcciones entre las distintas redes.
Unidad 3: Capa de interred – Encaminamiento y Congestión.

Encaminamiento

Encaminamiento (o enrutamiento, ruteo) es la función de buscar un camino entre todos los posibles en
una red de paquetes cuyas topologías poseen una gran conectividad. Dado que se trata de encontrar la
mejor ruta posible, lo primero será definir qué se entiende por mejor ruta y en consecuencia cuál es la
métrica que se debe utilizar para medirla.

Algoritmo de enrutamiento

Es la porción de software de la capa de red encargada de decidir la línea de salida por la que se
transmitirá un paquete de entrada. Si la subred usa datagramas de manera interna, esta decisión debe
tomarse cada vez que llega un paquete de datos, dado que la mejor ruta podría haber cambiado desde
la última vez (dependiendo de la métrica a usar). Si la subred utiliza circuitos virtuales internamente, las
decisiones de enrutamiento se toman sólo al establecerse un circuito virtual nuevo (dado que en lo
sucesivo los paquetes seguirán la ruta previamente establecida), a esto se lo denomina enrutamiento de
sesión.

Un router realiza dos procesos internos:

 Uno de ellos maneja cada paquete conforme llega, buscando en las tablas de enrutamiento la
línea de salida por la cual lo enviará (Este proceso se conoce como reenvío).
 El otro proceso es el responsable de llenar y actualizar las tablas de enrutamiento con las cuales
tomará las decisiones a la hora de realizar un reenvío (Aquí se utiliza el algoritmo de
enrutamiento).

Métrica de la red

Puede ser por ejemplo el número de saltos necesarios para ir de un nodo a otro. Aunque ésta no se trata
de una métrica óptima ya que supone “1” para todos los enlaces, es sencilla y suele ofrecer buenos
resultados.

Otro tipo es la medición del retardo de tránsito entre nodos vecinos, en la que la métrica se expresa en
unidades de tiempo y sus valores no son constantes sino que dependen del tráfico de la red.

Mejor Ruta

Entendemos por mejor ruta aquella que cumple las siguientes condiciones:

 Presenta el menor retardo medio de tránsito.


 Consigue mantener acotado el retardo entre pares de nodos de la red.
 Consigue ofrecer altas cadencias efectivas independientemente del retardo medio de tránsito
 Permite ofrecer el menor costo.
El criterio más sencillo es elegir el camino más corto, es decir la ruta que pasa por el menor número de
nodos. Una generalización de este criterio es el de “coste mínimo”. En general, el concepto de distancia
o coste de un canal es una medida de la calidad del enlace basado en la métrica que se haya definido. En
la práctica se utilizan varias métricas simultáneamente.

Tipos de algoritmos de enrutamiento

Podemos clasificar a los algoritmos de enrutamiento en “adaptativos” (dinámicos) y “no adaptativos”


(estáticos). Un algoritmo no adaptativo o estático, no basa sus decisiones de enrutamiento en
mediciones ni estimaciones de tráfico o topología, las decisiones de que rutas se usaran son tomadas
por adelantado, fuera de línea y se cargan cuando inicia el router. Por otro lado los algoritmos
adaptativos o dinámicos cambian sus decisiones de enrutamiento para reflejar los cambios de topología
y de tráfico.

Los protocolos de enrutamiento pueden ser clasificados de acuerdo al siguiente cuadro:

Clasificación Protocolo de enrutamiento


IGP (Interior Gateway Protocol) – Intercambiar  Vector Distancia
rutas dentro de un sistema autónomo. o RIP
 Estado de enlace
o OSPF
 Híbridos
o IGRP (Interior Gateway Routing
Protocol)
o EIGRP (Enhanced Interior Gateway
Routing Protocol)
EGP (Exterior Gateway Protocol) – Intercambian  BGP
rutas entre diferentes sistemas autónomos.

Enrutamiento por la ruta más corta

La idea es armar un grafo de la subred, en el que cada nodo representa un enrutador y cada arco del
grafo una línea de comunicación. Para elegir una ruta entre un par dado de enrutadores, el algoritmo
simplemente encuentra en el grafo la ruta más corta entre ellos. Una métrica es la cantidad de saltos,
sin embargo existen muchas otras métricas como el retardo entre cada enlace al enviar un paquete de
prueba cada una hora, con lo que la métrica sería la velocidad y la ruta más corta sería la más rápida.

Inundación

Otro algoritmo estático es la inundación, en la que cada paquete de entrada se envía por cada una de las
líneas de salida, excepto por aquella en la que llego. La inundación evidentemente genera grandes
cantidades de paquetes duplicados de hecho la cantidad es infinita a menos que se tomen medidas
(como colocar un contador en el paquete que se disminuya en cada salto y al llegar a 0 se descarte, o
llevar un registro de los paquetes enviados para evitar enviarlos por segunda vez, etc.). Una variación de
la inundación es la inundación selectiva, en la que los enrutadores no envían cada paquete de entrada
por todas las líneas, si no sólo por aquellas que van aproximadamente en la dirección correcta. La
inundación no es un proceso muy utilizado y tiene aplicaciones en el campo militar (donde un conjunto
de routers podrían romperse en cualquier momento) y en bases de datos distribuidas donde deben
generarse actualizaciones concurrentes.

Enrutamiento por vector distancia

Los algoritmos de enrutamiento por vector distancia operan haciendo que cada enrutador mantenga
una tabla con las mejores distancias conocidas a cada destino, y la línea que se puede usar para llegar
ahí. Estas tablas se actualizan intercambiando información con los vecinos. Este algoritmo dinámico fue
utilizado en ARPANET y en internet con el nombre de RIP (Routing Information Protocol). Cada router
mantiene una tabla de enrutamiento indizada por, y conteniendo registro de, cada router de la subred.
Esta entrada comprende dos partes, la línea preferida de salida hacia ese destino y una estimación del
tiempo o distancia a ese destino.
Supongamos que el retardo se utiliza como métrica, un router envía a todos sus vecinos un paquete ECO
y mantiene una tabla con los resultados de las demoras en recibir la respuesta de sus vecinos. A su vez
recibe una lista similar de cada vecino, con lo que si el router A quiere llegar a C y tiene que pasar por B,
el router A puede estimar la demora en llegar a C con solo sumar las demoras A->B y B->C. Los paquetes
de ECO son enviados cada una cierta cantidad de mseg para mantener actualizadas las tablas.

Problemas de vector distancia

 Cuenta hasta infinito: La cuenta infinito es un problema, que ocurre en los algoritmos de vector
distancia, imaginemos 3 routes A-B-C.

A a un salto de B

B a un salto de C

C a dos saltos de A (con B en el medio)

Se cae A, y entonces B le dice a C que A se cayó, pero C le responde a B diciéndole que él conoce
una ruta a A que está a 2 saltos de él (sin saber que B está contenido en esa ruta), entonces B
dice “si C esta a 2 saltos de A y yo a 1 salto de C, entonces yo estoy a 3 de A” y entonces C dice lo
mismo y queda a 4 saltos de A y así se produce un conteo hasta infinito. (Recordar que en vector
distancia los routers no conocen la topología de la red y esta es la causa por la que el problema
ocurre).

 Soluciones:
o Contadores que limiten la cantidad de saltos para evitar la cuenta infinita.
o El horizonte dividido es otra forma de evitar este problema, consiste en prohibir a un
router publicar una ruta por la misma interfaz por la que se aprendió en primer lugar. Ej.
A aprende la ruta hacia C a través de B, entonces A no puede mandar por su interfaz de
conexión con B esa ruta. Cualquiera diría que no hay problema porque la ruta B-C es
más corta que la ruta B-A-B-C, pero si B-C se cae se producirá un conteo infinito a través
de la ruta publicada por A (dado que B no sabe que está incluido en esa ruta).
o Envenenamiento de ruta, cuando A se cae, B publica que la ruta hacia A tiene un costo
infinito de difusión (esto se realiza durante un tiempo, y luego se borra a A de la tabla).
o Triggered Updates, son actualizaciones por eventos que obligan a un router a enviar una
difusión al momento de recibir malas noticias en vez de esperar al próximo período de
difusión.

Enrutamiento por estado del enlace

El algoritmo de enrutamiento por estado del enlace, fue utilizado como reemplazo al vector distancia
para subsanar los problemas que este tenía como la alta demora en converger (El proceso de
convergencia es el proceso por el cual los routers van armando las tablas de enrutamiento y se van
conociendo, la convergencia termina cuando todos los routers se conocen y han armado sus respectivas
tablas).
El concepto en que se basa el enrutamiento por estado del enlace es sencillo y puede enunciarse en
cinco partes:
 Descubrir a sus vecinos y conocer sus direcciones de red: Esto lo realiza cada router enviando
un paquete HELLO especial a cada línea punto a punto. Se espera que el router del otro extremo
regrese una respuesta indicando quién es.
 Medir el retardo o costo para cada uno de sus vecinos: La manera más directa de determinar
este retardo es enviar un paquete ECHO especial a través de la línea y una vez que llegue al otro
extremo, éste debe ser regresado inmediatamente. Si se mide el tiempo de ida y vuelta y se
divide entre dos, el router emisor puede tener una idea razonable del retardo de esa línea.
 Construir un paquete que indique todo lo que se acaba de aprender (estado de enlace): El
paquete comienza con la identidad del emisor, un número de secuencia, una edad y una lista de
vecinos junto con el retardo para cada vecino. Estos paquetes pueden ser construidos de
manera periódica o cuando ocurra algún evento significativo (como caídas o reactivaciones de
vecinos o cambios en sus propiedades).
 Distribución de los paquetes de estado del enlace a los demás routers: Se utiliza inundación
para distribuir los paquetes de estado del enlace a fin de mantener controlada la inundación
cada paquete contiene un número de secuencia que se incrementa con cada paquete enviado
(cuando llega un paquete de estado de enlace se verifica contra la lista de paquetes recibidos y
se compara el ID de origen y su secuencia, con la última secuencia recibida para ese ID). Pero
esta solución tiene un problema y es que los números de secuencia podrían reiniciarse (se
terminan los números y comienza desde 0), para evitar esto, el número de secuencia es un
número de 32 bits. Otro problema podría ocurrir si el router cae y vuelve a levantarse y pierde
su número de secuencia, o si este se corrompe por alguna razón, para ellos se utiliza un número
de edad en cada paquete el cual es un contador que disminuye una vez por segundo y si la edad
llega a 0 el paquete es descartado.
 Calcular la ruta más corta a todos los demás enrutadores: Una vez que el enrutador ha
acumulado un grupo completo de paquetes de estado de enlace, puede construir el grafo de la
subred completa porque todos los enlaces están representados y, ejecutar el algoritmo de
Dijkstra para construir la ruta más corta a todos los destinos posibles, estos resultados se
instalan en las tablas de enrutamiento y la operación se inicia normalmente.
Estado de Enlace vs Vector Distancia

• Ancho de banda: El método vector distancia no considera el ancho de banda usado.


• Convergencia: El algoritmo por vector distancia tarda demasiado en converger.
• Información de la red: En el método por vector distancia, cada router envía información sólo
a sus vecinos, pero esta hace referencia de toda la red. Sin embargo el encaminamiento por
estado de enlace envía a todos los nodos de la red, pero su información es relativa a sus vecinos.
Además el enrutamiento por vector distancia no permite conocer la topología de la red.
• Capacidad y uso de memoria: Con algoritmos basados en estado de enlace, el tráfico de la
red siempre es el mismo sin depender del tamaño de la red. Con vectores distancia, se
transmiten vectores de un tamaño proporcional al número de nodos. El routing por vector
distancia sólo guarda las distancias al resto de nodos. Con estado de enlace se almacena además
la topología de la red.
 Sucesos en la red: Al no tener información sobre la topología, el routing por vector distancia
no se adapta tan bien a los cambios en la red como el basado en estado de enlace (Ej.
Problemas de conteo infinito por la caída de un router). Sin embargo, el encaminamiento
basado en vector distancia es mucho más sencillo que el de estado de enlace, lo que en
ocasiones puede resultar bastante útil.

Enrutamiento Jerárquico

A medida que crece el tamaño de las redes, también lo hacen, de manera proporcional, las tablas de
enrutamiento de los routers. Las tablas que siempre crecen no sólo consumen memoria del router, sino
que también se necesita más tiempo de CPU para examinarlas y más ancho de banda para enviar
información de estado entre routers. Cuando se utiliza enrutamiento jerárquico, los routers se dividen
en lo que llamaremos regiones, donde cada router conoce todos los detalles para enrutar paquetes a
destinos dentro de su propia región, pero no sabe nada de la estructura interna de otras regiones.
Cuando se interconectan diferentes redes, es natural considerar cada una como región independiente a
fin de liberar a los routers de una red de la necesidad de conocer la estructura topológica de las demás.
Desgraciadamente, estas ganacias de espacio no son gratuitas, se paga un precio que es una ruta de
longitud mayor. Cuando una red se vuelve muy grande surge la interesante pregunta de ¿cuántos
niveles tener en la jerarquía? Y el número óptimo de niveles para una subred de N enrutadores es de
ln(N) y se requieren un total de "𝑒 ∗ ln⁡(𝑁)" entradas por router y el aumento de la longitud media de
las rutas causado por el enrutamiento jerárquico con este número de niveles, es tan pequeño que por lo
general es aceptable.

Difusión

El envío simultáneo de un paquete a todos los destinos de una subred se denomina difusión.
 Un método de difusión que no requiere características especiales de la subred es que el
origen simplemente envía un paquete distinto a todos los destinos, pero este método no
solo desperdicia ancho de banda, sino que también requiere que el origen tenga una lista
completa de todos los destinos.
 La inundación es otro candidato obvio, el problema es que genera demasiados paquetes y
consume demasiado ancho de banda.
 Un tercer algoritmo es el enrutamiento multidestino, donde cada paquete contiene una lista
de destinos o un mapa de bits que indica los destinos deseados. Cuando un paquete llega al
router, éste revisa todos los destinos para determinar el grupo de líneas de salida que
necesitará y genera una nueva copia del paquete para cada línea de salida e incluye en cada
paquete solo los destinos que utilizarán esa línea. Después de una cantidad suficiente de
saltos, cada paquete llevará sólo un destino, así que puede tratarse como un paquete
normal.
 Un cuarto algoritmo es el árbol de expansión, que es un subgrupo de la subred que incluye
todos los routers pero no contiene ciclos, si cada router conoce cuales de sus líneas
pertenecen al árbol de expansión, puede copiar el paquete de entrada difundido en todas
las líneas del árbol de expansión (excepto aquella por las que llegó). La gran desventaja de
este algoritmo que es los routers deben tener conocimiento sobre el árbol de expansión.
 El último algoritmo es denomina reenvío por ruta invertida, cuando llega un paquete
difundido a un router, éste lo revisa para ver si llegó por la línea normalmente usada para
enviar paquetes al “origen de la difusión”. De ser así hay excelentes posibilidades de que el
paquete difundido haya seguido la mejor ruta desde el router y, por lo tanto, sea la primer
copia en llegar al router. Si este es el caso, el router reenvía copias del paquete a todas las
líneas, excepto a aquellas por las que llegó. Sin embargo, si el paquete difundido llegó por
una línea diferente de la preferida, el paquete se descarta como probable duplicado. La
ventaja principal de este algoritmo es su eficiencia y fácil implementación, ya que no
requiere que los routers conozcan arboles de expansión ni listas de destinos o mapas de bits
o mecanismos especiales para detener el proceso como la inundación.

Multidifusión

Puede existir la necesidad de enviar mensajes a grupos bien definidos de tamaño numéricamente grade
de equipos pero pequeños en comparación con el tamaño de la red. El envío de mensajes a uno de tales
grupos se denomina multidifusión y para su uso se necesita administrar grupos de multidifusión. Se
necesita una manera de crear y destruir grupos y un mecanismo para que los procesos se unan a los
grupos y salgan de ellos. La forma de realizar esta tarea no le concierne al algoritmo de multidifusión, lo
que si le concierne es que cuando un proceso se una a un grupo, informe a su host de este hecho. Es
importante que los routers sepan cuáles de sus hosts perteneces a qué grupos.
Para realizar el enrutamiento por multidifusión, cada router calcula un árbol de expansión que cubre a
todos los demás routers de la subred. Cuando un proceso envía un paquete a un grupo, el primer router
en recibirlo examina su árbol de expansión y lo recorta, eliminando todas las líneas que conduzcan a
host que no sean miembros del grupo. Luego envía los paquetes de multidifusión a través del árbol de
expansión apropiado (el recortado).
Una desventaja potencial de este algoritmo es que no escala bien en redes grandes. Supongamos que
una red tiene n grupos, cada uno con un promedio de m miembros. Por cada grupo se deben almacenar
m árboles de expansión recortados, lo que da un total de m*n árboles (uno por cada router y por cada
grupo).
Una forma de solucionar este problema es utilizar árboles de núcleo, se calcula un solo árbol por cada
grupo con la raíz (núcleo) cerca de la mitad del grupo. Para enviar un mensaje de multidifusión un host
envía el mensaje al núcleo y de ahí se hace multidifusión. Aunque este árbol no será el óptimo, la
cantidad de árboles a almacenar se reduce a solo n (un árbol por grupo).
Sistemas Autónomos

Un Sistema Autónomo (Autonomous System, AS) es un conjunto de redes y routers IP que se


encuentran administrados por una sola entidad (o en algunas ocasiones varias) que cuentan con una
política común de definición de trayectorias para Internet.

Los Sistemas Autónomos se comunican entre sí mediante routers BGP y se intercambian el tráfico de
Internet que va de una red a la otra. A su vez cada Sistema Autónomo es como una Internet en
pequeño, ya que su rol se llevaba a cabo por una sola entidad, típicamente un Proveedor de Servicio de
Internet (ISP) o una gran organización con conexiones independientes a múltiples redes, las cuales se
apegaban a una sola y clara política de definición de trayectorias definida.

Técnicamente un Sistema Autónomo se define como “un grupo de redes IP que poseen una política de
rutas propia e independiente”. Esta definición hace referencia a la característica fundamental de un
Sistema Autónomo: realiza su propia gestión del tráfico que fluye entre él y los restantes Sistemas
Autónomos que forman Internet. Aun considerando que un ISP puede soportar múltiples sistemas
autónomos, Internet solo considera la política de definición de trayectorias establecida por el ISP. Por lo
tanto, el ISP deberá contar con un ASN registrado. Un número de AS o ASN se asigna a cada AS para ser
utilizado por el esquema de encaminamiento BGP, este número identifica de manera única a cada red
dentro del Internet.

Tipos de Sistemas Autónomos

Los sistemas autónomos pueden agruparse en tres categorías, dependiendo de sus conexiones y modo
de operación.

 SA stub: se conecta únicamente con un sistema autónomo.


 SA de tránsito: se conecta con varios sistemas autónomos y además permite que se
comuniquen entre ellos
 SA multihomed: se conecta con varios sistemas autónomos, pero no soporta el tráfico de
tránsito entre ellos

Interior Gateway Protocol

El Protocolo de Pasarela Interno, hace referencia a los protocolos usados dentro de un sistema
autónomo. Los protocolos de pasarela internos se pueden dividir en dos categorías: Protocolo de
enrutamiento Vector Distancia y Protocolo de enrutamiento Estado de Enlace

 Protocolo de enrutamiento por vector distancia


o RIP (Routing Information Protocol): El Protocolo de encaminamiento de información, es
un protocolo de puerta de enlace interna o IGP (Internal Gateway Protocol) utilizado por
los routers, aunque también pueden actuar en equipos, para intercambiar información
acerca de redes IP.

En la actualidad existen tres versiones diferentes de RIP, las cuales son:


RIPv1: No soporta subredes ni CIDR. Tampoco incluye ningún mecanismo de
autentificación de los mensajes. No se usa actualmente.

RIPv2: Soporta subredes, CIDR y VLSM. Soporta autenticación utilizando uno de


los siguientes mecanismos: no autentificación, autentificación mediante
contraseña, autentificación mediante contraseña codificada.

RIPng: RIP para IPv6.

Funcionamiento RIP

RIP V1 utiliza udp/520 para enviar sus mensajes en propagación Broadcast. RIP V2 utiliza
propagación Multicast 224.0.0.9.

RIP calcula el camino más corto hacia la red de destino usando el algoritmo del vector
de distancias. La distancia o métrica está determinada por el número de saltos de router
hasta alcanzar la red de destino.

RIP tiene una distancia administrativa de 120 (la distancia administrativa indica el grado
de confiabilidad de un protocolo de enrutamiento, por ejemplo EIGRP tiene una
distancia administrativa de 90, lo cual indica que a menor valor mejor es el protocolo
utilizado)

RIP no es capaz de detectar rutas circulares, por lo que necesita limitar el tamaño de la
red a 15 saltos. Cuando la métrica de un destino alcanza el valor de 16, se considera
como infinito y el destino es eliminado de la tabla (inalcanzable).

La métrica de un destino se calcula como la métrica comunicada por un vecino más la


distancia en alcanzar a ese vecino. Teniendo en cuenta el límite de 15 saltos
mencionado anteriormente. Las métricas se actualizan sólo en el caso de que la métrica
anunciada más el coste en alcanzar sea estrictamente menor a la almacenada. Sólo se
actualizará a una métrica mayor si proviene del enrutador que anunció esa ruta.

Las rutas tienen un tiempo de vida de 180 segundos. Si pasado este tiempo, no se han
recibido mensajes que confirmen que esa ruta está activa, se pone inactiva asignándole
una métrica de 16 (temporizador de invalidez). Estos 180 segundos, corresponden a 6
intercambios de información. Si pasan 240s de la entrada de la ruta en la tabla de
encaminamiento y no se han recibido actualizaciones para esta ruta, se elimina
(temporizador de purga).

Ventajas e Inconvenientes

En comparación con otros protocolos de enrutamiento, RIP es más fácil de configurar.


Además, es un protocolo abierto, soportado por muchos fabricantes.

Por otra parte, tiene la desventaja que, para determinar la mejor métrica, únicamente
toma en cuenta el número de saltos (por cuántos routers o equipos similares pasa la
información); no toma en cuenta otros criterios importantes, como por ejemplo ancho
de banda de los enlaces. Por ejemplo, si tenemos una métrica de 2 saltos hasta el
destino con un enlace de 64 kbps y una métrica de 3 saltos, pero con un enlace de 2
Mbps, lamentablemente RIP tomara el enlace de menor número de saltos aunque sea el
más lento.

Mensajes RIP

Los mensajes RIP pueden ser de dos tipos.

 Petición: Enviados por algún enrutador recientemente iniciado que solicita


información de los enrutadores vecinos.
 Respuesta: mensajes con la actualización de las tablas de enrutamiento. Existen
tres tipos:
 Mensajes ordinarios: Se envían cada 30 segundos. Para indicar que el
enlace y la ruta siguen activos. Se envía la tabla de routeo completa.
 Mensajes enviados como respuesta a mensajes de petición.
 Mensajes enviados cuando cambia algún coste. Se envía toda la tabla
de routeo.

Los mensajes tienen una cabecera que incluye el tipo de mensaje y la versión del
protocolo RIP, y un máximo de 25 entradas RIP de 20 bytes.

 Las entradas en RIPv1 contienen la dirección IP de la red de destino y la métrica.


 Las entradas en RIPv2 contienen la dirección IP de la red de destino, su máscara,
el siguiente enrutador y la métrica. La autentificación utiliza la primera entrada
RIP.

 Protocolo de enrutamiento por estado de enlace:


o OSPF (Open Shortest Path First):OSPF, es un protocolo de enrutamiento jerárquico de
pasarela interior o IGP (Interior Gateway Protocol), que usa el algoritmo Dijkstra enlace-
estado (LSA - Link State Algorithm) para calcular la ruta más corta posible. Usa cost
como su medida de métrica. Además, construye una base de datos enlace-estado (link-
state database, LSDB) idéntica en todos los enrutadores de la zona.

OSPF es probablemente el tipo de protocolo IGP más utilizado en grandes redes. Puede
operar con seguridad usando MD5 para autentificar a sus puntos antes de realizar nuevas
rutas y antes de aceptar avisos de enlace-estado. Como sucesor natural de RIP, acepta VLSM
y CIDR desde su inicio. A lo largo del tiempo, se han ido creando nuevas versiones, como
OSPFv3 que soporta IPv6 o como las extensiones multidifusión para OSPF (MOSPF), aunque
no están demasiado extendidas. OSPF puede "etiquetar" rutas y propagar esas etiquetas por
otras rutas.

Una red OSPF se puede descomponer en regiones (áreas) más pequeñas. Hay un área
especial llamada área backbone que forma la parte central de la red y donde hay otras áreas
conectadas a ella. Las rutas entre diferentes áreas circulan siempre por el backbone, por lo
tanto todas las áreas deben conectar con el backbone. Si no es posible hacer una conexión
directa con el backbone, se puede hacer un enlace virtual entre redes.

Los routers en el mismo dominio de multidifusión o en el extremo de un enlace punto-a-


punto forman enlaces cuando se descubren los unos a los otros. En un segmento de red
Ethernet los routers eligen a un router designado (Designated Router, DR) y un router
designado secundario (Backup Designated Router, BDR) que actúan como hubs para reducir
el tráfico entre los diferentes routers. OSPF puede usar tanto multidifusiones como
unidifusiones para enviar paquetes de bienvenida y actualizaciones de enlace-estado. Las
direcciones de multidifusiones usadas son 224.0.0.5 y 224.0.0.6. Al contrario que RIP o BGP,
OSPF no usa ni TCP ni UDP, sino que usa IP directamente.

Tráfico de enrutamiento

OSPF mantiene actualizada la capacidad de enrutamiento entre los nodos de una red
mediante la difusión de la topología de la red y la información de estado-enlace de sus
distintos nodos. Esta difusión se realiza a través de varios tipos de paquetes:

 Paquetes Hello (tipo 1). Cada router envía periódicamente a sus vecinos un paquete
que contiene el listado de vecinos reconocidos por el router, indicando el tipo de
relación que mantiene con cada uno.

 Paquetes de descripción de base de datos estado-enlace (DataBase Description,


DBD) (tipo 2). Se emplean en el intercambio de base de datos enlace-estado entre
dos nodos, y permiten informar al otro nodo implicado en la sincronización acerca
de los registros contenidos en la LSDB propia, mediante un resumen de estos.

 Paquetes de estado-enlace o Link State Advertisements (LSA). Los cambios en el


estado de los enlaces de un router son notificados a la red mediante el envío de
mensajes LSA. Dependiendo del estatus del router y el tipo de información
transmitido en el LSA, se distinguen varios formatos:
 Router-LSA.
 Network-LSA.
 Summary-LSA.
 dirigidos a un router fronterizo de red (Inter Area)
 dirigidos a una subred interna (Intra Area)
 AS-External-LSA (LSA de rutas externas a la red).
 Link-LSA.

Enrutamiento, routers y áreas

OSPF organiza un sistema autónomo (AS) en áreas. Estas áreas son grupos lógicos de routers
cuya información se puede resumir para el resto de la red. Un área es una unidad de
enrutamiento, es decir, todos los routers de la misma área mantienen la misma información
topológica en su base de datos de estado-enlace (Link State Database): de esta forma, los
cambios en una parte de la red no tienen por qué afectar a toda ella, y buena parte del
tráfico puede ser "parcelado" en su área.
Routers

 Router Internoco es capaz de enrutar cualquier paquete destinado a cualquier


punto del área en el que se encuentra (enrutamiento intra-area).
 Router de Backbone es un router que se encuentra en el área 0 o de backbone.

Para el enrutamiento entre distintas áreas del AS (enrutamiento inter-area) y desde el


AS hacia el exterior (enrutamiento exterior), OSPF utiliza routers especiales que
mantienen una información topológica más completa que la del área en la que se
sitúan. Así, pueden distinguirse:

 Routers fronterizos de área o ABRs (Area Border Routers), que mantienen la


información topológica de su área y conectan esta con el resto de áreas,
permitiendo enrutar paquetes a cualquier punto de la red (inter-area routing).

 Routers fronterizos del AS o ASBRs (Autonomous System Border Routers), que


permiten encaminar paquetes fuera del AS en que se alojen, es decir, a otras redes
conectadas al Sistema Autónomo o resto de Internet (external routing).

Un paquete generado en la red será enviado, de forma jerárquica, a través del área si su
destinación es conocida por el emisor; al ABR del área correspondiente si no la destinación
no es intra-area; este lo enviará al router del área de destino, si este se encuentra en el AS;
o al ASBR si la destinación del paquete es exterior a la red (desconocida por el ABR).

Tipos de Áreas

 Área Backbone

El backbone, también denominado área cero, forma el núcleo de una red OSPF. Es la
única área que debe estar presente en cualquier red OSPF, y mantiene conexión, física o
lógica, con todas las demás áreas en que esté particionada la red. La conexión entre un
área y el backbone se realiza mediante los ABR, que son responsables de la gestión de
las rutas no-internas del área (esto es, de las rutas entre el área y el resto de la red).

 Área stub

Un área stub es aquella que no recibe rutas externas. Las rutas externas se definen
como rutas que fueron inyectadas en OSPF desde otro protocolo de enrutamiento. Por
lo tanto, las rutas de segmento necesitan normalmente apoyarse en las rutas
predeterminadas para poder enviar tráfico a rutas fuera del segmento.

 Área not-so-stubby

También conocidas como NSSA, constituyen un tipo de área stub que puede importar
rutas externas de sistemas autónomos y enviarlas al backbone, pero no puede recibir
rutas externas de sistemas autónomos desde el backbone u otras áreas.
Mensajes

Tipo de mensaje Descripción


Hello Descubre quienes son los vecinos
Link State Update Proporciona los costos del emisor a sus vecinos
Link State Ack Confirma la recepción de la actualización del estado del enlace
Database Description Anuncia qué actualizaciones tiene el emisor
Link State Request Solicita información del socio

Paquete Hello
IP Header 20 bytes
OSPF Header 24 bytes
Máscara de red 4 bytes
Options Router Priority
Intervalo de Hello 2 bytes
Intervalo de Router muerto 4 bytes
Router designado 4 bytes
Router designado Backup 4 bytes
1er Nid (ID vecino) 4 bytes

 IPHeader (son 5 palabras de 4 bytes cada una)


 Intervalo de Hello es el tiempo que el router va a esperar antes de hacerle hello a
sus vecinos par aver si los enlaces estan bien.
 Los routers tiene 3 bases de datos, de rutas, de vecinos y de topologías

Topologías Soportadas

 Punto a punto (Master – Slave) (conexión serial entre dos routers, DTE y DCE)

Master slave

 Multi-acceso con Broadcast (La mayoría de las LAN)

Router designado

Switch Router designado de backup

Router que pasa a ser de backup en caso de que caiga el designado

El router designado organiza la recepción y el envío de actualizaciones y SLA. Todos


los routers envían sus actualizaciones al designado y el las reparte.
 Multi-acceso sin broadcast (La mayoría de las WAN de paquetes conmutados)

Hub

Utilizan conexiones seriales que no se comportan como master-slave. (se comunican


indirectamente atreves del hub).

Exterior Gateway Protocol

El Exterior Gateway Protocol (EGP) es un protocolo estándar usado para intercambiar información de
enrutamiento entre sistemas autónomos. Los routers EGP sólo pueden retransmitir información de
accesibilidad para las redes de su AS. El router debe recoger esta información, habitualmente por medio
de un IGP, usado para intercambiar información entre routers del mismo AS.

Se basa en el sondeo periódico empleando intercambios de mensajes "Hello/I Hear You", para
monitorizar la accesibilidad de los vecinos y para sondear si hay solicitudes de actualización. Restringe
los routers exteriores al permitirles anunciar sólo las redes de destino accesibles en el AS del router. De
esta forma, un router exterior que usa EGP pasa información a sus vecinos EGP pero no anuncia la
información de accesibilidad de estos (los routers son vecinos si intercambian información de
encaminamiento) fuera del AS.

Características

 Soporta un protocolo NAP ("Neighbor Acquisition Protocol”). Dos routers se pueden considerar
vecinos si están conectadas por una red que es transparente para ambas. No especifica la forma
en que un router decide inicialmente que quiere ser vecina de otra. Para convertirse en vecina,
debe enviar un mensaje "Acquisition confirm" como respuesta a un Acquisition Request. Este
paso es necesario para obtener información de encaminamiento de otro router.
 Soporta un protocolo NR ("Neighbor Reachability"). El router lo usa para mantener información
en tiempo real sobre la accesibilidad de sus vecinos. El protocolo EGP proporciona dos tipos de
mensajes para ese fin: un mensaje Hello y un mensaje I Hear You (respuesta a Hello).
 Soporta mensajes de actualización (o mensajes NR) que llevan información de encaminamiento.
No se requiere ningún router para enviar mensajes NR a otro router, excepto como respuesta a
una petición de sondeo ("poll request").

Tipos

Para realizar estas tres funciones básicas, EGP define 10 tipos de mensajes:

 Acquisition Request: solicita que un router se convierta en vecino.


 Acquisition Confirm: respuesta afirmativa a un "acquisition request".
 Acquisition Refuse: respuesta negativa a un "acquisition request".
 Cease Request: solicitud de terminación de la relación de vecindad.
 Cease Confirm: confirmación para que cesen las peticiones.
 Hello: solicitud de respuesta e un vecino, si está vivo.
 I Hear You: respuesta el mensaje Hello.
 Poll Request: solicitud de la tabla de encaminamiento de la red.
 Routing Update: información de accesibilidad de la red.
 Error: respuesta a un mensaje incorrecto.

EGP no se puede usar como algoritmo de encaminamiento pero si BGP.

Border Gateway Protocol

El BGP o Border Gateway Protocol es un protocolo mediante el cual se intercambia información de


encaminamiento entre sistemas autónomos. Por ejemplo, los ISP registrados en Internet suelen
componerse de varios sistemas autónomos y para este caso es necesario un protocolo como BGP.

Entre los sistemas autónomos de los ISP se intercambian sus tablas de rutas a través del protocolo BGP.
Este intercambio de información de encaminamiento se hace entre los routers externos de cada sistema
autónomo. Estos routers deben soportar BGP. Se trata del protocolo más utilizado para redes con
intención de configurar un EGP (external gateway protocol)

La forma de configurar y delimitar la información que contiene e intercambia el protocolo BGP es


creando lo que se conoce como sistema autónomo. Cada sistema autónomo (AS) tendrá conexiones o,
mejor dicho, sesiones internas (iBGP) y además sesiones externas (eBGP).

El protocolo de gateway fronterizo (BGP) es un ejemplo de protocolo de gateway exterior (EGP). BGP
intercambia información de encaminamiento entre sistemas autónomos a la vez que garantiza una
elección de rutas libres de bucles. Es el protocolo principal de publicación de rutas utilizado por las
compañías más importantes de ISP en Internet. BGP4 es la primera versión que admite encaminamiento
entre dominios sin clase (CIDR) y agregado de rutas. A diferencia de los protocolos de Gateway internos
(IGP), como RIP, OSPF y EIGRP, no usa métricas como número de saltos, ancho de banda, o retardo. En
cambio, BGP toma decisiones de encaminamiento basándose en políticas de la red, o reglas que utilizan
varios atributos de ruta BGP. Estas políticas deben tenerse en cuenta dado que un SA podría desear no
permitir el paso de paquetes a través de él, si son ajenos a él (no ser atravesado como parte de una ruta
de un paquete en internet).

Algunos ejemplos de políticas:

 Ningún tránsito a través de ciertos sistemas autónomos.


 Nunca ponga Irak en una ruta que inicie con Pentágono.
 No pasar por Estados Unidos para llegar de la Columbia Británica a Ontario.
 Transite por Albania sólo si no hay otra alternativa al destino.
 El tráfico que empieza o termina en IBM no debe transitar por Microsoft.
Tipos de Redes BGP

 Resde Stub, solo tiene una conexión con el grafo BGP. No pueden utilizarse para transportar el
tráfico porque no existe nadie del otro lado.
 Redes Multiconectadas, podrían usarse para transportar el tráfico excepto que lo rechacen.
 Redes de tránsito, están dispuestas a ocuparse de paquetes de terceros, posiblemente con
algunas restricciones y normalmente por pago.

BGP utiliza conexiones TCP y opera en forma similar a los algoritmos de vector distancia, aunque son
conocidos como algoritmos de vector ruta (porque en vez de guardar la distancia, guardan la ruta
utilizada y, en lugar de pasarle a cada vecino el costo de cada destino, le pasa las rutas que utiliza para
llegar).

Luego que un router conoce todas las rutas de sus vecinos, las examina para ver cuál es la mejor para un
destino determinado, eliminado aquellas rutas que lo contengan a él o que violen cualquiera de sus
políticas. De las restantes se elije la de menor distancia.

BGP solo reconoce routers de borde, cualquier router interno a un SA no es reconocido por BGP.
Supongamos los SA con los números 100, 200 y 300. El SA 200 tiene routers de borde, uno que lo
conecta a 100 y otro en el otro extremo que lo conecta a 300, los routers de 200 estan interconectados
entre sí mediante una LAN que funciona con OSPF.

Cuando el router de borde de 100 quiera enviar algo a 300, primero enviará los datos a través del
protocolo BGP al router de 200 con el cual está directamente conectado, este router enviará datos a
través de su LAN mediante el protocolo OSPF hasta su otro router de borde, el cual mediante el
protocolo BGP enviará los datos a 300. (Tener en cuenta que los routers de borde tiene cargados 2
protocolos, el BGP y cualquiera que se use para regular el tráfico de la LAN interna, OSPF, RIP, etc.)

Temas del programa no abordados: Encaminamiento en la Internet (Supongo que se usa BGP).

Routers

El router, direccionador, ruteador o encaminador es un dispositivo de hardware para interconexión de


red de ordenadores que opera en la capa tres (nivel de red). Un router es un dispositivo para la
interconexión de redes informáticas que permite asegurar el enrutamiento de paquetes entre redes o
determinar la ruta que debe tomar el paquete de datos.

Funciones del nivel de Red

 Elegir la ruta óptima de los paquetes


 Controlar y evitar la congestión
 Controlar que el usuario no abuse del servicio
 Resolver (‘mapear’) las direcciones de nivel de red con las de nivel de enlace (p. ej. En LANs).
 Los routers son útiles para dividir las LAN en dominios de difusión (broadcast) separados, y se
debe utilizar al conectar estas LAN sobre una WAN.
 Tienen interfaces WAN y LAN.
 Las tecnologías WAN se suelen usar para conectar routers.
 Routers se comunican entre sí mediante conexiones WAN, y conectan redes dentro de sistemas
locales, así como el backbone de Internet.
 Operan en la capa 3, tomando decisiones basadas en direcciones de red.
 Las dos funciones principales:
o Determinación de las mejores rutas para los paquetes de datos entrantes.
o Conmutación de los paquetes a la interfaz saliente correcta.
 Se basan en la construcción de de tablas de enrutamiento y en el intercambio de la información
de red que éstas contienen con otros routers.

Fuentes de configuración

 ¿Desde donde se puede configurar un router?


o Desde la terminal de consola (un computador conectado al router a través de un puerto
de consola) durante su instalación.
o Mediante un módem utilizando el puerto auxiliar.
o Desde las Terminales Virtuales 0-4, después de su instalación en la red.
o Desde un servidor TFTP en la red.
Componentes internos de configuración de un router

 RAM/DRAM: Almacena tablas de enrutamiento, la caché ARP, la caché de conmutación rápida,


el búffering de paquetes (RAM compartida) y las colas de espera de paquetes. Memoria de
ejecución para el archivo de configuración de un router. El contenido se pierde si se apaga o se
reinicia.

 NVRAM: La RAM no volátil almacena la copia de respaldo del archivo de configuración de inicio
del router.
 Flash: ROM borrable y reprogramable que retiene la imagen y el microcódigo del sistema
operativo. Permite actualizaciones de SW.
 ROM: Diagnósticos de encendido, un programa bootstrap y software mínimo del sistema
operativo.
 Interfaces: Sirven como conexiones de red, en la motherboard o en módulos de interfaz
separados, a través de las cuales los paquetes entran y salen de un router.

Relación de términos

 Cuando se conecta un route, la ROM ejecuta bootstrap. Este programa realiza algunas pruebas y
después carga el sw IOS en memoria.
 El procesador de comandos (EXEC) recibe y ejecutacomandos.
 El router utiliza la RAM para almacenar un archivo de configuración activo y las tablas de mapas
de red y las listas de direcciones de enrutamiento.
 En la NVRAM se guarda una copia de manera permanente del archivo de configuración; cada vez
que se inicializa un router se accede a este archivo y se carga en la memoria principal.
 El archivo de configuración contiene la información global, de proceso y de interfaz que afecta al
funcionamiento del router y sus puertos de interfaz.
 Normalmente, la imagen del IOS se ejecuta desde la RAM y se carga desde una de las distintas
fuentes de entrada.

Modos de router

 Modo EXEC usuario: Visualizar información pero sin realizar cambios.


o Examen limitado del router.
o router >
 Modo EXEC privilegiado: Soporta los comandos de depuración y prueba, el examen detallado
del router, la manipulación de los archivos de configuración, y el acceso a los modos de
configuración.
o Examen detallado del router,
o depuración y prueba.
o router #
 Modo de configuración inicial (setup): Presenta en la consola un diálogo interactivo basado en
indicadores que ayuda al nuevo usuario a crear una configuración básica inicial.
 Modo de configuración global: Implementa poderosos comandos de una línea que ejecutan
tareas simples de configuración.
o Comandos de configuración simple
o router (config) #
 Otros modos de configuración: Permiten configuraciones más detalladas de múltiples líneas.
o Modo RXBOOT: Modo de mantenimiento que se puede usar, entre otras cosas, para
recuperar contraseñas perdidas
o Protocolos de enrutamiento
 router (config-router) #
o Modo de configuración de interfaz
 Configuración de las direcciones IP y máscaras de subred
 router (config-if) #
o Modo de configuración de subinterfaz
 router (config-subif) #

Configuración Básica de un router

 Nombrar al router.
 Colocar una contraseña de acceso al router y habilitar el telnet si se desea.
 Configurar las interfaces Ethernet.
o Asignarles una IP y una máscara de subred
o Levantarlas.
 Configurar las interfaces seriales
o Asignarles una IP y una máscara de subred.
o Si es el DCE colocar el Clock rate a utilizar.
o Levantarlas.
 Tablas de enrutamiento
o Estática
 Agregar las rutas manualmente indicando interfaz de salida y prox. Salto para
cada IP de red.
o Dinámicamente
 Habilitar el protocolo de enrutamiento (RIP).
 Agregar a todas las redes directamente conectadas al router.

Congestión

Cuando hay demasiados paquetes presentes en la subred o en una parte de ella, hay una degradación
del desempeño. Esta situación se denomina congestión. Cuando la cantidad de paquetes en la subred
esta dentro de su capacidad de conducción, todos se entregan (salvo una pequeña parte por errores de
transmisión). Sin embargo a medida que aumenta el tráfico los routers ya no pueden manejarlo y
comienzan a perder paquetes, con mucho tráfico el desempeño se desploma y casi no hay entrega de
paquetes.
La congestión puede ocurrir por varias razones. Si de manera repentina comienzan a llegar cadenas de
paquetes por tres o cuatro líneas de entrada y todas necesitan la misma línea de salida, se generará una
cola y si no existe memoria suficiente para almacenarlos, muchos de ellos se perderán. Los procesadores
lentos también pueden causar congestión dado que demoran mucho en realizar sus tareas y las colas
aumentan. Las líneas de poco ancho de banda también podrían causar congestión.
Actualizar una parte del sistema (memoria, procesador, ancho de banda, etc.) simplemente mejora un
poco pero mueve el cuello de botella hacia otra parte, lo que se necesita es una mejora equilibrada del
sistema.
Cabe aclarar la diferencia entre el control de congestión y el control de flujo. El control de congestión se
ocupa de asegurar que la subred sea capaz de transportar el tráfico ofrecido, es un asunto global. En
contraste, el control de flujo se relaciona con el tráfico punto a punto entre un emisor y un receptor. Su
tarea es asegurar que un emisor rápido no pueda transmitir datos de manera continua a una velocidad
mayor que la que puede absorber el receptor.

Principios generales del control de congestión

Muchos problemas de los sistemas complejos pueden analizarse desde el punto de vista de una teoría
de control. Este método conduce a dividir a todas las soluciones en dos grupos:
 de ciclo abierto: Las soluciones de ciclo abierto intentan resolver problemas mediante un buen
diseño, para asegurarse en primer lugar de que estos no ocurran. Una vez que el sistema está en
funcionamiento, no se hacen correcciones a medio camino y toman decisiones
independientemente del estado actual de la red (su objetivo es reducir al mínimo la congestión
desde el inicio, en lugar de permitir que ocurra y reaccionar después).
 de ciclo cerrado: En contraste las soluciones de ciclo cerrado se basan en el concepto de un ciclo
de realimentación. Este método tiene tres partes:
o Monitorear el sistema y detectar cuándo y dónde ocurren las congestiones: Pueden
utilizarse varias métricas como ser, el % de paquetes descartados por falta de espacio en
buffers, longitud promedio de las colas, % de paquetes cuyo temporizador finaliza y se
tiene que retrasmitir, retardo promedio de paquetes, etc.
o Pasar esta información a lugares en los que puedan llevarse a cabo acciones: La
información puede debe pasarse desde el punto en que se detecta al punto en que
puede hacerse algo para solucionar el problema. Por supuesto que el envío de esta
información en forma de paquetes, aumenta aun más la carga en el momento en que la
red se encuentra saturada. Pero existen soluciones como que cada paquete de
información lleve un bit que indique si existe o no congestión (cuando un router detecta
congestión, comienza a encender el bit de todos los paquetes que salen de él).
o Ajustar la operación del sistema para corregir el problema: Para brindar una solución al
problema, existen dos métodos los cuales son, aumentar los recursos o disminuir la
cargar. Aumentar los recursos podría implicar la activación de una línea de
comunicación auxiliar en caso de falta de ancho de banda. Disminuir la carga podría
implicar que se solicite a los emisores una disminución de la velocidad en a la que
envían los paquetes, o utilizar rutas alternativas y no siempre la ruta óptima, junto con
soluciones más drásticas como negar el servicio a ciertos usuarios.

Como antes dijimos podemos clasificar las soluciones en 2 tipos:


 Ciclo abierto: A su vez pueden clasificarse en dos
o Actúan en el origen.
o Actúan en el destino.
 Ciclo cerrado: A su vez pueden clasificarse en dos
o Retroalimentación explícita: Regresan paquetes desde el punto de congestión para
avisar al origen.
o Retroalimentación implícita: El origen deduce la existencia de una congestión haciendo
observaciones locales, como el tiempo necesario para que regresen las confirmaciones
de recepción.

Políticas de prevención de congestión

 Capa de enlace de datos


o Política de retransmisiones: Tiene que ver con la velocidad con la que un emisor
temporiza y con lo que retransmitirá al finalizar un temporizador.
o Política de almacenamiento en caché de paquetes fuera de orden: Si los receptores
descartan de manera rutinaria todos los paquetes que llegan fuera de orden,
posteriormente se tendrá que enviar otra vez lo que genera una carga extra.
o Política de confirmación de recepción: Afecta a la congestión, si la recepción de cada
paquete se confirma de inmediato, los paquetes de confirmación de recepción generan
tráfico extra.
o Política de control de flujo: Un ejemplo podría ser una ventana pequeña, que reduzca la
tasa de datos y permita atacar la congestión.
 Capa de red
o Circuitos virtuales vs. Datagramas en la subred: La elección de cual se va a utilizar
afecta a la congestión dado que muchos algoritmos de control de congestión sólo
funcionan con subredes de circuitos virtuales.
o Política de encolamiento y servicio de paquetes: Los router deben tener una cola por
línea de entrada y no una o varias colas por cada línea de salida, también está
relacionado con el orden en que procesan los paquetes.
o Política de descarte de paquetes: Indica qué paquete se descartará cuando no exista
espacio.
o Algoritmo de enrutamiento: Un buen algoritmo de enrutamiento puede aliviar la
congestión si distribuye el tráfico entre las líneas menos congestionadas.
o Administración de tiempo de vida del paquete: Tiempo que existe un paquete antes de
ser descartado, si es muy corto genera retransmisiones, si es muy largo pueden dar
vueltas por la red mucho tiempo.
 Capa de transporte (IDEM enlace de datos, salvo la nro. 5)
o Política de retransmisiones.
o Política de almacenamiento en caché de paquetes fuera de orden.
o Política de confirmación de recepción.
o Política de control de flujo.
o Determinación de terminaciones de temporizador: La determinación del intervalo de
expiración es más difícil que en la capa de enlace de datos, dado que el tiempo de
tránsito a través de la red es menos predecible que el tiempo de tránsito por un cable
entre dos puntos de una red. Si este tiempo es muy corto, se harán retransmisiones
innecesarias. Si es muy largo, se reducirá la congestión, pero el tiempo de respuesta se
verá afectado cada vez que se pierda un paquete (porque habrá que esperar mucho
hasta el reenvío).

Algoritmos de Control de Congestión

Subredes de circuitos virtuales

Una técnica que se utiliza es el control de admisión, una vez detectada la congestión, no se realizan
nuevos circuitos virtuales hasta que esta haya desaparecido. También podrían crearse nuevos circuitos
virtuales por puntos que no estén congestionados (aunque no sean los óptimos).

Subredes de datagramas

Cada router monitoreo el uso de sus líneas de salida y otros recursos. Si el monitoreo de alguno de estos
elementos rebaza un umbral, este elemento (por ej. La línea de salida) queda en estado de
“advertencia”, cada paquete nuevo que llega se revisa en qué estado se encuentra su línea de salida y se
realizan algunas de las siguientes acciones:

 Bit de advertencia: Un bit dentro del paquete indica el estado de la línea (por ejemplo si esta
activo indica congestión), este bit puede ser modificado por cualquier router intermedio que
detecte congestión. Al llegar al destino, se revisa el estado del bit y se lo copia en el paquete de
confirmación de recepción, cuando este llega al origen, el mismo revisa el bit y en caso de estar
encendido disminuye la velocidad con la que transmite los datos.
 Paquetes reguladores: El router que encuentra congestión regresa un paquete regulador al
origen para indicarle que reduzca el porcentaje de tráfico enviado. Si durante un tiempo no
llegan paquetes reguladores, esto indica que el host puede comenzar a enviar normalmente los
datos.
 Paquetes reguladores salto por salto: Si las distancias entre el origen del mensaje y el nodo en
el que se detectó congestión son muy grandes, el envío de un paquete regulador al origen no
siempre es lo óptimo, dado que hasta que este llegue, se seguirán enviando datos a gran
velocidad. La alternativa es que el paquete tenga efecto en cada salto que dé en la red, esto
reduce de manera inmediata la congestión en el punto más problemático, pero genera un gran
uso de buffers por parte de los routers que deben enviar más lento los datos.
Desprendimiento de carga

Consiste en desechar paquetes cuando existe una congestión severa, el problema está en saber qué
paquetes desechar. Para poner en práctica una buena política de descarte, las aplicaciones deben
etiquetar los paquetes para marcar su importancia. La detección temprana aleatoria es una algoritmo
que ayuda a evitar la congestión, se basa en el hecho de que algunos protocolos de transporte como
TCP, reaccionan a la pérdida de paquetes disminuyendo la cantidad de paquetes que se envían en el
origen (lo hacen porque están sobre una conexión segura y la mayoría de las pérdidas de paquetes se
deben al desbordamiento de buffers). El algoritmo consiste en eliminar paquetes de forma aleatoria de
las colas que se encuentre en un nivel mayor al normal.

Control de fluctuación

La fluctuación es la variación entre el tiempo de llegada de los paquetes. En transmisiones constantes de


audio y video, no es de gran importancia si los paquetes demoran 20 mseg. o 30 mseg. siempre y
cuando no existan fluctuaciones. El algoritmo de control de fluctuaciones procesa en un router, primero
aquellos paquetes que estén atrasados (dejando en cola aquellos paquetes que están adelantados), su
objetivo es reducir al máximo las fluctuaciones.

Calidad de Servicio

QoS o Calidad de Servicio (Quality of Service, en inglés) son las tecnologías que garantizan la transmisión
de cierta cantidad de datos en un tiempo dado (throughput). Calidad de servicio es la capacidad de dar
un buen servicio. Es especialmente importante para ciertas aplicaciones tales como la transmisión de
video o voz.

Problemas en redes de datos conmutados

Muchas cosas le ocurren a los paquetes desde su origen al destino, resultando los siguientes problemas
vistos desde el punto de vista del transmisor y receptor:

 Paquetes sueltos: Los ruteadores pueden fallar en liberar algunos paquetes si ellos llegan
cuando los buffers ya están llenos. Algunos, ninguno o todos los paquetes pueden quedar
sueltos dependiendo del estado de la red, y es imposible determinar qué pasará de antemano.
La aplicación del receptor puede preguntar por la información que será retransmitida
posiblemente causando largos retardos a lo largo de la transmisión.
 Retardos: Puede ocurrir que los paquetes tomen un largo periodo de tiempo en alcanzar su
destino, debido a que pueden permanecer en largas colas o tomen una ruta menos directa para
prevenir la congestión de la red. En algunos casos, los retardos excesivos pueden inutilizar
aplicaciones tales como VoIP o juegos en línea.
 Jitter: Los paquetes del transmisor pueden llegar a su destino con diferentes retardos. Un
retardo de un paquete varía impredeciblemente con su posición en las colas de los ruteadores a
lo largo del camino entre el transmisor y el destino. Esta variación en retardo se conoce como
jitter y puede afectar seriamente la calidad del flujo de audio y/o vídeo.
 Entrega de paquetes fuera de orden: Cuando un conjunto de paquetes relacionados entre sí
son encaminados a Internet, los paquetes pueden tomar diferentes rutas, resultando en
diferentes retardos. Esto ocasiona que los paquetes lleguen en diferente orden de como fueron
enviados. Este problema requiere un protocolo que pueda arreglar los paquetes fuera de orden
a un estado isócrono una vez que ellos lleguen a su destino. Esto es especialmente importante
para flujos de datos de vídeo y VoIP donde la calidad es dramáticamente afectada tanto por
latencia y perdida de sincronía.
 Errores: A veces, los paquetes son mal dirigidos, combinados entre sí o corrompidos cuando se
encaminan. El receptor tiene que detectarlos y justo cuando el paquete es liberado, pregunta al
transmisor para repetirlo así mismo.

Requerimientos

Un flujo es un conjunto de paquetes que van dese un origen a un destino. En una red orientada a la
conexión, todos los paquetes que pertenezcan a un flujo siguen la misma ruta; en una red sin conexión,
pueden seguir diferentes rutas. La necesidad de cada flujo se puede caracterizar por cuatro parámetros
principales: Confiabilidad, Retardo, Fluctuación y Ancho de Banda. Estos parámetros en conjunto
determinan la QoS que el flujo requiere.

Aplicación Confiabilidad Retardo Fluctuación Ancho de Banda


Correo electrónico Alta Bajo Baja Baja
Transferencia de archivos Alta Bajo Baja Media
Acceso a web Alta Medio Baja Media
Inicio de sesión remoto Alta Medio Media Baja
Audio bajo demanda Baja Bajo Alta Media
Video bajo demanda Baja Bajo Alta Alto
Telefonía Baja Alto Alta Baja
Videoconferencia Baja Alto Alta Alto

Técnicas para alcanzar una buena calidad de servicio

No existe una sola técnica que permita alcanzar una buena calidad de servicio, por lo que muchas veces
se combinan varias de ellas. A continuación se describen algunas técnicas que permiten mejorar la QoS.

Sobreaprovisionamiento

Una solución fácil es proporcionar la suficiente capacidad de router, espacio de buffer y ancho de banda
como para que los paquetes fluyan con facilidad. El problema con esta solución es que es costosa.

Almacenamiento en buffer

Los flujos pueden almacenar en el buffer en el lado del receptor antes de ser entregados. Almacenarlos
en el buffer no afecta la confiabilidad o el ancho de banda, e incrementa el retardo, pero atenúa la
fluctuación. Para el video o audio bajo demanda, la fluctuación es el problema principal, por lo tanto,
esta técnica es muy útil.

Modelado de tráfico

El modelado de tráfico consiste en regular la tasa promedio (y las ráfagas) de la transmisión de los datos.
Cuando se establece una conexión, el usuario y la subred (es decir, el cliente y la empresa portadora)
acuerdan cierto patrón de tráfico (es decir, forma) para este circuito. Algunas veces esto se llama
“acuerdo de nivel de servicio”. En tanto el cliente cumpla con su parte del contrato y sólo envíe los
paquetes acordados, la empresa portadora promete entregarlos de manera oportuna. Estos acuerdos
son muy importantes para transferencias en tiempo real que tienen rigurosos requerimientos de QoS. La
empresa portadora controlará que el cliente cumpla con el acuerdo.

Algoritmo de cubeta con goteo

Imagínese una cubeta con un pequeño agujero en el fondo. Sin importar la rapidez con que entra agua
en la cubeta, el flujo de salida tiene una tasa constante cuando hay agua en la cubeta y una tasa 0
cuando la cubeta está vacía. Además, una vez que se llena la cubeta, cualquier agua adicional que entra
se derrama por los costados y se pierde.

Cada host está conectado a la red mediante una interfaz que contiene una cubeta de goteo, es decir,
una cola interna finita. Si llega un paquete cuando la cola está llena, este paquete se descarta.

Cuando los paquetes son del mismo tamaño (ATM por ejemplo), el algoritmo puede utilizarse como fue
descripto, sin embargo, cuando se utilizan paquetes de tamaño variable, el algoritmo debería ser
utilizado permitiendo un número fijo de bytes, en lugar de un número fijo de paquetes por unidad de
tiempo.

Algoritmo de cubeta con tokens

En muchas aplicaciones es mejor permitir que la salida se acelere un poco cuando llegan ráfagas
grandes, por lo que se necesita un algoritmo más flexible, de preferencia uno que no pierda datos.

Este algoritmo contiene tokens generados por un reloj cada ∆𝑻 seg. Para transmitir un paquete se debe
capturar y destruir un token. Este algoritmo permite que puedan enviar ráfagas de hasta n paquetes
(tamaño máximo de la cubeta) y permitir cierta irregularidad en el flujo de salida junto con una
respuesta más rápida a las ráfagas de entrada repentinas. El algoritmo con tokens, descarta los tokens
(capacidad de transmisión) no los paquetes cuando se llena la cubeta. (En otras palabras un token es
solo un contador el cual se incrementa en 1 con cada pulso de reloj y de disminuye en 1 con cada envío
de un paquete. Si durante un tiempo no se enviaron paquetes, este contador tendrá un número
elevado, si luego de esto llega una ráfaga de n paquetes, podrán enviarse muchos paquetes juntos y
luego volver a una tasa constante).

Reservación de recursos

Para regular el tráfico se necesita obligar a todos los paquetes de un flujo a seguir una misma ruta, como
consecuencia se debe configurar algo similar a un circuito virtual del origen al destino, y todos los
paquetes que pertenecen al flujo deberán seguir esta ruta. Una vez que se tiene una ruta específica para
un flujo, es posible reservar recursos a lo largo de esa ruta para asegurar que la capacidad necesaria esté
disponible. Se pueden reservar tres tipos de recursos:

 Ancho de banda, si un flujo requiere 1Mbps y la línea saliente tiene una capacidad de 2 Mbps,
tratar de dirigir tres flujos por esa línea no va a funcionar. Por lo tanto, reservar ancho de banda
significa no sobrecargar ninguna línea de salida.
 Espacio en buffer, es posible reservar alguno buffers para un flujo específico de manera que éste
no tenga que competir con otros flujos para obtener espacio en buffer (si no tiene espacio se
descartan sus paquetes).
 Ciclos de CPU, para procesar un paquete se necesita tiempo del CPU del router, por lo que un
router solo puede procesar una cierta cantidad de paquetes por segundo. Para asegurar el
procesamiento oportuno de cada paquete, es necesario verificar que la CPU no esté
sobrecargada.

Control de admisión

La decisión de aceptar o rechazar un flujo no se trata simplemente de comparar el ancho de banda, los
buffers o los ciclos requeridos por el flujo con la capacidad excedida del router en esas tres dimensiones.
Es más complicado que eso, dado que por más que las aplicaciones sepan sus exigencias sobre ancho de
banda, no pueden saber nada sobre su necesidad de buffer o de ciclos de CPU, además algunas
aplicaciones pueden estar dispuestas a negociar algunos parámetros, por lo que se busca una forma
diferente de describir a los flujos. Por lo que una forma de caracterizar los flujos es en base a los
parámetros que pueden negociarse (especificación de flujo). Por lo general, el emisor produce una
especificación de flujo que propone los parámetros que le gustaría utilizar. Cada router de la ruta por la
que viajarán los datos modifica los parámetros conforme sea necesario (estas modificaciones son de
reducción, no pueden incrementar el flujo). Cuando se llega al otro extremo se establecen los
parámetros, si un router no puede trabajar con los parámetros ofrecidos, puede rechazar el flujo
entrante.
Herramientas de Administración de Red

ARP

Muestra y modifica las tablas de conversión de direcciones IP en direcciones físicas que usa el protocolo
de resolución de direcciones.

PING

La utilidad ping comprueba el estado de la conexión con uno o varios equipos remotos por medio de los
paquetes de solicitud de eco y de respuesta de eco (ambos definidos en el protocolo de red ICMP) para
determinar si un sistema IP específico es accesible en una red. Es útil para diagnosticar los errores en
redes o enrutadores IP.

Muchas veces se utiliza para medir la latencia o tiempo que tardan en comunicarse dos puntos remotos,
y por ello, se utiliza el término PING para referirse al lag o latencia de la conexión en los juegos en red.

Existe otro tipo, Ping ATM, que se utiliza en las redes ATM (como puede ser una simple ADSL instalada
en casa) y, en este caso, las tramas que se transmiten son ATM (nivel 2 del modelo OSI). Este tipo de
paquetes se envían para probar si los enlaces ATM están correctamente definidos.
TRACERT (Windows) / TRACEROUTE (Linux)

Es una herramienta de diagnóstico de redes que permite seguir la pista de los paquetes que van desde
un host (punto de red) a otro. Se obtiene además una estadística del RTT o latencia de red de esos
paquetes, lo que viene a ser una estimación de la distancia a la que están los extremos de la
comunicación. Esta herramienta se llama traceroute en UNIX y GNU/linux, mientras que en Windows se
llama tracert.

IPCONFIG

ipconfig (internet protocol configuration) en Microsoft Windows es una aplicación de consola que
muestra los valores de configuración de red de TCP/IP actuales y actualiza la configuración de
configuración dinámica de host protocolo DHCP y sistema de nombres de dominio DNS. Existen
herramientas GUI similares denominados winipcfg y wntipcfg también. El ex pre-dates ipconfig. El papel
desempeñado por estas herramientas es similar de diversas implementaciones de ifconfig en UNIX y
sistemas operativos tipo UNIX.

IFCONFIG

Es un programa disponible en varias versiones del sistema operativo UNIX, que permite configurar o
desplegar numerosos parámetros de las interfaces de redes, como la dirección IP (dinámica o estática),
o la máscara de red. Si se llama sin argumentos suele mostrar la configuración vigente de las interfaces
de red activas, con detalles como la dirección MAC o el tráfico que ha circulado por las mismas hasta el
momento.
El programa ifconfig tiene muchos más parámetros que los descritos hasta ahora. Generalmente se
ejecuta en la forma: ifconfig interfaz [dirección [parámetros] ]

Interfaz es el nombre de la interfaz y dirección es la dirección IP que se asigna a dicha interfaz. La


dirección puede estar en forma de cuaterna o usando un nombre que ifconfig buscará en /etc/hosts.

Si ifconfig es ejecutado añadiendo únicamente el nombre de la interfaz, presentará la información de la


configuración de dicha interfaz. Si se ejecuta sin parámetros, presenta todas las interfaces configuradas
hasta el momento; usando la opción –a fuerza a ifconfig a incluir la información de las interfaces
inactivas. A modo de ejemplo, la consulta de la configuración de la interfaz Ethernet eth0 sería: #
ifconfig eth0

eth0 Link encap 10Mbps Ethernet HWaddr 00:00:C0:90:B3:42


inet addr 172.16.1.2 Bcast 172.16.1.255 Mask 255.255.255.0
UP BROADCAST RUNNING MTU 1500 Metric 0
RX packets 3136 errors 217 dropped 7 overrun 26
TX packets 1752 errors 25 dropped 0 overrun 0

Los campos MTU y Metric informan sobre los valores actuales de la MTU (Unidad Máxima de
Transferencia) y de la métrica para una interfaz dada. El valor de la métrica es usado tradicionalmente
por algunos sistemas operativos para calcular el coste de una ruta. GNU/Linux no usa este valor por el
momento, pero lo define por razones de compatibilidad.

Las líneas RX y TX dan idea de los paquetes recibidos o transmitidos sin errores, del número de errores
ocurridos, de cuántos paquetes han sido descartados (seguramente por memoria insuficiente), y
cuántos han sido perdidos por desbordamiento, condición que ocurre cuando la recepción de paquetes
es demasiado rápida y el núcleo es incapaz de dar servicio al paquete anterior antes de la llegada del
nuevo paquete.

A continuación tenemos una lista de algunos parámetros reconocidos por ifconfig. Las opciones que
simplemente activan alguna característica pueden usarse para desactivarla precediéndolas de un guión
(–).

Up: Marca la interfaz como disponible para que sea usada por la capa IP.

Down: Marca la interfaz como inaccesible a la capa IP. Esto inhabilita cualquier tráfico IP a través de la
interfaz. Es importante darse cuenta que esto también borra los registros de la tabla de
encaminamiento correspondientes a esa interfaz de forma automática.

Netmask (máscara): Esto asigna una máscara de subred a una interfaz.

Broadcast (dirección): confirma el establecimiento de una dirección de difusión incluyendo el indicador


BROADCAST.
Metric (número): Esta opción puede ser usada para asignar un valor de métrica a la tabla de
encaminamiento creada para la interfaz. Esta métrica es usada por el Protocolo de Información de
Encaminamiento (RIP) para construir las tablas de encaminamiento para la red.

Mtu (bytes): Esto fija la unidad máxima de transferencia, o lo que es lo mismo, el máximo número de
octetos que la interfaz es capaz de manejar en una única transacción. Para Ethernets, la MTU toma el
valor 1500 por omisión (que es el tamaño máximo permitido para un paquete Ethernet).

Arp: Esta opción permite el uso de ARP, el Protocolo de Resolución de Direcciones, para detectar la
dirección física de las máquinas conectadas a la red. (-arp lo inhabilita).

ROUTE

Route es una herramienta de línea de comandos disponible tanto en Microsoft Windows como en
GNU/Linux. Nos permite manipular las tablas de enrutamiento de nuestro sistema.
NETSTAT

Netstat (network statistics) es una herramienta de línea de comandos que muestra un listado de las
conexiones activas de un ordenador, tanto entrantes como salientes. Existen versiones de este comando
en varios sistemas como Unix, GNU/Linux, Mac OS X, Windows y BeOS.

La información que resulta del uso del comando incluye el protocolo en uso, las direcciones IP tanto
locales como remotas, los puertos locales y remotos utilizados y el estado de la conexión. Existen,
además de la versión para línea de comandos, herramientas con interfaz gráfica (GUI) en casi todos los
sistemas operativos desarrollados por terceros.
NSLOOKUP

Es un programa, utilizado para saber si el DNS está resolviendo correctamente los nombres y las IP. Se
utiliza con el comando nslookup, que funciona tanto en Windows como en UNIX para obtener la
dirección IP conociendo el nombre, y viceversa.

TELNET

Telnet (TELecommunication NETwork) es el nombre de un protocolo de red (y del programa informático


que implementa el cliente), que sirve para acceder mediante una red a otra máquina, para manejarla
remotamente como si estuviéramos sentados delante de ella. Para que la conexión funcione, como en
todos los servicios de Internet, la máquina a la que se acceda debe tener un programa especial que
reciba y gestione las conexiones. El puerto que se utiliza generalmente es el 23.

Para iniciar una sesión con un intérprete de comandos de otro ordenador, puede emplear el comando
telnet seguido del nombre o la dirección IP de la máquina en la que desea trabajar, por ejemplo si desea
conectarse a la máquina purpura.micolegio.edu.com deberá teclear telnet purpura.micolegio.edu.com, y
para conectarse con la dirección IP 1.2.3.4 deberá utilizar telnet 1.2.3.4.
Una vez conectado, podrá ingresar el nombre de usuario y contraseña remoto para iniciar una sesión en
modo texto a modo de consola virtual (ver Lectura Sistema de usuarios y manejo de clave). La
información que transmita (incluyendo su clave) no será protegida o cifrada y podría ser vista en otros
computadores por los que se transite la información (la captura de estos datos se realiza con un packet
sniffer.

Una alternativa más segura para telnet, pero que requiere más recursos del computador, es SSH. Este
cifra la información antes de transmitirla, autentica la máquina a la cual se conecta y puede emplear
mecanismos de autenticación de usuarios más seguros.
Unidad 4: Capa de Transporte y Aplicación

Capa de Transporte

La tarea de esta capa es proporcionar un transporte de datos confiable y económico de la máquina de


origen a la máquina destino, independientemente de la red o redes físicas en uso.

Servicios de la capa de transporte

La meta fundamental de la capa de trasporte es proporcionar un servicio eficiente, confiable y


económico a sus usuarios, que normalmente son procesos de la capa de aplicación. El software de la
capa de trasporte que se encarga de realizar el trabajo se lo denomina “entidad de trasporte”.

Así como existen dos tipos de servicios (orientado a conexión y no orientado a conexión), hay dos tipos
de transporte, el servicio de trasporte orientado a conexión y el servicio de trasporte no orientado a
conexión.

Tanto en la capa de red como en la de transporte las conexiones tienen tres fases, el establecimiento, la
transferencia de datos y la liberación; el direccionamiento y control de flujo también son similares en
ambas y, el servicio de trasporte no orientado a conexión es muy similar al servicio de red no orientado
a conexión. Una pregunta muy lógica de hacerse en este punto sería, el por qué de dos capas siendo que
son tan parecidas. La respuesta es simple, la capa de red es utilizada por routers que pertenecen por
ejemplo a la empresa portadora y nada tienen que ver con el emisor y el receptor, mientras que la capa
de trasporte es pura y exclusivamente manejada por la máquina emisora y la receptora. Además esta
capa que se encuentra por encima de la capa de red, permitirá resolver problemas como perdida de
paquetes o cualquier otro que genere un mal servicio.

Esencialmente, la existencia de la capa de trasporte hace posible que el servicio de trasporte sea más
confiable que el servicio de red subyacente. La capa de transporte puede detectar y compensar
paquetes perdidos y datos alterados. Gracias a la capa de trasporte es posible escribir programas de
aplicación usando un conjunto estándar de primitivas, y que estos programas funcionen en una amplia
variedad de redes sin necesidad de preocuparse por lidiar con diferentes interfaces de subred y
transmisiones no confiables. Como podemos ver, esta capa cumple la función clave de aislar a las capas
superiores de la tecnología, el diseño y las imperfecciones de la subred.

Primitivas del servicio de transporte

Para permitir que los usuarios accedan al servicio de transporte, la capa de transporte debe
proporcionar algunas operaciones a los programas de aplicación, es decir, una interfaz del servicio de
transporte. Cada servicio de transporte tiene su propia interfaz.

Primitiva Paquete enviado Significado


LISTEN (Ninguno) Se bloquea hasta que algún proceso intenta la conexión
CONNECT CONNECTION REQ. Intenta activamente establecer una conexión
SEND DATA Envía información
RECEIVE (Ninguno) Se bloquea hasta que llega un paquete DATA
DISCONNECT DISCONNECTION REQ. Este lado quiere liberar la conexión

Todas las PDU (Protocol Data Unit) de la capa de transporte también denominadas segmentos, son
colocadas como la carga útil de un datagrama IP para poder ser enviados por la red.

Socket de Berkeley

Socket designa un concepto abstracto por el cual dos programas (posiblemente situados en
computadoras distintas) pueden intercambiar cualquier flujo de datos, generalmente de manera fiable y
ordenada.

Un socket queda definido por una dirección IP, un protocolo de transporte y un número de puerto.

Las propiedades de un socket dependen de las características del protocolo en el que se implementan. El
protocolo más utilizado es TCP, aunque también es posible utilizar UDP o IPX. Gracias al protocolo TCP,
los sockets tienen las siguientes propiedades:

 Orientado a conexión.
 Se garantiza la transmisión de todos los octetos sin errores ni omisiones.
 Se garantiza que todo octeto llegará a su destino en el mismo orden en que se ha transmitido.

Estas propiedades son muy importantes para garantizar la corrección de los programas que tratan la
información.

El protocolo UDP es un protocolo no orientado a la conexión. Sólo se garantiza que si un mensaje llega,
llegue bien. En ningún caso se garantiza que llegue o que lleguen todos los mensajes en el mismo orden
que se mandaron.

Primitiva de sockets

Primitiva Significado
SOCKET Crea un nuevo punto terminal de comunicación
BIND Adjunta una dirección local a un socket
LISTEN Anuncia la disposición a aceptar conexiones; indica el tamaño de la cola
ACCEPT Bloquea al invocador hasta la llegada de un intento de conexión
CONNECT Intenta establecer activamente una conexión
SEND Envía datos a través de la conexión
RECEIVE Recibe datos de la conexión
CLOSE Libera la conexión

Las primitivas son similares a las de la capa de transporte solo que estas brindan mayores características
y flexibilidad. Las primeras cuatro primitivas son ejecutadas en ese orden por un servidor.
Primero se utiliza la primitiva SOCKET para crear un nuevo punto de comunicación y asignarle espacio en
las tablas para la comunicación, además se selecciona un tipo de servicio y un protocolo de
comunicación a utilizar. Luego mediante BIND se asigna una dirección de red al socket para que los
clientes puedan conectarse a él. Una llamada a LISTEN, asigna el espacio necesario para poner en cola
las llamadas entrantes por si varios clientes intentan conectarse al mismo tiempo (esta no es una
llamada bloqueadora). La primitiva ACCEPT bloquea en espera de una conexión entrante, cuando una
conexión entrante llega se crea un nuevo socket con las mismas propiedades del original y se devuelve
un descriptor de archivo para él, que puede utilizarse para leer y escribir de la forma estándar, al igual
que si fuese un archivo.

Del lado del cliente, aquí también se comienza creando un socket con la primitiva SOCKET pero luego no
se usa la sentencia BIND puesto que la dirección de nuestro socket no es de importancia para el
servidor. La primitiva CONNECT bloquea al invocador y comienza activamente el proceso de conexión. Al
completarse éste (es decir cuando se recibe la PDU de transporte del servidor) el proceso cliente se
desbloquea y se establece la conexión.

Ambos lados pueden usar SEND y RECEIVE para transmitir y recibir datos sobre una conexión full-duplex,
la liberación de los sockets es simétrica y se realiza cuando ambos lados ejecutan la primitiva CLOSE.

User Datagram Protocol (UDP)

User Datagram Protocol (UDP) es un protocolo del nivel de transporte basado en el intercambio de
datagramas. Permite el envío de datagramas a través de la red sin que se haya establecido previamente
una conexión, ya que el propio datagrama incorpora suficiente información de direccionamiento en su
cabecera. Tampoco tiene confirmación ni control de flujo, por lo que los paquetes pueden adelantarse
unos a otros; y tampoco se sabe si ha llegado correctamente, ya que no hay confirmación de entrega o
recepción. Su uso principal es para protocolos como DHCP, BOOTP, DNS y demás protocolos en los que
el intercambio de paquetes de la conexión/desconexión son mayores, o no son rentables con respecto a
la información transmitida, así como para la transmisión de audio y vídeo en tiempo real, donde no es
posible realizar retransmisiones por los estrictos requisitos de retardo que se tiene en estos casos.

En la familia de protocolos de Internet UDP proporciona una sencilla interfaz entre la capa de red y la
capa de aplicación. UDP no otorga garantías para la entrega de sus mensajes y el origen UDP no retiene
estados de los mensajes UDP que han sido enviados a la red. UDP sólo añade multiplexado de aplicación
y suma de verificación de la cabecera y la carga útil. Cualquier tipo de garantías para la transmisión de la
información deben ser implementadas en capas superiores.

Puerto origen (2 bytes) Puerto destino (2 bytes)


Longitud del datagrama (2 bytes) Checksum (de todo el “paquete”) (2 bytes)
Datos (62 Kbytes)
La cabecera UDP consta de 4 campos de los cuales 2 son opcionales (con fondo rojo en la tabla). Los
campos de los puertos fuente y destino son campos de 16 bits que identifican el proceso de origen y
recepción. Ya que UDP carece de un servidor de estado y el origen UDP no solicita respuestas, el puerto
origen es opcional. En caso de no ser utilizado, el puerto origen debe ser puesto a cero. A los campos del
puerto destino le sigue un campo obligatorio que indica el tamaño en bytes del datagrama UDP
incluidos los datos. El valor mínimo es de 8 bytes. El campo de la cabecera restante es una suma de
comprobación de 16 bits que abarca la cabecera, los datos y una pseudo-cabecera con las IP origen y
destino, el protocolo, la longitud del datagrama y 0's hasta completar un múltiplo de 16. pero no los
datos. El checksum también es opcional, aunque generalmente se utiliza en la práctica.

El protocolo UDP se utiliza por ejemplo cuando se necesita transmitir voz o vídeo y resulta más
importante transmitir con velocidad que garantizar el hecho de que lleguen absolutamente todos los
bytes.

Puertos

UDP utiliza puertos para permitir la comunicación entre aplicaciones. El campo de puerto tiene una
longitud de 16 bits, por lo que el rango de valores válidos va de 0 a 65.535. El puerto 0 está reservado,
pero es un valor permitido como puerto origen si el proceso emisor no espera recibir mensajes como
respuesta.

Los puertos 1 a 1023 se llaman puertos "bien conocidos" y en sistemas operativos tipo Unix enlazar con
uno de estos puertos requiere acceso como superusuario.

Los puertos 1024 a 49.151 son puertos registrados.

Los puertos 49.152 a 65.535 son puertos efímeros y son utilizados como puertos temporales, sobre todo
por los clientes al comunicarse con los servidores.

Transmission Control Protocol (TCP)

TCP (Transmission-Control-Protocol, en español Protocolo de Control de Transmisión) es uno de los


protocolos fundamentales en Internet, es fiable, orientado a conexión y trabaja en la capa de transporte
del modelo TCP/IP. El protocolo garantiza que los datos serán entregados en su destino sin errores y en
el mismo orden en que se transmitieron. También proporciona un mecanismo para distinguir distintas
aplicaciones dentro de una misma máquina, a través del concepto de puerto.

TCP da soporte a muchas de las aplicaciones más populares de Internet, incluidas HTTP, SMTP, SSH y
FTP.

Funciones de TCP

Habitualmente, las aplicaciones necesitan que la comunicación sea fiable y, dado que la capa IP aporta
un servicio de datagramas no fiable (sin confirmación), TCP añade las funciones necesarias para prestar
un servicio que permita que la comunicación entre dos sistemas se efectúe libre de errores, sin pérdidas
y con seguridad.
Los servicios provistos por TCP corren en el anfitrión (host) de cualquiera de los extremos de una
conexión, no en la red. Por lo tanto, TCP es un protocolo para manejar conexiones de extremo a
extremo. Tales conexiones pueden existir a través de una serie de conexiones punto a punto, por lo que
estas conexiones extremo-extremo son llamadas circuitos virtuales.

Las características de TCP son:

 Orientado a conexión: dos computadoras establecen una conexión para intercambiar datos. Los
sistemas de los extremos se sincronizan con el otro para manejar el flujo de paquetes y
adaptarse a la congestión de la red.
 Operación Full-Duplex: una conexión TCP es un par de circuitos virtuales, cada uno en una
dirección. Sólo los dos sistemas finales sincronizados pueden usar la conexión.
 Error Checking: una técnica de checksum es usada para verificar que los paquetes no estén
corrompidos.
 Acknowledgements (ACK): sobre recibo de uno o más paquetes, el receptor regresa un
acknowledgement (reconocimiento) al transmisor indicando que recibió los paquetes. Si los
paquetes no son notificados, el transmisor puede reenviar los paquetes o terminar la conexión si
el transmisor cree que el receptor no está más en la conexión.
 Flow Control: si el transmisor está desbordando el buffer del receptor por transmitir demasiado
rápido, el receptor descarta paquetes. Los acknowledgement fallidos que llegan al transmisor le
alertan para bajar la tasa de transferencia o dejar de transmitir.
 Servicio de recuperación de Paquetes: el receptor puede pedir la retransmisión de un paquete.
Si el paquete no es notificado como recibido (ACK), el transmisor envía de nuevo el paquete.

Los servicios confiables de entrega de datos son críticos para aplicaciones tales como transferencias de
archivos (FTP por ejemplo), servicios de bases de datos, proceso de transacciones y otras aplicaciones de
misión crítica en las cuales la entrega de cada paquete debe ser garantizada.

Formato de los Segmentos TCP

Puerto origen (16) Puerto destino (16)


Número de secuencia (32)
Número de ACK (32)
Tamaño(4) Reserv.(4) C E U A P R S F Tamaño de la ventana (16)
W C R C S S Y I
R E G K H T N N
CHECKSUM de cabecera (16) Punto de urgencia (16)
Opciones (Variables)
DATOS

Las aplicaciones envían flujos de bytes a la capa TCP para ser enviados a la red. TCP divide el flujo de
bytes llegado de la aplicación en segmentos de tamaño apropiado (normalmente esta limitación viene
impuesta por la unidad máxima de transferencia (MTU) del nivel de enlace de datos de la red a la que la
entidad está asociada) y le añade sus cabeceras. Entonces, TCP pasa el segmento resultante a la capa IP,
donde a través de la red, llega a la capa TCP de la entidad destino. TCP comprueba que ningún segmento
se ha perdido dando a cada uno un número de secuencia, que es también usado para asegurarse de que
los paquetes han llegado a la entidad destino en el orden correcto. TCP devuelve un asentimiento por
bytes que han sido recibidos correctamente; un temporizador en la entidad origen del envío causará un
timeout si el asentimiento no es recibido en un tiempo razonable, y el (presuntamente desaparecido)
paquete será entonces retransmitido. TCP revisa que no haya bytes dañados durante el envío usando un
checksum; es calculado por el emisor en cada paquete antes de ser enviado, y comprobado por el
receptor.

 Puerto de origen (16 bits): Identifica el puerto a través del que se envía.
 Puerto destino (16 bits): Identifica el puerto del receptor.
 Número de secuencia (32 bits): Sirve para comprobar que ningún segmento se ha perdido, y
que llegan en el orden correcto. Su significado varía dependiendo del valor de SYN:

 Si el flag SYN está activo (1), entonces este campo indica el número inicial de secuencia
(con lo cual el número de secuencia del primer byte de datos será este número de
secuencia más uno).
 Si el flag SYN no está activo (0), entonces este campo indica el número de secuencia del
primer byte de datos.

 Número de acuse de recibo (ACK) (32 bits): Si el flag ACK está puesto a activo, entonces en este
campo contiene el número de secuencia del siguiente paquete que el receptor espera recibir.
 Longitud de la cabecera TCP (4 bits): Especifica el tamaño de la cabecera TCP en palabras de 32-
bits. El tamaño mínimo es de 5 palabras, y el máximo es de 15 palabras (lo cual equivale a un
tamaño mínimo de 20 bytes y a un máximo de 60 bytes). En inglés el campo se denomina “Data
offset”, que literalmente sería algo así como “desplazamiento hasta los datos”, ya que indica
cuántos bytes hay entre el inicio del paquete TCP y el inicio de los datos.
 Reservado (4 bits): Bits reservados para uso futuro, deberían ser puestos a cero.
 Bits de control (flags) (8 bits): Son 8 flags o banderas. Cada una indica “activa” con un 1 o
“inactiva” con un 0.

 CWR o “Congestion Window Reduced” (1 bit): Este flag se activa (se pone a 1) por parte
del emisor para indicar que ha recibido un paquete TCP con el flag ECE activado. El flag
ECE es una extensión del protocolo que fue añadida a la cabecera en el RFC 3168. Se
utiliza para el control de la congestión en la red.
 ECE o “ECN-Echo” (1 bit): Indica que el receptor puede realizar notificaciones ECN. La
activación de este flag se realiza durante la negociación en tres pasos para el
establecimiento de la conexión. Este flag también fue añadido a la cabecera en el RFC
3168.
 URG o “urgent” (1 bit, ver URG): Si está activo significa que el campo “Urgente” es
significativo, si no, el valor de este campo es ignorado.
 ACK o “acknowledge” (1 bit, ver ACK): Si está activo entonces el campo con el número
de acuse de recibo es válido (si no, es ignorado).
 PSH o “push” (1 bit, ver PSH): Activa/desactiva la función que hace que los datos de ese
segmento y los datos que hayan sido almacenados anteriormente en el buffer del
receptor deben ser transferidos a la aplicación receptora lo antes posible.
 RST o “reset” (1 bit, ver Flag RST): Si llega a 1, termina la conexión sin esperar respuesta.
 SYN o “synchronize” (1 bit, ver SYN): Activa/desactiva la sincronización de los números
de secuencia.
 FIN (1 bit, ver FIN): Si se activa es porque no hay más datos a enviar por parte del
emisor, esto es, el paquete que lo lleva activo es el último de una conexión.
 Ventana (16 bits): Es el tamaño de la ventana de recepción, que especifica el número de bytes
que el receptor está actualmente esperando recibir.
 Suma de verificación (checksum) (16 bits): Es una suma de verificación utilizada para comprobar
si hay errores tanto en la cabecera como en los datos.
 Puntero urgente (16 bits): Si el flag URG está activado, entonces este campo indica el
desplazamiento respecto al número de secuencia que indica el último byte de datos marcados
como “urgentes”.
 Opciones (número de bits variable): La longitud total del campo de opciones ha de ser múltiplo
de una palabra de 32 bits (si es menor, se ha de rellenar al múltiplo más cercano), y el campo
que indica la longitud de la cabecera ha de estar ajustado de forma adecuada.
 Datos (número de bits variable): No forma parte de la cabecera, es la carga (payload), la parte
con los datos del paquete TCP. Pueden ser datos de cualquier protocolo de nivel superior en el
nivel de aplicación; los protocolos más comunes para los que se usan los datos de un paquete
TCP son HTTP, telnet, SSH, FTP, etcétera.

Establecimiento y liberación de una conexión

Las conexiones TCP se componen de tres etapas: establecimiento de conexión, transferencia de datos y
fin de la conexión. Para establecer la conexión se usa el procedimiento llamado negociación en tres
pasos (3-way handshake). Una negociación en cuatro pasos (4-way handshake) es usada para la
desconexión.

Establecimiento de la conexión (negociación en tres pasos)

El host receptor, que en el caso de más común será un servidor, espera pasivamente una conexión
ejecutando las primitvas LISTEN y ACCEPT.

En primer lugar, el host que desea iniciar la conexión ejecuta una primitiva CONNECT especificando la
dirección IP y el puerto con el que se desea conectar, el tamaño máximo del segmento que está
dispuesto a aceptar y opcionalmente otros datos. Entonces la primitiva CONNCET hace una apertura
activa, enviando al otro host un paquete que tiene el bit SYN activado, indicándole también el número
de secuencia inicial "x" que usará para enviar sus mensajes.
El host receptor recibe el segmento revisa si hay algún proceso activo que haya ejecutado un LISTEN en
el puerto solicitado, es decir, preparado para recibir datos por ese puerto. Si lo hay, el proceso a la
escucha recibe el segmento TCP entrante, registra el número de secuencia "x" y, si desea abrir la
conexión, responde con un acuse de recibo "x + 1" con el bit SYN activado e incluye su propio número de
secuencia inicial "y", dejando entonces abierta la conexión por su extremo. El número de acuse de
recibo "x + 1" significa que el host ha recibido todos los octetos hasta e incluyendo "x", y espera "x + 1" a
continuación. Si no desea establecer la conexión, envía una contestación con el bit RST activado, para
que el host en el otro extremo lo sepa.

El primer host recibe el segmento y envía su confirmación con el bit ACK encendido y SYN apagado,
momento a partir del cual puede enviar datos al otro extremo, abriendo entonces la conexión por su
extremo y completando así la negociación en tres pasos (SYN, SYN/ACK y ACK) y la fase de
establecimiento de conexión.

La máquina receptora recibe la confirmación y entiende que el otro extremo ha abierto ya su conexión,
por lo que a partir de ese momento también puede ella enviar datos. Con esto, la conexión ha quedado
abierta en ambos sentidos.

Transferencia de datos

Durante la etapa de transferencia de datos, una serie de mecanismos claves determinan la fiabilidad y
robustez del protocolo. Entre ellos están incluido el uso del número de secuencia para ordenar los
segmentos TCP recibidos y detectar paquetes duplicados, checksums para detectar errores, y
asentimientos y temporizadores para detectar pérdidas y retrasos.

Durante el establecimiento de conexión TCP, los números iniciales de secuencia son intercambiados
entre las dos entidades TCP. Estos números de secuencia son usados para identificar los datos dentro
del flujo de bytes, y poder identificar (y contar) los bytes de los datos de la aplicación. Siempre hay un
par de números de secuencia incluidos en todo segmento TCP, referidos al número de secuencia y al
número de asentimiento (ACK). Un emisor TCP se refiere a su propio número de secuencia cuando habla
de número de secuencia, mientras que con el número de asentimiento se refiere al número de
secuencia del receptor. Para mantener la fiabilidad, un receptor asiente los segmentos TCP indicando
que ha recibido una parte del flujo continuo de bytes.

A través del uso de números de secuencia y asentimiento, TCP puede pasar los segmentos recibidos en
el orden correcto dentro del flujo de bytes a la aplicación receptora.

Un checksum de 16 bits de la cabecera y datos del segmento TCP, es calculado por el emisor, e incluido
en la transmisión del segmento. El receptor TCP simplemente calcula la suma en complemento a uno
con el checksum incluido, y el resultado debe ser igual a 0. Si es así, se asume que el segmento ha
llegado intacto y sin errores. Hay que fijarse en que el checksum de TCP también cubre los 96 bit de la
cabecera que contiene la dirección origen, la dirección destino, el protocolo y el tamaño TCP. Esto
proporciona protección contra paquetes mal dirigidos por errores en las direcciones.

Los asentimientos (ACK) de los datos enviados o la falta de ellos, son usados por los emisores para
interpretar las condiciones de la red entre el emisor y receptor TCP. Unido a los temporizadores, los
emisores y receptores TCP pueden alterar el comportamiento del movimiento de datos. TCP usa una
serie de mecanismos para conseguir un alto rendimiento y evitar la congestión de la red (la idea es
enviar tan rápido como el receptor pueda recibir). Estos mecanismos incluyen el uso de ventana
deslizante, que controla que el transmisor mande información dentro de los límites del buffer del
receptor, y algoritmos de control de flujo.

Tamaño de ventana TCP

El tamaño de la ventana de recepción TCP es la cantidad de datos recibidos (en bytes) que pueden ser
metidos en el buffer de recepción durante la conexión. La entidad emisora puede enviar una cantidad
determinada de datos pero antes debe esperar un asentimiento con la actualización del tamaño de
ventana por parte del receptor.

Un ejemplo sería el siguiente: un receptor comienza con un tamaño de ventana x y recibe y bytes,
entonces su tamaño de ventana será (x - y) y el transmisor sólo podrá mandar paquetes con un tamaño
máximo de datos de (x - y) bytes. Los siguientes paquetes recibidos seguirán restando tamaño a la
ventana de recepción. Esta situación seguirá así hasta que la aplicación receptora recoja los datos del
buffer de recepción.

Ventana deslizante

Para una mayor eficiencia en redes de gran ancho de banda, debe ser usado un tamaño de ventana
mayor. El campo TCP de tamaño de ventana controla el movimiento de datos y está limitado a 16 bits,
es decir, a un tamaño de ventana de 65.535 bytes.

Como el campo de ventana no puede expandirse se usa un factor de escalado. La escala de ventana TCP
(TCP window scale) es una opción usada para incrementar el máximo tamaño de ventana desde 65.535
bytes, a 1 Gigabyte.

La opción de escala de ventana TCP es usada solo durante la negociación en tres pasos que constituye el
comienzo de la conexión. El valor de la escala representa el número de bits desplazados a la izquierda de
los 16 bits que forman el campo del tamaño de ventana. El valor de la escala puede ir desde 0 (sin
desplazamiento) hasta 14. Hay que recordar que un número binario desplazado un bit a la izquierda es
como multiplicarlo en base decimal por 2.

Fin de la conexión
La fase de finalización de la conexión usa una negociación en cuatro pasos (four-way handshake),
terminando la conexión desde cada lado independientemente. Cuando uno de los dos extremos de la
conexión desea parar su "mitad" de conexión transmite un paquete FIN, que el otro interlocutor
asentirá con un ACK. Por tanto, una desconexión típica requiere un par de segmentos FIN y ACK desde
cada lado de la conexión.

Una conexión puede estar "medio abierta" en el caso de que uno de los lados la finalice pero el otro no.
El lado que ha dado por finalizada la conexión no puede enviar más datos pero la otra parte si podrá.

Puertos TCP

TCP usa el concepto de número de puerto para identificar a las aplicaciones emisoras y receptoras. Cada
lado de la conexión TCP tiene asociado un número de puerto (de 16 bits sin signo, con lo que existen
65536 puertos posibles) asignado por la aplicación emisora o receptora. Los puertos son clasificados en
tres categorías: bien conocidos, registrados y dinámicos/privados. Los puertos bien conocidos son
asignados por la Internet Assigned Numbers Authority (IANA), van del 0 al 1023 y son usados
normalmente por el sistema o por procesos con privilegios. Las aplicaciones que usan este tipo de
puertos son ejecutadas como servidores y se quedan a la escucha de conexiones. Algunos ejemplos son:
FTP (21), SSH (22), Telnet (23), SMTP (25) y HTTP (80). Los puertos registrados son normalmente
empleados por las aplicaciones de usuario de forma temporal cuando conectan con los servidores, pero
también pueden representar servicios que hayan sido registrados por un tercero (rango de puertos
registrados: 1024 al 49151). Los puertos dinámicos/privados también pueden ser usados por las
aplicaciones de usuario, pero este caso es menos común. Los puertos dinámicos/privados no tienen
significado fuera de la conexión TCP en la que fueron usados (rango de puertos dinámicos/privados:
49152 al 65535, recordemos que el rango total de 2 elevado a la potencia 16, cubre 65536 números, del
0 al 65535)

Aplicaciones de TCP y UDP

 UDP: proporciona un nivel de transporte no fiable de datagramas, ya que apenas añade la


información necesaria para la comunicación extremo a extremo al paquete que envía al nivel
inferior. Lo utilizan aplicaciones como NFS (Network File System) y RCP (comando para copiar
ficheros entre ordenadores remotos), pero sobre todo se emplea en tareas de control y en la
transmisión de audio y vídeo a través de una red. No introduce retardos para establecer una
conexión, no mantiene estado de conexión alguno y no realiza seguimiento de estos
parámetros. Así, un servidor dedicado a una aplicación particular puede soportar más clientes
activos cuando la aplicación corre sobre UDP en lugar de sobre TCP.

 TCP: es el protocolo que proporciona un transporte fiable de flujo de bits entre aplicaciones. Está
pensado para poder enviar grandes cantidades de información de forma fiable, liberando al
programador de la dificultad de gestionar la fiabilidad de la conexión (retransmisiones, pérdida
de paquetes, orden en el que llegan los paquetes, duplicados de paquetes, etc.) que gestiona el
propio protocolo. Pero la complejidad de la gestión de la fiabilidad tiene un coste en eficiencia,
ya que para llevar a cabo las gestiones anteriores se tiene que añadir bastante información a los
paquetes que enviar. Debido a que los paquetes para enviar tienen un tamaño máximo, cuanta
más información añada el protocolo para su gestión, menos información que proviene de la
aplicación podrá contener ese paquete (el segmento TCP tiene una sobrecarga de 20 bytes en
cada segmento, mientras que UDP solo añade 8 bytes). Por eso, cuando es más importante la
velocidad que la fiabilidad, se utiliza UDP. En cambio, TCP asegura la recepción en destino de la
información para transmitir. Los servicios confiables de entrega de datos son críticos para
aplicaciones tales como transferencias de archivos (FTP por ejemplo), servicios de bases de
datos, proceso de transacciones y otras aplicaciones de misión crítica en las cuales la entrega de
cada paquete debe ser garantizada.

Domain Name System (DNS)

El sistema de nombre de dominio (en inglés Domain Name System, DNS) es un sistema de nomenclatura
jerárquica para computadoras, servicios o cualquier recurso conectado al internet o a una red privada.
Este sistema asocia información variada con nombres de dominios asignados a cada uno de los
participantes. Su función más importante, es traducir (resolver) nombres inteligibles para los humanos
en identificadores binarios asociados con los equipos conectados a la red, esto con el propósito de
poder localizar y direccionar estos equipos mundialmente. Otras de sus funciones son, definir una zona
de seguridad de un dominio permitiendo administrar la seguridad y los recursos, dado que un nombre
de dominio tendrá asociado registros de recursos, usuarios y permisos.

Dominio: Conjunto de equipos que brindan a otros equipos servicios similares.

 Servidores (Equipos con SO específicos para prestar servicios)


 Usuarios
 Host (Cualquier dispositivo dentro de la red que pueda tener una dirección IP, ej. Una pc, un
teléfono ip, una impresora de red, etc)

Los usuarios generalmente no se comunican directamente con el servidor DNS: la resolución de


nombres se hace de forma transparente por las aplicaciones del cliente (por ejemplo, navegadores,
clientes de correo y otras aplicaciones que usan Internet). Al realizar una petición que requiere una
búsqueda de DNS, la petición se envía al servidor DNS local del sistema operativo. El sistema operativo,
antes de establecer ninguna comunicación, comprueba si la respuesta se encuentra en la memoria
caché. En el caso de que no se encuentre, la petición se enviará a uno o más servidores DNS median
segmentos UDP en forma jerárquicamente ascendente.

La mayoría de usuarios domésticos utilizan como servidor DNS el proporcionado por el proveedor de
servicios de Internet. La dirección de estos servidores puede ser configurada de forma manual o
automática mediante DHCP. En otros casos, los administradores de red tienen configurados sus propios
servidores DNS.
En cualquier caso, los servidores DNS que reciben la petición, buscan en primer lugar si disponen de la
respuesta en la memoria caché. Si es así, sirven la respuesta; en caso contrario, iniciarían la búsqueda de
manera recursiva (pregunta a sus servidores). Una vez encontrada la respuesta, el servidor DNS
guardará el resultado en su memoria caché para futuros usos y devuelve el resultado. Cuando guardan
el resultado en cache lo hacen con un “tiempo de vida” corto dado que si el otro servidor modifica ese
registro, los cambios no se propagan a las cache de los otros servidores.

Espacio de Nombres del DNS

Conceptualmente, internet se divide en 200 dominios de nivel superior, cada uno de los cuales abarca
muchos host y otros subdominios. Los dominios de nivel superior pueden dividirse en dos categorías, los
genéricos y por país (el gráfico solo representa las genéricas).

El espacio de nombres de dominio tiene una estructura de árbol. Las hojas y los nodos del árbol se
utilizan como etiquetas de los medios. Un nombre de dominio completo de un objeto consiste en la
concatenación de todas las etiquetas de un camino. Las etiquetas son cadenas alfanuméricas (con '-'
como único símbolo permitido), deben contar con al menos un carácter y un máximo de 63 caracteres
de longitud, y deberá comenzar con una letra (y no con '-'). Las etiquetas individuales están separadas
por puntos. Un nombre de dominio termina con un punto (aunque este último punto generalmente se
omite, ya que es puramente formal). Un FQDN correcto (también llamado Fully Qualified Domain
Name), es por ejemplo este: www.example.com. (Incluyendo el punto al final)

Un nombre de dominio debe incluir todos los puntos y tiene una longitud máxima de 255 caracteres.

Un nombre de dominio se escribe siempre de derecha a izquierda. El punto en el extremo derecho de un


nombre de dominio separa la etiqueta de la raíz de la jerarquía (en inglés, root). Este primer nivel es
también conocido como dominio de nivel superior (TLD).

Los objetos de un dominio DNS (por ejemplo, el nombre del equipo) se registran en un archivo de zona,
ubicado en uno o más servidores de nombres.

Tipos de servidores DNS

 Primarios: Guardan los datos de un espacio de nombres en sus ficheros.


 Secundarios: Obtienen los datos de los servidores primarios a través de una transferencia de
zona.
 Locales o Caché: Funcionan con el mismo software, pero no contienen la base de datos para la
resolución de nombres. Cuando se les realiza una consulta, estos a su vez consultan a los
servidores secundarios, almacenando la respuesta en su base de datos para agilizar la repetición
de estas peticiones en el futuro continuo o libre.

Tipos de resolución de nombres de dominio

 Recursiva: En las consultas recursivas, consisten en la mejor respuesta que el servidor de


nombres pueda dar. El servidor de nombres consulta sus datos locales (incluyendo su caché)
buscando los datos solicitados y si no los encuentra, pregunta a sus servidores hasta dar la
respuesta.

 Iterativa: Las consultas iterativas, o resolución iterativa el servidor no tiene la información en


sus datos locales, y devuelve el nombre del siguiente servidor a intentar, y se repite el mismo
proceso básico (consultar al nuevo servidor remoto y seguir a la siguiente referencia) hasta que
obtiene la respuesta a la pregunta.

El proceso de resolución normal se da de la siguiente manera:

1. El servidor A recibe una consulta recursiva desde el cliente DNS.


2. El servidor A envía una consulta iterativa a B.
3. El servidor B refiere a A otro servidor de nombres, incluyendo a C.
4. El servidor A envía una consulta iterativa a C.
5. El servidor C refiere a A otro servidor de nombres, incluyendo a D.
6. El servidor A envía una consulta iterativa a D.
7. El servidor D responde.
8. El servidor A regresa la respuesta al resolver.
9. El resolver entrega la resolución al programa que solicitó la información.
Registros de Recursos

Cada dominio, sea un host individual o un dominio de nivel superior, puede tener un gripo de registros
de recursos asociados a él. En un host individual, el registro de recursos más común es simplemente su
dirección de IP, pero existen muchos otros registros que pueden asociarse a él. Cuando un resolvedor
(es el elemento del navegador web o del sistema operativo que realiza las peticiones al servidor DNS) da
un nombre de dominio al DNS, lo que recibe son los registros de recursos asociados a ese nombre. Por lo
tanto la función real del DNS es relacionar dominios de nombre con los registros de recursos.

El formato es el siguiente:

NombreDominio TiempoDeVida Clase Tipo Valor

 NombreDominio: Indica el dominio al que pertenece ese registro.


 TiempoDeVida: Indica la estabilidad del registro en segundos, una información estable recibe un
valor alto, mientras que una inestable recibirá un valor bajo.
 Clase: Indica la clase, por ejemplo para información sobre internet dirá IN
 Tipo: Indica el tipo de registro, algunos ejemplos pueden ser:
o SOA = Start of authority – (Autoridad de la zona) Proporciona información sobre la zona.
Proporciona el nombre de la fuente primaria de información sobre la zona del servidor
de nombres.
o A = Address – (Dirección) Este registro se usa para traducir nombres de hosts a
direcciones IPv4 ya que contiene la dirección IP de algún host.
o MX (registro) = Mail Exchange – (Registro de Intercambio de Correo) Asocia un nombre
de dominio a una lista de servidores de intercambio de correo para ese dominio.
o NS = Name Serveri – (Servidor de Nombres) Define la asociación que existe entre un
nombre de dominio y los servidores de nombres que almacenan la información de dicho
dominio. Cada dominio se puede asociar a una cantidad cualquiera de servidores de
nombres.
o CNAME = Canonical Name – (Nombre Canónico) Se usa para crear nombres de hosts
adicionales, o alias, para los hosts de un dominio. Es usado cuando se están corriendo
múltiples servicios (como ftp y web server) en un servidor con una sola direccion ip.
Cada servicio tiene su propia entrada de DNS (como ftp.ejemplo.com. y
www.ejemplo.com.). esto también es usado cuando corres múltiples servidores http,
con diferentes nombres, sobre el mismo host.
o PTR = Pointer – (Indicador) También conocido como 'registro inverso', funciona a la
inversa del registro A, traduciendo IPs en nombres de dominio.
o HINFO = Host INFOrmation – (Información del sistema informático) Descripción del host,
permite que la gente conozca el tipo de máquina y sistema operativo al que
corresponde un dominio.
o TXT = TeXT - (Información textual) Permite a los dominios identificarse de modos
arbitrarios.

Temas del programa no abordados: Configuración de servidores DNS.


File Transfer Protocol (FTP)

FTP (sigla en inglés de File Transfer Protocol - Protocolo de Transferencia de Archivos) en informática, es
un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP
(Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se
puede conectar a un servidor para descargar archivos desde él o para enviarle archivos,
independientemente del sistema operativo utilizado en cada equipo.

El Servicio FTP es ofrecido por la capa de Aplicación del modelo de capas de red TCP/IP al usuario,
utilizando normalmente el puerto de red 20 y el 21. Un problema básico de FTP es que está pensado
para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el
intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia
de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante
puede capturar este tráfico, acceder al servidor, o apropiarse de los archivos transferidos (para
solucionar este problema son de gran utilidad aplicaciones como scp y sftp).

Con la llegada del World Wide Web, y de los navegadores, ya no es necesario conocer los complejos
comandos de FTP, este protocolo se puede utilizar escribiendo la URL del servidor al que queramos
conectar en el navegador web, indicando con ftp:// que vamos a contactar con un servidor ftp y no con
un servidor web (que sería http:// ).

El Modelo FTP

En el modelo, el intérprete de protocolo (PI) de usuario, inicia la conexión de control en el puerto 21. Las
órdenes FTP estándar las genera el PI de usuario y se transmiten al proceso servidor a través de la
conexión de control. Las respuestas estándar se envían desde el PI del servidor al PI de usuario por la
conexión de control como respuesta a las órdenes.

Estas órdenes FTP especifican parámetros para la conexión de datos (puerto de datos, modo de
transferencia, tipo de representación y estructura) y la naturaleza de la operación sobre el sistema de
archivos (almacenar, recuperar, añadir, borrar, etc.). El proceso de transferencia de datos (DTP) de
usuario u otro proceso en su lugar, debe esperar a que el servidor inicie la conexión al puerto de datos
especificado (puerto 20 en modo activo o estándar) y transferir los datos en función de los parámetros
que se hayan especificado.

La conexión de datos es bidireccional, es decir, se puede usar simultáneamente para enviar y para
recibir, y no tiene por qué existir todo el tiempo que dura la conexión FTP.

Servidor FTP

Un servidor FTP es un programa especial que se ejecuta en un equipo servidor normalmente conectado
a Internet (aunque puede estar conectado a otros tipos de redes, LAN, MAN, etc.). Su función es
permitir el intercambio de datos entre diferentes servidores/ordenadores.

Las aplicaciones más comunes de los servidores FTP suelen ser el alojamiento web o como servidor de
backup de los archivos importantes que pueda tener una empresa (se cifran los datos con SFTP).

Cliente FTP

Un cliente FTP es un programa que se instala en el ordenador del usuario, y que emplea el protocolo FTP
para conectarse a un servidor FTP y transferir archivos, ya sea para descargarlos o para subirlos.

Para utilizar un cliente FTP, se necesita conocer el nombre del archivo, el ordenador en que reside
(servidor, en el caso de descarga de archivos), el ordenador al que se quiere transferir el archivo (en
caso de querer subirlo nosotros al servidor), y la carpeta en la que se encuentra.

Algunos clientes de FTP básicos en modo consola vienen integrados en los sistemas operativos, sin
embargo, hay disponibles clientes con opciones añadidas e interfaz gráfica, aunque muchos
navegadores tienen ya integrado FTP.

Tipos de acceso

 Acceso anónimo: Los servidores FTP anónimos ofrecen sus servicios libremente a todos los
usuarios, permiten acceder a sus archivos sin necesidad de tener un 'USER ID' o una cuenta de
usuario. Es la manera más cómoda fuera del servicio web de permitir que todo el mundo tenga
acceso a cierta información, aunque con menos privilegios que un usuario normal.
Normalmente solo podrás leer y copiar los archivos existentes, pero no modificarlos ni crear
otros nuevos. Por lo general, se utiliza un servidor FTP anónimo para depositar grandes archivos
que no tienen utilidad si no son transferidos a la máquina del usuario, como por ejemplo
programas, y se reservan los servidores de páginas web (HTTP) para almacenar información
textual destinada a la lectura en línea.
 Acceso de usuario: Si se desea tener privilegios de acceso a cualquier parte del sistema de
archivos del servidor FTP, de modificación de archivos existentes, y de posibilidad de subir
nuestros propios archivos, generalmente se suele realizar mediante una cuenta de usuario. En el
servidor se guarda la información de las distintas cuentas de usuario que pueden acceder a él,
de manera que para iniciar una sesión FTP debemos introducir una autentificación (login) y una
contraseña (password) que nos identifica unívocamente.
 Acceso de invitado: El acceso sin restricciones al servidor que proporcionan las cuentas de
usuario implica problemas de seguridad, lo que ha dado lugar a un tercer tipo de acceso FTP
denominado invitado (guest), que se puede contemplar como una mezcla de los dos anteriores.
La idea de este mecanismo es la siguiente: se trata de permitir que cada usuario conecte a la
máquina mediante su login y su password, pero evitando que tenga acceso a partes del sistema
de archivos que no necesita para realizar su trabajo, de esta forma accederá a un entorno
restringido, algo muy similar a lo que sucede en los accesos anónimos, pero con más privilegios.

Cliente FTP basado en Web

Un 'cliente FTP basado en WEB' no es más que un Cliente FTP al cual podemos acceder a través de
nuestro Navegador Web sin necesidad de tener otra aplicación para ello. El usuario accede a un servidor
web (http) que lista los contenidos de un servidor ftp. El usuario se conecta mediante http a un servidor
web, y el servidor web se conecta mediante ftp al servidor ftp. El servidor web actúa de intermediario
haciendo pasar la información desde el servidor ftp en los puertos 20 y 21 hacia el puerto 80 http que ve
el usuario.

Modos de conexión del cliente FTP

FTP admite dos modos de conexión del cliente. Estos modos se denominan Activo (o Estándar, o PORT,
debido a que el cliente envía comandos tipo PORT al servidor por el canal de control al establecer la
conexión) y Pasivo (o PASV, porque en este caso envía comandos tipo PASV). Tanto en el modo Activo
como en el modo Pasivo, el cliente establece una conexión con el servidor mediante el puerto 21, que
establece el canal de control.

Modo Activo

En modo Activo, el servidor siempre crea el canal de datos en su puerto 20, mientras que en el lado del
cliente el canal de datos se asocia a un puerto aleatorio mayor que el 1024. Para ello, el cliente manda
un comando PORT al servidor por el canal de control indicándole ese número de puerto, de manera que
el servidor pueda abrirle una conexión de datos por donde se transferirán los archivos y los listados, en
el puerto especificado.
Lo anterior tiene un grave problema de seguridad, y es que la máquina cliente debe estar dispuesta a
aceptar cualquier conexión de entrada en un puerto superior al 1024, con los problemas que ello implica
si tenemos el equipo conectado a una red insegura como Internet. De hecho, los cortafuegos que se
instalen en el equipo para evitar ataques seguramente rechazarán esas conexiones aleatorias. Para
solucionar esto se desarrolló el modo Pasivo.

Modo Pasivo

Cuando el cliente envía un comando PASV sobre el canal de control, el servidor FTP le indica por el canal
de control, el puerto (mayor a 1023 del servidor. Ej:2040 ) al que debe conectarse el cliente. El cliente
inicia una conexión desde el puerto siguiente al puerto de control (Ej: 1036) hacia el puerto del servidor
especificado anteriormente (Ej: 2040).

Antes de cada nueva transferencia, tanto en el modo Activo como en el Pasivo, el cliente debe enviar
otra vez un comando de control (PORT o PASV, según el modo en el que haya conectado), y el servidor
recibirá esa conexión de datos en un nuevo puerto aleatorio (si está en modo pasivo) o por el puerto 20
(si está en modo activo).

Tipos de transferencia de archivos en FTP

Es importante conocer cómo debemos transportar un archivo a lo largo de la red. Si no utilizamos las
opciones adecuadas podemos destruir la información del archivo. Por eso, al ejecutar la aplicación FTP,
debemos acordarnos de utilizar uno de estos comandos (o poner la correspondiente opción en un
programa con interfaz gráfica):

 type ascii

Adecuado para transferir archivos que sólo contengan caracteres imprimibles (archivos ASCII, no
archivos resultantes de un procesador de texto), por ejemplo páginas HTML, pero no las imágenes que
puedan contener.
 type binary

Este tipo es usado cuando se trata de archivos comprimidos, ejecutables para PC, imágenes, archivos de
audio, etc.

EXTENSION DEL ARCHIVO TIPO DE TRANSFERENCIA


txt (texto) ascii
html (página WEB) ascii
doc (documento) binario
ZIP (comprimido) binario

Guía de comandos FTP

Comando y argumentos Acción que realiza


open servidor Inicia una conexión con un servidor FTP
close o disconnect Finaliza una conexión FTP sin cerrar el programa cliente
bye o quit Finaliza una conexión FTP y la sesión de trabajo con el programa cliente
cd directorio Cambia el directorio de trabajo en el servidor
delete archivo Borra un archivo en el servidor
mdelete patrón Borra múltiples archivos basado en un patrón que se aplica al nombre
dir Muestra el contenido del directorio en el que estamos en el servidor
get archivo Obtiene un archivo
mget archivos Obtiene múltiples archivos
ls Muestra el contenido del directorio en el servidor
put archivo Envía un archivo al directorio activo del servidor
mput archivos Envía múltiples archivos
pwd Muestra el directorio activo en el servidor
rename archivo Cambia el nombre a un archivo en el servidor
rmdir directorio Elimina un directorio en el servidor si ese directorio esta vacío
bin o binary Activa el modo de transferencia binario
ascii Activa el modo de transferencia en modo texto ASCII
? nombre de comando Muestra la información relativa al comando
? o help Muestra una lista de los comandos disponibles
mkdir Crea el directorio indicado de forma remota
user Para cambiar nuestro nombre de usuario y contraseña sin necesidad de salir
de la sesión ftp.--

Trivial File Transfer Protocol (TFTP)

TFTP son las siglas de Trivial file transfer Protocol (Protocolo de transferencia de archivos trivial).

Es un protocolo de transferencia muy simple semejante a una versión básica de FTP. TFTP a menudo se
utiliza para transferir pequeños archivos entre ordenadores en una red, como cuando un terminal X
Window o cualquier otro cliente ligero que arranque desde un servidor de red.
Características de TFTP:

 Utiliza UDP (en el puerto 69) como protocolo de transporte (a diferencia de FTP que utiliza el
puerto 21 TCP).
 No puede listar el contenido de los directorios.
 No existen mecanismos de autenticación o cifrado.
 Se utiliza para leer o escribir archivos de un servidor remoto.
 Soporta tres modos diferentes de transferencia, "netascii", "octet" y "mail", de los que los dos
primeros corresponden a los modos "ascii" e "imagen" (binario) del protocolo FTP.

Detalles de una sesión TFTP

Ya que TFTP utiliza UDP, no hay una definición formal de sesión, cliente y servidor. Sin embargo, cada
archivo transferido vía TFTP constituye un intercambio independiente de paquetes, y existe una relación
cliente-servidor informal entre la máquina que inicia la comunicación y la que responde.

 La máquina A, que inicia la comunicación, envía un paquete RRQ (read request/petición de


lectura) o WRQ (write request/petición de escritura) a la máquina B, conteniendo el nombre del
archivo y el modo de transferencia.
 B responde con un paquete ACK (acknowledgement/confirmación), que también sirve para
informar a A del puerto de la máquina B al que tendrá que enviar los paquetes restantes.
 La máquina origen envía paquetes de datos numerados a la máquina destino, todos excepto el
último conteniendo 512 bytes de datos. La máquina destino responde con paquetes ACK
numerados para todos los paquetes de datos.
 El paquete de datos final debe contener menos de 512 bytes de datos para indicar que es el
último. Si el tamaño del archivo transferido es un múltiplo exacto de 512 bytes, el origen envía
un paquete final que contiene 0 bytes de datos.

Temas del programa no abordados: Configuración TFTP.

Simple Network Management Protocol

El Protocolo Simple de Administración de Red o SNMP es un protocolo de la capa de aplicación que


facilita el intercambio de información de administración entre dispositivos de red. Es parte de la familia
de protocolos TCP/IP. SNMP permite a los administradores supervisar el funcionamiento de la red,
buscar y resolver sus problemas, y planear su crecimiento.

Componentes básicos

Una red administrada a través de SNMP consiste de tres componentes claves:

 Dispositivos administrados: Un dispositivo administrado es un nodo de red que contiene un


agente SNMP y reside en una red administrada. Estos recogen y almacenan información de
administración, la cual es puesta a disposición de los NMS’s usando SNMP. Los dispositivos
administrados, a veces llamados elementos de red, pueden ser routers, servidores de acceso,
switches, bridges, hubs, computadores o impresoras.
 Agentes: Un agente es un módulo de software de administración de red que reside en un
dispositivo administrado. Un agente posee un conocimiento local de información de
administración (memoria libre, número de paquetes IP recibidos, rutas, etcétera), la cual es
traducida a un formato compatible con SNMP y organizada en jerarquías.
 Sistemas administradores de red (NMS’s): Un NMS ejecuta aplicaciones que supervisan y
controlan a los dispositivos administrados. Los NMS’s proporcionan el volumen de recursos de
procesamiento y memoria requeridos para la administración de la red. Uno o más NMS’s deben
existir en cualquier red administrada.

Comandos básicos

Los dispositivos administrados son supervisados y controlados usando cuatro comandos SNMP básicos:
lectura, escritura, notificación y operaciones transversales.

 El comando de lectura es usado por un NMS para supervisar elementos de red. El NMS examina
diferentes variables que son mantenidas por los dispositivos administrados.
 El comando de escritura es usado por un NMS para controlar elementos de red. El NMS cambia
los valores de las variables almacenadas dentro de los dispositivos administrados.
 El comando de notificación es usado por los dispositivos administrados para reportar eventos en
forma asíncrona a un NMS. Cuando cierto tipo de evento ocurre, un dispositivo administrado
envía una notificación al NMS.
 Las operaciones transversales son usadas por el NMS para determinar qué variables soporta un
dispositivo administrado y para recoger secuencialmente información en tablas de variables,
como por ejemplo, una tabla de rutas.
Base de información de administración SNMP (MIB)

Una Base de Información de Administración (MIB) es una colección de información que está organizada
jerárquicamente. Las MIB’s son accedidas usando un protocolo de administración de red, como por
ejemplo, SNMP.

Un objeto administrado (algunas veces llamado objeto MIB, objeto, o MIB) es uno de cualquier número
de características específicas de un dispositivo administrado. Los objetos administrados están
compuestos de una o más instancias de objeto, que son esencialmente variables.

Existen dos tipos de objetos administrados:

 Escalares: Los objetos escalares definen una simple instancia de objeto.


 Tabulares: Los objetos tabulares definen múltiples instancias de objeto relacionadas que están
agrupadas conjuntamente en tablas MIB.

Un identificador de objeto (object ID) identifica un objeto administrado en la jerarquía MIB. La jerarquía
MIB puede ser representada como un árbol con una raíz anónima y los niveles, que son asignados por
diferentes organizaciones.

Los identificadores de los objetos ubicados en la parte superior del árbol pertenecen a diferentes
organizaciones estándares, mientras los identificadores de los objetos ubicados en la parte inferior del
árbol son colocados por las organizaciones asociadas.
Los vendedores pueden definir ramas privadas que incluyen los objetos administrados para sus propios
productos. Las MIB’s que no han sido estandarizadas típicamente están localizadas en la rama
experimental.

El objeto administrado atInput podría ser identificado por el nombre de objeto iso.identified-
organization.dod.internet.private.enterprise.cisco.temporary.AppleTalk.atInput o por el descriptor de
objeto equivalente 1.3.6.1.4.1.9.3.3.1.

Mensajes SNMP

Para realizar las operaciones básicas de administración anteriormente nombradas, el protocolo SNMP
utiliza un servicio no orientado a la conexión (UDP) para enviar un pequeño grupo de mensajes (PDUs)
entre los administradores y agentes. La utilización de un mecanismo de este tipo asegura que las tareas
de administración de red no afectarán al rendimiento global de la misma, ya que se evita la utilización
de mecanismos de control y recuperación como los de un servicio orientado a la conexión, por ejemplo
TCP.

Los puertos comúnmente utilizados para SNMP son los siguientes:

Número Descripción
161 SNMP
162 SNMP-trap

Los paquetes utilizados para enviar consultas y respuestas SNMP poseen el siguiente formato:

Versión Comunidad SNMP PDU

 Versión: Número de versión de protocolo que se está utilizando (por ejemplo 1 para SNMPv1);
 Comunidad: Nombre o palabra clave que se usa para la autenticación. Generalmente existe una
comunidad de lectura llamada "public" y una comunidad de escritura llamada "private";
 SNMP PDU: Contenido de la unidad de datos del protocolo, el que depende de la operación que
se ejecute.

GetRequest: A través de este mensaje el NMS solicita al agente retornar el valor de un objeto de interés
mediante su nombre.

GetNextRequest: Este mensaje es usado para recorrer una tabla de objetos. Una vez que se ha usado un
mensaje GetRequest para recoger el valor de un objeto, puede ser utilizado el mensaje GetNextRequest
para repetir la operación con el siguiente objeto de la tabla.

SetRequest: Este tipo de mensaje es utilizado por el NMS para solicitar a un agente modificar valores de
objetos. Para realizar esta operación el NMS envía al agente una lista de nombres de objetos con sus
correspondientes valores.

GetResponse: Este mensaje es usado por el agente para responder un mensaje GetRequest,
GetNextRequest, o SetRequest. En el campo "Identificador de Request" lleva el mismo identificador que
el "request" al que está respondiendo.
Trap: Una trap es generado por el agente para reportar ciertas condiciones y cambios de estado a un
proceso de administración (el formato de la PDU es diferente).

GetBulkRequest: Este mensaje es usado por un NMS que utiliza la versión 2 ó 3 del protocolo SNMP
típicamente cuando es requerida una larga transmisión de datos, tal como la recuperación de largas
tablas.

InformRequest: Un NMS que utiliza la versión 2 ó 3 del protocolo SNMP transmite un mensaje de este
tipo a otro NMS con las mismas características, para notificar información sobre objetos administrados.

SNMP puede utilizarse para:

 Configurar dispositivos remotos. La información de configuración puede enviarse a cada host


conectado a la red desde el sistema de administración.

 Supervisar el rendimiento de la red. Puede hacer un seguimiento de la velocidad de


procesamiento y el rendimiento de la red, y recopilar información acerca de las transmisiones
de datos.

 Detectar errores en la red o accesos inadecuados. Puede configurar las alarmas que se
desencadenarán en los dispositivos de red cuando se produzcan ciertos sucesos. Cuando se
dispara una alarma, el dispositivo envía un mensaje de suceso al sistema de administración.
Entre las causas más frecuentes de alarma se incluye un dispositivo que se cierra y se reinicia, un
error de un vínculo detectado en un enrutador y un acceso inadecuado.

 Auditar el uso de la red. Puede supervisar el uso general de la red para identificar el acceso de
un grupo o usuario, y los tipos de uso de servicios y dispositivos de la red. Puede utilizar esta
información para generar una facturación directa de las cuentas o para justificar los costos
actuales de la red y los gastos planeados.

Correo Electrónico

Correo electrónico, o en inglés e-mail (electronic mail), es un servicio de red que permite a los usuarios
enviar y recibir mensajes rápidamente mediante sistemas de comunicación electrónicos. Principalmente
se usa este nombre para denominar al sistema que provee este servicio en Internet, mediante el
protocolo SMTP, aunque por extensión también puede verse aplicado a sistemas análogos que usen
otras tecnologías. Por medio de mensajes de correo electrónico se puede enviar, no solamente texto,
sino todo tipo de documentos digitales. Su eficiencia, conveniencia y bajo coste (con frecuencia nulo)
están logrando que el correo electrónico desplace al correo ordinario para muchos usos habituales.

Arquitectura y Servicios

Los sistemas de correo electrónico pueden ser divididos en dos subsistemas:

 Agentes de usuario, que permiten a la gente leer y enviar correo electrónico.


 Agentes de transferencia de mensajes, que mueven los mensajes del origen al destino.
Por lo general los sistemas de correo electrónico desempeñan cinco funciones básicas:

 Redacción, es el proceso mediante el cual se crean mensajes y respuestas.


 Transferencia, se refiere a mover el mensaje del remitente hacia el destinatario.
 Generación del informe, indica al remitente lo que ocurrió con el informe.
 Visualización, permite ver los mensajes de entrada para leerlos.
 Disposición, es el paso final y tiene que ver con lo que el destinatario hace con el mensaje una
vez que lo recibe (leerlo, eliminarlo, guardarlo, etc.).

Otros servicios que brinda el correo electrónico son, permitir crear buzones de correo para el
almacenamiento de los mensajes, tener listas de correo y al enviar un mensaje a la lista que este se
envíe a todas las direcciones que pertenecen a la lista, crear copias, correo electrónico de alta prioridad,
correo electrónico secreto (encriptado), destinatarios alternos si es que el primero no se encuentra
disponible, etc.

Formato del mensaje

Una idea clave de todos los sistemas modernos de correo electrónico es la distinción entre el sobre y su
contenido.

 Sobre: Encapsula el mensaje y contiene toda la información necesaria para trasportar el


mensaje (dirección de destino, prioridad, nivel de seguridad). Los agentes de transporte
utilizarán el sobre para enrutar al igual que la oficina postal.
 Mensaje: El mensaje dentro del sobre contiene dos partes:
o Encabezado: Contiene información de control para los agentes de usuario. Cada campo
del encabezado es una sola línea de texto con el formato “nombreCapo:Valor”. Los
usuarios pueden inventar nuevos capos de encabezado para uso privado siempre y
cuando comiencen con “X-nombreDelEncabezado“, algunos campos conmúnmente
utilizados son:
 To: Indica la dirección DNS del destinatario primario.
 Cc: Indica la dirección de los destinatarios secundarios (en términos de entrega
no existe diferencia alguna entre los destinatarios primarios y secundarios).
 Bcc: Permite mandar copiar sin que los destinatarios sepan a quienes otros
estaba dirigido el mensaje.
 From: Indica la persona que creó el mensaje (puede ser distinto de quien envía).
 Sender: Indica la dirección DNS del remitente.
 Received: Esta línea la agrega cada agente de transferencia en la ruta (para
detectar errores).
 Return-Path: Puede usarse para identificar una ruta de regreso al remitente.
 Subject: Resumen del mensaje.
 Date: Fecha y hora en que el mensaje fue enviado.
 Etc.
o Cuerpo: Es por completo para el destinatario humano. Los usuarios pueden escribir en
ASCII el contenido del mensaje que será leído por el/los destinatarios.
Multipurpose Internet Mail Extensions (MIME)

Antiguamente los correos electrónicos eran solo mensajes ASCII en inglés. Hoy existen mensajes en
idiomas con acentos, con caracteres chinos o japoneses, y mensajes con imágenes, audio y video.

La idea básica de MIME es continuar usando el formato de los mensajes de correo electrónico, pero
agregar una estructura al cuerpo del mensaje y definir reglas de codificación para mensajes no ASCII. Al
mantener el formato de los mensajes de correo electrónico existentes, los mensajes MIME pueden ser
enviados usando los protocolos existentes (solo cambiar los programas emisores y receptores).

MIME define cinco nuevos encabezados de mensaje:

Encabezado Significado
MIME-Version Indica la versión de MIME utilizada
Content-Description Cadena de texto que describe el contenido
Conten-Id Identificador único del contenido
Content-Transfer-Encoding Cómo se envuelve el mensaje para su transmisión
Conten-Type Naturaleza del mensaje

Agente de Usuario

Un agente de usuario normalmente es un programa que acepta una variedad de comandos para
redactar, recibir y contestar los mensajes, así como para manipular el buzón de correo. Algunos agentes
de usuario tiene interfaz y otros trabajan por líneas de comando pero funcionalmente son iguales.

 Envío de correo electrónico: Para enviar un mensaje el usuario debe proporcionar el mensaje, la
dirección de destino y, posiblemente, algunos otros parámetros. La dirección de destino debe
estar en un formato que el agente de usuario pueda maneja, mucho esperan direcciones DNS de
la forma usuario@direccion-dns.
 Lectura de correo electrónico: Normalmente, cuando se inicia un agente de usuario, buscará en
el buzón del usuario el correo electrónico recibido, antes de presentar otra cosa en la pantalla.
Después de anunciará la cantidad de mensajes en el buzón y/o presentar un resumen de cada
uno y esperará algún comando. Una vez realizado esto el usuario podrá leer, eliminar mensajes,
etc.

Transferencia de Mensajes

Simple Mail Tranfer Protocol (SMTP)

En internet, el correo electrónico se entrega al hacer que la máquina de origen establezca una conexión
TCP con el puerto 25 de la máquina de destino. Escuchando en este puerto está un demonio de correo
electrónico que habla con el SMTP. Este demonio acepta conexiones de entrada y copia mensajes de ella
a los buzones adecuados. Si no puede entregarse un mensaje, se devuelve al remitente un informe de
error que contiene la primera parte del mensaje que no pudo entregarse.

Después de establecer la conexión TCP con el puerto 25, la máquina emisora, operando como cliente,
espera que la máquina receptora envíe una línea de texto que proporciona su identidad e indica si está
preparado o no para recibir correo. Si no lo está, el cliente libera la conexión y lo intenta después. Si está
dispuesto a aceptar correo electrónico, el cliente anuncia de quién proviene el mensaje, y a quien está
dirigido, si existe ese destinatario en el destino, el servidor da permiso al cliente de enviar su mensaje. A
continuación el cliente envía el mensaje y el servidor confirma su recepción. Una vez que todo el correo
que haya para enviar se ha intercambiado, se libera la conexión TCP.

Pero existe el siguiente problema, ¿Qué ocurre si la máquina A quiere enviarle un correo a la máquina B
y esta no está encendida? La máquina B no podrá recibir correo siendo que este servicio debería
funcionar las 24 hs. Una solución sería que el ISP de la máquina B tenga su buzón y reciba los correos por
ella y luego la máquina B consulte su buzón al ISP. Pero esta solución genera otro problema y es, ¿Cómo
obtiene la máquina B el correo electrónico del agente de transferencia de mensajes del ISP?

Post Office Protocol 3 (POP3)

Es un protocolo que permite que los agentes de transferencia de usuarios en las PC de los clientes,
contacten al agente de transferencia de mensajes en la máquina del ISP y que el correo electrónico se
copie del ISP al usuario. POP3 inicia cuando el usuario arranca el lector de correo, éste llama al ISP y
establece una conexión TCP con el agente de transferencia de mensajes en el puerto 110. Una vez que
se ha establecido la conexión, el protocolo POP3 pasa por tres estados de secuencia:

 Autorización, tiene que ver con el inicio de sesión por parte del usuario.
 Transacciones, se relaciona con el hecho de que el usuario colecte los mensajes de correo
electrónico y los marque para eliminación del buzón.
 Actualización, se encarga de que los mensajes de correo electrónico sean realimente eliminados
del ISP.

El problema de este protocolo es que descarga los mensajes en el disco duro de la PC cliente para que
sea leídos.

Internet Message Access Protocol (IMAP)

A diferencia de POP3, que asume que el usuario vaciará el buzón de cada contacto y trabajará sin
conexión después de eso, IMAP supone que todo el correo electrónico permanecerá en el servidor de
manera indefinida en múltiples buzones de correo. IMAP proporciona mecanismos de gran alcance para
leer mensajes o incluso partes de un mensaje y que permite grandes archivos adjuntos de audio y video;
además proporciona mencanismos para crear, destruir y manipular múltiples buzones en el servidor
(para usar uno para cada contacto). El servidor IMAP escucha el puerto 143.
Esquema de un caso típico

En este ejemplo ficticio, Ana (ana@a.org) envía un correo a Bea (bea@b.com). Cada persona está en un
servidor distinto (una en a.org, otra en b.com), pero éstos se pondrán en contacto para transferir el
mensaje. Por pasos:

1. Ana escribe el correo en su programa cliente de correo electrónico. Al darle a Enviar, el


programa contacta con el servidor de correo usado por Ana (en este caso, smtp.a.org). Se
comunica usando un lenguaje conocido como protocolo SMTP. Le transfiere el correo, y le da la
orden de enviarlo.
2. El servidor SMTP ve que ha de entregar un correo a alguien del dominio b.com, pero no sabe
con qué ordenador tiene que contactar. Por eso consulta a su servidor DNS (usando el protocolo
DNS), y le pregunta quién es el encargado de gestionar el correo del dominio b.com.
Técnicamente, le está preguntando el registro MX asociado a ese dominio.
3. Como respuesta a esta petición, el servidor DNS contesta con el nombre de dominio del servidor
de correo de Bea. En este caso es mx.b.com; es un ordenador gestionado por el proveedor de
Internet de Bea.
4. El servidor SMTP (smtp.a.org) ya puede contactar con mx.b.com y transferirle el mensaje, que
quedará guardado en este ordenador. Se usa otra vez el protocolo SMTP.
5. Más adelante (quizás días después), Bea aprieta el botón "Recibir nuevo correo" en su programa
cliente de correo. Esto empieza una conexión, mediante el protocolo POP3 o IMAP, al ordenador
que está guardando los correos nuevos que le han llegado. Este ordenador (pop3.b.com) es el
mismo que el del paso anterior (mx.b.com), ya que se encarga tanto de recibir correos del
exterior como de entregárselos a sus usuarios. En el esquema, Bea recibe el mensaje de Ana
mediante el protocolo POP3.

Ésta es la secuencia básica, pero pueden darse varios casos especiales:

 Si ambas personas están en la misma red (una Intranet de una empresa, por ejemplo), entonces
no se pasa por Internet. También es posible que el servidor de correo de Ana y el de Bea sean el
mismo ordenador.
 Ana podría tener instalado un servidor SMTP en su ordenador, de forma que el paso 1 se haría
en su mismo ordenador. De la misma forma, Bea podría tener su servidor de correo en el propio
ordenador.
 Una persona puede no usar un programa de correo electrónico, sino un webmail. El proceso es
casi el mismo, pero se usan conexiones HTTP al webmail de cada usuario en vez de usar SMTP o
IMAP/POP3.
 Normalmente existe más de un servidor de correo (MX) disponible, para que aunque uno falle,
se siga pudiendo recibir correo.

Confidencialidad en el Correo Electrónico

Cuando se envía un correo electrónico entre dos sitios distantes, por lo general pasará por muchas
maquinas hasta llegar a su destino. Cualquiera de estas máquinas puede leer y registrar el mensaje. En
la práctica no existe la privacidad, a diferencia de lo que muchos piensas. Un sistema seguro y
ampliamente utilizado para brindar privacidad es PGP (Privacidad Bastante Buena).

PGP encripta los datos utilizando un cifrado de bloques llamado IDEA (Algoritmo Internacional de
Encriptación de Datos), que utiliza claves de 128bits. De manera conceptual, IDEA mezcla los bits en una
serie de rondas, y para la administración de claves utiliza RSA.

PGP soporta la compresión de texto, confidencialidad y firmas digitales, además de que proporciona
características de administración extensa de claves.

Temas del programa no abordados: Configuración de servidores de correo electrónico.

World Wide Web (www)

En informática, la World Wide Web, cuya traducción podría ser Red Global Mundial, es un sistema de
documentos de hipertexto y/o hipermedios enlazados y accesibles a través de Internet. Con un
navegador web, un usuario visualiza sitios web compuestos de páginas web que pueden contener texto,
imágenes, videos u otros contenidos multimedia, y navega a través de ellas usando hiperenlaces.

La www comenzó en 1989 en el CERN (Centro Europeo de Investigación Nuclear) y surgió por la
necesidad de lograr que los grandes grupos de investigación dispersos internacionalmente, colaboren
usando un conjunto siempre cambiante de informes, planos, dibujos, fotos y otros documentos.
Arquitectura

Desde el punto de vista del usuario, Web consiste en un enorme conjunto de documentos a nivel
mundial, generalmente llamados páginas web. Cada página puede contener vínculos a otras páginas
relacionadas en cualquier lugar del mundo.
Las páginas se ven mediante un programa llamado navegador, el cual obtiene la página solicitada,
interpreta el texto y los comandos de formateo que contienen, y despliega la página formateada en
pantalla, las cadenas de texto que son vínculos a otras páginas son llamadas hipervínculos y con solo
hacer un click podremos solicitar al navegador que cargue esa otra página web.

Funcionamiento del Cliente

Un navegador es un programa que permite desplegar una página web y atrapar distintos eventos (clicks,
tipeos, etc.) que se realicen a los elementos de las páginas.
Las páginas se nombran utilizando URLs (Localizadores Uniformes de Recursos, por ejemplo
http://www.abc.com/home.html), que sirven efectivamente como nombre mundial de la página.
Una URL tiene tres partes:

 Nombre del protocolo (http).


 Nombre del DNS de la máquina donde se localiza la página (www.abc.com).
 Nombre del archivo que contiene la página (home.html).

Cuando trata de visualizarse una página en el navegador, éste realiza una serie de pasos:

 El navegador recibe la URL y pide al servidor DNS la dirección IP de www.abc.com


 El DNS responde con 156.242.125.26, y el navegador realiza una conexión TCP con el puerto 80
de dicha IP.
 El navegador envía un mensaje solicitando el archivo /home.html y el servidor www.abc.com lo
envía
 Se libera la conexión TCP y el navegador despliega el contenido del archivo.

Aunque in navegador es básicamente un intérprete HTML, la mayoría de los navegadores tienen otras
características que facilitan y mejoran la experiencia de navegación web. No todas las páginas contiene
HTML y un servidor puede regresar información adicional del tipo MIME sobre una página. El navegador
deberá utilizar un visor de acuerdo al tipo MIME del contenido, este visor puede venir incorporado al
navegador o se incorpora mediante plug-ins o aplicaciones auxiliares (Acrobat Reader por ejemplo).
Un navegador puede soportar el uso de varios protocolos como ser:

Nombre Usado para Ejemplo


http Hipertexto (HTML) http://www.abc.com/def.html
ftp FTP ftp://ftp.abc.com/doc/readme.txt
File Archivo Local file:///C:/
News Grupo de noticias news:comp.os.minix
News Artículo news:AA215saA5@abc.com
Gopher Gopher Gopher://gopher.abc.com/lalo
mailto Envío de correo electrónico mailto:usuario@abc.com
telnet Inicio de sesión remota telnet://www.abc.com:80
Funcionamiento del Servidor

Cuando un usuario teclea un URL o hace click en un hipervínculo, el navegador lo analiza e interpreta la
parte entre http://(DNS)/ como un nombre DNS a buscar y realiza los pasos antes mencionados para
mostrar el contenido en el navegador.
Los pasos que da el servidor son:

 Acepta una conexión TCP de un cliente.


 Obtiene el nombre del archivo solicitado.
 Obtiene el archivo solicitado (de su disco).
 Regresa el archivo al cliente.
 Libera la conexión TCP.

El problema de este diseño es que cada solicitud requiere de un acceso al disco para obtener el archivo,
por lo que una mejora sería mantener en caché los n archivos más recientemente utilizados y verificar la
caché antes de ir al disco a buscar el archivo.
Un servidor moderno hace más que solo aceptar conexiones y regresar archivos:

 Resuelve el nombre de la página web solicitada.


 Autentica al cliente.
 Realiza control de acceso al cliente.
 Realiza control de acceso a la página web.
 Verifica caché.
 Obtiene del disco la página solicitada (si no está en caché).
 Determina el tipo de MIME que se incluirá en la respuesta.
 Regresa la respuesta al cliente.
 Realiza una entrada en el registro del servidor.

Cookies

Cuando un navegador solicita un página, el servidor puede proporcionar información adicional junto con
la página, está información puede ser almacenada en una cookie en disco duro (si el cliente lo permite).
Una cookie puede pesar hasta 4KB y tener el siguiente formato:

Dominio Ruta Contenido Expira Seguro


toms-casino.com / CustomerID=95468 15/01/2010 17:00 Si
portal.com / UserID=lolito 10/01/2010 13:00 No

 Dominio, indica de donde viene la cookie.


 Ruta, es la ruta en la estructura del directorio del servidor que identifica qué parte del árbol es.
 Contenido, de la forma “nombre=valor”, pueden ser lo que el servidor desee.
 Expira, especifica cuándo caduca la cookie (cookie no persistente, no tiene valor en el campo
expira y es eliminada cuando se cierra el navegador).
 Seguro, se utiliza para comercio electrónico.
Documentos Estáticos

En la forma más simple, las páginas web son estáticas, es decir, son simplemente archivos que se
encuentran en algún servidor esperando a ser recuperados. En este sentido, incluso un vídeo es una
página web estática porque es sólo un archivo.

HyperText Markup Language (HTML)

El Lenguaje de Marcado de Hipertexto permite a los usuarios producir páginas web que incluyen texto,
gráficos y apuntadores a otras páginas web. Es un leguaje que sirve para describir cómo se van a
formatear los documentos.
Al integrar todos los comandos de marcado dentro de cada archivo HTML y al estandarizarlos, se hace
posible que cualquier navegador web lea y reformatee cualquier página web. La capacidad de
reformatear las páginas web tras su recepción es crucial porque una página pudo haberse producido en
una resolución y ahora debe tener que amoldarse a la resolución del cliente en el que se ejecuta.

Una página web consiste en un encabezado y un cuerpo encerrado entre etiquetas


<etiqueta></etiqueta>. El encabezado está delimitado por las etiquetas <head></head> y el cuerpo por
las etiquetas <body></body>. Los comandos dentro de las etiquetas se llaman directivas. HTML permite
la inclusión de imágenes, tablas y estilos para facilitar su creación.

En la actualidad HTML permite la creación de formularios, los cuales contiene campos y botones que
permiten a los usuarios proporcionar información o tomar decisiones y después enviar dicha
información a la página.

Cada interacción entre el cliente y el servidor consiste en una solicitud ASCII por parte del cliente
seguida por una respuesta MIME del servidor.

 Conexiones, el navegador normalmente se conecta al puerto 80 de un servidor, envía


solicitudes y espera respuestas (sin cerrar la conexión).
 Métodos, Cada solicitud consiste en una o más líneas de texto ASCII y la primera palabra de la
primera línea es el nombre del método solicitado.
 Encabezados de mensajes, A la línea de solicitud le pueden seguir líneas adicionales que
contienen más información. Estas se llaman encabezados de solicitud y pueden compararse con
los parámetros de una llamada a un procedimiento. Las respuestas también pueden tener
encabezados respuesta.

Documentos Dinámicos

La generación de contenido dinámico implica que el contenido se genera a solicitud en lugar de


almacenarlo en el disco. Esta generación puede ocurrir en el servidor o en el cliente.
Generación de páginas web dinámicas en el servidor

Para ver por qué es necesaria la generación de contenido en el servidor, considere el uso de formularios,
como se describió anteriormente. Cuando un usuario llena un formulario y hace click en el botón de
envío, se envía un mensaje un mensaje al servidor con el contenido del formulario, junto con los campos
que el usuario llenó. Este mensaje no es el nombre de un archivo a regresar, lo que se necesita es
proporcionar el mensaje a un programa o a una secuencia de comandos para que sean procesados.
La forma tradicional de manejar formularios y otras páginas web interactivas es un sistema llamado CGI
(Interfaz de puerta de enlace común), que permite que los servidores web hablen con los programas y
las secuencias de comandos puedan aceptar los datos de entrada y generar respuestas HTML.
Otra forma común es incrustar pequeñas secuencia de comandos dentro de páginas HTML y hacer que
el servidor mismo sea quien las ejecute para generar la página (caso del PHP – Preprocesador de
Hipertexto).
Una tercera técnica es utilizar JSP (Java Server Pages) que funciona en forma similar a PHP solo que con
la sintaxis de Java.
Una cuarta técnica es ASP (Active Server Pages), que es la versión de Microsoft de PHP y JSP. Para
generar contenido dinámico utiliza lenguaje de secuencias de comandos propietarios de Microsoft como
Visual Basic Script.

Generación de páginas web dinámicas en el cliente

En HTML tales secuencias son posibles con el uso de la etiquete <script>. El lenguaje de secuencias de
comandos más popular para el cliente es JavaScript, el cual está inspirado en la programación Java y es
un lenguaje de alto nivel el cual permite que en una simple línea se despliegue por ejemplo un cuadro
de dialogo o la espera de una entrada del usuario para almacenar el valor en una variable.

Mejoras de desempeño

 Almacenamiento en caché, Una forma muy sencilla de mejorar el desempeño es guardar las
páginas que han sido solicitadas en caso de que se utilicen nuevamente. El procedimiento
común es que algún proceso, llamado proxy, mantenga el caché. Para utilizar el
almacenamiento de caché, un navegador puede configurarse para que todas las solicitudes de
páginas se le hagan a un proxy en lugar de al servidor real de la página. Si el proxy tiene la
página, la regresa de inmediato. De lo contrario, la obtiene del servidor, la agrega al caché para
uso posterior y la envía al cliente que la solicitó.
Las PC individuales con frecuencia ejecutan proxies a para obtener un rápido acceso a páginas
anteriormente visitadas. Puede configurarse para que toda una LAN por ejemplo utilice el
mismo proxy, lo que traería como ventaja un rápido acceso para cualquier persona que visite
una página que ya fue visitada por otra persona de la LAN (muchas ISP tiene proxy).
Determinar el tiempo que deben permanecer las páginas en caché es un poco difícil dado que si
la página cambia sus datos rápidamente, el acceso a la página en caché traería información
errónea. La forma de solucionar este problema es con el uso de heurística para “adivinar”
cuánto tiempo guardar la página (por ejemplo basándose en el tiempo que hace que no se
modifica la página). La segunda forma es que cada vez que se solicita una página que está en
caché, el proxy manda un mensaje al servidor que contiene la página y le pregunta cuándo fue la
última vez que se modifico la misma, si no ha sido modificada con respecto a la que está en
caché, se devuelve la de caché, si fue modificada se guarda y se devuelve la nueva página.
Las páginas web con contenido dinámico nunca son guardadas en caché debido a que los
parámetros pueden ser diferentes la siguiente vez.
 Replicación del servidor, Otro método común que los servidores utilizan para mejorar el
desempeño es replicar su contenido en múltiples ubicaciones separadas considerablemente.
Esta técnica a veces se conoce como espejo. Los sitios espejo por lo general son estáticos. La
compañía decide dónde colocar los espejos, arregla un servidor en cada región y coloca el
contenido en cada ubicación.
 Redes de entrega de contenido, Las compañías CDNs (redes de entrega de contenido) hablan
con proveedores de contenido (sitios web) y ofrecen entregar su contenido a los usuarios finales
de manera eficiente a cambio de una cuota. Los CDNs están conectados a una gran cantidad de
ISPs y ofrecen pagarles bien a cambio de que les permitan colocar en sus LANs un servidor
manejado de manera remota lleno de contenido valioso. Esto permite que los clientes del ISP un
excelente tiempo de acceso para el contenido del CDN.

Temas del programa no abordados: Configuración de servidores web.

Voz Sobre IP

Voz sobre Protocolo de Internet, también llamado Voz sobre IP, VozIP, VoIP (por sus siglas en inglés), es
un grupo de recursos que hacen posible que la señal de voz viaje a través de Internet empleando un
protocolo IP (Internet Protocol). Esto significa que se envía la señal de voz en forma digital en paquetes
en lugar de enviarla (en forma digital o analógica) a través de circuitos utilizables sólo para telefonía
como una compañía telefónica convencional o PSTN (sigla de Public Switched Telephone Network, Red
Telefónica Pública Conmutada).

Los Protocolos que son usados para llevar las señales de voz sobre la red IP son comúnmente referidos
como protocolos de Voz sobre IP o protocolos IP. El tráfico de Voz sobre IP puede circular por cualquier
red IP, incluyendo aquellas conectadas a Internet, como por ejemplo redes de área local (LAN).

Es muy importante diferenciar entre Voz sobre IP (VoIP) y Telefonía sobre IP.

 VoIP es el conjunto de normas, dispositivos, protocolos, en definitiva la tecnología que permite


la transmisión de la voz sobre el protocolo IP.
 Telefonía sobre IP es el conjunto de nuevas funcionalidades de la telefonía, es decir, en lo que se
convierte la telefonía tradicional debido a los servicios que finalmente se pueden llegar a ofrecer
gracias a poder portar la voz sobre el protocolo IP en redes de datos.

Los parámetros más influyentes en la QoS de VOIP


 Retardos de los paquetes
o Problemas
 La presencia de eco: problemas cuando es superior a 50ms (ida y vuelta). Se
utilizan canceladores de eco para eliminarlo.
 Talking overlap: Se produce cuando los dos interlocutores hablan
simultáneamente,particularmente cuando uno está hablando y el otro se
superpone. Se convierte en un problema importante cuando el retardo extremo
a extremo es mayor a 150 mseg.
o Causas
 Demora de trama (algoritmo): Algunos modos de codificación requieren de una
o más tramas completas para hacer la codificación, esto requiere el uso de
buffers los cuales tienen una demora en llenarse y leerse.
 Demora de procesamiento (hardware): Tiempo que se demora en codificar y
decodificar la voz (Tomar muestreo por ejemplo).
 Demora de red: Esta demora es causada por el medio físico de la red, los
enlaces y buffers utilizados para remover el jitter.
 Jitter: Es la variación del tiempo de arribo de los frames del codec
o Problemas
 Introduce retardo: Para contrarestarlo se introducen en la buffers que
compensan la diferencia de tiempo de arribo de paquetes.
 genera descarte de paquetes: Es cuando no entra al buffer.
 Pérdida de paquetes: El oído humano tolera no más de 1% al 3% de paquetes perdidos.
o Problemas
 Al estar basados sobre UDP, las pérdidas de paquetes pueden llegar a ser
importantes si existe congestión o problemas en la transmisión.
 La pérdida de paquetes introduce tasa de error en las comunicaciones.
o Soluciones
 Sobredimensionando las redes de modo que no se tengan que descartar
paquetes en forma preventiva.
 Marcando los paquetes de VoIP como prioritarios. (Diferencia de servicio).

La calidad de la voz (Voice Speach Quality) es evaluada por medio de dos parámetros:
 Claridad: que refleja el grado de palabras y frases entendidas.
 Fidelidad: califica el grado de reconocimiento de la personal que habla.

H.323

Es una recomendación del ITU-T (International Telecommunication Union), que define los protocolos
para proveer sesiones de comunicación audiovisual sobre paquetes de red.

H.323 es utilizado comúnmente para Voz sobre IP (VoIP, Telefonía de internet o Telefonía IP) y para
videoconferencia basada en IP. Es un conjunto de normas ITU para comunicaciones multimedia que
hacen referencia a los terminales, equipos y servicios estableciendo una señalización en redes IP. No
garantiza una calidad de servicio, y en el transporte de datos puede, o no, ser fiable; en el caso de voz o
vídeo, nunca es fiable. Además, es independiente de la topología de la red y admite pasarelas,
permitiendo usar más de un canal de cada tipo (voz, vídeo, datos) al mismo tiempo.

Modelo H.323

 Puerta de enlace, conecta a internet con la red telefónica. Esta puerta de enlace conoce al
protocolo H.323 para comunicarse con internet y al protocolo PSTN para comunicarse con la red
telefónica.
 Terminales, son los dispositivos de comunicación.
 Gatekeeper, puede estar presente en una LAN y controlar los puntos finales bajo su jurisdicción
(Zona).
Tel1
PC5

PC2
PC1
Puerta
Internet Red
de
Zona Telefónica
enlace
Gatekeeper
Tel3
PC3 PC4 Tel2

Protocolos Utilizados

Una red telefónica necesita una serie de protocolos para poder funcionar. Uno de ellos es utilizado para
la codificación y decodificación de la voz. El sistema PCM (modulación por impulsos codificados) es
utilizado y codifica un solo canal de voz muestreado a 8000 veces por segundo con una muestra de 8
bits para poder proporcionar voz comprimida a 64kbps. El sistema H.323 permite esta compresión de
voz pero también permite otros protocolos como G.732.1 que permite una tasa de salida de hasta
5.3kbps con un factor de compresión de 12 veces y poca pérdida de calidad percibida.
Debido a que están permitidos múltiples algoritmos de compresión, se necesita un protocolo para
permitir que las terminales negocien cuál van a utilizar. Este protocolo se llama H.245 y permite
negociar otros aspectos de la conexión como la tasa de bits.
RTCP (Real Time Control Protocol) es necesario para el control de los canales RTP (Real-time Transport
Protocol). También se necesita un protocolo para establecer y liberar las conexiones, proporcionar tonos
de marcado, emitir sonidos de marcado y el resto de la telefonía estándar (Q.931). Las terminales
necesitan un protocolo para hablar con el gatekeeper y crear canales RAS (Registro/Admisión/Estado)
que permita a las terminales unirse y dejar una zona, solicitar y regresar ancho de banda, proporcionar
actualizaciones de estado, etc. Por último se necesita un protocolo para la transmisión en tiempo real de
los datos (RTP) el cual será manejado por RTCP.

Funcionamiento

Supongamos que una PC de una LAN quiere llamar a un teléfono remoto. La PC primero tiene que
descubrir al gatekeeper, por lo que difunde un paquete UDP de descubrimiento de gatekeeper al puerto
1718. Cuando el gatekeeper responde, la PC aprende su dirección IP y se registra con el gatekeeper
enviándole un mensaje RAS en un paquete UDP. Una vez aceptada la petición la PC envía al gatekeeper
un mensaje de admisión RAS solicitando ancho de banda. Sólo después de que se ha proporcionado el
ancho de banda, se puede establecer la llamada (esto se realiza para poder proporcionar la calidad de
servicio necesaria). La PC ahora establece una conexión TCP con el gatekeeper para comenzar el
establecimiento de la llamada y envía un mensaje Q.931 con el número telefónico al que se está
llamando (o la dirección IP y el puerto en caso de ser una llamada a otra PC). El gatekeeper responde
con otro mensaje Q.931 indicando que la llamada está en proceso y envía un mensaje Q.931 a la puerta
de enlace solicitando la llamada. La puerta de enlace realiza una llama común al teléfono deseado y la
central telefónica a la que está conectada el teléfono hace que este suene y a su vez envía una señal
Q.931 para indicar al PC que el teléfono está sonando. Cuando la persona levanta el tubo del teléfono la
central telefónica envía una señal Q.931 para indicar a la PC que la conexión está establecida.
Una vez establecida la conexión, el gatekeeper no cumple ninguna función y todos los paquetes que
salen de la PC van directo a la puerta de enlace. Se utiliza un protocolo H.245 para negociar parámetros
de la llamada (Ej. codecs que soportan, capacidades, etc.), una vez que cada lado conoce lo que el otro
soporta se establecen dos canales de datos unidireccionales y a cada uno se le asigna un códec y otros
parámetros. Terminadas todas las negociaciones se inicia el flujo de datos utilizando RTP, el flujo se
maneja con RTCP que juega un papel de control de congestionamiento. Cuando se termina la llamada, la
PC invocadora contacta al gatekeeper con un mensaje RAS para liberar el ancho de banda que se ha
asignado.

Session Initiation Protocol (SIP)

El Protocolo de Inicio de Sesiones es un protocolo desarrollado por el IETF, con la intención de ser el
estándar para la iniciación, modificación y finalización de sesiones interactivas de usuario donde
intervienen elementos multimedia como el video, voz, mensajería instantánea, juegos en línea y
realidad virtual.

La sintaxis de sus operaciones se asemeja a las de HTTP y SMTP, los protocolos utilizados en los servicios
de páginas Web y de distribución de e-mails respectivamente. Esta similitud es natural ya que SIP fue
diseñado para que la telefonía se vuelva un servicio más en Internet.

SIP es uno de los protocolos de señalización para voz sobre IP, al igual que H.323, sólo que a diferencia
de este último que es un conjunto de protocolos, SIP está compuesto por un solo módulo. SIP define a
los números telefónicos como URLs, a fin de que las páginas web puedan contenerlos, lo cual permite
hacer un click e iniciar una llamada telefónica.

Servicio brindados

SIP puede establecer sesiones de dos partes (llamadas de teléfono ordinarias), de múltiples partes (en
donde todos pueden oír y hablar) y de multidifusión (un emisor y muchos receptores).

Las sesiones pueden contener audio, video o datos, pero SIP a diferencia de H.323, solo maneja el
establecimiento, manejo y liberación de sesiones. Para el transporte de datos se utilizan otros
protocolos como RTP/RTCP. SIP es un protocolo de capa de aplicación y puede ejecutarse sobre TCP o
UDP.

SIP permite localizar al invocado (quien tal vez no esté en la máquina de su casa), determinar las
capacidades de éste y manejar mecanismos de establecimiento y terminación de llamadas.
Funcionamiento

Los números SIP se representan como URLs que utilizan el esquema SIP “sip:carlos@frc.utn.edu.ar”. Los
URLs de SIP también pueden contener direcciones IPv4 e IPv6 o números telefónicos reales. El protocolo
SIP se basa en texto y está modelado en HTTP. Una parte envía un mensaje en texto ASCII que consiste
en un nombre del método (en la primera línea) seguido por líneas adicionales que contienen
parámetros. Muchos de estos parámetros son los utilizados por MIME para permitir que SIP interactúe
con las aplicaciones existentes en internet.

Para establecer una sesión, el invocador realiza una conexión TCP con el invocado y envía un mensaje de
invitación (también puede hacerlo enviando un paquete UDP). Este mensaje contiene entre otras cosas,
las capacidades, los tipos de medios y los formatos del invocador. Si el invocado acepta la llamada,
responde enviando un paquete con un código HTTP de aceptación e informa sus capacidades, tipos de
medios y formatos. La conexión se realiza por un acuerdo de tres vías por lo que el invocador envía un
ACK para terminar el protocolo y avisar que recibió la aceptación.

En este momento pueden intercambiar información haciendo uso de protocolos RTP/RTCP.

Cualquiera de las dos partes puede solicitar finalizar la sesión enviando un mensaje de finalización, al
momento en que la otra parte responde a este mensaje, la sesión queda concluida.

SIP puede llamar a un teléfono normal pero necesita de una puerta de enlace que comunique a internet
con la red telefónica.

Comparación entre H.323 y SIP

Elemento H.323 SIP


Diseñado por ITU IETF
Compatibilidad con PSTN SI Ampliamente
Compatibilidad con internet NO SI
Arquitectura Monolítica Modular
Integridad Pila de protocolos completa Sólo maneja el establecimiento
Negociación de parámetros SI SI
Señalamiento de llamadas Q.931 sobre TCP TCP o UDP
Formato de mensajes Binario ASCII
Transporte de medios RTP/RTCP RTP/RTCP
Llamadas de múltiples partes SI SI
Conferencias multimedia SI NO
Direccionamiento Host o número telefónico URL
Terminación de llamadas Explicita o liberación TCP Explícita o por temporizador
Mensajes instantáneos NO SI
Encriptación SI SI
Tamaño de los estándares 1400 páginas 250 páginas
Implementación Grande y compleja Moderada
Estado Distribuido ampliamente Prometedor
Real-time Transport Protocol (RTP)

RTP es la abreviación de Real-time Transport Protocol, por su denominación en Inglés. Es un estándar


creado por la IETF para la transmisión confiable de voz y video a través de Internet. En aplicaciones de
Voz sobre IP, RTP es el protocolo responsable de la transmisión de los datos. La digitalización y
compresión de la voz y el video es realizada por el CODEC. Para el manejo de señalización o
establecimiento de llamada existe el protocolo SIP.

Dentro del estándar RFC 3550 se define un protocolo adicional para el envío de datos de control y datos
de mediciones realizadas durante la transmisión. Se conoce como RTCP RTP Control Protocol. Los
paquetes RTCP se envían periódicamente dentro de la secuencia de paquetes RTP.

Características generales

Aunque RTP tiene algunas características de protocolo de nivel de transporte (Según el modelo OSI), es
transportado usando UDP. UDP no maneja sesiones ni mecanismos que garanticen la recepción de los
paquetes, pero es usado por RTP en lugar de TCP debido a que reduce el tiempo de envío de los
paquetes a través de la red. En aplicaciones de voz y video es más importante una transmisión rápida
que la pérdida de algunos paquetes durante el recorrido.

RTP implementa dos mecanismos principales para garantizar una transmisión de voz: El uso de Número
de secuencia y un Registro de tiempo. En redes IP es común que los paquetes tomen caminos diferentes
para llegar al destino. En aplicaciones de datos esto no es demasiado importante pero para voz y video
puede representar una falla detectable por el oído del usuario final. Por esto RTP usa el número de
secuencia para reorganizar los paquetes en caso de que lleguen en desorden y el Registro de tiempo es
usado para ajustar los intervalos de muestreo de acuerdo a la secuencia original.

Formato y valores de encabezado

El paquete RTP se ubica en el espacio de datos de UDP. RTP no tiene asignado un puerto UDP específico,
debido a que es posible que varias aplicaciones de un mismo usuario utilicen RTP. Existen sistemas que
no soportan el uso de un mismo puerto por aplicativos diferentes. De acuerdo a las especificaciones se
utiliza un número par elegido al azar, y RTCP utiliza el número impar consecutivo.

Los campos más importantes en el encabezado RTP son los siguientes:

 Número de secuencia: de 2 bytes, es un número que se incrementa por cada paquete enviado.
Es usado para determinar pérdida de paquetes y recuperar correctamente la secuencia de voz.

 Registro de tiempo: Mejor conocido como Timestamp, es un campo de 32 bits asignado en el


momento del envío con base en un reloj del sistema. El valor inicial es seleccionado
aleatoriamente para evitar confusión con otras secuencias RTP presentes.
Real Time Control Protocol (RTCP)

RTP Control Protocol (RTCP) es un protocolo de comunicación que proporciona información de control
que está asociado con un flujo de datos para una aplicación multimedia (flujo RTP). Trabaja junto con
RTP en el transporte y empaquetado de datos multimedia, pero no transporta ningún dato por sí mismo.
Se usa habitualmente para transmitir paquetes de control a los participantes de una sesión multimedia
de streaming. La función principal de RTCP es informar de la calidad de servicio proporcionada por RTP.
Este protocolo recoge estadísticas de la conexión y también información como por ejemplo bytes
enviados, paquetes enviados, paquetes perdidos o jitter entre otros. Una aplicación puede usar esta
información para incrementar la calidad de servicio (QoS), ya sea limitando el flujo o usando un códec de
compresión más baja. En resumen. RTCP se usa para informar de la QoS (Quality of Service). RTCP por sí
mismo no ofrece ninguna clase de cifrado de flujo o de autenticación.

Funciones de RTCP

 Información del desarrollo de una aplicación: Esta función es muy útil para aplicaciones de
velocidad adaptativa. Un ejemplo de su utilidad seria reducir la congestión mediante el uso de
un esquema de compresión más agresivo o enviar un stream de más alta calidad cuando hay
poca congestión. También puede resultar útil para diagnosticar problemas de red.
 Correlacionar y sincronizar diferentes media streams procedentes del emisor: RTCP utiliza el
concepto de nombre canónico (CNAME) que se asigna al emisor y garantiza que streams que no
tienen el mismo identificador se puedan sincronizar y ordenar correctamente (audio y video de
una misma emisión).
 Transferir la identidad de un emisor: Se transmite en el paquete de descripción de la fuente
explicado más adelante en el apartado Tipo de paquetes.

Tipos de paquetes

 Informes de emisor: Permiten al emisor activo en una sesión informar sobre estadísticas de
recepción y transmisión.
 Informes de receptor: Los utilizan los receptores que no son emisores para enviar estadísticas
sobre la recepción.
 Descripción de la fuente: Contiene los CNAMEs y otros datos que describen la información de
los emisores.
 Paquetes de control específicos de la aplicación: Varios paquetes RTCP pueden ser enviados en
un mismo mensaje UDP.

A continuación explicaremos la importancia de la existencia de estos paquetes. En transmisiones


multicast la información de control puede consumir un ancho de banda considerable. Para hacerse
cargo de este problema RTCP ha establecido un mecanismo para reducir la transmisión de información
de control a medida que ingresan más usuarios, que consiste en limitar la cantidad de tránsito de RTCP
en un pequeño porcentaje de tráfico de datos en RTP. Este mecanismo también asigna más ancho de
banda RTCP a los emisores activos. Un participante sabe cuánto ancho de banda puede consumir, con el
tránsito de RTCP la aplicación empieza a enviar informes periódicos de la tasa adecuada. Los informes de
emisor y de receptor contienen información sobre los datos recibidos de todas las fuentes en el periodo
de informes más reciente. Lo que los diferencia es que los informes de emisor es que incluyen
información extra sobre el emisor. Tanto los informes de emisor como los de receptor contienen un
bloque de datos por fuente que ha sido escuchada desde el último informe. Cada bloque contiene
estadísticas para la fuente determinada, indicador, paquetes perdidos, último número de secuencia,
Jitter, etc.

Unidad 5: Seguridad

Seguridad

Con el uso de redes públicas como ser internet se han tenido que implementarse sistemas de seguridad
y sobre todo para algunos servicios como las transacciones bancarias y los pagos con tarjetas de crédito,
entre otros.

Los problemas de seguridad podrían definirse como:

 No permitir que la información caiga en manos no autorizadas. (confidencialidad)


 Validación de la identificación, para saber la máquina o persona con la que se está dialogando.
(Autenticación)
 Asegurar la “firma” de los mensajes. (No repudio)
 Control de integridad que asegura que el mensaje que se lee fue el enviado por la otra parte y
no uno manipulado por un tercero. (Control de integridad)

La solución a estos problemas no debería encontrarse en una sola capa de OSI, la seguridad debería
estar dispersa por las capas del modelo para que deban pasarse varios niveles de obstáculos antes de
ingresar a la información. Por ejemplo podría colocarse seguridad en el área donde se encuentran
físicamente los datos, encriptarse los datos de la capa de enlace de datos y de red, instalar firewalls en la
capa de red, bloquear puertos inseguros de la capa de transporte, mandar los datos cifrados de extremo
a extremo, control de acceso en las aplicaciones, etc.

Algunos conceptos

 Seguridad: Una serie de mecanismos que minimizan las vulnerabilidades de los recursos.
 Criptoanálisis: Ciencia utilizada para descifrar mensajes (Utilizada por los atacantes).
 Criptosistema: Es un conjunto de Algoritmos, Texto en Claro, Texto Cifrado y Clave.
 Seguridad de la red: Implica la seguridad de cada uno de los componentes de la red.
 Hacker: Es un programador con los conocimientos necesarios para superar las barreras de
seguridad, su objetivo normalmente es no ser detectado y dejar algún tipo de mensaje sin hacer
daño.
 Cracker: Es similar a un hacker solo que sus intenciones son el robo de información para obtener
un beneficio personal.
 Ataque: Intento de sabotaje de un recurso de la empresa.
o Compromiso, se obtiene el control de algún elemento de la red.
o Modificación, se modifica algún mensaje o dato.
o Suplantación, se hace pasar por otra persona.
o Reenvío, se obtiene un mensaje que más tarde será reenviado para duplicar su efecto.
o Denegación de servicio, se impide que algún componente de la red cumpla con su
función.

Criptografía

La criptografía “es el arte de escribir y enviar mensajes mediante claves secretas, de manera que sea
imprescindible conocerla para descifrarlo”.

Es uno de los mecanismos más empleados en la resolución de los problemas de seguridad en el


trasporte de datos. Tiene la ventaja de que puede cifrarse un mensaje para que, si este es captado, no
sea comprensible a menos que se descifre el mismo. Cualquier algoritmo de cifrado puede ser
encontrado mediante criptoanálisis, por lo que una buena política de seguridad cambia la forma de
encriptar los mensajes en un tiempo menor al que le tomaría a alguien encontrar la clave o el algoritmo.

La encriptación puede ser por responsabilidad del usuario o por responsabilidad de la red:

 Encriptado a nivel de enlace: El mensaje se cifra y descifra en cada nodo en su viaje a través de
la red.
 Encriptado extremo a extremo: El mensaje se cifra en el origen y se descifra en el destino, tiene
como ventaja que los datos son protegidos durante todo su recorrido.

En un sistema de cifrado existen dos funciones elementales, el proceso de cifrado y el proceso de


descifrado, ambas conocidas por el emisor y el receptor.
Principios criptográficos fundamentales

 Redundancia: Todos los mensajes deberían tener redundancia, es decir información no


necesaria para entender el mensaje, esto es necesario para evitar que intrusos envíen basura y
engañen al receptor para que la descifre y realice algo con el texto llano.
 Actualización: Cada mensaje recibido se debe verificar a fin de saber si está actualizado, es decir
si se envió recientemente. Esta medida es necesaria para evitar que intrusos activos
reproduzcan mensajes antiguos.

Tipos de algoritmos

 Según la naturaleza del algoritmo:


o Sustitución: En un cifrado por sustitución, cada letra o grupo de letras se reemplaza por
otra letra o grupo de letras. Un ataque básico a este sistema de cifrado aprovecha las
propiedades y estadísticas del lenguaje natural (por ejemplo en inglés la letra e es la
más común, por lo que el símbolo más repetido probablemente simbolice la e).
o Transposición: Los cifrados por sustitución conservan el orden de los símbolos de texto
llano, pero los disfrazan. Los cifrados por transposición reordenan las letras sin
disfrazarlas. Para descifrarlo el criptoanalista debe estar consciente de que se encuentra
con un cifrado de este tipo (por ejemplo por transposición de columnas), adivinar la
cantidad de columnas y ordenarlas lo cual es más complicado que la sustitución.
o Rellenos de una sola vez: Se escoge una clave al azar, se convierte el texto plano en una
cadena de bits y se realiza un XOR entre la clave y el texto bit por bit. Este método es
inmune a cualquier ataque dado que se rompe completamente con las propiedades y
estadísticas del lenguaje natural. El único problema es que la clave no puede ser
memorizada por lo que el emisor y receptor deben cargar una copia con ellos (lo cual es
un peligro) junto con la sensibilidad del método a algún carácter perdido.
 Según la clave:
o Simétricos: Se utiliza la misma clave para cifrar y descifrar
o Asimétricos: Se utilizan claves distintas para cifrar y descifrar
o Irreversibles: Cifra un texto claro no permitiendo su descifrado
 Según el número de símbolos cifrados a la vez:
o Bloque: Dividen el texto en bloques de igual longitud, para luego cifrar cada bloque en
forma independiente, normalmente de 64 bits
o Flujo: El texto claro es cifrado símbolo por símbolo (Bit a bit)

Algoritmos simétricos

Se denomina “Algoritmo Simétrico”, a todo proceso criptográfico que utilice en su accionar, una misma
clave para encriptar y desencriptar.
Para que funcione correctamente, tanto el emisor como el receptor del mensaje, deben encontrarse en
conocimiento de la clave a utilizar, transformando ésta en su “Secreto Compartido”.
Debido a ello, la existencia de un canal seguro a través del cual se pueda realizar el intercambio de
claves, se convierte en un requisito indispensable.
Pasos para la transmisión y recepción de un mensaje:

 Se selecciona el mensaje a transmitir.


 Se aplica la clave compartida.
 Se transmite el mensaje cifrado.
 Se recibe el mensaje cifrado y se descifra con el uso de la clave compartida.

La mayor ventaja es su velocidad y que suelen ser difíciles de romper, su mayor debilidad esta en el
hecho de que deben enviarse la clave para que ambos la conozcan.

Cifrado DES (Data Encryption Estándar).

El texto llano se encripta en bloques de 64bits, produciendo 64bits de texto cifrado. El algoritmo, que se
parametriza mediante una clave de 56bits tiene 19 etapas diferentes. La primera etapa es una
transposición del texto llano de 64bits independiente de la clave. La última etapa es el inverso de esta
transposición. La etapa previa a esta última intercambia los 32bits de la izquierda y los 32 bits de la
derecha. Las 16 etapas restantes son funcionalmente idénticas, pero se parametrizan mediante
diferentes funciones de la clave. El algoritmo se diseño para que la desencriptación se haga con la
misma clave de encriptación y con el proceso inverso.

Cifrado 3DES

Dado que la longitud de clave que utiliza DES es muy corta, esta fue incrementa utilizando cifrado triple.

Aquí se utilizan 2 claves y 3 etapas. En la primera etapa, el texto llano se encrita utilizando DES con la
clave 1. En la segunda etapa, DES se ejecuta en modo desencriptación utilizando la clave 2. La tercer
etapa consiste en volver a encriptar con DES con la clave 1.

Se utilizan 2 claves en vez de 3 dado que 168bit de clave (3x56bit) serían una sobrecarga innecesaria
para la capacidad computacional actual.

Es uno de los algoritmos simétricos más duros de romper y uno de los más utilizados.

Cifrado AES

Es el sucesor de DES, fue creado de manera pública y abierta. Se necesitaba un sistema de cifrado por
bloques diseñado para manejar longitudes de clave y bloque variables de 128 bits a 256 bits.

El resultado de estas propuesta públicas fue la creación de Rijndael, este utiliza sustitución y
permutaciones junto con múltiples rondas. El número de rondas depende del tamaño de la clave y del
bloque pero para un bloque de 128bits con clave de 128bits se utilizan 10 rondas para el cifrado.

Algoritmos Asimétricos

Los algoritmos asimétricos, o de clave pública, utilizan dos claves en su proceso de cifrado y descifrado.
Ambas claves suelen ser referidas como clave pública y clave privada.
En este tipo de esquema, el remitente utiliza la clave pública del destinatario para cifrar el mensaje, el
cual sólo puede ser descifrado por la clave privada del mismo.
Ambos extremos de la comunicación deben estar en conocimiento de la clave pública, lo cual no
representa riesgo.
La pérdida de la clave privada, abriría una brecha de seguridad en el criptosistema.

Los algoritmos de encriptación (E) y desencriptación (D) deben cumplir los siguientes requisitos:

 D(E(P))=P
 Es excesivamente difícil deducir D a partir del conocimiento de E.
 E no puede descifrarse mediante un ataque de texto a un texto llano seleccionado.

Pasos para la transmisión y recepción de un mensaje:

 Se selecciona el mensaje a transmitir.


 Se aplica la clave pública del receptor para cifrar el mensaje.
 Se transmite el mensaje cifrado.
 Se recibe el mensaje cifrado y se descifra con el uso de la clave privada del receptor.

Una de las ventajas más apreciables radica en la posibilidad por parte de quien desea recibir información
cifrada de hacer llegar a los emisores su clave pública, como desventaja estos algoritmos suelen utilizar
claves de mayor tamaño, suelen ser más lentos que los simétricos y no son utilizados para grandes
volúmenes de información dado que necesitan muchos recursos para funcionar.

RSA

El sistema criptográfico con clave pública RSA es un algoritmo asimétrico cifrador de bloques, que utiliza
una clave pública, la cual se distribuye (en forma autenticada preferentemente), y otra privada, la cual
es guardada en secreto por su propietario.

Una clave es un número de gran tamaño, que una persona puede conceptualizar como un mensaje
digital, como un archivo binario o como una cadena de bits o bytes.

Cuando se quiere enviar un mensaje, el emisor busca la clave pública de cifrado del receptor, cifra su
mensaje con esa clave, y una vez que el mensaje cifrado llega al receptor, éste se ocupa de descifrarlo
usando su clave oculta.

Los mensajes enviados usando el algoritmo RSA se representan mediante números y el funcionamiento
se basa en el producto de dos números primos grandes (mayores que 10100) elegidos al azar para
conformar la clave de descifrado.

Emplea expresiones exponenciales en aritmética modular.


La seguridad de este algoritmo radica en que no hay maneras rápidas conocidas de factorizar un número
grande en sus factores primos utilizando computadoras tradicionales. Este algoritmo es muy lento para
encriptar grandes volúmenes de información pero es muy utilizado para la encriptación de claves.

PKI

El término PKI o en su acepción en español “Infraestructura de Clave Pública”, es el utilizado para definir
la combinación de software, tecnologías de encriptación y servicios, necesaria para dotar a un sistema
determinado de las siguientes características principales:

 Integridad
 Confidencialidad
 Autenticación
 No Repudio

Funciones de Hash

Se define como una operación que se realiza sobre un conjunto de datos de cualquier tamaño de tal
forma que se obtiene como resultado, otro conjunto de datos denominado “resumen”.
El “resumen” tiene un tamaño fijo e independiente del tamaño original, que además tiene la propiedad
de estar asociado unívocamente a los datos iniciales.
Es prácticamente imposible encontrar dos mensajes distintos que tengan un resumen hash idéntico.
Gracias a sus características, las aplicaciones principales de las Funciones de Hash, suelen ser
fundamentalmente tres:
 Contraseñas
 Firmas Digitales
 Integridad y Autenticación

Firma Digital

La Firma Digital, es básicamente una herramienta tecnológica, que permite garantizar la autoría e
integridad de los documentos digitales.
Desde el punto de vista informático, una Firma Digital, puede ser vista como un grupo de datos
asociados a un mensaje digital.
Técnicamente hablando, el esquema de Firma Digital se basa en la utilización combinada de Criptografía
Asimétrica o de Clave Pública y de Funciones de Hash o Resumen.
Un documento digital firmado permite que el receptor pueda verificar la identidad del transmisor, que
el transmisor no pueda repudiar (negar) el contenido del mensaje y que el receptor no haya podido
elaborar el mensaje el mismo.

 Firmas de clave simétrica: Existe una autoridad central que conoce todas las claves y todos
confían en él. Cada usuario escoge una clave secreta y la lleva a esta entidad. Si un usuario A
quiere enviar un mensaje a un usuario B, encripta el mensaje con su clave 𝐾𝐴 el cual contiene el
mensaje propiamente dicho, el destinatario, un número aleatorio 𝑅𝐴 y un tiempo que indica que
es un mensaje nuevo; este mensaje es enviado a la autoridad central. Esta autoridad recibe el
mensaje de A y lo desencripta (dado que conoce su clave) y envía el mensaje a B firmado con la
clave de la autoridad central, el cual contendrá el mensaje propiamente dicho, el remitente y el
tiempo que indica que es un nuevo mensaje.
 Firmas de clave pública: Un problema estructural del uso de la criptografía de clave simétrica
para las firmas digitales es que todos tiene que confiar en una entidad central. La criptografía de
clave pública para firmas digitales permite que A envía un mensaje de texto plano P, al
destinatario B transmitiendo 𝐸𝐵 (𝐷𝐴 𝑃 ) como A conoce su clave privada y la clave pública de B,
puede realizar esa transmisión. Cuando B recibe el mensaje, lo transforma usando su clave
privada por lo que obtiene 𝐷𝐴 𝑃 y con el uso de 𝐸𝐴 (clave pública de A) obtiene el mensaje P.
Cualquier algoritmo de clave pública puede ser utilizado para firmas digitales, pero uno de los
más usados es RSA.

Certificado Digital

No es más que un “documento digital” otorgado por un tercero de confianza, que da fe de la vinculación
entre una clave pública y un individuo o entidad.
Puesto que los certificados digitales suelen ser expedidos por una entidad reconocida, en la que ambos
participantes de una comunicación confían, tanto emisor como receptor tienen la oportunidad,
certificados digitales de por medio, de prevenir que un tercero utilice una clave pública propia, para
suplantar su identidad.
La Autoridad de Registro (RA) es la encargada de administrar el alta y baja, de toda aquella solicitud de
emisión de certificados o revocación de los mismos.

La Autoridad de Certificación (CA) es la organización responsable del mantenimiento final de los


certificados. Suele representar en el esquema PKI, la “Tercera Parte Confiable”, en la cual los
participantes confían al momento de confirmar la autenticidad del otro extremo.

La Autoridad de Validación (VA) es la encargada de proporcionar información sobre el estado de los


certificados emitidos por otras Autoridades en forma On-Line.

Sobre Digital

El esquema general de funcionamiento, que suele ser referido como el esquema de sobre digital,
comprende:
 Un usuario A quiere enviar un mensaje M a otro usuario, B por ejemplo.
 El usuario A procede a firmar digitalmente dicho mensaje M. Este proceso comprende el cálculo
del resumen, producido por una función Hash del mensaje M, y la encripción de este resumen
utilizando la clave privada del usuario A. Para la realización de este proceso se emplea un
algoritmo de firma digital como DSA, por ejemplo.
 A continuación se procede a encriptar el mensaje M utilizando un algoritmo de encripción
simétrico, como por ejemplo 3DES, AES, etc. Existen implementaciones que también encriptan
el resultado del proceso de firma digital Como se estudió anteriormente, es necesario distribuir
la clave secreta, utilizada por el algoritmo de encripción simétrico, al destinatario del mensaje,
en este caso el usuario B. Para esta tarea se utiliza un algoritmo de encripción asimétrico, como
RSA.
 A los fines de poder cumplir con la etapa anterior, el usuario A necesita conocer la clave pública
del usuario B, esto es posible gracias a la intervención de una Autoridad de Certificación (CA),
quien brindará un certificado digital confiable al usuario A, para que éste pueda encriptar
asimétricamente la clave secreta empleada en la encripción del mensaje M.
 Con lo realizado hasta el momento, el usuario A está en capacidad de preparar el "sobre digital"
para su envío al destinatario, en este caso el usuario B. Este "sobre digital" estará compuesto
por el mensaje M, encriptado simétricamente, la clave secreta utilizada en este proceso,
encriptada asimétricamente con la clave pública del usuario B y la firma digital del mensaje M, la
cual puede estar encriptada también, en forma simétrica, de la misma manera que el mensaje
original.
 Una vez que el usuario B recibe el "sobre digital" procede a realizar la apertura de su contenido,
para lo cual desencripta la clave secreta utilizando su propia clave privada.
 Con la clave secreta en su poder, el usuario B desencripta el mensaje M y la firma digital del
mismo, si es que ésta también estaba encriptada.
 A continuación procede a comprobar la identidad del usuario A, desencriptando la firma digital
con la clave pública del usuario A, dado que la firma se encontraba encriptada con su clave
privada.
 Posteriormente el usuario B procede a calcular el resumen de la función de Hash del mensaje M,
ya desencriptado, y a comparar dicho resumen con el que formaba parte del contenido de la
firma digital del mensaje, con la finalidad de validar la integridad del mismo.
Firewalls

Un cortafuegos (o firewall en inglés) es una parte de un sistema o una red que está diseñado para
bloquear el acceso no autorizado, permitiendo al mismo tiempo comunicaciones autorizadas. Se trata
de un dispositivo o conjunto de dispositivos configurados para permitir, limitar, cifrar, descifrar, el
tráfico entre los diferentes ámbitos sobre la base de un conjunto de normas y otros criterios.

Los cortafuegos pueden ser implementados en hardware o software, o una combinación de ambos. Los
cortafuegos se utilizan con frecuencia para evitar que los usuarios de Internet no autorizados tengan
acceso a redes privadas conectadas a Internet, especialmente intranets. Todos los mensajes que entren
o salgan de la intranet pasan a través del cortafuegos, que examina cada mensaje y bloquea aquellos
que no cumplen los criterios de seguridad especificados. También es frecuente conectar al cortafuegos a
una tercera red, llamada zona desmilitarizada o DMZ, en la que se ubican los servidores de la
organización que deben permanecer accesibles desde la red exterior. Un cortafuegos correctamente
configurado añade una protección necesaria a la red, pero que en ningún caso debe considerarse
suficiente. La seguridad informática abarca más ámbitos y más niveles de trabajo y protección.

Tipos de cortafuegos

 Nivel de aplicación de pasarela: Aplica mecanismos de seguridad para aplicaciones específicas,


tales como servidores FTP y Telnet. Esto es muy eficaz, pero puede imponer una degradación del
rendimiento.
 Circuito a nivel de pasarela: Aplica mecanismos de seguridad cuando una conexión TCP o UDP
es establecida. Una vez que la conexión se ha hecho, los paquetes pueden fluir entre los
anfitriones sin más control. Permite el establecimiento de una sesión que se origine desde una
zona de mayor seguridad hacia una zona de menor seguridad.
 Cortafuegos de capa de red o de filtrado de paquetes: Funciona a nivel de red (nivel 3) de la
pila de protocolos (TCP/IP) como filtro de paquetes IP. A este nivel se pueden realizar filtros
según los distintos campos de los paquetes IP: dirección IP origen, dirección IP destino, etc. A
menudo en este tipo de cortafuegos se permiten filtrados según campos de nivel de transporte
(nivel 4) como el puerto origen y destino, o a nivel de enlace de datos (nivel 2) como la dirección
MAC. Este es uno de los principales tipos de cortafuegos. Se considera bastante eficaz y
transparente pero difícil de configurar.
 Cortafuegos de capa de aplicación: Trabaja en el nivel de aplicación (nivel 7), de manera que los
filtrados se pueden adaptar a características propias de los protocolos de este nivel. Por
ejemplo, si se trata de tráfico HTTP, se pueden realizar filtrados según la URL a la que se está
intentando acceder. Un cortafuegos a nivel 7 de tráfico HTTP suele denominarse proxy, y
permite que los computadores de una organización entren a Internet de una forma controlada.
Un proxy oculta de manera eficaz las verdaderas direcciones de red.
 Cortafuegos personal: Es un caso particular de cortafuegos que se instala como software en un
computador, filtrando las comunicaciones entre dicho computador y el resto de la red. Se usa
por tanto, a nivel personal.

Ventajas de un cortafuegos:

 Establece perímetros confiables.


 Protege de intrusiones.- El acceso a ciertos segmentos de la red de una organización sólo se
permite desde máquinas autorizadas de otros segmentos de la organización o de Internet.

 Protección de información privada.- Permite definir distintos niveles de acceso a la información,


de manera que en una organización cada grupo de usuarios definido tenga acceso sólo a los
servicios e información que le son estrictamente necesarios.

 Optimización de acceso.- Identifica los elementos de la red internos y optimiza que la


comunicación entre ellos sea más directa. Esto ayuda a reconfigurar los parámetros de
seguridad.

Limitaciones de un cortafuegos

Las limitaciones se desprenden de la misma definición del cortafuegos: filtro de tráfico. Cualquier tipo
de ataque informático que use tráfico aceptado por el cortafuegos (por usar puertos TCP abiertos
expresamente, por ejemplo) o que sencillamente no use la red, seguirá constituyendo una amenaza. La
siguiente lista muestra algunos de estos riesgos:

 Un cortafuegos no puede proteger contra aquellos ataques cuyo tráfico no pase a través de él.

 El cortafuegos no puede proteger de las amenazas a las que está sometido por ataques internos
o usuarios negligentes. El cortafuegos no puede prohibir a espías corporativos copiar datos
sensibles en medios físicos de almacenamiento (discos, memorias, etc.) y sustraerlas del edificio.

 El cortafuegos no puede proteger contra los ataques de ingeniería social.

 El cortafuegos no puede proteger contra los ataques posibles a la red interna por virus
informáticos a través de archivos y software. La solución real está en que la organización debe
ser consciente en instalar software antivirus en cada máquina para protegerse de los virus que
llegan por cualquier medio de almacenamiento u otra fuente.
 El cortafuegos no protege de los fallos de seguridad de los servicios y protocolos cuyo tráfico
esté permitido. Hay que configurar correctamente y cuidar la seguridad de los servicios que se
publiquen en Internet.

Políticas del cortafuegos

Hay dos políticas básicas en la configuración de un cortafuegos que cambian radicalmente la filosofía
fundamental de la seguridad en la organización:

 Política restrictiva: Se deniega todo el tráfico excepto el que está explícitamente permitido. El
cortafuegos obstruye todo el tráfico y hay que habilitar expresamente el tráfico de los servicios
que se necesiten.

 Política permisiva: Se permite todo el tráfico excepto el que esté explícitamente denegado.
Cada servicio potencialmente peligroso necesitará ser aislado básicamente caso por caso,
mientras que el resto del tráfico no será filtrado.

La política restrictiva es la más segura, ya que es más difícil permitir por error tráfico potencialmente
peligroso, mientras que en la política permisiva es posible que no se haya contemplado algún caso de
tráfico peligroso y sea permitido por omisión.

IPSec

El objetivo principal de una VPN es el de garantizar la seguridad de los datos en su tránsito por una red
intermedia no segura. El término IPSec es una abreviatura de Internet Protocol SECurity. Y se refiere a la
suite de protocolos (AH, ESP, FIP-140-1 y otros estándares) que fueron desarrollados por el IETF
(Internet Engineering Task Force). El interés principal de este desarrollo fue el de proveer una estructura
de seguridad para la tercer capa (Capa de Red) del modelo OSI.

IPSec es un protocolo de VPN que opera en la Capa 3. De poderosa autenticación, confiabilidad y


administración de claves para VPN.
En Internet, toda comunicación está basada en IP, por ello cuando integro a IP un poderoso mecanismo
de seguridad, la red entera será segura, debido a que toda la comunicación pasa por esta capa y por este
protocolo.
Ésta es la razón por la cual IPSec se desarrolló como protocolo de Capa 3 en lugar de Capa 2.
También, con IPSec todas las aplicaciones de la Capa de Aplicación del Modelo OSI son dependientes de
la Capa de Red para rutear los datos desde el origen al destino.
Dado que IPSec, está totalmente integrado con IP, estas aplicaciones pueden usar la seguridad inherente
con los servicios IPSec, sin necesidad de mayores modificaciones.

IPSec es un método de protección de paquetes IP. Esta protección consiste en la autenticación de los
datos originales, integridad de la conexión y confidencialidad del contenido de los datos.
IPSec provee un estándar robusto que provee seguridad a IP y a los protocolos de capas superiores (UDP
y TCP) y es transparente a los usuarios. Un aspecto sorprendente de IPSec es que a pesar de trabajar
sobre la capa de Red, es “orientado a conexión”, esta “conexión” está dada por las SA que son
asociaciones de seguridad.
Protocolos de IPSec:

• IP Authentication Header (AH): Ofrece autenticación del emisor, protección


• antireply e integridad de datos.
 IP Encapsulating Security Payload (ESP): brinda confidencialidad, autenticación del emisor,
integridad de los datos y protección antireply. Como podemos observar, ESP provee lo mismo
que AH y además en forma opcional, confidencialidad en los datos.
 Internet Security Association and Key Management Protocol (ISAKMP): brindan un método
para establecer automáticamente una SA (SecurityAssociations) y la gestión de las claves de
cifrado.
 IKE (Internet Key Exchange): Los servicios de seguridad provistos por IPSec requieren del
intercambio de claves para realizar la autenticación y confidencialidad. IKE es el protocolo de
autenticación dinámica, negociación de servicios de seguridad y generación de claves
compartidas. (es más utilizado que ISAKMP).

Arquitectura (Explicado más adelante)

El protocolo IPSec (AH y ESP) puede ser usado para proteger tanto al paquete IP completo como a los
mensajes de protocolos de Capas Superiores que constituyen la carga útil (payload) del paquete IP.
• Modo Transporte: es usado para proteger a los protocolos de capa superior. En este modo, es
insertado un encabezado IPSec entre el encabezado IP y el encabezado del protocolo de capa
superior.
• Modo Túnel: es usado para proteger todo el datagrama IP. En este modo todo el paquete IP a
ser protegido es encapsulado en otro datagrama IP y el encabezado IPSec se inserta entre el
encabezado del paquete IP externo y el interno.

A causa de los métodos de construcción, el modo transporte solo puede usarse para proteger paquetes
donde el punto final del enlace de comunicación es también el punto final criptográfico.
El modo túnel puede ser usado en lugar de modo transporte y también puede utilizarse por gateways
para proveer servicios de seguridad en nombre de otras entidades de red por ejemplo, una VPN.
En casos más recientes, los extremos de comunicación son aquellos especificados en el encabezado
interior o protegidos, y los extremos criptográficos son aquellos que llevan el encabezado IP externo.
Como se ha visto, IPSec se puede implementar en sistemas finales o en dispositivos (gateway) de
seguridad tales como routers y firewall.

ESP (SIN LA EXPLICACIÓN DEL ENCABEZADO ESP)

ESP es el protocolo IPSec que provee confidencialidad, integridad de datos y autenticación del origen de
datos de los paquetes IP, y también provee protección contra ataques de repetición (replay). Esto se
realiza insertando un nuevo encabezado un encabezado ESP después de un encabezado IP y antes del
dato a ser protegido tanto del protocolo de capa superior o un datagrama completo y anexando una
cola o “trailer” ESP. Es un nuevo protocolo IP y un paquete ESP es identificado por el protocolo por el
campo “Protocolo” en el encabezado IPv4.

Dado que ESP provee confidencialidad y autenticación, existen múltiples algoritmos definidos en las SA
(contrato entre quienes se comunican) - uno para confidencialidad llamado “cifrador”, y el otro para
autenticación llamado el “autenticador”. Cada SA de ESP puede tener al menos un cifrador y un
autenticador. Es posible definir un cifrador NULO o un autenticador NULO y tener ESP sin encriptación o
ESP sin autenticación respectivamente, pero es ilegal tener ambos NULOS dentro de una SA ESP
individual. Es ilegal debido a que no solo no tiene sentido sobrecargar el sistema, sino que este no
provee seguridad.
En el procesamiento del paquete ESP: Primero verifica el número de secuencia, entonces verifica la
integridad de los datos, entonces desencripta los datos. Dada que la desencriptación es al último, el
número de secuencia (evita el replay) y la autenticación de datos deben estar en texto claro (para no
gastar poder de procesamiento en desencriptar elementos que serán descartados).

AH - Authentication Header (SIN LA EXPLICACIÓN DEL ENCABEZADO AH)

Como ESP, AH provee integridad de datos, autenticación de la fuente de datos y protección contra
ataques de replay. Este no provee confidencialidad. Debido a esto es mucho más simple que ESP; está
constituido de solo un header ya que no contiene un trailer. Además, todos los campos del encabezado
AH están en texto claro (sin encriptar).
El encabezado AH, análogo al ESP , contiene un SPI para ayudar a localizar al SA por medio del cual es
procesado el paquete, un número de secuencia contra el ataque de replay, y un campo de autenticación
de datos que contiene el compendio de la clave MAC usada para seguridad del paquete. Puesto que AH
no provee confidencialidad usando cifrado simétrico en modo CBC, no es necesario un relleno (ESP tenía
el tráiler para que el paquete entero fuera múltiplo de otra cosa).
La autenticación de AH difiere de ESP. AH autentica al encabezado externo del paquete IP. El campo
protocolo de un datagrama IPv4 protegido con AH es “51” indicando que siguiendo al encabezado IP le
sigue un encabezado AH.

Arquitecturas o Modos

En la práctica AH en modo túnel no es utilizado dado que protege los mismos datos que AH en modo
transporte.
Modo Transporte

En el modo transporte, AH y ESP protegen el encabezado de transporte. Es este modo, AH y ESP


interceptan el flujo de paquetes desde la capa de transporte dentro de la capa de red y proveen la
configuración de seguridad.

El modo transporte de IPSec puede usarse solo cuando se desea seguridad entre ambos extremos finales
(end to end). Los routers miran en la mayoría de las veces la capa de red cuando tiene que tomar
decisiones de enrutamiento y no debieran cambiar nada más allá del encabezado de la capa de red.

ESP+AH

Cuando son usados AH y ESP en modo transporte, ESP debiera ser aplicado primero. La razón es obvia.
Dado que se desea el mayor nivel posible de datos con integridad si el paquete es protegido usando AH
después de que es protegido con ESP, entonces la integridad de datos se aplica a la carga útil ESP, que
contiene la carga útil de transporte como se muestra en la figura.

Modo Túnel

IPSec en modo túnel es usado normalmente cuando el destino final de los paquetes es diferente del
punto final de seguridad como se muestra en la figura. El modo túnel es también usado en casos donde
la seguridad es provista por un dispositivo que no origina paquetes como es el caso de VPN (supongo
que lo dice porque el router puede hacer la VPN y el router no origina paquetes).
En el caso de modo túnel, IPSec encapsula al paquete IP con en Header IPSec y agrega un Header IP
externo como se muestra la figura.

Un paquete IPSec en modo túnel tiene dos encabezados IP, uno interior y otro exterior. El encabezado
interior es construido por el host y el exterior es agregado por el dispositivo que provee servicio de
seguridad (ya sea un host o un router). También soporta túneles “anidados”. El
tunneling anidado es cuando el paquete de túnel es nuevamente tunelizado en otro túnel, como se
muestra en la figura.

El requisito para el túnel es que el encabezado interior es completamente comprendido por el


encabezado exterior. (Ejemplos página 17 del archivo VPN-IPSec.pdf).
Asociación de Seguridad (Security Associations)

Las SA son el contrato entre dos entidades que se comunican. Ellas determinan los protocolos IPSec
usados para asegurar los paquetes, la transformación, las claves y la duración por el cual las claves son
válidas. Cualquier implementación IPSec permite construir una base de datos SA (SADB - SA database)
que mantiene las SA que usa IPSec para proteger los paquetes. Las SA son de una vía. Si dos host, A y B,
están comunicándose seguramente usando ESP, entonces el host A debe tener una SA de salida para
procesar paquetes salientes y una SA de entrada para procesar paquetes entrantes. El host B también
crea dos SA para procesar estos paquetes. Las SA de salida de host A y la SA de entrada del host B deben
compartir los mismos parámetros de criptografía, tales como las claves. Existe una SA por cada
protocolo. Sidos host, A y B se comunican en forma segura usando AH y ESP, entonces cada host
construye una SA separada para cada protocolo.

Existe otro componente de la arquitectura IPSec llamado la base de datos de políticas de seguridad (SPD
- Security Policy Database). El SPD trabaja en conjunción con el SADB en el procesamiento de paquetes.
La política es un componente extremadamente importante de la arquitectura IPSec. La política define
las características de seguridad entre dos entidades. Esto define que protocolos para usar en qué modo
y qué transformación usar. Esto también define como los paquetes IP son tratados.

Identificación de una SA:

• Parámetro índice de Seguridad (Security Parameter Index - SPI): Es un número entero de 32


bits que identifica diferentes SAs con la misma dirección IP destino y el mismo protocolo. El SPI
es transmitido como parte del encabezado AH y ESP.
• Dirección IP Destino: Puede ser una dirección IP unicast, broadcast, o multicast.
• Protocolo de Seguridad: Puede ser AH o ESP.

Anti-Repetición (Anti-Replay)

Ambos protocolos suministran servicio antireplay para prevenir contra ataque de denegación de servicio
(DOS - Denial Of Service) en el cual los paquetes viejos son reenviados por un atacante para causar que
la CPU del receptor consuma ciclos de procesamiento.
Los paquetes IPSec están protegidos contra ataques replay usando un número de secuencia y un
mecanismo de “ventana deslizante”. (Explicación del funcionamiento pág. 21 VPN-IPSec.pdf).

Intercambio de Claves Internet - IKE (Internet Key Exchange)

El propósito de IKE es establecer parámetros de seguridad compartida para autenticar las claves, en
otras palabras, la asociación de seguridad (SA), entre los pares IPSec.
IKE define el formato del paquete, los tiempos de retransmisión y los requisitos para la construcción de
los mensajes. IKE usa el concepto de SA (Security Association) pero la construcción física de una SA IKE
es diferente que en IPSec. La SA IKE define la vía por la cual dos extremos comunicantes, por ejemplo,
cual algoritmo usa IKE para encriptar el tráfico, cómo autenticar, etc. La SA IKE es entonces usada para
producir número de SA IPSec entre pares.
La SA IPSec establecida por IKE puede opcionalmente mejorar el envío secreto de claves.
Virtual Private Network (VPN)

La Red Privada Virtual es una tecnología de red que permite una extensión de la red local sobre una red
pública o no controlada, como por ejemplo Internet, con muchas propiedades de las redes privadas. Se
llaman virtuales porque son sólo una ilusión y son construidas normalmente sobre internet. Un diseño
común es equipar cada oficina con un firewall y crear túneles a través de internet con el uso de IPSec
con ESP, entre todos los pares de oficinas.
Si IPSec se utilizara para el proceso de enrutamiento, entonces sería posible agregar todo el tráfico entre
cualquiera de los dos pares de oficinas con una sola SA encriptada y autenticada, con lo que se
proporcionaría control de integridad, confidencialidad e incluso inmunidad considerable al análisis de
tráfico.
Cuando se inicia el sistema, cada firewall tiene que negociar los parámetros de su SA, incluyendo
servicios, modos, algoritmos y claves. Una vez establecidas las SA, el tráfico puede comenzar a fluir. Para
un router en internet, un paquete que viaja a través de un túnel VPN es sólo un paquete ordinario. Lo
único extraño es la presencia del encabezado IPSec después del encabezado IP.
Una ventaja principal de oranizar de esta forma una VPN es que es completamente transparente para
todo software de usuario. Los firewalls configuran y manejas las SA. La única persona que está
consciente de esta configuración es el administrador del sistema, quien tiene que configurar y manejar
los firewalls.

Ventajas

 Integridad, confidencialidad y seguridad de datos.


 Las VPN reducen los costos y son sencillas de usar.
 Facilita la comunicación entre dos usuarios en lugares distantes.
 Se utilizá más en campus de Unversidades.

Tipos de conexión

 Conexión de acceso remoto: Una conexión de acceso remoto es realizada por un cliente o un
usuario de una computadora que se conecta a una red privada, los paquetes enviados a través
de la conexión VPN son originados al cliente de acceso remoto, y éste se autentica al servidor de
acceso remoto, y el servidor se autentica ante el cliente.
 Conexión VPN router a router: Una conexión VPN router a router es realizada por un router, y
este a su vez se conecta a una red privada. En este tipo de conexión, los paquetes enviados
desde cualquier router no se originan en los routers. El router que realiza la llamada se
autentifica ante el router que responde y este a su vez se autentica ante el router que realiza la
llamada y también sirve para la intranet.
 Conexión VPN firewall a firewall: Una conexión VPN firewall a firewall es realizada por uno de
ellos, y éste a su vez se conecta a una red privada. En este tipo de conexión, los paquetes son
enviados desde cualquier usuario en Internet. El firewall que realiza la llamada se autentica ante
el que responde y éste a su vez se autentica ante el llamante.
Seguridad Inalámbrica

Se han diseñado protocolos para que la seguridad en una LAN inalámbrica sea tan buena como la de una
LAN cableada, uno de ellos es WEP (Privacidad Inalámbrica Equivalente) que trabaja a nivel de la capa de
enlace de datos. Cuando se habilita la seguridad, cada estación tiene una clave secreta que comparte
con la estación base (la forma en que se intercambian las claves no está especificada por el estándar) y
la utiliza para cifrar y descifrar la información. La encriptación WEP utiliza cifrado de flujo con base en el
algoritmo RC4 que genera un flujo de claves al cual se le aplica un XOR con el texto plano para dar lugar
al texto cifrado.
Bluetooth tiene un rango más corto que las LAN inalámbricas, pero tiene tres modos de seguridad, que
van desde ninguna seguridad, hasta la encriptación completa de datos y control de integridad. Bluetooth
proporciona seguridad en múltiples capas, pero la seguridad real inicia cuando el esclavo pide un canal
al maestro y se da por hecho que los dos dispositivos comparten una clave secreta establecida con
anticipación. Un problema de seguridad de bluetooth es que solo autentica dispositivos y no usuarios,
por lo que un robo de un dispositivo podría abrir una brecha de seguridad (aunque a nivel de aplicación
podría pedírsele un password que solucione este problema).
WAP (Wireless Application Protocol) utiliza protocolos estándares en todas las capas y como está
basado en IP, soporta el uso de IPSec en la capa de red. En la capa de transporte, las conexiones TCP
pueden protegerse con el uso de TLS y en las capas superiores utilizar autenticación de cliente HTTP por
ejemplo.

Secured Sockets Layer (SSL)

La capa de sockets seguros constituye una conexión segura entre dos sockets, incluyendo:

 Negociación de parámetros entre el cliente y el servidor.


 Autenticación tanto del cliente como del servidor.
 Comunicación secreta.
 Protección de la integridad de los datos.

SSL es una nueva capa colocada entre la capa de aplicación y la de transporte, que acepta solicitudes del
navegador enviándolas a través TCP para transmitirlas al servidor. Una vez que se ha establecido la
conexión segura, el trabajo principal de SSL, se conoce como HTTPS (HTTP Seguro, aunque es el
protocolo HTTP estándar). Sin embargo, algunas veces está disponible en un nuevo puerto 443 en lugar
del estándar 80.
SSL consiste en dos subprotocolos, uno que permite establecer una conexión seguro y otro que permite
usarla.

Funcionamiento

Las conexiones seguras se establecen cuando una maquina A envía un mensaje de solicitud a la máquina
B para establecer una conexión, en este mensaje se especifica la versión de SSL que posee A y sus
preferencias con respecto a algoritmos criptográficos y compresión, junto con una marca aleatoria 𝑅𝐴 .
La máquina B responde indicando que algoritmo utilizarán de los que A ofreció, junto con su marca
aleatoria 𝑅𝐵 y un certificado con su clave pública. Una vez enviado esto, B envía un mensaje a A
indicando que es su turno. Entonces A responde a B seleccionando una clave pre-maestra aleatoria de
384bits y la envía a B encriptada con la clave publica de B. La clave de sesión utilizada para encriptar
datos se deriva de la clave pre-maestra combinada con 𝑅𝐴 y 𝑅𝐵 . Por lo que después de que B recibe la
clave pre-maestra ambos pueden calcular la clave de sesión. A envía un mensaje a B diciendo que utilice
el nuevo cifrado (la clave de sesión) y B responde este mensaje confirmando que cambia al nuevo
cifrado. A partir de aquí pueden comenzar a intercambiar datos.

Aplicaciones

SSL se ejecuta en una capa entre los protocolos de aplicación como HTTP, SMTP, NNTP y sobre el
protocolo de transporte TCP, que forma parte de la familia de protocolos TCP/IP. Aunque pueda
proporcionar seguridad a cualquier protocolo que use conexiones de confianza (tal como TCP), se usa en
la mayoría de los casos junto a HTTP para formar HTTPS. HTTPS es usado para asegurar páginas World
Wide Web para aplicaciones de comercio electrónico, utilizando certificados de clave pública para
verificar la identidad de los extremos.

Aunque un número creciente de productos clientes y servidores pueden proporcionar SSL de forma
nativa, muchos aún no lo permiten. En estos casos, un usuario podría querer usar una aplicación SSL
independiente como Stunnel para proporcionar cifrado. No obstante, el Internet Engineering Task Force
recomendó en 1997 que los protocolos de aplicación ofrecieran una forma de actualizar a TLS a partir de
una conexión sin cifrado (plaintext), en vez de usar un puerto diferente para cifrar las comunicaciones –
esto evitaría el uso de envolturas (wrappers) como Stunnel.

SSL también puede ser usado para tunelizar una red completa y crear una red privada virtual (VPN),
como en el caso de OpenVPN.

Transport Layer Security

Secure Sockets Layer -Protocolo de Capa de Conexión Segura- (SSL) y Transport Layer Security -
Seguridad de la Capa de Transporte- (TLS), su sucesor, son protocolos criptográficos que proporcionan
comunicaciones seguras por una red, comúnmente Internet.

Existen pequeñas diferencias entre SSL 3.0 y TLS 1.0, pero el protocolo permanece sustancialmente
igual. La forma en que se deriva una clave de sesión a partir de la clave pre-maestra y las marcas
aleatorias se cambió para hacer que la clave fuera más fuerte. La versión de TLS también se conoce
como SSL Versión 3.1 (ya que la última versión de SSL es la 3.0). Dado que es más fuerte TLS que SSL aun
no se sabe si lo reemplazará en la práctica o no.