# Overview

<!--- Template Guidance 
This is the architectural overview of your product and where you explain key concepts and introduce domain specific terminology. 
Don't rely on text alone: diagrams tend to go a long way to make these concepts clear. 
The goal is to ensure that people get a good mental model of what problem the product is solving and how it is solving it.
The target audience here is system designers and architects. 

NOTE: Take a look at the overview of NLB (community/community/content/product/networking/nlb/overview/_index.md) for a good reference example.
-->

Each instance may provision one or more additional unmanaged and managed
network interfaces. This interface is bound to a private network segment shared
only with your other instances.


## Terminology
Managed Private Network
: Managed Private Networks allow you to create Private Networks with a DHCP
  server managed by Exoscale.

Manual Private Network
: A Manual Private Networks allow you to create your Private Network with
  a static IP configuration on each instance.


## Features
The Private Network is a classic layer 2 segment: it is as if your instances
were attached to a dedicated switch. This means:

- You can use any ethernet-compatible protocol (IPv4, IPv6, NetBIOS).
- Security group rules do not apply to traffic inside private networks.
- Multicast and broadcast are authorized.
- Only your instances are attached to the segment.
- No encryption is performed, but your packets do not leave our datacenter.
- Private Networks can be managed.
- Private Networks do not span across several zones.

However, there is a small difference: unknown MAC addresses cannot be used. Do not create a bridge including the private interface.

By default, there is no DHCP listening on your Private Network. If you want a DHCP server attached to your Private Network, you should create a [managed Private Network]({{< ref "/product/networking/private-network/how-to/managed-private-network/" >}}). Managed Private Networks allow you to create Private Networks with a DHCP server managed by Exoscale in order to automatically configure the IP addresses of your Private Network interfaces. You can also assign specific IP addresses to Private Network interfaces.

> [!NOTE]
> In order to use managed Private Networks, install `Cloud Init` version `19.3` or 
> later on your instance to use the `Exoscale` datasource. You can learn more about Cloud Init on the
> [Cloud Init documentation page]({{< ref "/product/compute/instances/how-to/cloud-init-user-data/" >}}).

[portal-privnet]: https://portal.exoscale.com/compute/private-networks/
[terraform]: https://github.com/exoscale/terraform-provider-exoscale/
[api]: https://community.exoscale.com/reference/api/compute/private-network/#attach-instance-to-private-network

