CSCI 112 Fall 2016
Exploring Computer Science
Archived Class
Charles Cusack
Computer Science
Hope College



CSCI 112
CSCI 125


Homework 14

General Comments

  • Problem from the book are taken from the Chapter Review Problems sections.
  • For full credit, provide context for each problem, show all calculations, and explain your work/answers.
  • Numbers and/or algebra by themselves are not enough.
  • You will lose a significant amount of credit if you do not show enough work/context for your answers.
  • Homework assignments must be very neatly written or typeset (e.g. using Word or OpenOffice).


Do the following exercises from pages 195-196 of your textbook (183-184 in full book) and the ones below.
1 below6This question is about network layers, so do not give an answer like 'DNS'.
2 below4
3 below12Re-read the handout and make sure you decode the packet correctly. Especially pay attention to the order of data within the packet.
434Answer both parts of the question. Be specific and clear in your answer.
456Clearly justify your choice in each case. Read the roles of each layer and think carefully about each one.

  1. Hope does not allow access to KnowHope from machines that are off campus without first entering a username and password.
    1. Which protocol layer determines whether or not a username and password will need to be entered? Explain. (Think carefully. What information is used and what layer deals with that information? This is not asking about the layer that asks for a username and password.)
    2. How can Hope's web server determine whether or not a machine requesting access to KnowHope is on campus. Give your answer in terms of IP address, subnet mask, network base address, and an appropriate computation.
  2. TCP, an implementation of the transport layer, breaks up messages into packets for transmission.
    1. Give one reason why breaking up a message into packets is a good idea.
    2. Give one complication that arises from breaking up a message into packets.
  3. Being the unsavory sort of person you are, you decide to snoop on the network. You see the following packet:
    12:ab:22:83:f8:40|aa:02:ef:23:00:12|||1175|25|2 of 4|nt to do somet
    Label machines related to this packet as follows:
    • S is the original source of the packet
    • D is the final destination
    • M1 is the intermediate node that this message just came from
    • M2 is the intermediate node that this message is just being sent to.
    Keep in mind that it is possible that these are not 4 different machines. You need to answer several questions based on the information in the packet.
    • If the information to answer a question is absolutely not contained in the packet, write impossible to determine.
    • If the information to answer a question might be contained in the packet but you cannot be certain, write uncertain, but it might be X, where X is the the possible answer(s).
    Here are the questions.
    1. What is the IP address of S?
    2. What is the IP address of D?
    3. What is the IP address of M1?
    4. What is the IP address of M2?
    5. What is the Ethernet address of S?
    6. What is the Ethernet address of D?
    7. What is the Ethernet address of M1?
    8. What is the Ethernet address of M2?
    9. What is the port number of the application on S that sent the message?
    10. What is the port number of the application on D that the message is being sent to?
    11. What kind of application sent the message?
    12. What kind of application is the message destined for?

    Note: An actual packet will not look like the one above. It will just be raw data that needs to be interpreted to look like the packet above. An actual packet represented in hexadecimal might look like:

    To simplify things for you (so you don't have to do a whole lot of converting), I have simply interpreted the packet for you already. This comment has no bearing on this problem, but I thought it was important enough to point out.