KU EECS 780: Communication Networks

Communication Networks

Prof. James P.G. Sterbenz <jpgs@eecs.ku.edu>
Department of Electrical Engineering and Computer Science,
The University of Kansas

Course Description

EECS 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 and EECS 563 or equivalent and have a cumulative GPA of 3.0 or better.

Computer Accounts

You must be able to use either your EECS or ITTC account for some of the exercises in this class. All students enrolled in this course will have an EECS 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 <saiedian@ku.edu> if you prefer to get it from the Edwards Campus. If you have an ITTC account, you do not need to use your EECS account for this class.

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, or to install Cygwin; the latter is sufficient for less-sophisticated users who only need to run Unix shell commands and scripts.

Time and Location

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 780 meets one evening a week for a three-hour lecture on the Lawrence campus. A remote videoconferencing link is provided for a simultaneous section for MSIT students on the Edwards Campus in the western Kansas City suburb of Overland Park.

A discussion (laboratory) session is scheduled on an additional evening and will meet as needed for labs, class make-up, and exam reviews. See the individual course offering pages for detailed time and room information. Do not come to discussion/laboratory sessions unless explicitly scheduled.

Course Offerings

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 and add the Google+ page.

Lectures and Readings

EECS 780 Lectures
Lecture Reading
Subject Key Protocols Required Optional
Administrivia and Ethics
NET-AE [print] [display]
Preliminaries and
Network Science
NET-PR [print] [display]
ISO 7948-1
History and Architecture
NET-HA [print] [display]
 S:2–2.2, 3–3.1.3
Networked Applications and
Social Networking
NET-AL [print] [display]
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)
host requirements
Napster, Gnutella, BitTorrent
JXTA (protcols)
Grid: (services, data)
K:2–2.4, 2.6–2.8
End-to-End Transport
NET-TL [print] [display]
UDP, (hdr compress)
TCP, (SACK, cong ctl, ECN, hdr compress, perf
T/TCP, (concept)
host requirements
Network Layer:
NET-NL [print] [display]
DNS (concept)
IP (subnets, CIDR arch, MTU, req), IGMP, ICMP
IPv6 (addr, ND, autoconfig, MTU), ICMPv6
DHCP, NAT (term)

ATM (sig)
MPLS (labels, TTL, null, RSVP-TE, attrib), GMPLS
PSTN, E.164
K:2.5, 4–4.4
S:5.2–5.3.4; 5.4–5.5
[GW2004]:8.1–8.3, 8.4, 9
[R1983]:6–8, 10
[S1995]:4–5, 8–11, 13–15
Network Layer:
NET-NR [print] [display]

DHTs: CAN, Chord, Pastry, Tapestry and Chimera

[GW2004]:7.1–7.6, 8.6–8.7
Link Layer and LANs
NET-LL [print] [display]
802.1, 802.2, 802.3
VLAN trunking, L2TPv3
[GW2004]:4.1–4.7, 5
Physical Layer
NET-PL [print] [display]
bits coded over
electrons, IR photons, RF waves
S:5.1–5.1.1 [GW2004]:3
MAC; Mobile and Wireless Networks
NET-MW [print] [display]
802.11. Wi-Fi, 802.15 WPAN
802.16. WiMAX, 802.20 MBWA
K:6 [GW2004]:4.8, 6
Multimedia and Session Control
NET-MS [print] [display]
RTP, RTCP (AV profile),
SIP (notify, IWF), SDP
K:7.1–7.5 [GW2004]:10.6–10.7,12
Traffic Management and QoS
NET-TQ [print] [display]
ECN (nonce)
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)
K:7.6–7.10 [GW2004]:11
Security and Resilience IPsec (AH, ESP)
MD5, SHA-1
K:8 [GW2004]:11
Network Management SNMP K:9 [GW2004]:B

Reading assignments: K = Kurose & Ross, S = Sterbenz & Touch

Required Textbooks

James F. Kurose and Keith F. Ross,
Computer Networking: A Top-Down Approach Featuring the Internet, sixth edition,
Pearson Addison Wesley, 2013.

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 6th edition of this book, which is different from previous editions.

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

Optional Textbook

Michael J. Donahoo and Kenneth L. Calvert,
TCP/IP Sockets in C,
Morgan Kaufmann – Elsevier, Amsterdam, 2009.

Supplementary Textbooks

These books provide additional depth in key areas that will be covered in this course. The majority of them will be on three-day reserve in the Edwards Campus Library when course is in session.

General Networking and Communication

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)

William Stallings,
Data and Computer Communications,
8th ed., Pearson Prentice Hall, 2007.
(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,
Addison-Wesley, 1993.
(Classic that provides both the Internet and OSI protocols and philosophy)

W. Richard Stevens,
TCP/IP Illustrated, Volume 1: The Protocols,
Addison-Wesley, 1994.
– and –
W. Richard Stevens,
TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocols,
Addison-Wesley, 1996.
(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.)

William Stallings,
ISDN and Broadband ISDN with Frame Relay and ATM, 3rd ed.,
Prentice Hall, 1995.
(Comprehensive coverage of networking technologies based on PSTN heritage.)

Fundamentals and Network Science

Srinivasan Keshav,
Mathematical Foundations of Computer Networks,
Addison-Wesley, 2012.
(Fundamental maths background for networking in probability & stats, linear algebra & optimisation, signals & systems, queueing theory, control theory, game theory, and information theory.)

Mung Chiang,
Networked Life,
Cambridge, 2012.
(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, Los Alamitos CA, 1995.
(Fascinating pre-history of networks with emphasis on the optical telegraph.)

Mobile and Wireless Networking

C. Siva Ram Murthy and B.S. Manoj,
Ad Hoc Wireless Networks: Architectures and Protocols,
Prentice-Hall Pearson, Upper Saddle River, NJ, 2004.
(Comprehensive coverage of mobile and wireless data networking and telephony)
This book is also used for EECS 882

William Stallings,
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,
Wiley, 2006
(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

The Web

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.

Peer-to-Peer Systems

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.)

Switching and Routing

Radia Perlman,
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,
Mc-Graw-Hill, 1998.
(Routing in the PSTN.)

Cloud Computing and Data Centre Networks

Thomas Erl, Ricardo Puttini, and Zaigham Mahmood,
Prentice Hall, 2013.
(Cloud computing and networking)

Security and Information Assurance

William Stallings,
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.)

QOS and Congestion Control

Zheng Wang,
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).

Michael Welzl,
Network Congestion Control,
John Wiley, Chichester UK, 2005.
(Congestion control for TCP and the Internet, including recent and proposed enhancements.)

Network Administration

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.

Additional Readings

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

Dan Pei, Dan Massey, and Lixia Zhang,
Finite State Machines for BGP,
UCLA CSD Technical Report TR040047, 2004,
available from http://www.beyondbgp.net/pubs/2004/bbgp_uclatr040047.pdf.
Steve Bishop, Matthew Fairbairn, Michael Norrishy, Peter Sewell, Michael Smith, and Keith Wansbrough,
“Rigorous Specification and Conformance Testing Techniques for Network Protocols, as applied to TCP, UDP, and Sockets”,
Proceedings of ACM SIGCOMM 2005,
Philadelphia, Aug. 2005, pp. 265–276.


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 at KU do not have the + and – modifiers. Employer reimbursement and immigration status cannot be a consideration in the final grade.

EECS 780 Final Grade Modes
Aexceptional quiz + exam results and outstanding paper
Bmastery of material and solid paper
Cslacking but know basic material and marginal paper
Dvery poor performance on quizzes and exams or paper
Fnon-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.

EECS 780 Grading
13.33%exam 1
13.33%exam 2
13.33%exam 3 (portion of final exam)
15%comprehensive portion of final exam
20%homework and laboratory exercises
10%class participation including brownie points
15%term paper and presentation (extra credit possible)

Assignments and Exams

Homework and Labs

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.

Exam 1: Upper Layers

Exam 2: Lower Layers

Exam 3 (portion of final exam)

Final Exam (comprehensive portion)

Term Paper

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.

  1. Topic ideas: Think about a couple of topic ideas you might like to do, and do some preliminary research on them. Write a paragraph on each one, and provide one to three properly formatted references for each. At least one reference for each must be a conference or journal paper. Submit this with the exact Subject: line EECS780 - term paper ideas
  2. Proposal: Once we've agreed that one (or both) of your ideas are reasonable, expand the one you will do into a two-page proposal. Include five (or more) properly formatted references. You should only include references that you are actually likely to use. At least two references must be a conference or journal paper. Submit this with the exact Subject: line EECS780 - term paper proposal
  3. Outline: Once we've agreed on the expanded proposal, you need to think about the structure of the paper. Begin with a one-paragraph abstract describing the content of the paper. Include an outline giving section, subsection, and (as appropriate) subsubsection headings. Do not include text within your sections. Include updated references. Submit this with the exact Subject: line 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 Subject: line 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 have written. Submit this to the instructor and GTA by midnight on the day specified in the schedule table with the exact Subject: line 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.

Reference Material

Additional Sources

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: coursesNext: EECS 881Top: James P.G. Sterbenz

Last updated 24 August 2015 – Valid XHTML 1.1Lynx inspectedW3C AAA Conformance
©2003–2015 James P.G. Sterbenz <jpgs@eecs.ku.edu>