Exam in Computer Networks

Document Sample
scope of work template
							                        Exam in Computer Networks

                Date               2003-10-20
                Course code        1DT131 / 1DT633
                Exam time          3/5 hours
                Problems           6/10, Total 60/100 points
                Teacher            Lars-˚ke Larzon, phone 018-4712781
                                        A
                Aid                English dictionary




              You must answer the questions instructively. Only one problem/sheet.
If details needed to solve a problem have been left out, make reasonable assumptions and present
                                      them in your solution.
                              You may answer in English or Swedish.


                       Please read the instructions below carefully.


                If you have not participated in the continuous examination,
                or if you have participated but failed, the following applies:
        Your exam time is 5 hours and you can do all problems in the exam.


                 If you have participated in, and passed, the continuous
         examination throughout this instance of the course, the following applies:
Your exam time is 3 hours and you can only hand in solutions to the problems 5-10.




                          This is a sample exam.
         Solutions will be presented on the October 20:th lecture




                                                                               Good luck!
If you already have a ’G’ grade from the continuous examination, skip to problem 5


1. Basics
  a) Draw a picture of the Internet protocol stack. Name the different layers and also name the
     data units that are passed between the layers.                                       (5p)
  b) Which is the fundamental service that IP provides to upper layers?                     (3p)
  c)   Which is the fundamental assumption that IP makes about lower layers?                (2p)


2. Transport protocols
  a) What is the relation (if any) between advertised window, congestion window and sending
     window in TCP Reno?                                                               (3p)
  b) The one-way propagation delay along a path between two end-nodes is 100 ms. The one-way
     processing delays in routers, switches, etc is 50 ms in total along the same path. Assuming
     there is no other traffic along the path, how large must the sending window be for a sliding
     window protocol to be able to use all the available network capacity? The bottleneck link
     has a capacity of 100 Mbit/s.                                                          (3p)
  c)   Why do web-transfers usually stall for a few seconds just after they start?          (2p)
  d) A TCP or UDP receiver receives not only the TCP/UDP headers, but also a pseudo header
     consisting of fields from the IP header. Why is this pseudo header passed on to the receiving
     transport layer?                                                                        (2p)


3. Security
  a) Nonce values are used to circumvent a specific type of attack. Name and describe this type
     of attack, and explain how the use of nonce values circumvents it.                   (4p)
  b) Explain the difference between symmetric and asymmetric encryption.                     (2p)
  c)   Present two usage scenarios for cryptographic hash functions                         (2p)
  d) Describe how Public Key-encryption can be used for encryption and authentication respec-
     tively.                                                                             (2p)
4. IP & Routing
 a) Why is there a shortage of IP version 4 addresses although the total address space contains
    many unused addresses?                                                                 (2p)
 b) How does distance-vector routing algorithms differ from link-state routing algorithms in terms
    of how often, and to whom, routing updates are transmitted from a node?                   (2p)
 c)   A student who recently finished a course in computer networks is asked to set up two routers -
      R1 and R2 - in the domain illustrated in figure 1. Numbers in the figure identify the different
      interfaces on each router. The student has the class B network 10.42.0.0/24 to her disposal.
      Give an example of how this addresses can be distributed in the domain by presenting the
      network identifiers for each of the four network plus the forwarding tables for each of the two
      routers. The amount of nodes in each domain are:                                          (6p)

                                         Network        Nodes
                                         agora          750
                                         beliz          165
                                         crust          97
                                         dijon          836




                     agora          1
                                         R1 2


                                                beliz



                                                                2       dijon
                                                          1         3
                                        crust                 R2




                                   Figure 1: Routing domain
5. Applications
Large numbers of nodes attach to a content-distribution network and build a connectivity graph
among themselves by randomly choosing 10 adjacent nodes which they connect to. Queries are prop-
agated using restricted flooding: Each node forward a query to all of its neighbors in the connectivity
graph. Received queries from peers are forwarded to all other neighbors unless a TTL counter in the
query has expired. To limit large-scale flooding effects, the initial value of the TTL field can not be
larger than 7. Moreover, queries that have already been forwarded but returns to you with a lesser
TTL value are automatically dropped.

   a) What is the maximum amount of other nodes that a query that originates from your node
      can reach?                                                                       (2p)
   b) What are the benefits of choosing the peer nodes randomly?                                  (2p)
   c)   What are the problems with choosing the peer nodes randomly?                             (2p)
   d) Suggest how to deal with the problem of choosing peer nodes randomly. If your suggestion
      was implemented, what new weaknesses would there be?                                (4p)


6. Ethernet
   a) An Ethernet adapter can be put into promiscuous mode. What does this mean?                 (2p)
   b) Why is there a maximum allowed length for Ethernet segments?                               (3p)
   c)   How are Ethernet addresses assigned?                                                     (2p)
   d) Ethernet is said to be a CSMA/CD protocol. What does this mean?                            (3p)


7. DNS
   a) A student in the UNIX lab decides to surf to the existing web server www.datorkomtenta.nu.
      No information about this domain or host is present in any DNS cache. Describe in a step-
      by-step manner how a recursive DNS lookup on the server’s name will be executed within
      the DNS systems. Clearly show what queries that are sent, who are sending them, to which
      server they are sent and the type of and information included in the query responses. (4p)
   b) What is the advantage of using recursive rather than iterative DNS queries?                (2p)
   c)   Give a collection of DNS tuples (including Name, Value and Type, ignoring Class and TTL
        fields) for a domain in which there are five machines: adam, bertil, cesar, david, and erik. The
        machines have IP addresses 10.11.12.2 to 10.11.12.6. The name of the domain is tenta.uu.se.
          • adam has an alias mailhost.tenta.uu.se and is the mail server in the domain.
          • bertil is a web server and has an alias www.tenta.uu.se.
          • bertil is also the ftp server and has an alias ftp.tenta.uu.se.
                                                                                                 (4p)
8. Miscellaneous
  a) The message 1101100100111011 is protected with a CRC using the polynom X 7 + X 5 + X 4 +
     X 2 + 1 as generator. The calculated CRC is attached immediately after the message and
     thereafter sent over a wireless link. It turns out, that in the 24 bits sent (message+CRC),
     the last bit (i.e., the least significant bit in the CRC) is inverted when delivered. The receiver
     will of course detect this when it does its verification of the CRC checksum. What will the
     calculated remainder at the receiver side be?                                               (3p)
  b) When talking about firewalls, what is a DMZ and why does it exist?                           (2p)
  c)   Routers and Bridges perform similar tasks. Explain when it is better to use either of them
       when building a network.                                                               (3p)
  d) Briefly illustrate how a DDoS attack can be carried out                                      (2p)


9. Short answers
The statements below describe a property of different protocols, terms or mechanisms in the Internet
architecture. Identify the corresponding protocols/terms/mechanisms by simply giving their name.
Same protocol/term/mechanism can occur multiple times.

  a) Using extra bits to distinguish actual data from special tokens used to delimit frames.
  b) Translates from link layer to IP addresses.
  c)   Avoidance of sending data to a full receiver buffer.
  d) Used for IP-related error reports and queries.
  e)   Adds process multiplexing to IP.
  f)   Retransmission of TCP segments before a timeout has occurred.
  g) Used by FTP to ensure reliable data transmission.
  h) Delivery of IP datagrams to multiple receivers (not necessarily in the same LAN).
  i)   Used together with IP addresses on a per-interface basis to determine whether a packet must
       be routed or not.
  j)   Link layer protocol used on top of modem connections.

                                                                                                (10p)
10. Network programming
 a) When filling in some of the data structures used in network programming, you occasionally
    use the functions htonl() and htons(). What does these functions do and why are they
    needed at all?                                                                      (3p)
 b) You write, compile and run a program listening on UDP port 8000 for incoming data. On
    the same machine there already runs a HTTP proxy also listening on port 8000. What will
    happen - can the two programs coexist or not? Motivate your answer.               (3p)
 c)   The TCP state diagram is shown in figure 2. Describe the relationship (if any) between the
      following system calls and the state diagram, i.e., what transitions in the state diagram (if
      any) that correspond to each system call.
        • bind
        • listen
        • connect
        • accept
                                                                                              (4p)




                           Figure 2: TCP State Transition Diagram

						
Related docs
Other docs by pharmphresh24