[Lab] UDP

TCPDUMP

  1. Read the manpage of tcpdump, which is a powerful packet-capturing utility on Unix.
  2. Try to capture DNS queries/responses at port 53.
  3. You may use the utility "host", "nslookup", "dig" to query DNS servers. If these commands are not available on your CentOS, you may install them by "yum install bind-utils".
  4. Inspect whether DNS queries/responses are transported by TCP or UDP.

SNMP

  1. Run "snmpget" or "snmpwalk", and try to capture SNMP requests/responses at port 161.
  2. Suppose you want to query the object "sysLocation.0". Although both "snmpget" and "snmpwalk" show exactly the same results, tcpdump shows that the numbers of SNMP requests/responses are different.
  3. Inpsect whether SNMP requests/responses are transported by TCP or UDP.
  4. Discuss with your neighbors why DNS and SNMP are transported by this protocol? Shouldn't it be reliable?

Traceroute

  1. If your CentOS has no "traceroute" yet, run "yum install traceroute".
  2. Run "traceroute" on both CentOS or Windows. Capture their packets.
  3. Inspect the "Protocol" field in their IP headers. Do you see any difference?
  4. Discuss with your neighbors why somebody would want to run "traceroute" over UDP, while others run "traceroute" over ICMP?
  5. What is the UDP destination port of the "traceroute" service?
  6. Check the IANA port numbers list and see whether this port number is defined or not.

Checksum

  1. Choose one of the UDP packet which you captured. Find out its "Checksum" field, and illustrate how to calculate that value from other fields.
  2. Submit the packet and the formula to Moodle.

iperf

  1. Install a performance measurement "iperf" by "yum install iperf".
  2. Run "iperf -s" on the server side.
  3. Run "iperf -c SERVER_ADDR" on the client side, and observe the bandwidth.
  4. The above test measures the TCP performance. To measure UDP performance, run "iperf -u -s" on the server side, and "iperf -u -c SERVER_ADDR" on the client side. What is the bandwidth?
  5. Which option you should add to achieve higher bandwidth?
  6. Recorder the highest bandwidth you can achieve and compare with your classmates.

YouTube

  1. What is the transport protocol of YouTube streams? (Capture Filter: ip6 net 2404:6800::/32)
  2. What is the transport protocol of IPTV in BUPT? (Capture Filter: ip6 net 2001:da8::/32)
  3. What is the status of QUIC (Quick UDP Internet Connections)? Is it a standard or still a draft?
  4. Find more on-line streaming services and inspect whether they are transported by TCP or UDP. Please supply both the URLs and capture filters.
  5. Read some articles and discuss with your classmates whether you like to transport video streams by TCP or UDP?