Hmm - this thread develops in two directions I don't like particularly:
1st: not connectible (vs. not connected) needs some further clarification:
not connectible means: the client did (at least once) connect to our tracker, but (possibly after some time without traffic) the user-port was closed (by a security suite or a bad configured router) for incoming connections. What does that mean for a user? Let me present a (n extremely simplified) "virtual talk" between involved parties when up/downloading torrents. Remember though: this "talk" only starts after the approval process is finished and the torrent is available to all members and the torrent is seeding:
tasks printed in blue are like directions or talk of the narrator
Case 1: all Clients are connectible!
Client A |
|
Our tracker |
|
Client B |
|
|
|
|
|
| I have a new torrent "X" ready for others | β> | | | |
| | <β | OK fine with me, registered
(registers Client A as seeding) | | |
| | | | <β | I wanna download torrent "x" |
| | | OK - here is the IP of client A, he has parts for you
(registers Client B as downloading) | β> | (thanks mate) |
| | <β | β- | β- | Hi you , it's me, Client B, - I wanna have a part of Torrent "x" |
| Glad to meet you, here enjoy | β- | β- | β> | (saves the sent part) |
| | <β | β- | β- | hmm - looks good - I'd like some more |
| Greedy guy, here enjoy | β- | β- | β> | (again saves the next sent part) |
| (this dialogue continues) | <β- | β- | β> | (three guesses what Client B does with the sent parts) |
| (after around 30 minutes) | <β | Hi Client A - what about torrent "x"? | | |
| Hi, nice to meet you again, tracker - Here are my stats about that torrent: | β> | (saves stats for Client A and torrent "x") | | |
| | | Hi Client B - what about torrent "x"? | β> | |
| | | (saves stats for Client B and torrent "x") | <β | Hi, nice to meet you again, tracker - Here are my stats about that torrent: |
| (the talk goes on until the complete data file is transferred) | | | | |
Case 2a: Client B is "not connectible", incoming traffic on the torrent port of client B is blocked completely:
Client A |
|
Our tracker |
|
Client B |
|
|
|
|
|
| I have a new torrent "X" ready for others | β> | | | |
| | <β | OK fine with me
(registers Client A as seeding) | | |
| | | | <β | I wanna download data from torrent "x" |
| | | OK - here is the IP of client A, he has parts for you
(registers Client B as downloading) | blocked | (wonders why no answer from the tracker) |
| (after around 30 minutes) | <β | Hi Client A - what about torrent "x"? | | |
| Hi, nice to meet you again, tracker - Here are my (empty) stats about that torrent: | β> | (saves stats for Client A and torrent "x") | | |
| | | Hi Client B - what about torrent "x"? | blocked | |
| | | (gets no answer and marks Client B as not connectible) | | |
Case 2b: Client B gets "not connectible", incoming traffic on the torrent port of client B is blocked after some time without outgoing traffic on that very port:
Client A |
|
Our tracker |
|
Client B |
|
|
|
|
|
| I have a new torrent "X" ready for others | β> | | | |
| | <β | OK fine with me, registered
(register Client A as seeding) | | |
| | | | <β | I wanna download data from torrent "x" |
| | | OK - here is the IP of client A, he has parts for you
(registers Client B as downloading) | β> | (thanks mate) |
| | <β | β- | β- | Hi you , it's me, Client B, - I wanna have a part of Torrent "x" |
| Glad to meet you, here enjoy | β- | β- | β> | (saves the sent part) |
| | <β | β- | β- | hmm - looks good - I'd like some more |
| Greedy guy, here enjoy | β- | β- | blocked | (waits for the new part without success) |
| (after around 30 minutes) | <β | Hi Client A - what about torrent "x"? | | |
| Hi, nice to meet you again, tracker - Here are my stats about that torrent: | β> | (saves stats for Client A and torrent "x") | | |
| | | Hi Client B - what about torrent "x"? | blocked | |
| | | (gets no answer and marks Client B as not connectible) | | |
2nd: UPnP
As good as UPnP can help you get "unwilling" equipment to open ports: there is a hidden danger in using UPnP though: If you catch a malware program one way or another that program is able to silently open a port for its own use by using UPnP system-calls, not only in your firewall but also in your router for outgoing and incoming traffic which enables this "pilot" malware to download a really harmful program to your computer without the knowledge of your router, your "security system" / firewall and, worst, your own knowledge!!!
I admit it is easy to use UPnP to open ports in your equipment - but be sure to log such attempts (if at all possible) and watch that log carefully!
I recommend though to have at least one secure "last barrier" which will not react on UPnP and handle that barrier (in my case my external router to the internet) manually. Call my paranoid, but I'm very cautious about the security of my LAN - that pays off too - I had several intrusion attempts in the last couple of years but I always could delete the regarding software without harm being done