Midterm Review Here are some specific questions that I am pondering as I get ready to write the midterm exam. I will be happy to discuss potential solutions via email. Do not send me mail saying "Hey, what's the answer to number 7?" Instead, send me your proposed solution. 1) What are the three things we must agree on to make a protocol? 2) Explain packet switching vs circuit switching and the tradeoffs. 3) What is the difference between transmission delay and propagation delay? What are the sources of each? 4) What are the 5 protocol layers we discussed? Give the service provided by each and one example of a specific protocol that operates at that layer. What are the other 2 layers? (for a total of 7) 5) Explain protocol layer multiplexing. Describe how we support multiplexing at each layer (e.g. addressing, protocol numbers, port numbers) 6) Two types of addressing: datalink (MAC) and network addresses. What is the difference? Why do we need both? 7) When programming TCP and UDP with sockets, what distinguishes the client from the server? 8) Give the SMTP protocol exchange. What are the limitations of SMTP for transferring various file formats? How do we overcome these limitations in order to email video files to our friends? (e.g MIME) 9) What is the difference in function and implementation of SMTP vs POP? 10) Compare the HTTP design to that of SMTP for dealing with various file formats. 11) What are persistent connections? What is connection pipelining? Why do we have them? 12) What are the protocols of VoIP? What are they for? What are the challenges? 13) Define and clearly describe the function of: repeater, hub, bridge, switch, router, application gateway, firewall. 14) Consider an HTTP request: show the TCP message exchange required to carry out a single HTTP request. 15) Explain the process of a DNS lookup for a host in a remote domain. How do reverse DNS lookups (IP address to name) work? 16) I want to transfer a file from my house to my computer at work. Describe how it works! List all of the protocols involved. You'll want to organize this answer by protocol layer, protocol service, where the protocol is implemented, etc.