NetProg Spring 2003

Announcements

Office Hours
Dave Hollinger
hollingd@cs.rpi.edu
Mon 10-12, *New: Wed 2-4
Amos Eaton 110
David Siebecker
siebed@cs.rpi.edu
Tue 10AM-12, Wed 1-3
Lally 3A (276-8556)
Jiang (Leo) Li
lij6@cs.rpi.edu
Mon, Tue 10AM-12
Lally 9A (276-8985)
Zhao Lizhuang
zhaol2@cs.rpi.edu
Mon, Thur 10-12
Lally 1B (276-8465)

All Grades are now on WebCT.

Test #2 Grades are now on WebCT. See Dave H. to pick up your test.

Test #2 Topic Stats

  • 32 Anit-SPAM Crusading Innovative Integrators (ASCII)

  • 61 Workflow Automation / Reactive Business Process Expert Designers (WARPED).

  • 10 (brave) Distributed Sniffer Software Engineers (DISSERS)

Final Grade Formula

  • HW1-6 are worth 11.67 points each
  • Tests 1 and 2 are each worth 15 points
  • HW6 max of 6 points extra credit
  • HW7 up to 10 points (all extra credit)
All HW grades through HW4 are on WebCT, check your grades!

There will be no changes to grades through HW4 after Friday, May 2nd!

Fall Course Offering: ECSE 4963: Experimental Networking

This senior-level laboratory course will focus on tools, techniques used in the design and analysis of computer networks and protocols. Tools developed in the course include simulation, animation, visualization, experiment design, trace collection/analysis, experimentation with a combination of Linux and Cisco routers, protocol development on Linux, and modular router development platforms (Linux-based "Click" router platform and the Intel IXA platform). Each tool will be developed in a networking protocol context. Example contexts include TCP reliable transport, TCP congestion control, routing protocols (RIP, OSPF, BGP), traffic management, network management and 802.11 wireless networks. The course will also have a term project that involves a networking "theme" which has to be designed and analyzed through an assortment of tools learnt in class.

Co-requisite: ECSE-4670; Pre-requisite: C programming skills.


Homework


HW Due DateAssignmentFAQ Notes
1 1/25/03 at 11:59PM Layered, Half Duplex, Communication System HW1 FAQ Grades are on WebCT.
Test suite code
2 2/22/03 at 11:59PM Filtering Proxy HTTP Server (C or C++) HW2 FAQ Here is a rude web server (for testing): http://monte.cs.rpi.edu:8000/
Here is the beginnings of a test suite: testclient
Test Suite used for grading: testsuite
Grades are on WebCT.
3 Extended 24 hours, now due 3/22/2003 at 11:59PM TFTP Server HW3 FAQ Grades are on WebCT.
4 3/29/2003 CGI Image Server   Sample System Grades are on WebCT.
5 new! 4/11/2003 Concurrent Server Tests HW5 FAQ Grades have been sent and are on WebCT.
6 4/30/03 System/Protocol Design and IPv6 Implementation HW6 FAQ HW6 can be done with a partner!
Sample IPv6 code
Grades have been sent and are on WebCT.
7 4/30 RPC   HW7 is not required (Extra Credit)
Grades have been send via email and are on WebCT.


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
  • Buffer Overflow overflow.ppt overflow.pdf
  • Sample Code
  • 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
  • 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
  • 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  
    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
  • Daemons and inetd inetd.ppt inetd.pdf  
    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
  • Security security.ppt security.pdf
  • WWW Security FAQ
  • Internet Firewall FAQ
  • Encryption crypt.ppt crypt.pdf  
    Kerberos kerberos.ppt kerberos.pdf
  • Kerberos (MIT)
  • Chat and IRC chat.ppt chat.pdf
  • RFC 1459 IRC
  • 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)
  • 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 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)
  • XML-RPC and SOAP soap-xmlrpc.ppt soap-xmlrpc.pdf
  • xmlrpc.com
  • soapware.org
  • SOAP Spec (w3.org)

  • WWW Resources


    Source code for all the examples found in the textbook

    FAQs:


    RFCS:


    JavaScript:


    CGI:


    HTML: