title: How IPv6 can help protesters in Hong Kong
---
pub_date: 2019-10-08
---
author: Nico Schottelius
---
twitter_handle: NicoSchottelius
---
_hidden: no
---
_discoverable: yes
---
abstract:
Protesters in HK encountered communcation disruption by Apple.
This article shows how this can be avoided by using IPv6.
---
body:

Recently
Apple decided to [remove a central
app for communication in Hong
Kong](https://www.bbc.com/news/technology-49919459), just
[to add it later
again](https://www.bbc.com/news/technology-49961149).

With this move Apple effectively disrupted the communication between
people demonstrating in Hong Kong and at the same time endangered
those who wanted to protect themselves from violance on the streets.

In this article I want to show how this problem can be mitigated by
the use of IPv6.

## The core problem: centralisation

The main problem is that we depend on centralised
services. One of the questions is, why do we depend on centralised
services at all? The reason for this is that there are not enough IPv4
addresses and for that reason we use NAT to hide multiple devices
behind one IPv4 address. Wait what? Let's take it a bit slower.

## How NAT works

In the old times of the Internet, every device in the Internet used to
have a public IPv4 address. However when the number of devices began
to exceed amount of officially available IPv4 addresses, NAT was
introduced and it works as follows:

![IPv4 NAT](/u/image/ipv4nat.png)

Many devices are hidden behind one Public IP address. So for a phone
to communicate with another phone, it needs to connect via a
central, publicly available IPv4 server. So in the end, the complete
picture looks as follows:

![IPv4 Double NAT](/u/image/ipv4doublenat.png)


## How IPv6 solves the problem

In the IPv6 world, there are enough IP addresses available.
So every device, every smart phone, every alarm clock, every computer
can have a public IP address. Because every device can have a public
IPv6 address, they can communicate directly with each other:

![IPv6 direct connections](/u/image/ipv6direct.png)

## How to communicate with IPv6?

So how does it look like with IPv6? Instead of relying on a central
entity (Apple in this case), you can directly connect to the phone of
your friends. This way, you could even use your standard browser like
Firefox, Chrome or Safari to write a message to your friend's phone.

## So, what to do now?

At the moment IPv6 is picking up pace in deployment and ISPs
everywhere in the world are moving forward with it.
However, if you do not have IPv6 connectivity,
[ungleich provides IPv6 VPNs](https://ungleich.ch/ipv6/vpn/) that
enable you world wide to have IPv6.
If you are an application developer, I urge you to checkout whether
your application supports IPv6, because in the future you might enable
people to talk to each other, just by supporting IPv6 now already.

## More IPv6

If you are interested in IPv6, we invite you to join the [IPv6
chat](https://IPv6.chat) or [follow us on
Twitter](https://twitter.com/ungleich).
