---
# System prepended metadata

title: IP addressing within Oakestra
tags: [wikidocs]

---

---
title: "IP addressing within Oakestra"
tags: wikidocs
teams:
- networkingWG
participants:
- Simon (SZ)
- Giovanni (GB)
- Nitinder (NM)
---

# IP addressing within Oakestra

## IPv4

Add description here

## IPv6
The Oakestra platform uses the reserved private IPv6 subnet `fc00::/7`. 
This private subnet is further divided reserving the last 16 bit subnetwork block `fdff::/16` for a Service IP subnet, which is needed in order to give addresses to Instances and the (up to) 30 balancing strategies per Instance. We divide the Service IP subnet into 32 equal sized subnetworks with 30 balancing strategy subnets and 2 Instance IP subnets, using a prefix of `/21`. The remainder of the address space is used to hand out subnetworks for worker nodes, using a `/120` prefix. This leaves a worker subnetwork with 8 bits for namespace IPs for the containers inside a worker subnetwork.

To sum up the subnetwork division with subnet specification:

|Subnet           |Subnet description        |
|-----------------|--------------------------|
|`fc00::/7`       |full Oakestra subnetwork  |
|`fc00::/120 - fdfd:ffff:ffff:ffff:ffff:ffff:ffff:0/120`|Worker subnets|
|`fdfe::/16`      |reserved                  |
|`fdff::/16`      |Service IP subnet         |
|`fdff:0000::/21` |Instance IP subnet 1      |
|`fdff:1000::/21` |Balancing 1               |
|`fdff:2000::/21` |Balancing 2               |
|...              |...                       |
|`fdff:f000::/21` |Balancing 15              |
|`fdff:0800::/21` |Instance IP subnet 2      |
|`fdff:1800::/21` |Balancing 16              |
|`fdff:2800::/21` |Balancing 17              |
|...              |...                       |
|`fdff:f800::/21` |Balancing 30              |

This network division leaves us with the following numbers for worker subnetworks and effectively available addresses in a Oakestra deployment:

|Subnet|ID|Available workers/addresses   |
|------|--|------------------------------|
|`fc00::/120 - fdfe:ffff:ffff:ffff:ffff:ffff:ffff:0/120`|Worker subnets|2^113 - 2^104 ~= 2^113|
|`fdff:0000::/21` |Instance IP subnet 1      |2^107 addresses|
|`fdff:1000::/21` |Balancing 1               |2^107 addresses|
|`fdff:2000::/21` |Balancing 2               |2^107 addresses|
|...              |...                       |2^107 addresses|
|`fdff:f000::/21` |Balancing 15              |2^107 addresses|
|`fdff:0800::/21` |Instance IP subnet 2      |2^107 addresses|
|`fdff:1800::/21` |Balancing 16              |2^107 addresses|
|`fdff:2800::/21` |Balancing 17              |2^107 addresses|
|...              |...                       |2^107 addresses|
|`fdff:f800::/21` |Balancing 30              |2^107 addresses|