michaelc Posted July 9, 2009 Report Share Posted July 9, 2009 I'm a router software developer. When I test the inter-interoperability of uTorrent with the router's NAT-PMP function, I found the uTorrent has two major problems.1. Suppose I enable NAT-PMP and disabled UPnP in the uTorrent. When the program exits, it does not send NAT-PMP port map deletion request to the router. So port map rules are accumulated in the router every time the program exits.If I enable both NAT-PMP and UPnP, in about 1 out of 5 exits, it sends deletion requests. However, most of the time it does not send deletion requests.2. The deletion request currently is a "delete all" request. I.e. in the NAT-PMP request, the internal and external port numbers and the lifetime are all set to zero. So it deletes all NAT-PMP created rules include those requested by other NAT-PMP clients on the same machine. The uTorrent should specify the internal and external port numbers so that specific rules are deleted. uTorrent is already doing this very well in UPnP. It should not be hard to implement this.Michael Chan Link to comment Share on other sites More sharing options...
Ultima Posted July 9, 2009 Report Share Posted July 9, 2009 Thanks for the clear, concise report Just for a bit more clarity, though... what firmware and router are you testing on? Link to comment Share on other sites More sharing options...
michaelc Posted July 9, 2009 Author Report Share Posted July 9, 2009 I may not disclose the router company name that I am working in. But I'm actually using the open source project miniupnpd 1.2 (http://miniupnp.free.fr/) which is used by most embedded routers.Actually, the findings were gathered from Wireshark (tcpdump) captures. So the behavior should also be observed if you use any brands of router. Link to comment Share on other sites More sharing options...
Greg Hazel Posted July 9, 2009 Report Share Posted July 9, 2009 Can you grab a Wireshark capture of this behavior and the "delete all" you're referring to? uTorrent should send a port map request using the internal port we used previously, the external port set to 0 and the lifetime to 0. As per the NAT-PMP spec for specific port removal. Link to comment Share on other sites More sharing options...
michaelc Posted July 9, 2009 Author Report Share Posted July 9, 2009 Here it is : nat-pmp.pcap - 3.12 kB.(Non NAT-PMP packets are filtered)During the capture, I kept repeating this: start uTorrent, observe rules are created on the router, and close the uTorrent. Until packet 41 to 44, the uTorrent finally sent rule deletion packet.You are right. External port should be set to zero. I was wrong. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.