The following questions cover the application and transport layers. 0. (8) Distinguish between a service and a protocol for an arbitrary layer in the TCP/IP stack we are covering this semester.
1. Protocols in the network stack may be either reliable or unreliable. In the Internet, reliability occurs at the transport layer and TCP offers reliability, UDP is unreliable. Assume a developer prefers to use UDP, however the application they are designing requires reliability. Explain how it is possible to design a reliable protocol stack, yet still use UDP at the transport layer.
2. Instagram uploads photos over HTTP. Assume someone publishes a series of 9 different photos to their Instagram feed. Explain how the photos would be uploaded using a non-persistent HTTP connection. Now explain how the same resource is downloaded using a persistent HTTP connection.
3. The web server www.yell-key.com has IP address 216.239.36.21. A client at address 108.15.99.240 connects to the yell-key site site. Assuming the client has an arbitrary port number > 1024, what is a possible socket pair comprising this connection?
4. RFCs (Request For Comment) are used for describing network protocols. Access RFC 3550 from the website http://www.rfc-editor.org/ What is the protocol specified in RFC 3550 and what is this protocol used for? What network protocol does this protocol run over - TCP or UDP? Are RTP sequence numbers used for reliability?
5. Assume host A sends four TCP segments to a receiver B. B will send an ACK to A after correct receipt of a single segment (i.e. it sends an ACK for each segment it receives.) The first and fourth segments arrive, however the second segment is dropped by a router.
How will B acknowledge receipt of the segments it has received so far?
B then receives the third segment. How will it acknowledge receipt of it?
In terms of acknowledgements, how will B ultimately handle the second (missed) segment?