- 01 Sep, 2006 2 commits
-
-
Jonathon Duerig authored
Added an extra field as a placeholder for loss in the initial-conditions format as per Mike's request.
-
Jonathon Duerig authored
Added initial conditions handling to monitor/stub. This should also solve the what does throughput mean when the connection is delay-dominated? problem. Now there are two kinds of bandwidth measurements that the magent can send back to the monitor. There is a throughput measurement which is tentative and which is applied only if it is greater than the last measurement. And there is a bandwidth measurement that is authoritative and is applied regardless.
-
- 29 Aug, 2006 1 commit
-
-
Mike Hibler authored
OLD: * Delay specified in ticks. * Drop performed as packets were leaving the delay queue (i.e., leaving dummynet). This is more accurate in terms of calculating time spent in dummynet, and can be used with all strategies of BW/delay shaping (constant values, distributions, table lookup), but required that ultimately-dropped packets get put on the BW queue, changing the timing of things. NEW: * Delay specified in milliseconds. * Drops perfromed as packets enter the bandwidth queue (i.e., arrive in dummynet). Here drops are based on estimates of how long a packet would spend in dummynet and thus only works with constant delay/BW shaping characteristics, but does more accurately reflect queuing behavior. The estimate is done by looking at the length in bytes of the bandwidth queue (including the candidate packet) for the pipe, determining how long it will take to transmit that many bytes, and then adding the delay value for the pipe.
-
- 25 Aug, 2006 1 commit
-
-
Jonathon Duerig authored
Added ewma for throughput. Various fixes. Various additional logging. Simplified saturation calculation and moved it to StateSensor
-
- 24 Aug, 2006 1 commit
-
-
Jonathon Duerig authored
Fixed the traffic model so that it is now in line with what Rob and I discussed. Delays are before the write with the write size cached. Writes expire based on an expiration date. Miscellaneous fixes. Open problem: PacketSensor does not deal correctly with zero-sized packets. I changed KernelTcp to pass such packets because otherwise there is no way to do state changes based on SYN/FIN/other packets. SYN is handled ok for now because of a change noted below. FIN is not. Added a StateSensor. As I discovered, using the kernel tcp_info data structure isn't useful when dealing with fields that change on a packet by packet basis because the kernel information is retrieved at processing time and not capture time. For instance, it is useless when trying to determine whether a connection was established by the time a particular packet was sent (to determine whether it is part of the three-way-handshake). The StateSensor keeps track of the state machine and correlates it to the packet involved. This allows the other sensors to rely on it to distinguish between connection setup and the rest of the connection traffic. Added references to it in the PacketSensor, the DelaySensor and the ThroughputSensor. Changed the way packet information was transmitted to the sensors to make it easier to add new packet types (as will be necessary when accept()s are handled). Fixed all outstanding flaws in the basic feedback mechanism. In short, "Its alive!". Currently the only data being transmitted is the base rtt (MinDelay). Now that the feedback is working in a basic form, it will be easier to get the other characteristics online.
-
- 18 Aug, 2006 1 commit
-
-
Jonathon Duerig authored
-
- 11 Aug, 2006 1 commit
-
-
Jonathon Duerig authored
-
- 01 Jun, 2006 1 commit
-
-
Jonathon Duerig authored
Added support for queue-length-in-time. Fixed a bug where unusually small bandwidth measurements were sent during slow start.
-
- 24 Apr, 2006 1 commit
-
-
Jonathon Duerig authored
-
- 11 Apr, 2006 2 commits
-
-
Jonathon Duerig authored
-
Jonathon Duerig authored
-
- 06 Apr, 2006 1 commit
-
-
Jonathon Duerig authored
-
- 27 Mar, 2006 1 commit
-
-
Jonathon Duerig authored
Fixed a time-calculation bug in the monitor. Added bandwidth and base-rtt calculations based on TCP-vegas. Miscellaneous cleanups.
-
- 14 Mar, 2006 1 commit
-
-
Jonathon Duerig authored
Added standalone support for multiple streams. Added a logging infrastructure. Added a trivial application for testing purposes (dumb-client and dumb-server). Added the capability for running the standalone stub with a tcpdump replay. Added support for changing buffer sizes. Added shell files for experiment management, reset.sh which is to reset the dummynet settings between runs and run-iperf.sh which encapsulates a set of options to iperf.
-
- 02 Feb, 2006 2 commits
-
-
Jonathon Duerig authored
Fixed several minor bugs in Rob's scripts. Added the capability for multiple streams along the same path to the monitor/stub loop. Replaced the linear searches with logarithmic searches. Cleaned up various associated parts of the code. TODO: Finish connection recycling capability TODO: Remove commented out older code after more debugging
-
Robert Ricci authored
-
- 01 Feb, 2006 1 commit
-
-
Robert Ricci authored
-
- 30 Jan, 2006 1 commit
-
-
Jonathon Duerig authored
Changed monitor to accept an optional argument specifying the ip-address or name of the stub. If this optional argument is not provided, the monitor looks it up in the mapping. Changed run-monitor-libnetmon.sh to provide this extra argument. Note that run-monitor.sh is now deprecated. Always use run-monitor-libnetmon.sh
-
- 20 Jan, 2006 1 commit
-
-
Robert Ricci authored
the other way of invoking the monitor, this one takes the application to run on the command line. Monitor now finishes when it gets an eof on stdin. Allow monitor.py to skip input lines it doesn't understand, since when run with libnetmon, it sees the stdout of the application.
-
- 19 Jan, 2006 1 commit
-
-
Jonathon Duerig authored
-
- 18 Jan, 2006 1 commit
-
-
Jonathon Duerig authored
Expanded monitor to be more generic (not bound to a particular IP address ,etc.). Added throughput measurement to the stub (note that the throughput measurements are not sent to the monitor, only printed to the screen). Added the first primitive traffic modeling to the stub. Changed the stub defines to agree with the monitor (monitor port == 4200).
-
- 20 Dec, 2005 1 commit
-
-
Jonathon Duerig authored
-