BGP Interconnection in the Region of Latin America and the Caribbean
Total Page:16
File Type:pdf, Size:1020Kb
BGP Interconnection in the Region of Latin America and the Caribbean Author: Augusto Mathurín Coordination/Revision: Guillermo Cicileo Edition and Design: Maria Gayo, Carolina Badano, Martín Mañana Project: Strengthening Regional Internet Infrastructure Department: Internet Infrastructure R&D Contents Contents 2 Introduction 4 Methodology 4 Stated Objectives 4 Data Sources 4 Data Processing 6 Generated Datasets 8 Data by Country 10 Argentina 10 Aruba 12 Bolivia 13 Brazil 15 Belize 17 Chile 19 Colombia 21 Costa Rica 23 Cuba 25 Dominican Republic 27 Ecuador 29 French Guiana 31 Guatemala 32 Guyana 34 Honduras 36 Haiti 38 Mexico 40 Nicaragua 42 Panama 44 2 Peru 46 Paraguay 48 Suriname 50 El Salvador 52 Trinidad and Tobago 54 Uruguay 56 Venezuela 58 Regional Data Analysis 60 Connection to the Other Regions 62 Conclusions and Future Work 65 3 Introduction Internet development and the quality of user connectivity depend on the existence of good communications infrastructure and proper connectivity between countries. In Latin America, there are still some deficiencies in this regard which result in many people experiencing high latencies in their connections. The main reason for these latencies is the lack of local interconnection between different network operators, which means that traffic between nearby countries must often use distant Internet exchange points, located in the United States or Europe. The deployment of various Internet exchange points (IXPs) has helped improve this situation, although the actual status of connectivity between countries and networks remains a mystery. To find answers to these unknowns, some time ago LACNIC created Simón1, a project that seeks to generate information by measuring latency levels between countries and in this way estimate traffic volumes. To complement the information obtained by the Simón Project, this interconnection study will attempt to understand the current status of the connections between the countries of Latin America based on a different source of information, namely, the BGP routing tables registered and stored by global collectors. Methodology Objectives This study seeks to analyze various characteristics of regional interconnection based on the processing of global BGP routing tables for the purpose of comparing the basic characteristics of route announcements in the region, deriving conclusions regarding operators’ behavior when publishing their prefixes, detecting locations where traffic is exchanged with the largest number of operators, determining the dominant upstream transit providers in each country, the average number of autonomous systems traversed by traffic flows and their impact on regional routing stability, among other factors. Therefore, we determined a set of parameters that would allow us to compare the current status and evolution of the regional Internet with the following objectives: ● To understand the nature of the autonomous systems in each country, how many autonomous systems provide local transit service, and which are connected to the rest of the world. ● To obtain general data on regional routing tables, e.g., the number of announced prefixes, the average length of IPv4 and IPv6 prefixes, and the average length of AS paths. ● To obtain additional data that can help assess Internet development, including the number of IXPs. ● To obtain data on interconnection, both between different countries as well as within each country. Data Sources Global BGP routing tables will be analyzed using RIPE NCC's RIS2 service. The Routing Information Service (RIS) collects and stores Internet routing information obtained from different parts of the world. This global network is comprised of Remote Route Collectors that are typically located at the IXPs. 1 < https://simon.lacnic.net/ > 2 < https://www.ripe.net/analyse/internet-measurements/routing-information-service-ris/ris-raw-data > 4 These collectors store the information in the MRT format described in RFC 63963. Every 15 minute, each collector stores all the BGP packets that have been exchanged (updates), plus a dump of its routing tables every eight hours (RIBs). RIPE currently has 20 collectors in operation: ● rrc00 in Amsterdam, the Netherlands ● rrc01 in London, United Kingdom ● rrc04 in Geneva, Switzerland ● rrc05 in Vienna, Austria ● rrc06 in Otemachi, Japan ● rrc07 in Stockholm, Sweden ● rrc10 in Milan, Italy ● rrc11 in New York, USA ● rrc12 in Frankfurt, Germany ● rrc13 in Moscow, Russia ● rrc14 in Palo Alto, USA ● rrc15 in São Paulo, Brazil ● rrc16 in Miami, USA ● rrc18 in Barcelona, Spain ● rrc19 in Johannesburg, South Africa ● rrc20 in Zurich, Switzerland ● rrc21 in Paris, France ● rrc22 in Bucharest, Romania ● rrc23 in Singapore ● rrc24 in Montevideo, Uruguay For this study, we used the routing table dumps (RIBs) of collector rrc00. The data was processed with pyBGPStream4, a Python library to use CAIDA BGPStream's BGPReader5, which allows the data published by RIPE collectors to be processed simply and efficiently. In addition to the routing tables, in order to conduct a study that considers the countries of Latin America, we need to map allocated number resources to the different countries. To do so, we will use the delegated-extended file. This record contains a daily updated report of the distribution of Internet number resources (IPv4 and IPv6 addresses, autonomous system numbers). Each Regional Registry generates a file in a standardized format defined by the Number Resource Organization (NRO)6 and these files are then consolidated to obtain a single file. Finally, to determine which Internet Exchange Points (IXPs) operate in each country or territory, we will use the CAIDA Internet eXchange Points Dataset7, which uses PCH8 as its data source. Compared with other references such as IXPDB9, this source contains a smaller number of IXPs. At the moment, however, it is the only one that provides historical data and in an easy-to-obtain format. 3 < https://tools.ietf.org/html/rfc6396.html > 4 < https://bgpstream.caida.org/docs/api/pybgpstream > 5 < https://bgpstream.caida.org/docs/tools/bgpreader > 6 < https://www.nro.net/ > 7 < https://www.caida.org/data/ixps/ > 8 < https://www.pch.net/ > 9 < https://lac-ix.org/ixpdb/ > 5 Data Processing Achieving our stated objectives requires defining how the autonomous systems in each country will be classified, and then processing our proposed data sources to obtain the desired parameters and indicators. The example below will allow us to establish this classification. Figure 1: Representation of the BGP announcement of a route propagated between autonomous systems inside and outside a country or territory. Figure 1 shows AS-1, which announces its prefixes via BGP to AS-2 which, in turn, propagates this announcement to the remaining autonomous systems. Here, it is important to classify the role they each play, which is why they have been represented using three different colors. AS-1 (orange) announces prefixes, therefore it will be classified as an origin AS within this country. The blue systems (AS-2, AS-3, AS-4) provide transit: they connect to AS-1 within the country's territory. Finally, AS-5 (red) also provides transit, yet it is located outside the country. This type of autonomous systems will be classified as upstream and they are the ones that provide connectivity to a country. The announcement may continue to propagate to other autonomous systems, but these paths are no longer relevant for the purpose of a local analysis within the country of the origin AS. This information is obtained by processing the global routing tables stored and published by RIPE NCC collector rrc00. For each entry in the table, we are interested in the set of prefix/as-path pairs as follows: Prefix1/length | AS-X … AS-3 AS-2 AS-1 We will analyze the AS path from right to left, as we want to determine the origin autonomous system and, from there, all other relevant systems as described in Figure 1. 6 However, in order to make sense of this information, we need to map each prefix and autonomous system to a country. To establish this link between resources and territories, we will use the delegated-extended statistics file published by the RIRs. Thus, each entry can be interpreted as follows: [Country of the prefix] | [Country of ASX] … [Country of AS-3] [Country of AS- 2] [Country of AS-1] Now we can start filtering the routing table entries, leaving only those that correspond to prefixes registered in the countries of the LACNIC service region. The AS path must be analyzed from right to left. If the country of AS-1 matches the country of the prefix, it is a route we are interested in analyzing and AS-1 will be considered an origin autonomous system for that country. We must then analyze AS-2. If this AS also belongs to the same country, it is considered a transit AS. Next, we must analyze AS-3 using the same procedure we used for AS-2. If it belongs to another country, it is considered an upstream AS and it is no longer necessary to continue analyzing the AS path. If we apply this logic to the example shown in Figure 1, we obtain the following result: Prefix AS-X ... AS-5 AS-4 AS-3 AS-2 AS-1 Country 1 Country 2 Country 1 Country 1 Country 1 Country 1 Upstream Transit Origin In other words, based on this entry contained in the routing table we analyzed, it is possible to establish that, for this particular country, AS-1 is an Origin AS; AS-2, AS-3 and AS-4 are Transit autonomous systems; and AS-5 is an Upstream AS. 7 Generated Datasets All the data required to meet the stated objectives are stored in datasets, which opens up the possibility of conducting other, more in-depth studies or applying different approaches. Therefore, it was decided to develop a set of scripts that would process the data in stages, obtaining partial results before producing a final dataset with summary data, which, in turn, are the main source for this report.