On Fri, 18 Oct 2013, Richard Barnes wrote:
Nonetheless, I continue to think that collecting ambient measurement data is a really interesting idea, so it would be cool to hear what others here think.
Hi! I thought I'd try to write down my thinking on the matter so far... I first started thinking about this when I was fault finding VoIP problems 10 years ago. Back then, as an extra feature on the VoIP system there was available to add to the CDR (call data record) some IP characteristics for the duration of the call, packet loss, reordering, PDV buffer misses due to excessive delay, and such. This meant that if the user was expericing quality problems, the transport network could either be confirmed to be causing the problem, or ruled out. This was excellent. Now, on to what I mentioned yesterday at the mic. On every TCP session, the host TCP stack has a lot of information available to it, it's got RTT measurements, it knows packet loss, reordering, PDV and other packet behaviour characteristics. So instead of having the user run active tests and waste capacity in the network (and potentially have ISPs game the system by giving higher priority in the network to the test traffic), why not keep track of the regular traffic instead? My idea was to continously collect TCP packet characteristics on existing user traffic, and try to aggregate the information as some kind of quality measure, that can be used for fault reporting or other statistics. There are several questions, thanks Richard for bringing some of them up yesterday in the bus that I didn't originally think to bring up initially, but let's do it anyway! 1. What data should be collected per TCP session. Let's start with the basic ones and name a few, which would be source/destination IP address, number of packets transferred, #packets lost, #packets reordered, average/max/min RTT. 2. How should the data be aggregated? Considering what paths the packets take, the will experience different network behaviour. So destinations need to somehow be put together. By AS-number/address block at the other end might be a good way. 3. What should be done with the data? Presented to the user somehow? Sent to a statistics analysis organisation if the user permits it? To the customer ISP in case the customer wants to? Anyone got some bright ideas or can point to work already being done? I would like to see this going into every TCP/IP stack on the planet in a uniform way. -- Mikael Abrahamsson email: swmike@swm.pp.se