Data Communications I, Spring 2004

Exercise 3 (11.2.2004)

  1. Answer shortly the following questions. The answers are usually almost directly found from the course book.
    1. What are peer-to-peer networks (P2P )?
    2. Where and why is MIME needed?
    3. Why do so many applications use UDP even it is not reliable? What problems can the increasing use of UDP cause?
    4. What is a socket?
    5. What is meant by two-army problem?

  2. Student T. Terävä from the University of Helsinki sends email to her friend M. Smart to the University of Berkeley in California. She starts a mail program in her PC, writes a short message "Hello! How are you?" addressed to M.Smart@cs.berkeley.edu and sends it.
    1. What protocols are needed in different phases when the message is transferred from the mail program to the Helsinki university mail server and from there to the mail server of the receiver and then to the mail program of the receiver M. Smith.
    2. T.Terävä would like to include into the message a picture of herself. Why was this a problem in the original SMTP mail system? How does a multimedia message including a picture look like when it is on transfer between the mail servers?

  3. UDP and TCP use one's complement in their checksums.
    1. Calculate an 8 bit UDP checksum for the following three 8 bit words: 0101 0101, 0111 0000, 1100 1100. In the checksum calculation the sum is calculated using one's complement sum: bits are added normally , carry bits including except the last carry bit (s) that are added to the calculated sum.
                              1011
      			1101
      			====
                              1000
      			   1  (This is the last carry bit!)
                              =====
      			1001  (That is the final sum.)
      
      			0110  (Here is the one's complement of the sum
      			        = the checksum to be added.)
      
    2. How does the receiver detect that an error has occured in the transfer?
    3. Is it possible that the receiver does not detect one bit error (ie, the change of one bit from on to zero or vice verse)? What about two or more bit errors?

  4. Stop and wait protocol
    1. Why is it enough to have one bit sequence number (only using numbers 0 and 1) in stop and wait protocol? Simulate the protocol and based on that reach conglusion that no more numbers are needed to distinquish the messages sent, even when the messages sent can get lost or corrupted. Can messages that are delayed for a long time cause problems?
    2. Is it also necessary to add numbers to ACK and NAK acknowledgements? Simulate the protocol again to find out situations where unnumbered ACK or NAK can cause problems.

  5. Show that when using Go-back N the window size should not be more than k-1 when there are k sequence numbers in use for the packets.

  6. Ponder the current problems of e-mail.
    1. Is e-mail safe and trustfull enough?
    2. Is the privacy of e-mail secure enough?
    3. How to get rid of the junk mail?