CSCI-4220 Network Programming
Spring 2001

Course Syllabus (PDF)

Course Instructor Teaching Assistants
CSCI-4220 Network Programming
CRN: 33412
Lectures: Mon, Thurs 12-1:50 DCC 318
Email:
netprog@cs.rpi.edu

Dave Hollinger
Office: Amos Eaton 110
Phone: 276-6722
Email: hollingd@cs.rpi.edu
Office Hours: Tue,Thurs 10:00-12:00

Ling Zhang
Office: Lally 1A
Phone: X8489
Email: zhangl@cs.rpi.edu
Office Hours: Thurs 2:00-5:00

Robert Foulis
Office: Lally 04
Phone: X2135
Email: foulir@cs.rpi.edu
Office Hours: Tue, Fri 10-11:30

Murat Yuksel
Office: Lally 316
Phone: X6476
Email: yuksem@cs.rpi.edu
Office Hours: Tue,Fri 9-10AM

Announcements | Projects | Lecture Notes | Links

Announcements

Project 6 is due April 25th. There will be no extensions!
The good news is that it's easy - a number of people have done it in less than 1 hour.

Test #2 is on Monday, April 23rd.
Review in class on Thursday, April 19th
The test is closed everything (no crib sheets, notes or textbooks)
Test #2 Topic List and sample questions

Web Bugging Info (thanks to coldwd)

RFC 527 - ARPAWOCKY (thanks to winstj)

Buffer Overflows!:


Projects

Project Topic Due Date Links
1 Layered System Jan 26th
  • Project Description
  • Submission Instructions
  • FAQ
  • Grading For HW 1
  • Solution for HW 1
  • 2 Web Crawler Feb 21
  • Project Description
  • Submission Instructions
  • Sample Code fixed
  • Demo Server
  • FAQ
  • Sample Code (source for demo)
  • 3 UDP DNS Client March 7th
  • Project Description
  • Submission Instructions
  • FAQ
  • Sample solution (thanks to MANOJ MEHTA)
  • Grading criteria
  • 4 CGI Email Address Book March 30th
  • Project Description
  • Submission Instructions
  • Sample
  • Guide to CGI programming and cgi.cs.rpi.edu
  • FAQ
  • Grading Criteria
  • 5 Concurrent Server April 12th
  • Project Description
  • Submission Instructions
  • FAQ
  • Grading Criteria
  • 6 RPC based address book April 25th
  • Project Description
  • Submission Instructions
  • FAQ

  • Lecture Notes

    NOTE: Please ask Dave for harcopy of any of these notes.


    labstaff has requested that you do not print these notes out on the CSLab printers. Feel free to print out lecture notes for other courses (or anything else you find useful) on the CSLab printers, but do not print out these notes!

    From now on, Dave will be holding office hours in the photocopier room on even weeks, and will be outside planting trees during office hours on odd weeks...

    TopicPowerpointAdobe PDFLinks
    Course Overview courseintro.ppt courseintro.pdf  
    Network Terminology netintro.ppt netintro.pdf  
    OSI Reference Model osi.ppt osi.pdf  
    TCP/IP and IEEE 802.3 tcpip.ppt tcpip.pdf  
    Sockets Programming API sockets.ppt sockets.pdf  
    TCP Sockets Programming tcpsock.ppt tcpsock.pdf
  • Simple TCP client and server
  • The TELNET Protocol telnet.ppt telnet.pdf
  • RFC 854 - TELNET
  • Error Handling Issues errors.ppt errors.pdf
  • Simple TCP server/client with some error wrappers
  • HTTP http.ppt http.pdf
  • RFC 1945 HTTP 1.0
  • RFC 2626 HTTP 1.1
  • A Simple HTTP server in Java
  • The AUTH protocol auth.ppt auth.pdf
  • RFC 931 - Auth
  • UDP Sockets Programming udp.ppt udp.pdf
  • Simple UDP client and server
  • UDP test of Network Byte Order
  • DNS and Address Conversions dns.ppt dns.pdf
  • RFC 1034 Domain Names - Concepts and Facilities
  • RFC 1035 Domain Names - Implementation and Specification
  • I/O Multiplexing and select() multiplex.ppt multiplex.pdf  
    Buffer Overflow overflow.ppt overflow.pdf
  • Sample Code
  • www.antionline.com
  • www.rootshell.com
  • TFTP - Trivial File Transfer Protocol tftp.ppt tftp.pdf
  • RFC 1350 - TFTP
  • HW3 - DNS client hw3.ppt hw3.pdf
  • HW3 Project Description
  • Web Servers and Dynamic Documents dyn_doc.ppt dyn_doc.pdf
  • Custom Web Server - Timedate.com
  • SSI Examples
  • CGI Programming cgi.ppt cgi.pdf
  • RFC 1738 - URLs
  • CGI Examples
  • CGI and HTML Forms cgiforms.ppt cgiforms.pdf
  • Sample Student Grade DB
  • CGI Sessions cgisessions.ppt cgisessions.pdf
  • Pizza Server (hidden fields)
  • JavaScript javascript.ppt javascript.pdf
  • CGI/JavaScript form field validation example
  • Stupid JavaScript Tricks
  • CGI Programming on cgi.cs.rpi.edu cgicsrpiedu.ppt cgicsrpiedu.pdf
  • Guide to CGI programming and cgi.cs.rpi.edu
  • Bridge Software bridge.ppt bridge.pdf  
    Routing and the Network Layer routing.ppt routing.pdf
  • RFC 1058 - RIP
  • RFC 1723 - RIP Version 2
  • RFC 2178 - OSPF
  • Daemons and inetd inetd.ppt inetd.pdf  
    IPv6 ipv6.ppt ipv6.pdf
  • RFC 1752 - IPNG (IPv6)
  • RFC 1933 - Transition Mechanisms for IPv6 Hosts and Routers
  • RFC 2185 - Routing Aspects of Ipv6 Transition
  • Issues in Client/Server Programming client_server.ppt client_server.pdf  
    Security security.ppt security.pdf
  • WWW Security FAQ
  • Internet Firewall FAQ
  • Encryption crypt.ppt crypt.pdf  
    Kerberos kerberos.ppt kerberos.pdf
  • Kerberos (MIT)
  • Threads Programming threads.ppt threads.pdf
  • Sample Threaded Server
  • Pthread Links
  • Advanced Sockets Programming adv_sock.ppt adv_sock.pdf  
    Email Protocols email.ppt email.pdf
  • RFC 821 SMTP
  • RFC 822 Internet Text Messages
  • RFC 1939 POP3
  • RFC 1521, RFC 1522 Mime
  • FTP ftp.ppt ftp.pdf
  • RFC 959 FTP
  • LDAP ldap.ppt ldap.pdf
  • RFC 1777 LDAP
  • RFC 1823 LDAP API
  • RFC 1960 LDAP Search Filters
  • RFC 1779 Distinguished Names
  • RFC 1959 LDAP URL
  • openldap.org
  • U. of Michigan LDAP Site
  • Netscape LDAP docs
  • RPC Overview rpc.ppt rpc.pdf
  • RFC 1831 RPC Specification
  • RPC Tutorial from openresources.com
  • AIX RPC Programming docs
  • Some notes on RPC Programming
  • Simple Example RPC program
  • XDR xdr.ppt xdr.pdf
  • RFC 971 Data Representation Standards
  • RFC 1832 XDR
  • An AIX XDR programming Reference
  • RPC Programming and Examples rpcprog.ppt rpcprog.pdf
  • RPC Examples
  •     Simple
  •     User name lookup
  •     Better user name lookup
  •     Variable length array
  •     Linked List
  • CORBA Intro corba.ppt corba.pdf
  • A Brief Tutorial on Corba from indiana.edu
  • CORBA Overview (D. Schmidt)
  • www.omg.org
  • More Corba corba2.ppt corba2.pdf
  • Corba FAQ (OMG)
  • CORBA/IIOP 2.3.1 Specification
  • Object Services object_services.ppt object_services.pdf
  • OMG Corba Services Spec.

  • Links to resources that may be of interest

    Source code for all the examples found in the textbook

    FAQs:

    TCP/IP FAQ
    Socket Programming FAQ
    C Programming FAQ
    Coffee and Caffeine FAQ

    RFCS:

    RFC Archives at Ohio State
    RFC 854 TELNET
    RFC 931 AUTH
    RFC 1945 HTTP 1.0
    RFC 2616 HTTP 1.0
    RFC 1034 Domain Names - Concepts and Facilities
    RFC 1035 Domain Names - Implementation and Specification
    RFC 783 TFTP
    RFC 1350 TFTP (includes fix for "Sorcerer's Apprentice" problem).

    JavaScript:

    JavaScript Quick Reference Card
    Netscape JavaScript Docs
    Netscape JavaScript Developer Central
    javascript.com

    CGI:

    The CGI Resource Index (the documentation section is very extensive!)
    The Web Developer Center
    The CGI section of the WWW Security FAQ

    HTML:

    Yahoo list of HTML guides and tutorials.
    The HTML 4.01 specification
    HTML 3.2
    RFC1866 - HTML 2.0
    A (simple) tutorial on HTML forms.
    A Beginner's guide to HTML (from NCSA)
    HTML Made Real Easy