CS 742 Computer Communication Networks - Homework 1 - Name:____________ DUE: Wednesday, September 18 (in class) o Please show all work on a separate sheet attached to this sheet. (40 points - 5 points for each problem) 1. Imagine that you have trained your St. Bernard, Bernie, to carry a box of 100 data CD instead of a flask of Budweiser. These CDs each contain 700 MBs. The dog can travel at a rate of 18 km/hr. For what range of distances does Bernie have a higher data rate than a 45 Mbps T-3 (Transmission Level 3) line? 2. What is the principal difference between connectionless communication and connection-oriented communication? Give two example applications for which connection-oriented service is appropriate. Also, give two example applications for connectionless service. 3. The well-known port numbers are contained in the file /etc/services on most Unix systems. Use "grep" to determine the port number and protocol used by the following servers: a. HTTP: b. SSH: c. DNS (Domain): Hint: execute $ grep tftp /etc/services to find all lines in the /etc/services file that contains the string "tftp". Why is it important for all "ftp" servers to be assigned to the same port? 4. In which layer are the following protocols located in the OSI 7-Layer Reference Model: FTP, HTTP, TCP, UDP, and IP? Find a protocol for the presentation, session, transport, and data link layer, respectively. 5. The Unix utility ping can be used to find the RTT (Round-Trip Time) to various Internet hosts. Read the man page for ping, and use it to find the RTT to www.cs.twsu.edu and www.cisco.com. Measure the RTT values at different times of day, and compare the results. What do you think accounts for the differences? 6. Please look at Example codes on the CS742 lab webpage, look in Threads, explain why in the program wait() throws an IllegalMonitor Exception? (Note: please don't write more than 20 lines in answer, try to explain it clearly.) 7. Please look at Example codes on the CS742 lab webpage, look in url.java, write down the changes required in the program if all outgoing connections to some website go through some proxy server? 8. The use of java decompiler to decode .class code back into .java file has been demonstrated in the lab, this is unsafe and of course not secure. Search for techniques to make java code safe enough to protect java source code from being decompiled ? (Hint: Look for java obfuscators in google.)