Mapping Starlink's global IP transit providers
A while back, I posted about Starlink’s Indian upstream. It’s interesting that now their prefixes are not visible behind routed via Telstra - AS4637 anymore, but it seems like they are testing Mumbai-based Microscan - AS55352.
I have always been curious about how they interconnect globally, particularly with which IP transit providers. To find out, I have to establish a relation between their GeoIP data and their BGP announcements globally. They have 2161 IP pools in the GeoIP sheet while originating an aggregate of 1109 prefixes from Starlink - AS14593.
Hurricane Electric’s Graph_v4 for AS14593 shows a rather complicated graph because they have different upstreams at different locations.
Here’s the logic I can follow to map:
- Their GeoIP is either /24 or smaller than /24. I created a unique pair for the aggregate /24-city pair and did a lookup only for that. E.g for Luxembourg they have 4 x /27 (87.251.24.0/27, 87.251.24.32/27, 87.251.24.192/27 and 87.251.24.224/27) coming from same /24 (87.251.24.0/24). That way, I match this with the BGP table only once and not 4 times to get the same result.
- Extract all routes from the global routing table dump I carry in my ClickHouse table for AS14593.
- Get a subset of routes which are visible behind known transit-free tier 1 networks (to filter out announcements via peering)
- Break BGP table prefix,as_path mappings to /24 ASNs - AS_PATH mappings to easily map the data.
- Look for ASN on the left side of AS_PATH as visible from various transit-free tier 1 networks. E.g. a few lines of output for 87.251.24.0/24, I get:
"87.251.24.0/24","[28624,61568,2914,14593]"
"87.251.24.0/24","[262462,12956,1299,14593]"
"87.251.24.0/24","[20253,6762,2914,14593]"
"87.251.24.0/24","[54309,1299,14593]"
"87.251.24.0/24","[398465,3257,1299,14593]"
"87.251.24.0/24","[49544,2914,14593]"
"87.251.24.0/24","[13786,2914,14593]"
"87.251.24.0/24","[199524,3356,2914,14593]"
This means AS2914 and AS1299 are the upstreams here. This is just an example. Actual output has 1005 routes, and I cannot post that long list here.
Result
Since the number of transits is smaller than the number of locations, I mapped each location to a given transit provider. Here’s what it looks like:
| ASN | AS Name | Upstream for following locations |
|---|---|---|
| AS10075 | Fiber@Home Global Limited | Dhaka (Bangladesh) |
| AS12956 | TELXIUS Cable | Buenos Aires (Argentina), Chicago (US), Dallas (US), Doha (Qatar), Guatemala City (Guatemala), Kuujjuaq (Canada), Lima (Peru), Managua (Nicaragua), Mexico City (Mexico), Montevideo (Uruguay), Panama City (Panama), Paris (France), Quito (Ecuador), San Jose (Costa Rica), San Salvador (El Salvador), Santiago (Chile), Sao Paulo (Brazil), Seattle (US), Stanley (Falkland Islands), Tegucigalpa (Honduras) |
| AS1299 | Arelion/Telia Carrier | Aden (Yemen), Amsterdam (Netherlands), Anchorage (US), Andorra la Vella (Andorra), Ashburn (US), Astana (Kazakhstan), Athens (Greece), Atlanta (US), Baku (Azerbaijan), Bamako (Mali), Basse-Terre (Guadeloupe), Beirut (Lebanon), Belgrade (Serbia), Berlin (Germany), Bratislava (Slovakia), Brucejack (Canada), Brussels (Belgium), Bucharest (Romania), Budapest (Hungary), Calgary (Canada), Cape Canaveral (US), Charlotte Amalie (U.S. Virgin Islands), Chicago (US), Chisinau (Moldova), Colombo (Sri Lanka), Copenhagen (Denmark), Dallas (US), Denver (US), Dhaka (Bangladesh), Doha (Qatar), Dublin (Ireland), Dushanbe (Tajikistan), Dutch Harbor (US), Fort-de-France (Martinique), Guatemala City (Guatemala), Gustavia (Saint Barthélemy), Helsinki (Finland), Jerusalem (Israel), Kansas City (US), Khartoum (Sudan), Kingston (Jamaica), Kuala Lumpur (Malaysia), Kukes (Albania), Kuujjuaq (Canada), Kyiv (Ukraine), Lisbon (Portugal), Ljubljana (Slovenia), London (United Kingdom), Longyearben (Svalbard, Norway), Luxembourg (Luxembourg), Madrid (Spain), Malé (Maldives), Managua (Nicaragua), Manila (Philippines), Mariehamn (Åland Islands, Finland), Marigot (Saint Martin), Mexico City (Mexico), Miami (US), Minneapolis (US), N’Djamena (Chad), Nassau (Bahamas), Nicosia (Cyprus), Nome (US), Oslo (Norway), Panama City (Panama), Paris (France), Philipsburg (Sint Maarten), Phoenix (US), Podgorica (Montenegro), Port-au-Prince (Haiti), Prague (Czech Republic), Praia (Cape Verde), Regina (Canada), Reykjavik (Iceland), Riga (Latvia), Rome (Italy), Roseau (Dominica), Saint John’s (Antigua and Barbuda), Saint Peter Port (Guernsey), Salt Lake City (US), San Jose (Costa Rica), San Juan (Puerto Rico), San Salvador (El Salvador), Santo Domingo (Dominican Republic), Sarajevo (Bosnia and Herzegovina), Seattle (US), Singapore (Singapore), Skopje (North Macedonia), Sofia (Bulgaria), Stockholm (Sweden), Tallinn (Estonia), Tbilisi (Georgia), Tegucigalpa (Honduras), Tempe (US), Thimphu (Bhutan), Tirana (Albania), Toronto (Canada), Valletta (Malta), Vancouver (Canada), Vienna (Austria), Vilnius (Lithuania), Warsaw (Poland), Winnipeg (Canada), Yangon (Myanmar), Yerevan (Armenia), Zagreb (Croatia), Zurich (Switzerland) |
| AS137409 | GSL Networks Pty LTD | Adamstown (Pitcairn Islands), Apia (Samoa), Auckland (New Zealand), Avarua District (Cook Islands), Brisbane (Australia), Chicago (US), Christchurch (New Zealand), Colombo (Sri Lanka), Dallas (US), Dhaka (Bangladesh), Dili (Timor-Leste), Doha (Qatar), Funafuti (Tuvalu), Hobart (Australia), Honiara (Solomon Islands), Honolulu (US), Kuala Lumpur (Malaysia), Malé (Maldives), Melbourne (Australia), Nuku’alofa (Tonga), Pago Pago (American Samoa), Paris (France), Perth (Australia), Port-Vila (Vanuatu), Seattle (US), Singapore (Singapore), Suva (Fiji), Sydney (Australia), Tarawa (Kiribati), Thimphu (Bhutan), Yangon (Myanmar), Yaren (Nauru) |
| AS13786 | SEABORN, US | Asuncion (Paraguay), Buenos Aires (Argentina), Cayenne (French Guiana), Fortaleza (Brazil), Georgetown (Guyana), Paramaribo (Suriname), Santiago (Chile), Sao Paulo (Brazil) |
| AS21859 | ZEN-ECN, US | Bandar Seri Begawan (Brunei), Hagatna (Guam), Kuala Lumpur (Malaysia), Manila (Philippines), Palikir (Federated States of Micronesia), Saipan (Northern Mariana Islands) |
| AS2516 | KDDI | Chicago (US), Dallas (US), Doha (Qatar), Honolulu (US), Majuro (Marshall Islands), Paris (France), Seattle (US), Seoul (South Korea), Tokyo (Japan), Ulaanbaatar (Mongolia), Yangon (Myanmar) |
| AS267613 | ELETRONET S.A., BR | Brasilia (Brazil), Kuala Lumpur (Malaysia) |
| AS2914 | NTT | London (United Kingdom), Longyearben (Svalbard, Norway), Luxembourg (Luxembourg), Madrid (Spain), Mariehamn (Åland Islands, Finland), Montreal (Canada), New York (US), Oslo (Norway), Paris (France), Prague (Czech Republic), Praia (Cape Verde), Reykjavik (Iceland), Saint Peter Port (Guernsey), Saint-Pierre (Saint Pierre and Miquelon), Seattle (US), Stockholm (Sweden), Toronto (Canada), Vienna (Austria), Warsaw (Poland), Zurich (Switzerland) |
| AS30844 | LIQUID-AS, GB | Aden (Yemen), Antananarivo (Madagascar), Chicago (US), Dallas (US), Doha (Qatar), Gaborone (Botswana), Gitega (Burundi), Harare (Zimbabwe), Johannesburg (South Africa), Juba (South Sudan), Khartoum (Sudan), Kigali (Rwanda), Kinshasa (Democratic Republic of the Congo), Lilongwe (Malawi), Lusaka (Zambia), Maputo (Mozambique), Mayotte (France), Mbabane (Eswatini), Mogadishu (Somalia), Nairobi (Kenya), Paris (France), Reunion (France), Seattle (US) |
| AS3257 | GTT | Ashburn (US), Astana (Kazakhstan), Athens (Greece), Baku (Azerbaijan), Basse-Terre (Guadeloupe), Beirut (Lebanon), Belgrade (Serbia), Berlin (Germany), Bratislava (Slovakia), Bucharest (Romania), Budapest (Hungary), Charlotte Amalie (U.S. Virgin Islands), Chicago (US), Chisinau (Moldova), Dallas (US), Doha (Qatar), Dushanbe (Tajikistan), Fort-de-France (Martinique), Fredericton (Canada), Gustavia (Saint Barthélemy), Halifax (Canada), Hawthorne (US), Honolulu (US), Iqaluit (Canada), Kansas City (US), Khartoum (Sudan), Kingston (Jamaica), Kukes (Albania), Kuujjuaq (Canada), Kyiv (Ukraine), Ljubljana (Slovenia), Los Angeles (US), Manila (Philippines), Marigot (Saint Martin), Mexico City (Mexico), Miami (US), Milan (Italy), Minneapolis (US), Montreal (Canada), N’Djamena (Chad), Nassau (Bahamas), New York (US), Nicosia (Cyprus), Paris (France), Philipsburg (Sint Maarten), Podgorica (Montenegro), Port-au-Prince (Haiti), Portland (US), Prague (Czech Republic), Regina (Canada), Riga (Latvia), Rome (Italy), Roseau (Dominica), Saigon (Vietnam), Saint John’s (Antigua and Barbuda), Saint-Pierre (Saint Pierre and Miquelon), San Jose (Costa Rica), San Juan (Puerto Rico), Santo Domingo (Dominican Republic), Sarajevo (Bosnia and Herzegovina), Seattle (US), Skopje (North Macedonia), Sofia (Bulgaria), Tallinn (Estonia), Tbilisi (Georgia), Tirana (Albania), Toronto (Canada), Vaduz (Liechtenstein), Valletta (Malta), Vienna (Austria), Vilnius (Lithuania), Warsaw (Poland), Winnipeg (Canada), Yerevan (Armenia), Zagreb (Croatia), Zurich (Switzerland) |
| AS3356 | Lumen/Colt/Level3 | Anchorage (US), Asuncion (Paraguay), Atlanta (US), Bogota (Colombia), Brasilia (Brazil), Brasília (Brazil), Bridgetown (Barbados), Brucejack (Canada), Buenos Aires (Argentina), Calgary (Canada), Caracas (Venezuela), Castries (Saint Lucia), Chicago (US), Dallas (US), Denver (US), Doha (Qatar), Hawthorne (US), Honolulu (US), Kingstown (Saint Vincent and the Grenadines), Kralendijk (Bonaire), Kuala Lumpur (Malaysia), Lima (Peru), Los Angeles (US), Mexico City (Mexico), Montevideo (Uruguay), Nome (US), Panama City (Panama), Paris (France), Port of Spain (Trinidad and Tobago), Quito (Ecuador), Saint George’s (Grenada), San Jose (Costa Rica), Santiago (Chile), Sao Paulo (Brazil), Seattle (US), Stanley (Falkland Islands), Vancouver (Canada) |
| AS37282 | MAINONE, NG | Abdijan (Côte d’Ivoire), Accra (Ghana), Bissau (Guinea-Bissau), Freetown (Sierra Leone), Lagos (Nigeria), Monrovia (Liberia), N’Djamena (Chad), Niamey (Niger), Porto-Novo (Benin), Yaoundé (Cameroon) |
| AS37662 | WIOCC-AS, MU | Abdijan (Côte d’Ivoire), Accra (Ghana), Bissau (Guinea-Bissau), Dakar (Senegal), Freetown (Sierra Leone), Harare (Zimbabwe), Juba (South Sudan), Kinshasa (Democratic Republic of the Congo), Lagos (Nigeria), Maputo (Mozambique), Maseru (Lesotho), Monrovia (Liberia), N’Djamena (Chad), Niamey (Niger), Ouagadougou (Burkina Faso), Porto-Novo (Benin), Sao Tome (São Tomé and Príncipe), Yaoundé (Cameroon) |
| AS4826 | Vocus Connect | Brisbane (Australia), Dili (Timor-Leste), Hobart (Australia), Honiara (Solomon Islands), Honolulu (US), Melbourne (Australia), Nuku’alofa (Tonga), Perth (Australia), Suva (Fiji), Sydney (Australia), Yaren (Nauru) |
| AS48728 | VODAFONEQATAR, QA | No mapping to PoP but visible upstream for non-GeoIP tagged prefixes / might be up for testing |
| AS52468 | UFINET PANAMA S.A., PA | Guatemala City (Guatemala), Kuujjuaq (Canada), Mexico City (Mexico), Panama City (Panama), San Jose (Costa Rica), San Salvador (El Salvador), Tegucigalpa (Honduras) |
| AS5405 | INTERDOTLINK powered by Inter.link, DE | Berlin (Germany), Chicago (US), Dallas (US), Doha (Qatar), Ljubljana (Slovenia), Milan (Italy), Paris (France), Seattle (US), Vaduz (Liechtenstein), Vienna (Austria), Zagreb (Croatia), Zurich (Switzerland) |
| AS5416 | Beyon | Manama (Bahrain) |
| AS55352 | Microscan | No mapping to PoP but visible upstream for non-GeoIP tagged prefixes / might be up for testing |
| AS55836 | Reliance Jio | Mumbai (India) |
| AS55850 | Mercury NZ Limited | Adamstown (Pitcairn Islands), Apia (Samoa), Auckland (New Zealand), Avarua District (Cook Islands), Christchurch (New Zealand), Funafuti (Tuvalu), Honolulu (US), Pago Pago (American Samoa), Port-Vila (Vanuatu), Tarawa (Kiribati) |
| AS58717 | Summit Communications | Dhaka (Bangladesh) |
| AS60849 | ILEVANT-AS | Amman (Jordan) |
| AS6327 | SHAW | Billings (US), Calgary (Canada), Regina (Canada), Vancouver (Canada) |
| AS63927 | RISE-HK RISE, HK | Hagatna (Guam), Kuala Lumpur (Malaysia), Manila (Philippines), Palikir (Federated States of Micronesia), Saipan (Northern Mariana Islands) |
| AS6453 | Tata Comm | No mapping to PoP but visible upstream for non-GeoIP tagged prefixes |
| AS6461 | Zayo | Chicago (US), Dallas (US), Doha (Qatar), Fredericton (Canada), Halifax (Canada), Iqaluit (Canada), Kansas City (US), Kuujjuaq (Canada), Mexico City (Mexico), Montreal (Canada), Paris (France), Phoenix (US), Portland (US), Regina (Canada), Saint John’s (Canada), Salt Lake City (US), Seattle (US), Tempe (US), Toronto (Canada), Vancouver (Canada) |
| AS6762 | TELECOM ITALIA SPARKLE | Asuncion (Paraguay), Buenos Aires (Argentina), Cayenne (French Guiana), Chicago (US), Dallas (US), Doha (Qatar), Fortaleza (Brazil), Georgetown (Guyana), Paramaribo (Suriname), Paris (France), Santiago (Chile), Sao Paulo (Brazil), Seattle (US) |
| AS7195 | EDGEUNO | Bogota (Colombia), Bridgetown (Barbados), Caracas (Venezuela), Castries (Saint Lucia), Kingstown (Saint Vincent and the Grenadines), Kralendijk (Bonaire), Kuujjuaq (Canada), Mexico City (Mexico), Panama City (Panama), Port of Spain (Trinidad and Tobago), Quito (Ecuador), Saint George’s (Grenada), San Jose (Costa Rica), Sao Paulo (Brazil) |
| AS8529 | Zain Omantel International | Muscat (Oman) |
| AS8551 | Bezeqint Internet Backbone | Jerusalem (Israel), Ramallah (Palestine) |
| AS8781 | Ooredoo | Chicago (US), Dallas (US), Doha (Qatar), Dubai (United Arab Emirates), Paris (France), Seattle (US) |
The above data has been mapped from raw data which is posted here
Misc notes:
- Some providers are visible in the list as transit players like Tata Comm (AS6453), Vodafone Qatar (AS48728) and Microscan (AS55352), but no PoP is mapped to them. This is either because they are just testing and these are indeed their upstreams, but no mapping found in GeoIP data, OR they are upstream for a large number of prefixes as well as downstreams, which are again not in the GeoIP mapping.
- This table above is simply showing upstream for a PoP. In many cases, the drop is local, while in many cases, the drop is not local. E.g. Arelion (AS1299) seems to be upstream in Starlink Sri Lanka IPs, while actually that’s a drop for Arelion in Singapore.
- This post is going live on 24 Oct 2025, while I worked on most of this data on 14 Oct 2025. Routing might have changed a little bit in the last 10 days.
Disclaimer: This is my personal blog, and hence, posts made here are in my personal capacity. These do not represent the views of my employer.