CS 779/879 Design of Network Protocols Open Book & Notes

advertisement
CS 779/879
Design of Network Protocols
Spring 2003
Midterm Exam
Time 2 & 1/2 hours
Open Book & Notes
Name:
Login:
NOTE: In order to make the programs short, you may NOT write any
include, comments or non-essential error statements, i.e., keep the programs
as short as you can.
1
Question 1: (20 points)
Write a program that test each non-privileged tcp port X in the local host and display the
message: “port X is busy” if the port is being used by another process.
Solution (Q1)
2
Question 2: (20 points)
Write a client program that test each tcp port X on any given non-local host and displays
the message: “there is a tcp server running at port X” if it can connect to port X. The host
is specified as a command-line argument and the program checks if the server is not
running at the same host as the client program.
Solution (Q2)
3
Question 3: (20 points)
A. Is it possible to redo Question 1 for udp instead of tcp?
YES
NO
Explain:
B. Is it possible to redo Question 2 for udp instead of tcp?
YES
NO
Explain:
4
Question 4: (20 points)
Write a tcp Hello-World server at port 2222 that sends the message
“Hello-world”
to only those clients running at hosts in its own domain. Two hosts are considered to be
in the same domain if they have the same network address. For the purpose of this
question, the network address is the first two bytes of the ipv4 address.
Solution (Q4)
5
Question 5: (20 points)
Write a tcp Sleep server at port 2222 that creates a process for each client. The process
sleeps N seconds and then closes the connection. N is the port number where the client is
coming from.
Solution (Q5)
6
Download