Linux keyboard.

Bob's Blog

Routing Through Starlink

Visiting Rapa Nui Visiting Chile

In 2024 I visited Rapa Nui, known in English-speaking countries as "Easter Island". My excuse for the trip was an annular eclipse, but the main goal was to see the mo'ai, the large statues at the ancient sites.

After a week on Rapa Nui, I flew back to Santiago for an overnight near the airport, then flew south to southern Patagonia and Tierra del Fuego.

All those are fairly isolated areas, Rapa Nui especially so. Would my Internet connection be what I've heard described as the far end of a long piece of wet string?

No, I found that low-cost lodging included Internet connectivity with reasonable performance. This was because they used the Starlink satellite swarm.

Let's see what its distinctive features are, how you can easily recognize a Starlink connection.

Telco on Rapa Nui with 5G cellular and satellite earth station antennas.

Telco in Hanga Roa, the town on Rapa Nui. In 2024 I found that it provides 5G wireless communication on the island. However, links to the mainland have much lower bandwidth and higher latency.

Where Was I?

Tristan da Cunha is further away from its nearest inhabited point, but with just 240 inhabitants, no airstrip, a small harbor serving just eight or nine fishing and cargo ships per year, and an economy based on selling postage stamps which are printed in Britain, Tristan da Cunha is a rather contrived outpost who main purpose is being a scrap of the British Empire.

Rapa Nui is a 3,750 kilometer flight west from Santiago, Chile. It's one of the most isolated inhabited islands in the world. Polynesian long-distance navigators settled the island sometime in 300–800 CE, probably arriving from somewhere in the Marquesas Islands, 3,700 kilometers away.

Its population slowly grew until the first Europeans arrived, bringing slave-capture raids and European diseases that almost wiped out the Rapa Nui people. In the 1870s the population of Rapa Nui fell to just 110 people. All Rapa Nui people living today descend from just 36 people who lived through that population bottleneck and had children.

Today there are only about 7,750 people living on Rapa Nui. Roughly half of them are indigenous people and the other half are recent immigrants from mainland Chile.

The local telco provided 5G wireless in 2024, but the link to the mainland added much lower bandwidth and high latency.

There's a cable from Valparaiso, Chile, to Papenoo, French Polynesia, but it seems to bypass Rapa Nui without landing.

The Humboldt Cable, still in a planning stage in late 2024, is to connect Chile to Australia. It may include a connection to Rapa Nui. It's to be a 144 Tbps cable. Only 7,750 people live on Rapa Nui. If the island is connected to that cable, it would be on a side branch with lower bandwidth.

As for southern Chile, you can't drive through Chile to southern Patagonia. The roads end at Villa O'Higgins, which the Chilean Carretera Austral or "Southern Highway" reaches with three ferry crossings and some long stretches of nothing but gravel. The only land route from central to southern Chile requires crossing into Argentina, then back into Chile at Tierra del Fuego. In between are rugged mountains, the Patagonian ice fields, and fjord-like passages for ferries that run through half the year.

I stayed for five nights in Cerro Castillo, a village of 160 people half-way between Puerto Natales and the entrance to Torres del Paine National Park. The lodge where I stayed had a Starlink router.

The small settlement of Puerto Toro lies nine nautical miles or 16.7 km further south, but with just 36 inhabitants, one gravel lane leading about 670 meters inland, and the only connection being one small ferry per week, it usually isn't considered a "town".

Then, after two nights each in Puerto Natales and Punta Arenas, I took a 30-hour ferry to Puerto Williams, south of Tierra del Fuego on Isla Navarino. I stayed there for four nights.

Puerto Williams, with 2,900 residents including the small Chilean Navy base, is the southernmost town in the world. It's at 54°56' S on Isla Navarino, an 88×43 km island across the Beagle Channel to the south of Tierra del Fuego. The southernmost tip of South Africa is at 34°50' S, and the southern end of the South Island of New Zealand is at 46°40' S.

Submarine Cable Map
(major cables, not all)

Subtel's Fibra Optica Austral provides a submarine cable connection down the Pacific coast from Puerto Montt to Punta Arenas, the largest city in far southern Chile, and on to Puerto Williams. However, the refugio where I stayed used Starlink.

What is Starlink?

Starlink is a system of many satellites in low Earth orbit providing Internet access. Service to the public began in 2021, By May 2024, 6,000 Starlink satellites had been launched. The plan has been for nearly 12,000 satellites with a possible extension to 42,000.

The initial generation was in orbits of 540–570 km altitude. Later versions would add orbits from 340 to 1,200 km altitude.

Starlink initially used the 12–18 GHz Ku band and 27–40 GHz Ka band to connect to ground stations. The system added the 71–86 GHz W band in 2023. So, an earth station antenna is small, an electrically steered phased array in a rectangular panel 383×594 mm and about 40 mm thick.

Starlink is part of SpaceX, founded and directed by Elon Musk, a prominent eugenicist. Before founding SpaceX, Musk violated U.S. immigration laws by residing and working illegally in the U.S. while on a student visa without being enrolled in school:

Washington Post The Daily Beast Wired Newsweek Forbes

So, no, I would prefer not to use Starlink. I certainly wouldn't purchase a Tesla vehicle or otherwise further enrich Elon Musk. But for three short stays of four to seven nights, I'll use Starlink if that's what my lodging provides.

How to Recognize a Starlink Connection

The short version is that a Starlink connection starts with a distinctive series of hops:

  1. 192.168.1.1, the Wi-Fi or wired connection to the Starlink router
  2. 100.64.0.1
  3. Something in the 172.16.250.0/23 range, 172.16.250.* or 172.16.251.*
  4. A fourth hop that returns nothing
  5. Something in the 206.224.69.0/243 range, allocated to SpaceX/Starlink
  6. The far end of the Starlink tunnel connecting to a major provider

Use the tcptraceroute command to investigate network topology. Plain old traceroute sends packets to arbitrary UDP ports. Many wireless access points, especially public ones at lodging, coffeeshops, etc, block those. Microsoft's tracert approximation is even worse, as it relies on all the routers violating the protocol definitions and using ICMP packets to report timeout problems with your outbound ICMP packets. Windows is a dominant desktop/laptop operating system, and many routers violate the rules so tracert on Windows works some of the time, but don't rely on it.

The tcptraceroute program acts like a web browser attempting to connect to a web server, so UDP-filtering routers allow it to work. Run it with two parameters, the remote target and a TCP port number of 80 or 443, used for HTTP or HTTPS. You may need to run it with sudo in order to send arbitrarily crafted UDP packets. On the Linux Mint distribution which I use, both tcptraceroute and traceroute are installed SETUID as root so they work as expected for unprivileged users.

Here's the result of running tcptraceroute from Rapa Nui to a web server at Purdue University, close to my home in West Lafayette:

$ tcptraceroute www.engr.purdue.edu 443
Tracing the path to www.engr.purdue.edu (128.46.104.20) on TCP port 443 (https), 30 hops max
 1  192.168.1.1  2.114 ms  1.098 ms  8.578 ms
 2  100.64.0.1  60.068 ms  49.970 ms  55.956 ms
 3  172.16.250.22  52.660 ms  50.053 ms  52.881 ms
 4  * * *
 5  undefined.hostname.localhost (206.224.69.198)  51.010 ms  50.267 ms  48.975 ms
 6  HurricaneElectric-6939.SCL.PITChile.cl (45.68.16.244)  62.174 ms  53.338 ms  56.436 ms
 7  100ge0-35.core1.bue1.he.net (184.104.188.168)  89.029 ms  87.641 ms *
 8  * 100ge0-27.core3.sao1.he.net (184.104.188.73) 99.287 ms *
 9  * * *
10  * 100ge0-75.core1.cmh1.he.net (184.104.193.93) 224.341 ms  212.197 ms
11  100ge0-76.core2.ind1.he.net (184.104.192.150)  210.162 ms  212.302 ms  225.028 ms
12  indiana-university-co-indiana-gigapop.e0-49.switch2.ind1.he.net (184.105.35.194)  212.620 ms  223.722 ms  247.977 ms
13  38.101.160.251  244.661 ms  217.845 ms  214.712 ms
14  192.5.40.2  209.533 ms  219.095 ms  221.420 ms
15  * * *
16  * * *
17  * * *
18  web-01-02-ha.ecn.purdue.edu (128.46.104.20) [open]  228.274 ms  217.494 ms  216.561 ms

The IP packets travel through a tunnel, encapsulated within some other protocol. Hop #1 to #2 is up to the satellites and back down. The speed of light is a hard limit, there must be some appreciable latency just to low Earth orbit and back.

Hop #6 is where the Starlink tunnel connects to a backbone provider, Hurricane Electric in this case. Internet backbone providers tend to use 3-letter airport codes in router names:
6: SCL = Santiago, Chile
7: BUE = Buenos Aires, Argentina
8: SAO = São Paulo, Brazil
10: CMH = Columbus, USA
11: IND = Indianapolis, USA

The 206.224.64.0/19 block is allocated to SpaceX/Starlink:

$ whois 206.224.69.200

NetRange:       206.224.64.0 - 206.224.95.255
CIDR:           206.224.64.0/19
NetName:        SPACEX-STARLINK-IPV4
NetHandle:      NET-206-224-64-0-1
Parent:         NET206 (NET-206-0-0-0-0)
NetType:        Direct Allocation
OriginAS:       AS14593
Organization:   SpaceX Services, Inc. (SS-2296)
RegDate:        2021-06-15
Updated:        2021-11-26
Ref:            https://rdap.arin.net/registry/ip/206.224.64.0

[...more lines deleted...]

A site like whatismyipaddress.com will show you how it interprets the exit point, and that the tunnel carries both IPv4 and IPv6.

Tunnel exit point in Santiago, Chile.

Then I tried a similar test to the Nanohub project's web server. I thought it was also in West Lafayette, but it's at the San Diego Supercomputer Center at UCSD. That also used a tunnel exiting in Santiago but with considerably more latency. Notice that the time from hop #1 to #2 was 50–60 milliseconds in the first test, but around 150 milliseconds here:

$ tcptraceroute www.nanohub.org 443
Tracing the path to www.nanohub.org (128.46.104.20) on TCP port 443 (https), 30 hops max
 1  192.168.1.1  0.999 ms  0.788 ms  1.008 ms
 2  100.64.0.1  151.315 ms  151.700 ms  150.461 ms
 3  172.16.250.22  162.678 ms  163.623 ms  164.244 ms
 4  * * *
 5  undefined.hostname.localhost (206.224.69.206)  203.327 ms  133.257 ms  133.986 ms
 6  ae4.santiago7.san.seabone.net (195.22.221.16)  142.493 ms  133.548 ms  133.183 ms
 7  * * *
 8  * * *
 9  * * *
10  CENIC.ear1.LosAngeles1.Level3.net (4.35.156.66)  277.699 ms  273.516 ms  303.286 ms
11  dc-lax-agg8--lax-agg10-300g.cenic.net (137.164.11.71)  401.979 ms  303.533 ms  298.009 ms
12  tust1-agg-01--lax-agg8-400g--01.cenic.net (137.164.11.83)  299.756 ms  307.460 ms  301.423 ms
13  sand1-agg-01--tust1-agg-01--300g--01.cenic.net (137.164.11.85)  300.567 ms  257.926 ms  253.390 ms
14  sdsc--sand1-agg-01--100g--01.cenic.net (137.164.23.43)  259.404 ms  274.944 ms  298.628 ms
15  medusa-mx960.sdsc.edu (192.12.207.46)  296.072 ms  307.666 ms  295.273 ms
16  ffw.sdsc.edu (132.249.2.26)  276.748 ms  303.249 ms  308.504 ms
17  * * *
18  nanohub.org (132.249.202.76) [open]  249.544 ms  249.475 ms  241.819 ms

I found that paths through Starlink tested several minutes apart varied like this from roughly 50 to 150 milliseconds for the second hop. This is probably caused by the varying geometry and path lengths.

Traveling onward, far south to Torres del Paine and the village of Cerro Castillo:

$ tcptraceroute www.engr.purdue.edu 443
Tracing the path to www.engr.purdue.edu (128.46.104.20) on TCP port 443 (https), 30 hops max
 1  192.168.1.1  1.988 ms  1.225 ms  1.127 ms
 2  100.64.0.1  112.271 ms  198.590 ms  197.710 ms
 3  172.16.251.6  205.594 ms  89.499 ms  205.498 ms
 4  * * *
 5  undefined.hostname.localhost (206.224.69.202)  200.894 ms  203.536 ms  193.341 ms
 6  HurricaneElectric-6939.SCL.PITChile.cl (45.68.16.244)  199.986 ms  190.843 ms *
 7  * * *
 8  100ge0-27.core3.sao1.he.net (184.104.188.73)  167.892 ms * *
 9  * * *
10  * * *
11  * 100ge0-76.core2.ind1.he.net (184.104.192.150) 307.337 ms *
12  indiana-university-co-indiana-gigapop.e0-49.switch2.ind1.he.net (184.105.35.194)  375.613 ms  305.814 ms  299.627 ms
13  38.101.160.251  390.900 ms  316.117 ms  222.193 ms
14  192.5.40.2  375.026 ms  308.100 ms  287.333 ms
15  * * *
16  * * *
17  * * *
18  web-01-02-ha.ecn.purdue.edu (128.46.104.20) [open]  288.181 ms  307.346 ms  301.608 ms

And then, all the way down south of Tierra del Fuego in Puerto Williams:

$ tcptraceroute www.engr.purdue.edu 443
Tracing the path to www.engr.purdue.edu (128.46.104.20) on TCP port 443 (https), 30 hops max
 1  192.168.1.1  2.193 ms  1.014 ms  1.055 ms
 2  100.64.0.1  81.024 ms  101.361 ms  94.025 ms
 3  172.16.251.14  200.385 ms  94.893 ms  99.530 ms
 4  * * *
 5  undefined.hostname.localhost (206.224.69.198)  89.337 ms  101.139 ms  92.998 ms
 6  * HurricaneElectric-6939.SCL.PITChile.cl (45.68.16.244) 164.657 ms  101.261 ms
 7  * 100ge0-35.core1.bue1.he.net (184.104.188.168) 170.193 ms  203.233 ms
 8  * 100ge0-27.core3.sao1.he.net (184.104.188.73) 165.824 ms *
 9  * * *
10  100ge0-75.core1.cmh1.he.net (184.104.193.93)  273.753 ms  308.128 ms  303.344 ms
11  100ge0-76.core2.ind1.he.net (184.104.192.150)  301.725 ms * *
12  indiana-university-co-indiana-gigapop.e0-49.switch2.ind1.he.net (184.105.35.194)  341.117 ms  306.888 ms  301.227 ms
13  38.101.160.251  297.961 ms  306.209 ms  297.948 ms
14  192.5.40.2  297.735 ms  305.680 ms  298.508 ms
15  * * *
16  * * *
17  * * *
18  web-01-02-ha.ecn.purdue.edu (128.46.104.20) [open]  297.406 ms  304.911 ms  302.063 ms

This is the latest one!

Previous:

10 Billion Passwords, What Does It Mean?
RockYou2024 is a list of 10 billion unique leaked passwords. Let's analyze what that really means.

Easy Automation of Thousands of Changes
Use fundamental Linux commands and some shell syntax to make thousands of changes in thousands of files in seconds.

What is "A.I.", or "Artificial Intelligence"?
So-called "A.I." is hype and misunderstanding, here's hoping the next "A.I. Winter" arrives soon.

Books I've Read: "The Origin of Consciousness in the Breakdown of the Bicameral Mind"
According to the author, humans only became truly conscious in the second millennium BCE, and schizophrenia may be a holdover or return to the pre-conscious state.