A system for hierarchical topological addressing and hierarchical recursive routing in a network, the system comprising: a plurality of routing devices (210, 220, 230) operating in two or more routing layers below a network layer in a network protocol stack, wherein within each routing layer a respective group of the routing devices (210, 220, 230) are organized in a respective hierarchical topology, each topology including a plurality of levels, the levels including at least a first level and a second level, the first level including a first subset of the respective group of routing devices (210, 220, 230), the second level including a second subset of the respective group of routing devices (210, 220, 230), each routing device in the first level being directly connected to one or more endpoint modules and to one or more routing devices (210, 220, 230) in the second level, each routing device (210, 220, 230) in the hierarchical topology having a hierarchical address within the respective routing layer, the hierarchical address corresponding to a respective location of the respective routing device (210, 220, 230) within the hierarchical topology corresponding to the respective routing layer, wherein, within the respective hierarchical topology corresponding to each routing layer, the hierarchical address of each routing device in the first level includes the hierarchical address of a corresponding routing device in the second level, wherein each of the routing devices (210, 220, 230) is operable to perform recursive one-hop routing to route and forward packets through the network via the two or more routing layers based on prefixes of destination addresses of the packets, and wherein a first routing device (210, 220, 230) forwarding a particular packet includes: selecting a network port of the first routing device (210, 220, 230) based on at least a prefix of a destination address of the packet, wherein the destination address is a hierarchical address of a second routing device (210, 220, 230) in the first level, and sending the packet to a routing device (210, 220, 230) directly connected to the selected network port. a plurality of routing devices (210, 220, 230) operating in two or more routing layers below a network layer in a network protocol stack, wherein within each routing layer a respective group of the routing devices (210, 220, 230) are organized in a respective hierarchical topology, each topology including a plurality of levels, the levels including at least a first level and a second level, the first level including a first subset of the respective group of routing devices (210, 220, 230), the second level including a second subset of the respective group of routing devices (210, 220, 230), each routing device in the first level being directly connected to one or more endpoint modules and to one or more routing devices (210, 220, 230) in the second level, each routing device (210, 220, 230) in the hierarchical topology having a hierarchical address within the respective routing layer, the hierarchical address corresponding to a respective location of the respective routing device (210, 220, 230) within the hierarchical topology corresponding to the respective routing layer, wherein, within the respective hierarchical topology corresponding to each routing layer, the hierarchical address of each routing device in the first level includes the hierarchical address of a corresponding routing device in the second level, wherein each of the routing devices (210, 220, 230) is operable to perform recursive one-hop routing to route and forward packets through the network via the two or more routing layers based on prefixes of destination addresses of the packets, and wherein a first routing device (210, 220, 230) forwarding a particular packet includes: selecting a network port of the first routing device (210, 220, 230) based on at least a prefix of a destination address of the packet, wherein the destination address is a hierarchical address of a second routing device (210, 220, 230) in the first level, and sending the packet to a routing device (210, 220, 230) directly connected to the selected network port.