A packet routing method for directing packets of a session from an originating node toward a destination node in an IP network (100, 400-406,1302, 3306, 2310), the method comprising: an intermediate node obtaining a lead packet (1401, 1402, 1403, 1404, 2201, 2202) of a plurality of packets in a session, the intermediate node having an intermediate node network address (1012, 806), the lead packet including a 5-tuple of information including an original source address, an original source port number, an original destination address, an original destination port number, and an original protocol identifier; storing return association information in a memory, the return association information including the original source address, the original source port number, the original destination address, the original destination port number, and the original protocol identifier; determining a next node for the session, the next node having a next node network address; assigning a source port number and a destination port number for the session; storing forward association information for the session, the forward association information including the next node network address, the assigned source and destination port numbers, the original protocol identifier, and the intermediate node network address; modifying the lead packet to include the intermediate node network address as the source address, the next node network address as the destination address, the assigned session source and destination port numbers, and the original protocol identifier, and to include the original source address, the original source port number, the original destination address, and the original destination port number as metadata; and forwarding the modified lead packet (1000, 2202, 2203, 2204, 1402, 1403, 1404) to the next node through an intermediate node electronic output interface to the IP network (100, 400-406,1302, 3306, 2310), the electronic output interface being in communication with the IP network (100, 400-406,1302, 3306, 2310), such that the metadata is carried to a final waypoint router for the session and used by said final waypoint router to restore the original source address, the original source port number, the original destination address, and the original destination port number in session packets forwarded by the final waypoint router toward the destination node; whereby subsequent packets of the session follow the same path as the lead packet of the session and return packets from the destination node to the originating node also follow the same path in reverse order. an intermediate node obtaining a lead packet (1401, 1402, 1403, 1404, 2201, 2202) of a plurality of packets in a session, the intermediate node having an intermediate node network address (1012, 806), the lead packet including a 5-tuple of information including an original source address, an original source port number, an original destination address, an original destination port number, and an original protocol identifier; storing return association information in a memory, the return association information including the original source address, the original source port number, the original destination address, the original destination port number, and the original protocol identifier; determining a next node for the session, the next node having a next node network address; assigning a source port number and a destination port number for the session; storing forward association information for the session, the forward association information including the next node network address, the assigned source and destination port numbers, the original protocol identifier, and the intermediate node network address; modifying the lead packet to include the intermediate node network address as the source address, the next node network address as the destination address, the assigned session source and destination port numbers, and the original protocol identifier, and to include the original source address, the original source port number, the original destination address, and the original destination port number as metadata; and forwarding the modified lead packet (1000, 2202, 2203, 2204, 1402, 1403, 1404) to the next node through an intermediate node electronic output interface to the IP network (100, 400-406,1302, 3306, 2310), the electronic output interface being in communication with the IP network (100, 400-406,1302, 3306, 2310), such that the metadata is carried to a final waypoint router for the session and used by said final waypoint router to restore the original source address, the original source port number, the original destination address, and the original destination port number in session packets forwarded by the final waypoint router toward the destination node; whereby subsequent packets of the session follow the same path as the lead packet of the session and return packets from the destination node to the originating node also follow the same path in reverse order.