* [Bloat] Background Bufferbloat Detector @ 2011-02-16 17:46 Sean Conner 2011-02-16 18:48 ` Dave Täht 2011-02-16 19:03 ` Richard Scheffenegger 0 siblings, 2 replies; 9+ messages in thread From: Sean Conner @ 2011-02-16 17:46 UTC (permalink / raw) To: bloat I've been thinking about this background bufferbloat detector, and I am wondering why you are bothering with NTP? I understand about the timestamps, but wouldn't it be easier if you had a program that sent packets at a known fixed rate? I wrote a simple program that sends a UDP packet every 20ms; the receiver (same program, different options) records when it received the packet (which should be 20ms since the last packet received). It then records the actual delta to a file (which can later be graphed). Running it I do see variations in the timings; I'm wondering if what I did is actually relevent to detecting bufferbloat? -spc (Also, just to mention: it can be used on an IPv6 network, and can handle multicast addresses for sending and receiving) ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Bloat] Background Bufferbloat Detector 2011-02-16 17:46 [Bloat] Background Bufferbloat Detector Sean Conner @ 2011-02-16 18:48 ` Dave Täht 2011-02-16 19:03 ` Richard Scheffenegger 1 sibling, 0 replies; 9+ messages in thread From: Dave Täht @ 2011-02-16 18:48 UTC (permalink / raw) To: Sean Conner; +Cc: bloat Sean Conner <sean@conman.org> writes: > I've been thinking about this background bufferbloat detector, and I > am wondering why you are bothering with NTP? I understand about the > timestamps, but wouldn't it be easier if you had a program that sent > packets at a known fixed rate? I wrote a simple program that sends a > UDP packet every 20ms; the receiver (same program, different options) > records when it received the packet (which should be 20ms since the > last packet received). It then records the actual delta to a file > (which can later be graphed). We can do the same with voip or tcp connections that are also timestamped. The problem is that it requires active measurement, and both ends to be co-operating. The NTP idea: NTP is a "background" process, one that uses statistically sparse data spread across millions of machines, that can be cut up in a dozen different interesting ways. There are only 10s of thousands of NTP servers in the world. Nearly every vendor configures their own NTP server choice for their OS or platform. Nearly ever ISP provides NTP servers. And they are all mostly slaved to atomic clocks. NTP also is sourced on port 123 and dest 123 - so we can tell the difference between NATTed and non-natted hosts I obviously am loving this idea... But it involves building a tool that the ISP or pool operator can run, in order to detect it server side. > Running it I do see variations in the timings; I'm wondering if what I did > is actually relevent to detecting bufferbloat? Might be. > > -spc (Also, just to mention: it can be used on an IPv6 network, and can > handle multicast addresses for sending and receiving) > > > _______________________________________________ > Bloat mailing list > Bloat@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/bloat -- Dave Taht http://nex-6.taht.net ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Bloat] Background Bufferbloat Detector 2011-02-16 17:46 [Bloat] Background Bufferbloat Detector Sean Conner 2011-02-16 18:48 ` Dave Täht @ 2011-02-16 19:03 ` Richard Scheffenegger 2011-02-16 23:34 ` Jesper Louis Andersen 2011-02-18 20:08 ` Richard Scheffenegger 1 sibling, 2 replies; 9+ messages in thread From: Richard Scheffenegger @ 2011-02-16 19:03 UTC (permalink / raw) To: Sean Conner, bloat Hi Sean, the ingenous idea of Dave was to exactly NOT have to deploy custom software across the ENTIRE internet to measuer bufferbloat. Furthermore, if you deploy custom software everywhere (remember that not even ECN made it into widespread deployment in the last decade, despite clear benefits to the global internet - not "just" measuring something), you'd even be better off measuring "real" traffic instead of some aritificial additional (side-band) traffic. Ie. there are a few vendors, who have default QoS settings to make ICMP appear "good" (no bufferbloat), while TCP and regular UDP traffic is clearly affected... NTP is one of ony a few protocols in wide-spread use, which actually allows some time-measurments from regular (already deployed, in wide-spread use) clients. And, like DNS, you only need to look at a couple of servers, instead of touching literally tens and hundreds of thousands of hosts, just to get a first glimpse... And yes, any custom protocol can clearly measure stuff much nicer and cleaner - but since you can NOT touch the other side (modify the TCP/IP stack, remotely launch custom software to send out funny traffic etc), you need to use what's already there. BTW: One additional idea which might be worthwhile to investigate: Perhaps Bittorrent Clients can be used to export the one-way delay, as measured by the µTP protocol, to build an complementary background bufferbloat detector - uTP is currently the only protocol in wide-spread use, which measures one-way delay (instead of RTT), and automagically probes a wide swath of the internet. However, uTP also uses the one-way delay measurements in it's congestion control scheme, so it may "pollute" the measurements by itself... But if a TCP session is running in parallel and filling buffers, that should be a clear signal. And, hosting legal content on one's own Bittorrent Client should provide ample opportunity to get decent measurements, without the need to negotiate with someone else about taking readings off some debug-log from an NTP server.... Best regards, Richard ----- Original Message ----- From: "Sean Conner" <sean@conman.org> To: <bloat@lists.bufferbloat.net> Sent: Wednesday, February 16, 2011 6:46 PM Subject: [Bloat] Background Bufferbloat Detector > > I've been thinking about this background bufferbloat detector, and I am > wondering why you are bothering with NTP? I understand about the > timestamps, but wouldn't it be easier if you had a program that sent > packets > at a known fixed rate? I wrote a simple program that sends a UDP packet > every 20ms; the receiver (same program, different options) records when it > received the packet (which should be 20ms since the last packet received). > It then records the actual delta to a file (which can later be graphed). > > Running it I do see variations in the timings; I'm wondering if what I > did > is actually relevent to detecting bufferbloat? > > -spc (Also, just to mention: it can be used on an IPv6 network, and can > handle multicast addresses for sending and receiving) > > > _______________________________________________ > Bloat mailing list > Bloat@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/bloat ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Bloat] Background Bufferbloat Detector 2011-02-16 19:03 ` Richard Scheffenegger @ 2011-02-16 23:34 ` Jesper Louis Andersen 2011-02-16 23:39 ` Juliusz Chroboczek 2011-02-16 23:51 ` Dave Täht 2011-02-18 20:08 ` Richard Scheffenegger 1 sibling, 2 replies; 9+ messages in thread From: Jesper Louis Andersen @ 2011-02-16 23:34 UTC (permalink / raw) To: Richard Scheffenegger; +Cc: bloat On Wed, Feb 16, 2011 at 20:03, Richard Scheffenegger <rscheff@gmx.at> wrote: > > Perhaps Bittorrent Clients can be used to export the one-way delay, as > measured by the µTP protocol, to build an complementary background > bufferbloat detector [..] > > And, hosting legal content on one's own Bittorrent Client should provide > ample opportunity to get decent measurements, without the need to negotiate > with someone else about taking readings off some debug-log from an NTP > server.... > The only "slight" problem is that not all clients support µTP. You are limited to hacking either KTorrent 4.0+ (C++) or Vuze (Java). There are C clients in progression however (Transmission, libtorrent). My "own" client (in Erlang) has been putting off the implementation, mostly because I'd rather see TCP fixed :) But perhaps this could be a good opportunity to just hack up that protocol :) BitTorrent also has the advantage that it often connects to hosts from all over the world, so if there is any indication in the data, it should definitely be able to see a trend. -- J. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Bloat] Background Bufferbloat Detector 2011-02-16 23:34 ` Jesper Louis Andersen @ 2011-02-16 23:39 ` Juliusz Chroboczek 2011-02-16 23:51 ` Dave Täht 1 sibling, 0 replies; 9+ messages in thread From: Juliusz Chroboczek @ 2011-02-16 23:39 UTC (permalink / raw) To: Jesper Louis Andersen; +Cc: bloat > There are C clients [implementing µTP] in progression however > (Transmission, libtorrent). FWIW, the µTP branch of Transmission is rock solid; the only known issue is that the upload bandwidth control is broken for µTP. We're planning to merge it into trunk before the end of the week. --Juliusz ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Bloat] Background Bufferbloat Detector 2011-02-16 23:34 ` Jesper Louis Andersen 2011-02-16 23:39 ` Juliusz Chroboczek @ 2011-02-16 23:51 ` Dave Täht 1 sibling, 0 replies; 9+ messages in thread From: Dave Täht @ 2011-02-16 23:51 UTC (permalink / raw) To: Jesper Louis Andersen; +Cc: bloat Jesper Louis Andersen <jesper.louis.andersen@gmail.com> writes: > On Wed, Feb 16, 2011 at 20:03, Richard Scheffenegger <rscheff@gmx.at> wrote: >> >> Perhaps Bittorrent Clients can be used to export the one-way delay, as >> measured by the µTP protocol, to build an complementary background >> bufferbloat detector [..] >> >> And, hosting legal content on one's own Bittorrent Client should provide >> ample opportunity to get decent measurements, without the need to negotiate >> with someone else about taking readings off some debug-log from an NTP >> server.... >> > > The only "slight" problem is that not all clients support µTP. You are > limited to hacking either KTorrent 4.0+ (C++) or Vuze (Java). There > are C clients in progression however (Transmission, libtorrent). My > "own" client (in Erlang) has been putting off the implementation, > mostly because I'd rather see TCP fixed :) But perhaps this could be a > good opportunity to just hack up that protocol :) > > BitTorrent also has the advantage that it often connects to hosts from > all over the world, so if there is any indication in the data, it > should definitely be able to see a trend. This is one of the coolest applications of bittorrent technology I've ever heard of. I was basically going through /etc/services, and /etc/protocols while thinking about this. I thought DNS might be an answer but it didn't contain enough information... Snmp data contains a MIB that ostensibly reports on queue size, but no time related info... I only got as far as port 123 (NTP) which thus far seems a win. The progress over on comp.protocols.time.ntp is also promising... A problem in using bittorrent is in reporting, in that a bufferbloat detecting torrent client or server would have to phone home somehow. On the other hand, that could also be interestingly anonymized[1] /me girds up to get through the remaining protocols - I am stopped at port 179 right now, thinking hard.... -- Dave Taht http://nex-6.taht.net 1: (Bt the solution is too long to fit into the margins of this email) ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Bloat] Background Bufferbloat Detector 2011-02-16 19:03 ` Richard Scheffenegger 2011-02-16 23:34 ` Jesper Louis Andersen @ 2011-02-18 20:08 ` Richard Scheffenegger 2011-02-18 20:17 ` Dave Täht 2011-02-18 21:27 ` Juliusz Chroboczek 1 sibling, 2 replies; 9+ messages in thread From: Richard Scheffenegger @ 2011-02-18 20:08 UTC (permalink / raw) To: bloat, Dave "Täht" FYI http://www.ispreview.co.uk/story/2011/02/18/bittorrent-considers-release-of-world-broadband-isp-p2p-performance-report.html Perhaps Simon Morris can be asked, if latency information can be released together with the bandwidth data taken off the global population of bittorrent clients... Best regards, Richard Scheffenegger ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Bloat] Background Bufferbloat Detector 2011-02-18 20:08 ` Richard Scheffenegger @ 2011-02-18 20:17 ` Dave Täht 2011-02-18 21:27 ` Juliusz Chroboczek 1 sibling, 0 replies; 9+ messages in thread From: Dave Täht @ 2011-02-18 20:17 UTC (permalink / raw) To: Richard Scheffenegger; +Cc: bloat "Richard Scheffenegger" <rscheff@gmx.at> writes: > FYI > > http://www.ispreview.co.uk/story/2011/02/18/bittorrent-considers-release-of-world-broadband-isp-p2p-performance-report.html > > Perhaps Simon Morris can be asked, if latency information can be > released together with the bandwidth data taken off the global > population of bittorrent clients... Tweeted @bittorrent. Got an email address? If so, please forward him the thread. http://bit.ly/hWJ5DQ > > Best regards, > Richard Scheffenegger > -- Dave Taht http://nex-6.taht.net ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Bloat] Background Bufferbloat Detector 2011-02-18 20:08 ` Richard Scheffenegger 2011-02-18 20:17 ` Dave Täht @ 2011-02-18 21:27 ` Juliusz Chroboczek 1 sibling, 0 replies; 9+ messages in thread From: Juliusz Chroboczek @ 2011-02-18 21:27 UTC (permalink / raw) To: Richard Scheffenegger; +Cc: bloat > Perhaps Simon Morris can be asked, if latency information can be > released together with the bandwidth data taken off the global > population of bittorrent clients... Having the µTorrent clients spy on their users and phone home with the information is not something the BTI managers are likely to feel good about, no matter how inncocuous the information. (Recall that their user-base tends to be paranoid, and rightly so, and that µTorrent is not open-source.) On a related note, please feel free to develop a prototype based on Transmission -- we've just finished merging µTP into the trunk: https://forum.transmissionbt.com/viewtopic.php?f=1&t=11130#p52594 --Juliusz ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2011-02-18 21:27 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2011-02-16 17:46 [Bloat] Background Bufferbloat Detector Sean Conner 2011-02-16 18:48 ` Dave Täht 2011-02-16 19:03 ` Richard Scheffenegger 2011-02-16 23:34 ` Jesper Louis Andersen 2011-02-16 23:39 ` Juliusz Chroboczek 2011-02-16 23:51 ` Dave Täht 2011-02-18 20:08 ` Richard Scheffenegger 2011-02-18 20:17 ` Dave Täht 2011-02-18 21:27 ` Juliusz Chroboczek
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox