1. An Internet service provider (ISP) comprising: a first cache server; and a network aware server, operable to: determine at the ISP an optimization between a cost of retrieving content from a network and a cost of caching content from the network at the first cache server; in response to determining the optimization, send a first content identifier to the first cache server; wherein the first cache server is operable to: receive the first content identifier: determine a first source of a first content item; and if the first source is the same as the first content identifier, then cache the first content item.