While learning about p2p networks I found out that P2P networks need signaling servers but can modern DHT replace the need for signaling servers? (Holepunching mainly)
Can using a dht replace the use of signaling servers in P2P networks holepunching?
239 views Asked by vanessa boehr At
1
There are 1 answers
Related Questions in P2P
- Unable to Retrieve External Public Address in libp2p Swarm Events
- How to avoid duplicates with the pull-based subscribe model?
- Wifi direct (Wifi P2P) connection between raspberry pi 4b and android device only possible after reboot
- Using tokio::time::timeout does not trap delayed response from TCPReadStream
- 'connections' is deprecated. The declaration was marked as deprecated here
- Twitch but practically free with p2p webRTC?
- How Can I Connect Using A WebRTC-Offer With PeerJS
- Choose between polling, websocket or P2P
- does webrtc use turn server if established p2p connection is failed?
- A p2p secure chat application need more ressources to establish the work
- how to allow mobile apps to communicate without a separate server
- aiortc can't receive video from server example
- P2P connection does not work on Android 11 and above
- Android device cannot detect others by flutter_nearby_connections
- Why is WebRTC peer.ontrack not being called in 1-1 peer connection?
Related Questions in DHT
- In IPFS, will same content produce the same CID on 2 different peers?
- Save values from a DHT11-Sensor to influxDB container
- How do I periodically remove inactive nodes and flush the routing table with the use of kademlia python library?
- How can I index the bittorrent DHT properly for infohashes?
- IPFS not announcing CIDs on indirect peers and unable to get through cmd as CID is not propagated using DHT
- which libp2p module do I use to broadcast data to peers in the network e.g blockchain? do I use mdns or kademlia for blockchain?
- go-libp2p: my nodes don't find any peers with DHT peer discovery
- Kademlia get_providers() fails to find nodes that start_providing() in Rust libp2p
- Are DHT algorithms good for handling large amount of counting states?
- UDP socket connected to DHT node, not recieving data
- In Bittorrent how to announce utp port for other peers
- trying to understand the flow chart of the extended message protocol as mentioned in bep 10
- Do I remove peers after a certain amount of time?(mainline dht)
- How to find metadata in the dht while only having the Infohash?
- Is it possible to receive from one port and send through another in mainline dht?
Related Questions in HOLE-PUNCHING
- Is it possible to bind client-side WebSockets to a specific local port?
- How to perform NAT hole punching on an additional client mid-session?
- NewStream error encountered when trying to use libp2p to implement hole punching
- UDP hole punching behind NAT using netcat
- Is there a way to use UDP Hole Punching with Gstreamer?
- Easy way to transfer data globally in a Peer-to-Peer network using C#
- How do I fix UDP hole punching not working in my program?
- UDP hole punching in python, works locally but not through AWS
- Effective relayed / hole-punching connection between NAT-ed hosts
- Holepunching failing with linux iptables
- TCP hole punching in Node without a server
- Is it possible to achieve a p2p connection without an external server if the public IP and listening port are known?
- How to establish TCP hole punching with node.js?
- UDP NAT hole punching using a free public server
- UDP Hole punching in python
Related Questions in SIGNALING
- AWS kinesis Signaling channel: record videos to aws s3
- Signaling in SIPJS over UDP
- How to do signaling in WebRTC without using WebSocket or http or mail
- WebRTC Peer to Peer without ICE / STUN / TURN but with SSH
- Can using a dht replace the use of signaling servers in P2P networks holepunching?
- CodenameOne WebRTC CN1LIB Serverless, Manual Signaling
- WebRTC connectiong only send one candidate
- How to find local maximum (minimum) more accurate in python?
- Can i re-use webRTC Peer Connection object for Multi user chat?
- Signaling between WebRCT client and SFU
- How do I get C++ signaling_nan() to throw an exception, without needing if tests?
- WebRTC setRemoteDescription Session is Null error in flutter
- What is the correct approach to storing a WebRTC connection for later use?
- Managing Database Calls For Every Socket Message Spring Boot
- Signal r client reconnection with the same connection Id
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
A vanilla DHT that only acts as hash table can't serve that purpose but a customized implementation where the nodes support some protocol-specific extensions it is possible. E.g. in the bittorent DHT clients can instruct DHT nodes to put whatever their externally visible port is into the hash table rather than simply publishing their internal port number. This only really works for full-cone NAT.
For restricted cone or symmetric nat more complicated signalling and guessing approaches like STUN would have to be added to all DHT nodes and peers behind NATs could then initiate traversal at a particular node by publishing it as their rendezvous.