1 / 33

Monarch: A Tool to Emulate Transport Protocol Flows over the Internet at Large

Monarch: A Tool to Emulate Transport Protocol Flows over the Internet at Large. CISC856 TCP/IP and Upper Layer Protocols Spring 2010. Fan Yang yangfan@udel.edu. Thank Andreas Haeberlen, Marcel Dischinger, Krishna P. Gummadi and Stefan Sarois for borrowing some slides. Outline.

egan
Download Presentation

Monarch: A Tool to Emulate Transport Protocol Flows over the Internet at Large

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Monarch: A Tool to Emulate Transport Protocol Flows over the Internet at Large CISC856 TCP/IP and Upper Layer Protocols Spring 2010 Fan Yangyangfan@udel.edu Thank Andreas Haeberlen, Marcel Dischinger, Krishna P. Gummadi and Stefan Sarois for borrowing some slides

  2. Outline How Monarch works How to choose probe PDUs Which protocols can Monarch emulate The sources of inaccuracy An example of implementation Conclusion

  3. How Monarch works TCPSender Internet TCPReceiver Host underour control TCPSender TCP-PDU (1480 bytes) Internet ACK TCP-PDU (20 bytes) Host underour control TCPReceiver Standard TCP

  4. How Monarch works Host under our control TCPSender TCPSender TCPReceiver Internet TCP-PDU (1480 bytes) Internet probe-PDU (1480 bytes) Response PDU,20 bytes Internet host(not under ourcontrol) TCPReceiver Standard TCP Monarch

  5. How Monarch works TCPSender TCPSender TCPReceiver Internet Data packets Internet Big packets Small packets Big packets Small packets Response packets Probe packets Path is stressed in the same way  Similar throughput, delay, loss, etc ? TCPReceiver Standard TCP Monarch

  6. Problems • How to choose probe PDU(what types of PDUs can be used)?

  7. How to choose the probe PDU? The probe PDUs should be responded to by most hosts There should be a way to match the response PDUs to the corresponding probe PDUs Size of probe PDUs and response PDUs should be similar to that of the regular flows

  8. Possible types of probe PDU TCP UDP ICMP echo request ICMP timestamp request Why do we choose these protocols?

  9. Possible types of probe PDU(TCP) Host underour control Monarch An ACK TCP-PDU to a closed port (1480 bytes) Internet RSTTCP-PDU (20 bytes) Remote host TCPReceiver TCP probe

  10. Possible types of probe PDU(TCP) • Most hosts should respond to TCP-PDU • The sequence number of the RST PDU is equal to the acknowledgment number of the probe ACK PDU

  11. Possible types of probe PDU(UDP) Host underour control Monarch A UDP-PDU to a closed port (1480 bytes) Internet ICMP-PDU port unreachable (32 bytes) Remote host UDPReceiver UDP probe

  12. Possible types of probe PDU(UDP) • Most hosts should respond to UDP-PDU • ICMP-PDU will include the IP-PCI of the probe, we can match the probe and the response by the IPid field

  13. TCP probe and UDP probe • TCP and UDP probes allow the probe PDU size to be varied, while the response packet size is held fixed between 20 and 72 bytes. • They are well suited to match the sizes of the data and acknowledgement PDUs for many variants of the popular TCP protocol.

  14. Possible types of probe PDU(ICMP) Host underour control Monarch ICMP echo PDU Internet ICMP-PDU echo PDU size is similar with the request Remote host ICMP Receiver ICMP probe

  15. Possible types of probe PDU(ICMP) • Most hosts should respond to ICMP-PDU • The ICMP echo reply has the same sequence number field in ICMP-PCI as the ICMP echo request

  16. ICMP probe • The ICMP echo responses are of the same size as their probes, so they are better suited for evaluating transport flows where data flows in both directions

  17. Problems • How to choose probe PDU( what types of PDU can be used)? • Which protocols can Monarch emulate? • What are sources of inaccuracy?

  18. Which protocols can Monarch emulate? • Any transport protocol where the receiver feedback is limited to path latencies and losses can be emulated • TCP variations (Tahoe, Reno, NewReno, Vegas, SACK) • PCP(Probe Control Protocol) • RAP(Rate Adaptation Protocol) • TFRC(TCP-Friendly Rate Control)

  19. Which protocols can Monarch emulate? Some protocols cannot be used ECN Congestionexperienced!

  20. Which protocols can Monarch emulate? • Monarch currently emulates transport flows in the downstream direction • i.e. connections in which data flows from the Monarch host to the remote host. • Emulating data flows in the upstream direction from the remote host to the Monarch host requires a small probe packet that elicits a large response packet. • We have not yet found a probe packet that has this property.

  21. Problems • How to choose probe PDU( what types of PDU can be used)? • Which protocols can Monarch emulate? • What are sources of inaccuracy?

  22. Direction Monarch cannot distinguish whether PDU lost occurred on the downstream path or on the upstream path Upstream losses cause additional retransmissions

  23. Self-diagnosis Monarch uses IPIDs to find potential inaccuracies When a flow has completed, it is classified as: Confirmed: No upstream loss or upstream reordering Inaccurate: Upstream loss or upstream reordering Indeterminate: Not enough information to self-diagnose ID 17 ID 17 ID 18 ID 19

  24. Delayed ACKs • With delayed ACKs, TCP receiver ACK two TCP-PDUs by a single ACK PDU. • In contrast, in a Monarch flow, the receiver responds to every probe PDU, which typically doubles the number of PDUs flowing on the reverse path. • Is delayed ACKs really an important source of inaccuracy?

  25. Firewalls or NATs • When Monarch is used on a path that contains middleboxes such as NATs or firewalls, the probes may be answered by the middleboxes rather than the end host. • Is firewalls or NATs really an important source of inaccuracy?

  26. Implementation • Example • Emulating a TCP flow

  27. Emulating a TCP flow

  28. Emulating a TCP flow

  29. Self-diagnosis

  30. Conclusion-advantages • Monarchenables transport protocols to be evaluated in realistic environments • Monarch is highly accurate • the emulated flows closely resemble TCP flows in terms of throughput,loss rate, queueing delay, and several other characteristics. • Monarch enables protocols to be evaluated on an unprecedented scale, over millions of Internet paths.

  31. Conclusion-application • Evaluating different transport protocols • Inferring network path properties

  32. Paper to read http://www.cis.udel.edu/~amer/856/monarch.pdf

  33. Thank you! Questions?

More Related