Measuring Countries and IXPs in the SEE Region
In this post we look at 10 countries in South East Europe and see how we can use RIPE Atlas to get a sense of routing and the interconnectedness of networks in these places.
We do this by issuing traceroutes from RIPE Atlas probes in a mesh-like fashion in a country . While traceroute is not the end-all-be-all method for discovering Internet structure , it does contain lots of hints about the geography of Internet paths . With this in mind, we developed a framework to investigate Internet Exchange Points (IXPs) and interconnections within countries, and explore what we can see in RIPE Atlas measurements. The methodology is explained in Measuring Countries and IXPs with RIPE Atlas . The source code is up on github , for anybody to use and improve.
Table 1 below contains an overview of the 10 countries we looked at. Column 2 shows the number of autonomous systems administratively registered to a country that are seen in routing (see footnote ). The next two columns show the number of autonomous systems that we could actually take measurements from with RIPE Atlas probes in IPv4 and in IPv6. Comparing these two columns to the number of ASNs seen in the routing table gives a sense of how much of a country we're catching in our measurements, although it's not a perfect comparison because larger autonomous systems can provide service in multiple countries.
The last two columns in Table 1 show in what percentage of traceroutes between we detected paths that leave the country. As explained in Measuring Countries and IXPs with RIPE Atlas , we used OpenIPMap to determine the geolocation. If we score countries based on the least number of out-of-country paths, Bulgaria, Romania and Slovenia come out best in IPv4, according to these measurements. Caveats as explained in more detail in the earlier article also apply here of course. Especially for countries with a small number of ASes covered by RIPE Atlas probes, it is hard to judge from this data if we measure the actual situation in the country, or if our numbers are distorted by biases in the data. Deploying more RIPE Atlas probes in previously uncovered ASNs would help fix that .
(ISO3166 country code)
|2. Number of ASNs in routing table||
3. ASNs with public RIPE Atlas probes
4. ASNs with public RIPE Atlas probes
5. Out of country paths detected
6. Out of country paths detected
Table 1: Selected per-country Internet statistics, based on routing data (RIS) and traceroute data (RIPE Atlas )
Detailed information per country is available below. For each country we visualised the IPv4- and IPv6-paths we inferred from RIPE Atlas traceroutes. Each of these visualisations is a split pane with IPv4 on the left, and IPv6 on the right. For each country we list those countries (listed as ISO3166 codes) where we found paths going through. We list these countries in order of prevalence in the paths.
As a next step we looked in the EURO-IX database and in the PeeringDB to find IXPs in these ten countries. If we found an IXP local to the country we show a matrix with source and destination probes as rows and columns respectively. Matrix cells are coloured differently if out-of-country IP addresses were detected and if we see an IXP peering LAN in the traceroute or not ( see earlier article for more details ).
If you click on the images you will see the interactive version of each map and IXP matrix.
AL - Albania
For Albania we detected a fair amount of out-of-country paths, as can be seen in Figure 1. In IPv4 paths we detected IP addresses in DE, GB, NL, RS, HR, AT and IT. In IPv6 paths we detected IP addresses in CZ and DE.
We did not find any IXPs in Albania.
BA - Bosnia & Herzegovina
Figure 2 shows paths inferred from IPv4 traceroutes between probes in Bosnia & Herzegovina. We did not find IPv6 enabled probes in this country. We detected IP addresses in traceroutes that we geolocated to SI, AT, HR, DE, HU and CZ.
We didn't find evidence of traffic crossing a local IXP in Bosnia & Herzegovina, nor any peering LANs registered in the peeringDB or EURO-IX.
BG - Bulgaria
Figure 3 shows a nice dense mesh of in-country paths between probes in Bulgaria, with a long tentacle to the north-west, extending as far north-west as the Netherlands in both IPv4 and IPv6. In IPv4 we inferred paths through these countries: DE, NL, SK, CZ, HU. In IPv6 we inferred paths through DE, NL, AT, HU and RO.
For Bulgaria we found the BIX.BG peering LAN information and Figure 4 shows how often we detected the peering LAN (green and blue) in our traceroutes.
GR - Greece
Figure 5 shows paths inferred from traceroutes between RIPE Atlas probes in Greece. In IPv4 we found paths going through these countries: BG, AT, GB, DE, IT, FR, CH, HU, CZ and in IPv6 through DE, RO and AT.
Figure 6 shows paths we detected going through the GR-IX peering LAN (green and blue).
HR - Croatia
Figure 7 shows paths inferred from traceroutes between probes in Croatia. In IPv4 we're seeing paths going through AT, DE, CZ and HU, while in IPv6 we inferred the same list of countries but with different prevalence: DE, CH, AT and CZ.
Figure 8 nicely shows the correlation between an IXP (CIX in Zagreb in this case) and out-of-country paths.
ME - Montenegro
There aren't that many RIPE Atlas probes in Montenegro, and as a result we only did a mesh between 3 probes, all only in IPv4, which is shown in Figure 9. We inferred paths going through RS, HR and HU.
We did not find a local IXP peering LAN in Montenegro.
MK - Macedonia
Despite being a relatively small country, the Republic of Macedonia has a decent RIPE Atlas coverage. The mesh visualised in Figure 10 is from 10 different ASNs in Macedonia. We inferred paths going through BG, HU, AT, CZ, DE, NL, SK, SE, SI and GB in IPv4 and paths going through DE in IPv6.
We didn't find evidence of traffic crossing an local IXP in Macedonia, nor is any local IXP registered in peeringDB or EURO-IX.
RO - Romania
Figure 11 shows inferred IPv4 and IPv6 paths from traceroutes between probes in Romania. In the vast majority of traces we didn't detect out-of-country IP addresses. In IPv4 traces we did detect a small fraction of paths with IP addresses in HU and DE, but in IPv6 traces we didn't see any out-of-country IP addresses.
For Figure 12 we used INTERLAN and RONIX as local IXP peering LANs.
RS - Serbia
In Figure 13 we show IPv4 and IPv6 paths inferred from traceroutes between RIPE Atlas probes in Serbia. We inferred paths going through HU, BG, DE, GB, AT, RO, CZ, NL and SK in IPv4 and CZ, DE, AT, FR, BG and HU in IPv6.
If we look at the correlation between traffic going through the local IXP SOX, we see the following:
SL - Slovenia
Finally, Slovenia: Figure 15 shows paths inferred from traceroutes between RIPE Atlas probes in Slovenia. We only detected three paths with out of country IP addresses in IPv4, all in HR, and in IPv6 we detected four out-of-country paths, all with IP addresses in DE and AT.
For the IXP/in-country correlation we used the peering LAN for SIX in Ljubljana. As you can see in Figure 16, this IXP was frequently seen in paths between the RIPE Atlas probes (green).
The examples above show how RIPE Atlas can measure certain characteristics of the Internet in specific countries. Although RIPE Atlas coverage is still a bit sparse in some areas, this type of analysis can eventually allow for comparing countries based on these measured characteristics. If you would like to help improve the coverage of RIPE Atlas in your country, please don't hesitate to contact us.
If you have local knowledge of parts of the Internet market or if you have explanations or questions about the information in the examples above, please feel free to leave a comment below. Also if this analysis helped you improve your network, we'd love to hear from you.
 We derived this number from the number of ASNs that are visible in the RIPE NCC Routing Information System (RIS) from more then 10 RIS peers. From the
RIR stats files
we then determined the country where the ASN is administratively registered