1. A method of routing packets associated with a hidden service, comprising: based on a hidden service address table stored in a memory, mapping a virtual circuit related to the hidden service to a corresponding port-level channel based on the hidden service's address; and routing data associated with the hidden service between the virtual circuit and the port-level channel.