NetProg Spring 2004

Announcements

Office Hours
Dave Hollinger
hollingd@cs.rpi.edu
Mon 10-12, Wed 3-5
Amos Eaton 110
Lizhuang Zhao
zhaol2@cs.rpi.edu
Tue, Fri 1:30-3:30
Science Center Bray Room (1W01)
Zujun Shentu
shentu@cs.rpi.edu
Mon, Thu 1:30-3:30
Science Center Bray Room (1W01)
Yanbing Hu
huy@cs.rpi.edu
Tue, Fri 12:00-2:00pm
Science Center Bray Room (1W01)

Test #1 is Friday, March 5th for local students.
(anytime before March 13th for remote students)
Test #1 Topics
Old Test with answers

Test #1 Answers

Test #2 is Tuesday, April 27th (in class) for local students.
(anytime before May 5th for remote students)
Old Test #2



Homework


HW Due DateAssignmentFAQ Notes
1 Local: 2/3/04 at 11:59PM
Remote: 2/10/04 at 11:59PM
Layered, Half Duplex, Communication System HW1 FAQ
2 2/24/03 at 11:59PM Filtering Proxy HTTP Server (C or C++)   Here is a rude web server (for testing): http://monica.cs.rpi.edu:8000/
Here is a sample POST server: http://monte.cs.rpi.edu/~hollingd/post/
Test suite used for grading
3 March 18th (23rd for remote students). TFTP Server HW3 FAQ Grading files and code
4 March 30th (April 8th for remote students). CGI Search Engine  
5 April 13th (April 20th for remote students). Concurrent Server Tests    
6 May 1 (May 8th for remote students). Network Service Design (write an RFC)    
x May 1 (May 8th for remote students). DNS Client (Extra Credit)    


Lecture Notes


TopicPowerpointAdobe PDFLinks
Course Information courseintro.ppt courseintro.pdf
  • Syllabus (PDF)
  • Networking & Terminology netintro.ppt netintro.pdf  
    OSI Reference Model osi.ppt osi.pdf  
    TCP/IP and Ethernet tcpip.ppt tcpip.pdf  
    TCP Details tcpdetails.ppt tcpdetails.pdf
  • TCP/IP FAQ
  • Sockets sockets.ppt sockets.pdf
  • Sockets programming FAQ
  • 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 2616: HTTP 1.1
  • RFC 1945: HTTP 1.0
  • Error Handling Issues errors.ppt errors.pdf
  • Simple TCP server/client with some error wrappers
  • 10 commandments of C Programming (Henry Spencer)
  • 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
  • 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)
  • Show and Set Cookies CGI
  • JavaScript javascript.ppt javascript.pdf
  • CGI/JavaScript form field validation example
  • Stupid JavaScript Tricks
  • 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
  • CGI Programming on cgi.cs.rpi.edu cgicsrpiedu.ppt cgicsrpiedu.pdf
  • Guide to CGI programming and cgi.cs.rpi.edu
  • 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
  • Advanced Sockets Programming adv_sock.ppt adv_sock.pdf  
    Daemons and inetd inetd.ppt inetd.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
  • IPv6 ipv6.ppt ipv6.pdf
  • Sample IPv6 Code
  • 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
  • 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
  • Issues in Client/Server Programming client_server.ppt client_server.pdf  
    Chat and IRC chat.ppt chat.pdf
  • RFC 1459 IRC
  • RPC Overview rpc.ppt rpc.pdf
  • RFC 1831 RPC Specification
  • 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
  • XML-RPC and SOAP soap-xmlrpc.ppt soap-xmlrpc.pdf
  • xmlrpc.com
  • soapware.org
  • SOAP Spec (w3.org)
  • 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.
  • Java Intro. javaintro.ppt javaintro.pdf
  • Sample code
  • java.sun.com - the home of Java
  • Java 2 v1.4.0 API
  • Java URL Class javaurl.ppt javaurl.pdf
  • URL sample code
  • URLConnection sample code
  • Java Sockets javasock.ppt javasock.pdf
  • Sample socket code
  • Package java.net docs
  • Java Remote Method Invocation javarmi.ppt javarmi.pdf
  • Simple RMI Example
  • Alternative Simple RMI Example
  • Sort RMI Example
  • RMI FAQ (Sun)

  • WWW Resources


    Source code for all the examples found in the textbook

    FAQs:


    RFCS:


    JavaScript:


    CGI:


    HTML: