CS 779/979- Networking Protocols (Spring 2000)

Midterm Exam, Time 2 1/2 Hours, Open Book


Print your NAME:


Q1: (20 Points)

  1. What happens when you execute the following command:

% telnet 128.82.7.27 13

under the following conditions:

  1. the host with the specified IP address is up and implements the requested service.
  2.  

     

     

     

     

     

     

  3. the host with the specified IP address is down
  4.  

     

     

     

     

     

  5. the host with the specified IP address is up but does not implement the requested service.

 

 

 

  1. Suppose you have a telnet window on host zaxxon.cs.odu.du. How do you discover:
  1. Whether or not zaxxon is multihomed.
  2.  

     

     

     

     

     

     

  3. The IP address of the default router for zaxxon
  4.  

     

     

     

     

     

     

     

     

  5. The TCP connections between zaxxon and an X server running on host pitfall.cs.odu.edu

 

 

 

Q2: (40 Points)

Write a program that performs a "denial-of-service" attack on a given UNIX machine in our CS department, e.g., ren. The program will try to occupy every available free udp and tcp port on the machine. Subsequently, other users will not be able to run any networking related application because there will be no free ports to use.

 

Q3: (40 Points)

Figure 1 shows two multicast domains. The hosts inside each domain are able to exchange multicast messages among each other . To enable multicast messages to flow between the two domains, an application-level tunnel is established between the two domains. At the end of each tunnel, there is a tunneling process T. T receives each multicast message sent by any chat process C (similar to the "go" program give in the class) in its domain and sends it as a unicast message to the tunneling process at the other end of the tunnel. A unicast message received by T from the tunnel is sent as a multicast message in its own domain. The two tunneling processes are connected with TCP .

Write the code for T. The syntax of using T is:

% T [IPaddress]

If T is used with one argument, it behaves as a TCP client, otherwise it behaves like a TCP server. For example: if the server runs at 128.82.4.67 the client runs as follows:

% T 128.82.4.67

Make the following assumptions when writing the code for T:

225.0.0.22 and the udp port number is 30022.