# Performance Analysis of P2P Networks with Light Communication Links: The Static Managed Case
## 3 Centralized and Decentralized Networks  
In this section, we explain in detail the centralized and P2P networks studied and mathematically modeled in this work. As previously mentioned, another way to optimize the average download times in a network could be through the structure and organization (logical and physical) in which the system works. In general, architectures can be measured by standard parameters such as bandwidth, transmission rate, storage or processing capacity, the technologies used for their operation, topologies, and the way that nodes interact in the network. Due to this last parameter, two main architectures of great impact have been used in current networks, namely centralized architectures (client-server) and decentralized architectures (peer-to-peer (P2P)) [32]. Centralized networks, such as the one depicted in Figure 1, are mainly used for transferring data from single or multiple servers to every client. This occurs even if the information shared is the same in many nodes such as in social media and video streaming applications. Hence, every client requests resources from the server, which can cause bottlenecks in case the traffic load is high, demanding a higher download bandwidth than the available bandwidth at the servers. Conversely, P2P networks allow each node to behave as a client and server, downloading and uploading data, as illustrated in Figure 2. In addition, in P2P networks, the shared files are divided into small segments called _chunks_, so that the nodes can share their chunks with the rest of the peers in an efficient manner. Indeed, if chunks are too long, it would take much more time for a given node to download them and start sharing its resources. Then, the system has one or multiple servers that contain the complete file and starts downloading some chunks to arriving nodes. After a certain time, some nodes will complete the download process and they become _seeds_, i.e., nodes that have all the chunks, while nodes that do not contain the total _chunks_ are referred to as _lechers_. Note that seeds can share all their resources with any other leecher, while some leechers, even if they have some chunks, cannot always share their resources, since they may have the same chunks. In this regard, the P2P system attempts to distribute different chunks to different peers, allowing for a more efficient data-sharing procedure. Figure 1: Client–server structure: download links from server to clients. Consequently, connections between nodes have the following characteristics:  
* _Seeds_ do not connect with other _seeds_, because they already have all the information available on the network. * _Leechers_ reach--and preferably try to connect with--a _seed_, since it can share all available chunks. * _Leechers_ also try to connect with other _leechers_ that have different _chunks_ between them. In view of this, P2P networks are a viable option to reduce--and even avoid--bottlenecks at the servers, since all nodes share their bandwidth as they download chunks from the network. Let us assume that the nodes can download with a rate of \(c\) files per second and can upload information with a rate of \(\mu\) files per second. Also, note that these rates are not constant, since servers and nodes have different transmission rates due to propagation losses, multipath fading, and even for hardware variations among nodes. Hence, it is common to assume that these rates are random variables with exponential distributions [33]. Also, in many cases, the download rate is higher than the upload rate, as it is shown in the relation in (1):  
\[c\geq\mu \tag{1}\]  
Also, the model assumes that nodes can enter the system with rate \(\lambda\). Nodes that just enter the system have not downloaded any chunks. Then, they are considered leechers. And nodes can also leave the system: a leecher interrupts the download process with rate \(\theta\) either for connection difficulties, for mobility reasons, or simply because the user has to leave the system.