File sharing allows data to be shared with users over the internet or a personnel network. File sharing on any network can be broken down to certain network models. The most common concepts are peer-to-peer and client-server.
Client-server is a network architecture model whereby each computer on the network assumes the role of client or server. Under this model the client depends on a single or centralized server to acquire resources.
P2P is a term referring to "peer-to-peer" networking. In a peer-to-peer network your computer acts as both client and server to exchange resources such as audio, video, pictures, compressed files, and recently even the contents of system folders but, without the need for a centralized server. P2P dominates the popular methods used to exchange files. In order to take advantage of this technology client software is required to interact with other computers. Some popular clients for the "peer-to-peer" protocols include Morpheus, Limewire, Ares, and Emule for early generation P2P.
More recently in the development of peer-to-peer sharing over the network is the third generation of P2P using the Bittorrent protocol. This allows users to acquire resources from multiple sources at once resulting in faster downloads especially of larger files. This also requires client software such as Azereus, Bittorrent, and Utorrent.
Below are the most common client applications. This whole list is under scrutiny