Topological and Geographical Analysis on Routing and Server Selection of Anycast Clouds Felipe Espinoza NIC Chile Research Lab Santiago, Chile fdns@niclabs.cl incrementar su disponibilidad ante problemas que puedan ocurrir en la red. Abstract Para permitir a los clientes conectarse a los servidores más cercanos, cada AS (Autonomous Anycast is used by a large amount of System, por sus siglas en inglés) utiliza el protocolo DNS and CDN services for distribution, BGP (Border Gateway Protocol, por sus siglas en load balancing and latency reduction in inglés) para definir el camino más corto de un the access of its resources. Given the paquete para llegar a su destino. Sin embargo, estos private nature of the internet, the knowledge sistemas no presentan formas de asegurar que las about the area of services of every anycast rutas seleccionadas por los AS abarquen a la cantidad server and the optimality of the routes óptima de usuarios en la cual operan. used by their clients to connect to these Dado el carácter privado de las caracterı́sticas de servers become very diffuse. This paper la red y las tablas de rutas de los AS, realizar una presents initial work on a geographical and predicción del camino y servidor al cual cada cliente topological mapping of an anycast cloud se conectará pasa a ser una tarea muy difı́cil. Esta over the entire Internet, dividing it into información es muy importante para los proveedores de /24 networks prefixes, presenting methods estos servicios, para la detección de errores, balanceo to perform measurements of routes, area of de carga, y posicionamiento de nuevos servidores en service and distances between servers and puntos estratégicos que permitan el mejor rendimiento their clients, comparing the theorical optimum y latencia para los clientes. and the observed reality. NIC Chile actualmente opera su propia nube anycast con más de 26 servidores distribuidos en diferentes paı́ses, lo cual incrementa la complejidad del 1 Introducción ruteo y su descubrimiento. Para obtener un mayor Anycast es una metodologı́a de enrutamiento que conocimiento sobre las rutas actuales, este trabajo permite la distribución de los paquetes a diferentes busca realizar una exploración sobre las diferentes servidores utilizando una única dirección o bloque rutas seleccionadas por los distintos AS en una IP. Esta metodologı́a es utilizada por servidores DNS dirección de red anycast, determinando el área de (Domain Name System, por sus siglas en inglés) servicio de cada servidor, los AS involucrados y [ICCCN6] y CDN (Content Delivery Network, por caracterı́sticas de la red sobre la que se trabaja. sus siglas en inglés) [CONEXT15] para realizar una distribución de la carga que estos reciben, y acercar 2 Trabajo Relacionado los servicios a los clientes, permitiendo disminuir los tiempos de acceso a los diferentes recursos, e Los análisis que se han realizado sobre las redes anycast utilizan distintos métodos para obtener el área Copyright c by the paper’s authors. Copying permitted for de servicio. Dos de los métodos más utilizados en esta private and academic purposes. área corresponden a los siguientes. In: Proceedings of the IV School of Systems and Networks (SSN 2018), Valdivia, Chile, October 29-31, 2018. Published • Análisis de logs y capturas de paquetes: at http://ceur-ws.org Esta forma de análisis permite a los operadores de los servicios anycast obtener las fuentes desde 3 Metodologı́a Propuesta donde se genera el tráfico de manera directa. Esta En este trabajo, se busca responder las siguientes posee la ventaja de entregar información exacta de preguntas: (a) ¿Son los servidores más cercanos los los lugares en los que sus servicios son utilizados, que responden las consultas DNS ? (b) ¿Es posible y los volúmenes de información sobre cada una determinar las rutas utilizadas por los clientes para de las redes [PAM07]. Este tipo de análisis no conectarse a los servidores DNS? (c) ¿Es posible entrega información sobre la topologı́a de la red determinar el posicionamiento de un nuevo servidor sobre la que se trabaja, lo cual no nos permite DNS según la topologı́a de internet? realizar un análisis a fondo sobre las rutas que se utilizan. 3.1 Medición de rutas y área de servicio El análisis de las áreas de servicio de cada servidor • Redes de medición: Utilizando plataformas se separará en prefijos de red /24, dado que con una gran cantidad de puntos de medición, es este corresponde al lı́mite actual utilizado para el posible realizar un análisis del estado de una red establecimiento de las rutas BGP. En cada uno de anycast de manera externa. Este tipo de análisis estos prefijos, se elegirá a un representante que se realiza mediciones de valores tales como el RTT encuentre activo para realizar las mediciones. Para (Round Trip Time, por sus siglas en inglés) de esto, es posible utilizar Hitlists ya calculadas o realizar diferentes localizaciones, o utiliza propiedades del un cálculo local de esta [IMC10]. software ejecutado en la nube anycast, tal como Para ejecutar las mediciones del área de servicio el envı́o de consultas CHAOS a servidores DNS de cada dirección IP. Un servidor en la red anycast para la identificación de estos. a analizar realizará el envı́o de un paquete UDP o ICMP a cada dirección de la Hitlists, estableciendo en Este tipo de mediciones permite obtener una los demás servidores sondas que reciban las respuestas visión externa de los servicios. Sin embargo, no de los paquetes enviados. Dado que la dirección logran realizar una observación completa sobre de respuesta corresponde a la nube anycast, los los clientes de la nube anycast, dado que los paquetes serán dirigidos por la red hacia el servidor puntos de observación no existen en todas las correspondiente al cliente en el prefijo de red indicado, redes de internet. Plataformas tales como RIPE tal como se puede apreciar en la figura 1. Atlas proveen aproximadamente 10,000 puntos de observación que permiten una buena visión sobre el despliegue [PAM17], sin embargo, generalmente estos se encuentran sesgados a lugares con una gran concentración de usuarios, principalmente Estados Unidos y Europa, lo cual produce que mediciones en lugares tales como Sudamérica y Asia sean poco representativas. Por otro lado, se han realizado evaluaciones a largo plazo sobre la disponibilidad y efectividad de los diferentes despliegues de redes anycast, mostrando los efectos de diferentes eventos sobre cambios en la red [NOMS10]. Además, se han realizado estudios sobre la estabilidad de estas redes, donde se ha encontrado que las rutas anycast son mayoritariamente estables, permitiéndonos realizar una mejor planificación de los Figura 1: Ejemplo de ejecución de medición de área despliegues de estos servidores [TNSM17], sin esperar de servicio. El servidor 1 envı́a paquetes a los cliente cambios importantes en la topologı́a que afecten al 1 y 2, y las respuestas son enrutadas según las tablas rendimiento de esta. de rutas de los routers a los servidores respectivos. Las últimas investigaciones utilizan redes de medición, realizando una comparación entre el caso Para realizar el cálculo de la ruta sobre la cual cada óptimo y el observado. En caso de poseer acceso a la servidor en la nube anycast trabaja, por cada paquete red anycast, se han desarrollado mediciones utilizando recibido del análisis, es necesario ejecutar un traceroute paquetes ICMP para establecer los bloques IP y áreas para identificar los routers intermedios desde cada de servicio de cada servidor anycast [IMC17.2]. punto de medición. Este proceso puede optimizarse realizando una predicción sobre la cantidad de saltos cuales ofrecen una precisión de 70.1% y 66.5% que separan el cliente y el servidor observando el respectivamente [IMC17.1]. TTL (Time To Live, por sus siglas en inglés) recibido desde el cliente, tomando la suposición de que los 3.3 Calculo de selección de servidor óptimo clientes generalmente utilizan un TTL de 64, 128 o Para realizar la comparación de las rutas teóricas 255. Con este TTL, es posible ejecutar el traceroute y calculadas desde el punto de vista topológico, se desde el cliente hasta el origen, y detener su ejecución utilizarán las rutas extraı́das desde el análisis, y se al encontrar un router común con otras mediciones, complementarán con bases de datos externas tales permitiendo evitar el cálculo de rutas ya realizadas, como tablas de ruta RIS de RIPE NCC y la base como se aprecia en la Figura 2. de datos CAIDA’s Ark [CAIDA]. Luego de esto, se utilizarán algoritmos de búsqueda para calcular los pares óptimos entre clientes y servidores, tomando en cuenta las distancias calculadas entre los AS. Para el caso de la comparación geográfica, se utilizará la localización de los servidores anycast ya conocida, y se comparará con la localización de los clientes obtenida utilizando la base de datos MaxMind a nivel de ciudad. Este resultado se comparará con las distancias a los otros servidores, determinando si el calculado corresponde o no al más cercano. 4 Resultados Futuros A través de los experimentos a realizar, esperamos obtener información sobre las diferentes áreas de servicio de cada servidor, determinando los routers Figura 2: Segundo trazado ejecutado por los servidores o AS en los cuales se produce el cambio de rutas receptores, el cual se realiza desde un paso anterior del de un servidor anycast a otro, además de todos los TTL recibido, hasta detectar un nodo ya medido. Si routers intermedios que se encuentran asociados a cada el Router 3 ya se encuentra medido, no se realizara servidor. mediciones al Router 2 u otros anteriores. Por otro lado, podremos apreciar el porcentaje de clientes que poseen las rutas óptimas a los servidores anycast, en términos de distancia topológica 3.2 Medición de distancias geográficas y y geográfica, apreciando las diferencias que pueden topológicas existir entre estas. Para generar un mapa topológico sobre las distintas Utilizando la información sobre las distancias redes sobre las cuales cada servidor en la nube anycast topológicas, en complementación con información de trabaja, es posible asociar cada dirección IP en las los clientes actuales en los servidores, será posible rutas calculadas a un AS en particular utilizando calcular una posición en la red tal que, al posicionar información recolectada por RIPE NCC sobre los un nuevo servidor en la nube anycast, la reducción Servicios de Ruteo de Información (RIS, por sus siglas de los RTT sea máxima. Esta posición solo podrá en inglés, Routing Information Service), la cual posee calcularse de forma teórica, dado a diferencias en los las subredes sobre las cuales cada AS trabaja. algoritmos utilizados para el cálculo de las rutas en los Para establecer las distancias actuales entre cada diferentes AS. Sin embargo, nos entregara información paso de las rutas calculadas, se utilizará el RTT inicial para comenzar un análisis de la posición de un obtenido de cada medición, estableciendo la distancia nuevo servidor. entre cada router o AS como el tiempo que toma cada Por último, es posible utilizar la información paquete de pasar desde un salto a otro. generada por estos experimentos para realizar otros Para realizar la medición de las distancias tipos de análisis, tal como la detección de IP Spoofing, geográficas del servidor y sus clientes, se utilizará realizando una comparación entre la IP de los clientes la base de datos MaxMind [MAXM] para realizar con el área de servicio de cada servidor, logrando la geolocalización a nivel paı́s de cada dirección IP detectar consultas que no deberı́an ser recibidas por analizada. En caso de necesitar incrementar la estos. Esto puede ser utilizado como medida de precisión a nivel ciudad, es posible utilizar versiones mitigación de ataques DDoS, donde servidores DNS pagadas de MaxMind o NetAcuity [NETAC], las son utilizados como método de amplificación. Referencias [IMC17.2] Wouter B. de Vries, Ricardo de O. Schmidt, Wes Hardaker, John Heidemann, [ICCCN6] S. Sarat, V. Pappas and A. Terzis, ”On Pieter-Tjerk de Boer, and Aiko Pras. 2017. the Use of Anycast in DNS”. Proceedings of Broad and load-aware anycast mapping with 15th International Conference on Computer verfploeter. In Proceedings of the 2017 Communications and Networks, Arlington, Internet Measurement Conference (IMC ’17). VA, 2006, pp. 71-78. ACM, New York, NY, USA, 477-488. [CONEXT15] Danilo Cicalese, Jordan Augé, Diana Joumblatt, Timur Friedman, and Dario [PAM07] Liu Z., Huffaker B., Fomenkov M., Brownlee Rossi. ”Characterizing IPv4 anycast N., claffy . (2007) ”Two Days in the Life adoption and deployment”. In Proceedings of the DNS Anycast Root Servers.” In: of the 11th ACM Conference on Emerging Uhlig S., Papagiannaki K., Bonaventure Networking Experiments and Technologies O. (eds) Passive and Active Network (CoNEXT ’15). ACM, New York, NY, USA, Measurement. PAM 2007. Lecture Notes 2015, Article 16, 13 pages. in Computer Science, vol 4427. Springer, Berlin, Heidelberg [IMC10] Fan, X., and Heidemann, J. Selecting representative IP addresses for Internet [PAM17] Oliveira Schmidt R, Heidemann J, Kuipers topology studies. In Proceedings of the J.H. ”Anycast Latency: How Many Sites Are ACM Internet Measurement Conference Enough?”. In: Kaafar M., Uhlig S., Amann (Melbourne, Australia, Nov. 2010), ACM, J. (eds) Passive and Active Measurement. pp. 411–423. PAM 2017. Lecture Notes in Computer Science, vol 10176. [MAXM] MaxMind Inc. 2018. MaxMind GeoIP2 City. https://www.maxmind.com/en/ geoip2-databases. (Agosto 2018). [NETAC] Digital Envoy. 2018. Digital Element NetAcuity databases. https://www.digitalelement.com/geolocation/. (Agosto 2018). [IMC17.1] Manaf Gharaibeh, Anant Shah, Bradley Huffaker, Han Zhang, Roya Ensafi, and Christos Papadopoulos. 2017. A look at router geolocation in public and commercial databases. In Proceedings of the 2017 Internet Measurement Conference (IMC ’17). ACM, New York, NY, USA, 463-469. [CAIDA] The CAIDA Internet Topology Data Kit - 2017-08, http://www.caida.org/data/ internet-topology-data-kit [NOMS10] Bu-Sung Lee, Yu Shyang Tan, Y. Sekiya, A. Narishige and S. Date, ”Availability and effectiveness of root DNS servers: A long term study”, 2010 IEEE Network Operations and Management Symposium - NOMS 2010, Osaka, 2010, pp. 862-865. [TNSM17] L. Wei and J. Heidemann, ”Does anycast hang up on you?,” 2017 Network Traffic Measurement and Analysis Conference (TMA), Dublin, 2017, pp. 1-9.