Solution

Networks

Problems to be Submitted (20 points)

  1. (6 points) As requested, these answers are the theoretical maximums; the actual numbers differ for other technical reasons.
    1. 16777216 hosts, as 24 bits are used to describe the hostnumber (thus 224 possibilities)
    2. 256 networks, as the network number is defined by the initial 8 bits (thus 28 possibilities)
    3. 65536 hosts, as 16 bits are used to describe the hostnumber (thus 216 possibilities)
    4. 65536 networks, as the network number is defined by the initial 16 bits (thus 216 possibilities)
    5. 256 hosts, as 8 bits are used to describe the hostnumber (thus 28 possibilities)
    6. 16777216 networks, as the network number is defined by the initial 24 bits (thus 224 possibilities)

  2. (4 points)

    Both TCP and UDP are similar in purpose as they manage the end-to-end transmisison from sender to receiver of individual packets that comprise a larger piece of data. The tradeoff between the two is reliability versus efficiency. TCP is designed for greater reliability. It is the protocol that involves sending an initial message to the receiver to announce the coming transmission, and acknowledgments sent from the reeiver to the sender upon receipt of each individual packet. These acknowledgments (or the lack thereof) allow the sender to automatically resend potentially lost or damaged packets.

    In contrast, UDP is a streamlined protocol that emphasizes efficiency. Packets are simply transmitted by the sender, without any care to track the successful deliver of those packets. If packets are missing, the receiver must either cope without them or use other means to explicitly request that the sender retransmit data.

    Typically, a message is only useful to the receiver if all packets are accounted for, and so TCP is most often used for Internet traffic. UDP is particularly appealing for applications like streaming audio/video where bandwidth is important and where "lost" packets can be ignored.

  3. (5 points)

    1. Email
      definately TCP, as all packets are signficant and reliability is important.

    2. A query to a Web Server
      typically TCP, but a reasonable argument could be made for the use of UDP. Requests are generally small messages and if those packets are lost/damaged on the way to the server, we might rely upon the user to explictly resend the query (as is often done when delays occur while browsing the web).

      Note that UDP is the standard used for queries sent to a Domain Name Server.

    3. A radio broadcast
      A classic use for UDP.

    4. Purchasing a song from the iTunes store
      TCP. In this case, the user would like to get the entire song file in its entirety, and so reliablity is most important. Bandwidth is signficant, but the purchased song is not being listened to in realtime.

    5. Sending a "Text Message" to a phone
      Depends upon software, but typically TCP. Still, since text messages are presumed to be small and thus fitting perhaps in a single Internet packet, a good case could be made for the use of UDP. However the efficiency for transmitting text messages is not a significant bottleneck and the use of TCP provides acknowledgment reliability that a message has been delivered.

  4. (5 points)

    answers will vary.


Last modified: Friday, 09 May 2008