1. A computer system, the system comprising: a processor; a storage device coupled to the processor and storing instructions that when executed by a computer cause the computer to perform a method, the method comprising: receiving, by forwarding circuitry, an interest with a name that is a hierarchically structured variable length identifier which comprises contiguous name components ordered from a most general level to a most specific level; identifying in a first data structure an entry for one or more name components of the name, wherein the entry includes a list of outgoing interfaces associated with the one or more name components; determining network properties in response to forwarding the interest to a first interface of the list of outgoing interfaces; and reordering the list of outgoing interfaces in order of priority based on the network properties, thereby facilitating the forwarding circuitry to dynamically adjust a likelihood of using a respective interface for forwarding interests associated with the one or more name components.