2019-10-08 14:45:01 +00:00
|
|
|
title: How IPv6 can help protesters in Hong Kong
|
2019-10-08 13:36:51 +00:00
|
|
|
---
|
|
|
|
pub_date: 2019-10-08
|
|
|
|
---
|
|
|
|
author: Nico Schottelius
|
|
|
|
---
|
|
|
|
twitter_handle: NicoSchottelius
|
|
|
|
---
|
|
|
|
_hidden: no
|
|
|
|
---
|
2019-10-08 14:45:01 +00:00
|
|
|
_discoverable: yes
|
2019-10-08 13:36:51 +00:00
|
|
|
---
|
|
|
|
abstract:
|
2019-10-08 14:45:47 +00:00
|
|
|
Protesters in HK encountered communcation disruption by Apple.
|
2019-10-08 13:36:51 +00:00
|
|
|
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:
|
|
|
|
|
2019-12-31 14:14:55 +00:00
|
|
|
![IPv4 NAT](/u/image/ipv4nat.png)
|
2019-10-08 13:36:51 +00:00
|
|
|
|
|
|
|
Many devices are hidden behind one Public IP address. So for a phone
|
|
|
|
to communicate with another phone, it needs to connect via a
|
2019-10-08 14:45:01 +00:00
|
|
|
central, publicly available IPv4 server. So in the end, the complete
|
|
|
|
picture looks as follows:
|
|
|
|
|
2019-12-31 14:14:55 +00:00
|
|
|
![IPv4 Double NAT](/u/image/ipv4doublenat.png)
|
2019-10-08 14:45:01 +00:00
|
|
|
|
2019-10-08 13:36:51 +00:00
|
|
|
|
|
|
|
## 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:
|
|
|
|
|
2019-12-31 14:14:55 +00:00
|
|
|
![IPv6 direct connections](/u/image/ipv6direct.png)
|
2019-10-08 13:36:51 +00:00
|
|
|
|
|
|
|
## 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
|
2019-10-08 14:45:01 +00:00
|
|
|
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.
|
2019-10-08 13:36:51 +00:00
|
|
|
|
|
|
|
## 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).
|