NetProg 2002

Course Instructor Teaching Assistants

Network Programming
CSCI-4220, CSCI-6968
Section 1: Tue, Fri 12-1:50 DCC 337
Section 2: Tue, Thu 6-7:50 AE 214
Email: netprog@cs.rpi.edu

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

Mian Huang
Office: Lally 1B
Phone: 276-8465
Email: huangm2@cs.rpi.edu
Office Hours: Thu 2:00-5:00 PM

Fangxue He ('Sherry')
Office: Lally 1B
Phone: 276-8465
Email: hef@cs.rpi.edu
Office Hours: Tue 9:00AM-12:00

Jiang Li ('Leo')
Office: Lally 9A
Phone: 276-8985
Email: lij6@cs.rpi.edu
Office Hours: Wed, Thu 9:30-11:30AM

Amir Youssefi
Office: Lally 4
Phone: 276-8988
Email: youssefi@cs.rpi.edu
Office Hours: Wed 9:30-11:30AM

Test #2 grades for local and most remote students are now on WebCT (all those remote tests received have been graded).

Project 6 and 7 grades have been sent. If you have not received a grade (and did submit), contact netprog@cs.rpi.edu
P6,7 grades are now on WebCT.

Interesting article on wired.com about how to name your own price when using PayPal.

Projects

Project Topic Due Date Links Grades
1 Layered System Jan 25th
Feb 1 for tape delay students
  • Project Description
  • Submission Instructions
  • FAQ
  • Grades have been sent via email
    (local and live).
    Grades are now on WebCT.
    Test Code used by graders
    2 Proxy Web Server Feb 20th
    Feb 27th for tape/VS delay students
  • Project Description
  • Submission Instructions
  • FAQ
  • Grades have been sent via email.
    Test Code used by graders
    3 TFTP Server March 1st
    March 8th for tape/VS delay students
  • Project Description
  • Submission Instructions
  • FAQ
  • P3 Test code
  • Grades have been sent
    4 CGI Popup Creator March 22nd
    March 29th for tape/VS delay students
  • Project Description
  • Submission Instructions
  • FAQ
  • Demo System
  • Grades for local/live students have been sent via email
    5 Concurrent HTTP Server April 5th
    April 12th for tape/VS delay students
  • Project Description
  • Submission Instructions
  • FAQ
  • Grades have been sent and are on WebCT
    6 IPv6 Chat System April 19th
    April 26th for tape/VS delay students
  • Project Description
  • Submission Instructions
  • FAQ
  • Grades have been sent and are on WebCT
    7 RPC or RMI based URL parser/constructor
    No Late Submissions Accepted!
    April 29th
    May 6th for tape/VS delay students
  • Project Description
  • Submission Instructions
  • FAQ
  • Grades have been sent and are on WebCT

    Lecture Notes


    TopicPowerpointAdobe PDFLinks
    Course Overview courseintro.ppt courseintro.pdf
  • Course Syllabus (PDF)
  • Network Terminology netintro.ppt netintro.pdf  
    OSI Reference Model osi.ppt osi.pdf  
    Homework #1 hw1.ppt hw1.pdf
  • A Basic UNIX Tutorial (Idaho State University)
  • Unix Tutorial Center (Norman Matloff, U.C. Davis)
  • The Unix Reference Desk
  • CompOrg Notes on Unix(pdf)
  • CompOrg Notes: Unix Commands(pdf)
  • CompOrg Notes: Sample Unix Session(pdf)
  • TCP/IP and IEEE 802.3 tcpip.ppt tcpip.pdf  
    TCP Details tcpdetails.ppt tcpdetails.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
  • HTTP http.ppt http.pdf
  • HTTP History (ApacheWeek)
  • RFC 1945: HTTP 1.0
  • RFC 2616: HTTP 1.1
  • Error Handling Issues errors.ppt errors.pdf
  • Simple TCP server/client with some error wrappers
  • 10 commandments of C Programming (Henry Spencer)
  • The AUTH protocol auth.ppt auth.pdf
  • RFC 931 - Auth
  • DNS and Address Conversions dns.ppt dns.pdf
  • RFC 1034 Domain Names - Concepts and Facilities
  • RFC 1035 Domain Names - Implementation and Specification
  • UDP Sockets Programming udp.ppt udp.pdf
  • Simple UDP client and server
  • UDP test of Network Byte Order
  • TFTP - Trivial File Transfer Protocol tftp.ppt tftp.pdf
  • RFC 1350 - TFTP
  • Buffer Overflow overflow.ppt overflow.pdf
  • Sample Code
  • www.antionline.com
  • outpost9.com
  • Phrack 49: Smashing the stack for fun and profit
  • I/O Multiplexing and select() multiplex.ppt multiplex.pdf
  • Generic TCP Client (uses select())
  • Web Servers and Dynamic Documents dyn_doc.ppt dyn_doc.pdf
  • Custom 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)
  • Pizza Server (HTTP cookies)
  • 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
  • Threads Programming threads.ppt threads.pdf
  • Sample Threaded Server
  • Pthread Links
  • Issues in Client/Server Programming client_server.ppt client_server.pdf  
    Advanced Sockets Programming adv_sock.ppt adv_sock.pdf  
    Daemons and inetd inetd.ppt inetd.pdf  
    FTP ftp.ppt ftp.pdf
  • RFC 959 FTP
  • Email Protocols email.ppt email.pdf
  • RFC 821 SMTP
  • RFC 822 Internet Text Messages
  • RFC 1939 POP3
  • RFC 1521, RFC 1522 Mime
  • Security security.ppt security.pdf
  • WWW Security FAQ
  • Internet Firewall FAQ
  • Encryption crypt.ppt crypt.pdf  
    Kerberos kerberos.ppt kerberos.pdf
  • Kerberos (MIT)
  • 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
  • RFC 2133 - Basic Socket Interface Extensions for IPv6
  • Chat and IRC chat.ppt chat.pdf
  • RFC 1459 IRC
  • Homework #6 hw6.ppt hw6.pdf  
    WWW Client Pull and Server Push pushpull.ppt pushpull.pdf
  • Netscape doc on Push and Pull (old, but informative)
  • Client Pull Demo (requires IE!)
  • 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
  • Java Intro. javaintro.ppt javaintro.pdf
  • Sample code
  • java.sun.com - the home of Java
  • Java 2 v1.4.0 API
  • Java Sockets javasock.ppt javasock.pdf
  • Sample socket code
  • Package java.net docs
  • Java URL Class javaurl.ppt javaurl.pdf
  • URL sample code
  • URLConnection sample code
  • Java Remote Method Invocation javarmi.ppt javarmi.pdf
  • Simple RMI Example
  • Alternative Simple RMI Example
  • Sort RMI Example
  • RMI FAQ (Sun)
  • 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)
  • IIOP Specification
  • Comparison of CORBA, DCOM and Java/RMI (with code)
  • 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 www.faqs.org
    RFC 854 TELNET
    RFC 931 AUTH
    RFC 1945 HTTP 1.0
    RFC 2616 HTTP 1.1
    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:

    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