create new tag
view all tags

2014-07-11 - FMNC - Data First Glance

A verbatim dump of the FMNC XML output that arises from a connection.

In short:

  • MeasureSetup captures packets during the initial three-way handshake, FIN, and FIN-ACK interactions
  • MeasureRcvd captures packet timing as received from the client during the test sequence
  • MeasureSent captures packet timing as sent by the server during the test sequence

Typically, a one to one mapping would be expected in terms of packets sent from the server and packets received from the client by virtue of the forced ACK behavior due to TCP Sting rearrangement. In this case, a dummy HTML file (our original HotPlanet webpage) is served up (roughly 5k) at slices of 100 bytes giving roughly 52 measurement opportunities. This all happens in under 75 ms from the original ACK through the completion of the measurements on campus WiFi.

<ConnectionTCPSlice CreationTime="1405108019.623149" SessionID="2" ClientIP="" ServerIP="" SrcPort="51661" DestPort="80" PktsTx="52" PktsRx="56" BytesTx="7932" BytesRx="3722" >
<MeasureSetup Count="9">
<PktSYN Time="1405108019.623149"  TTL="61" TOS="0" IPLength="64" ID="0x33"  OpLen="24" Options="" ClientSN="906125842" />
<PktTCP Time="1405108019.623149" Meta="SynAck" TTL="61" TOS="0" IPLength="40" ID="0x33" SN="1000000" AN="906125843" Flags="AS"  />
<PktTCP Time="1405108019.629880" Meta="Ack3Way" TTL="61" TOS="0" IPLength="40" ID="0x188E" SN="906125843" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.634726" Meta="DataIn" TTL="61" TOS="0" IPLength="408" ID="0x981A" SN="906125843" AN="1000001" Flags="AP" >
<Payload>GET / HTTP/1.1
Accept-Encoding: gzip, deflate
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 7_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D167 Safari/9537.53
Accept-Language: en-us
Cache-Control: max-age=0
Connection: keep-alive

<PktTCP Time="1405108019.634726" Meta="DataAck" TTL="61" TOS="0" IPLength="40" ID="0x981A" SN="1000001" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.947549" Meta="FIN-Server" TTL="61" TOS="0" IPLength="40" ID="0x33" SN="1005125" AN="906126211" Flags="AF"  />
<PktTCP Time="1405108019.952073" Meta="FIN-Client" TTL="61" TOS="0" IPLength="40" ID="0x4256" SN="906126211" AN="1005126" Flags="AF"  />
<PktTCP Time="1405108019.958594" Meta="ACK-Client-FIN" TTL="61" TOS="0" IPLength="40" ID="0x33" SN="1005125" AN="906126212" Flags="A"  />
<PktTCP Time="1405108019.958597" Meta="FIN-Server" TTL="61" TOS="0" IPLength="40" ID="0x33" SN="1005125" AN="906126212" Flags="AF"  />
<MeasureRcvd Count="53">
<PktTCP Time="1405108019.646892" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0xEC34" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.647523" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x4E43" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.648913" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0xED6D" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.650092" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0xFC2" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.653819" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x58B4" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.653821" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0xCD13" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.653897" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0xE823" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.654378" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x98B5" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.655997" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x38DD" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.659003" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0xA058" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.659005" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x3D26" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.659074" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x42DD" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.661238" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0xACFD" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.661240" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x9CDB" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.662596" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x38C7" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.663084" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x3BD8" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.664554" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x885F" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.665796" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x2C2E" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.667790" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0xE0E7" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.667859" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x313" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.669220" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x5DDA" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.669222" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x840F" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.669957" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x2BA0" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.670697" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x8B7" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.671333" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x28FE" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.673275" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0xF203" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.675067" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0xE66E" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.675069" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x3E1B" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.675665" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0xAA0D" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.678026" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x58B2" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.678028" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0xF7CA" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.679737" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0xA033" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.680289" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x4D0C" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.682273" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0xBD10" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.684457" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x4381" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.684459" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x373F" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.684460" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x3231" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.686765" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x805A" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.688974" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x7F5A" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.688975" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0xFB4D" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.689223" Meta="ACTIVE" TTL="61" TOS="0" IPLength="40" ID="0x76DA" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.692211" Meta="SEQ-DONE" TTL="61" TOS="0" IPLength="40" ID="0x847" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.692213" Meta="SEQ-DONE" TTL="61" TOS="0" IPLength="40" ID="0xADEE" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.692385" Meta="SEQ-DONE" TTL="61" TOS="0" IPLength="40" ID="0x8E76" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.694873" Meta="SEQ-DONE" TTL="61" TOS="0" IPLength="40" ID="0x3D9A" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.695540" Meta="SEQ-DONE" TTL="61" TOS="0" IPLength="40" ID="0xDE90" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.695541" Meta="SEQ-DONE" TTL="61" TOS="0" IPLength="40" ID="0xBEC" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.696609" Meta="SEQ-DONE" TTL="61" TOS="0" IPLength="40" ID="0x6343" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.697781" Meta="SEQ-DONE" TTL="61" TOS="0" IPLength="40" ID="0xE02" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.699648" Meta="SEQ-DONE" TTL="61" TOS="0" IPLength="40" ID="0x5C7" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.700680" Meta="SEQ-DONE" TTL="61" TOS="0" IPLength="40" ID="0x5760" SN="906126211" AN="1000001" Flags="A"  />
<PktTCP Time="1405108019.701775" Meta="SEQ-DONE" TTL="61" TOS="0" IPLength="40" ID="0x491C" SN="906126211" AN="1005125" Flags="A"  />
<PktTCP Time="1405108019.950890"  TTL="61" TOS="0" IPLength="40" ID="0x45DA" SN="906126211" AN="1005126" Flags="A"  />
<MeasureSent Count="52">
<PktTCP Time="1405108019.643845"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1000101" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.644894"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1000201" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.645947"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1000301" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.646999"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1000401" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.648056"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1000501" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.649099"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1000601" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.650149"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1000701" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.651196"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1000801" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.652245"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1000901" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.653295"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1001001" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.654343"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1001101" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.655397"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1001201" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.656452"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1001301" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.657501"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1001401" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.658548"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1001501" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.659603"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1001601" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.660651"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1001701" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.661760"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1001801" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.662797"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1001901" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.663847"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1002001" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.664893"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1002101" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.665943"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1002201" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.666989"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1002301" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.668034"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1002401" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.669088"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1002501" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.670141"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1002601" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.671188"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1002701" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.672238"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1002801" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.673289"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1002901" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.674340"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1003001" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.675388"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1003101" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.676435"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1003201" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.677492"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1003301" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.678548"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1003401" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.679594"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1003501" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.680646"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1003601" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.681700"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1003701" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.682759"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1003801" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.683830"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1003901" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.684866"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1004001" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.685967"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1004101" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.687024"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1004201" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.688059"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1004301" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.689106"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1004401" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.690160"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1004501" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.691207"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1004601" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.692256"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1004701" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.693308"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1004801" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.694360"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1004901" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.695407"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1005001" AN="906126211" Flags="A"  />
<PktTCP Time="1405108019.696465"  TTL="61" TOS="0" IPLength="64" ID="0x33" SN="1005101" AN="906126211" Flags="AP"  />
<PktTCP Time="1405108019.697515"  TTL="61" TOS="0" IPLength="140" ID="0x33" SN="1000001" AN="906126211" Flags="A"  />
<TestSequence SeqLength="52" SliceSize="100" SliceSpace="0.1000"><Config><Predefined Setting="3" /></Config></TestSequence>

A few other observations:

  • The TTL and ID fields are set post-measurement in the current loop. For sent packets, these are not terribly exciting.
  • Spacing was 1 ms (1000 microseconds) - see the Test Sequence at the end of the file
  • Currently, a loss in the sequence adds a healthy degree of uncertainty with regards to packet matching.

In the next week or so, we will be adding in a few tweaked pieces of functionality:

  • Dedicated FMNC web page that serves up partial results to the client
  • Relative time and sequence numbers in the XML to reduce space (slightly)
  • Minor analysis blocks - embedded analytics at the tail end of the XML file
  • Bandwidth detection rather than congestion detection via different payload sizes
  • The ability to request a different objects with different behaviors (ex. GIF 1 gives you a 10k object with 2 ms spacing)

Otherwise enjoy and feel free to drop us a note if you have any questions.

2014-07-11 - created by Aaron Striegel

Edit | Attach | Watch | Print version | History: r1 | Backlinks | Raw View | More topic actions
Topic revision: r1 - 2014-07-11 - AaronStriegel
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback