CSPP-54015 Advanced Network Design

Homework 1, Due at the beginning of class, Monday, April 8th

Read material in Farrel or another network book on basic TCP/IP if the first lecture material was unfamiliar.  (This should be mostly review material from your first level network class and not difficult. If not, we should talk!)

Read the following Wikipedia entries:

        IP address spoofing
        SYN flood
        IP address
        Routing protocol
        Link-state routing protocol
        Distance-vector routing protocol
        TCP congestion avoidance algorithm  (read details on two algorithms)
        Slow-start

  Email your homework to me and the class tutor, V,  by the start of class on the 8th.

Excercises

    1)  Specify the first usable host address and the total number of usable host addresses available for the following network:

        128.135.10.0\22
        128.234.12.128\28
        128.10.0.0\15
        245.128.210.224\26

    2)  If a network has a maximum packet data size of 128 bytes, a maximum packet time-to-live of 30 seconds and an 8 bit sequence number, what is the maximum data rate per connection for this network?

    3) TCP uses a host-oriented, window-based, feedback mechanism for resource allocation. How might TCP have been designed to use

      a) Host-oriented, rate-based feedback

      b) Router-oriented and feedback based

      Explain how your system would work and an advantage and disadvantage of each.

    4) Packet fragmentation and reassembly is handled by the IP layer and that process is invisible to the TCP layer.  Given the IP layer doing this work, does TCP need to worry about packets arriving out of order?

    5) Assume that you have a new TCP with an extension to allow a window size larger than 64 KB. You have a 50 Mbps link with a latency of 100 ms to transfer a 50 MB file and the TCP receive window is 1 MB. If TCP sends 1-KB packets, assuming no congestion or lost packets,

      a) How many RTT does it take until slow start opens the send window to 1 MB?

      b) How many RTT does it take to send the file?

      c) What percentage of the link bandwidth is utilized?

    6) Calculate the time required to transmit a one GigaByte file in the following cases assuming a round trip time (RTT) of 30 ms, a packet size of 1.5 KB and an initial three 1/2 RTT of handshake to establish the connection. (B= Bytes, b=bits)

      a) Bandwidth is 100 Mbps (Ethernet MAN) and data can be sent continuously.

      b) Bandwidth is 100 Mbps and the protocol is stop & go, i.e an acknowledgment is required after each packet taking up one RTT.

      c) Bandwidth is 1 Mbps and an acknowledgment is required after every 10 packets, requiring one RTT

      d) Bandwidth is infinite and 10 packets can be sent before a one RTT acknowledgment.

    7) If reliable delivery is left to the TCP layer, why does IP have a checksum in the header?

    8) IP v 6 uses 16 byte addresses. If a block of 1 billion hosts is assigned every picosecond, how long will the pool of addresses last?

    9) Use the Unix traceroute or Windows tracert program to trace the route from you computer to the following: www.google.com, classes.cs.uchicago.edu, www.usyd.edu.au, www.berkeley.edu, www.apple.com, www.ucl.ac.uk  (No need to turn in anything for this problem.)

    10) A router can process 300 million packets/sec. The load is 100 million packets per second. If a route from source to destination contains 25 such routers, how much time does a packet spend being queued and serviced by the routers.

    11)  In class we talked about the problem of sequence numbers wrapping around.  An optical fiber link could run as fast as 75 Tbps, so given a link that fast, whas is the maximum packet lifetime required to make sure that that 64 bit sequence numbers do not wrap around.  Assume that each byte of data will need its own sequence number, like TCP does.

    12) List two application for which a connection oriented protocol would make sense and two applications for which a connection-less protocol would make the most sense and explain why.

    13)  Imagine there is a two way initial handshake rather than a 3 way handshake to setup connections.  Can deadlocks occure on this style of connection setup?  (Hint, imagine that multiple acks are lost.)

    14)  Why does UDP exits?  Why not just send raw IP packets if you don't want the enhanced reliability and other services of TCP?