The design of digital computer networks. Topics covered include the theory, design, engineering, installation, and performance analysis of networks to connect digital computers. The course will prepare students to plan, implement, and evaluate a network. Also includes peer-to-peer networks, the client-server model, network operating systems, and an introduction to wide-area networks. The network and implementation tools may vary to meet current development trends. Prerequisites: CPSC 503 or equivalent.
Computer Networks and Internets with Internet Applications, Douglas E. Comer, ISBN 0131433512, 4th Edition. Publisher is Prentice Hall.
Hands-On Networking with Internet Technologies, Douglas E. Comer, ISBN 0131486969, 2nd Edition. www.labbook.cs.purdue.edu
Internetworking with TCP/IP Volume 3: Client-Server Programming and Application (
Internetworking with TCP/IP Volume 3: Client-Server Programming and Application (Windows Sockets Version).
Lecture 1: Introduction, Motivation and Tools
Lecture 2: Network Programming and Applications
Labs and Assignments
- Assignment 1
- Assignment 2
- Assignment 3
- Packet analyzer software is available from a variety of sources. For example, tcpdump, which is available from: http://www.tcpdump.org, is a text-based program that works with
Linux or UNIX systems.
- You can find general information and source code for tcpdump at http://ee.lbl.gov/
- Capture and decode the Ethernet Frames, IP header and TCP segment header. (Chaosreader may be able to help you to analyze)
- Run one of the probe programs (NMAP, TCP scanning, etc. ) from an attacker to a target, capture and analyze the packets from the victim machine.
- Assignment 4 (Due on April 7th)
- Implement two applications that use UDP to exchange data. (10 pts)
- Devise a protocol that uses a checksum and sequence numbers to handle corrupted and duplicated packets (i.e., define a message header). Have the sender place a sequence number and checksum in the header of each outgoing packet. Have the receiver use the checksum to verify that the packet arrives intact and the sequence number to remove duplicates. (20 pts)
- Extend the protocol to handle packet loss by arranging for the receiver to return an acknowledgement. Have the sender retransmit a packet, if the acknowledgement does not arrive within 50 millisenods. Wait for successful acknowledgement of each packet before sending the next. (40 pts)
- Extend the protocol to use a sliding window scheme with a window size of 8 messages. To verify the sliding windows works, have the sender display a log of incoming and outgoing packets. (30 pts)
- Use threads to send 10 files from server to client simultaneously. (bonus 30 pts)