1. A method of providing content in a system where a content server and a plurality of user clients are in data communication with each other via a network, the method comprising: (a) receiving, at the content server, information for content that each of the user clients stores, wherein each of the plurality of user clients stores a communication agent configured to communicate data with the content server and the respective communication agents of the other user clients, and wherein the communication agent of each user client is not shared by the other user clients; (b) receiving, at the content server, a content request signal from one of the plurality of user clients; (c) generating, at the content server, address information for nodes having the requested content, corresponding to the content request signal, based on the content information received in (a); and (d) providing the address information from the content server to the user client that has requested the content, wherein the node address information is configured to control the communication agent to establish connections between the user client and a plurality of nodes and to receive the requested content from at least one of the plurality of nodes by way of a parallel and distribution method, wherein the content data comprise a plurality of blocks which are divided from the content data by a predetermined size and each of the blocks comprises a plurality of sub blocks which are divided from the block by a predetermined size, wherein the plurality of blocks and the plurality of sub blocks are transmitted by the at least one node and received by the user client via a communication network, wherein the sub block data include header information including a resource identifier of the requested content, a block number and a sub block number, and wherein the resource identifier is indicative of the type of the requested content data.