Dated:  September 10, 2002
----------------------------------

1. Mr. Raja Dutta (research scholar) and Sqr. Leader Manoj Kumar (II yr. M Tech) are assisting in Networks Laboratory.

2. The deadline for (email) submissions of the first assignment on network socket programming is next wednesday 9 am, Aug 14. Only those emails which reach us (me and Mr. Raja Dutta) before 9 am will be recorded. Rest will suffer credit erosion. There must be exactly one tgz file attached in your email. Subject matter in email must have the format--- full name, roll number and problem number. The contents to be put inside the tgz attachment are given below.

3. The first assignment will be evaluated off-line based on email submissions as above and considered for demo next Friday, Aug 16 at 1:30 pm for only those whose submissions have a valid report in a .txt file. The report.txt file (in addition to README, Makefile, Manual.txt) must describe the problem, the solution, the design decisions and techniques used in implementation. It must also summarise the successful results and limitations. The report.txt contents will be evaluated first off-line, before a demo is possible. If this report.txt is not done properly, it will have to be resubmitted. The demo will however be based only on the src code and Makefile sent initially by next wednesday.

4. The deadline for the second problem is wednesday, August 28. You will use your account on the new servers for connectivity using Java servers. Your sql accounts have been given. The demos can start on August 30, 1:30 pm.

5. The simulation experiments will be done using a class library cppsim in gcc on the new IBM linux servers running Mandrake 8.1. The library is already set; if you face any problems, contact Mr. Raja Dutta or Sqr. Leader Manoj Kumar.  The software is available now with you.

6. The tgz submission file attachment must have src code, manual as Manual.txt, Makefile, README file and report.txt (most important). The OOSE design, class diagrams, uses cases (in text) and interaction diagrams must be put for later experiments done using gcc. WORD or xfig may be used for diagrams.

7. For assignments 1 and 2, the report carries 20% of the total cerdit. For the remaining assignments, reports carry upto 30% credit.

----------------------------------------------------------------------------

Assignments for Networks Laboratory.

Assignment #1: Socket Programming for ITERATIVE and CONCURRENT servers.

Write an iterative server using BERKELEY Sockets to read a file from the local directory of a client. After getting the file successfully, the server should perform operations such as counting the number of characters, words and sentences.

Repeat the same exercise for a concurrent server.

Assignment #2: Database connectivity of a Server Using Java

Clients (Java or otherwise), must be able to connect to a server program written in Java; the server must be able to connect to a suitable database. You must create a students' database with particulars about students. The key will be the roll number. It must be possible to obtain all data about a student using his roll number.

Assignment #3: Study of ALOHA

1. Test the effect of variation of the average back-off time for retransmission in (a) pure and (b) slotted ALOHA.

2. Consider a small slotted ALOHA system having only k customers, each of whom has a probability 1/k of transmitting during any slot (original + retransmission combined). Study the channel throughput as a function of k (k = 2,3,4,5,...K = infinity).

Assignment #4: Ethernet Protocol implementation

Set an Ethernet card to promiscuous mode and reset it back to normal mode on a PC running Linux and connected to a hub. You must display MAC addresses of different machines communicating through the hub. [ Reference: Prof. Sujoy Ghosh ]

Assignment #5: Network Configuration

Assume a network topology (given as an adjacency matrix representation of a graph). For each node, maintain an adaptive routing table. Create link failures. Display the routing table before and after the change in link(s) made for any arbitrary node in the network.

Assignment #6: Study of SLIDING WINDOW PROTOCOLS

Consider the transmission of packets between two nodes, X and Y. Both nodes maintain their own buffers of some finite sizes for sending and receiving packets at their ends. Flow control is to be maintained using sliding window protocols:

1. One Bit Sliding Window

2. Go Back n

3. Selective Repeat

4. Stop and Wait

Analyze the channel utilization for the following cases:

Large window with error-free channel

Small window with error-free channel

Small window with erroneous channel

Large window with erroneous channel

Assignment #7: Implementation of Distributed Algorithms

Assume the network configuration as implemented in Assignment #5. Implement distributed algorithms for the following two problems for a distributed system:

1. Minimum Spanning Tree Computation.

2. Leader Election.

[ Reference: Distributed Algorithms by Nancy Lynch.]

--------------------------------------------------------------------------