CNT5106C Computer Networks, Summer 2010 Instructor: Prof. Ahmed Helmy Homework #1 On the Internet Architecture, Elementary Queuing Theory and Application Layer I. Internet and layered protocol architecture: Q1. (5 points) In the layered protocol architecture the transport layer functionality includes congestion control and error recovery (e.g., retransmission). One suggested that this functionality should be done strictly at the end points (i.e., at the hosts) without aid from the network. Do you agree? Why? Elaborate showing the design trade-offs. Answer: (5 points) In general, error recovery (e.g., re-transmission) is specific to application needs. Some applications require 100% packet recovery, even with delays and jitters (such as TCP-based applications, http, ftp and telnet traffic). Other applications may be tolerant to loss but less tolerant to delays and jitter, such as voice applications. Re-transmissions and packet recovery add to the jitters and the delays and hence may not be desirable for realtime or voice applications. Hence it is not a good idea, in general, to include error recovery at the network layer (that is not aware of application needs) and it is better to implement such functionality at the transport layer end-to-end. In cases of lossy channels in the network (such as X.25 in the early networking days, or wireless links) it may be desirable to reduce the bit error rates on those links by including error recovery at the end points of those links. [In general, most links nowadays have very low BER, and for wireless links the MAC (such as IEEE 802.11) layer provides Ack’ed delivery]. For congestion control, a similar argument may be given. That is, congestion reaction may be application specific and is better implemented end-to-end. Congestion notification, on the other hand, may provide useful information to the end points to react appropriately. Since losses in the network may be due to congestion or other factors, a signal from the network…