Homework
#1 (Chapter 1)
- R11, R12, R13, R15, R23, R25, P16, P18
- WireShark lab
- Available from on-line textbook resources or from
"Files" section of course group.
- Getting Started: 1-4
|
Homework
#2 (Chapter 2)
- R19, R27, P1, P6, P7, P8, P15
- WireShark labs
- DNS: 1-10, 16-19
- HTTP: 1-11, 16-17
|
Homework
#3 (Chapter 3)
- R3, R4, R7, R8, R9, R10, R15, P14, P20, P26
- WireShark lab
- Source code grok:
- Copy of Linux source tree: zip (33MB)
- A) Within the Linux source tree, find and list the
function
that implements Karn's and Jacobson's RTT estimator algorithm.
- B) Within the Linux source tree, find and list the
function
that transitions a TCP socket into the listen state.
|
Homework
#4 (Chapter 4)
- R3, R15, R21, P14, P22, P27, P28
- WireShark labs
- DHCP: 1, 4, 5, 7-8, 12-13
- ICMP: 1-4
- IP: 1-9
- Source code grok:
- A) Within the Linux source tree, find where ICMP TTL
messages are generated.
- B) Within the Linux source tree, find where IP
fragmentation is implemented
|
Homework
#5 (Chapter 5)
- R3, R7, R9, R13, P5, P20, P21
- WireShark lab
- Source code grok (Extra credit worth 10% of Homework #5):
- A) Using Google or the Linux man pages, find out where
in
/proc the arp cache timeout value can be found
- B) What is the default linux timeout for arp cache
entries?
- C) Within the Linux source tree, find and list the
struct
where this timeout is defined
- D) Within the Linux source tree, find and list the
function
that implements the timeout
|
Programming project: A networked game
You are to
implement a multiplayer game, specify a network protocol for supporting
the game on-line, and implement the protocol faithfully in a
programming language of your choice.
Rules
and requirements
- The game and protocol should
support text messaging amongst its participants.
- The protocol should be concise, sending only data that is
necessary.
- An RFC-style protocol specification should be provided that
describes the protocol. That is, the format of the messages that
the client and server will exchange in order to properly implement the
game.
- An electronic copy of your commented source code should be
provided to the instructor
- To discourage plagiarism, a demo and code walkthrough will
be given to the instructor. You will be asked specific questions
about the code that you are expected to be able to answer.
Due dates
- Source code and protocol specification tarball
- Due by 11:59pm on 3/19/2008
- Follow submission instructions here
- Project demo and
code walkthrough
- IMPORTANT: You should set up and have your demo working *before* your time slot.
- E-mail me 3 available timeslots you can make
- Demo time slots 3/13 : FAB 120-17
- 5:00pm- 5:20pm: Lucas Suggs
- Demo time slots 3/19 : FAB 86-01
- 3:20pm- 3:40pm: Eric Day
- 3:40pm- 4:00pm: Ramya Chandrasekar
- 4:00pm- 4:20pm: Weiye Zhou
- Demo time slots 3/20 : FAB 86-01
- 1:20pm- 1:40pm: Emma Kuo
- 1:40pm- 2:00pm
- 2:00pm- 2:20pm
- 2:20pm- 2:40pm
- 2:40pm- 3:00pm: Jaredine Koh
- 3:00pm- 3:20pm: Timothy Welbourn
- 3:20pm- 3:40pm: James Steele
- 3:40pm- 4:00pm: Steven Bokma
- 4:00pm- 4:20pm: Michael Laskowski
- 4:20pm- 4:40pm: Amit Hulme
- 4:40pm- 5:00pm:
- 5:00pm- 5:20pm:
- 5:20pm- 5:40pm: Lorraine Stauf
- 5:40pm- 6:00pm: Sutheera Hengcharoen
- Demo time slots 3/21 : FAB 86-01
- 1:00pm- 1:20pm: Alexandr Ruban
- 1:20pm- 1:40pm: Artur Perez
- 1:40pm- 2:00pm
- 2:00pm- 2:20pm: Paul Burrows
- 2:20pm- 2:40pm
- 2:40pm- 3:00pm
- 3:00pm- 3:20pm
- 3:20pm- 3:40pm
- 3:40pm- 4:00pm
- 4:00pm- 4:20pm
- 4:20pm- 4:40pm: Patrick McCormick
- 4:40pm- 5:00pm: Akkshayaa Venkatram
- 5:00pm- 5:20pm: Gurkan Erenoglu
- 5:20pm- 5:40pm: Eliseo Hernandez
- 5:40pm- 6:00pm
Grading
You will be graded
based on the following criteria
- The quality and functionality of your protocol and protocol
specification.
- The quality and functionality of your source code
implementation including proper handling of error conditions, modular
design, and program efficiency.
- The quality of your project demo
- The quality of your code walkthrough
Project options
There are two options you may choose from for your project:
Option #1 (Networked Sudoku) : You are to implement a client-server
game in which multiple players compete to solve a shared Sudoku
puzzle. Players can either take turns or simultaneously attempt
to solve the puzzle. Scoring may be based on the time elapsed or
the number of correct/incorrect guesses a
player has provided and is left up to you to provide.
Option #2 (Your own game) : You may implement any other multi-player
game of your choice that has equivalent or greater complexity. If
you have doubts as to whether the game you've chosen is sufficient,
contact the instructor by the third week of class.
|