EPS establishes secure TCP and UDP network connections between computers on a single network, or distributed across many different networks. The connections between computers are named
In the above network diagram, all EPS-related connections and addresses are shown in green. Normally, the two devices on LAN #1 cannot easily access resources on LAN #2. With EPS conduits, another IP address is automatically assigned to all computers running the EPS client. Thus all computers on the EPS network can communicate as if they were on the same LAN segment.
The above network diagram shows how the EPS server can be hosted anywhere on the internet, it doesn't have to be in the same location as the EPS clients. As in the previous example, all communication within LAN #1 bypasses the central EPS server. Same with clients on LAN #2. The only time the EPS server is used is on startup when clients want to join a EPS network, and when clients from different physical networks need to communicate.
Typical UDP behaviour is exploited when possible to accelerate communication between the different computers. This can include sending TCP over reliable UDP.
Computers running the EPS client software will attempt to form a mesh. The EPS client has the necessary knowledge to attempt to directly connect to other peers without having to route traffic through the EPS server. Only when a direct connection cannot be established (likely due to firewall or NAT) will network traffic be routed through the EPS server.
The EPS server can generate Graphviz-format network diagrams. The network diagram includes details on bytes transferred and EPS network bandwidth usage.
See --graphviz for details on how to generate network diagrams.