Questions tagged [p2p]

Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the application.

Peers make a portion of their resources, such as processing power, disk storage or network bandwidth, directly available to other network participants, without the need for central coordination by servers or stable hosts. Peers are both suppliers and consumers of resources, in contrast to the traditional client–server model where only servers supply, and clients consume.

The peer-to-peer (P2P) application structure was popularized by file sharing systems like Napster. The peer-to-peer computing paradigm has inspired new structures and philosophies in other areas of human interaction. In such social contexts, peer-to-peer as a meme refers to the egalitarian social networking that is currently emerging throughout society, enabled by Internet technologies in general.

What is it?

This is a special kind of network type ('network topology' is the fancy description). It describes computers that are networked to each other without a central server being in-between.

Why was it developed?

Peer-to-peer networks are very popular with people who want to share files directly with one another. The files do not have to be stored on a central server.

Software has been developed that can even put together a file from bits of the file stored across several 'peers' on the network. For example, BitTorrent can do this. The advantage is that no single computer needs to be over-loaded when a very popular / very large file is requested.

Why is it important?

It is an important development, because it will affect the way the Internet is used in the future.

Many companies want to provide 'video on demand' services, but the problem has been how to provide the vast bandwidth needed when thousands of people are asking for the same video file, e.g., the latest episode of Lost or 24.

Peer-to-peer is an ideal solution to the problem, because hundreds of computers can hold parts of the video and so share the load.

Some companies are calling the peer-to-peer connections they are building 'The Grid' which is a trendier name for the same thing.

What about the future?

In the near future, high definition television programs may be delivered through the Internet and so peer-to-peer may be used.

References

1970 questions
8
votes
2 answers

Can lidgren-network library connect directly peer to peer given both IP addresses

I am using lidgen-network library 3 to try and create a peer to peer connection. I am new to network programming which is why i'm using this library. Using the DiscoverKnownPeer() function i have been able to connect within my network. What i have…
8
votes
4 answers

Creating a P2P / Decentralized file sharing network

I was wondering where I could learn more about decentralized sharing and P2P networks. Ideally, I'd like to create something to help students share files with one another over their universities network, so they could share without fear of outside…
Parker
  • 8,539
  • 10
  • 69
  • 98
8
votes
4 answers

Can a browser communicate with another browser on the same network directly?

I'm playing around trying to find a way to communicate between two browsers on the same network to establish WebRTC without a server roundtrip (no STUN/ICE/TURN). Basically an alternative to the approach found here, where the "handshake" is done via…
frequent
  • 27,643
  • 59
  • 181
  • 333
8
votes
3 answers

Client to Client Websockets

I am wondering whether it is possible for two clients to set up a websocket connection with each other, given that they have some help from the server to "locate" each other. Currently there are messages going from a client to the server through…
JerryFox
  • 615
  • 2
  • 13
  • 25
8
votes
4 answers

How to set up Peer-to-Peer collaboration with Git?

Because for technical and legal reason the usage of a central repository is for some projects not possible, I would like to set up the versioning with Git in a peer to peer fashion without a catalyzing server. How could this be done?
Raffael
  • 19,547
  • 15
  • 82
  • 160
8
votes
1 answer

BitTorrent Client : Getting Peer List From Trackers [Python]

I am trying to get the peer list from the trackers using https://wiki.theory.org/BitTorrent_Tracker_Protocol But most of the torrent files available on the net use a udp tracker. The above website is for HTTP trackers. The torrent files with HTTP…
Kyuubi
  • 1,228
  • 3
  • 18
  • 32
8
votes
2 answers

android socket programming behind a router

I have a question or problem. I am trying to make a p2p connection between two android phones. I have each phone connect to my server and I get their private (192.168.1.1) and public (76.123.288.22) IP and along with the ports that they connect to…
John Smith
  • 95
  • 1
  • 6
7
votes
1 answer

Peer-to-Peer decentralized network - message to all peers

I need to create a file-sharing peer-to-peer network (without a central server). I read a lot of information on the topic. The requirement is to make sure every peer in the network keeps a full list of the other peers and a full list of all the…
stormbreaker
  • 848
  • 13
  • 22
7
votes
3 answers

GPU-"Proof" Hash Function(s)?

I am thinking about designing a p2p network that requires a certain level of proof-of-work for vetting of users (similar to bitcoin) and regulation of spam/ddos. Due to the nature of p2p, the only feasible POW architecture I have seen is the…
user862319
7
votes
1 answer

How to use simple-peer with react-native-webrtc

I'm trying to use react-native-webrtc in the constructor for simple peer import wrtc from 'react-native-webrtc'; const peer = new SimplePeer({initiator: true, wrtc: wrtc}); the error I'm getting is ExceptionsManager.js:179 Error: No WebRTC…
Walter Shub
  • 652
  • 8
  • 19
7
votes
7 answers

p2p web programming

I been trying to search a bit about this and I have faint memories that I have seen presentations of p2p in flash or silverlight and I was wandering if theres any good ways to use this from javascript. I would like to have the server as a connector…
megakorre
  • 2,213
  • 16
  • 23
7
votes
2 answers

How does peer2peer work through a router?

How does one PC connect to another over the internet to another PC? An example would be a program listening for connections on PC 1. PC 1 sits behind Router 1. PC 2 has a client program trying to connect to PC 1. What is the correct…
BeerHugger
  • 103
  • 1
  • 7
7
votes
3 answers

Is peer-to-peer communication over 3G/4G possible for smart phones?

I'm trying to write an app that transfers data from one android device to another - but the devices are most likely located in different parts of the city, state, or country. (The straight forward way would be to have a central server (or any type…
pseudosudo
  • 1,962
  • 1
  • 19
  • 30
7
votes
1 answer

How do I indicate the end of remote candidates?

For an WebRTC application, I want to signal, that there are no more remote candidates while using Trickle ICE. The W3C WebRTC spec says: This method can also be used to indicate the end of remote candidates when called with an empty string for the…
Dennis
  • 4,011
  • 7
  • 36
  • 50
7
votes
3 answers

How to communicate between two Nodes behind NAT?

I have some nodes. Each node belongs to other network. Each node has private IP like 192.168.0.2 and stays behind NAT. Is there any possibility to communicate between Nodes? Actually, I need to transfer files between these independent nodes. I try…
Max
  • 1,803
  • 3
  • 25
  • 39