Phoebus works by changing the current Internet model, which binds all end-to-end communication to Transport layer protocols such as TCP and UDP. Using an end-to-end layer called the Session layer, Phoebus can segment a connection into a series of Transport layer connections. The edge connections can still use TCP and in many cases, existing software works with no modification. These edge connections are serviced by Phoebus Gateways. The flow of traffic over the backbone network is handled by a series of these gateways. The gateways can choose the best protocol and settings for sending the data across the network, and can allocate additional network capacity on behalf of the user.