A method comprising: receiving, by a first augmented internet protocol router, AIPR, a lead packet of a forward packet flow of a session between a source device and a destination device, the lead packet comprising a header specifying a source address that is an address of the source device, a source port that is a port of the source device, a destination address that is an address of the destination device, a destination port that is a port of the destination device, and a protocol identifier; storing, by the first AIPR, return information for the session comprising the source address that is the address of the source device, the source port that is the port of the source device, the destination address that is the address of the destination device, the destination port that is the port of the destination device, and the protocol identifier; forwarding, by the first AIPR and to a second AIPR determined based on the destination address, the lead packet, the forwarding including: accessing, by the first AIPR, a routing information base of the first AIPR to look up routing information for the destination address and to identify the second AIPR as a next waypoint AIPR based on the destination address; assigning, by the first AIPR, a source port number and a destination port number for outgoing packets associated with the session; storing, by the first AIPR, forwarding information for the session comprising a source address that is an address of the first AIPR, the source port number assigned by the first AIPR, a destination address that is an address of the second AIPR, the destination port number assigned by the first AIPR, and the protocol identifier; modifying the lead packet to include metadata specifying the address and the port of the source device and the address and the port of the destination device; and modifying the header of the lead packet to specify a source address that is the address of the first AIPR, a source port that is the source port number assigned by the first AIPR, a destination address that is the address of the second AIPR, a destination port that is the destination port number assigned by the first AIPR, and the protocol identifier. receiving, by a first augmented internet protocol router, AIPR, a lead packet of a forward packet flow of a session between a source device and a destination device, the lead packet comprising a header specifying a source address that is an address of the source device, a source port that is a port of the source device, a destination address that is an address of the destination device, a destination port that is a port of the destination device, and a protocol identifier; storing, by the first AIPR, return information for the session comprising the source address that is the address of the source device, the source port that is the port of the source device, the destination address that is the address of the destination device, the destination port that is the port of the destination device, and the protocol identifier; forwarding, by the first AIPR and to a second AIPR determined based on the destination address, the lead packet, the forwarding including: accessing, by the first AIPR, a routing information base of the first AIPR to look up routing information for the destination address and to identify the second AIPR as a next waypoint AIPR based on the destination address; assigning, by the first AIPR, a source port number and a destination port number for outgoing packets associated with the session; storing, by the first AIPR, forwarding information for the session comprising a source address that is an address of the first AIPR, the source port number assigned by the first AIPR, a destination address that is an address of the second AIPR, the destination port number assigned by the first AIPR, and the protocol identifier; modifying the lead packet to include metadata specifying the address and the port of the source device and the address and the port of the destination device; and modifying the header of the lead packet to specify a source address that is the address of the first AIPR, a source port that is the source port number assigned by the first AIPR, a destination address that is the address of the second AIPR, a destination port that is the destination port number assigned by the first AIPR, and the protocol identifier. accessing, by the first AIPR, a routing information base of the first AIPR to look up routing information for the destination address and to identify the second AIPR as a next waypoint AIPR based on the destination address; assigning, by the first AIPR, a source port number and a destination port number for outgoing packets associated with the session; storing, by the first AIPR, forwarding information for the session comprising a source address that is an address of the first AIPR, the source port number assigned by the first AIPR, a destination address that is an address of the second AIPR, the destination port number assigned by the first AIPR, and the protocol identifier; modifying the lead packet to include metadata specifying the address and the port of the source device and the address and the port of the destination device; and modifying the header of the lead packet to specify a source address that is the address of the first AIPR, a source port that is the source port number assigned by the first AIPR, a destination address that is the address of the second AIPR, a destination port that is the destination port number assigned by the first AIPR, and the protocol identifier.