UpCloud Network API
The network API calls present the different networks attached to cloud servers and allow the configuration of SDN private networks. Networks define a secure connections between attached cloud servers using a specialised network interface. A cloud server may belong to any number of virtual networks at the same time. Server interfaces are identified and ordered by their index. ## Network types ### Public networks Public networks provide internet connectivity to the cloud servers. Public networks are automatically added as public [IP addresses](https://upcloudltd.github.io/upcloud-openapi-spec/api/ip-address) are attached to cloud servers. ### Utility network The Utility network is a simple to use, yet functionally limited network connecting all cloud servers under the same UpCloud account. All cloud servers are connected to the Utility network by default. This way the Utility network forms a secure connection between all servers within one account, no matter where they are located. IP addressing on the Utility network is specified automatically and cannot be changed. The Utility network is limited to one connection per cloud server. SDN private networks are to be used for production workloads and any advanced network setups. The Utility network is added by [adding a utility IP address](https://upcloudltd.github.io/upcloud-openapi-spec/api/ip-address#assign-ip-address). ### Private virtual LAN SDN private networks provide flexible and customisable network configuration options beyond that of the Utility network and are recommended for production workloads. These networks provide secure connections between attached cloud servers using dedicated network interfaces. Servers can be attached and detached from SDN private networks at will using the API commands. SDN private networks allow a practically unlimited number of cloud servers to be attached simultaneously and a cloud server may belong to any number of SDN private networks at the same time. IP addressing may be defined automatically or custom IP addressing may be used. SDN private networks are configured per zone allowing cloud server on the same zone to be attached. #### Available IP subnets in Private virtual LANs Generally, you can use any _global unicast_ address for your subnet address, even public ones. However, we recommend staying with well-known private address ranges. Private address ranges include: **10.0.0.0/8**, **172.16.0.0/12**, **192.168.0.0/16**. Allowed subnet prefix lengths (sizes): minimum length 8 bits, maximum length 29 bits. Excluded ranges: * 100.64.0.0/10 (CGNAT) * 127.0.0.0/8 (localhost) * 224.0.0.0/4 (IP multicast) * 169.254.0.0/16 (link local) The above ranges are not available for use in Private virtual LANs. For more information on: * adding network interfaces to cloud servers [see](https://upcloudltd.github.io/upcloud-openapi-spec/api/server#add-a-network-interface). * modifying network interfaces from cloud servers [see](https://upcloudltd.github.io/upcloud-openapi-spec/api/server#modify-a-network-interface). * deleting network interfaces from cloud servers [see](https://upcloudltd.github.io/upcloud-openapi-spec/api/server#delete-a-network-interface-2). * assigning IP addresses to cloud servers [see](https://upcloudltd.github.io/upcloud-openapi-spec/api/server#add-an-ip-address-to-a-network-interface). * deleting addresses from cloud servers [see](https://upcloudltd.github.io/upcloud-openapi-spec/api/server#delete-an-ip-address-from-a-network-interface).