Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introduccin
En esta leccin hablaremos de diversos problemas de investigacin relacionados con
Internet. En cada clase trataremos:
Empezaremos hablando de cmo funciona la Red hoy en da, de cules son las
cuestiones principales en cuanto a su arquitectura actual y de qu modo los servicios de
Akamai estn la estn modificando. Posteriormente, hablaremos de los retos tecnolgicos y
concluiremos con las futuras lneas de investigacin en esta rea.
La mayora de las clases incluirn un ejemplo de algn problema terico surgido a
partir de la investigacin en Akamai. El ejemplo de hoy, que veremos ms tarde, est
relacionado con la optimizacin de costes: el problema de asignar cada usuario a un servidor
ptimo minimizando, al mismo tiempo, los costes totales de ancho de banda.
Primavera 2002
Un punto neutro es, bsicamente, un enlace entre dos routers situados en diferentes
redes. Para que los datos pasen de una red a otra, han de atravesar este enlace. De hecho, en
la Red hay miles de puntos de este tipo y, para llegar al usuario final, los datos han de pasar
por muchas redes individuales y numerosos puntos neutros.
Actualmente, dos tipos de protocolos ayudan a direccionar el trfico en la Red. Los
protocolos internos de pasarela (IGP), como RIP, dirigen los datos dentro de una misma red
individual. Pero a nosotros nos interesa ms el protocolo externo de pasarela (EGP) conocido
como BGP, que se emplea para enrutar los datos entre redes. Mientras los IGP utilizan una
gran variedad de mtodos sofisticados para determinar el mejor camino de enrutamiento
entre ellos, anlisis de topologa, ancho de banda y congestin, el BGP no. En su lugar, el
BGP determina las rutas minimizando, simplemente, el nmero de redes individuales que
han de atravesar los datos. Este enfoque, aunque escalable, no controla bien la congestin.
La arquitectura actual de Internet favorece enormemente la escalabilidad de la Red y
ha permitido que se extienda rpidamente. Sin embargo, hay cuatro cuellos de botella
inherentes a esta arquitectura que pueden llegar a afectar gravemente al rendimiento de la
Red a medida que sta vaya creciendo. En la siguiente figura se muestran estos cuellos de
botella que, posteriormente, analizaremos uno a uno.
Primavera 2002
Por trfico, nos referimos al nmero de bits transferidos, no al nmero de usuarios. Un gran nmero de
usuarios slo puede producir una pequea cantidad de trfico si sus conexiones son lentas, como es el caso de
AOL. El servicio de ancho de banda Excite@Home, por ejemplo, produce ms o menos el mismo trfico que
AOL, a pesar de tener muchos menos usuarios.
Primavera 2002
Primavera 2002
falsamente con el fin de desviar el trfico hacia redes en competencia y similares. Esto
puede conducir al desastre, como en el caso en el que un ingeniero de Nivel 3 anunci
por accidente rutas con un coste de - a todos los puntos. Entonces, una enorme cantidad
de trfico se dirigi hacia el Nivel 3, causando una gran congestin. Como mencionamos
anteriormente, BGP ignora la congestin a la hora de determinar las rutas ptimas, por lo
que el problema pronto afect a las tres cuartas partes de la totalidad del trfico de
Internet. El parn dur 45 minutos.
El peering es, por tanto, un problema inherente a la arquitectura de la Red. Aunque se ha
dicho que los problemas de peering se solucionaran a medida que se consolidaran las
empresas de telecomunicaciones y se fusionaran las redes, no hay ningn indicio de que esto
est sucediendo. En realidad, el nmero de redes distintas est en aumento.
La ltima milla
El cuello de botella de la ltima milla es con el que estn familiarizados la mayor
parte de los usuarios de Internet: la velocidad limitada del mdem de 56K que les sirve de
enlace a su ISP. Una equivocacin frecuente, no obstante, es la de pensar que la introduccin
de DSL de banda ancha o cable resolver todos los problemas de rendimiento de Internet.
Esto no es as. Las dificultades encontradas en los primeros tramos de la comunicacin
seguirn causando problemas de rendimiento: la calidad de una conexin depende de su
enlace ms dbil. De hecho, en realidad la velocidad limitada de los mdems es lo que est
salvando a Internet del colapso total: si todos los usuarios pudieran solicitar contenidos a
velocidades de banda ancha crearan tanta congestin en los otros tres tipos de cuellos de
botella que el trfico de Internet se estancara. En efecto, hoy en da, Internet est
funcionando casi al lmite de su capacidad: es necesario resolver las otras cuestiones antes de
exponer la arquitectura a nuevos millones de usuarios de banda ancha.
Primavera 2002
Funcionamiento inestable
Con frecuencia, los contenidos se pueden ver bloqueados como resultado de la
congestin o debido a problemas de peering. Un sitio que funciona perfectamente en un
momento determinado, puede resultar inaccesible al minuto siguiente.
Falta de escalabilidad
Dado que cada usuario debe obtener los datos directamente desde un servidor central,
se producen importantes problemas de escalabilidad. El uso est limitado por el ancho de
banda presente en el sitio central.
Calidad inferior de streaming (flujo)
El streaming multimedia, uno de los principales objetivos de los proveedores de
contenidos, no resulta factible bajo el modelo de servidor central. La prdida de paquetes,
la congestin y los estrechos conductos sirven para degradar la calidad de streaming,
haciendo que la reproduccin de videos de alta resolucin en lnea bajo demanda sea
prcticamente imposible.
El ancho de banda no mejora la situacin
Como ya se ha comentado, el ancho de banda no es la solucin a los cuellos de
botella mencionados anteriormente. De hecho, servira nicamente para incrementar la
congestin de la primera milla, los problemas de peering y la congestin de las
estructuras, a medida que ms gente intenta realizar mayores descargas.
Primavera 2002
1.3.1. Ventajas
El modelo de Akamai presenta diversas ventajas con relacin al establecido. Al
eliminar el punto central a travs del cual se acceda a los datos, esta solucin evita el cuello
de botella de la primera milla. Los contenidos se sirven desde ubicaciones prximas al
usuario final, y no desde un servidor central geogrficamente distante y, por lo general,
congestionado, como se muestra en la figura 1.4. Dado que el contenido de cada sitio est
ahora disponible en mltiples servidores, su capacidad ya no se ve limitada por la velocidad
de cada enlace de red. El sistema es tambin ms fiable, puesto que no hay ninguna
posibilidad de fallo. Si se cae un servidor de Akamai, sus usuarios son automticamente
dirigidos a otro.
El sistema de entrega en el borde resuelve tambin los problemas de peering. Ya no
es necesario que los datos atraviesen mltiples redes ni pasen por puntos neutros
congestionados. Cada usuario los puede obtener directamente de su propia red, lo que supone
descargas ms rpidas. Por supuesto, esto supone que todas (o casi todas) las redes debern
tener un servidor local de Akamai. Adems, puesto que los contenidos se entregan desde el
borde de la red, la demanda de capacidad de estructura se ve tambin reducida en gran
medida.
Si bien es cierto que el modelo de entrega en el borde no resuelve directamente el
problema de la ltima milla, el hecho de entregar los contenidos ms cerca de los usuarios
finales y de resolver los tres problemas presentes en anteriores tramos de la comunicacin,
permite introducir con xito la banda ancha.
La mejora de rendimiento lograda por Akamai se puede observar en la figura 1.5.
Esta grfica muestra la media de los tiempo de acceso globales a un sitio web con y sin el
modelo de Akamai. Obsrvese que los tiempos de acceso son significativamente ms largos
en los das laborables, durante las horas de oficina, debido a la carga que suponen las LANs
de las empresas, con su elevado ancho de banda. Es obvio que el alojamiento de un sitio web
con Akamai tiene dos ventajas: en primer lugar, el tiempo medio de acceso global se reduce,
Primavera 2002
en algunos casos, hasta un 800%; en segundo lugar, el rendimiento del sitio web es mucho
ms regular durante toda la semana.
Figura 1.5. Rendimiento del sitio web: mejoras habituales con Akamai.
Primavera 2002
Akamai Forum es una solucin que gestiona la totalidad del proceso de produccin y
difusin de eventos de los medios con streaming. Permite a las empresas producir
webcast en vivo e interactivos. El foro no requiere ningn software especial de cliente,
permite el feedback y la participacin del pblico en vivo diapositivas de presentacin
sincronizadas.
El DPS (Digital Parcel Service): hoy en da, a muchos proveedores les preocupa colgar
contenidos en la Red ante el temor de que sean utilizados sin el debido pago. El DPS
permite que nicamente los usuarios autorizados, previo pago, accedan al material en
lnea. Se trata de una completa solucin para la distribucin digital, la presentacin de
informes y la gestin de derechos.
Primavera 2002
central adquiere una mayor importancia: esto aligera la carga en el proveedor central de
contenidos y mejora el rendimiento de cara al usuario final.
Con las soluciones anteriores de entrega de contenidos, como FreeFlow, todos los procesos
de la aplicacin tenan lugar en el servidor central: los servidores del ncleo ejecutaban las
aplicaciones y preparaban el HTML para transmitirlo al usuario final. El aumento de
velocidad se obtuvo mediante la obtencin de objetos ms grandes y pesados, tales como
grficos y audiovisuales, a partir de los servidores del borde.
Por el contrario, las soluciones de entrega de contenidos reunidos en el borde, permiten que
la mayora de las aplicaciones en Internet se almacenen y se entreguen desde el borde,
facilitando as la personalizacin dinmica y un funcionamiento mucho ms rpido.
Mediante el almacenaje en el borde, el servidor almacena en cach los resultados de las
consultas a la base de datos, lo que reduce en gran medida la carga en el servidor central.
Imaginemos, por ejemplo, un sitio que proporciona informacin meteorolgica. Esta
informacin se puede guardar fcilmente en la cach hasta unos 15 minutos sin que se quede
obsoleta. Este perodo de tiempo, despus del cual los datos almacenados en la cach pierden
validez y han de ser actualizados, se conoce como tiempo de vida (TTL). Cuando un
usuario solicita el tiempo de Boston, se recuperar el contenido del servidor central y se
almacenar en la cach del servidor del borde que haya respondido a la peticin. Cuando otro
usuario solicite el tiempo de Nueva York, ese contenido se almacenar tambin en la cach.
Si, a continuacin, un tercer usuario solicitara el tiempo de Boston o el de Nueva York, el
servidor del borde ya no necesitar ponerse en contacto con el servidor central, sino que
podr crear la pgina adecuada y responder directamente. En el caso de muchos usuarios,
esta tcnica puede reducir enormemente la carga en el servidor central, ya que el servidor del
borde slo necesitar volver a ponerse en contacto con la base de datos del servidor central
cuando el TTL haya expirado.
Al igual que haca FreeFlow, EdgeSuite mejora el rendimiento de los sitios web sirviendo los
contenidos desde el borde de la Red. Sin embargo, con EdgeSuite, se montan y entregan
muchos ms contenidos desde el borde, dando lugar a un rendimiento an mejor.
Primavera 2002
prctica, los navegadores pueden abrir mltiples conexiones simultneas para recuperar
pginas completas algunos objetos, como las imgenes, se ven aparecer poco a poco en la
pgina en funcin del orden en el que se van obteniendo.
11
Primavera 2002
El servidor DNS local contacta entonces con el servidor DNS de mit.edu para
obtener la IP de web.mit.edu. Recibe una direccin IP, que puede almacenar en su cach y
devolver al sistema operativo de la mquina que inici todo el proceso quien, finalmente, la
entrega al navegador.
12
Primavera 2002
servidor de Akamai monta la pgina web, estableciendo conexiones con el servidor central de
Yahoo! para obtener contenidos dinmicos como las personalizaciones, en caso de que sea
necesario. A continuacin se entrega el HTML al navegador.
Al igual que en el caso tradicional, este HTML puede contener enlaces a objetos
incorporados. El navegador obtiene la direccin IP de estos objetos: al igual que antes, el
servicio DNS devuelve las direcciones de los servidores Akamai que albergan cada uno de
los objetos. Finalmente, el navegador recupera los objetos incorporados a partir de estos
servidores.
13
Primavera 2002
14
Primavera 2002
Primavera 2002
cul es el servidor web adecuado. Puesto que existen miles de servidores DNS de bajo nivel,
la carga est entonces bien distribuida.
Es probable que el mismo servidor DNS sea vlido para un determinado usuario
durante, al menos, una parte del da, dado que los parmetros de red de alto nivel y
geogrficos no varan con rapidez. De este modo, cuando un usuario es direccionado hacia un
servidor LLDNS concreto, el tiempo que su direccin IP permanece almacenada en la cach
puede ser de hasta una hora. Esto reduce todava ms la carga en los servidores HLDNS.
A su vez, los servidores DNS de bajo nivel, deben determinar el servidor web
adecuado para cada cliente, teniendo en cuenta ciertas condiciones en tiempo real, como son
la congestin de la red y la carga del servidor dentro de una zona geogrfica. Puesto que
estas condiciones varan con rapidez, una vez que un servidor LLDNS direcciona a un cliente
hacia un servidor web concreto, la direccin se almacena slo durante unos cuantos
segundos. Esto garantiza que el sistema responda con rapidez ante un cambio en las
condiciones; cada usuario ser redireccionado al servidor adecuado para l en ese momento.
16
Primavera 2002
Figura 1.10. Comparacin del acceso tradicional a los servidores con el montaje en el borde.
EdgeSuite lo lleva acabo mediante el empleo de EdgeSide Includes (ESI), un lenguaje de
marcado abierto promovido en sus comienzos por Oracle y Akamai. Este lenguaje disecciona
las pginas web en distintos fragmentos, cada uno de ellos con su perfil de cach (si nos
situamos dentro del contexto de nuestro primer ejemplo, el tiempo de Boston podra ser uno
de esos fragmentos, almacenado con un TTL de 15 minutos). Estos fragmentos estn
alojados en los servidores del borde de las redes de Akamai y son incorporados en el
montaje de pginas web que tiene lugar en estos servidores cuando los usuarios los solicitan.
La capacidad para construir pginas web dinmicas a partir de fragmentos individuales en el
borde de la red implica que slo es necesario obtener del servidor central los elementos que
no se pueden almacenar en la cach o los que han caducado. Adems, el montaje de la pgina
puede ser condicional, dependiendo de las cookies del usuario final o de las cabeceras de las
peticiones HTTP. Bsicamente, ESI evita tener que obtener pginas completas del servidor
central, reduciendo enormemente la carga que ste ha de soportar.
17
Primavera 2002
18
Primavera 2002
1.5.2. Mapeo
Cuando un usuario solicita una pgina web del sistema de Akamai, el sistema tiene que
decidir qu servidor utilizar. Esto presenta una serie de dificultades debido a la complejidad
de la decisin.
El sistema tiene que equilibrar una carga de trfico muy variable y optimizar muchos
recursos diferentes a la vez que minimiza el coste.
El sistema debe ser flexible y capaz de tolerar un gran nmero de fallos importantes
(como la cada de unos 1.000 servidores a la vez) sin dejar de ofrecer un servicio
constante y fiable.
Primavera 2002
1.5.4. Operaciones
Otro de los problemas es que el gigantesco sistema distribuido de Akamai debe estar siempre
en funcionamiento. No puede dejar de estar en lnea, ni siquiera por cuestiones de
mantenimiento y, por ello, ha de ser capaz de aceptar actualizaciones de software en
marcha. Ms an, el sistema debe ser seguro frente a posibles ataques maliciosos, as como
frente a los errores del software de terceros.
La dificultad de esto se puede ver en el ejemplo de un router de Malasia que cometi
un error en el sistema operativo Linux, causando la cada de varios servidores de Akamai.
20
Primavera 2002
rbol de expansin mnima: empleado por los switches para evitar los ciclos en
las LAN.
BGP: utilizado para el enrutamiento en Internet.
2. Protocolo de tnel punto a punto para las VPN (PPTP)
Hash de contraseas y encriptacin: proporciona privacidad.
Autenticacin: confirma la identidad.
3. Codificacin y decodificacin
Cdec: codifica las tramas de audio y vdeo.
Compresin: reduce el consumo de ancho de banda.
Cdigos de correccin de errores: aumenta la fiabilidad.
Renderizacin: muestra el contenido en la pantalla.
4. Akamai
Seleccin del mejor servidor: requiere una optimizacin compleja.
Elaboracin de informes y facturacin: requiere acceso en tiempo real a los
datos distribuidos.
Etc.
21
Primavera 2002
22
Primavera 2002
Existe algn algoritmo adecuado que pueda resuelva esta minimizacin del coste?
Por desgracia, la respuesta es no. Se trata de un problema NP-difcil y se puede reducir a un
problema de cobertura de vrtices.
A continuacin, se muestra un esquema conceptual de la reduccin.
El conjunto adecuado de contenedores para una fuente est representado, en este caso, por los contenedores
conectados por medio de bordes a dicha fuente.
23
Primavera 2002
5. Establecer el coste de cada contenedor para que sea 1$ para la primera unidad de
carga y 0$ para las siguientes.
Llamaremos a este nuevo grfico H. H constituye un claro ejemplo del problema de
optimizacin de costes tal como lo hemos descrito.
En la figura 1.14 que se muestra a continuacin se puede ver un diagrama de esta
transformacin para el grfico de ejemplo anterior.
24
Primavera 2002
fuente de H, esto significa que hay k vrtices de G conectados a cada borde de G, lo que
implica que G presenta una cobertura de k vrtices.
De este modo, podemos definir un algoritmo B al que, al pasarle un ejemplo del
problema de cobertura de vrtices en G, construya el correspondiente problema de
optimizacin de costes siguiendo los pasos 1-5 anteriores, llame a A para obtener una
solucin y compruebe si se estn utilizando k o menos contenedores. De ser as, B sabr que
G presenta una cobertura de vrtices. Sin embargo, si A se ejecuta en tiempo polinmico, B
tambin lo har. Dado que el problema de cobertura de vrtices es NP-difcil, no existe un
algoritmo A semejante (conocido). Esto completa la reduccin3.
La reduccin inversa es relativamente obvia. Si G presenta una cobertura de vrtices de tamao k, es que hay
un conjunto de k vrtices conectados a cada borde de G. Del mismo modo, esto significa que hay un conjunto
de k contenedores conectados a cada fuente de H. Puesto que cada contenedor cuesta 1 dlar por su uso,
independientemente de la cantidad de carga que soporta, hay una solucin para H con coste un de k dlares.
25