TDC 375-701 Student Name: Homework 1 Due 2009-09-15 From TCP/IP Protocol Suite, 4th Edition, answer (see answers below): 1.9, Questions 4 and 8 (write the title, date and RFC number) 2.8, Question 15 4.9, Questions 4, 9 Also answer the following questions: Q. A 1-byte message, a 64-byte message and a 1500-byte message are each sent through an internetwork. For each of these messages, the following "layers" add the specified bytes to the message: Ethernet (data link) : 18 Internet Protocol (IP) : 20 Transmission Control Protocol (TCP) : 20 Calculate the percentage efficiency for each of the three resultant packets. A. Mathematically there are a couple of ways you could calculate and still be correct. Also note, I should have mentioned something about MTUs so I was lenient in the answer if depending on how you accounted for L2 MTUs (or not). Here is one way to answer it: 18 + 20 + 20 = 58 bytes of protocol overhead 1st packet: 1 + 58 = 59 bytes, 1/59 or ~1.7% data to protocol efficiency 64 + 58 = 122 bytes, 64/122 or ~52% data to protocol efficiency 1500 + 58 = 1558 bytes, 1500/1558 or ~96% data to protocol efficiency Q. Consider Section 4.9 question 9 again. In practice, fragmentation at a router and in fact even at the source host is generally considered to be an undesirable operation. Discuss why you think this is. A. Sustained fragmentation is an inefficient operation at the ends and in particular for network devices such as routers. The ends have to deal with fragmentation management, which may mean buffering, packet ordering and timer issues. For network devices such as routers, fragmentation can incur severe penalties due to decreased forwarding performace. Fragmentation is not a simple operation, since it involves create two or more new IP datagrams and all that involves (buffer management, memory operations, checksum calculations, and additional link acquisition requirements). In some cases the operation of fragmentation happens on the "slow path" of a device, which means the system is not optimized to do it, and it may use a general purpose CPU, which can be very taxing on the overall health and reliabilty of the system. --- full text of assigned homework questions --- For the benefit of all of you who don't have the book yet (tsk, tsk). Realize that in some cases you are may be missing out on what would be easy and correct answers if you had the book. Don't expect this to be provided for future homeworks, please have access to the text. 1.9 Question 4 (write the title, date and RFC number) Use the Internet to find two examples of historic RFCs. A. Many options, but a good place to look is here: Note, the "status" of the RFC must be "Historic". An "old" RFC is not necessarily Historic. Very few actually are. A couple of examples: RFC 407, Remote Job Entry Protocol, October 16, 1972 RFC 569, NETED: A Common Editor for the ARPA Network, October 15, 1973 1.9 Question 8 (write the title, date and RFC number) Use the Internet to find the RFC for the Internet Protocl (IP). A. RFC 791, Internet Protocol, September 1981 2.8 Question 15 Why do you think both the sender and receiver addresses are needed in the Internet? A. The receiver address is used to both identify the specific host (interface) that is the intended recipient and is used by the routing process to direct a datagram towards the proper network the IP address resides on. The sender address is used to form a unique "flow" or "socket" for the duration of the exchange, to be used by the recipient to correctly direct replies, used by the recipient or middle boxes (e.g. routers) to direct errors or in some cases checked against reverse path forwarding (RPF or unicast RPF/uRPF) table to minimize incorrect source address transmissions (aka spoofing). 4.9 Question 4 Assume a destination computer receives messages from several computers. How can it be sure that the fragments from one source is not mixed with the fragments from another source? A. A complete IP header will exist in each fragment. Source address, destination address, IP ID, the fragmentation offset and the more fragments bit will be all be present. The key pieces across all fragments will be that the IP headers consist of the same source address, destination address, protocol and IP ID field tuple. 4.9 Question 9 Discuss why we need fragmentation at each router. A. Note, this only applies in IPv4. In IPv6, fragmentation is not done by routers, something like path MTU discovery must be used. In IPv4 routers, a datagram may traverse interfaces with differing MTUs. If the ingress interface MTU exceeds the egress interface MTU and there is an incoming packet that will not fit into a single MTU on the egress, the router must fragment (unless the don't fragment bit is set, in which case the packet will be dropped and an ICMP returned to the sender). $Id: homework1.txt,v 1.3 2009/09/20 04:00:35 jtk Exp $