I am using Transmission BitTorrent client and Retroshare from behind a NAT firewall with port-forwarding/UPnP disabled. However, I still seem to be able to accept incoming connections with these programs, and I am curious how this is possible. In the case of Transmission, I can see the 'I' flag on some peers, which indicates they are an incoming connection. And in the case of Retroshare, I am able to connect with friends that are also behind a NAT firewall. Does anyone know how this is possible from behind a firewall? Is Transmission (and possibly other P2P clients too) doing some kind of NAT traversal? What kind of NAT traversal might they be using?
Related Questions in P2P
- A P2P application with Python
- Peer to Peer Communication without Server in iPhone
- Support P2P in Netty or Mina?
- Native Real Time Communication alternatives to WebRTC
- difference between p2p and client-server node design
- Implementing XOR-MAPPED-ADDRESS attribute on STUN server
- RTMFP / peer-to-peer over public Internet
- MQTT as a centralized communication protocol
- Android - Sending intent over mobile network
- ionic client to server sync and client to client sync
- Can you connect UWP apps peer-to-peer?
- Does the "holy trinity" (Ethereum, Swarm and Whisper) support multimedia streaming?
- How is SIP scaled for high load?
- JXTA on internet
- Cherry pick peers using Rasterbar libtorrent in Python
Related Questions in BITTORRENT
- Torrent not downloading immediately after adding when only 1 seeding peer
- Implementing find node on torrent kademlia routing table
- magnet torrent by private server
- Android fragmented ProgressBar (like defrag or bittorrent)
- How to get responses to ut_metadata piece request ? (node.js Bit Torrent BEP 0009)
- How do I convert a base64 encoded torrent info_hash to a magnet link info_hash? (Linux)
- SHA1 Hash in BitTorrent is not text
- Cherry pick peers using Rasterbar libtorrent in Python
- How could a file be corrupted?
- How does the client divide the file?
- Can applications coexist within the same DHT?
- BitTorrent protocol: Why am I getting extra data with handshakes?
- parsing BEP9(ut_metadata) data message
- NullPointerException on unchanged bittorrent library of BitLet
- Significance of piece index in bittorrent file transfer?
Related Questions in NAT-TRAVERSAL
- Smartphone to smartphone communication - what are the options?
- Need help for udp hole punching
- Adobe AIR, URLRequest, and local ports
- Is it possible to force a source port on a NetConnection?
- Behind NAT to behind NAT connection
- How implement Ip in Udp encapsulating application?
- PHP, Java Servlet, or C# WebService as NAT Intermediary Server
- How to implement UDP Hole Punching?
- Client Server Architecture
- TURN server XOR-RELAYED-ADDRESS IP different from its own public IP
- UDP NAT Traversal (punch through) shortcut
- fastest way of sending messages to clients from a server
- TCP NAT-Traversal /- Punching with .NET
- Direct Client-Server connectivity between two devices with CG-NAT
- Why doesn't WebRTC work with Symmetric NAT?
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?
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)