Project Guidelines: The projects are intentionally open-ended. It is up to you to decide on how much you want to do and what you want to do. I am giving some concrete examples below. You can choose outside this list as long as they are sufficient complexity as the projects listed below. See project guidelines in how projects will be graded. Feel free to come and talk to me if you have any questions about the project. The sooner you start, the more likely you will do a better job. There is no need to turn in Abstracts -- Abstracts are normally meant to coax you to start thinking about the project early. -------------------------------------------------------------------- (1) Study the impact of small number of buffers on various flavors of TCP, including TCP-SACK and TCP-Vegas (at the least). It has been recently suggested that buffer sizes of delay*BW/sqrt(n) are sufficient instead of the older rule of delay*BW. Do small buffers work? Study this issue with both droptail and RED routers. (ns-2 simulations, measurement) (2) Build a verilog/vhdl based device/chip to do aggregate traffic analysis. Look at http://www.ece.tamu.edu/~reddy/papers/infocom_05.pdf for an example traffic analysis scheme. (Implementation, hardware, programming, security) (3) Many high speed protocols PERT, HTCP, CUBIC etc. have been proposed recently. Evaluate the relative performance of these protocols in various settings. (ns-2 simulations, measurement) (Take a look at http://qosip.tmit.bme.hu/~sonkoly/Tcp/files/Technical_Report.pdf for ideas about simulations) (4) Network coding has been proposed to improve wireless throughput. Look at http://sigcomm06.stanford.edu/discussion-beta/showpaper.php?paper_id=24&PHPSESSID=d7b08b538c5a748a41015028ff3b0e8b "XORs in the air: practical wireless network coding" by Katti et al. It is also long recognized that TCP flows crossing multiple hops have an inherenet disadvantage compared to TCP flows corssing fewer hops in a multihop wireless network. Can we use network coding to improve fairness of long-hop TCP flows? (Research, ns-2 simulations, analysis, transport protocols). (5) Write an application to measure the amount of available bandwidth from your machine to any machine on the network. This application should measure: (1) link capacities, delays etc. and (2) available bandwidth when other flows are in the network (i.e., how much of the link data rate is unused). Study the existing tools such as pathchar, pathrate, pathload, traceroute and build your own. Explain your design decisions, run measurement experiments, study the impact of your decisions on the performance of the tool. (application level, coding, measurement) (6) Implement TCP-NCR (rfc 4653) in the Linux kernel. Measure its effectiveness. (Implementation, kernel level programming, coding, research) (7) Write a program using raw sockets for injecting hand crafted packets on the Internet. At the least it should allow the user to modify the IP TOS fields (e.g. for QOS testing), the IP checksum field (e.g. to simulate corrupted packets), ip src/dst (e.g. testing security applications), create arp request/response packets etc. Use this program to see if routers give preference to a particular type of packets. (Look up the paper "End-to-end inference of router packet forwarding priority" at Infocom 2007). (Implementation, coding, testing, measurements) (8) This project needs access to a laptop. Use the laptop to connect to the internet wirelessly. Download several files of different sizes. Use combination of existing tools (or write your own) to capture packet headers and identify losses. Among the losses, find the percentage due to congestion on the network, percentage due to packet corruption on the wireless medium, percentage due to medium contention, timeouts, packet reordering etc. You will need headers from atleast 500,000+ packets obtained at different times of day for meaningful statistical results. Explain clearly how/when data was gathered, tools used, classification methodology etc. How do these different types of losses impact the performance of TCP ? (Measurement, analysis, wireless networks, transport protocols) (9) Write a traceroute like tool (dig up Paris traceroute) that allows to see if routers are using multipath routing along a path from a source to destination. (Implementation, coding, measurements) (10) PERT is proposed as a way for end hosts to emulate AQM mechanisms proposed for routers. PERT/RED is shown to be able to emulate RED well. Conduct ns-2 experiments to see if PERT/PI can emulate PI controller. (look up http://www.ece.tamu.edu/~reddy/papers/sigcomm07.pdf ) (ns-2 simulations, research, measurements)