On 2011-08-12 09:25, [email protected] wrote: > |In your experiments, do you measure port and session usage on > |the NAT, on the internal host, or both? It's not clear to me > |when reading your experiment results at > |http://opensourcev6transtechnologies.weebly.com/experiments-res > |ults.html > > The data shows there are only the port and session usage on the NAT.
Ok. Thanks. Then I think we're missing an important piece of data: port and session usage on the host. Here's why, with an example. Suppose I run an app on my host that creates two sessions using two different source ports: 192.168.0.10:65000 --> 1.2.3.4:80 192.168.0.10:65001 --> 5.6.7.8:80 An EIM NAT will always map these two sessions to two different external ports, let's say like this: 4.4.4.4:65000 --> 1.2.3.4:80 4.4.4.4:65001 --> 5.6.7.8:80 A non-EIM NAT could instead conserve ports by reusing the same external port for the two sessions: 4.4.4.4:65000 --> 1.2.3.4:80 4.4.4.4:65000 --> 5.6.7.8:80 ------------------------------ Suppose now that a different app creates two sessions using the same source port: 192.168.0.10:65000 --> 1.2.3.4:80 192.168.0.10:65000 --> 5.6.7.8:80 Both the EIM NAT and the non-EIM NAT would map them to the same external port: 4.4.4.4:65000 --> 1.2.3.4:80 4.4.4.4:65000 --> 5.6.7.8:80 -------------------------------------- So, conclusion: unless your extremely certain of the NAT behaviour (we rarely are, especially in edge cases), just by looking at the NAT port and session usage says nothing about what happens on the host. We don't know whether BitTorrent, Skype, or Firefox reuse source ports for different destinations or whether they simply use additional internal source ports. Usually, if an application just uses the usual BSD sockets API to initiate each new session (socket() then connect()), the OS will assign a different source ports (for all common consumer OSes). It could be possible that the application does it otherwise, but the straightforward way to do it just consumes another port. So your observations on the NAT, where significantly more sessions were active than there were ports, mean that either of these is true: a) Firefox, the BitTorrent client you tested, and Skype do not create new sessions with the usual socket() then connect() sequence. (That would be quite strange for Firefox and BitTorrent, not so much for Skype.) b) The NAT you tested was not EIM. (This would not be surprising since there are many non-EIM consumer grade NATs out there.) Thoughts? Simon -- DTN made easy, lean, and smart --> http://postellation.viagenie.ca NAT64/DNS64 open-source --> http://ecdysis.viagenie.ca STUN/TURN server --> http://numb.viagenie.ca _______________________________________________ Softwires mailing list [email protected] https://www.ietf.org/mailman/listinfo/softwires
