Lab 5 - Performance Measurements and SNMP Monitoring 1 Purpose Before the Lab Measure the performance (throughput) of TCP connections Measure the performance of UDP connections; observe an RTP flow Examine router statistics via SNMP Practice host and router configuration commands Read the description of iperf provided on the web site. Review the host and router configuration commands you used in the previous labs and come prepared to get these basic steps done quickly. Complete the pre-lab, and get it signed when you come to lab. Steps to Complete 1. Before you get started, copy the information for your table from the pre-lab to the network diagram. We have connected Buell and Harley with a T1 line and pointed Harley s default route to Buell via the T1. 2. All tables will share switch #1 to connect to Buell, but every table will connect to its own router port; patch your Mac OS machine into this switch, and connect from the switch to your port on Buell. Configure Mac OS and Buell and test your setup. 3. Connect your Linux machine to your assigned port on Harley using a hub, and configure Linux and Harley. On Buell, route traffic to your table via the serial interface (using the interface name Serial 1/0 as the next hop entry in the ip route command). Make sure Linux can reach the Internet. 4. All tables will use switch #2 to connect the Win2008 machine to the simulated DSL environment. Configure your Win2008 machine, disable the admin interface in the Windows machine and test connectivity (routing on Buell has been set up for you). 5. We are now ready to take some performance measurements. First some notes: Your Linux machine is connected to the Internet by T1 line (1.5Mbps). The only significant delays come from the queue that sits in the router between your Ethernet and the serial line. You are sharing the T1 with all other tables, so expect some variation in your results. Your Windows machines connects to the network through a traffic shaper which simulates DSL; it is asymmetric and exhibits the delay often associated with shared internet access services. Again, you are sharing this link with the other tables. Use ping to record the round-trip times between the Mac OS machine and (a) Linux (b) Win 2008 (c) www.yahoo.com
Lab 5 - Performance Measurements and SNMP Monitoring 2 In each case, run the ping for 30 seconds, and repeat 3 times. You only need to record the average ping times. 6. You will run iperf with a number of different options. In most cases, options need to be set on both the iperf server and the iperf client. Stop your iperf server and restart it with the correct options before each new test. Start with a simple set of iperf TCP tests. For each of the tests below, save the iperf output; note the window size displayed when you start iperf. Run each of the tests below twice, 30 seconds per test, with intermediate results displayed every 5 seconds (on the client and the server). Remember that the iperf client sends, the iperf server receives data. Send from the Mac to Linux. Send from the Mac to Windows. Send from Windows to the Mac 7. Set up a 60 second test (with 5 second interval displays) from the Mac to Linux. 20 seconds into the test, ping from the Mac to Linux. Stop the ping after 20 seconds. Compare the average ping time with the result you got earlier. 8. Run a 30 second test (with 5 second interval displays) from the Mac to Linux, this time use the -w option to request a 2 mega-byte TCP window. Note the actual window size used, which may be different from what you requested. We said in class that the window size can effect the data rate. What do you see in this case? 9. In the steps below, you will capture iperf transfers with wireshark. Make each step a different capture file. Start the wireshark capture on the Mac, make sure you are capturing before you start the iperf transfer. After you stop the capture, select one of the packets in the data transfer. Right-click the packet and select the Conversation Filter:TCP option. Wireshark creates a filter that selects just this TCP connection. When you save the packets, use the option to save all displayed (as opposed to all captured) packets. Capture a 30 second transfer from the Mac to Linux, using the default window size. Capture a 30 second transfer from the Mac to Linux, using the 2mega-byte window size. Capture a 30 second transfer from the Mac to Windows, using the default window size. 10. Open the first capture file you saved in these steps back up in Wireshark. Chose the Statistics:Summary menu item. Compare the data rate displayed with your iperf measurements. No need to save this now, since you can re-create this at home. Chose the Statistics:IO Graphs menu item. Configure the graph for 1 sec tics and bits per tick, so you get a bits/sec graph. Again, compare with you iperf results. Again, no need to save the graph now. Leave the file open in Wireshark. Go to a command window. Use the tcptrace program to analyze each of the packet captures. Use the command tcptrace -l -n <file-name>. Replace <file-name> with the file you want to analyze. In the output, compare the
Lab 5 - Performance Measurements and SNMP Monitoring 3 advertised window and the data rate with your previous results. You do need to save this data; tcptrace is freely available, but not for all operating systems. We will now create another graphical analysis. Run the command tcptrace -S -n <file-name> on the first capture file. This will create two output files, a2b tsg.xpl and b2a tsg.xpl. In the previous tcptrace output, find the definition of what tcptrace considers host a and host b. Lets assume that your data flowed from a to b ; adjust the next step if it is not. Display the data with xplot a2b tsg.xpl. In the graph, you can zoom by drawing rectangles with the left mouse button, zoom out by clicking with the left button. Exit by right-clicking. One of the instructors will help you select an interesting output region. During data collection, save all graphics files (extension.xpl) to use when writing your lab report. Go back to Wireshark, and select the Statistics:TCP Stream Graph:Time-Sequence Graph (tcptrace) option. You will get a simplified version of the same graph you were looking at with xplot. This can serve as an alternative to the graphics files when you create your lab report. 11. You should by now have a good feel for the speed of the connections you are working with. You will now examine how UDP works over the links. In each case, make sure to use -u on the server side. On the client side you use the -b option to control how fast the UDP packets are being sent. Here, we exercise the Mac to Linux connection, checking for packet loss. Run a 30 second UDP transfer from the Mac to Linux, set the data rate at you best guess of the link speed. Run a 30 second UDP transfer from the Mac to Linux, set the data rate 25% higher than the first test. Run a 30 second UDP transfer from the Mac to Linux, set the data rate 25% lower than the first test. 12. Now, we check the Mac to Windows connection, checking for packet loss and jitter. Run a 30 second UDP transfer from the Mac to Windows, set the data rate at you best guess of the link speed. Run a 30 second UDP transfer from the Windows to the Mac, set the data rate at you best guess of the link speed. 13. Finally, lets check an actual application. Both the Mac and Windows have an application called sjphone, to make VoIP calls. Start wireshark on both the Mac and Windows. Place a call from the Mac to Windows, answer the call, and capture a bit of conversation. Hang up the call, then stop wireshark. 14. We will now take a quick look at using SNMP to retrieve some statistics from the routers. Run wireshark on Mac OS to capture the SNMP traffic. Use snmpget -c public -v 2c 132.235.201.40 system.sysname.0 snmpget -c public -v 2c -On 132.235.201.40 system.sysname.0
Lab 5 - Performance Measurements and SNMP Monitoring 4 to get the system name from Buell. What is the difference in output between these two versions of the command? 15. Run wireshark on Mac OS to capture the SNMP traffic. Use snmpwalk -c public -v 2c 132.235.201.40 interfaces and make sure you pipe the output to a text file. Use show interface at the router command line to get the Cisco IOS version of the statistics for your Ethernet interface on Buell. Compare the data from SNMP and Cisco IOS; which values can you match up? 16. While still capturing packets, use snmpbulkget -c public -v 2c 132.235.201.40 interfaces snmpbulkwalk -c public -v 2c 132.235.201.40 interfaces
Lab 5 - Performance Measurements and SNMP Monitoring 5 Lab Report Guidelines Each report is to be written individually, although the data for the lab can be collected during the lab with your partner/group. They should be typed/word processed and brought to class in printed form. Lab writeups are due in class on the Monday following the lab. They don t generally need to be more than a few (several) pages. Officially, they need to be long enough to answer the questions. See the web page for detailed guidelines. Each lab writeup must have a header on the first page that includes: Your name The lab section that you attended Your affiliation (CS ugrad, CS grad, ITS ugrad, MCTP grad) Your lab partner s name Your lab partner s affiliation Things you must include The patch panel worksheet The signed pre-lab. Your report must answer these questions: 1. Show the roundtrip time recorded in step 5 (average the average ping times). 2. Show the results of the iperf tests in step 6; use the data to estimate the data rate of the three connections (Mac to Linux, both directions of Mac to Windows). 3. Show the ping time you recorded in step 7 (no need for iperf data). Compute the increase in ping times over what you measured in step 5. 4. Show the result of the 2 MB window test. Point out any differences to the earlier results. 5. From step 10, show the Wireshark summaries, IO Graphs, and tcptrace outputs. Compare the data rate shown in these three analyses with the iperf results. 6. For the Mac to Linux default window capture, use jplot to display the time sequence graph and zoom it to show a place in the transfer where data was retransmitted. Export a png image of this zoomed graph and include it in your lab report. (As a fall-back, use the Wireshark time sequence graph. Use a screen capture of the zoomed graph in this case.) 7. In the graph you created above, you can scroll to on of the (eventually) lost TCP packets by clicking near it on the graph. Find one TCP packet that is later retransmitted, and answer the questions below: (a) Show the packet summary for the packet you identified. (b) Find the first acknowledgement following the gap in data flow; which data packet does it acknowledge?
Lab 5 - Performance Measurements and SNMP Monitoring 6 (c) Locate the place in the packet capture when the missing data is re-sent, and indicate when that happened relative to the time when the loss occured. (d) Locate the packet that acknowledges the retransmitted data. 8. For every UDP iperf test you conducted, show the packet loss rate and the jitter as reported by iperf. 9. Load the VoIP (RTP) traffic capture into wireshark. Use the Telephony:RTP Stream Analysis option to get an overview of the flow. Note that there are two tabs, one for each direction of the conversation. For each direction, show the duration of the conversation, the mean jitter, and the packet loss rate. 10. Compare the SNMP data for your Buell interface with the data from the show interface command; that means find several pieces of information that is displayed in both sets of data. 11. Show the packets that made up the request and response for one of the snmpget commands. 12. Show the packet (summary lines only) for the snmpwalk command and explain how the command knew when to stop issuing requests. 13. Compare, using the packet summaries, the snmpwalk and snmpbulkwalk commands. Explain why snmpbulkwalk may be a better choice. 14. Graduate Student Question: Earlier, you computed the increase in round-trip times during an iperf transfer. Lets assume that the increase in delay is due to queuing when the link becomes loaded. Use the increase in round-trip time and the measured data rate of the link to estimate the average number of bytes of data in the queue. (Hint: these are the bytes that are ahead of your ping packets in the queue, and need to be transmitted before your ping packet can get out).
Lab 5 - Performance Measurements and SNMP Monitoring 7 Pre-Lab Fill in the required information below. Table 1 Table 2 Table 3 Table 4 Harley Ethernet 0/0 Ethernet 0/1 Ethernet 0/2 Ethernet 0/3 Linux Network 132.235.201.128/28 132.235.201.144/28 132.235.201.160/28 132.235.201.176/28 Linux Netmask Linux IP Linux Router IP Buell Ethernet 0/0 Ethernet 0/1 Ethernet 0/2 Ethernet 0/3 Mac OS Network 132.235.201.192/30 132.235.201.196/30 132.235.201.200/30 132.235.201.204/30 Mac OS Netmask Mac OS IP MAC OS Router IP Windows IP 132.235.201.225/27 132.235.201.226/27 132.235.201.227/27 132.235.201.228/27 Windows Netmask Windows Router IP 132.235.201.254/27 132.235.201.254/27 132.235.201.254/27 132.235.201.254/27
Lab 5 - Performance Measurements and SNMP Monitoring 8 Compute the maximum throughput possible with a TCP window size of 32,000 bytes and an RTT of 100msec. Write the iperf command line to start an iperf server using TCP with a window size of 20,000 bytes, running for 30 sec. Write the iperf command line to start an iperf client which will run a UDP test for 60 seconds, reporting every 5 seconds, sending at 100kbps.
Lab 5 - Performance Measurements and SNMP Monitoring 9 Note: Use the spaces provided to fill in addresses from the prelab. Mark the router interfaces you are using Serial 1/0 Campus, Internet Eth 0/0, 0/1, 0/2, 0/3 T1 (1.544Mbps) Buell 132.235.201.40 via Eth 0/5 Shared Switch #1 Serial 1/0 Mac OS Mac OS IP: Eth 0/0 Eth 0/1 Eth 0/2 Eth 0/3 DSL Simulation Router IP: Harley 132.235.201.50 Netmask: Shared Switch #2 Linux Linux IP: Router IP: Netmask: Win2008 Win2008 IP: Router IP: 132.235.201.254 Netmask: