Instructor | Announcements | Course Info | Class Material | Schedule | Project | Grade | General Policy | Related Links


CmpE 208
Network Architecture and Protocols
Spring 2012
College of Engineering




Richard Sinn
Office Hours: After class, by appointment or email only

Richard is currently a Senior Security Architect/Principal Architect at eBay. He looks over various security architecture projects for all of eBay. Before eBay, he was the Security Architect at various business units (Real Time Communication group, Yahoo Community, Yahoo Communications) at Yahoo from 2005 to 2011. Prior to Yahoo, he held various senior positions at IBM, Oracle and different Silicon Valley startup companies. Richard is an inventor and has filed over sixteen invention disclosures (patents). He is also a frequent writer for various magazines and journals, and a frequent speaker at regional and national technology conferences. As a scholar and supporter for academia, he has been teaching in the Computer Engineering and Computer Science departments at San Jose State University since 1998. He also served as Adjunct Professor at the University of Minnesota.



Check back every now and then for updates.


Students who do not provide documentation of having satisfied the class prerequisite and co-requisite requirements (if any) by the second class meeting will be dropped from the class.

New Prereq check procedure

We will adopt a new procedure (akin to that used by some of the other engineering departments):
At the beginning of the term, have all the students in the class provide a copy of their transcripts, with the prerequisite class grade highlighted. The instructor will then check off against the roster, and drop any and all students who do not provide such proof of having completed the prerequisite with a satisfactory grade.
For classes with co-requisite requirements (such as CMPE 110), the student will provide the transcript (proving that the class has already been passed) or a printout from MySJSU (proving that the student is currently enrolled).
Add the following to the class greensheet: ”Students who do not provide documentation of having satisfied the class prerequisite and co-requisite requirements (if any) by the second class meeting will be dropped from the class.



Bring a computer to class. You will need that for lecture assignment.


Add permission code

Please check back.

Honesty Pledge can be downloaded here.


Class time:

Every Monday at 6:30pm

Class room:

ENG 331




Course Information


In-depth study of the principles and architecture of Internet protocols in current practice. Analysis of protocols of network, transport, and application layers. Topics will also cover emerging network architecture and protocols. Network analysis project.. Prerequisite: CMPE 206 or instructor consent. Misc/Lab: Lecture 2 hours/lab 3 hours.



Apart from big term project(s) and presentation, there are homework assignments, a mid-term exam and a final exam. Some exams might be take-home. The weightings for grading are: Term Project(s) 40%, Homework 20%, Midterm 10%, Final Exam 10%, and Team Presentation / Lecture assignments 20%.

No Late Assignment Submission. Put everything in an envelop when submit any material.




Policy Info

Academic Dishonesty

This is just a reminder that ALL cases of academic dishonesty (plagiarism, cheating, etc) should be reported to the chair.

In order be fair to the students we have to maintain a uniform process for handling such cases - there really is no faculty discretion once a case of plagiarism or cheating has been discovered - ALL cases will be reported.

The most relevant Senate policy w.r.t this is S07-2. The policy defines academic dishonesty as follows (please note the very low tolerance definition of plagiarism):

San José State University defines cheating as the act of obtaining or attempting to obtain credit for academic work through the use of any dishonest, deceptive, or fraudulent means. Cheating includes:

1.1.1. Copying, in part or in whole, from another’s test or other evaluation instrument including homework assignments, worksheets, lab reports, essays, summaries, quizzes, etc.;

1.1.2. Submitting work previously graded in another course without prior approval by the course instructor or by departmental policy;

1.1.3. Submitting work simultaneously presented in two courses without prior approval by both course instructors or by the department policies of both departments;

1.1.4. Using or consulting sources, tools or materials prohibited by the instructor prior to, or during an examination;

1.1.5. Altering or interfering with the grading process;

1.1.6. Sitting for an examination by a surrogate, or as a surrogate;

1.1.7. Any other act committed by a student in the course of their academic work that defrauds or misrepresents, including aiding others in any of the actions defined above.

San José State University defines plagiarism as the act of representing the work of another as one's own without giving appropriate credit, regardless of how that work was obtained, and submitting it to fulfill academic requirements.

Plagiarism includes:

1.2.1 Knowingly or unknowingly incorporating the ideas, words, sentences, paragraphs, or parts of, or the specific substance of another's work, without giving appropriate credit, and representing the product as one's own work;

1.2.2 Representing another’s artistic/scholarly works such as musical compositions, computer programs, photographs, paintings, drawing, sculptures, or similar works as one's own.




Class Material

Lecture Notes


Network Part

Security Part:


Additional Reference Text:

TCP/IP Illustrated, Volume 1: The Protocols (Hardcover).

There will be reading assignments in almost every class and reading materials will be tested upon.

Performance Part:

Lecture Notes


Non-Textbook: Reading material will be online on this web site before every lecture. Reading this semester:



Pick one of the references for term paper. Please spend the time to read and actually reseach (program) into the topics. The class expects a high quality research paper, not some collection of combined internet web pages ...





Jan 30, 2012 - Mon


  • Course discussion

Protocol Intro

  • TCP Protocol
  • FTP Protocol
  • Add link - One day signup only -
  • Reading: TCP/IP Illustrated - Chapter 1, Chapter 17 to 23, 27
  • Network Architecture - OSI Architecture
  • Implementing Network Software
  • Performance Overview
  • Lecture Notes (external source)
  • Homework 0: Download Wireshark and try it out by next week's class.


Feb 6, 2012 - Mon


Feb 6, 2012 - Last Day to Drop Courses Without an Entry on Student's Permanent Record (D)


Feb 13, 2012 - Mon

Protocol / Introduction to Protocol Performance


Feb 13, 2012 - Last Day to Add Courses & Register Late (A)


Feb 20, 2012 - Mon

  • Project description
  • TCP Plots, Connection Chart
  • Quiz from last week
  • Project Information Part I
  • Lab: TCP Chart Reading
  • Form Group Homework: Form a group of 4 and email me once with list of gorup members and your group name.
  • Homework 1 Due
  • Homework 2 - Project Related
  • Reading: TCP/IP Illustrated - Chapter 1, Chapter 17 to 23, 27


Network / Protocol Design

Feb 27, 2012 - Mon

TA Lecture

  • Web Development Tools Overview
    - How to setup log files
    - How to setup ftp
    - How to edit files online
    - How to use the UI builder
    - How to create a simple php file
    - How to setup mySQL
    - How to create a mySQL table
    - How to use php to save to mySQL table
    - And any other debug / development tips you have for the students in class.


Mar 5, 2012 - Mon

  • Project description Overview
  • Project Homework: Project Part I

    Deliverable Part I consists of a document that includes the following:

    • Group Name. (Form a group of 4 people and name your group)
    • Detail project plan. The list of features and functions should be included in the project.
      • Both part 1 and part 2 of the project must be included
      • For part 1 (individual part), list out in details all the features that you will implement in the project
      • For part 2 (group part), work with your teammate and describe the approach that you will use to enable cross site chating. (A little of research is needed here).
    • Schedule and division of work among team members
    • Prototype results
      • Include screen shoots of web UI, design diagram, etc. Materails that show your project is in progress.
    • Each group only needs to hand in one set of document (that contains four individual parts and one group part containing information described above).
    • Include your group name and all group member names in one envelope (a real envelope).
  • Top-Down Network Design (From Cisco)
  • Internet Network Architecture / P2P Intro
  • Reading: Software Security Technologies: Chapter 1, 2, 3, 4.

TA Part:

  • HW1 Answer / marks return
    • Go over marking scheme
    • Return homework
  • Answers for Lab TCP chart reading
  • Lab: Web Backend Development

Mar 12, 2012 - Mon


Mar 19, 2012 - Mon

  • Project and Lab discussion.
  • P2P
  • TA Part:
    • Lab discussion Algorithm and Protocol Design
    • Mid term review



Mar 26, 2012 - Mon - Spring Break NO CLASS



Apr 2, 2012 - Mon

  • Mid-Term (Short questions, close book, in class)


Apr 9, 2012 - Mon

Security Protocols

  • TA Lecture: Kerberos
  • Project Part I Due


Apr 16, 2012 - Mon


Apr 23, 2012 - Mon

  • SSL


Apr 30, 2012 - Mon

TA Lecture

  • SSL - 6:30 to 7:30pm.

Speical Topics

May 7, 2012 - Mon

Special Topics

May 14, 2012 - Mon

May 21- Mon - Final Exam

  • Extra Credit Homework Due
  • Comprehensive, cover all topics.
  • Check grade at my.sjsu around the end of year. Grade will be only given over there (no email).
  • No computer and Internet connection.
  • Regular Class Start Time Final Examination Day Final Examination Time
    Monday Night Monday, May 21 1945-2200




Current Web Protocol Technologies

  • Current Internet Protocols
  • JSON, JSONP, etc.
  • Project Part II discussion
  • DNSSec
  • TSIG
  • More Complex Protocol - Kerberos
  • SSL
  • Terminology, ATM Switching, Protocol
  • DNS
  • DNS Sec - External Source (Set 1, Set 2)


  • Security Algo
  • Homework discussion
    • Homework Solution / Points to Ponder
    • Lab Chat Reading



Term Project


Cross Domain Chat Protocol Design Project


The goal of the project is to give you explosure on real life development environment and network programming and design experience on the web. There are two parts into the term project. Part 1 is an individual part performed by one student and part 2 is a group part performed by four group members. The name of the project is called Cross Domain Chat Protocol Design.

Part 1 - User Portal (individual part)

Create a user portal in the form of a web site. This user portal allows a self-service creation of a USER. Each user can create a ROOM and starts a chat session with other USER from the same user portal (domain). Here is a list of rerquirements:

Part 2 - Cross Domain Chat Protocol Design

Form a group of 4 and create a mechansim that allows 4 user portals to create a real time chat session among real web sites. In other words, USERS from a web sites can invite other USERS from the same web site or different web site to join a ROOM. You must define and implement your own communication protocol for this cross domain communication. Besides, as a group you must decide the following:

More info will be provided in the semester.



Project team has to decide on various issues such as:

As the whole class will be working on similar projects, relative grading will be used. In other words, all the projects will be ranked within the class and points will be assigned accordingly. There are two parts in the project:



Project Part I consists of a document includes the following:

Project Final Part will be covered later in class


Final Word of Warning

This is not an "easy" class and the project is an essential part of the overall grade. People who did not deliver the project well enough could really hurt their grade as the project contains more than 40% of the overall grade.







Team Research Presentation (Optional this semester)

Each team will be given one topic to research and present during the semester. Mid-term and final will contain some questions related to the topics presented. The team needs to prepare the following:


The following are the possible topics:

Data Link Layer
ARP/RARP Address Resolution Protocol/Reverse Address
DCAP Data Link Switching Client Access Protocol

Network Layer
DHCP Dynamic Host Configuration Protocol
DVMRP Distance Vector Multicast Routing Protocol
ICMP/ICMPv6 Internet Control Message Protocol
IGMP Internet Group Management Protocol
IP Internet Protocol version 4
IPv6 Internet Protocol version 6
MARS Multicast Address Resolution Server
PIM Protocol Independent Multicast-Sparse Mode (PIM-SM)
RIP2 Routing Information Protocol
RIPng for IPv6 Routing Information Protocol for IPv6
RSVP Resource ReSerVation setup Protocol
VRRP Virtual Router Redundancy Protocol

Transport Layer
Mobile IP Mobile IP Protocol
RUDP Reliable UDP
TALI Transport Adapter Layer Interface
TCP Transmission Control Protocol
UDP User Datagram Protocol
Van Jacobson compressed TCP
XOT X.25 over TCP

Session Layer
BGMP Border Gateway Multicast Protocol
DIS Distributed Interactive Simulation
DNS Domain Name Service
ISAKMP/IKE Internet Security Association and Key Management Protocol and Internet Key Exchange Protocol
iSCSI Small Computer Systems Interface
LDAP Lightweight Directory Access Protocol
MZAP Multicast-Scope Zone Announcement Protocol
NetBIOS/IP NetBIOS/IP for TCP/IP Environment

Application Layer
COPS Common Open Policy Service
FANP Flow Attribute Notification Protocol
Finger User Information Protocol
FTP File Transfer Protocol
HTTP Hypertext Transfer Protocol
IMAP4 Internet Message Access Protocol rev 4
IMPPpre/IMPPmes Instant Messaging and Presence Protocols
IPDC IP Device Control
IRC ·Internet Relay Chat Protocol
ISAKMP Internet Message Access Protocol version 4rev1
NTP Network Time Protocol
POP3 Post Office Protocol version 3
Radius Remote Authentication Dial In User Service
RLOGIN Remote Login
RTSP Real-time Streaming Protocol
SCTP Stream Control Transmision Protocol
S-HTTP Secure Hypertext Transfer Protocol
SLP Service Location Protocol
SMTP Simple Mail Transfer Protocol
SNMP Simple Network Management Protocol
SOCKS Socket Secure (Server)
TACACS+ Terminal Access Controller Access Control System
TELNET TCP/IP Terminal Emulation Protocol
TFTP Trivial File Transfer Protocol
WCCP Web Cache Coordination Protocol
X-Window X Window

BGP-4 Border Gateway Protocol
EGP Exterior Gateway Protocol
EIGRP Enhanced Interior Gateway Routing Protocol
HSRP Cisco Hot Standby Router Protocol
IGRP Interior Gateway Routing
NARP NBMA Address Resolution Protocol
NHRP Next Hop Resolution Protocol
OSPF Open Shortest Path First
TRIP Telephony Routing over IP

ATMP Ascend Tunnel Management Protocol
L2F The Layer 2 Forwarding Protocol
L2TP Layer 2 Tunneling Protocol
PPTP Point to Point Tunneling Protocol

AH Authentication Header
ESP Encapsulating Security Payload
TLS Transport Layer Security Protocol




Email to check your grade if necessary.


General Policy

The university and departmental policies and deadlines for course drop will be applied. Makeup exams cannot be offered, except under exceptional conditions, such as documented serious illness/accident, etc., and only at the professor's discretion.

Each student is responsible for his/her individual assignment, and must not copy anyone else's work. Students who borrow solutions from others will find themselves unable to pass the course. The minimum penalty for every student involved in the duplication of individual assignments or exams will be receiving a zero score on the submitted work.

For group project, all the work has to be done by your OWN group. Do not try to download "free code" from the Internet and hand in as a project. WE WILL FIND OUT. Do not share your work with others. So DO YOUR OWN WORK and EARN your grade.


Related Links



Instructor | Announcements | Course Info | Class Material | Schedule | Project | Grade | General Policy | Related Links