EECS 780 / IT 780
3 credit hours
Comprehensive in-depth coverage of communication networks with emphasis on the Internet and the PSTN (wired, wireless, and IoT – Internet of things). Extensive examples of protocols and algorithms are presented at all levels, including: client/server and peer-to-peer applications; session control; transport protocols, the end-to-end arguments and end-to-end congestion control; network architecture, forwarding, routing, signalling, addressing, and traffic management; programmable and software-defined networks (SDN); quality of service, basic queuing (basic M/M/1 and Little's law) and multimedia applications; LAN architecture, link protocols, access networks and MAC algorithms; physical media characteristics and coding; network security and information assurance; network management.
Basic working knowledge of computer systems, the Internet, and probability and statistics; basic programming skills, including the ability to use a text editor. Undergraduate students must have taken EECS 461 or equivalent and have a cumulative GPA of 3.0 or better.
You must be able to use either your KU or ITTC account for some of the exercises in this class. All students enrolled in this course will have a KU account. If you have forgotten your userid or password you must get these within the first week of class, either from the EECS office or helpdesk, or by requesting from Hossein Saiedian <email@example.com> if you prefer to get it from the Edwards Campus. If you have an ITTC account, you do not need to use your KU account for this class.
You must have access to a Unix-like environment to try network commands if your machine does not support them (Windows 10 is better than previous releases for network command support, but still not complete). Your life may be easier if you have a Unix-like shell environment on your personal computer or laptop. This is automatic with Linux and MacOS (bring up a terminal window). On Windows, the two options are to install a Linux virtual machine, to install the Windows 10 bash environment, or to install Cygwin; the latter is sufficient for less-sophisticated users who only need to run Unix shell commands and scripts.
Important Notice: The first meeting of the class will be the first scheduled lecture session. The discussion (lab) session will not meet until announced in class or in the schedule table.
EECS/IT 780 meets one evening a week for a three-hour lecture on either the Lawrence or Edwards campus, depending on year.
A discussion session is scheduled on an additional evening and will meet as needed for rescheduled lectures. See the individual course offering pages for detailed time and room information. Do not come to discussion sessions unless explicitly scheduled.
For Kansas City residents, the Edwards location is 2.4 mi. south from the Quivera Road exit of the southwestern portion of the I-435 loop to 127th St. For Lawrence residents this is approximately 30 miles / 50 km east of the Lawrence Campus, a 40 minute drive mostly along the K-10 expressway. A parking permit is not needed on the Edwards Campus. The K-10 Connector bus is a service used by many students between the Lawrence and Edwards campuses.
While influenza traditionally peaks in the spring, first cases frequently appear in the fall. I expect students to use alcohol-based sanitiser every time they enter the classroom or laboratory, and recommend you carry a small bottle with you at all times. I strongly recommend that you get the seasonal vaccine; information is available on the CDC Influenza page. The KU Watkins Health Services offers clinics and appointments for flu shots.
Do not come to class if you have flu symptoms, which include a fever, instead see your doctor or go to Watkins Health Services (and make sure to get a note saying you've been there). You are most contagious in the early stages and have the highest likelihood of infecting others in the class, so see a doctor immediatly if you have flu symptoms, and do not come to class until you have not had a fever for 24 hours. Do not come to class if you are sneezing or coughing. You will not be penalised for late work due to illness, and I will help you make up missed lecture material.
Detailed information about individual offerings of this course are located on the following pages, including schedule and homework assignments.
Generic course information and the latest version of the lectures are located on this page below. Current and past 780 students, as well as other seriously interested parties are welcome to request to join the EECS 780 Facebook group.
|Administrivia and Ethics
|History and Architecture
ARPANET, NSFNET, Internet
|Networked Applications and
|Facebook, Twitter, Google+
Cloud PaaS, IaaS, SaaS: (EC2, etc.)
FTP (intl, sec)
HTTP, RSS, ICP (appl) CDI (model, scenarios)
NNTP (ext, msg)
SMTP (msg), MIME (types, text, intl, disp)
POP (ext), IMAP
IRC (arch, chan, client, serv)
Telnet (opt, bin, echo, supr, satus, time, list, others)
Napster, Gnutella, BitTorrent
Grid: (services, data)
7 TCP, (SACK, cong ctl, ECN, hdr compress, perf
BIC, CUBIC, CTCP
IP (subnets, CIDR arch, MTU, req), IGMP, ICMP
IPv6 (addr, ND, autoconfig, MTU), ICMPv6
DHCP, NAT (term)
MPLS (labels, TTL, null, RSVP-TE, attrib), GMPLS
|[GW2004]:8.1–8.3, 8.4, 9
[S1995]:4–5, 8–11, 13–15
DHTs: CAN, Chord, Pastry, Tapestry and Chimera
PSTN HIER, DNHR, RTNR
|Link Layer and LANs
DH/PDH, SONET/SDH, OTN
VLAN trunking, L2TPv3
|bits coded over
electrons, IR photons, RF waves
|MAC; Mobile and Wireless Networks
802.11. Wi-Fi, 802.15 WPAN
802.16. WiMAX, 802.20 MBWA
DSDV, AODV, DSR OLSR
Survivability, and Resilience
SSL, TLS, SSH
|Multimedia and Session Control
RTP, RTCP (AV profile),
SIP (notify, IWF), SDP
|Traffic Management and QoS
IntServ (GS, CL)
RSVP (msg proc, IntServ, policy, BW red, applic)
DiffServ, (term, DSCP)
DS PHP (AF, EF, supl, del bnd), DS PDB, (LE)
ATM-TM (UBR rate, diff UBR)
Reading assignments: K = Kurose & Ross, S = Sterbenz & Touch
James F. Kurose and Keith F. Ross,
Computer Networking: A Top-Down Approach, seventh edition,
Pearson Addison Wesley, 2017.
Kurose and Ross come with a prepaid subscription to the companion Web site. The inside cover of the book has a scratch-off access code. If you purchase used copy of the book you will need to follow the instructions at the bottom of the page or on the book Web page to separately purchase a license. You must use the 7th edition of this book, which is different from previous editions. You must bring your own copy of the book to the second lecture to show; it must not be a library copy.
James P.G. Sterbenz and Joseph D. Touch,
High-Speed Networking: A Systematic Approach to High-Bandwidth Low-Latency Communication,
John Wiley, New York, 2001.
This book is also used for EECS 881
Michael J. Donahoo and Kenneth L. Calvert,
TCP/IP Sockets in C,
Morgan Kaufmann – Elsevier, Amsterdam, 2009.
This book may help you with socket programming, but note that we require Python rather than C.
These books provide additional depth in key areas that will be covered in this course. The majority of them will be on two-day reserve in the Spahr Engineering Library when course is in session; some are available as electronic copies. Sadly, the Edwards Campus closed their library and offers no library reserve services, thus Edwards students will have to travel to Lawrence for books not available online.
Alberto Leon-Garcia and Indra Widjaja,
Communication Networks: Fundamental Concepts and Key Architectures,
2nd ed., McGraw-Hill, 2004.
(Slightly more analytical than Kurose & Ross, has a bit more emphasis on lower layers, and is currently used in the Lawrence section of EECS 563)
Data and Computer Communications,
10th ed., Pearson Prentice Hall, 2013.
(Good coverage of the physical layer in addition to a slightly more analytical treatment overall than Kurose & Ross.)
[PC1993] (full text available online)
David M. Piscitello and A. Lyman Chapin,
Open Systems Networking: TCP/IP and OSI,
(Classic that provides both the Internet and OSI protocols and philosophy)
W. Richard Stevens,
TCP/IP Illustrated, Volume 1: The Protocols,
– and –
W. Richard Stevens,
TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocols,
(The definitive guides to the Internet protocol suite, but a bit dated and lacking recent protocol enhancements.)
R.F. Rey, ed.,
Engineering and Operations in the Bell System, 2nd ed.,
AT&T Bell Laboratories, Murray Hill NJ, 1983.
(The definitive reference on the PSTN architecture and systems in the US through divestiture.)
ISDN and Broadband ISDN with Frame Relay and ATM, 3rd ed.,
Prentice Hall, 1995.
(Comprehensive coverage of networking technologies based on PSTN heritage.)
Mathematical Foundations of Computer Networks,
(Fundamental maths background for networking in probability & stats, linear algebra & optimisation, signals & systems, queueing theory, control theory, game theory, and information theory.)
(Coverage of many modern networking topics arranged as “20 questions”, including Google, Amazon, Wikipedia, Facebook, Twitter, pricing, congestion, resilience, and cloud computing.)
Gerad J. Holzmann and Björn Pehrson,
The Early History of Data Networks,
IEEE Computer Society Press, 1995.
(Fascinating pre-history of networks with emphasis on the optical telegraph.)
(Modern coverage of IPv6 and transition techniques)
C. Siva Ram Murthy and B.S. Manoj,
Ad Hoc Wireless Networks: Architectures and Protocols,
Prentice-Hall Pearson, 2004.
(Comprehensive coverage of mobile and wireless data networking and telephony)
This book is also used for EECS 882
Wireless Communications & Networks,
2nd edition, Prentice-Hall Pearson, 2005. (More analytical engineering approach to wireless communications)
This book is also used for EECS 882
Bernhard H. Walke, Stefan Mangold, and Lars Berlemann,
IEEE 802 Wireless Systems: Protocols, Multi-Hop Mesh/Relaying, Performance and Spectrum Coexistence,
(Modern coverage of 802.11, 802.15, 802.16)
This book is also used for EECS 882
Erik Dahlman, Stefan Parkvall, and Johan Sköld,
4G LTE / LTE-Advanced for Mobile Broadband,
Academic Press, 2011.
(Provides broad coverage of 3.5G LTE and future 4G LTE-A mobile telephony networks).
This book is also used for EECS 882
Balachander Krishnamurthy and Jennifer Rexford,
Web Protocols and Practice: HTTP/1.1, Networking Protocols, Caching, and Traffic Measurement,
Addison-Wesley Pearson, Boston, 2001.
(In-depth coverage of Web protocols and operation.)
Leon Shklar and Rich Rosen,
Web Application Architecture: Principles, Protocols, and Practices, 2nd ed.
Wiley, Chichester UK, 2009.
(Coverage of more modern aspects of Web architecture and protocols.)
This book is also recommended for IT 330.
Ralf Steinmetz and Klaus Wehrle,
Peer-to-Peer Systems and Applications,
LNCS 3485, Springer, Berlin, 2005.
(Comprehensive survey of peer-to-peer architectures and systems.)
John F. Buford, Heather Yu, and Eng Keong Lua,
P2P Networking and Applications,
Morgan Kufmann Elsevier, Amsterdam, 2009.
(Modern monograph/textbook coverage of P2P networking.)
Interconnections: Bridges, Routers, Switches, and Internetworking Protocols,
2nd ed., Addison-Wesley, Reading, MA, 2000.
(Addressing and routing protocols for LANs, data networks, and the Internet.)
Deep Medhi and Karthik Ramasamy,
Netework Routing: Algorithms, Protocols, and Architectures,
Morgan Kaufmann / Elsevier, 2007.
(Advanced treatment of routing algorithms and protocols for the Internet and PSTN.)
Jeff Doyle and Jennifer Carroll,
Routing TCP/IP, Volume I, 2nd ed.,
Cisco Press, Indianapolis, 2006.
(A detailed examination of interior/intradomain routing algorithms and protocols including RIP, EIGRP, OSPF, and ISIS with extensive examples.)
Jeff Doyle and Jennifer DeHaven Carroll,
Routing TCP/IP, Volume II,
Cisco Press, 2001.
(A detailed examination of exterior/interdomain routing algorithms and protocols including BGP and advanced IP routing issued including NAT and multicast with extensive examples.)
Vijay Bollapragada, Curtis Murphy, and Russ White,
Inside Cisco IOS Software Architecture,
Cisco Press, 2000.
(Probably the only comprehensive source on the architecture and implementation of commercial routers. In spite of the title the hardware and software architecture of a number of Cisco routers is covered.)
Ralph Wittmann and Martina Zitterbart,
Multicast Communication: Protocols and Applications,
Morgan-Kaufmann Academic Press, 2001.
(Broad survey of group communication protocols and algorithms.)
Gerald R. Ash,
Dynamic Routing in Telecommunications Networks,
(Routing in the PSTN.)
Thomas Erl, Ricardo Puttini, and Zaigham Mahmood,
Cloud Computing: Concepts, Technology & Architecture,
Prentice Hall, 2013.
(Cloud computing and networking)
Oliver Hersent, David Boswarthick, and Omar Elloumi,
The Internet of Things: Key Applications and Protocols,
(IoT protocols and Technology)
Cryptography and Network Security: Principles and Practices, 5th ed.,
Prentice Hall Pearson, Boston MA, 2011.
(Detailed coverage of network security and cryptography, including AES.)
Charlie Kaufman, Radia Perlman, and Mike Spencer,
Network Security: Private Communication in a Public World, 2nd ed.,
Prentice-Hall Pearson, 2002.
(Another treatment of network security used in EECS 712.)
Internet QoS: Architectures and Mechanisms for Quality of Service,
Morgan-Kaufmann / Academic Press, San Francisco, 2001.
(QOS in the Internet: RSVP, integrated and differentiated services).
Network Congestion Control,
John Wiley, Chichester UK, 2005.
(Congestion control for TCP and the Internet, including recent and proposed enhancements.)
Evi Nemeth, Garth Snyder, Trent R. Hein, and Ben Whaley,
UNIX and Linux System Administration Handbook, 4th ed.,
Prentice Hall Pearson, Upper Saddle Hill NJ, 2011.
(Recommended for students not familiar with Unix and network administration.)
This book is also recommended for IT 320.
David D. Clark,
“The Design Philosophy of the DARPA Internet Protocols”,
Proceedings of ACM SIGCOMM 1988
Stanford, CA, 1988, pp. 106–114
Jerome H. Saltzer, David P. Reed, and David D. Clark,
“End-to-End Arguments in System Design”,
ACM Transactions on Computer Systems,
vol.2, iss.4, November 1984, pp. 277–288
Grading will be on a modified curve in which students are grouped (generally by modes in the distribution). Exams and homework will receive numerical scores; quizzes will receive an 'x' or check for each question that will be converted to a numerical score; the term paper will receive a letter grade (with + and – discriminators) that will be converted to a numeric value for determining final weighted average. Final grades in this course do not have the + and – modifiers. Employer reimbursement and immigration status cannot be a consideration in the final grade.
|A||exceptional quiz + exam results and outstanding paper|
|B||mastery of material and solid paper|
|C||slacking but know basic material and marginal paper|
|D||very poor performance on quizzes and exams or paper|
|F||non-performance on quizzes and exams or paper, or academic misconduct in class|
If you are having difficulty in the class I strongly recommended you discuss this early and not wait until exam time. Students are responsible for understanding course drop policies and deadlines.
|12%||exam 3 (portion of final exam)|
|12%||comprehensive portion of final exam|
|12%||pre-lecture quizzes on reading and lecture notes|
|15%||homework and laboratory exercises|
|10%||class participation including brownie points|
|15%||term paper and presentation (extra credit possible)|
|0%||effort “Do. Or do not. There is no try.” —Yoda|
Homework assignments are intended to give practice in problem solving and quiz your understanding of material between exams. Homework problems for this course are generally located in Kurose and Ross, but other problems may be occasionally assigned.
Wireshark labs in Kurose and Ross provide insight on the working of protocols in a controlled environment. Several additional laboratory exercises in socket programming, performance analysis, and ns-3 simulation provide additional practical experience.
Specific assignments and dates are located in the course offering page for a given semester. Assignments will not be graded nor receive credit unless they follow the submission requirements.
Students are expected to read assigned textbook sections and other material, as well as carefully study the online lecture notes before the lecture in which material is presented. This will be checked with a short quiz at the beginning of most classes consisting of two questions randomly chosen from the readings or lecture notes on the material to be covered. Each question will be given a check mark (reasonable answer indicating comprehension of the material) or an 'x' mark (indicating that the reading was likely not done). The sum total of all of these quizes will be scaled to 100 points and be equal to one exam.
Some quiz questions will be repeated on the midterm and final exams as short-answer questions
The lectures can then be a discussion of the material using the lecture notes rather than a cold-presentation, and students are expected to ask questions and discuss, which will also contribute to the class participation grade.
Exams will be closed book and take approximately 1/2 of a class period. The exam information page contains detailed information on the requirements, structure, and grading of examinations for this course. You must also read the academic integrity page before taking an exam.
While you are responsible for all lecture and required readings, the following list outlines some of the most important topics likely to be covered on the exams for this course.
Each student will submit a term paper intended to research a particular area of networking beyond the lectures and required textbook reading. The paper should be technical in nature, but be more than only a technical description of a particular topic. Comparisons of competing technologies, historical development, and future prospects, are all ways in which this can be accomplished. Papers may include reporting of simulation or implementation, but this is not required.
You are encouraged to come up with your own ideas, but here are a few possibilities:
If you are planning to do an M.S. thesis or Ph.D. dissertation in the area of networking, you may use this opportunity to begin the background reading on a topic.
Three initial milestones are intended to insure that you are on track for a quality paper. Each one is due at 23:59 (midnight) on the date specified in the course schedule table by email as a PDF attachment to the instructor and GTA. You will generally receive feedback for each milestone the following week, indicating that you should proceed or Requiring resubmission with modifications.
EECS780 - term paper ideas
EECS780 - term paper proposal
EECS780 - term paper outline
LaTeX and MS-Word templates are linked to the schedule table and must be carefully followed. If you are planning to do a MS thesis or PhD you are strongly encouraged to learn and use LaTeX, as you will certainly need to use it for paper submissions and most EECS faculty will require LaTeX for your thesis document.
Each student will do an oral presentation to the class on one of the days specified in the schedule table. This will contribute to the term paper grade. Presentation foils (slides) will be due in electronic form by email to the instructor and GTA in either PowerPoint or PDF by midnight the day before the presentation for a sanity check and so that we have a backup. You must use the supplied template, or a very close approximation if you are using a tool other than PowerPoint. Follow the presentation guidelines. Make sure to turn off “shrink to fit ”, and use a serif font (such as Tahoma) with a size of 24, 20, and 18 point for first, second, and third level bullets, respectively. Remember to not wrap bullets onto a second line. If you are experienced at presentations and have your own style developed, you may use it as long as you show it to me at least a week in advance of the presentation and I agree. You must bring a USB memory stick to class on which your presentation is stored.
You should practise your presentation to friends or the mirror several times and keep track of the elapsed time. Continue practicing until you are confident with how long you will take. The time alloted will be announced in the schedule page, but is likely to be 15 or 20 minutes, depending on class size. Significant credit will be deducted if you go over time.
All students are expected to listen and ask questions at the end of each presentation. This will contribute to your class participation grade.
A draft paper will be due in advance of the presentation. While
this does not need to be in final form, it should be mostly complete
and reasonably polished. This will allow us to give a quick scan
and provide any major feedback to help you produce a quality paper.
Submit this to the instructor and GTA by midnight on the day specified
in the schedule table with the exact
EECS780 - term paper draft.
The final paper will be due after the presentation. While English
is a second language for many of you, and it is essential to use
your own words, you should spell check and proof read what you
Submit this to the instructor and GTA by midnight on the day specified
in the schedule table with the exact
EECS780 - term paper final.
Formatting requirements: The paper must be 10 – 15 pages in length (not including references), unless prior arrangements have been made well in advance of the due date. Papers must follow the LaTeX or MS-Word templates provided, and be submitted as a PDF email attachment. Papers deviating from these requirements will not be graded.
Plagiarism and academic integrity: All students are required to read and understand the academic integrity information and sanctions for this class.
RFCs (request for comments) are the freely available specifications on the Internet architecture and protocols. RFCs are produced by the IETF; its working groups represent ongoing Internet design and engineering, and contain the lists of Internet Drafts, some of which will become RFCs.
Many international standards are freely available, including from the ITU-T (International Telecommunication Union – Telecommunication Standardization Sector). Some ISO (International Organization for Standardization) standards are freely available, including the key OSI networking standards. Individuals are permitted to download 3 free ITU-R (ITU – Radiocommunication Sector) standards by registering.
Similarly, ANSI standards must be purchased, and are absurdly expensive: the SONET T.105 set of specifications costs in excess of $1500, ordered either from ANSI or ATIS. Unless you work for a large telecom company with a corporate subscription or are independently wealthy, these documents are inaccessible. The Telcordia (formerly Bellcore) SONET specifications GR 253 CORE: SONET Transport Systems: Common Generic Criteria are even more expensive. As long as ANSI and ATIS are interested only in profit and not educational outreach, the very similar SDH specifications can be used to understand the SONET/SDH architecture and topology.
IEEE Standards are available from IEEE Xplore. IEEE 802 networking specifications (including 802.1, 802.2, 802.3, 802.11, 802.15, and 802.16) are also freely available once they have been published for 6 months. The publication date of IEEE Standards Association has the ability to determine the publication date of standards, which is useful to see when new 802 standards will become freely available.
The Web is a wonderful source of information: definitive & accurate, marketing spin, opinion, and total nonsense. The Wikipedia frequently has good information and may be a good starting point, but sources such as this should generally not be used as definitive references, nor should trade rags and the popular press.
Navigation: Up: courses – Next: EECS 881 – Top: James P.G. Sterbenz
Last updated 30 August 2017 –
Valid XHTML 1.1 –
Lynx inspected –
W3C AAA Conformance
©2003–2017 James P.G. Sterbenz <firstname.lastname@example.org>