Modeling Large-Scale Peer-To-Peer Networks And A Case Study Of Gnutella